/* Main SCSS File */
@import url("https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css");
* {
  box-sizing: border-box; }

body {
  margin: 0;
  padding: 0;
  font-family: "Source Serif Pro", serif;
  background: #ECEFF3;
  animation: fadein 2s; }

a {
  color: #6873E5;
  text-decoration: none; }
  a:hover {
    color: #A1F0C1; }

a.button {
  background-color: #6873E5;
  border: 0;
  border-radius: 0;
  color: white;
  font-family: "Source Sans Pro", sans-serif;
  text-transform: capitalize;
  font-size: .85em;
  font-weight: 400; }

p {
  font-family: "Source Sans Pro", sans-serif;
  color: #6B7C93; }

.white {
  background: white; }

h1 {
  font-family: "Source Serif Pro", serif;
  color: #6873E5;
  font-size: 30px; }

h2 {
  font-family: "Source Serif Pro", serif;
  color: #162236;
  font-size: 24px; }

h3 {
  font-family: "Source Sans Pro", sans-serif;
  font-weight: 600;
  color: #6B7C93;
  font-size: 1em;
  letter-spacing: 0.1px; }

h4 {
  font-family: "Source Sans Pro", sans-serif;
  font-size: 14px; }

nav {
  position: absolute;
  background: url(../images/nav-shape.svg) no-repeat;
  right: 0;
  top: 0;
  width: 600px;
  height: 71%; }
  nav ul {
    position: absolute;
    right: 80px;
    top: 30px; }
    nav ul li {
      display: inline-block;
      list-style-type: none;
      margin: 20px; }
      nav ul li a {
        color: white;
        text-decoration: none;
        font-family: "Source Sans Pro", sans-serif;
        transition: all 0.25s ease; }
        nav ul li a:hover {
          color: #A1F0C1; }

.button_container, .overlay {
  display: none; }

.logo {
  margin-bottom: 50px;
  z-index: 20;
  top: 40px;
  left: 80px;
  position: absolute; }

.home {
  background: url(../images/home-shape.svg) no-repeat;
  background-repeat: no-repeat;
  background-size: 1920px auto;
  background-position: 0% -325px; }

header {
  background: url(../images/header-shape.svg) no-repeat;
  width: 100%;
  height: 675px;
  padding: 200px 0; }
  header h1 {
    color: #41466B;
    font-size: 3em;
    line-height: 80px;
    margin: 100px 0 0 0;
    text-align: center; }

@keyframes fadein {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

.social li {
  display: inline-block;
  margin: 0 10px; }
  .social li:first-child {
    margin-left: 0; }
  .social li a {
    color: #6873E5; }

#projects {
  margin: 50px 0;
  padding: 0; }
  #projects h1, #projects p {
    text-align: center; }
  #projects .gallery {
    height: 500px;
    position: relative;
    user-select: none;
    overflow-x: hidden;
    overflow-y: hidden; }
    #projects .gallery-slide {
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      font-size: 0;
      position: absolute;
      transform: translateX(-100%);
      transition: transform .5s ease; }
      #projects .gallery-slide--current {
        transform: translateX(48px); }
      #projects .gallery-slide--current ~ .gallery-slide {
        transform: translateX(100%); }
      #projects .gallery-slide--prev, #projects .gallery-slide--next {
        z-index: 1;
        cursor: pointer; }
      #projects .gallery-slide--prev.gallery-slide {
        transform: translateX(-960px); }
        #projects .gallery-slide--prev.gallery-slide .gallery-shifter {
          transform: translateX(20px); }
        #projects .gallery-slide--prev.gallery-slide .gallery-image_container {
          transform: translateX(96px); }
        #projects .gallery-slide--prev.gallery-slide:hover .gallery-shifter {
          transform: translateX(30px); }
      #projects .gallery-slide--next.gallery-slide {
        transform: translateX(960px); }
        #projects .gallery-slide--next.gallery-slide .gallery-shifter {
          transform: translateX(-20px); }
        #projects .gallery-slide--next.gallery-slide .gallery-image_container {
          transform: translateX(0px); }
        #projects .gallery-slide--next.gallery-slide:hover .gallery-shifter {
          transform: translateX(-30px); }
      #projects .gallery-slide--hero .gallery-image_container:before {
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        content: '';
        position: absolute; }
    #projects .gallery-shifter {
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      font-size: 0;
      position: absolute;
      transition: transform .5s ease; }
      #projects .gallery-shifter:before {
        height: 100%;
        content: '';
        display: inline-block;
        vertical-align: middle; }
    #projects .gallery-image_container {
      max-width: 940px;
      width: 100%;
      display: inline-block;
      position: relative;
      transition: transform .5s ease; }
    #projects .gallery-text {
      position: absolute;
      top: 160px;
      left: 60px; }
    #projects .gallery-image_title {
      font-size: 24px;
      color: #162236;
      text-align: left; }
    #projects .gallery-paragraph {
      font-size: 16px;
      text-align: left;
      width: 350px; }
    #projects .gallery-link {
      font-size: 16px;
      text-align: left;
      width: 400px;
      color: #6873E5;
      text-decoration: underline; }
    #projects .gallery-image {
      max-width: 100%;
      max-height: 460px;
      display: inline-block;
      vertical-align: middle;
      box-shadow: 0px 2px 40px 0px rgba(0, 0, 0, 0.05); }
  #projects a.gallery-link:hover {
    color: #43E883; }

.work-mobile {
  display: none; }

#caps {
  padding-bottom: 30px; }
  #caps h1 {
    text-align: center; }
  #caps img {
    display: block;
    margin: auto; }
  #caps h3 {
    text-align: center;
    font-size: 1em; }

.about {
  margin-top: 200px; }
  .about .description {
    margin: 30px 0 0 0; }
  .about .row {
    margin: 30px 0;
    border-bottom: solid 1px #ECEFF3; }
    .about .row:last-child {
      border: 0; }
  .about img {
    width: 100%;
    max-width: 470px; }

.work {
  margin-top: 200px;
  padding: 0 20px 20px; }
  .work h1 {
    text-align: center; }
  .work .gallery-image_title {
    text-align: left; }
  .work a.gallery-link:hover {
    color: #43E883; }
  .work img {
    width: 100%;
    box-shadow: 0px 2px 40px 0px rgba(0, 0, 0, 0.05); }
  .work .space {
    margin: 10px 0; }
  .work .mini-projects .box {
    background: white;
    overflow: auto;
    margin: 10px 0; }
    .work .mini-projects .box > h2 {
      margin: 10px 0; }
  .work .mini-projects h2, .work .mini-projects p {
    text-align: center; }
  .work .mini-projects p {
    margin: 30px 0; }
  .work .mini-projects .columns:nth-child(odd) {
    margin-left: 0; }
  .work .mini-projects .six.columns {
    width: 48.5%; }
  .work .mini-projects li {
    list-style-type: none; }
  .work .project-header h1 {
    text-align: left;
    font-size: 5em; }
  .work .project-header .skill-set {
    color: #6873E5;
    list-style-type: none; }
  .work .block-quote {
    font-size: 4em;
    color: #6B7C93;
    padding: 50px 40px;
    display: block;
    font-family: "Source Sans Pro", sans-serif;
    font-weight: 300; }
  .work .gallery-image_container {
    max-width: 960px;
    width: 100%;
    display: inline-block;
    position: relative;
    transition: transform .5s ease;
    margin-bottom: 20px; }
  .work .gallery-text {
    position: absolute;
    top: 160px;
    left: 60px; }
  .work .gallery-image_title {
    font-size: 24px;
    color: #162236; }
  .work .gallery-paragraph {
    font-size: 16px;
    text-align: left;
    width: 350px; }
  .work .gallery-link {
    font-size: 16px;
    text-align: left;
    width: 400px;
    color: #6873E5;
    text-decoration: underline; }
  .work .gallery-image {
    max-width: 100%;
    display: inline-block;
    vertical-align: middle;
    box-shadow: 0px 2px 40px 0px rgba(0, 0, 0, 0.05); }
  .work .gallery-image_vertical {
    width: 100%;
    max-height: 500px;
    max-width: 470px;
    display: block;
    vertical-align: top; }

.resume {
  margin-top: 200px; }
  .resume .title {
    color: #162236;
    font-size: 45px;
    margin-bottom: 70px; }
  .resume h2, .resume h3 {
    margin-bottom: 10px; }
  .resume h3 {
    color: #41466B; }
  .resume .skill-set li {
    list-style-type: none;
    color: #162236;
    font-family: "Source Serif Pro", serif;
    font-size: 1.25em; }

.project-header {
  margin-top: 200px;
  position: relative; }
  .project-header img {
    width: 100%; }
  .project-header .phone {
    width: 500px;
    position: absolute;
    right: 40px;
    top: 0px; }
  .project-header .bottom {
    position: absolute;
    bottom: 0;
    width: 100%; }
  .project-header .info {
    position: absolute;
    top: 150px; }
    .project-header .info h1 {
      font-size: 3em; }

.contact {
  margin: 200px 0 0 0; }
  .contact h1 {
    margin-bottom: 50px; }
  .contact .columns {
    margin-left: 0; }
  .contact input#Input, .contact textarea#Message {
    background-color: #F6F9FC;
    border: 2px solid #ECEFF3; }
    .contact input#Input:focus, .contact textarea#Message:focus {
      border: 2px solid #6873E5;
      box-shadow: 1px 1px 10px rgba(104, 115, 229, 0.3); }
  .contact .sidebar-info {
    padding: 0 50px; }
  .contact textarea {
    resize: none;
    height: 100px; }
  .contact .six.columns:first-child {
    padding-right: 20px; }
  .contact input.button-primary {
    background-color: #6873E5;
    border-color: #6873E5;
    float: right;
    transition: all 0.25s ease; }
    .contact input.button-primary:hover {
      background-color: #43E883;
      border-color: #43E883; }
  .contact table {
    width: 100%; }
  .contact td {
    border: none;
    padding: 0 0 12px 0; }

.contact-information {
  margin: 200px 0 100px 0;
  background: #ECEFF3; }

footer {
  z-index: 0;
  position: relative;
  left: 0;
  bottom: 0;
  background: white;
  padding: 20px 20px 5px 20px; }
  footer .social {
    padding: 10px 0 0 185px; }
  footer .love {
    color: #6B7C93;
    padding: 10px 0 0 80px; }
    footer .love .fa-heart {
      color: #43E883; }
  footer button {
    outline: none;
    height: 40px;
    text-align: center;
    border-radius: 4px;
    background: #6873E5;
    border: none;
    color: #F6F9FC;
    letter-spacing: 1px;
    text-shadow: 0;
    -webkit-appearance: none;
    font-size: 12px;
    font-weight: bold;
    cursor: pointer;
    transition: all 0.25s ease; }
    footer button:hover {
      color: white;
      background: #43E883; }
    footer button:active {
      letter-spacing: 2px; }
    footer button:after {
      content: "Download Resume"; }

.shadow {
  box-shadow: 0px 2px 40px 0px rgba(0, 0, 0, 0.05); }

/* Smartphones (portrait and landscape) ----------- */
@media (min-width: 320px) and (max-width: 945px) {
  .logo {
    left: 30px; }
  nav {
    display: none; }
  .mobile-nav {
    display: block; }
  header {
    padding: 100px 40px 20px 40px;
    background: none;
    height: auto; }
    header h1 {
      font-size: 2em;
      margin-top: 50px;
      line-height: 50px; }
  #projects {
    padding: 30px;
    display: none; }
  .contact {
    padding: 30px;
    margin: 150px 0 0 0; }
    .contact .sidebar-info {
      padding: 0; }
    .contact h1 {
      margin-bottom: 30px; }
    .contact .six.columns:first-child {
      padding-right: 0px; }
    .contact input.button-primary {
      width: 100%;
      -webkit-appearance: none; }
  .resume {
    padding: 30px;
    margin-top: 150px; }
    .resume .title {
      margin-bottom: 30px; }
  .work {
    margin: 150px 0 50px 0; }
    .work .gallery-text {
      top: 0px;
      left: 0px;
      padding: 50px 50px 0 50px;
      text-align: center;
      background: rgba(104, 115, 229, 0.6);
      width: 100%;
      height: 100%; }
      .work .gallery-text .gallery-image_title {
        color: white;
        text-align: center; }
    .work .gallery-paragraph {
      display: none; }
    .work .gallery-link {
      color: white; }
    .work .project-header {
      height: auto; }
      .work .project-header h1 {
        text-align: left;
        font-size: 3em;
        margin: -75px 0 0 0; }
    .work .mini-projects .six.columns {
      width: 100%; }
  .about {
    margin: 150px 0 0 0;
    padding: 30px; }
  .contact-information {
    padding: 30px;
    margin: 150px 0 0 0; }
  footer button {
    width: 100%; }
  footer .love {
    padding: 10px;
    text-align: center; }
  footer .social {
    padding: 10px; }
    footer .social ul {
      position: relative;
      float: left;
      display: block;
      left: 50%; }
      footer .social ul li {
        position: relative;
        float: left;
        display: block;
        right: 50%; }
  .work-mobile {
    margin-top: 100px;
    padding: 0 20px 20px;
    display: block; }
    .work-mobile h1 {
      text-align: center; }
    .work-mobile p {
      text-align: center; }
    .work-mobile .row {
      padding: 50px 40px; }
    .work-mobile a.gallery-link:hover {
      color: #43E883; }
    .work-mobile img {
      width: 100%;
      box-shadow: 0px 2px 40px 0px rgba(0, 0, 0, 0.05); }
    .work-mobile .gallery-image_container {
      max-width: 960px;
      width: 100%;
      display: inline-block;
      position: relative;
      transition: transform .5s ease;
      margin-bottom: 20px; }
    .work-mobile .gallery-text {
      position: absolute;
      top: 0px;
      left: 0px;
      padding: 50px 50px 0 50px;
      text-align: center;
      background: rgba(104, 115, 229, 0.6);
      width: 100%;
      height: 100%; }
    .work-mobile .gallery-image_title {
      font-size: 24px;
      color: white;
      text-align: center; }
    .work-mobile .gallery-paragraph {
      display: none; }
    .work-mobile .gallery-link {
      font-size: 16px;
      text-align: left;
      width: 400px;
      color: white;
      text-decoration: underline; }
    .work-mobile .gallery-image {
      max-width: 100%;
      display: inline-block;
      vertical-align: middle;
      box-shadow: 0px 2px 40px 0px rgba(0, 0, 0, 0.05); }
  .button_container, .overlay {
    display: block; }
  .button_container {
    position: absolute;
    top: 60px;
    right: 30px;
    height: 20px;
    width: 30px;
    cursor: pointer;
    z-index: 100;
    transition: opacity .25s ease; }
    .button_container:hover {
      opacity: .7; }
    .button_container.active .top {
      transform: translateY(10px) translateX(0) rotate(45deg);
      background: #FFF; }
    .button_container.active .middle {
      opacity: 0;
      background: #FFF; }
    .button_container.active .bottom {
      transform: translateY(-10px) translateX(0) rotate(-45deg);
      background: #FFF; }
    .button_container span {
      background: #6873E5;
      border: none;
      height: 3px;
      width: 100%;
      position: absolute;
      top: 0px;
      left: 0;
      transition: all .35s ease;
      cursor: pointer; }
      .button_container span:nth-of-type(2) {
        top: 10px; }
      .button_container span:nth-of-type(3) {
        top: 20px; }
  .overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 1;
    visibility: hidden;
    transition: opacity .35s, visibility .35s, width .35s;
    z-index: 50; }
    .overlay:before {
      content: '';
      background: #6873E5;
      left: -55%;
      top: 0;
      width: 50%;
      height: 100%;
      position: absolute;
      transition: left .35s ease; }
    .overlay:after {
      content: '';
      background: #6873E5;
      right: -55%;
      top: 0;
      width: 50%;
      height: 100%;
      position: absolute;
      transition: all .35s ease; }
    .overlay.open {
      opacity: .9;
      visibility: visible;
      height: 100%; }
      .overlay.open:before {
        left: 0; }
      .overlay.open:after {
        right: 0; }
      .overlay.open li {
        animation: fadeInRight .5s ease forwards;
        animation-delay: .35s; }
        .overlay.open li:nth-of-type(2) {
          animation-delay: .45s; }
        .overlay.open li:nth-of-type(3) {
          animation-delay: .55s; }
        .overlay.open li:nth-of-type(4) {
          animation-delay: .65s; }
    .overlay .overlay-menu {
      position: relative;
      height: 70%;
      top: 55%;
      transform: translateY(-50%);
      font-size: 30px;
      font-weight: 400;
      text-align: center;
      z-index: 100; }
    .overlay ul {
      list-style: none;
      padding: 0;
      margin: 0 auto;
      display: inline-block;
      position: relative;
      height: 100%; }
      .overlay ul li {
        display: block;
        height: 25%;
        height: calc(100% / 6);
        min-height: 50px;
        position: relative;
        opacity: 0; }
        .overlay ul li a {
          display: block;
          position: relative;
          color: #FFF;
          text-decoration: none;
          overflow: hidden; }
          .overlay ul li a:hover:after, .overlay ul li a:focus:after, .overlay ul li a:active:after {
            width: 100%; }
          .overlay ul li a:after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 50%;
            width: 0%;
            transform: translateX(-50%);
            height: 3px;
            background: #FFF;
            transition: .35s; }
  @keyframes fadeInRight {
    0% {
      opacity: 0;
      left: 20%; }
    100% {
      opacity: 1;
      left: 0; } } }
