@import 'reset.css?v=0.2';

/*
	color scheme
	0b1728
	162d50
	214478
	2c5aa0
	2c5aa0
	5f8dd3
	5f8dd3
	afc6e9
	d7e3f4

	margin/padding/border
	font-face/size/style
	line-height
	text-align
	background/color
*/

/* general layout */
body
{
	box-sizing:border-box;
	width:960px;
	max-width:100%;
	margin-left:auto;
	margin-right:auto;
	font-family:Verdana, Geneva, sans-serif;
	font-size:15px;
	line-height:20px;
	background-color:#b7bec8;
	background-image:url(/style/background.png);
	background-repeat:repeat-y;
	background-position:center top;
}

a
{
	cursor:pointer;
}

h1
{
	margin:0;
	padding:10px 0 5px;
	font-size:40px;
	font-weight:normal;
	font-variant:small-caps;
	line-height:50px;
	letter-spacing:4px;
	text-align:center;
}
a h1,a h1:hover
{
	color:white;
	text-decoration:none;
}

h2
{
	margin:0;
	padding:0 0 10px;
	font-size:20px;
	font-weight:normal;
	font-variant:normal;
	line-height:25px;
	letter-spacing:1px;
	text-align:center;
}

h3
{
	margin:15px 0;
	padding:0;
	font-size:20px;
	font-weight:normal;
	font-variant:normal;
	text-transform:uppercase;
	line-height:24px;
	word-spacing:1px;
	text-align:center;
}

a
{
	border-bottom:1px dotted;
	text-decoration:none;
	color:black;
}
a:hover
{
	border-bottom:1px solid;
	text-decoration:none;
	color:#400080;
}

p
{
	margin-bottom:15px;
}
p:first-child
{
	margin-top:15px;
}

ul
{
	margin-bottom:15px;
	list-style:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAAGCAYAAADgzO9IAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAP0lEQVQI12P8//8/g79qeC8DA0MoAwSs3nh7ZTGjn0pYLwMDQxEDKuhjQVKJDEJZGHAAFgYGhtVYjFrNiMtyAE6sFNHo+H0oAAAAAElFTkSuQmCC);
}

li
{
	margin:0 0 10px 20px;
	padding:0 0 0 5px;
}

img
{
	border:1px solid black;
	-ms-interpolation-mode:bicubic; 
}
a img
{
	border:1px solid black;
}
a:hover img
{
	opacity:0.65;
	filter:alpha(opacity=65); /* For IE8 and earlier */
}	

small
{
	font-size:85%;
}

table
{
	width:100%;
}
th
{
	font-weight:bold;
}
td
{
	padding-bottom:2px;
}

input[type="text"],input[type="password"],input[type="tel"],input[type="email"],input[type="date"],input[type="datetime"],input[type="url"],input[type="number"],textarea,select
{
	margin:2px;
	padding:2px;
	border:1px solid black;
}
input[type="text"]:focus,input[type="password"]:focus,input[type="tel"]:focus,input[type="email"]:focus,input[type="date"]:focus,input[type="datetime"]:focus,input[type="url"]:focus,input[type="number"]:focus,textarea:focus,select:focus
{
	border:1px solid red;
	outline:1px solid red;
}

/* generated at http://www.cssportal.com/style-input-range/ */
input[type=range] {
  height: 32px;
  -webkit-appearance: none;
  margin: 10px 0;
  width: 100%;
}
input[type=range]:focus {
  outline: none;
}
input[type=range]::-webkit-slider-runnable-track {
  width: 100%;
  height: 7px;
  cursor: pointer;
  animate: 0.2s;
  box-shadow: 0px 0px 0px #000000;
  background: #AFC6E9;
  border-radius: 4px;
  border: 1px solid #888888;
}
input[type=range]::-webkit-slider-thumb {
  box-shadow: 1px 1px 3px #87AADE;
  border: 1px solid #444444;
  height: 24px;
  width: 12px;
  border-radius: 5px;
  background: #87AADE;
  cursor: pointer;
  -webkit-appearance: none;
  margin-top: -9.5px;
}
input[type=range]:focus::-webkit-slider-runnable-track {
  background: #AFC6E9;
}
input[type=range]::-moz-range-track {
  width: 100%;
  height: 7px;
  cursor: pointer;
  animate: 0.2s;
  box-shadow: 0px 0px 0px #000000;
  background: #AFC6E9;
  border-radius: 4px;
  border: 1px solid #888888;
}
input[type=range]::-moz-range-thumb {
  box-shadow: 1px 1px 3px #87AADE;
  border: 1px solid #444444;
  height: 24px;
  width: 12px;
  border-radius: 5px;
  background: #87AADE;
  cursor: pointer;
}
input[type=range]::-ms-track {
  width: 100%;
  height: 7px;
  cursor: pointer;
  animate: 0.2s;
  background: transparent;
  border-color: transparent;
  color: transparent;
}
input[type=range]::-ms-fill-lower {
  background: #AFC6E9;
  border: 1px solid #888888;
  border-radius: 8px;
  box-shadow: 0px 0px 0px #000000;
}
input[type=range]::-ms-fill-upper {
  background: #AFC6E9;
  border: 1px solid #888888;
  border-radius: 8px;
  box-shadow: 0px 0px 0px #000000;
}
input[type=range]::-ms-thumb {
  margin-top: 1px;
  box-shadow: 1px 1px 3px #87AADE;
  border: 1px solid #444444;
  height: 24px;
  width: 12px;
  border-radius: 5px;
  background: #87AADE;
  cursor: pointer;
}
input[type=range]:focus::-ms-fill-lower {
  background: #AFC6E9;
}
input[type=range]:focus::-ms-fill-upper {
  background: #AFC6E9;
}
/* end range control customization */

select
{
	max-width:100%;
}

/* margin fixer class */
.marginfix
{
	line-height:1px;
}

/* generic center class */
.center
{
	margin-left:auto;
	margin-right:auto;
	text-align:center;
}
.center th, .center td
{
	text-align:center;
}

/* generic left/right float class */
.left
{
	margin-right:15px;
	float:left;
}
.right
{
	margin-left:15px;
	float:right;
}

/* unadorned list class */
ul.unadorned
{
	padding-left:0;
	list-style-image:none;
	list-style:none inside;
}
ul.unadorned li
{
	margin:0 0 0 20px;
	padding:0;
	text-indent:-20px;
}

/* spaced list class */
.spaced li
{
	padding-bottom:10px;
}
.spaced li:last-child
{
	padding-bottom:0;
}

/* unadorned classes */
.unadorned
{
	border:none;
}

/* unselectable class */
.noselect
{
	-webkit-touch-callout: none; /* iOS Safari */
    -webkit-user-select: none; /* Safari */
    -khtml-user-select: none; /* Konqueror HTML */
    -moz-user-select: none; /* Firefox */
    -ms-user-select: none; /* Internet Explorer/Edge */
    user-select: none;
}

/* even/odd table rows */
.even
{
	background:#d7e3f4;
}
.odd
{
	background:#ffffff;
}

/* generic sidebar class */
.sidebar
{
	margin-top:15px;
	margin-bottom:15px;
	padding-left:3%;
	padding-right:3%;
	padding-top:15px;
	padding-bottom:15px;
	border:1px solid black;
	border-radius:10px;
	width:94%;
	background-color:#afc6e9; /*#4e2456;*/
	color:black;
}
.sidebar a
{
	color:black;
}
.sidebar h3
{
	margin-top:0;
}

/* half width class for 2 column layout */
.half
{
	width:48%;
	margin-left:1%;
	margin-right:1%;
	float:left;
}

/* full text width, maximum we want to allow text to extend */
.full
{
	width:800px;
	max-width:95%;
	margin-left:auto;
	margin-right:auto;
}

/* helper clear class */
.clear
{
	clear:both;
}

/* form classes */
.formdiv
{
	margin:15px 0;
	padding:15px 0;
	border:1px solid black;
	border-radius:10px;
	background-color:#afc6e9;
	color:black;
}
.formrow
{
	margin:3px 5%;
	width:90%;
	clear:both;
	display:inline-block;
}
.formheader
{
	padding-right:2%;
	font-weight:bold;
	text-align:right;
	width:20%;
	float:left;
	display:inline-block;
}
.formdata
{
	max-width:75%;
	display:inline-block;
}
.formdata input,.formdata select
{
	max-width:100%;
}
.formdata textarea
{
	width:80em;
	max-width:100%;
}
.formdata input[type="checkbox"]
{
	width:auto;
}

/* warnings and status displays */
.warning, .status
{
	margin-left:auto;
	margin-right:auto;
	margin-top:15px;
	margin-bottom:15px;
	padding:10px;
	border:2px dotted red;
	background-color:#FF8080;
	color:black;
	text-align:center;
	font-weight:bold;
	width:80%;
}
.status { border-color:black; background-color:#CABDCC; display:none; }
.status.good { border-color:green; background-color:#80FF80; }
.status.caution { border-color:yellow; background-color:#FFFF80; }
.status.bad { border-color:red; background-color:#FF8080; }

/* buttons */
.button
{
	text-indent:0;
	margin:4px 0;
	border-radius:5px;
	border:2px solid black !important;
	font-style:normal;
	text-align:center;
	max-width:300px;
	background-color:#5f8dd3;
	background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAoCAYAAADDo7u9AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAQ0lEQVQ4y2Osim74z4AHsPz794+BMgX///8feBP+ETLh/yAwgfbh8I+QCf8JRzchE/4PCxPoEJJDJFX/H/SpmvYmAACN1Hg8mQa75gAAAABJRU5ErkJggg==);
	background-size:100% 100%;
	background-image:-webkit-gradient(linear, 0% 0%, 0% 100%, from(#5f8dd3), to(#2c5aa0));
	background-image:-webkit-linear-gradient(top, #5f8dd3, #2c5aa0); 
	background-image:-moz-linear-gradient(top, #5f8dd3, #2c5aa0);
	background-image:-ms-linear-gradient(top, #5f8dd3, #2c5aa0);
	background-image:-o-linear-gradient(top, #5f8dd3, #2c5aa0);
	color:white;
	cursor:pointer;
	display:inline-block;
	-webkit-touch-callout: none; /* iOS Safari */
    -webkit-user-select: none; /* Safari */
    -khtml-user-select: none; /* Konqueror HTML */
    -moz-user-select: none; /* Firefox */
    -ms-user-select: none; /* Internet Explorer/Edge */
    user-select: none;
}
.button:hover,.button:focus
{
	background-color:#87aade;
	background-image:none;
	color:white;
}
.button:focus { border-color:red; outline:none; }
.button a { text-decoration:none; }
.button a:hover,.button a:focus { color:white; outline:none; text-decoration:none; }

.button.disabled
{
	background-color:#afc6e9;
	background-image:none;
	border-color:gray;
	cursor:default;
}

.button.selected, .button.selected:hover
{
	background-color:#d7e3f4;
	background-image:none;
	color:black;
}

.button-large
{
	padding:8px;
	font-size:20px;
	line-height:20px;
	width:80%;
}
.button-large.selected, .button-large.selected:hover
{
	font-size:24px;
	width:90%;
}

.button-small
{
	margin:0 6px;
	padding:0 12px;
	font-size:15px;
	line-height:25px;
	width:auto;
}
.button-small.selected, .button-small.selected:hover
{
	font-size:19px;
}

.button-tiny
{
	margin:0 4px;
	padding:0 8px;
	font-size:12px;
	line-height:18px;
	width:auto;
}
.button-tiny.selected, .button-tiny.selected:hover
{
	font-size:14px;
}

/* popups */
.overlay
{
	display:none;
	padding:15px;
	border:6px solid #2c5aa0;
	border-radius:20px;
	background:white;
	margin:10px;
	box-shadow:0px 0px 20px #ffffff;
	width:640px;
	max-width:85%;
	position:absolute;
	transition:opacity 0.5s, left 0.25s, top 0.25s;
}
.overlay .overlay-content
{
	width:100%;
}
.overlay .overlay-content.overlay-loading
{
	width:100%;
	min-width:64px;
	height:100%;
	min-height:64px;
	background:url('/image/loading-48.gif') no-repeat center;
}
.overlay .overlay-close
{
	float:right;
	padding:0;
	margin-right:-28px;
	margin-top:-28px;
	cursor:pointer;
	background:url('/image/close2.png') no-repeat left center;
	width:28px;
	height:28px;
}
.overlay .overlay-close:hover
{
	background:url('/image/close2.png') no-repeat right center;
}
.overlay-content h3:first-child
{
	margin-top:0;
}

#overlay-modal
{
	display:none;
	background-color:#000000;
	position:fixed;
	left:0;
	right:0;
	top:0;
	bottom:0;
	opacity:0;
	cursor:pointer;
	transition:opacity 1.0s;
	transition-timing-function:ease-out;
}

#status-overlay
{
	width:400px;
	background-color:#d7e3f4;
	text-align:center;
	border:3px solid #2c5aa0;
	border-radius:10px;
	font-weight:bold;
}
#status-overlay.good { background-color:#80FF80; }
#status-overlay.caution { background-color:#FFFF80; }
#status-overlay.bad { background-color:#FF8080; }

#login-overlay
{
	width:450px;
}

/* top header region */
#top
{
	background-color:#2c5aa0;
	color:white;
	overflow:hidden;
}

/* top menu bar and footer */
#menu, #footer
{
	font-size:13px;
	line-height:23px;
	text-align:center;
	background-color:black;
	color:white;
}
#menu a, #footer a
{
	color:white;
}
#menu a:hover, #footer a:hover
{
	color:#e95700;
}
#menu .menu-item
{
	padding:3px 10px 5px;
	border-top-left-radius:5px;
	border-top-right-radius:5px;
	border-bottom:none;
	font-weight:normal;
	text-align:center;
	color:white;
	display:inline;
}
#menu .first-row
{
	margin-bottom:5px;
}
#menu .first-row .menu-item
{
	border-radius:5px;
}
#menu .menu-item:hover, #menu .menu-item.current
{
	background-color:white;
	color:black;
}
#menu1
{
	display:none;
}

#menumodal
{
	display:none;
	position:fixed;
	left:0;
	right:0;
	top:0;
	bottom:0;
	z-index:9;
	opacity:0.25;
	background-color:black;
	cursor:pointer;
}
#modalmenuopen
{
	display:none;
	border:none;
}

/* main region */
#main
{
	background-color:white;
	color:black;
}

/* 720-959 pixels wide */
@media all and (max-width:959px)
{
}

/* 480-719 pixels wide */
@media all and (max-width:719px)
{
	.hidemed
	{
		display:none;
	}
	
	.half
	{
		float:none;
		width:100%;
	}

	h1
	{
		font-size:30px;
		line-height:35px;
		letter-spacing:normal;
	}
	h2
	{
		font-size:20px;
		line-height:25px;
		letter-spacing:normal;
	}
}

/* less than 480 pixels wide */
@media all and (max-width:479px)
{
	body
	{
		background-image:none;
	}
	
	#modalmenuopen
	{
		display:block;
	}
	
	.hidesmall
	{
		display:none;
	}

	.button
	{
		max-width:200px;
	}

	.formheader
	{
		text-align:left;
		width:auto;
		float:none;
		display:block;
	}
	.formdata
	{
		max-width:100%;
		display:block;
	}
	.formdata input, .formdata textarea
	{
		width:100%;
	}
	.formdata input[type="checkbox"]
	{
		width:auto;
	}
	.formdata select
	{
		max-width:100%;
	}

	h1
	{
		padding:0;
		margin:0;
		font-size:18px;
		line-height:18px;
		letter-spacing:normal;
	}
	h2
	{
		margin-top:4px;
		font-size:15px;
		line-height:15px;
		letter-spacing:normal;
	}

	#top
	{
		position:absolute;
		left:0;
		right:0;
		top:0;
		height:40px;
		border:none;
		border-bottom:2px solid black;
	}
	#top .top-logo
	{
		margin:0;
		padding-top:4px;
		padding-bottom:4px;
		width:32px;
		height:32px;
	}

	#menu
	{
		padding:0;
		margin:0;
	}
	#menu1,#menu2
	{
		display:none;
		position:absolute;
		right:0;
		top:40px;
		border:none;
		font-size:18px;
		line-height:18px;
		font-weight:bold;
		background:none;
		padding:0;
		z-index:10;
		max-height:100%;
	}
	#menu .menu-item
	{
		text-align:right;
		padding-left:20px;
		padding-right:20px;
		padding-top:9px;
		padding-bottom:9px;
		margin:0;
		margin-bottom:-4px;
		border:4px solid black;
		border-right:none;
		border-radius:0;
		border-top-left-radius:10px;
		border-bottom-left-radius:10px;
		background-color:#2c5aa0;
		display:block;
	}
	#menu .menu-item.current,#menu .menu-item:hover
	{
		background-color:white;
		color:black;
	}
	#fixedmenu
	{
		display:none;
	}
	
	#main
	{
		margin-top:40px;
	}
}
