/* Variables */
/* Mixins */
* {
  margin: 0px;
  padding: 0px;
  border: none;
  box-sizing: border-box; }

html {
  height: 100%; 
}

body {
  background: #fff;
  font-size: 18px;
  line-height: 32px;
  font-family: "open_sanslight";
  color: #444444;
  height: 100%; }

.clearfix {
  *zoom: 1; }

.clear {
  clear: both;
  width: 100%; }

h1, h2, h3, h4, h5, h6 {
  text-transform: uppercase; }

.h1 {
  font: 1.5em "allerregular";
  margin-bottom: 20px; }

.h2 {
  font: 1.35em "allerregular";
  margin-bottom: 40px;
  padding: 30px 0px;
  border-top: 1px solid #eee;
  border-bottom: 1px solid #eee; }

.h3 {
  font-size: 1.25em;
  margin-bottom: 20px; }

.h4 {
  font: 1.1em "allerregular";
  margin-bottom: 20px; }

.h5 {
  font: 1em "allerregular";
  margin-bottom: 40px;
  padding: 10px 0px;
  border-top: 1px solid #eee;
  border-bottom: 1px solid #eee; }

.h6 {
  font: 0.9em "allerregular";
  margin-bottom: 5px; }

.bars {
  border-top: 1px solid #eee;
  border-bottom: 1px solid #eee;
  margin-bottom: 30px; }

.bars .h1, .bars .h2, .bars .h3, .bars .h4, .bars .h5, .bars .h6 {
  margin: 0px;
  padding: 0px; }

.bars .h1 {
  padding: 20px 0px; }

.bars .h5 {
  padding: 10px 0; }

.margin-0 {
  margin: 0px; }

.margin-5 {
  margin-bottom: 5px; }

a {
  text-decoration: none; }

p {
  margin-bottom: 20px; }

hr {
  width: 100%;
  height: 1px;
  background: #eee;
  margin: 30px 0px; }

.txt-left {
  text-align: left; }

.txt-right {
  text-align: right; }

.txt-center {
  text-align: center; }

.floatLeft {
  float: left; }

.floatRight {
  float: right; }

.show {
  display: block; }

.hide {
  display: none; }

.no-scroll {
  overflow: hidden !important; }

.wrapper {
  width: 100%;
  max-width: 1100px;
  margin: 0px auto; }

.wrapper-half {
  width: 50%;
  max-width: 550px;
  margin: 0px auto; }

.wrapper-3_4 {
  width: 75%;
  margin: 0px auto; }

#jf-viewport {
  overflow: hidden; }

/* Styles */
#bg-fltr {
  opacity: .97;
  position: absolute;
  top: 0px;
  left: 0px;
  right: 0px;
  bottom: 0px;
  z-index: 0;
  transition: all .25s ease;
  background: #243a66; }

#bg-fltr.fltr-lt-blue {
  background: #3b56a6; }

#bg-fltr.fltr-blue {
  background: #243a66; }

#bg-fltr.fltr-dk-blue {
  background: #162130; }

#bg-fltr.fltr-green {
  background: #75c489; }

#bg-fltr.fltr-yellow {
  background: #faf5ae; }

#bg-fltr.fltr-orange {
  background: #dfa75f; }

#bg-fltr.fltr-red {
  background: #ae4b55; }

#bg-fltr.fltr-purple {
  background: #99588c; }

.bg-lt-blue {
  background-color: #3b56a6; }

.bg-blue {
  background-color: #243a66; }

.bg-dk-blue {
  background-color: #162130; }

.bg-green {
  background-color: #75c489; }

.bg-yellow {
  background-color: #faf5ae; }

.bg-orange {
  background-color: #dfa75f; }

.bg-red {
  background-color: #ae4b55; }

.bg-purple {
  background-color: #99588c; }

.clr-lt-blue {
  color: #3b56a6; }

.clr-blue {
  color: #243a66; }

.clr-dk-blue {
  color: #162130; }

.clr-green {
  color: #75c489; }

.clr-yellow {
  color: #faf5ae; }

.clr-orange {
  color: #dfa75f; }

.clr-red {
  color: #ae4b55; }

.clr-purple {
  color: #99588c; }

.section:first-child {
  padding-top: 0px; }

.section:after {
  display: block;
  width: 50%;
  background: #eee;
  height: 1px;
  content: '';
  margin: 60px auto; }

.section:last-child:after {
  display: none; }

.section-title {
  transition: all 1s ease; }

.section-title.expanded {
  transform: translateY(-55px); }

.row {
  width: 100%; }

.row:after {
  content: '';
  display: block;
  clear: both; }

.col {
  float: left;
  padding: 20px; }

.col-2 {
  width: 50%; }

.col-3 {
  width: 33%; }

.col-4 {
  width: 25%; }

.col-2_3 {
  width: 67%; }

.col-3_4 {
  width: 75%; }

/* Header */
#header {
  width: 100%;
  padding: 20px 0px;
  color: #fff;
  margin-top: 30px;
  transform: translateY(0px);
  transition: all 1s ease;
  -webkit-transition: all 1s ease; }
  #header #name {
    font-size: 18px;
    line-height: 16px;
    float: left;
    text-transform: uppercase;
    font-family: "allerregular"; }
    #header #name small {
      font-size: .75em;
      font-family: "open_sanslight"; }
  #header #social {
    float: right; }
    #header #social li {
      list-style: inline-block;
      list-style: none; }
    #header #social a {
      display: block;
      font-size: 30px;
      opacity: .45;
      line-height: 30px;
      color: #fff;
      transition: all .25s ease;
      -webkit-transition: all .25s ease; }
    #header #social a:hover {
      opacity: 1; }

#header:after {
  clear: both;
  display: block;
  content: ''; }

#header.contentActive {
  transform: translateY(-30px);
  transition: all 1s ease;
  -webkit-transition: all 1s ease; }

#logo {
  position: absolute;
  top: 50%;
  left: 50%;
  margin-left: -87px;
  margin-top: -81px;
  width: 175px;
  height: 163px;
  opacity: .45; }

/* Navigation */
nav {
  position: absolute;
  bottom: 50px;
  left: 0px;
  width: 100%;
  text-align: center;
  transform: translateY(0px);
  transition: all 1s ease;
  -webkit-transition: all 1s ease; }
  nav li {
    display: inline-block;
    font-size: 65px;
    transition: all 1s ease;
    -webkit-transition: all 1s ease; }
  nav a {
    display: block;
    color: #fff;
    opacity: .45;
    padding: 5px 25px; }
  nav a:hover {
    opacity: 1; }
  nav a.active {
    opacity: 1; }
  nav .navDesc {
    font-size: 14px;
    color: #fff;
    margin-top: -10px; }

nav.contentActive {
  transform: translateY(40px);
  transition: all 1s ease;
  -webkit-transition: all 1s ease; }
  nav.contentActive li {
    font-size: 55px;
    transition: all 1s ease;
    -webkit-transition: all 1s ease; }

/* Background Video */
.fullscreen-bg {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  overflow: hidden;
  z-index: -100; }

.fullscreen-bg__video {
  position: absolute;
  top: 50%;
  left: 50%;
  width: auto;
  height: auto;
  min-width: 100%;
  min-height: 100%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%); }

@media (max-width: 767px) {
  .fullscreen-bg {
    background: url("../imgs/bg-img.jpg") center center/cover no-repeat; }

  .fullscreen-bg__video {
    display: none; } }
/* Content Style/Layout */
.overlay {
  position: fixed;
  overflow: auto;
  top: 70px;
  bottom: 100px;
  right: 60px;
  left: 60px;
  z-index: 1;
  transform: scale(0);
  visibility: hidden;
  -webkit-transition: all .5s ease;
  transition: all .5s ease;
  background: #fff; }

.overlay.active {
  transform: scale(1);
  display: block;
  transition: all 1s easeOutBack;
  z-index: 2;
  visibility: visible;
  -webkit-transition: all 1s ease;
  transition: all 1s ease; }

.exitOverlay {
  position: fixed;
  top: 0px;
  right: 0px;
  z-index: 10;
  color: #ccc;
  font-size: 25px;
  padding: 5px 10px;
  cursor: pointer;
  -webkit-transition: color .25s ease;
  -mox-transition: color .25s ease;
  transition: color .25s ease; }

.exitOverlay:hover {
  color: #999; }

.contentContainer {
  padding: 60px 40px;
  width: 100%;
  text-align: center; }

/* About Page */
#bioTxt {
  text-align: left;
  font-size: .85em;
  line-height: 1.8em; }

#bioPic {
  width: 250px;
  height: 250px;
  margin: 15px auto 40px; }

#bioPic img {
  width: 100%;
  height: 100%; }

.styledPic {
  display: block;
  position: relative; }

.styledPic img {
  width: 100%;
  height: 100%; }

.styledPic:before {
  display: block;
  width: 100%;
  height: 100%;
  border: 2px solid #eee;
  position: absolute;
  top: -15px;
  left: -15px;
  z-index: -1;
  content: ''; }

.styledPic:after {
  display: block;
  width: 100%;
  height: 100%;
  border: 2px solid #eee;
  position: absolute;
  bottom: -15px;
  right: -15px;
  z-index: -1;
  content: ''; }

.Collage img {
  padding: 0px 2px;
  height: 130px; }

.interests {
  font-size: .9em; }
  .interests li {
    list-style: none;
    margin-bottom: 5px; }
  .interests li:after {
    display: block; }

.interests .col:first-child {
  border-right: 1px solid #ccc; }

.likes {
  text-align: right; }
  .likes li:after {
    display: inline-block;
    color: #75c489;
    content: "\f121";
    margin-left: 10px;
    font-family: "Ionicons"; }

.dislikes {
  text-align: left; }
  .dislikes li:before {
    display: inline-block;
    color: #ae4b55;
    content: "\f129";
    margin-right: 10px;
    font-family: "Ionicons"; }

/* Web Page */
.portfolio {
  text-align: center; }

.portfolio li {
  width: 320px;
  height: 176px;
  margin: 0px 20px 20px 0px;
  background: #fff;
  position: relative;
  display: inline-block;
  text-align: center;
  border: 2px solid #eee;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  cursor: pointer;
  padding: 20px; }
  .portfolio li .tn {
    width: 100%;
    height: 100%;
    position: relative;
    z-index: 2;
    transition: all .25s ease;
    border: 1px solid #eee;
    transform: translateY(0px); }
  .portfolio li .more {
    position: absolute;
    bottom: 0px;
    left: 0px;
    width: 100%;
    text-align: center;
    opacity: 0;
    transition: all .25s ease;
    color: #999; }
  .portfolio li .more:after {
    content: '\f20b';
    display: block;
    font-family: "Ionicons";
    font-size: 30px;
    line-height: 30px; }

.portfolio li:hover .tn {
  transform: translateY(-10px); }

.portfolio li:hover .more {
  opacity: 1; }

.caseOverlay {
  position: fixed;
  -webkit-transition: all .5s ease;
  transition: all .5s ease;
  background: #fff;
  border: 1px solid #ccc;
  top: 70px;
  bottom: 100px;
  right: 60px;
  left: 60px;
  z-index: 10;
  overflow: auto;
  text-align: left;
  visibility: hidden;
  transform: scale(0);
  cursor: default; }
  .caseOverlay .h1 {
    text-align: center; }
  .caseOverlay .caseContent {
    padding: 60px 25%;
    width: 100%;
    position: relative;
    z-index: 1; }
    .caseOverlay .caseContent li {
      background: none;
      height: auto;
      width: auto;
      margin: 0px 0px 20px;
      padding: 0px;
      border: none;
      list-style: none;
      display: list-item;
      text-align: left; }
  .caseOverlay .case-loader-wrapper {
    position: absolute;
    top: 0px;
    left: 0px;
    right: 0px;
    bottom: 0px;
    background: #fff;
    z-index: 10; }
  .caseOverlay .case-loader-wrapper .loader {
    border-top-color: #ccc; }
  .caseOverlay .case-loader-wrapper .loader:before {
    border-top-color: #ccc; }
  .caseOverlay .case-loader-wrapper .loader:after {
    border-top-color: #ccc; }
  .caseOverlay .pres {
    display: block;
    width: 100%;
    max-width: 600px;
    margin: 0px auto;
    height: auto; }
  .caseOverlay .caseOverlay hr {
    width: 100%;
    background: #ccc;
    height: 1px;
    margin: 30px 0px; }
  .caseOverlay .caseSkills li {
    border-bottom: 1px solid #ccc;
    padding: 8px;
    margin: 0px;
    font-size: .8em;
    line-height: .8em; }
  .caseOverlay .caseSkills li:hover {
    cursor: default; }
  .caseOverlay .caseSkills li:first-child {
    border-top: 1px solid #ccc; }

.caseOverlay.expanded {
  transform: scale(1);
  transition: all 1s easeOutBack;
  visibility: visible;
  -webkit-transition: all 1s ease;
  transition: all 1s ease; }

.caseOverlay.expanded .caseContent {
  display: block; }

.viewSite {
  margin-top: 20px;
  text-align: center; }

.caseClose {
  position: fixed;
  top: 0px;
  right: 0px;
  z-index: 100;
  color: #ccc;
  font-size: 25px;
  padding: 5px 10px;
  cursor: pointer;
  display: none;
  -webkit-transition: color .25s ease;
  -moz-transition: color .25s ease;
  transition: color .25s ease; }

.caseClose:hover {
  color: #999; }

/* Profile */
.timeline {
  width: 100%;
  padding-left: 15px; }

.event {
  position: relative;
  width: 100%;
  padding: 10px 0px 10px;
  text-align: left;
  padding-left: 40px;
  border-left: 2px solid #eee;
  margin-bottom: 20px;
  font-size: .8em;
  line-height: 1.5em; }

.event:last-child {
  margin-bottom: 0px;
  padding-bottom: 0px; }

.event:before {
  display: block;
  position: absolute;
  top: 0px;
  left: -26px;
  background: #fff;
  padding: 10px;
  font-family: "FontAwesome";
  content: '\f133';
  color: #dfa75f;
  font-size: 30px; }

.event:after {
  display: block;
  position: absolute;
  bottom: 0px;
  left: -10px;
  background: #fff;
  padding: 0px;
  font-family: "Ionicons";
  content: '\f123';
  color: #eee;
  font-size: 20px; }

.event:last-child:after {
  display: none; }

.event .content {
  border: 2px solid #eee;
  padding: 20px;
  top: 0px;
  left: 0px;
  width: 100%;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px; }

.event.resume .content {
  display: block;
  color: #fff;
  transition: all .25s ease;
  background: #ae4b55;
  border-color: #ae4b55; }

.event.resume .content i {
  font-size: 25px; }

.event.resume:hover .content {
  opacity: .75; }

.event.resume:before {
  color: #ae4b55;
  content: '\f0f6';
  left: -23px;
  top: auto;
  bottom: 0px; }

/* Skills */
.skills {
  text-align: left;
  margin-bottom: 60px; }
  .skills .row div {
    float: left;
    margin: 0px 10px 10px 0px;
    color: #fff; }
  .skills .row .XL div {
    padding: 16px;
    font-size: 1.1em; }
  .skills .row .LG div {
    padding: 12px;
    font-size: 1em; }
  .skills .row .MD div {
    padding: 10px;
    font-size: .9em; }
  .skills .row .SM div {
    padding: 8px;
    font-size: .8em; }
  .skills .dev {
    background: #75c489; }
  .skills .des {
    background: #243a66; }
  .skills .key {
    margin: 0px 20px 20px 0px;
    display: inline-block; }
  .skills .key span {
    padding: 10px;
    display: inline-block;
    margin-right: 5px; }
  .skills .key.development span {
    background: #75c489; }
  .skills .key.design span {
    background: #243a66; }

.skill:after {
  content: '';
  display: block;
  clear: both; }

.goals ul {
  margin-bottom: 40px; }

.goals li {
  margin-bottom: 5px;
  list-style: none; }

.goals li:before {
  content: '\f140';
  display: inline-block;
  margin-right: 10px;
  font-family: "FontAwesome";
  color: #ae4b55; }

/* Contact Form */
#contactForm {
  padding-left: 0px; }

#contactInfo {
  padding-right: 0px; }

#contactInfo .h3 {
  margin-bottom: 5px;
  line-height: normal;
  font-family: "allerregular"; }

#contactInfo p {
  margin-bottom: 0px;
  line-height: normal; }

#map {
  width: 100%;
  position: relative;
  z-index: -1;
  margin-top: -75px;
  max-width: 550px; }

#map img {
  width: 100%; }

#ajax-contact .col {
  padding-left: 0px; }

#ajax-contact {
  text-align: left; }

#ajax-contact .col {
  padding-bottom: 10px;
  padding-top: 0px; }

#ajax-contact p {
  margin: 0px; }

#form-messages {
  font-size: 18px;
  font-family: "open_sansregular";
  font-weight: bold; }

.success {
  color: #75c489; }

.error {
  color: #ae4b55; }

input, textarea {
  border: 1px solid #d3d3d3;
  background: #f9f9f9;
  color: 444;
  font-family: "open_sansregular";
  font-size: 16px;
  padding: 10px 15px;
  width: 100%; }

input:focus, textarea:focus {
  border-color: #999;
  background: #fff;
  transition: all .25s ease;
  -webkit-transition: all .25s ease; }

.btn {
  border: 0px;
  display: inline-block;
  color: #fff;
  background: #3b56a6;
  transition: all .25s ease;
  -webkit-transition: all .25s ease;
  width: auto;
  padding: 10px 15px;
  font-size: 16px; }

.btn:hover {
  background: #243a66;
  cursor: pointer; }

/* Loader */
.loader-wrapper {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 999999;
  background: #243a66; }

.contentLoading {
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
	z-index: 999999;
	background: #fff;
	display: none;
}

.loadLogo {
  width: 100px;
  height: 93px;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-left: -50px;
  margin-top: -46px; }

.loader {
  display: block;
  position: relative;
  left: 50%;
  top: 50%;
  width: 240px;
  height: 240px;
  margin: -120px 0 0 -120px;
  border-radius: 50%;
  border: 3px solid transparent;
  border-top-color: #75c489;
  -webkit-animation: spin 2s linear infinite;
  /* Chrome, Opera 15+, Safari 5+ */
  animation: spin 2s linear infinite;
  /* Chrome, Firefox 16+, IE 10+, Opera */ }

.loader:before {
  content: "";
  position: absolute;
  top: 5px;
  left: 5px;
  right: 5px;
  bottom: 5px;
  border-radius: 50%;
  border: 3px solid transparent;
  border-top-color: #3b56a6;
  -webkit-animation: spin 3s linear infinite;
  /* Chrome, Opera 15+, Safari 5+ */
  animation: spin 3s linear infinite;
  /* Chrome, Firefox 16+, IE 10+, Opera */ }

.loader:after {
  content: "";
  position: absolute;
  top: 15px;
  left: 15px;
  right: 15px;
  bottom: 15px;
  border-radius: 50%;
  border: 3px solid transparent;
  border-top-color: #fff;
  -webkit-animation: spin 1.5s linear infinite;
  /* Chrome, Opera 15+, Safari 5+ */
  animation: spin 1.5s linear infinite;
  /* Chrome, Firefox 16+, IE 10+, Opera */ }

.contentLoading .loader:after {border-top-color: #243a66;}

@-webkit-keyframes spin {
  0% {
    -webkit-transform: rotate(0deg);
    /* Chrome, Opera 15+, Safari 3.1+ */
    -ms-transform: rotate(0deg);
    /* IE 9 */
    transform: rotate(0deg);
    /* Firefox 16+, IE 10+, Opera */ }
  100% {
    -webkit-transform: rotate(360deg);
    /* Chrome, Opera 15+, Safari 3.1+ */
    -ms-transform: rotate(360deg);
    /* IE 9 */
    transform: rotate(360deg);
    /* Firefox 16+, IE 10+, Opera */ } }
@keyframes spin {
  0% {
    -webkit-transform: rotate(0deg);
    /* Chrome, Opera 15+, Safari 3.1+ */
    -ms-transform: rotate(0deg);
    /* IE 9 */
    transform: rotate(0deg);
    /* Firefox 16+, IE 10+, Opera */ }
  100% {
    -webkit-transform: rotate(360deg);
    /* Chrome, Opera 15+, Safari 3.1+ */
    -ms-transform: rotate(360deg);
    /* IE 9 */
    transform: rotate(360deg);
    /* Firefox 16+, IE 10+, Opera */ } }
