
html, body {
	height: 100%;
	width: 100%;
}
.pagecontainer {
	min-height:100%;
	position: relative;
	margin-bottom: -65px;
}
.pagecontainer:after {
	height: 65px;
}
body {
  font-family: 'Roboto', sans-serif;
  color: #333;
  font-size: 14px;
  line-height: 20px;
  font-weight: 300;
  margin-top: 0px;
  margin-right: 0px;
  margin-bottom: 0px;
  margin-left: 0px;
}
h1 {
  margin-top: 20px;
  margin-bottom: 10px;
  font-size: 38px;
  line-height: 44px;
  font-weight: 300;
}
h2 {
  margin-top: 20px;
  margin-bottom: 10px;
  font-size: 32px;
  line-height: 36px;
  font-weight: 300;
}
h3 {
  margin-top: 20px;
  margin-bottom: 10px;
  font-size: 24px;
  line-height: 30px;
  font-weight: 300;
}
h4 {
  margin-top: 10px;
  margin-bottom: 10px;
  font-size: 18px;
  line-height: 24px;
  font-weight: 300;
}
h5 {
  margin-top: 10px;
  margin-bottom: 10px;
  font-size: 14px;
  line-height: 20px;
  font-weight: 300;
}
h6 {
  margin-top: 10px;
  margin-bottom: 10px;
  font-size: 12px;
  line-height: 18px;
  font-weight: 300;
}
p {
  margin-bottom: 5px;
}
a {
  color: #333;
  text-decoration: none;
  transition:.2s linear;
  -webkit-transition:.2s linear;
  -moz-transition:.2s linear;
}
a:hover {
  color: rgba(235, 115, 2, 0.88);
}

.button{
  display: inline-block;
  padding: 10px 20px 10px 20px;
  border: solid #333 1px;
  border-radius: 15px;
  background-color: #ffffff;
  margin-left: 0px;
  margin-top: 20px;
  font-size: 12px;
  font-weight: 300;
}
.button:hover{
  border: solid rgba(235, 115, 2, 0.88) 1px;
  color: rgba(235, 115, 2, 0.88);
}

.letter{
  position: absolute;
  top: 0%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  display: inline-block;
  margin-top: 300px;
  transition: all .6s ease-out;
  z-index: 3;
  opacity: 1;
}
.letter.sticky{
  opacity: 0;
  /*padding: 30px 0px 20px 15px;*/
  transition: all 0.6s ease-out;
}
.letter-text{
  font-size: 300px;
  line-height: 300px;
  font-family: 'Great Vibes', cursive;
  color: white;
  font-style: normal;
  font-weight: 400;
  text-decoration: none;
  opacity:0;
  -webkit-transition: opacity 2s ease-in;
  -moz-transition: opacity 2s ease-in;
  -o-transition: opacity 2s ease-in;
  -ms-transition: opacity 2s ease-in;
  transition: opacity 2s ease-in;
}
.letter-text.sticky{
  opacity: 1;
  -webkit-transition: opacity 2s ease-in;
  -moz-transition: opacity 2s ease-in;
  -o-transition: opacity 2s ease-in;
  -ms-transition: opacity 2s ease-in;
  transition: opacity 2s ease-in;
  }
  /*
  animation-duration: 2s;
  animation-name: slide-in;
}
@keyframes slide-in{
	from{
		position: static;
		display: inline-block;
		transform: translatex(0px) translatey(0px);
		-webkit-transform: translatex(0px) translatey(0px);
		-moz-transform: translatex(0px) translatey(0px);
		margin-top: 0px;
		padding: 30px 0px 20px 15px;
	}
	
	to{
		position: absolute;
		top: 100%;
		left: 50%;
		transform: translate(-50%, -50%);
		-webkit-transform: translate(-50%, -50%);
		-moz-transform: translate(-50%, -50%);
		display: inline-block;
		margin-top: 300px;
	}
}*/
.letter-text.load{
  opacity:1;
  -webkit-transition: opacity 2s ease-in;
  -moz-transition: opacity 2s ease-in;
  -o-transition: opacity 2s ease-in;
  -ms-transition: opacity 2s ease-in;
  transition: opacity 2s ease-in;
}
.header{
  position: fixed;
  left: 0px;
  top: 0px;
  z-index: 15;
  width: 100%;
  height: 78px;
  background-color: transparent;
  transition:background-color 0.6s ease-in-out, box-shadow 0.3s ease-in-out;
  -webkit-transition:background-color 0.6s ease-in-out, box-shadow 0.3s ease-in-out;
  -moz-transition:background-color 0.6s ease-in-out, box-shadow 0.3s ease-in-out;
  -o-transition:background-color 0.6s ease-in-out, box-shadow 0.3s ease-in-out;
  -ms-transition:background-color 0.6s ease-in-out, box-shadow 0.3s ease-in-out;
  
  box-shadow: 0px;
  -moz-box-shadow: 0px;
  -webkit-box-shadow: 0px;  
  /*transition:all 0.6s ease-in-out;
  -webkit-transition:all 0.6s ease-in-out;
  -moz-transition:all 0.6s ease-in-out;
  -o-transition:all 0.6s ease-in-out;
  -ms-transition:all 0.6s ease-in-out;*/
  
}
.header.sticky {
  box-shadow: 0px 1px 8px 1px;
  -moz-box-shadow: 0px 1px 8px 1px;
  -webkit-box-shadow: 0px 1px 8px 1px;
  background-color: white;
}
.navigation {
  position: fixed;
  left: 0px;
  top: 0px;
  right: 0px;
  height: 78px;
  margin-left: auto;
  margin-right: auto;
  max-width: 1038px;
  background-color: transparent;
}
.navigation.sticky {
}
.name {
  display: inline-block;
}
/*
.name.sticky {
  display: inline-block;
  margin-bottom: 0px;
}*/
.name-text {
  display: inline-block;
  margin-top: 0px;
  margin-right: 0px;
  margin-bottom: 0px;
  padding: 34px 15px 24px 15px;
  font-family: 'Great Vibes', cursive;
  color: white;
  font-size: 52px;
  font-style: normal;
  font-weight: 400;
  text-decoration: none;
  transition:color 0.6s ease;
  -webkit-transition:color 0.6s ease;
  -moz-transition:color 0.6s ease;
  -o-transition:color 0.6s ease;
  -ms-transition:color 0.6s ease;
}
.name-text.sticky {
  color: #333;
}
.name-text:hover {
  color: rgba(235, 115, 2, 0.88)!important;
}

.nav-links {
  position: absolute;
  /*top: 0px;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);*/
  right: 0px;
  left: auto;
  bottom: auto;
  display: inline-block;
  /*margin-bottom: 0px;
  margin-top: 50px;
  padding-bottom: 0px;*/
  float: none;
  margin-bottom: 0px;
  margin-top: 0px;
  padding-top: 37px;
  padding-right: 10px;
  padding-bottom: 4px;
}
.nav-links.load {
  opacity: 1;
}
.nav-links.sticky {
}
.nav-link {
  margin-right: 5px;
  margin-left: 5px;
  padding: 5px;
  font-family: 'Roboto', sans-serif;
  color: white;
  font-size: 16px;
  font-weight: 300;
  text-align: center;
  text-decoration: none;
  transition:color 0.6s ease;
  -webkit-transition:color 0.6s ease;
  -moz-transition:color 0.6s ease;
  -o-transition:color 0.6s ease;
  -ms-transition:color 0.6s ease;
}
.nav-link.sticky {
  color: #333;
}
.nav-link:hover {
  color: rgba(235, 115, 2, 0.88)!important;
}
#login-link {
  color: rgba(235, 115, 2, 0.88);
}
#login-link:hover {
  color: #333!important;
}
.splash-image {
  position: static;
  display: block;
  margin: 0px auto;
}
.content {
  position: static;
  left: 0px;
  top: 0px;
  right: 0px;
  z-index: 1;
  display: block;
  margin-top: 0px;
  margin-bottom: 0px;
  padding-top: 10px;
  padding-bottom: 20px;
  background-color: white;
}
.content.section-timeline {
	background-color: #e9f0f5;
}
.splash-container {
  content: "";
  display: block;
  position: static;
  left: 0px;
  top: 0px;
  right: 0px;
  z-index: -1;
  background:
      linear-gradient(
      rgba(53,52,52,0.0), 
      rgba(53,52,52,0.0)),
      url('../images/laptop-coffee-cup.jpg');
  /*height: 100%;*/
  height: 700px;
  width: 100%;
  background-repeat:no-repeat;
  background-size:cover;
  -webkit-background-size:cover;
  -moz-background-size:cover;
  -o-background-size:cover;
  background-position:center;
  background-attachment: fixed;
  opacity: 1;  
  overflow: hidden;
  text-align: center;
}
.hero-container {
  display: inline-block;
  position: relative;
  top: 40%;
  margin: auto;
  z-index: 2;
  max-width: 1040px;
  padding: 0px 10px 0px 10px;
}
.hero-text {
  position: relative;
  color: rgba(255, 255, 255, 1);
  margin-top: 0px;
}
.quote-author {
  font-style: italic;
  margin-top: 5px;
}
/*.hero-text-1{
  top: 0px;
  margin-left: 160px
}
.hero-text-2{
  top: 0px;
  margin-left: 190px;
}
.hero-text-3{
  top: 0px;
  margin-left: 250px;
  color: rgba(235, 115, 2, 0.88);
}*/
.container {
  margin-left: auto;
  margin-right: auto;
  width: 90%;
  max-width: 1040px;
}
.container.resume {
	max-width: 980px;
}
.leftsidebar {
  position: relative;
  left: 10px;
  top: 0px;
  bottom: 0px;
  display: inline-block;
  width: 150px;
  min-width: 0px;
  margin-top: 75px;
  background-color: rgba(51, 51, 51, 0.2);
  box-shadow: black 0px 0px 5px 0px;
  -moz-box-shadow: black 0px 0px 5px 0px;
  -webkit-box-shadow: black 0px 0px 5px 0px;
}
.sidebar-item {
  position: relative;
  left: 0px;
  top: 0px;
  right: 0px;
  display: block;
  margin-bottom: 0px;
  padding: 5px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.38);
  background-color: white;
  box-shadow: none;
  -moz-box-shadow: none;
  -webkit-box-shadow: none;
}
.sidebar-text {
  padding-right: 5px;
  padding-left: 5px;
}
.maincontent {
  position: static;
  left: 0px;
  bottom: 0px;
  display: inline-block;
  margin-top: 0px;
  margin-bottom: 60px;
  margin-left: 0px;
}
.main-content-text {
  position: static;
  margin-top: 75px;
  margin-bottom: 0px;
  padding-bottom: 0px;
  padding-left: 10px;
  padding-right: 10px;
  font-size: 20px;
  font-weight: 300;
  line-height: 40px;
  text-align: center;
}

.section-timeline {
}

.section-sitepurpose {
  margin-top: 0px;
  margin-bottom: 60px;
}

.section-heading {
  text-align: center;
  margin-top: 40px;
}

#timeline-heading {
  margin-bottom: 60px;
}

.section-blue {
  background-color: #e9f0f5;
}

#resume-link {
  font-weight: 300;
  font-style: italic;
}

.footer-spacer {
  height: 55px;
  padding-bottom: 30px;
  padding-top: 25px;
}
.footer {
  position: absolute;
  left: 0px;
  bottom: 0px;
  margin-top: 40px;
  padding-top: 15px;
  padding-bottom: 40px;
  background-color: #333;
  height: 65px;
  width: 100%;
  text-align: center;
}
.contact-footer {
  display: inline-block;
  margin-top: 0px;
  margin-left: 15px;
  padding-top: 0px;
  font-size: 15px;
}
.footer-container {
  margin-top: 0px;
  padding-top: 0px;
}
.contact-name {
  padding-top: 10px;
  padding-bottom: 10px;
  color: white;
  font-size: 28px;
}
.contact-email {
  padding-top: 10px;
  padding-bottom: 10px;
  color: white;
  font-weight: 400;
  text-align: center;
  text-decoration: none;
}
.fixednotification {
  display: inline-block;
  width: 450px;
  height: 20px;
  min-width: 0px;
  margin-top: 0px;
  margin-bottom: 0px;
  margin-left: 110px;
  padding-top: 15px;
  padding-bottom: 15px;
  background-color: white;
  border: 2px solid white;
  border-radius: 5px;
  box-shadow: black 0px 0px 8px 0px inset;
  -moz-box-shadow: black 0px 0px 8px 0px inset;
  -webkit-box-shadow: black 0px 0px 8px 0px inset;
}
.notification-text {
  position: absolute;
  display: inline-block;
  padding: 0px 10px;
  font-size: 16px;
}
.social-buttons {
  display: inline-block;
  height: 30px;
  min-width: 0px;
  margin-top: 0px;
  margin-bottom: 0px;
  border: 0px solid white;
  text-align: center;
}
.social-button {
  height: 34px;
  width: 34px;
  border-radius: 17px;
  -moz-border-radius: 17px;
  line-height: 34px;
}
.button-linkedin {
  display: inline-block;
  position: relative;
  background-color: white;
  text-align: center;
  margin-top: 5px;
  margin-right: 5px;
  transition:.2s linear;
  -webkit-transition:.2s linear;
  -moz-transition:.2s linear;
}
.button-linkedin:hover {
  background-color: #0C84BE;
}
.button-linkedin:hover #letters-linkedin {
  color: white;
}
.link-spanner{
  position: absolute; 
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 1;
} 
.button-email {
  display: inline-block;
  position: relative;
  background-color: white;
  text-align: center;
  margin-top: 5px;
  margin-left: 5px;
  transition:.2s linear;
  -webkit-transition:.2s linear;
  -moz-transition:.2s linear;
}
.button-email:hover {
  background-color: #F14053;
}
.button-email:hover #letters-email {
  color: white;
}

#lean_overlay {
    position: fixed;
    z-index:100;
    top: 0px;
    left: 0px;
    height:100%;
    width:100%;
    background: #000;
    display: none;
}

/*** Login modal ***/


.login-window.login {
  position: relative;
  display: inline-block;
  max-width: 400px;
  max-height: 500px;
  min-height: 400px;
  width: 90%;
  /*height: 60%;*/
  right: 0;
  left: 0;
  margin-top: auto;
  margin-bottom: auto;
  
  padding-left: 0px;
  padding-right: 0px;
  background-color: white;
  border: 1px solid rgba(0,0,0,0.5);
  border-radius: 5px;
  box-shadow: 0px 0px 10px black;
  -moz-box-shadow: 0px 0px 10px black;
  -webkit-box-shadow: 0px 0px 10px black;
  text-align: center;
  display: none;
  
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
}
/*
.splash-container.login{
  max-height: 500px;
  margin-top: 69px;
  padding-top: 250px;
  padding-bottom: 250px;
}
*/

.login-container.login{
	display: inline-block;
	padding-top: 80px;
	padding-bottom: 80px;
	padding-right: 10px;
	padding-left: 10px;
	margin: 0 auto;
	text-align: center;
	border: 1px solid rgba(0,0,0,0.5);
	
}

.footer.login{
  margin-top: 0px;
}


form.login{
	position: absolute;
	left: 0px;
	top: 60px;
	height: 240px;
	padding-top: 30px;
    text-align:center;
    margin-top: 10px;
}

.field.login{
	margin-top: 10px;
}

label.login{
    height: 30px;
    width: 100px;
    margin-top: 10px;
    margin-left: 0px;
    text-align: right;
    clear: both;
    float: left;
    margin-right: 0px;
}

#username, #password{
    height: 30px;
    width: 60%;
    border: 1px solid #666;
    border-radius: 5px;
    color: #333;
    margin: 5px 0px 5px 0px;
    padding: 5px 8px;
    transition:.2s linear;
    -webkit-transition:.2s linear;
    -moz-transition:.2s linear;
}

#username:focus, #password:focus{
	-webkit-appearance: none;
	outline: none;
    box-shadow: 0px 0px 7px #61C5FA;
    -moz-box-shadow: 0px 0px 7px #61C5FA;
    -webkit-box-shadow: 0px 0px 7px #61C5FA;
    border-color: #61C5FA;
    -moz-border-color: #61C5FA;
}

.login-text.login{
/*
	position: absolute;
	top: 0px;
	left: 0px;
	width: 400px;
*/
	text-align: center;
	margin-left: auto;
    margin-right: auto;
}

.test-user-text.login{
	margin-bottom: 10px;
	color: rgba(0,0,0,0.5)
}

input[type=submit].login{
	-webkit-appearance: none;
    padding: 10px 40px;
    border: solid #333 1px;
    border-radius: 15px;
    background-color: #ffffff;
    margin-left: 0px;
    margin-top: 10px;
    margin-bottom: 10px;
    transition:.2s linear;
    -webkit-transition:.2s linear;
    -moz-transition:.2s linear;
}

input[type=submit].login:hover{
    border: solid rgba(235, 115, 2, 0.88) 1px;
    color: rgba(235, 115, 2, 0.88);
}

input[type=submit]:focus.login{
	outline: none;
}

.form-error.login{
    margin-left: 10%;
    margin-right: 10%;
    margin-top: 5px;
    margin-bottom: 5px;
    /*padding-left: 10px;
    padding-right: 10px;*/
    text-align: center;
}

.error-message.login{
	text-align: center;
    padding-top: 5px;
    color: rgba(235, 115, 2, 0.88);
}

#username.error-validation, #password.error-validation {
	margin-bottom: 5px;
}

#username.error-validation, #password.error-validation {
	-webkit-appearance: none;
	outline: none;
    box-shadow: 0px 0px 7px #ff0000;
    -webkit-box-shadow: 0px 0px 7px #ff0000;
    -moz-box-shadow: 0px 0px 7px #ff0000;
    border-color: #ff0000;
}

#username.error-validation:focus, #password.error-validation:focus {
	/*outline: none;
    box-shadow: 0px 0px 7px #61C5FA;
    -moz-box-shadow: 0px 0px 7px #61C5FA;
    -webkit-box-shadow: 0px 0px 7px #61C5FA;
    border-color: #61C5FA;
    -moz-border-color: #61C5FA;*/
}

#username-error, #password-error {
	display: block;
	text-align: center;
	padding-top: 5px;
	color: rgba(235, 115, 2, 0.88);
	height: auto;
	width: auto;
	margin-top: 0px;
	margin-bottom: 10px;
	margin-left: 0px;
	margin-right: 0px;
	clear: none;
	float: none;
}


@media all and (max-width: 575px) {

  html, body {     
     margin:0px; /* remove default margin */
     padding:0px; /* remove default padding */
     width:100%; /* take full browser width */
     height:100%; /* take full browser height*/
  }
  h2 {
	  font-size: 22px;
  }
  .pagecontainer{
	  width: 100%;
	  text-align: center;
	  margin: 0px;
	  padding: 0px;
  }
  .header {
	  height: 136px;
	  width:100%;
  }
  .navigation {
	  height: 120px;
	  width:100%;
	  margin-right: 0px;
	  margin-left: 0px;
	  margin-top: 15px;
	  padding-top: 0px;
  }
  .nav-links {
  	  position: relative;
	  display: block;
	  width: 100%;
	  text-align: center;
	  padding-top: 10px;
	  padding-right: 0px;
	  padding-left: 0px;
  }
  .nav-link{
	  font-size: 15px;
	  margin-right: 5px;
	  margin-left: 5px;
	  padding: 5px;
  }
  .name {
  	  position: relative;
	  display: block;
	  width: 100%;
	  text-align: center;
  }
  .name-text{
	  font-size: 50px;
	  line-height: 50px;
	  padding: 10px 10px;
  }
  .hero-text{
	  position: relative;
	  font-size: 24px;
  }
  .hero-text-1{
	  top: 40px;
	  margin-left: 0px
  }
  .hero-text-2{
	  top: 50px;
	  margin-left: 0px;
  }
  .hero-text-3{
	  top: 70px;
	  margin-left: 0px;
	  color: rgba(235, 115, 2, 0.88);
	  font-size: 42px;
  }
  /*.splash-container{
  	  background: linear-gradient(
        rgba(0,0,0,0.6), 
        rgba(0,0,0,0.6)),
        url('../images/lake_tahoe_smaller_w575px_min.jpg');
	  width:100%;
  }*/
  
  .splash-container{
	  background-size: auto;
	  -webkit-background-size: auto;
	  -moz-background-size: auto;
	  -o-background-size: auto;
	  background-position: initial;
  }
  .hero-container{
	  padding: 0px 10px 0px 10px;
  }
  .container{
	  width:100%;
  }
  .maincontent{
	  width:100%;
	  padding-right: 0px;
  }
  .welcome-heading {
	  padding-left: 0px;
  }
  .main-content-text{
  }
  .content{
	  width:100%;
	  margin-bottom: 100px;
  }
  .restricted-content{
	  margin-left: 10px;
	  text-align: left;
  }
}

@media all and (max-width: 799px) {

  .splash-container{
	  background-size: auto;
	  -webkit-background-size: auto;
	  -moz-background-size: auto;
	  -o-background-size: auto;
	  background-position: initial;
  }
}

@media all and (max-height: 501px) {

	.login-window.login {
		height: 70%;
		min-height: 300px;
		max-height: 85%;
	}
	
	form.login {
		top: 40px;
	}
	
	h1.login {
		margin-top: 10px;
		margin-bottom: 5px;
		font-size: 32px;
		line-height: 36px;
	}
	
	#username-error, #password-error {
		margin-bottom: 5px;
	}
	
	.error-message.login {
		padding-top: 0px;
	}
	
	input[type=submit].login {
		margin-top: 5px;
		margin-bottom: 5px;
	}

}

@media all and (min-device-width: 481px) and (max-device-width: 767) {

}

@media all and (min-device-width: 768px) and (max-device-width: 979) {

}

