/* Grid and Clearing Tools
----------------------------------------------------------------------------------------------------*/

.clearfix:before,
.clearfix:after,
.grid-block:before,
.grid-block:after,
.deepest:before,
.deepest:after {
	content: "";
    display: table;
}
.clearfix:after,
.grid-block:after,
.deepest:after { clear: both; }

.grid-box { float: left; }

/* Grid Units */
.width16 { width: 16.666%; }
.width20 { width: 20%; }
.width25 { width: 25%; }
.width33 { width: 33.333%; }
.width40 { width: 40%; }
.width50 { width: 50%; }
.width60 { width: 60%; }
.width66 { width: 66.666%; }
.width75 { width: 75%; }
.width80 { width: 80%; }
.width100 { width: 100%; }

[class*='width'] {
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

/* Create new Block Formatting Contexts */
.bfc-o { overflow: hidden; }
.bfc-f {
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	width: 100%;
	float: left;
}

/* Align Boxes */
.float-left { float: left; }
.float-right { float: right; }

/* Grid Gutter */
.grid-gutter.grid-block { margin: 0 -15px; }
.grid-gutter > .grid-box > * { margin: 0 15px; }

.grid-gutter > .grid-box > * > :first-child { margin-top: 0; }
.grid-gutter > .grid-box > * > :last-child { margin-bottom: 0; }

/* Center Page */
.wrapper {
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	margin: auto;
}

/* Header */
#header { position: relative; }

#toolbar .float-left .module,
#toolbar .float-left > time {
	margin: 0 15px 0 0;
	float: left;
}

#toolbar .float-right .module {
	margin: 0 0 0 15px;
	float: right;
}

#headerbar .module {
	max-width: 300px;
	margin-right: 0;
	float: right;
}

#logo, #logo > img,
#menu { float: left; }
#search { float: right; }

#banner {
	position: absolute;
	top: 0;
	right: -200px;
}

/* Absolute */
#absolute {
	position: absolute;
	z-index: 15;
	width: 100%;
}


/* Spacing
----------------------------------------------------------------------------------------------------*/

.module { margin: 20px; }

#menu .module { margin: 10px; }

#top-a,
#top-b,
#bottom-a,
#bottom-b,
#main,
#footer {
	margin: 15px 0;
}

#top-a {
	margin-top: 5px;
}

#menu .module { margin: 10px 5px; }

#header { margin: 15px 20px 30px 20px; }

#toolbar,
#headerbar { margin-bottom: 15px; }
#headerbar .module { margin: 15px 0 15px 15px; }

#breadcrumbs,
#content { margin: 20px; }


/* Layout
----------------------------------------------------------------------------------------------------*/

/* Background */
html {
	background: white;
}


/* Search */
#search {
	padding: 6px 6px 0 0;
}

#innertop { border-bottom: 1px solid #eee; }
#innerbottom { border-top: 1px solid #eee; }

/* Sidebar Backgrounds */
#sidebar-a,
#sidebar-b { position: relative; }

#sidebar-a:before,
#sidebar-b:before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	border: 0 solid #eee;
}

.sidebar-a-right #sidebar-a:before,
.sidebar-b-right #sidebar-b:before { border-width: 0 0 0 1px; }

.sidebar-a-left #sidebar-a:before,
.sidebar-b-left #sidebar-b:before { border-width: 0 1px 0 0; }

/* Footer + Toolbar */
#footer,
#toolbar {
	font-size: 12px;
	line-height: 18px;
}

#toolbar {
	margin-bottom: 5px;
}

/* ToTop Scroller */
#totop-scroller {
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	z-index: 1;
	width: 21px;
	height: 21px;
	border: 1px solid #ddd;
	background: #fff url(../../../images/totop_scroller.png) 50% 50% no-repeat;
	border-radius: 4px;
	text-decoration: none;
}

#totop-scroller:hover {
	border-color: #ccc;
	background-color: #EEE;
}