body {
  font-family: 'Lato';
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 700;
  font-family: 'Montserrat';
}

hr.hr-light,
hr.hr-dark {
  max-width: 30rem;
  padding: 0;
  text-align: center;
  border: none;
  border-top: solid 0.25rem;
  margin-top: 2.5rem;
  margin-bottom: 2.5rem;
  margin-left: auto;
  margin-right: auto;
}

hr.hr-light {
  border-color: #fff;
}

hr.hr-light:after {
  color: #fff;
  background-color: #2471A3;
}

hr.hr-dark {
  border-color: #2C3E50;
}

hr.hr-dark:after {
  color: #2C3E50;
  background-color: white;
}

section {
  padding: 6rem 0;
}

section h2 {
  font-size: 2.25rem;
  line-height: 2rem;
}

@media (min-width: 992px) {
  section h2 {
    font-size: 3rem;
    line-height: 2.5rem;
  }
}

.btn-xl {
  padding: 1rem 1.75rem;
  font-size: 1.25rem;
}

.btn-social {
  width: 3.25rem;
  height: 3.25rem;
  font-size: 1.25rem;
  line-height: 2rem;
}

.scroll-to-top {
  z-index: 1042;
  right: 1rem;
  bottom: 1rem;
  display: none;
}

.scroll-to-top a {
  width: 3.5rem;
  height: 3.5rem;
  background-color: rgba(33, 37, 41, 0.5);
  line-height: 3.1rem;
}

#mainNav {
  padding-top: 1rem;
  padding-bottom: 1rem;
  font-weight: 700;
  font-family: 'Montserrat';
}

#mainNav .navbar-brand {
  color: #fff;
}

#mainNav .navbar-nav {
  margin-top: 1rem;
  letter-spacing: 0.0625rem;
}

#mainNav .navbar-nav li.nav-item a.nav-link {
  color: #fff;
}

#mainNav .navbar-nav li.nav-item a.nav-link:hover {
  color: #2471A3;
}

#mainNav .navbar-nav li.nav-item a.nav-link:active, #mainNav .navbar-nav li.nav-item a.nav-link:focus {
  color: #fff;
}

#mainNav .navbar-nav li.nav-item a.nav-link.active {
  color: #2471A3;
}

#mainNav .navbar-toggler {
  font-size: 80%;
  padding: 0.8rem;
}

@media (min-width: 992px) {
  #mainNav {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
    -webkit-transition: padding-top 0.3s, padding-bottom 0.3s;
    -moz-transition: padding-top 0.3s, padding-bottom 0.3s;
    transition: padding-top 0.3s, padding-bottom 0.3s;
  }
  #mainNav .navbar-brand {
    font-size: 2em;
    -webkit-transition: font-size 0.3s;
    -moz-transition: font-size 0.3s;
    transition: font-size 0.3s;
  }
  #mainNav .navbar-nav {
    margin-top: 0;
  }
  #mainNav .navbar-nav > li.nav-item > a.nav-link.active {
    color: #fff;
    background: #2471A3;
  }
  #mainNav .navbar-nav > li.nav-item > a.nav-link.active:active, #mainNav .navbar-nav > li.nav-item > a.nav-link.active:focus, #mainNav .navbar-nav > li.nav-item > a.nav-link.active:hover {
    color: #fff;
    background: #2471A3;
  }
  #mainNav.navbar-shrink {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
  }
  #mainNav.navbar-shrink .navbar-brand {
    font-size: 1.5em;
  }
}

header.masthead {
  padding-top: 6rem;
  padding-bottom: 6rem;
  background-image: url("../img/HeaderBG.png");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

header.masthead h1 {
  font-size: 3rem;
  line-height: 3rem;
}

header.masthead h2 {
  font-size: 1.3rem;
  font-family: 'Lato';
}

@media (min-width: 992px) {
  header.masthead {
    padding-top: calc(6rem + 36px);
    padding-bottom: 6rem;
  }
  header.masthead h1 {
    font-size: 4.75em;
    line-height: 4rem;
  }
  header.masthead h2 {
    font-size: 1.75em;
  }
}

.bio {
  margin-bottom: -15px;
}


@media (min-width: 576px) {
  .bio {
    margin-bottom: -30px;
  }
}

.floating-label-form-group {
  position: relative;
  border-bottom: 1px solid #aaaaaa;
}

.floating-label-form-group input,
.floating-label-form-group textarea {
  font-size: 1.5em;
  position: relative;
  z-index: 1;
  padding-right: 0;
  padding-left: 0;
  resize: none;
  border: none;
  border-radius: 0;
  background: #eeeeee;
  box-shadow: none !important;
}

.floating-label-form-group label {
  font-size: 0.85em;
  line-height: 1.764705882em;
  position: relative;
  z-index: 0;
  top: 2em;
  display: block;
  margin: 0px;
  -webkit-transition: top 0.3s ease, opacity 0.3s ease;
  -moz-transition: top 0.3s ease, opacity 0.3s ease;
  -ms-transition: top 0.3s ease, opacity 0.3s ease;
  transition: top 0.3s ease, opacity 0.3s ease;
  vertical-align: middle;
  vertical-align: baseline;
  opacity: 0;
}

.floating-label-form-group:not(:first-child) {
  padding-left: 14px;
  border-left: 1px solid #aaaaaa;
}

.floating-label-form-group-with-value label {
  top: 0;
  opacity: 1;
}

.floating-label-form-group-with-focus label {
  color: #2471A3;
  background-color: #eeeeee !important;
}

.floating-label-form-group-with-focus input,
.floating-label-form-group-with-focus textarea{
	background-color: #eeeeee !important;	
}

form .row:first-child .floating-label-form-group {
  border-top: 1px solid #aaaaaa;
}

.footer {
  padding-top: 5rem;
  padding-bottom: 5rem;
  background-color: #2C3E50;
  color: #fff;
}

.copyright {
  background-color: #1a252f;
}

a {
  color: #2471A3;
}

a:focus, a:hover, a:active {
  color: #1F618D;
}

.btn {
  border-width: 2px;
}

.bg-primary {
  background-color: #2471A3 !important;
}

.bg-medium {
  background-color: #EEEEEE !important;
}

.bg-secondary {
  background-color: #2C3E50 !important;
}

.text-primary {
  color: #2471A3 !important;
}

.text-secondary {
  color: #2C3E50 !important;
}

.btn-primary {
  background-color: #2471A3;
  border-color: #2471A3;
}

.btn-primary:hover, .btn-primary:focus, .btn-primary:active {
  background-color: #1F618D;
  border-color: #1F618D;
}

.btn-secondary {
  background-color: #2C3E50;
  border-color: #2C3E50;
}

.btn-secondary:hover, .btn-secondary:focus, .btn-secondary:active {
  background-color: #1a252f;
  border-color: #1a252f;
}

.img-header{
	border:5px solid #1F618D;    
    border-radius:50%;
    -moz-border-radius:50%;
    -webkit-border-radius:50%;
    width:100px;	
}

/* Extra small devices (phones, 600px and down) */
@media only screen and (max-width: 600px) {
	.img-header{
		width: 70%;
	}
} 

/* Small devices (portrait tablets and large phones, 600px and up) */
@media only screen and (min-width: 600px) {
	.img-header{
		width: 60%;
	}
} 

/* Large devices (laptops/desktops, 992px and up) */
@media only screen and (min-width: 992px) {
	.img-header{
		width: 40%;
	}
} 

.bg-primary hr{
	color: white;
	height: 5px;
}

.connection {
	color: #444444;
	font-size: 48pt;
}

.connection:hover {
	color: #777777;
}

@media (min-width: 768px) {
	.connection {
		font-size: 72pt;
	}
}

@media (min-width: 992px) {
	.connection {
		font-size: 72pt;
		padding-top: 15px;
		padding-bottom: 15px;
		border-left: 2px solid #444444;
	}
}

i.like-icon{
	color: #2471A3;
	font-size: 20pt;
}

span.like-title{
	font-weight: 900;
}

span.like-text{
	display: block;
	margin-top: -26px;
	margin-left: 40px;
}

#bio a.resume-btn{
	color: white;
	height: 45px;	
}

.timeline {
  position: relative;
  max-width: 1200px;
  margin: 0 auto;
}

.timeline::after {
  content: '';
  position: absolute;
  width: 6px;
  background-color: #AAAAAA;
  top: 0;
  bottom: 0;
  left: 10px;
  margin-left: -3px;
}

.timeline::before {
  content: " ";
  height: 0;
  position: absolute;
  top: -7px;
  width: 0;
  z-index: 1;
  left: 0px;
  border: medium solid #AAAAAA;
  border-width: 0 10px 25px 10px;
  border-color:  transparent transparent #AAAAAA transparent;
}

.timeline-container {
  padding: 5px 0px 55px 45px;
  position: relative;
  background-color: inherit;
  width: 100%;
  height: auto;
}

.timeline-container::after {
  content: '';
  position: absolute;
  width: 25px;
  height: 25px;
  right: -17px;
  background-color: #EEEEEE;
  border: 4px solid #AAAAAA;
  top: 30%;
  border-radius: 50%;
  z-index: 1;
}

.timeline-container::before {
  content: " ";
  height: 0;
  position: absolute;
  top: 32%;
  width: 0;
  z-index: 1;
  left: 25px;
  border: medium solid #DDDDDD;
  border-width: 10px 10px 10px 0;
  border-color: transparent #DDDDDD transparent transparent;
}

.timeline-container::after {
  left: -2.5px;
}

.timeline-content {
  border-left: 6px solid #DDDDDD;
  position: relative;
  height: auto;
  margin-left:-10px;
}

.timeline-link {
	display: block;
	width: 100%;
	height: 100%;
}

.timeline-img-container {
	margin-left:-10px;
}
.timeline-img{
	width: 100%;
}
div.timeline-details div {
    display: table;
	height: 100%;
	width: 150%;
	margin-left: -20px;
}
div.timeline-details div a{
	display: table-cell;
	vertical-align: middle;
	text-align: center;
	color: black;
	text-decoration: none;
}
@media (min-width: 768px) {
	.timeline::after {
	  height: 6px;
	  width: 100%;
	}
	
	.timeline::before {
	  left: 100%;
	  border-width: 10px 0 10px 25px;
	  border-color:  transparent transparent transparent #AAAAAA;
	}

	.timeline-container::after {
		top: -35px;
		left: 50%;
	}
	
	.timeline-container {
		margin-top: 25px;
		padding: 0px 35px;	
	}
	
	.timeline-content {
  		border-left: none;
		border-top: 6px solid #DDDDDD;
		margin-left: 0px;
		padding-top: 10px;
	}
	
	.timeline-container::before {
		border-width: 0 10px 10px 10px;
  		border-color: transparent transparent #DDDDDD transparent;
		top: -10px;
		left: 51%
	}
	
	.timeline-img-container {
		margin-left: 0px;
	}
	
	div.timeline-details div {
		width: 100%;
		margin-left: 0px;
	}
}

@media (min-width: 992px) {
	.timeline-img-container {
		margin-left: -10px;
	}
	
	div.timeline-details div {
		width: 150%;
		margin-left: -20px;
	}
}


.project-img {
	width: 50%;	
	margin-left: 25%;
}

.project-collapse {
	color: black;
	background-color: white;
	border-radius: 5px;
	padding: 15px 10px 0px 10px;	
	margin-top: 10px;
	margin-bottom: 20px;
}


.project-collapse::before {
	content: " ";
	height: 0;
	position: absolute;
	top: -14px;
	width: 0;
	z-index: 1;
	left: calc(50% - 30px);
	border: medium solid white;
	border-width: 0 30px 15px 30px;
	border-color: transparent transparent white transparent;
}

@media (min-width: 768px) {
	.project-img {
		width: 80%;	
		margin-left: 10%;
	}
	.arrow-l::before {
		left: calc(16.5% - 30px);
	}
	.arrow-r::before {
		left: calc(83.5% - 30px);
	}
}

.collapsed {
	display: none;	
}

.btn-project {
	margin: 10px 10px;
	color: white !important;
	width: calc(100% - 20px);
}

.btn-project:hover {
	background-color: white;
	color: #2471A3 !important;
}