@import url("https://use.typekit.net/jzq4vsk.css");
*, *::before, *::after {
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

body {
  width: 100%;
  height: 100%;
  font-family: "futura-pt", sans-serif;
  font-weight: 400;
  font-style: normal;
  color: #3f4249;
  overflow-x: hidden; }

h1, h2, h3, h4, h5, h6, button {
  font-family: "futura-pt-bold", sans-serif; }

section {
  max-width: 100%; }

a {
  text-decoration: none;
  color: rgba(255, 255, 255, 0.7); }
  a:hover {
    color: #47ae9b; }

ul a {
  margin-left: 1.5rem;
  font-family: "futura-pt", sans-serif;
  font-weight: 400; }

.section-title {
  font-size: 2rem;
  margin-bottom: 2rem;
  color: #47ae9b; }

.section-subtitle {
  margin-bottom: .5rem;
  color: #277192; }

input, textarea, button:focus {
  border-color: #47ae9b; }

.contact-btn {
  color: #47ae9b;
  padding: .5rem 2rem;
  font-size: 1rem;
  font-weight: bold;
  border: 2px solid #47ae9b;
  border-radius: 5px;
  background-color: transparent;
  cursor: pointer; }
  .contact-btn:hover {
    color: #ffffff;
    background-color: #47ae9b; }
  .contact-btn:focus {
    outline: none; }

button[type="submit"] {
  padding: .7rem 3rem;
  background-color: #47ae9b;
  color: #ffffff;
  font-size: 1.5rem;
  text-transform: uppercase;
  border: none;
  border-radius: 5px;
  cursor: pointer; }
  button[type="submit"]:hover {
    background-color: #3d9181; }

.landing-page {
  width: 100%;
  height: 100vh;
  background-image: url("../assets/header_bg.jpg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  text-align: center;
  color: rgba(255, 255, 255, 0.8); }
  .landing-page .hero-name {
    margin-top: 25vh;
    font-size: 7rem;
    text-transform: uppercase;
    line-height: 4rem; }
  .landing-page .hero-subtitle {
    font-weight: 300;
    font-size: 4rem; }
  .landing-page svg {
    margin-top: 12rem;
    height: 5rem;
    width: 5rem;
    fill: #ffffff; }

@media screen and (max-width: 800px) {
  .landing-page .hero-name {
    font-size: 6rem; }
  .landing-page .hero-subtitle {
    font-size: 3rem; } }

@media screen and (max-width: 650px) {
  .landing-page .hero-name {
    font-size: 5rem; } }

@media screen and (max-width: 550px) {
  .landing-page .hero-name {
    font-size: 4rem; }
  .landing-page .hero-subtitle {
    font-size: 2rem; } }

@media screen and (max-width: 420px) {
  .landing-page .hero-name {
    font-size: 3rem;
    line-height: 2rem; } }

.header {
  width: 100%; }
  .header nav {
    max-width: 70rem;
    margin: 0 auto;
    padding: .4rem 1rem;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center; }
    .header nav svg {
      margin-top: 0;
      fill: rgba(255, 255, 255, 0.6); }
    .header nav ul {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-justify-content: space-around;
      -ms-flex-pack: distribute;
      justify-content: space-around;
      list-style: none; }

.hamburger {
  background: transparent;
  border: none;
  display: none; }
  .hamburger:focus {
    outline: none; }
  .hamburger:hover .line-one, .hamburger:hover .line-two, .hamburger:hover .line-three {
    -webkit-transform-origin: center right;
    -ms-transform-origin: center right;
    transform-origin: center right;
    -webkit-animation: hamburgerHover ease-out 600ms;
    animation: hamburgerHover ease-out 600ms; }
  .hamburger:hover .line-two {
    -webkit-animation-delay: 75ms;
    animation-delay: 75ms; }
  .hamburger:hover .line-three {
    -webkit-animation-delay: 150ms;
    animation-delay: 150ms; }
  .hamburger svg {
    width: 8em;
    height: 6em; }
    .hamburger svg:hover {
      fill: #47ae9b;
      cursor: pointer; }

.close-menu {
  background: transparent;
  border: none;
  display: none;
  z-index: 999; }
  .close-menu:focus {
    outline: none; }
  .close-menu svg {
    width: 6em;
    height: 6em; }
    .close-menu svg:hover {
      fill: #47ae9b;
      cursor: pointer; }

@-webkit-keyframes hamburgerHover {
  0% {
    -webkit-transform: scaleX(1);
    transform: scaleX(1); }
  33% {
    -webkit-transform: scaleX(1.5);
    transform: scaleX(1.5); }
  66% {
    -webkit-transform: scaleX(0.75);
    transform: scaleX(0.75); }
  100% {
    -webkit-transform: scaleX(1);
    transform: scaleX(1); } }

@keyframes hamburgerHover {
  0% {
    -webkit-transform: scaleX(1);
    transform: scaleX(1); }
  33% {
    -webkit-transform: scaleX(1.5);
    transform: scaleX(1.5); }
  66% {
    -webkit-transform: scaleX(0.75);
    transform: scaleX(0.75); }
  100% {
    -webkit-transform: scaleX(1);
    transform: scaleX(1); } }

.menu {
  display: none; }

@media screen and (max-width: 786px) {
  .header nav {
    padding: 1rem; }
    .header nav ul {
      display: none; }
  .menu {
    margin: 0;
    padding: 0;
    background-color: #277192;
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    height: 100vh;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-justify-content: space-around;
    -ms-flex-pack: distribute;
    justify-content: space-around;
    -webkit-box-align: stretch;
    -webkit-align-items: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    list-style: none;
    -webkit-transform: translateX(200%);
    -ms-transform: translateX(200%);
    transform: translateX(200%);
    -webkit-transition: -webkit-transform ease-in-out 350ms;
    transition: -webkit-transform ease-in-out 350ms;
    -o-transition: transform ease-in-out 350ms;
    transition: transform ease-in-out 350ms;
    transition: transform ease-in-out 350ms, -webkit-transform ease-in-out 350ms; }
    .menu li {
      width: 100%;
      border-bottom: 1px solid rgba(255, 255, 255, 0.5); }
    .menu li a {
      width: 100%;
      margin: 0;
      display: inline-block;
      padding: calc(100vh/8) 0;
      font-size: 3rem;
      line-height: 0; }
      .menu li a:hover, .menu li a:focus {
        background-color: rgba(63, 66, 73, 0.5); }
  .hamburger {
    z-index: 9999;
    display: block; } }

.nav-is-open .menu {
  -webkit-transform: translateX(0);
  -ms-transform: translateX(0);
  transform: translateX(0); }

.about-me {
  max-width: 80%;
  margin: 0 auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }
  .about-me .img-contain {
    min-width: 40%;
    margin-right: 3rem; }
  .about-me img {
    display: block;
    width: 100%; }
  .about-me svg {
    height: 5rem;
    width: 5rem;
    fill: #47ae9b; }

.brand {
  text-align: center; }

.info {
  margin-top: 4rem; }

.about-wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: space-around;
  -ms-flex-pack: distribute;
  justify-content: space-around; }

.web-design, .graphic-design {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-justify-content: space-around;
  -ms-flex-pack: distribute;
  justify-content: space-around; }

.values {
  background-color: #e3e1e4; }

.contain {
  margin: 0 auto;
  max-width: 80%;
  padding: 4rem 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }
  .contain div:not(:first-child) {
    margin-left: 1.5rem; }

.talents {
  max-width: 80%;
  margin: 0 auto;
  padding: 4rem 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between; }
  .talents .talents-info {
    width: 48%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start; }
  .talents .talents-desc {
    margin-bottom: 1rem; }

.talents-levels {
  width: 48%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between; }
  .talents-levels .bars {
    background-color: rgba(97, 96, 97, 0.25); }
    .talents-levels .bars .level {
      padding: .3rem 1rem;
      background-color: #47ae9b; }
    .talents-levels .bars .w-65 {
      width: 65%; }
    .talents-levels .bars .w-70 {
      width: 70%; }
    .talents-levels .bars .w-75 {
      width: 75%; }
    .talents-levels .bars .w-80 {
      width: 80%; }
    .talents-levels .bars .w-85 {
      width: 85%; }
    .talents-levels .bars .w-90 {
      width: 90%; }
    .talents-levels .bars .w-95 {
      width: 95%; }
    .talents-levels .bars .w-100 {
      width: 100%; }

@media screen and (max-width: 850px) {
  .values {
    display: none; } }

@media screen and (max-width: 950px) {
  .about-me {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column; }
    .about-me .img-contain {
      max-width: 80%;
      margin: 2rem auto 0; }
      .about-me .img-contain img {
        border-radius: 50%; }
    .about-me .section-title {
      text-align: center; }
  .info {
    margin-top: 2rem; }
  .talents {
    min-width: 100%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    background-color: #e3e1e4;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 2rem 0; }
    .talents .talents-info {
      width: 80%; }
  .talents-levels {
    width: 80%; }
    .talents-levels .bars {
      margin-top: 1.5rem; } }

.img-bar {
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center; }

.img-bar-middle {
  min-width: 45%;
  padding: 3rem;
  background-color: #3f4249;
  color: rgba(255, 255, 255, 0.7); }

.img-bar-left img, .img-bar-right img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover; }

.img-bar-title {
  font-size: 2rem;
  color: #ffffff;
  margin-bottom: 1rem; }

.img-bar-p {
  font-size: 1.5rem; }

.quote-name, .quote-profession {
  text-align: right; }

.portfolio {
  padding: 3rem 0;
  text-align: center;
  background-color: #e3e1e4; }

.portfolio-items {
  max-width: 50rem;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr); }

.portfolio-item {
  position: relative;
  overflow: hidden; }
  .portfolio-item img {
    width: 100%;
    display: block; }
  .portfolio-item figcaption {
    padding: 1rem;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 100%;
    text-align: left;
    background-color: rgba(39, 113, 146, 0.6);
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-transition: left ease-in-out 250ms;
    -o-transition: left ease-in-out 250ms;
    transition: left ease-in-out 250ms; }
  .portfolio-item:hover figcaption, .portfolio-item:focus figcaption {
    left: 0; }

.featured figcaption {
  padding: 2rem; }

.portfolio-link {
  margin-left: 0;
  border-bottom: 2px solid rgba(255, 255, 255, 0.5);
  -webkit-align-self: flex-start;
  -ms-flex-item-align: start;
  align-self: flex-start;
  font-size: 1.1rem; }
  .portfolio-link:hover {
    border-bottom: 2px solid #47ae9b; }

.portfolio-title {
  font-size: 3rem;
  color: #ffffff;
  margin-bottom: auto; }

.portfolio-desc {
  color: #ffffff;
  display: none; }
  .featured .portfolio-desc {
    display: block; }

.portfolio-item.featured {
  grid-column: 1 / span 3;
  grid-row: 1 / span 2; }

.portfolio-modal {
  position: fixed;
  z-index: 10;
  top: 3em;
  left: 15%;
  right: 15%;
  bottom: 3em;
  background-color: #ffffff;
  -webkit-box-shadow: 0 0 0 25em rgba(0, 0, 0, 0.5);
  box-shadow: 0 0 0 25em rgba(0, 0, 0, 0.5);
  overflow-y: scroll;
  overflow-x: hidden;
  display: none; }
  .portfolio-modal.is-open {
    display: block; }

.close-modal {
  width: 2rem;
  height: 2rem;
  background: #ffffff;
  border: none;
  -webkit-box-shadow: 0 0 3em rgba(0, 0, 0, 0.5);
  box-shadow: 0 0 3em rgba(0, 0, 0, 0.5);
  position: fixed;
  left: calc(15% - 1rem);
  top: 3em;
  border-radius: 50%;
  cursor: pointer; }

.portfolio-header {
  text-align: left;
  padding: 5em 0;
  margin-bottom: 2em;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center; }

.header-one {
  background-image: url(../assets/port-thumnails/featured/upper-crust.jpg); }

.header-two {
  background-image: url(../assets/port-thumnails/featured/simply-creative.jpg); }

.header-three {
  background-image: url(../assets/port-thumnails/featured/upward-faith.jpg); }

.header-four {
  background-image: url(../assets/port-thumnails/featured/amethyst-bay.jpg); }

.header-five {
  background-image: url(../assets/port-thumnails/mag-cover-img.jpg); }

.header-six {
  background-image: url(../assets/port-thumnails/featured/town.jpg); }

.header-seven {
  background-image: url(../assets/port-thumnails/featured/web-banner.jpg); }

.header-eight {
  background-image: url(../assets/javabeen-website.jpg); }

.header-nine {
  background-image: url(../assets/port-thumnails/featured/town-website.jpg); }

.header-ten {
  background-image: url(../assets/port-thumnails/featured/e-book.jpg); }

.portfolio-title-box {
  background-color: rgba(71, 174, 155, 0.75);
  padding: 3em;
  display: inline-block; }
  .portfolio-title-box .portfolio-title {
    font-size: 5rem; }

.portfolio-content {
  text-align: left;
  width: 85%;
  margin: 0 auto;
  padding-bottom: 3em; }

.portfolio-full-width {
  min-width: 100vw;
  margin: 2em calc(50% - 50vw);
  height: 20vh;
  -o-object-fit: cover;
  object-fit: cover; }

.portfolio-pull-right, .portfolio-pull-left {
  float: left;
  max-width: 50%;
  margin-top: 2rem; }

.faith-image {
  width: 100%;
  margin-top: 2rem; }

.website-link {
  color: #277192;
  text-decoration: underline; }

@-webkit-keyframes modalIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@keyframes modalIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@-webkit-keyframes modalOut {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }

@keyframes modalOut {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }

@media screen and (max-width: 800px) {
  .portfolio-title {
    font-size: 2rem; }
  .featured .portfolio-desc {
    display: none; }
  .featured figcaption .portfolio-title {
    font-size: 3rem; }
  .portfolio-title-box .portfolio-title {
    font-size: 3rem; } }

@media screen and (max-width: 550px) {
  .portfolio-modal {
    top: 1rem;
    left: 1rem;
    bottom: 1rem;
    right: 1rem; }
  .close-modal {
    top: .3rem;
    left: .3rem; }
  .portfolio-title {
    font-size: 1.5rem; }
  .featured figcaption .portfolio-title {
    font-size: 2rem; }
  .portfolio-title-box {
    width: 100%;
    padding: 1.5rem; }
    .portfolio-title-box .portfolio-title {
      font-size: 2rem; }
  .portfolio-full-width {
    height: auto;
    -o-object-fit: scale-down;
    object-fit: scale-down; } }

@media screen and (max-width: 430px) {
  .portfolio-title {
    font-size: 1rem; } }

.contact {
  width: 100%;
  padding: 4rem 0;
  background-color: #616061; }

.contact-contain {
  margin: 0 auto;
  max-width: 70%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center; }
  .contact-contain form {
    width: 100%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; }
    .contact-contain form input, .contact-contain form textarea {
      padding: 1rem;
      margin-bottom: 2rem;
      font-size: 1rem;
      border: none;
      background-color: #e3e1e4; }
    .contact-contain form input {
      width: 48%; }
    .contact-contain form textarea {
      width: 100%;
      height: 25rem; }

@media screen and (max-width: 700px) {
  .contact-contain form {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column; }
    .contact-contain form input {
      width: 100%; } }

footer {
  padding: 3rem 0;
  background-color: #3f4249;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center; }
  footer p {
    text-align: center;
    color: rgba(227, 225, 228, 0.5); }
    footer p span {
      color: #47ae9b; }

.last-span {
  margin-left: 1rem; }

.footer-nav {
  margin-bottom: 2rem; }
  .footer-nav ul {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    list-style: none; }

.social-media {
  padding-top: 2rem;
  width: 30rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: space-around;
  -ms-flex-pack: distribute;
  justify-content: space-around; }
  .social-media a svg {
    width: 5rem;
    fill: #47ae9b; }

@media screen and (max-width: 500px) {
  .social-media {
    width: 20rem; }
    .social-media svg {
      width: 4.5rem; } }
