* {
	margin: 0;
	padding: 0;
}
html {
	height: 100%;
}
body {
	height: 100%;
	font-size: 100%;
	font: .75em/1.25em arial, helvetica, sans-serif;
	color: #222;
	background: #191919 url(../img/site/body_bg.gif) repeat top left;
	text-align: center;
}
img {
	border: 0;
}

/* LINKS ---------------------------------------- */

a {
	color: #3A73B8;
}
a:hover {
	color: #f68f1e;
}
a:focus {
	outline: none;
}
#flashMessage a {
	color: #fff;
}
#flashMessage a:hover {
	color: #3A73B8;
}
h2 a {
	text-decoration: underline;
}
#footer a {
	color: #ddd;
	text-decoration: underline;
}

/* TYPOGRAPHY ----------------------------------- */

p {
	margin: 0 0 1.5em;
}
h2, h3, h4, h5, h6 {
	margin: 1.2em 0 .3em;
}
h2 {
	color: #485fa9;
	font-size: 1.3em;
	line-height: 1em;
}
h2.section {
	background: #F8AB56;
	color: #fff;
	padding: 4px;
	text-transform: uppercase;
}
h3 {
	font-size: 1.17em;
}
small {
	font-size: .9em;
}
blockquote {
	margin-left: 2em;
}
p.details {
	margin-top: -1em;
}
.date {
	font: bold 82% arial;
	color: #bbb;
	display: block;
	letter-spacing: 1px;
	padding-bottom: 2px;
}
#flashMessage.error, #flashMessage.success {
	background-repeat: no-repeat;
	background-position: 8px 8px;
	padding: 8px 8px 8px 28px;
	line-height: 1.3em;
	font-weight: bold;
	color: #fff;
	margin-bottom: 1em;
}
#flashMessage.error {
	background-color: red;
	background-image: url(../img/icons/error.gif);
}
#flashMessage.success {
	background-color: green;
	background-image: url(../img/icons/success.gif);
}
.nt {
	margin-top: 0;
}
.nb {
	margin-bottom: 0;
}

/* LISTS ---------------------------------------- */

ul, ol {
	margin: .5em .5em 1.5em;
}
ul ul, ul ol, ol ul, ol ol {
	margin-top: 0;
	margin-bottom: 0;
}
ul.related, ol.related {
	margin-top: -1em;
}
li {
	margin-left: 1.4em;
	padding-left: 0;
	line-height: 1.4em;
}

/* LAYOUT --------------------------------------- */

#page {
	min-height: 100%;
	width: 800px;
	margin: 0 auto;
	text-align: left;
	background: #fff url(../img/site/page_bg.gif) repeat top left;
	position: relative;
}
body.sample #page {
	background-image: url(../img/site/sample_bg.gif);
}
#header { /* fix Safari bg bug by adding 23px of black on bottom of header.jpg */
	position: relative;
	height: 63px;
	background: #000 url(../img/site/header.jpg) no-repeat 0px 23px;
}
#logo {
	position: absolute;
	top: 17px;
	left: 11px;
}
#topnav {
	position: absolute;
	top: 0;
	right: 5px;
	color: #aaa;
	line-height: 23px;
	z-index: 2;
}
#topnav a {
	color: #fff;
}
#topnav2 {
	position: absolute;
	top: 0;
	right: 0;
	width: 620px;
	height: 23px;
	background: #000;
	z-index: 1;
	display: none;
}
#contentWrap { /* padding-bottom is same as the footer's total height */
	margin: 10px 15px 0 15px;
	padding-bottom: 4.46em;
}
#footer { /* total height is 4.46em */
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	clear: both;
	text-align: center;
	background-color: #000;
	color: #ddd;
	padding: .83em 0;
	font: .9em/1.4em arial, helvetica, sans-serif;
}

/* NAV ------------------------------------------ */

#nav {
	position: absolute;
	bottom: 0;
	right: 0;
	margin: 0;
	padding: 0;
	list-style: none;
	height: 40px;
}
#nav li {
	float: left;
	margin: 0;
	padding: 0;
}
#nav a {
	position: relative;
	display: block;
	width: 200px;
	height: 40px;
	background-position: 0% 0%;
	background-repeat: no-repeat;
}
#navTab1 a {
	background-image: url(../img/site/best_practices.gif);
	z-index: 4;
}
#navTab2 a {
	margin-left: -40px;
	background-image: url(../img/site/homily_packs.gif);
	z-index: 3;
}
#navTab3 a {
	margin-left: -40px;
	background-image: url(../img/site/resources.gif);
	z-index: 2;
}
#navTab4 a {
	margin-left: -40px;
	background-image: url(../img/site/forums.gif);
	z-index: 1;
	width: 160px;
}
#nav a:hover {
	background-position: 0px -50px;
}
#nav li.active a, #nav li.active a:hover {
	background-position: 0% -100px;
	z-index: 50;
}

body#homily_packs #navTab1 a, body#resources #navTab1 a, body#resources #navTab2 a, body#forums #navTab1 a, body#forums #navTab2 a, body#forums #navTab3 a {
	background-position: 0px -150px;
}
body#homily_packs #navTab1 a:hover, body#resources #navTab1 a:hover, body#resources #navTab2 a:hover, body#forums #navTab1 a:hover, body#forums #navTab2 a:hover, body#forums #navTab3 a:hover {
	background-position: 0% -200px;
}

#subnav {
	background: url(../img/site/home_short_bottom.jpg) no-repeat top left;
	padding-bottom: 6px;
	font: bold .9em/20px arial, helvetica, sans-serif;
}
#subnav #navHome {
	float: left;
	color: #fff;
	width: 150px;
	text-align: center;
}
#subnav ul {
	background-color: #000;
	padding: 0;
	margin: 0 0 0 160px;
	list-style: none;
	color: #999;
}
#subnav li {
	display: inline;
	margin: 0;
	line-height: 20px;
}
#subnav li a {
	text-decoration: none;
	padding: 0 10px;
	color: #eee;
}
#subnav li a:hover {
	text-decoration: underline;
}

/* COLUMNS -------------------------------------- */

#left {
	float: left;
}
#right {
	float: right;
}
.column {
	width: 135px;
	font-size: .9em;
	line-height: 1.3em;
}
.column h3 {
	font: bold 1.3em arial, helvetica, sans-serif;
	text-transform: uppercase;
	color: #f68f1e;
}
.column h3 a {
	color: #f68f1e;
	text-decoration: none;
}
.column h3 a:hover {
	text-decoration: underline;
}
.column p, .column ul, .column ol {
	margin-bottom: 1em;
}
.column ul {
	margin-left: 0;
	margin-right: 0;
	list-style: none;
}
.column ol {
	margin-left: 2em;
}
.column li {
	margin: 5px 0;
	line-height: 1.2em;
}

/* MAIN (CONTENT) ------------------------------- */

#main {
	margin-left: 153px;
}
h1, h2.title {
	background: transparent url(../img/site/h1_bg.gif) no-repeat top left;
	font: italic bold 1.4em/32px arial, helvetica, sans-serif;
	text-transform: uppercase;
	color: #fff;
	margin: 0;
	padding-left: 30px;
}
h1 a, h2.title a {
	color: #fff;
	text-decoration: none;
}
h1 a:hover, h2.title a:hover {
	color: #fff;
	text-decoration: underline;
}
div.content {
	background: #fff url(../img/site/content_bottom.gif) no-repeat bottom left;
	padding-bottom: 3px;
	margin-bottom: 10px;
}
div.contentInner {
	padding: 6px 12px 7px;
	background: #fff url(../img/site/content_bg.gif) repeat-y 0 0;
}
#mainNarrow {
	margin: 0 150px 0 153px;
}
#mainNarrow h1 {
	background-image: url(../img/site/h1_bg_narrow.gif);
}
#mainNarrow div.content {
	background-image: url(../img/site/content_bottom_narrow.gif);
}
#mainNarrow div.contentInner {
	background: url(../img/site/content_bg_narrow.gif);
}

/* HOME ----------------------------------------- */

body#home #header {
	height: 256px;
	background-position: 0 0;
}
body#home #navHome {
	visibility: hidden;
}
body#home #subnav {
	background-image: url(../img/site/home_bottom.jpg);
}

/* MISC ----------------------------------------- */

hr {
	margin: 1em 0;
	background-color: #f68f1e;
	height: 2px;
	color: #f68f1e;
	border: none;
}
.hidden {
	display: none;
}
.pagination {
	margin-top: 1em;
}
.error_message { /* $html->tagErrorMsg() */
	font-size: .9em;
	color: red;
}
.info {
	float: right;
	width: 135px;
	border: 1px solid #777;
	border-right: none;
	margin: 0 -8px 10px 10px;
	padding: 5px;
	background-color: #EEF0F7;
}

/* DEBUG ---------------------------------------- */

.cake-sql-log {
	position: fixed;
	top: 98%;
	z-index: 10;
	width: 100%;
	background-color: #000;
	color: #FFF;
	border-collapse: collapse;
}
.cake-sql-log caption {
	background-color: #900;
	color: #FFF;
}
.cake-sql-log:hover {
	top: auto;
	bottom: 0;
}
.cake-sql-log td {
	padding: 3px;
	border: 1px solid #999;
	background-color: #EEE;
	color: #000;
}
.cake-debug, .cake-stack-trace, pre.debug {
	background: #fff;
	padding: 1em;
	margin: 1em;
}
