@charset "utf-8";

html, body {
	position:relative;
	height:100%;
	font-family: 'Open Sans', sans-serif;
	text-rendering: optimizeLegibility;
}
a.btn-info {
	color:#fff;
}
a.btn-default {
	color:#666;
}
.back-to-top {
	position:fixed;
	bottom:50px;
	right:2.5%;
	z-index:1100;
	height:40px;
	cursor:pointer;
	-webkit-filter: drop-shadow(0px 1px 1px rgba(0,0,0,1));
	display:none;
}
.back-to-top:hover {
	margin-bottom:6px;
	-webkit-transition: .2s; /* Safari */
    transition: .2s;
}

/* ------------------------------
H1,2,3,p, form elements
------------------------------ */
h1,h2,h3 {
	margin:.5em 0em;
	padding:0px;
	letter-spacing:-.035em;
	-webkit-font-smoothing: antialiased;
}
h1 {
	font-family: 'HelveticaNeueLTStd-ThEx', 'Open Sans', sans-serif;
	font-size:48px;
	color:#253257;
	font-weight:normal;
	margin:.5em 0em;
	display:inline-block;
}
h2 {
	font-size:30px;
	color:#d8c358;
	margin:.5em 0em;
	line-height:1.3em;
}
p {
	font-size: 22px;
	color: #747272;
	letter-spacing: -.035em;
	line-height: 1.4em;
}

/* ------------------------------
HEADER
------------------------------ */
header {
	display:inline-block;
	position:fixed;
	top:0;left:0;
	z-index:1000;
	max-width:400px;
}
header > div {
	background-color:#000;
	background-color:rgba(0,0,0,.5);
	display:inline-block;
	vertical-align:top;
	padding:30px 30px;
	-webkit-transition: .3s;
    transition: .3s;
    min-width: 250px;
}
header h1 {
	color:#fff;
	font-size:48px;
	margin:0;
	padding:0;
	line-height:1em;
}
header p {
	font-size:16px;
	color:#ffe27e;
	padding:0;
	margin:0;
	line-height:1.2em;
}
header ul {
	margin:0;padding:0;
	font-size:0;
	background-color:#000;
	background-color:rgba(0,0,0,.65);
}
header ul li {
	margin:0;padding:0;
	list-style-type:none;
	border-top:solid 1px rgba(255,255,255,.09);
	border-bottom:solid 1px rgba(0,0,0,.2);
}
header ul li:first-child {
	border-top:none;
}
header ul li:last-child {
	border-bottom:none;
}
header ul li a:link, header ul li a:visited {
	font-size:14px;
	color:#fff;
	display:inline-block;
	padding:10px 30px;
	width:100%;
	text-decoration:none;
	-webkit-transition: .3s;
    transition: .3s;
}
header ul li a:hover {
	text-decoration:none;
	background-color:#ffe27e;
	color:#333;
	padding-left:35px;
}

header.mobile > div {
	padding:10px 20px;padding-top:15px;
	min-width:225px;
}
header.mobile h1 {
	font-size:24px;
	-webkit-font-smoothing: subpixel-antialiased;
	cursor:pointer;
}
header.mobile p {
	display:none;
}
header.mobile ul {
	display:none;
}
header.mobile ul li a:link, header.mobile ul li a:visited {
	padding:10px 20px;
	font-size:16px;
	background-color:#ffe27e;
	color:#333;
}
header.mobile ul li {
	border:none;border-bottom:solid 1px #333;
}
header.mobile .mobile-menu {
	display:block;
}

/* ------------------------------
MOBILE MENU
------------------------------ */
.mobile-menu {
	display:none;
	position:absolute;
	top:0;right:-50px;
	width:50px;height:49px;
	background:url(../images/menu-icon.png) no-repeat center;
	background-size:55%;
	background-color:rgba(0,0,0,.65);
	font-size:0px;
	-webkit-transition: .3s;
    transition: .3s;
}
.mobile-menu:hover, .mobile-menu.close-state:hover {
	background-color:#000;
}
.mobile-menu.close-state {
	background:url(../images/close-icon.png) no-repeat center;
	background-size:45%;
	background-color:rgba(0,0,0,.65);
}

/* ------------------------------
PROGRESS ARROW
------------------------------ */
a.progression-arrow {
	font-size:18px;
	color:#fff;
	display:inline-block;
	position:relative;
	left:50%;
	margin-left:-102px;
	background:url(../images/arrow-icon.png) no-repeat bottom center;
	background-size:60px;
	width:204px;
	height:95px;
	text-align:center;
	text-transform:uppercase;
	text-shadow:1px 1px 2px rgba(0,0,0,.75);
	-webkit-transition: .3s;
    transition: .3s;
	text-decoration:none;
	white-space:nowrap;
}

a.progression-arrow:hover {
	height:90px;
	text-decoration:none;
	bottom:2%;
}

a.progression-arrow:not(.first-arrow) {
	margin-top: 30px;
}

/* ------------------------------
SECTIONS
------------------------------ */
div.cover-spacer {
	height: 500px;
}

div.end-spacer {
	height: 200px;
}

section {
	width:96%;
	max-width:1000px;
	background-color:#fff;
	background-color:rgba(255,255,255,.85);
	position:relative;
	top:auto;left:auto;
	padding:1% 30px;
	margin:auto;margin-top:15%;
}
section h2 {
	font-size:34px;
	width:100%;
	font-weight:normal;
	color:#fff;
	display:inline-block;
	background-color:rgba(0,0,0,.6);
	padding:10px 30px;
	position:absolute;
	top:-82px;
	left:0px;
}
section h3 {
	font-size:24px;
	line-height:1.3em;
	font-weight:normal;
	color:#1e425f;
	letter-spacing:-.05em;
}
section p {
	font-size:18px;
	color:#777676;
	letter-spacing:-.02em;
}

section ul img {
	float:left;
	width:80px;
	margin-right:25px;
	margin-top:5px;
}
section p.insight, section div.insight {
	padding-left:105px;
}
section div.insight.long p {
	font-size: 15px;
}
section ul, section ul li {
	width:100%;
	z-index:auto;
}
section.insight-section {
	min-height: 200px;
}
section.experience {
	padding:0;
	position:relative;
	margin:auto;margin-top:15%;
	top:auto;left:auto;
}

.panel {
	margin:0px;
	background-color:transparent;
	border:none;
	border-radius:0px;
	box-shadow:none;
}
.company-accordion .company-name:before,
.job .job-toggle:before {
    font-family: 'Glyphicons Halflings';
    content: "\e114";
    color: grey;
    position: absolute;
}

.company-accordion .company-name.collapsed:before,
.job .job-toggle.collapsed:before {
    content: "\e080";
}

.company-accordion .company-name:before {
	left: -16px;
}

.job .job-toggle:before {
    left: 28px;
}

.company {
	padding:25px 30px;
	border-bottom:solid 1px #ccc;
	background-color:#fff;
	-webkit-transition: .3s;
    transition: .3s;
}
.company > img {
	width:auto;
	max-width:150px;
	max-height:55px;
	margin-right:40px;
}
.company h3 {
	margin:0;
	padding:0;
	display:inline-block;
}
.company h4 {
	margin:0;padding:0;
	color:#666;
	font-size:14px;
}
.company.description {
	padding-left: 35px;
}
.company-name:focus:not(:hover) {
    text-decoration: none;
}
.description {
	padding:30px;padding-top:25px;
	margin:0px;
	font-size:16px;
	letter-spacing: -.02em;
	color:#444;
}
.description p {
	font-size:16px;
	color:#444;
	margin:0px;padding-bottom:10px;
}
.description a {
	color:#1e425f;
}
.description .company-url {
	font-weight: bold;
	text-decoration: underline;
	vertical-align: middle;
    line-height: 46px;
}
.description ul {
	margin-top:20px;margin-bottom:10px;
}
.description ul li {
	font-size:14px;
	color:#444;
	margin:10px 0;
	list-style-type:square;
	letter-spacing:normal;
}

.description .ellipsis {
	white-space: nowrap;
	text-overflow: ellipsis;
	overflow: hidden;
}
.job.description {
	padding-left: 50px;
    padding-top: 0px;
    padding-bottom: 25px;
}
.job.description:first-of-type {
    padding-top: 25px;
}

/* Make sure html content wraps */
div.html-content {
	word-wrap: break-word;
}

/* Bold heading on the job titles */
.experience .job .title {
	font-weight: bold;
	display: inline-block;
}

.experience .job .duration {
    margin: 0;
    padding: 0;
    color: #666;
    font-size: 14px;
    display: inline-block;
}


/* ------------------------------
BACKGROUND
------------------------------ */
.background {
	width:100%;
	height:100%;
	position:fixed;
	top:0px;
	left:0px;
	z-index:-2;
	background-position:center;
	background-repeat:no-repeat;
	background-size:cover;
	background-color: gray;
}
.background > div.grid {
	width:100%;
	height:100%;
	position:absolute;
	z-index:1;
	top:0px;
	left:0px;
	background:url(../images/grid-bg.png) repeat center;
}


/* ------------------------------
CORE
------------------------------ */
div.core {
	max-width:1000px;
	margin:auto;margin-top:15%;
	position:relative;
}
section.section-pad {
	padding:3%;
}


/* ------------------------------
CYCLE PAGER
------------------------------ */
.cycle-pager {
	font-size:0px;
	margin-top: 20px;
	margin-bottom:25px;
	text-align:center;
	clear:both;
}
.cycle-pager span {
	width:18px;height:18px;
	margin:3px;
	display:inline-block;
	border-radius:20px;
	background-color:rgba(0,0,0,.35);
	cursor:pointer;
	-webkit-transition: .2s; /* For Safari 3.1 to 6.0 */
	transition: .2s;
}
.cycle-pager span:hover {
	background-color:#1e425f;
}
.cycle-pager span.cycle-pager-active {
	background-color:#1e425f;
}

/* ------------------------------
FORM
------------------------------ */
div.form {
	display:inline-block;
	margin:2% auto;
	text-align:left;
	width:100%;
	max-width:500px;
}
div.form label {
	width:75px;
	color:#666;
	text-transform:uppercase;
	text-align:left;
	margin-right:15px;
}
div.form input[type=text], div.form input[type=email], div.form textarea {
	padding:10px 20px;
	font-size:16px;
	color:#757677;
	width:100%;
	max-width:400px;
	margin-bottom:15px;
	border:solid 1px #ccc;
}
div.form input[type=submit] {
	margin:10px 0px;
}
div.form .alert {
    margin-top: 15px;
}
div.form .alert.alert-success {
    border-color: darkgreen;
}
div.form .error {
    margin-top: -15px;
    margin-bottom: 15px;
    color: red;
}
input#name {
	background:url(../images/icon-name.png) no-repeat 7px center;
	background-color:#fff;
	padding-left:40px;
}
input#email {
	background:url(../images/icon-email.png) no-repeat 7px center;
	background-color:#fff;
	padding-left:40px;
}

/* ------------------------------
MOBILE
------------------------------ */
@media screen and (min-width: 801px) {
	#nav {
		
	}
}
@media screen and (max-width: 800px) {
	h1 {
		font-size:35px;
	}
	h2 {
		font-size:20px;
	}
	
	section {
		padding:1.5% 15px;
	}
	section h2 {
		font-size:24px;
		padding:7px 15px;
		top:-57px;
	}
	section h3 {
		font-size:20px;
	}
	section p {
		font-size:15px;
	}
	section img {
		display:none;
	}
	section p.insight, section div.insight {
		padding-left:0px;
	}
	header > div {
		padding:10px 20px;padding-top:15px;
		min-width:225px;
	}
	header h1 {
		font-size:24px;
		-webkit-font-smoothing: subpixel-antialiased;
	}
	header p {
		display:none;
	}
	header ul {
		display:none;
	}
	header ul li a:link, header ul li a:visited {
		padding:10px 20px;
		font-size:16px;
		background-color:#ffe27e;
		color:#333;
	}
	.mobile-menu {
		display:block;
	}
	a.progression-arrow {
		height:60px;
		background-size:30px;
	}
	a.progression-arrow:hover {
		height:55px;
	}
	.company > img {
		float:none;
		display:block;
	}
}

.btn-circle.btn-xl {
	width: 70px;
	height: 70px;
	padding: 10px 16px;
	border-radius: 35px;
	font-size: 24px;
	line-height: 1.33;
}

.btn-circle {
	width: 30px;
	height: 30px;
	padding: 6px 0px;
	border-radius: 15px;
	text-align: center;
	font-size: 12px;
	line-height: 1.42857;
}

/********************************************
 * Angular / Misc
 ********************************************/

/* Prevents the page from rendering with angular placeholders before angular loads */
[ng\:cloak], [ng-cloak], [data-ng-cloak], [x-ng-cloak], .ng-cloak, .x-ng-cloak {
  display: none !important;
}

.help-content p {
	font-family: "Source Sans Pro", sans-serif;
	font-size: 14px;
	color: #656565;
	line-height: 1.52857143;
	letter-spacing: normal;
}

.insights-content .input-group .form-control {
	z-index: auto;
}