@import url('https://fonts.googleapis.com/css2?family=Castoro&family=Montserrat:wght@100;400;700&family=Radley:wght@100;400;600&display=swap');

* {
	font-family: Montserrat, sans-serif !important;
	font-weight: 400;
	color: darkslategray;
	--primary-blue: #03316E;
	--calltoaction-green: #7EC259;
	--forest-green: #518F1B;
	--gray-web: #83868A;
}

html {
	overflow-x: hidden;
}

body {
	display: flex;
	flex-direction: column;
	height: 100vh;
	overflow-x: hidden;
	background-color: var(--primary-blue) !important;
}

header {
	border-bottom: solid 3px var(--primary-blue);
	z-index: 0;
	display: flex;
	flex-flow: column;
	justify-content: center;
	position: relative;
	height: fit-content;
}

header::before {
	content: "";
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	position: absolute;
}

h1 {
	font-family: Radley, serif !important;
	font-weight: 600 !important;
	color: #03316E;
}

h3 {
	color: var(--primary-blue);
	font-family: Radley, serif !important;
}

li {
	color: var(--calltoaction-green);
	margin-bottom: 10px;
}

span {
	color: darkslategray;
	font-size: 1.3em;
}

a > span {
	color: white;
}

p {
	font-size: 1.3em;
}

hr {
	color: var(--primary-blue) !important;
	height: .2rem !important;
	border-radius: 10px;
	opacity: 1 !important;
}

a {
	color: var(--primary-blue) !important;
}

a:hover {
	color: var(--calltoaction-green) !important;
}

footer {
	min-height: fit-content;
	background-color: var(--primary-blue);
	z-index: 2;
	display: flex;
	flex-flow: column;
	justify-content: center;
	position: relative;
}

/* large screen */
@media (min-width: 768px) {
	/* awkward sizes that arent quite desktop and arent quite mobile like an ipad, that need more space */
	@media only screen and (max-width: 1500px) {
		.ipad-width {
			margin-left: 5% !important;
			width: 90% !important;
		}
	}

	@media only screen and (max-width: 900px) {
		.left-footer-list {
			padding-right: 3em !important;
		}

		.right-footer-list {
			padding-left: 3em !important;
		}
	}

	#newSlateNavbarBrand {
		font-size: 40px;
		color: white !important;
		align-self: center;
		vertical-align: middle;
		margin-left: 1em;
	}

	#newSlateNavbarCollapseNav {
		margin-right: 1em !important;
	}

	.magfaces-navbar {
		padding: 0 2vw;
	}

	.logo-header-image {
		width: 60%;
		height: auto;
		margin-top: 1em;
	}

	.magfaces-awesomeIcon.fa-chess, .magfaces-awesomeIcon.fa-phone-slash, .magfaces-awesomeIcon.fa-piggy-bank,
	.magfaces-awesomeIcon.fa-hand-holding-usd, .magfaces-awesomeIcon.fa-clock, .magfaces-awesomeIcon.fa-laugh-beam,
	.magfaces-awesomeIcon.fa-gifts, .magfaces-awesomeIcon.fa-graduation-cap, .magfaces-awesomeIcon.fa-lightbulb {
		font-size: 7.5vw;
		color: var(--primary-blue);
	}

	.main-section-title {
		text-align: center;
		font-size: 3em;
	}

	.header-div {
		display: flex;
		max-height: 90vh;
		flex-flow: column;
		padding: 5vw;
		z-index: 0;
	}

	.section-title-no-img {
		text-align: -webkit-center;
		padding-top: 1em;
		margin-bottom: 1em;
	}

	.full-width-button {
		width: 70%;
		min-width: fit-content;
		margin-left: 1.4em;
		z-index: 1 !important;
	}

	.third-width-button {
		width: 30%;
		margin-left: 0;
	}

	.media-row-align {
		vertical-align: middle;
		padding: 100px 30px 50px 30px;
	}

	.desktop-only {
		display: flex;
	}

	.mobile-only, .mobile-only-hr {
		display: none !important;
	}

	.footer-links-div {
		display: flex;
		justify-content: space-evenly;
	}
}

/* mid screen */
@media only screen and (max-height: 600px) {
	footer {
		height: fit-content !important;
	}

	#newSlateNavbar {
		height: 10vh;
	}
}

@media only screen and (max-width: 1300px) and (min-width: 768px) {
	.footer-links-div {
		display: flex;
		flex-direction: column;
		text-align: center;
	}
}

/* small screen */
@media only screen and (max-width: 767px) {
	header {
		border-bottom: var(--primary-blue) solid 2px;
	}

	#newSlateNavbarBrand {
		font-size: 1.75rem;
		margin-left: .5em;
	}

	#newSlateNavbarCollapseNav {
		margin-right: .5em !important;
	}

	.main-section-title {
		text-align: center;
		font-size: 2.2em;
	}

	.logo-header-image {
		margin-bottom: 5vh;
		width: 85%;
		height: auto;
		margin-top: 1em
	}

	.full-width-button {
		width: 100%;
		justify-content: center;
		z-index: 1 !important;
	}

	.mobile-row {
		vertical-align: middle;
		padding: 40px 30px 0 30px;
	}

	.navbar-toggler {
		border-color: transparent !important;
	}

	.magfaces-awesomeIcon.fa-chess, .magfaces-awesomeIcon.fa-phone-slash, .magfaces-awesomeIcon.fa-piggy-bank,
	.magfaces-awesomeIcon.fa-hand-holding-usd, .magfaces-awesomeIcon.fa-clock, .magfaces-awesomeIcon.fa-laugh-beam,
	.magfaces-awesomeIcon.fa-gifts, .magfaces-awesomeIcon.fa-graduation-cap, .magfaces-awesomeIcon.fa-lightbulb {
		font-size: 25vw;
		color: var(--primary-blue);
	}

	.header-div {
		display: flex;
		flex-flow: column;
		padding: 5vw;
		z-index: 0;
	}

	.section-title-no-img {
		margin-bottom: 2rem;
		padding: .25em;
		color: darkslategray;
		text-align: -webkit-center;
		border-radius: 20px;
		border: solid var(--gray-web) 2px;
	}

	.desktop-only {
		display: none;
	}

	.mobile-only {
		display: flex;
	}

	.mobile-only-hr {
		display: flex;
		margin-bottom: 20px;
	}

	.wrap-email {
		overflow-wrap: break-word;
	}

	.footer-mobile-spacing {
		margin-top: 1.5em !important;
		margin-bottom: 1.5em !important;
	}

	.footer-links-div {
		display: flex;
		justify-content: space-evenly;
	}
}

/* end responsive */

#newSlateNavbar {
	background-color: var(--primary-blue) !important;
	border-bottom: white solid 2px;
}

#bodyContainer {
	flex: 1 0 auto;
	background-color: white;
}

#footerContainer {
	flex-shrink: 0;
	max-width: 100vw;
	margin-right: 0;
	margin-left: 0;
}

.fas, .far, .fab {
	font-family: "Font Awesome 5 Free", serif !important;
}

.homeHeader {
	background-color: #e0e2e5;
}

.centered-self-column {
	align-self: center;
}

.magfaces-navbar-brand {
	font-family: Radley, serif !important;
	color: white !important;
}

.magfaces-navbar-brand > img {
	max-width: 1.5em;
	max-height: 1.5em;
	width: auto !important;
	height: auto;
	align-self: center;
	margin-right: .4em;
	padding-bottom: .3125rem;
}

.nav-link {
	color: white !important;
}

.magfaces-awesomeIcon.fa-chevron-down, .magfaces-awesomeIcon.fa-chevron-up {
	color: var(--primary-blue);
}

.magfaces-navbar-nav {
	justify-content: flex-end;
	width: 100%;
}

.mf-button-cta {
	color: white !important;
	background-color: var(--calltoaction-green) !important;
	border-radius: 5px;
	border: solid var(--calltoaction-green) 1px !important;
	font-size: 1.5em;
	padding: .5em;

}

.mf-button-cta:hover {
	background-color: var(--forest-green) !important;
	border-color: var(--forest-green) !important;
}

.separator-dash-span {
	color: var(--calltoaction-green);
	font-size: 4em;
	line-height: .25em;
}

.overflow-table {
	overflow-x: auto;
}

.centered-div {
	display: flex;
	justify-content: center;
}

.full-width-column {
	padding-right: 0 !important;
	padding-left: 0 !important;
}

.top-pad {
	margin-top: 3em !important;
}

.bottom-pad {
	margin-bottom: 2em !important;
}

.webkit-center {
	text-align: -webkit-center;
}

.footer-div {
	margin: 1vw 0;
	padding: 1em 1em 0 1em;
	height: fit-content;
	align-items: center;
	align-self: center;
	width: fit-content;
	border: solid 3px white;
	border-radius: 10px;
}

.footer-link {
	text-decoration: none;
	color: white !important;
	margin-top: 1vw;
}

.footer-div > p, .footer-div > p > a {
	margin-bottom: .3em;
	color: white !important;
	text-decoration: none;
}

.end-page-hr {
	margin-top: 5vh;
	margin-bottom: 10vh;
}
