body {
	padding-top: 120px;
}

h1 {
	font-family:Khand, Tahoma, Sans-Serif;
	font-size:30px;
	border-bottom:1px solid #457B9D;
	color: #457B9D;
}

a {
	color:#457B9D;
	text-decoration:none;
}

a:hover {
	color:rgba(0,0,0,.7);
	text-decoration:none;
}

ul.intro {
	list-style: none;
}

ul.intro li::before {
	content: "\25A0";
	color: #457B9D;
	font-size:8pt;
	display: inline-block; 
	width: 1.5em;
	margin-left: -1.5em;
}

.p-icon {
	height: 2em;
	vertical-align: bottom;
	padding-right:10px;
}

.navbar-light .navbar-toggler-icon {
	background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'><path stroke='rgba(69, 123, 157, 1)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>");
}

.navbar-light .navbar-toggler {
	border-color: rgba(69, 123, 157, 0);
}

.header-font {
	font-family:Khand, Tahoma, Sans-Serif;
	font-size:36px;
	color: #457B9D !important;
	transition: 0.2s;
}
.header-font-small {
	font-size:24px !important;
}

.navbar-light .navbar-nav .active>.nav-link {
	color: #1D3557;
}

.navbar-light .navbar-nav .nav-link, .separator {
	color: #457B9D;
}

.lead {
	color: #457B9D;
	font-family:Khand, Tahoma, Sans-Serif;
}

.portrait-container {
	max-width: 200px;
	max-height: 200px;
	position: relative;
	overflow: hidden;
	border-radius: 50%;
	border: 2px solid #457B9D;
	margin:auto;
	float:none;
	aspect-ratio: 1 / 1;
}

.portrait-photo {
	display: inline;
	text-align:right;
	height: 100%;
	width: 100%;
}

.bg-tp1 {
	background-color: #457B9D;
	padding:1px 5px 1px 5px;
}

.bg-key {
	background-color: #c3ccd5;
}

.progress-step {
	border-right: 1px solid #ffffff;
}

.progress {
	margin-bottom:8px;
	height:20px;
}

.footer-icon {
	height: 32px;
	width: 32px;
}

#tp-header {
	padding-top:10px;
	background-color: #ffffff;
	border-bottom:2px solid #457B9D;
}

#tp-footer {
	background-color: #ffffff;
	border-top:2px solid #457B9D;
	padding-top:10px;
	padding-bottom:10px;
	width:100%;
	color: #c3ccd5;
}

#top-section-large {
	display:none;
}

/* Overrides for Desktop (larger than 768px wide)*/
@media screen and (min-width: 768px) {

	body {
		padding-top: 150px;
	}

	h1 {
		font-size:32px;
	}

	.header-font {
		font-size:60px;
	}

	.header-font-small {
		font-size:40px !important;
	}

	.portrait-container {
		min-width: 30%;
		min-height: 30%;
		max-width: 300px;
		max-height: 300px;
		float:right;
	}

	#top-section-large {
		display:flex;
	}

	#top-section-small {
		display:none;
	}

}