body {
	font: 76.5%/1.6em "Lucida Grande", "Lucida Sans Unicode", verdana, geneva, sans-serif;
	color:#aaa;
	margin:0;
	background:url("/assets/body_bg-3ac2dc9b.jpg") top repeat-x #333;
	min-height: 100vh;
	display: flex;
	flex-direction: column;
}

* {
	margin:0;
	padding:0;
}

.clear {
	clear:both;
}

#header {
	height:93px;
	background: url("/assets/banner_ccc_middle-0d9e19cc.jpg") repeat-x left;
}

.headright {
  float: right;
  background-image: url("/assets/banner_tool-c4eef75c.jpg");
  width: 466px;
  height: 93px;
  background-repeat: no-repeat;
}

.headleft {
   float: left;
   background-image: url("/assets/banner_ccc_left-53d58419.jpg");
  width: 200px;
  height: 93px;
  background-repeat: no-repeat;
}

.headerclear {
	clear: both;
}

/*
#lefttest {
	background-color: #a47bf6;
	width: 200px;
}

#righttest {
	background-color: #ff6f88;
	width: 400px;
}
*/

#header h1 {
	font:380% Century Gothic;
	color:#fff;
	font-weight:bold;
	padding:13px 20px 0 20px;
	letter-spacing:-1px;
}

hr {
	color: #a9a9a9;
	background-color: #a9a9a9;
	height: 1px;
}

#header h1.right {
	color:#f37342;
	float:right;
}

#header img.right {
	float:right;
	top: 0;
}

#header h1 a {
	color:#fff;
	text-decoration:none;
}

#header h1 a:hover {
	border:none;
}

ul#nav {
	clear:both;
	margin:0;
}
	
ul#nav li {
	float:left;
	padding:10px 0;
	list-style:none;
}

ul#nav li.nav-right {
	float: right;
}
ul#nav li.nav-user {
	padding: 10px;
	color: #f37342;
	font-weight: bold;
}
ul#nav li.right {
	float:right;
	margin:0 10px 0 0 !important;
	margin:0 3px 0 0;
}

ul#nav input {
	background:#000;
	border:1px solid #333;
	font:100% Verdana;
	color:#ccc;
	padding:2px;
}

ul#nav li a {
	padding:10px;
	font-weight:bold;
	color:#aaa;
	text-decoration:none;
	margin:0 1px;
	background:url("/assets/nav_a_hover-d9109177.gif") bottom repeat-x;
}

ul#nav li a:hover {
	background:url("/assets/nav_a_hover-d9109177.gif") top no-repeat #121212;
	color:#fff;
}

ul#nav li a.active {
	background:url("/assets/nav_a_hover-d9109177.gif") top no-repeat #121212;
	color:#fff;
}

#sidebar {
	width:270px;
	float:right;
	background:#333;
	margin:1px 0 0 0;
}

#sidebar a {	
	color:#fff;
}

#sidebar a:hover {
	text-decoration:none;
	border:none;
}

#sidebar h2 {
	font:150% Trebuchet MS;
	color:#fff;
}

p.news {
	clear:right;
	border-bottom:1px solid #3a3a3a;
	padding-bottom:20px;
}

#sidebar ul {
	margin-left:45px;
}

#sidebar input {
	margin:0 0 0 30px;
	background:#f37342;
	border:1px solid #d02657;
	font:100% Verdana;
	color:#fff;
	padding:4px;
	width:200px;
}

p.news .more {
	display:block;
	text-align:right;
}




#main {
	flex-grow: 1;
}

#content {
	margin:0;
	background:url("/assets/content-58805e00.jpg") top right no-repeat;
	font-size:120%;
	padding:20px;
}

#content h1,h2,h3,h4,h5,p,ul,ol,blockquote {
	margin:15px 30px;
}

#content h2 {
	font:150% Arial;
	color:#fff;
	background:url("/assets/content_h2-cb73c280.gif") left no-repeat;
	padding:0 0 0 19px;
	margin: 15px 20px 15px 0px;
}

#content h2 a {
	color:#fff;
	text-decoration:none;
	border-bottom:2px solid #222;
}

#content h2 a:hover {
	border-bottom:2px solid #f37342;
}

#content strong {
	color:#f37342;
	background:#222;
	padding:1px 4px 3px 4px;
}

#content p {
	padding:5px 0;
	line-height:28px;
	font-size:95%;
}

#content p.big {
	font-size: 32px;
	font-weight: bold;
}

a {
	color:#fff;
	font-weight:bold;
	text-decoration:none;
}

a:hover {
	border-bottom:1px solid #222;
}

#content h3 {
	font:130% Trebuchet MS;
	color:#fff;
}

.details {	
	color:#ccc;
	border:1px solid #2d2d2d;
	background:url("/assets/details-67337a16.jpg") right no-repeat #313131;
	padding:2px 15px;
	margin:10px 10px 50px 25px;
}

.details p {
	margin:0;
	padding:0;
}

.details p a {
	color:#666;
}

blockquote {
	border-left:2px solid #2f2f2f;
	background:#323232;
}

#content ul li {
	margin:10px 10px 10px 15px;
	list-style:none;
	padding:0 0 0 20px;
	background:url("/assets/bullet-f7c6616d.gif") left no-repeat;
}

#content ol.comments {
	margin:10px 0 10px 25px;
}

ol.comments a {
	color:#f37342;
}

#content ol li {
	margin:10px 0 10px 25px;
	padding:10px 0;
	font:90% Trebuchet MS;
	line-height:22px;
}

p.user {
	border-bottom:1px solid #2a2a2a;
	background:#303030;
}

#content p img {
	background:#101010;
	padding:1px;
	border:3px solid #303030;
}

#footer {
	border-top:2px solid #111;
	background:#222;
	padding:15px;
}

#footer a {
	color:#ccc;
}


/* @group Forms */

form {  /* set width in form, not fieldset (still takes up more room w/ fieldset width */
  margin: 0;
  padding: 0;
  min-width: 500px;
  max-width: 600px;
  width: 560px; 
}


form fieldset {
  padding: 10px;        /* padding in fieldset support spotty in IE */
  margin: 0;
	border: 1px solid #797979;
}



form label { 
	display: block;  /* block float the labels to left column, set a width */
	float: left; 
	width: auto;
	padding: 0; 
	margin: 10px; /* set top margin same as form input - textarea etc. elements */
	text-align: right; 
}

#content input {
	margin: 5px;
	background: #424242;
	border: 1px solid #797979;
	font:100% Verdana;
	color:#fff;
	padding:4px;
	width:auto;
}

#content input.fix {
	display: inline-block;
	margin: 5px;
	background: #424242;
	border: 1px solid #797979;
	font:100% Verdana;
	color:#fff;
	padding:4px;
	width:auto;
}

#content textarea {
	margin: 5px;
	background: #424242;
	border: 1px solid #797979;
	font:100% Verdana;
	color:#fff;
	padding:4px;
	width:200px;
}

#content select {
	margin: 5px;
	background: #424242;
	border: 1px solid #797979;
	font:100% Verdana;
	color:#fff;
	padding:4px;
	width:200px;
}

form input, form textarea {
	/* display: inline; inline display must not be set or will hide submit buttons in IE 5x mac */
	width:auto;      /* set width of form elements to auto-size, otherwise watch for wrap on resize */
	margin:5px 0 0 10px; /* set margin on left of form elements rather than right of
                              label aligns textarea better in IE */
}

form input#reset {
	margin-left:0px; /* set margin-left back to zero on reset button (set above) */
}

textarea { overflow: auto; }

form small {
	display: block;
	margin: 0 0 5px 120px; /* instructions/comments left margin set to align w/ right column inputs */
	padding: 1px 3px;
	font-size: 88%;
}

form .required{font-weight:bold;} /* uses class instead of div, more efficient */

form br {
	clear:left; /* setting clear on inputs didn't work consistently, so brs added for degrade */
}


/* @end */

/* @group rails errors */

.fieldWithErrors {
	border: 1px solid #E8A400;
	display: inline-block;
	background-color: #FFF4D8;
}

#errorExplanation {
	border: 1px solid #E8A400;
	padding: 7px;
	padding-bottom: 12px;
	margin-bottom: 20px;
	background-color: #FFF4D8;
}

#errorExplanation h2 {
	/* display: none; */
	text-align: left;
	font-weight: bold;
	padding: 5px 5px 5px 15px;
	font-size: 12px;
	margin: -7px;
	background-color: #E8A400;
	color: #fff;
}

#errorExplanation p {
	/* display: none; */
	margin-bottom: 0;
	padding: 5px;
}

#errorExplanation ul li {
	font-size: 12px;
	list-style: square;
}

div.uploadStatus {
	margin: 5px;
}

/* @end */



/* @group flashbox */

/* FLASHBOX */

#flashbox {
	margin: 0;
	margin-top:	20px;
	margin-bottom: 20px;	border: 2px solid #E8A400;
	height: 1%;
	padding: 10px;
	background-color: #fcff68;
	text-align: left;
	color: #797979;
	font-weight: normal;
	font-style: normal;
}

.flashbox {
	margin: 0;
	margin-top:	20px;
	margin-bottom: 20px;	border: 1px solid #E8A400;
	height: 1%;
	padding: 10px;
	background-color: #ffd800;
	text-align: left;
	/*font: 12px/18px Verdana, sans-serif;*/
}

/* @end */

/* @group Tables */

.prices {
	margin: 45px;
	width: auto;
	text-align: left;
	border-collapse: collapse;
	border: 2px solid #797979;
}

.prices th {
	padding: 12px 17px 12px 17px;
	color:#fff;
	font-weight:bold;
	border: 1px solid #797979;
	border-bottom: 2px solid #797979;
	text-align: center;
}

.prices td {
	padding: 7px 17px 7px 17px;
	border: 1px solid #797979;
	text-align: center;
}

.prices th.header {
	color:#fff;
	font-weight:bold;
	border-right: 2px solid #797979;
}

.prices td.header {
	color:#fff;
	font-weight:bold;
	border-right: 2px solid #797979;
	text-align: left;
}

.prices td input {
	text-align: right;
}

.prices tbody tr:hover td {
	/*background: #797979;*/
}

/* @end */

p.bignum {
	font-weight: bold;
	font-style: italic;
	margin-bottom: 200px;
}

/* @group Refresh bar */

.refresh-bar {
  position: relative;
  background: #3a3a3a;
  border-radius: 4px;
  height: 20px;
  margin-bottom: 1.2em;
  overflow: hidden;
  width: 300px;
}
.refresh-progress {
  position: absolute;
  top: 0; left: 0; bottom: 0;
  width: 0%;
  background: #666;
  transition: width 1s linear;
}
.refresh-label {
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 78%;
  color: #ccc;
  font-family: "Courier New", Courier, monospace;
}

/* @end */

/* @group Cards */

.card {
  background: #3a3a3a;
  border-radius: 6px;
  box-shadow: 0 4px 14px rgba(0,0,0,0.4);
  padding: 1.2em 1.6em;
  margin-bottom: 1.4em;
}
.card h3 {
  margin-top: 0;
  margin-left: 0;
}

/* @end */

/* @group ccc-table */

table.ccc-table {
  border-collapse: collapse;
  width: auto;
  margin-top: 0.6em;
  font-size: 90%;
}
table.ccc-table th {
  background: #f37342;
  color: #fff;
  padding: 6px 14px;
  text-align: left;
  font-weight: bold;
  white-space: nowrap;
  text-transform: uppercase;
  font-size: 80%;
  letter-spacing: 0.05em;
}
table.ccc-table td {
  padding: 5px 14px;
  border-bottom: 1px solid #555;
  vertical-align: middle;
  color: #eee;
}
table.ccc-table tbody tr { background: #4a4a4a; }
table.ccc-table tbody tr:nth-child(even) { background: #3e3e3e; }
table.ccc-table tbody tr:hover { background: #555; }
table.ccc-table .mono {
  font-family: "Courier New", Courier, monospace;
  font-size: 95%;
}
table.ccc-table .num {
  text-align: right;
  font-family: "Courier New", Courier, monospace;
}

/* @end */

/* @group Buttons */

.btn {
  display: inline-block;
  padding: 4px 14px;
  border-radius: 3px;
  font-size: 88%;
  font-weight: bold;
  font-family: inherit;
  border: none;
  cursor: pointer;
  text-decoration: none;
  background: #f37342;
  color: #fff;
  line-height: 1.6;
}
.btn--secondary { background: #555; color: #ccc; }
.btn:hover { opacity: 0.85; }

/* @end */

/* @group form-table */

table.form-table {
  border: none;
  margin-bottom: 1.5em;
}
table.form-table td {
  padding: 4px 10px 4px 0;
  border: none;
  background: none;
  color: #eee;
  vertical-align: middle;
  text-align: left;
}
table.form-table label {
  float: none;
  width: auto;
  font-weight: bold;
  white-space: nowrap;
  text-align: left;
}

/* @end */
