/**
 * Base
 */

*::before,
*::after{
	box-sizing: border-box;
}

* > * {
	box-sizing: inherit;
}

body {
	min-height: 100vh;
	display: flex;
	flex-direction: column;
	font-family: "Chaparral Pro", "Times New Roman", "Times", serif;
	font-size: .875rem;
	font-weight: normal;
	line-height: 1.40625;  /* 22.5 / 16 */
	color: #000014;
}

@media only screen and (min-width: 27em) {
	body {
		font-size: 1.5625rem;
		line-height: 1.4;
	}
}

p,
ul{
	margin-top: 0;
font-size: 1rem;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	margin: 0 0 1em;
	padding: 0;
	font-family: "Proxima Nova", "Avenir", "Avenir Next", Helvetica, Arial, sans-serif;
}

h1 {
	color: hsl(205, 10%, 49%);
	font-size: 1.125em;
	font-weight: normal;
}

h2 {
	color: hsl(120, 46%, 28%);
	font-size: 1em;
	font-weight: bold;
}

h3 {
	font-size: 1.0em;
	font-weight: bold;
}

a,
.reset-text > a{
	color: hsl(120, 46%, 28%);
	font-weight: normal;
	text-decoration: underline;
	text-decoration-skip: ink;
}

a:visited,
.reset-text > a:visited{
	color: hsl(337, 80%, 23%);
}

a:hover,
.reset-text > a:hover{
	color: hsl(206, 100%, 19%);
}

a:focus,
.reset-text > a:focus{
	outline: 1px dotted hsl(240, 100%, 4%);
}

a:active,
.reset-text > a:active{
	color: hsl(268, 43%, 24%);
}

fieldset {
	padding: 0;
}

input,
.input-text{
	font-size: inherit;
	line-height: inherit;
	max-width: 50ch;
}

.text-left{
font-size: 1rem;
margin: 0 0 1em;
	padding: 0;
	font-family: "Proxima Nova", "Avenir", "Avenir Next", Helvetica, Arial, sans-serif;
}

/**
 * Layout
 */

header {
	background-color: hsl(120, 46%, 28%);
	display: none;
}
	
nav {
	margin-bottom: 1em;
	padding: 1em 0;
	display: flex;
	position: static;
	justify-content: center;
	background-color: hsl(120, 46%, 28%);
}

.main {
	margin: 0 auto 1em;
	width: 50ch;
	max-width: calc(100% - 2ch);
	padding: 1em 1ch;
	display: flex;
	flex-direction: column;
	flex-grow: 1;
	justify-content: center;
}

@media only screen and (min-width: 27em) {
	.main {
		padding-left: 2ch;
		padding-right: 2ch;
	}
}

footer {
	padding: 1em 0;
	background-color: hsl(240, 100%, 4%);
}

.footer-inner{
	margin: 0 auto;
	padding: 0;
	width: 50ch;
	max-width: calc(100% - 2ch);
	font-size: inherit;
	line-height: inherit;
}

@media only screen and (min-width: 27em) {
	.footer-inner {
		font-size: 1.25rem;
		line-height: 1.25;
	}
}

/**
 * Modules
 */

.omnilert-logo {
	display:none;
}


	/* Navigation */
	#small_menu_link {  /* Hamburger menu that shows up at small sizes. */
		display: none;
	}
	
	#main_menu {
		width: 100%;
		max-width: calc(100% - 2ch);
		display: flex;
		justify-content: center;
	}
	
	#main_menu > li {
		font-size: 1rem !important;
		line-height: 1.40625;
		text-align: center;
	}
	
	@media only screen and (min-width: 27em) {
		#main_menu > li {
			font-size: 1.5625rem;
			line-height: 1.4;
		}
	}
	
	@media only screen and (max-width: 1023px) and (min-width: 285px) {
		#main_menu li {
			background-color: hsl(120, 46%, 28%);
		}
	}
	
	#main_menu > li > a{
		font-size: 1rem !important;
		font-weight: normal;
		letter-spacing: 0.2ch;
		line-height: 1.40625;
	}
	
	@media only screen and (min-width: 27em) {
		#main_menu > li > a {
			font-size: 1.5625rem;
			line-height: 1.4;
		}
	}
	
	#main_menu > li > a,
	#main_menu > li > a:visited {
		border-bottom: 4px solid hsl(120, 46%, 28%);
		padding: 0;
		color: #fff;
		text-decoration: none;
		text-shadow: 0px 1px 0px hsla(0, 0%, 0%, 0.33);
	}
	
	#main_menu > li > a:hover,
	#main_menu > li > a:active {
		border-bottom-color: #fff;
		color: #000014 !important;
		text-shadow: none;
		background-color: hsl(88, 47%, 80%);
	}
	
	#main_menu > li > a:focus {
		color: #000014 !important;
		background-color: hsl(88, 47%, 80%);
	}

.custom-logo{
	max-width: none;
	margin: 0 auto;
}

.custom-logo img{
	max-width: 10ch;
}

.account-name h2 {
	display: none;
}

#custom_title{
	color: hsl(120, 46%, 28%);
	font-weight: bold;
}

.main p{
	margin: 0 0 1em;
}

.btn-submit {
	margin-bottom: 2em;
	width: 100%;
	background-color: hsl(120, 46%, 28%);
	color: #fff;
	font-size: inherit;
	line-height: inherit;
	padding: 0.5em 2ch;
}

.btn-submit:hover {
	background-color: hsl(110, 46%, 33%);
	transition: all 150ms ease;
}
	
.reset-text{
	font-size: 1rem;
	line-height: 1.40625;
}

@media only screen and (min-width: 27em) {
	.reset-text {
		font-size: 1.25rem;
		line-height: 1.25;
	}
}

	/* Footer */
	.sp_footer_list {
		display: flex;
		flex-direction: column;
		justify-content: space-between;
	}
	
	@media only screen and (min-width: 27em) {
		.sp_footer_list {
			flex-direction: row;
		}
	}
	
	ul.sp_footer_list > li {
		padding: 0 1ch;
	}
	
	.footer-inner a,
	.footer-inner:visited {
		color: #fff;
		text-decoration: underline;
	}
	
	.footer-inner a:hover {
		color: #fff;
	}
	
	.footer-inner a:focus{
		outline: 1px dotted hsl(205, 10%, 49%);
	}
	
	.footer-inner a:active{
		background-color: hsl(207, 11%, 40%);
	}

.account-info{
	width: 100%;
	float: none;
}

@media only screen and (min-width: 27em) {
	.account-info{
		width: 100%;
		float: none;
	}
}

.password-suggestions{
	margin: 0;
	width: 100%;
	float: none;
}

@media only screen and (min-width: 27em) {
	.password-suggestions{
		width: 100%;
		float: none;
		font-size: 1.25rem;
		line-height: 1.25;
	}
}
/**
 * States
 */