/* RESET */

/*** START CSS RESET & BOX MODEL FIX ***/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed,  figure, figcaption, footer, header, hgroup,  menu, nav, output, ruby, section, summary, time, mark, audio, video { margin:0; padding:0; border:0; font-size:100%; font:inherit; vertical-align:middle; }
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display:block; }
body { line-height:1; }
ol, ul { list-style:none; }
blockquote, q { quotes:none; }
blockquote:before, blockquote:after, q:before, q:after { content:''; content:none; }
table { border-collapse:collapse; border-spacing:0; }
img { vertical-align:middle; max-width:100%; height:auto !important; -webkit-border-radius:3px; -moz-border-radius:3px; border-radius:3px; }
html { -webkit-box-sizing:border-box; -moz-box-sizing:border-box; box-sizing:border-box; }
*, *:before, *:after { -webkit-box-sizing:inherit; -moz-box-sizing:inherit; box-sizing:inherit; }
/*** END CSS RESET & BOX MODEL FIX ***/

body { background:#ccc url(../images/bg-red.jpg) top center repeat-x; font-family:'Open Sans', sans-serif; font-size:18px; line-height:23px; position:relative; top:0; left:0; bottom:0; left:0; }

h1,h2,h3,h4,h5,h6 { margin:0 0 20px 0; font-weight:bold; }
h1 { font-size:36px; line-height:41px; }
h2 { font-size:26px; line-height:31px; }
h3 { font-size:23px; line-height:28px; }
h4 { font-size:21px; line-height:26px; }
h5 { font-size:20px; line-height:25px; }
h6 { font-size:19px; line-height:24px; }

b, strong { font-weight:bold; color:#343434; }
i, em { font-style:italic; color:#676767; }

p { margin:0 0 20px 0; }
p:last-child { margin:0; }

a { color:#039; }
a:hover { color:#b00000; text-decoration:none; }

.row { display:table; width:100%; }
.col { display:table-cell; vertical-align:top; padding:5px; }

.percent10 { width:10%; }
.percent20 { width:20%; }
.percent25 { width:25%; }
.percent30 { width:30%; }
.percent33 { width:33.33333333333333%; }
.percent40 { width:40%; }
.percent50 { width:50%; }
.percent60 { width:60%; }
.percent70 { width:70%; }
.percent75 { width:75%; }
.percent80 { width:80%; }
.percent90 { width:90%; }

.nopadding { padding:0; }
.padding5 { padding:5px; }
.padding10 { padding:10px; }
.padding20 { padding:20px; }

.nomargin { margin:0; }

.left { text-align:left; }
.center { text-align:center; }
.right { text-align:right; }

.inner { padding:20px; -webkit-border-radius:3px; -moz-border-radius:3px; border-radius:3px; }

.wrapper { padding:10px; width:1200px; margin:auto; position:relative; top:0; left:0; bottom:0; left:0; }

.wrapper { min-height:calc(100vh - 110px); } /* keep footer at bottom */
#footer { height:210px; background:#eee url(../images/bg-bottom-red.jpg?v=2) top center repeat-x; color:#fff; text-shadow:1px 1px 2px #000; text-align:center; padding:30px 20px 20px 20px; }

#header .inner { padding:20px; }
#header h1 { color:#fff; text-shadow:1px 1px 2px #000; }

#navigation .inner { padding:15px 2px; background-color:#232323; color:#fff; text-shadow:1px 1px 2px #000; cursor:pointer; }
#navigation .inner:hover { background-color:#000; cursor:pointer; }
#navigation a { color:#fff; text-decoration:none; display:block; font-size:15px; }
#navigation .col:first-child { padding-left:0; }
#navigation .col:last-child { padding-right:0; }

.button { display:block; padding:15px 30px; text-align:center; border-radius:3px; background-color:#232323; color:#fff; text-shadow:1px 1px 2px #000; text-decoration:none; cursor:pointer; }
.button:hover { background-color:#000; color:#ffa; cursor:pointer; }

#hero { margin-top:5px; background:#eee url(../images/herobg.jpg) center center no-repeat; -webkit-border-radius:3px; -moz-border-radius:3px; border-radius:3px; }
#left { vertical-align:middle; }
#right { vertical-align:middle; }
#right .inner { padding:5px; }

#contents { margin:10px 0 20px 0; background-color:#fff; -webkit-border-radius:3px; -moz-border-radius:3px; border-radius:3px; }

#page .inner { padding:20px 0 20px 20px; }

#footer a { color:#fff; }
#footer a:hover { color:#ffa; }

#form-container { width:100%; }
#searchinput {
	background:none repeat scroll 0 0 #fafafa;
	border:2px solid #232323;
	border-right:none;
	border-radius:3px 0 0 3px; -webkit-border-radius:3px 0 0 3px; -moz-border-radius:3px 0 0 3px;
	color:#5e5e5e;
	display:block;
	padding:10px;
	width:100%;
	box-sizing:border-box;
	font-size:16px;
	margin:0;
	outline:0;
	height:40px;
}
#searchtext { overflow:hidden; }
button.search-submit-button {
	background:none repeat scroll 0 0 #232323;
	border:2px solid #232323;
	border-left:none;
	border-radius:0 3px 3px 0;
	-webkit-border-radius:0 3px 3px 0;
	-moz-border-radius:0 3px 3px 0;
	color:#fff !important;
	text-shadow:1px 1px 2px #000;
	display:block;
	float:right;
	font-size:20px;
	padding:5px 8px 8px 6px;
	text-align:center;
	width:50px;
	box-sizing:border-box;
	outline:0;
	height:40px;
	cursor:pointer;
}
button.search-submit-button:hover {	cursor:pointer;	background-color:#b00; }

/*** HIDDEN MENU ***/

.toggleopen, .toggleopen:hover { cursor:pointer; }
.toggleopen, #hiddenmenu { display:none; }
#hiddenmenu { position:absolute; top:0; bottom:0; left:-100%; right:0; width:100%; padding:10px; }
#hiddenmenu a { color:#fff; text-decoration:none; border-radius:3px; display:block; padding:15px 5px; text-align:center; margin-bottom:5px; background-color:#686868; color:#fff; text-shadow:1px 1px 2px #000; }
#hiddenmenu a:hover { color:#fff; }
/*#hiddenmenu .inner { padding:15px 5px; background-color:#686868; color:#fff; text-shadow:1px 1px 2px #000; }*/
#hiddenmenu button.search-submit-button { background:none repeat scroll 0 0 #686868; border:3px solid #686868; }
#hiddenmenu #searchinput { border:3px solid #686868; }
#hiddenmenu.col { padding:10px; }

.snilogo { margin:0 20px; }

.sidemenu { margin-bottom:20px; background-color:#ddd; border-radius:3px; }
.sidemenuheader { padding:15px 20px; background-color:#232323; color:#fff; text-shadow:1px 1px 2px #000; font-size:19px; font-weight:bold; border-radius:3px 3px 0 0; }
.sidemenucontent { padding:10px 10px 5px 10px; }
.sidemenucontent a { color:#232323; text-decoration:none; font-weight:normal; display:block; background-color:#eee; padding:5px 10px; border-radius:3px; margin-bottom:5px; border-bottom:1px solid #bbb; }
.sidemenucontent a:hover { color:#b00000; background-color:#fff; }

/**********************/
/*** HARD CODED CSS ***/
/**********************/

#pageContents { }
#pageContents img { height:auto !important; }
#pageContents iframe { width:100%; max-width:100% !important; margin:0 10px; }

#postContainer { border-bottom:1px solid #ccc; }
#postContainerPadding { padding:10px; }
#postContainerIcon { float:left; margin:0 15px 0 0; }
#postContainerTitle { margin-bottom:0; }
#postContainerTitle h3 { font-size:16px; margin:0; width:100%; height:25px; line-height:25px; overflow:hidden; }
#postContainerTitle h3 a { color:#b00000; text-decoration:none; }
#postContainerTitle h3 a:hover { color:#676767; text-decoration:underline; }
#postContainerDescription { font-style:italic; margin-bottom:0; font-size:14px; width:100%; height:40px; line-height:45px; overflow:hidden; }
#postContainerStats { padding:0 10px; font-style:italic; }
#postContainerDate { font-size:10px; }
#postContainerAuthor { float:right; font-size:12px; }
#postContainerKeywords { font-size:12px; }
#clear { clear:both; height:1px; }

#postContent {}
#postContent img { -webkit-border-radius:3px; -moz-border-radius:3px; border-radius:3px; }
#postContent iframe { max-width:100% !important; margin:0 !important; }

.postIcon img { -webkit-border-radius:3px; -moz-border-radius:3px; border-radius:3px; }

#morebyContainer { font-style:italic; text-align:center; }

#autoPageBreakPaging { text-align:center; }
#autoPageBreakPaging span { margin:0 3px; }
#autoPageBreakPaging span b { padding:2px 4px; background-color:#000; border:1px solid #000; color:#fff; }
#autoPageBreakPaging span a { padding:2px 4px; background-color:#eee; border:1px solid #ccc; text-decoration:none; }
#autoPageBreakPaging span a:hover { background-color:#000; border:1px solid #000; color:#fff; }

#categoryPostsHeading { padding:10px 15px; margin-bottom:10px; background-color:#333; border-bottom:2px solid #D7C8BC; border-radius:3px; -webkit-border-radius:3px; -moz-border-radius:3px; color:#fff !important; text-decoration:none; text-shadow:1px 1px 2px #000; -webkit-text-shadow:1px 1px 2px #000; -moz-text-shadow:1px 1px 2px #000; }
#categoryPostsHeading a { color:#fff !important; text-decoration:none; text-shadow:1px 1px 2px #000; -webkit-text-shadow:1px 1px 2px #000; -moz-text-shadow:1px 1px 2px #000; }

/*** PAGINATION CSS ***/

#pagingContainer { text-align:center; padding:10px 0; font-weight:bold; }
#pagingContainerForm {}
#pagingContainerPrevLink {}
#pagingContainerPrevLink:hover { color:#000; }
#pagingContainerPrevLinkOff { display:none; }
#pagingContainerNextLink {}
#pagingContainerNextLink:hover { color:#000; }
#pagingContainerNextLinkOff { display:none; }
#pagingContainerDropdown {}
#pagingContainerFormSubmitButton {}

/*** COMMENTS FROM CSS ***/

#commentFormContainer {}
#commentFormContainerHeader {}
#commentFormContainerTextareaContainer {}
#commentFormContainerTextarea {}
#commentFormContainerSubmitButtonContainer { text-align:right; }
#commentFormContainerSubmitButton { border:2px solid #000; background:#000; color:#fff; font-weight:bold; font-size:15px; padding:2px 8px; cursor:pointer; }
#commentFormContainerSubmitButton:hover { background:#ffa; color:#000; }

/*** PRIVATE MESSAGE FORM CSS ***/

#messageFormContainer {}
#messageFormContainerHeader {}
#messageFormContainerTextareaContainer {}
#messageFormContainerTextarea {}
#messageFormContainerSubmitButtonContainer { text-align:right; }
#messageFormContainerSubmitButton { border:2px solid #000; background:#000; color:#fff; font-weight:bold; font-size:15px; padding:2px 8px; cursor:pointer; }
#messageFormContainerSubmitButton:hover { background:#ffa; color:#000; }

/*** MESSAGE CSS ***/

#messageSuccess { padding:10px; background-color:#afa; font-weight:bold; border-top:1px solid #ccc; border-bottom:1px solid #ccc; }
#messageError { padding:10px; background-color:#ff9; font-weight:bold; font-style:italic; border-top:1px solid #aaa; border-bottom:1px solid #aaa; }

/*** CALENDAR CSS ***/

.calendar { width:100%; background-color:#fff; }
.calendarHeader { background-color:#b00000; color:#fff; font-size:18px; height:60px; }
.calendarHeader a { text-decoration:none; color:#fff; }
.calendarHeader a:hover { text-decoration:underline; color:#eee; }
.calendarDayHeader { background-color:#232323; color:#fff; height:30px; }
.calendarBlankDay { background-color:#ccc; width:91px; height:91px; }
.calendarDay { background-color:#eee; text-align:right; vertical-align:top; width:91px; height:91px; }
.calendarDay:hover { background-color:#ccc; }
.calendarToDay { background-color:#ccf; text-align:right; vertical-align:top; width:91px; height:91px; }
.calendarToDay:hover { background-color:#ssf; }
.calendarEvent { text-align:center; padding:4px 2px; margin:2px; background-color:#ffa; border:0px solid #fff; font-size:10px; line-height:14px; }
.calendarEvent a { text-decoration:none; }
.calendarEvent:hover { background-color:#fff; }

/*** CATEGORY MENU LEVELS CSS ***/

/*.lvl1 { font-weight:bold; }
.lvl1 a { color:#ffa; }
.lvl2 { font-weight:normal; padding-left:10px; }
.lvl2 a { color:#eee; }
.lvl3 { font-style:italic; padding-left:10px; }
.lvl4 { font-style:italic; padding-left:10px; }
.lvl5 { font-style:italic; padding-left:10px; }

.lvl1 { padding:2px 0; margin-bottom:0; }
.lvl1_subs { padding:4px 0; }*/

/*** BREADCRUMB TRAIL CSS ***/

#breadcrumbTrail { margin-bottom:10px; }
#breadcrumbTrail * { font-size:10px; }
#breadcrumbTrailTitle {}

/*** CATEGORIES PAGE CSS ***/

#categoriesPageRssFeed {}

/*** SEARCH PAGE ***/

#searchFilters { border:1px solid #ccc; background-color:#eee; text-align:center; }
#searchFiltersPadding { padding:5px 10px; }
#searchFiltersFormSubmitButton { border:1px solid #000; background:#000; color:#fff; font-weight:bold; font-size:12px; padding:2px 4px; cursor:pointer; }
#searchFiltersFormSubmitButton:hover { background:#ffa; color:#000; }

/*** USER SECTIONS CSS ***/

#userAccountPageContents {background-color:#fff;color:#000;}
#userAccountPageContents a {}
#userAccountPageContents i {color:#777;}

#userFormSubmitButton {border:1px solid #000;background:#000;color:#fff;font-weight:bold;font-size:15px;padding:2px 8px;cursor:pointer;}
#userFormSubmitButton:hover {background:#ffa;color:#000;}

/*** ALTERNATE ROW BACKGROUNDS ( used in includes/template_data.php ) ***/

.SP_row_odd {}
.SP_row_odd:hover { background-color:#fafafa; }
.SP_row_even { background-color:#f6f6f6; }
.SP_row_even:hover { background-color:#fafafa; }

.commentRow_even {border:none;margin-bottom:5px;background-color:#fff;}
.commentRow_odd {border-top:1px solid #aaa;border-bottom:1px solid #aaa;margin-bottom:5px;padding:5px;background-color:#eee;}
.commentRow_odd_v2 { border:1px solid #d5d5d5; background-color:#fdfdfd; margin-bottom:5px; border-radius:3px; -webkit-border-radius:3px; -moz-border-radius:3px; }
.commentRow_even_v2 { border:1px solid #d5d5d5; background-color:#fafafa; margin-bottom:5px; border-radius:3px; -webkit-border-radius:3px; -moz-border-radius:3px; }

/*** RESPONSIVE TABLES ***/

table.responsive, .responsive table { border-collapse:collapse; width:100%; }
/*table.responsive th, .responsive table th, table.responsive td, .responsive table td { padding:8px; }*/

.showonsmall { display:none; }

/***************************/
/*** RESPONSIVE TRIGGERS ***/
/***************************/

@media screen and (max-width:1215px){
	.wrapper { width:100%; }
}

@media screen and (max-width:900px){
	.hiddenonmedium { display:none !important; }
}

@media screen and (min-width:601px) {
	#hiddenmenu { display:none !important; } /* ensure #hiddenmenu is hidden on all but SMALL SCREENS */
}

@media screen and (max-width:650px){
	table.responsive th, .responsive table th, table.responsive td, .responsive table td { float:left !important; width:100% !important; }
}

@media screen and (max-width:600px){
	.hiddenonsmall { display:none !important; }
	.showonsmall { display:initial; }
	
	body { background-image:none; background-color:#b00000; }
	#footer { height:auto; background-image:none; background-color:#333; padding:20px 10px 70px 10px; }
		
	#header .inner { padding:0; }
	#header h1 { font-size:29px; line-height:31px; }
	
	#page, #side { display:table-row; }
	#page .inner, #side .inner { margin:10px; padding:20px; }
	/*#side { display:none; }*/

	.snilogo { margin:0 5px; width:80%; }
	
	.toggleopen { display:table-cell; }
	
	.changetoblock { display:block !important; width:100% !important; }
}