/* Copyright (C) YOOtheme GmbH, YOOtheme Proprietary Use License (http://www.yootheme.com/license) */

.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; }


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

/* 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;
}

/* Footer */
#footer {
	position: relative;
	text-align: center;
}

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

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

.module,
#breadcrumbs,
#content { margin: 15px; }

#toolbar,
#header,
#footer { margin: 0 15px; }

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

#headerbar .module {
	margin-top: 0;
	margin-bottom: 45px;
}

#footer .module { margin: 0; }


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

/* Blocks*/
#block-toolbar {
	padding: 7px 0;
	background: #252525;
	background: -moz-linear-gradient(top, #252525 50%, #1f1f1f 100%);
	background: -webkit-linear-gradient(top, #252525 50%, #1f1f1f 100%);
	background: -o-linear-gradient(top, #252525 50%, #1f1f1f 100%);
	background: linear-gradient(to bottom, #252525 50%, #1f1f1f 100%);
}

#block-header {
	padding: 10px 0;
	background: #333;
	box-shadow: 0 1px 0 rgba(255,255,255,0.05) inset;
}

#block-main {
	padding: 15px 0;
	background: #fff;
}

#block-bottom {
	padding: 15px 0;
	background: #333;
	box-shadow: 0 -1px 0 rgba(255,255,255,0.05) inset;
	color: #777;
}

body#page { background: #252525; }
#block-footer {
	padding: 15px 0;
	background: -moz-linear-gradient(top, #1f1f1f 0%, #252525 40px);
	background: -webkit-linear-gradient(top, #1f1f1f 0%, #252525 40px);
	background: -o-linear-gradient(top, #1f1f1f 0%, #252525 40px);
	background: linear-gradient(to bottom, #1f1f1f 0%, #252525 40px);
}

/* Header */
#toolbar {
	line-height: 26px;
	font-size: 12px;
}

#header { min-height: 40px; }

#menu {
	position: absolute;
	right: 0;
	bottom: 0;
}

/* Block Separators */
#top-a:after,
#top-b:after,
#innertop:after {
	content: "";
	display: block;
	margin: 0 15px;
	height: 1px;
	background: url(../images/line_dotted.png) 0 0 repeat-x;
}

#bottom-a:before,
#innerbottom:before {
	content: "";
	display: block;
	margin: 0 15px;
	height: 1px;
	background: url(../images/line_dotted.png) 0 0 repeat-x;
}

/* Remove Block Separators if System Output is disabled */
#header + #bottom-a:before,
#top-a + #bottom-a:before,
#top-b + #bottom-a:before { display: none; }

/* Footer + Header */
#toolbar,
#toolbar a,
#headerbar,
#footer { color: #777; }
#headerbar a,
#footer a { color: #bbb; }
#toolbar a:hover,
#headerbar a:hover,
#footer a:hover { color: #fff; }

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

#totop-scroller {
	display: block;
	position: absolute;
	top: -26px;
	left: 50%;
	z-index: 1;
	width: 27px;
	height: 15px;
	margin-left: -13px;
	background: #1f1f1f url(../images/totop_scroller.png) 50% 7px no-repeat;
	box-shadow: 0 -1px 0 rgba(255,255,255,0.05);
	border-radius: 3px;
	text-decoration: none;
}

#totop-scroller:hover {
	top: -31px;
	padding-bottom: 5px;
}

