@import url('https://fonts.googleapis.com/css?family=Roboto:300,400,400i,500,700');

html, body, .btn, .btn.m-btn--custom, div, span, p, input, textarea {
	font-family: 'Roboto', Arial, Helvetica, sans-serif;
	font-size: 14px;
	font-weight: 400;
}

.bg-orange {background-color: #ff6600 !important; color: #fff !important;}
.bg-blue {background-color: #003399 !important; color: #fff !important;}
.bg-info {color: #fff !important;}

.btn-outline-primary {
	color: #003399 !important;
	border-color: #003399;
	text-transform: uppercase;
}
.btn-primary, .btn-outline-primary:hover {
	background-color: #003399;
	border-color: #003399;
	text-transform: uppercase;
}
.btn-lg {
	font-size: 16px;
	font-weight: 500;
}
.btn-outline-orange {
	color: #ff6600;
	border-color: #ff6600;
	text-transform: uppercase;
}
.btn-orange, .btn-outline-orange:hover {
	color: #fff;
	background-color: #ff6600; 
	border-color: #ff6600;
	text-transform: uppercase;
}
.btn-orange:hover {
	color: #fff; 
	background-color: #ff9933; 
	border-color: #ff9933; 
}
.footer-right a i.fab {
	font-size: 24px;
	margin-top: -5px;
	vertical-align: middle;
	color: #003399;
}
.navbar-collapse .navbar-nav {
	margin-right: 10px;
}
.nav-link {
	text-align: center;
	padding: 10px 0;
	text-transform: uppercase;
}

.view-more {
	text-align: right;
}

.blockquote-pledge p, .blockquote-pledge p span {
	font-size: inherit;
}
.blockquote-footer {
	font-weight: 300;
}

.progress-bar {
	padding: 15px;
	font-size: 16px;
	font-weight: 500;
}
.progress-bar.bg-info {
	text-shadow: 0 .05rem .1rem rgba(0, 0, 0, .5);
}

/* CUSTOMIZE THE CAROUSEL
-------------------------------------------------- */

/* Carousel base class */
.carousel {
  margin-bottom: 0;
  background: radial-gradient(farthest-corner at 75% 50%, #cccccc, #777777); color: #333;
}
/* Since positioning the image, we need to help out the caption */
.carousel-caption {
  bottom: 2rem;
  z-index: 10;
}

/* Declare heights because of positioning of img element */
.carousel-item {
  height: 32rem;
  background-color: #777;
}
.carousel-item img.img-slide {
  position: absolute;
  top: 0;
  left: -15px;
  min-width: 1110px;
  height: 32rem;
  text-align: center;
  margin: 0 auto;
}
.event-description {
	background: #777; color: #fff;
	box-shadow: 0 30px 60px #555 inset;
}
.event-description p.lead {
	font-size: 1.1rem;
}

/* RUNNER & PLEDGE TABLE
-------------------------------------------------- */
.table-title p.lead span {
	font-size: inherit;
	font-weight: normal;
}
.table-home thead.thead-light tr th {
	color: #333 !important;
	border-bottom: 2px solid #ddd !important;
}
.table-home tbody td {
	font-weight: normal;
}
.table-home thead tr th:first-child, .table-home tbody tr td:first-child {
	text-align: center;
}
.table-home thead th, .table-home thead td {
	padding: 10px !important;
}
.table-home thead.bg-orange tr th {
	background-color: #ff6600 !important; color: #fff !important;
	border-bottom: 2px solid #ff3300 !important;
}
.table-home thead.bg-blue tr th {
	background-color: #003399 !important; color: #fff !important;
	border-bottom: 2px solid #000066 !important;
}
/* Fix responsive datatable looks */
.dataTables_wrapper table.dataTable.table-home.dtr-inline.collapsed > tbody > tr[role="row"] > td:first-child::before {
	margin-top: -6px;
}
.dataTables_wrapper table.dataTable.table-home ul.dtr-details {
	text-align: left;
}
.dataTables_wrapper table.dataTable.table-home.stripe tbody tr.odd + tr.child td.child, table.dataTable.display tbody tr.odd + tr.child {
	background-color: #f9f9f9 !important;
}
.dataTables_wrapper table.dataTable.table-home.stripe tbody tr.odd:hover, table.dataTable.display tbody tr.odd:hover {
	background-color: #f9f9f9 !important;
}
.dataTables_wrapper table.dataTable.table-home.stripe tbody tr:hover, table.dataTable.display tbody tr:hover {
	background-color: inherit !important;
}


/* LOGIN PAGE
-------------------------------------------------- */
.m-login__logo img {
	width: 130px;
	height: auto;
}
.m-login.m-login--1 .m-login__content .m-grid__item {
	margin: 0 30px;
}
#m_login_signup_submit {
	margin-bottom: 5px;
}
.m-login__wrapper .btn-focus {
	background-color: #003399 !important;
	border-color: #003399 !important;
}
.m-login__wrapper .btn-outline-focus {
	color: #003399 !important;
	border-color: #003399 !important;
}
.m-login__wrapper .btn-outline-focus:hover {
	background-color: #003399 !important;
}
.m-login__account a.m-link.m-link--focus {
	color: #003399 !important;
}

/* RESPONSIVE STYLES
-------------------------------------------------- */
@media (min-width: 768px) {
	.table-title h1.display-4 {
		float: left !important;
		margin-bottom: 10px;
		margin-left: -10px;
	}
	.table-title p.lead {
		float: right;
		margin-top: 30px;
		margin-right: -10px;
	}
}
@media (max-width: 1280px) {
	.event-description p.lead {
		font-size: 1rem;
	}
}
@media (max-width: 1199px) {
	.carousel-item img.img-slide {
		left: -570px !important;
		margin-left: 50%;
	}
}
@media (max-width: 991px) {
	.m-page {
		margin-top: 52.75px !important;
	}
	.navbar-collapse {
		box-shadow: 0 0.125rem 0.25rem rgba(0,0,0,0.075);
	}
	.navbar-collapse .navbar-nav {
		margin-left: -15px !important; 
		margin-right: -15px !important;
	}
	.navbar-collapse .nav-link {
		border-top: 1px solid #efefef;
	}
	.navbar-collapse .btn {
		margin-bottom: 10px;
	}
	.m-login__msg {
		padding-bottom: 15px;
	}
	.m-grid.m-grid--hor:not(.m-grid--desktop):not(.m-grid--desktop-and-tablet):not(.m-grid--tablet):not(.m-grid--tablet-and-mobile):not(.m-grid--mobile) {
		display: block;
		min-height: 150px;
		text-align: center;
	}
	.m-grid.m-grid--hor:not(.m-grid--desktop):not(.m-grid--desktop-and-tablet):not(.m-grid--tablet):not(.m-grid--tablet-and-mobile):not(.m-grid--mobile) > .m-grid__item > h3 {
		padding: 30px 0;
	}
}
@media (max-width: 767px) {
	.m-login.m-login--1 .m-login__wrapper {
		padding: 35% 0 2rem 0;
	}
	.carousel .container {
		padding: 0;
	}
	.carousel-caption {
		bottom: 1.5rem;
	}
	.carousel-caption h1 {
		font-size: 2rem;
		margin-bottom: 1rem;
	}
	h1.display-4 {
		font-size: 2rem;
	}
	.table-title p.lead {
		font-size: 1.2rem;
	}
	.card-deck.card-contribute .card {
		width: 100%;
		display: block;
		flex: none;
		margin-bottom: 30px !important;
	}
	.card-deck.card-contribute .card-header {
		background: #999 !important;
	}
	.progress-bar.bg-info {
		text-shadow: 0 .05rem .1rem rgba(255, 255, 255, .5) !important;
		color: #000 !important;
	}
}
@media (max-width: 575px) {
	.carousel-caption {
		bottom: 1rem;
	}
	.carousel-caption .btn {
		font-size: 1rem;
		padding: 10px;
	}
	h1.display-4 {
		font-weight: 500;
	}
}

.m-page {
	margin-top: 83px;
}

/************
** LOADING **
************/

#loading {
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    position: fixed;
    display: block;
    opacity: 0.7;
    background-color: #fff;
    z-index: 99;
    text-align: center;
 }
 
 #loading-image {
    margin: auto;
    position: absolute;
    top: 0; left: 0; bottom: 0; right: 0;
   z-index: 100;
 }
