/* ===========================
		Typography
=========================== */

body {
	font-family: 'Montserrat', sans-serif;
	color:#3b3b3c;
	font-size:0.9rem;
	font-weight:400;
	margin:0px;
	padding:0px;
	width:100%;
}

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

h1 {
	font-size:2rem;
	text-shadow:5px 5px 30px #939393;
}

h2 {
	font-size:1.2rem;
	line-height:1.2;
	text-shadow:5px 5px 10px #939393;
}

h3 {
	font-size:1rem;
	text-transform: uppercase;
	color:#238dc1;
}

h4 {
	font-size:1rem;
	text-transform: uppercase;
}

p {
	font-size:1rem;
	font-weight:400;
}

a {
	font-size:0.9rem;
	color: #238dc1;
	text-decoration: none;
}

a:hover {
	color: lightgrey;
	text-decoration: none;
	transition-duration: 0.4s;
}

a.link-white {
	font-size:1rem;
	color: #fff;
	text-decoration: none;
}

a.link-white:hover {
	color: lightgray;
	text-decoration: none;
	transition-duration: 0.4s;
}

.lead {
	font-weight:700;
}

.headline {
	font-size:1.5rem;
	text-transform: uppercase;
	font-weight:700;
	line-height:1.2;
}

.text-blue {
  color: #238dc1;
}

a > .text-grey {
  color: #3b3b3c;
}

a > .text-grey:hover {
  color: #238dc1;
  transition-duration: 0.4s;
}

.featured-post-date {
  color: #fff;
  line-height: 0;
  font-size:0.9rem;

}

.featured-post-title {
  color: #fff;
  line-height: 1.3;
  font-weight:700;
}

.footer-text {
	font-size:0.9rem;
	color:#fff;
}

a.link-footer {
	font-size:0.9rem;
	color: #fff;
	text-decoration: none;
}

a.link-footer:hover {
	color: lightgray;
	text-decoration: none;
	transition-duration: 0.4s;
}


a.link-header {
	font-size:1rem;
	color: #fff;
	text-decoration: none;
}

a.link-header:hover {
	color: lightgray;
	text-decoration: none;
	transition-duration: 0.4s;
}

a.link-contact-bar-mob {
	font-size:0.9rem;
	color: #fff;
	text-decoration: none;
}

a.link-contact-bar-mob:hover {
	color: lightgray;
	text-decoration: none;
	transition-duration: 0.4s;
}

blockquote {
	font-size: 1.5rem;
	color: #238dc1;
	font-style: italic;
}

.supporters > p {
	font-size:0.9rem;
}

/* ===========================
		Desktop Navigation
=========================== */

@media (min-width:768px) {

	.site-logo {
	height:68px;
	}

	/*Top Level Nav*/
	.top-level-nav {
		background-color:#f1f2f2;
		width:100%;
		height:80px;
		display:flex;
		align-content: center;
	}

	.top-level-links {
		color:#3b3b3c;
		list-style:none;
		display:flex;
		flex-direction:row;
		justify-content: space-between;
		width:100%;
		text-transform: uppercase;
		font-weight:700;
		align-items: center;
		line-height:1.1;
		text-align:center;
		padding-top:18px;
	}

	.top-level-li {
		height:80px;
		display:flex;
		flex-direction: column;
		align-items: center;
		border-bottom:2px solid transparent;
		z-index:3;
	}

	.top-level-li:hover {
		border-bottom:2px solid #238dc1;
	}

	a.top-level-link {
		color:#3b3b3c;
	}

	.descriptor {
		font-size:0.9rem;
		font-weight:200;
		text-transform: none;
		line-height: 1;
	}

	/*Second Level Nav*/
	.second-level-nav {
		background-color:#f1f2f2;
		opacity:0.95;
		width:100%;
		height:80px;
		display:flex;
		align-content: center;
	}

	.second-level-links {
		color:#238dc1;
		font-size:0.8rem;
		list-style:none;
		display:flex;
		flex-direction:row;
		justify-content: space-between;
		width:100%;
		text-transform: none;
		font-weight:200;
		align-items: center;
		line-height:1.2;
		text-align:center;
		padding-top:16px;
	}

	.second-level-li {
		height:80px;
		display:flex;
		flex-direction: column;
		align-items: center;
		border-bottom:2px solid transparent;
		z-index:2;
	}

	.second-level-li:hover {
		border-bottom:2px solid #238dc1;
	}

	a.second-level-link {
		color:#238dc1;
	}

	/*Third Level Nav*/
	.third-level-nav {
		background-color:#f1f2f2;
		opacity:0.9;
		width:100%;
		height:80px;
		display:flex;
		align-content: center;
	}

	.third-level-links {
		color:#3b3b3c;
		font-size:0.8rem;
		list-style:none;
		display:flex;
		flex-direction:row;
		text-transform: none;
		font-weight:200;
		align-items: center;
		line-height:1.1;
		text-align:center;
		padding-top:18px;
	}

	.third-level-li {
		height:80px;
		display:flex;
		flex-direction: column;
		align-items: center;
		border-bottom:2px solid transparent;
		z-index:1;
	}

	.third-level-li:hover {
		border-bottom:2px solid #238dc1;
	}

	a.third-level-link {
		color:#8a2432;
	}

	a.link-contact-bar{
		font-size:0.9rem;
		color: #3b3b3c;
		text-decoration: none;
	}

	a.link-contact-bar:hover {
		color: lightgray;
		text-decoration: none;
		transition-duration: 0.4s;
	}
}


/* ===========================
		Mobile Navigation
=========================== */

.site-logo-mob{
	height:40px;
}

.dropdown-menu {
	width:100%;
	text-align:center;
	background-color:#f1f2f2;
	border:none;
}

.dropdown-item {
	border-bottom:0.5px solid lightgray;
	padding:10px 0px;
	font-size:0.9rem;
	text-transform: none;
}

.mob-nav-list {
	color:#3b3b3c;
	list-style:none;
	display:flex;
	flex-direction:column;
	justify-content: center;
	width:100%;
	text-transform: uppercase;
	font-weight:700;
	align-items: center;
	line-height:1.1;
	text-align:center;
	max-height: 100vh;
  	overflow-y: scroll;
  	-webkit-overflow-scrolling:touch; // mobile safari
}

.mob-nav-item {
	display:flex;
	flex-direction: column;
	border-bottom:2px solid lightgray;
	padding-top:20px;
	padding-bottom:20px;
	width:100%;
}

.mob-nav-item.show {
	padding-bottom:0px;
	border-bottom:2px solid #238dc1;
}

.dropdown-menu.show {
	padding-bottom:0px;
}

a.mob-nav-link {
	color:#3b3b3c;
}

.descriptor {
	font-size:0.9rem;
	font-weight:200;
	text-transform: none;
	line-height: 1;
}


/* ===========================
		Page Styles
=========================== */

.content-wrapper {
	min-height: 50vh;
}

.bg-gray {
	background-color:#f1f2f2;
}

.bg-blue {
	background-color:#238dc1;
}

hr {
  border-top: 1px solid #3b3b3c;
}

.hr-full {
	width:100%;
	border-color:#238dc1;
}

.hr-small {
	width:200px;
	border-color:#238dc1;
}

.vr-dark {
  height: 60px;
  border-left: 1px solid #3b3b3c;
  width:1px;
}

.vr-light {
  height: 60px;
  border-left: 1px solid #fff;
  margin:30px auto;
  width:1px;
}

.post-overlay {
	height:120px;
}

.separator-lg {
	height:4em;
}

.parallax {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.btn-grey {
	border-radius: 3px;
	border:none;
	cursor:pointer;
	background-color:#f1f2f2;
	color:#3b3b3c;
	padding:15px;
	font-size:0.92rem;

}

.btn-grey:hover {
	background-color:#bcbcbc;
	transition-duration: 0.4s;
}

.btn-white {
	border-radius: 3px;
	border:none;
	cursor:pointer;
	background-color:#fff;
	color:#3b3b3c;
	padding:15px;
	font-size:0.92rem;

}

.btn-white:hover {
	background-color:#bcbcbc;
	transition-duration: 0.4s;
}


table.table-bordered > tbody > tr > th {
    border:1px solid lightgray;
}

table.table-bordered > tbody > tr > td{
    border:1px solid lightgray;
}

td {
    border:1px solid lightgray;
    padding:5px;
}

table.table-grades > tbody > tr > th {
	width: 30%;
}


table.table-grades {
	font-size:0.9rem;
}

table.table-grades a {
	font-size:0.9rem;
}

table.table-grades td,
table.table-grades th {
	padding:5px;
}

td p {
	margin-bottom:0px;
}

.large-button {
	background-color: #238dc1;
	color: #fff;
	border:none;
	border-radius: 5px;
	padding:10px 20px;
	font-weight: 700;
	font-size:1.4rem;
	text-transform: uppercase;
}

.large-button:hover {
	background-color: #fff;
	color: #238dc1;
	transition-duration: 0.4s;
}


/* ===========================
		Images
=========================== */

.blog-image-thumb {
	height:400px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.flex-basis-30 {
	flex-basis:30%;
	flex-wrap: wrap;
}

.social-icon {
	height:30px;
	margin-right:20px;
}

.primary-sponsor {
	width:30%;
}

.secondary-sponsor {
	width:15%;
}

.download {
	background-image: url('../img/download.svg');
	height:50px;
	width:50px;
	background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}




/* ===========================
		Media Queries
=========================== */

@media (min-width:768px) {

	.two-columns {
		column-count: 2;
		column-gap: 15px;
	}

	.post-overlay {
	height:105px;
	}

	h1 {
	font-size:3rem;
	}

	h2 {
		font-size:1.6rem;
		line-height:1.2;
	}

	h3 {
		font-size:1.3rem;
		text-transform: uppercase;

	}

	h4 {
		font-size:1.1rem;
		text-transform: uppercase;

	}

	p {
		font-size:1rem;
		font-weight:400;
	}

	a {
	font-size:1rem;
	}

	a.link-white {
	font-size:1.125rem;
	}

	.separator-lg {
		height:8em;
	}


	table.table-grades {
		font-size:1rem;
	}

	table.table-grades a {
		font-size:1rem;
	}

	table.table-grades td,
	table.table-grades th {
		padding:10px;
	}

	.supporters > p {
	font-size:1rem;
	}


}

@media (min-width:1200px) {

	.parallax {

	}


}












