/* NORMALIZE */
html { line-height: 1.15; -webkit-text-size-adjust: 100%; background-color:#333; }
body { margin: 0; font-size:20px; }
hr { box-sizing: content-box; height: 0; overflow: visible; border: 0; border-top: solid 1px #ddd; }
pre { font-family: monospace, monospace; font-size: 1em; }
a { background-color: transparent; }
abbr[title] { border-bottom: none; text-decoration: underline; text-decoration: underline dotted; }
b, strong { font-weight: bold; }
code, kbd, samp { font-family: monospace, monospace; font-size: 1em; }
small { font-size: 80%; }
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
sub { bottom: -0.25em; }
sup { top: -0.5em; }
img { border-style: none; max-width: 100%; height: auto; vertical-align: middle; border-radius: 3px; }
button, input, optgroup, select, textarea { font-family: inherit; font-size: 100%; line-height: 1.15; margin: 0; }
button, input { overflow: visible; }
button, select { text-transform: none; }
button, [type="button"], [type="reset"], [type="submit"] { -webkit-appearance: button; }
button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner { border-style: none; padding: 0; }
button:-moz-focusring, [type="button"]:-moz-focusring, [type="reset"]:-moz-focusring, [type="submit"]:-moz-focusring { outline: 1px dotted ButtonText; }
fieldset { padding: 0.35em 0.75em 0.625em; }
legend { box-sizing: border-box; color: inherit; display: table; max-width: 100%; padding: 0; white-space: normal; }
progress { vertical-align: baseline; }
textarea { overflow: auto; }
[type="checkbox"], [type="radio"] { box-sizing: border-box; padding: 0; }
[type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button { height: auto; }
[type="search"] { -webkit-appearance: textfield; outline-offset: -2px; }
[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }
::-webkit-file-upload-button { -webkit-appearance: button; font: inherit; }
main, details { display: block; }
summary { display: list-item; }
template, [hidden] { display: none; }

/* RESET */
*,*::before,*::after { box-sizing: border-box; }
a { text-decoration: none; color: inherit; cursor: pointer; }
button { background-color: transparent; color: inherit; border-width: 0; padding: 0; cursor: pointer; }
input::-moz-focus-inner  { border: 0; padding: 0; margin: 0; }
p { margin: 0; }
h1, h2, h3, h4, h5, h6 { margin: 0; font-size: inherit; font-weight: bold; }
h1, h2, h3, h4, h5, h6, p, ol, ul, table, form { margin-bottom: 20px; }
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a { color: inherit; text-decoration: none; }
fieldset { border-width: 0; padding: 0; margin: 0; }
table { border-collapse: collapse; border-spacing: 0; }
ul, ol { margin:0 0 20px 0; padding: 0; padding-left: 40px; }
ol ol, ul ul, ol ul, ul ol { padding: 10px 0 10px 30px; }
li { margin-bottom: 5px; }
li:last-child { margin-bottom: 0; }
p:last-child, ul:last-child, ol:last-child, table:last-child, form:last-child { margin-bottom: 0; }

/* TYPOGRAPHY */
h1 a strong, h2 a strong, h3 a strong, h4 a strong, h5 a strong, h6 a strong { color: #222; }
h1 { font-size: 160%; }
h2 { font-size: 145%; }
h3 { font-size: 130%; }
h4 { font-size: 120%; }
h5 { font-size: 116%; }
h6 { font-size: 113%; }
em, i { font-style: italic; }
a { text-decoration: none; color:#369; outline: 0; }
a:hover, a:focus { color:#69c; }

/* ALIGNMENT */
.left { text-align: left; }
.center { text-align: center; }
.right { text-align: right; }
.top { vertical-align: top; }
.middle { vertical-align: middle; }
.bottom { vertical-align: bottom; }

/* PADDING */
.pad5 { padding: 5px; }
.pad10 { padding: 10px; }
.pad15 { padding: 15px; }
.pad20 { padding: 20px; }
.pad30 { padding: 30px; }
.pad40 { padding: 40px; }
.pad50 { padding: 50px; }

:root {
	--border-radius: 3px;
	--medium-gray: #686868;
	--dark-gray: #2c2c2c;
	--logo-red: #f00;
	--logo-blue: #0072bc;
	--logo-lightblue: #6dd0f7;
	--logo-orange: #fea226;
	--main-font-family: sans-serif;
}

/* STANDARD */
body {
	background-color: var(--dark-gray);
	font-family: var(--main-font-family);
	color: #444;
}

.navlink {
	color:#fff;
	text-shadow:1px 1px 2px rgba(0,0,0,.65);
	display:block;
	border-radius: 3px;
	padding:9px;
	transition: all .3s ease-out;
}

.navlink:hover, .navlinkactive {
	background-color: #f00;
	color:#fff;
}

.navlink:focus {
	background-color: #f00;
	color:#fff;
}

/* FORM GRID LAYOUT */
form.form {  }
form.form > div { display: table; width: 100%; border-collapse: separate; border-spacing: 12px; }
form.form > div > div { display: table-cell; }
form.form > div > div label { display: block; font-weight: bold; margin-bottom: 5px; }
form.form > div > div input, form.form > div > div select, form.form > div > div textarea { width: 100%; padding:8px 10px; background-color: #eaeaea; border: 1px solid #ccc; border-radius: 3px; }
form.form > div > div input:focus, form.form > div > div select:focus, form.form > div > div textarea:focus { outline:3px solid #f00; }
form.form > div > div textarea { min-height: 100px; }
form.form button, form.form input[type=submit] {
	display: inline-block;
	border: none;
	border-radius: 3px;
	padding: 10px 25px;
	font-size: 100%;
	background-color: #f00;
	color: #fff;
	text-shadow: 1px 1px 2px rgba(0,0,0,.65);
	cursor: pointer;
	transition: all .3s ease-out;
}
form.form button:hover, form.form input[type=submit]:hover, form.form button:focus, form.form input[type=submit]:focus {
	background-color: #222;
}

form.form button:focus, form.form input[type=submit]:focus {
	outline:3px solid #f00;
}

/* FORM BREAKPOINTS */
@media screen and (max-width: 800px){
	form.form > div > div { display: block; width: 100% !important; margin-bottom: 10px; }
}

/* GRID LAYOUT */
body > div {  }
body > div > div { display:table; width:1400px; height:auto; margin:0 auto; }
body > div > div > div { padding:0 5px; display:table-cell; text-align:center; vertical-align:top; }
body > div > div > div:first-child { padding-left:0; }
body > div > div > div:last-child { padding-right:0; }
body > div > div > div > div {  }

/* WIDTHS */
.p10 { width:10%; }
.p15 { width:15%; }
.p20 { width:20%; }
.p25 { width:25%; }
.p30 { width:30%; }
.p33 { width:33.33%; }
.p35 { width:35%; }
.p40 { width:40%; }
.p45 { width:45%; }
.p47 { width:47%; }
.p48 { width:48%; }
.p50 { width:50%; }
.p55 { width:55%; }
.p60 { width:60%; }
.p65 { width:65%; }
.p70 { width:70%; }
.p75 { width:75%; }
.p80 { width:80%; }
.p85 { width:85%; }
.p90 { width:90%; }

.mobile {
	display:none;
	position:fixed;
	top:10px;
	right:0;
	font-size:180%;
	z-index:2;
}
.mobilenavlink {
	background-color: #f00;
	color:#fff;
	text-shadow:1px 1px 2px rgba(0,0,0,.65);
	display:block;
	border-radius: 3px 0 0 3px;
	padding:0 7px 0 9px !important;
}

.mobilenavlink:hover {
	background-color: #333;
	color:#fff;
	border-radius: 3px 0 0 0;
}

.mobilenavsub {
	display:none;
	position:fixed;
	top:52px;
	left:0;
	right:0;
	background-color: #333;
	border-radius: 0;
	text-align: center;
	border-bottom: 5px solid #fea226;
	-webkit-box-shadow: 0px 12px 12px -6px rgba(0,0,0,1);-moz-box-shadow: 0px 12px 12px -6px rgba(0,0,0,1);box-shadow: 0px 12px 12px -6px rgba(0,0,0,1);
}
.mobilenavsub a {
	display:block;
	color:#fff;
	text-shadow:1px 1px 2px rgba(0,0,0,.65);
	font-size:70%;
	padding:15px;
	margin-right:5px;
	border-bottom:1px solid #ccc;
}

.mobilenavsub a:last-child {
	border-bottom:0;
}

.navparent:hover > .mobilenavsub {
	display:block;
}

/* CONTENTS */
#page {  }
#side {  }
#side ul, #side ol { list-style:none; margin:0 !important; padding:0 !important; }
#side ul li { margin:0; padding:0; }

/* BUTTONS */
.button {
	display: inline-block;
	border: none;
	border-radius: 3px;
	padding: 10px 25px;
	font-size: 100%;
	background-color: #f00;
	color: #fff;
	text-shadow: 1px 1px 2px rgba(0,0,0,.65);
	cursor: pointer;
	transition: all .3s ease-out;
}
.button:hover, .button:focus { background-color: #222; }
.button:focus { outline:3px solid #f00; }

/* OTHER BREAKPOINTS */
@media screen and (max-width: 1417px) {
	body > div > div { width:93%; }
}

@media screen and (max-width: 1000px) {
	body > div > div { width:95%; }
	.hideonmd { display:none; }
	.noleftpaddingonmd { padding-left:0; }
	.norightpaddingonmd { padding-right:0; }
}

@media screen and (max-width: 870px) {
	body > div > div > div { display:block; width:100% !important; margin-bottom:20px; }
	.hideonsm { display:none; }
	.mobile { display:block; }
	.nopadonsm { padding:0; }
	.pad25101010onsm { padding:25px 10px 10px 10px; }
	.pad2010onsm { padding:20px 10px !important; }
	.noleftpaddingonsm { padding-left:0; }
	.norightpaddingonsm { padding-right:0; }
	.blockonsm { display:block; }
}

.navparent {
	position: relative;
}
.navsub {
	display:none;
	position:absolute;
	background-color: #333;
	padding:10px 15px;
	border-radius: 0 0 3px 3px;
	text-align: left;
	border-bottom: 5px solid #fea226;
	-webkit-box-shadow: 0px 12px 12px -6px rgba(0,0,0,1);-moz-box-shadow: 0px 12px 12px -6px rgba(0,0,0,1);box-shadow: 0px 12px 12px -6px rgba(0,0,0,1);
}
.navsub a {
	display:block;
	color:#fff;
	text-shadow:1px 1px 2px rgba(0,0,0,.65);
	font-size:16px;
	padding:10px 0;
	border-bottom:1px solid #ccc;
	transition: all .3s ease-out;
}
.navsub a:hover, .navsub a:focus {
	background-color: #444;
	background: linear-gradient(90deg, rgba(68,68,68,1) 0%, rgba(68,68,68,0) 100%);
	padding-left:10px;
}
.navsub a:last-child {
	border-bottom:0;
}
.navparent:hover > .navsub {
	display:block;
	font-size: 40px;
}
.navsubsm { width:140%; }
.navsubmd { width:200%; }
.navsublg { width:240%; }

/* ANIMATE ELEMENTS */
.slidefromtop { animation: .5s ease-out 0s 1 slidefromtop; }
.slidefrombottom { animation: .5s ease-out 0s 1 slidefrombottom; }
.slidefromleft { animation: .5s ease-out 0s 1 slidefromleft; }
.slidefromright { animation: .5s ease-out 0s 1 slidefromright; }
.fadein { animation: .25s ease-in 0s 1 fadein; }
.flash { animation: 2s ease-in-out 0s infinite flash; }

@keyframes slidefromtop {
	0% { transform: translateY(-100%); }
	100% { transform: translateY(0); }
	from { opacity:0; } to { opacity:1; }
}
@keyframes slidefromleft {
	0% { transform: translateX(-100%); }
	100% { transform: translateX(0); }
	from { opacity:0; } to { opacity:1; }
}
@keyframes slidefromright {
	-100% { transform: translateX(0); }
	0% { transform: translateX(100%); }
	from { opacity:0; } to { opacity:1; }
}
@keyframes slidefrombottom {
	0% { transform: translateY(200%); }
	100% { transform: translateY(0); }
	from { opacity:0; } to { opacity:1; }
}
@keyframes fadein {
	from { opacity:0; } to { opacity:1; }
}
@keyframes flash {
	0% { opacity:.7; }
	50% { opacity:1; }
	100% { opacity:.7; }
}


/**********************/
/*** HARD CODED CSS ***/
/**********************/

#pageContents { }
#pageContents img { }
#pageContents iframe { width:100%; max-width:100% !important; margin:0; }

#postContainer { margin-bottom:20px; background-color:#fff; border-radius:3px; -webkit-box-shadow: 0px 12px 12px -6px rgba(0,0,0,.8);-moz-box-shadow: 0px 12px 12px -6px rgba(0,0,0,.8);box-shadow: 0px 12px 12px -6px rgba(0,0,0,.8); }
#postContainerPadding { padding:20px; }
#postContainerIcon { float:left; margin:0 20px 0 0; }
#postContainerTitle { margin-bottom:10px; }
#postContainerTitle h3 { font-size:105%; width:100%; margin-bottom:0; }
#postContainerTitle h3 a { color:#222; }
#postContainerDescription { margin-bottom:10px; font-size:85%; width:100%; }
#postContainerStats { padding:0 20px; font-style:italic; text-align:right; }
#postContainerDate { font-size:60%; margin-right:15px; }
#postContainerAuthor { font-size:60%; }
#postContainerKeywords { display:none; }
#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; margin-bottom:10px; background-color:#333; border-top:1px solid #D7C8BC; 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:80%; padding:7px 14px; 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:80%; padding:7px 14px; cursor:pointer; }
#messageFormContainerSubmitButton:hover { background:#ffa; color:#000; }

/*** MESSAGE CSS ***/

#messageSuccess { padding:20px; background-color:#afa; font-weight:bold; border-top:1px solid #ccc; border-bottom:1px solid #ccc; }
#messageError { padding:20px; 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:#7F2119; border-collapse:separate; border-spacing:1px; border-radius:3px; }
.calendarHeader { background-color:#7F2119; color:#fff; font-size:16px; height:60px; vertical-align:middle; }
.calendarHeader a { text-decoration:none; color:#fff; }
.calendarHeader a:hover { text-decoration:underline; color:#F0E6B1; }
.calendarDayHeader { background-color:#201F1B; color:#fff; font-size:14px; height:30px; vertical-align:middle; }
.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:#F0E6B1; }
.calendarToDay { background-color:#F0E6B1; text-align:right; vertical-align:top; width:91px; height:91px; }
.calendarToDay:hover { background-color:#F0E6B1; }
.calendarEvent { text-align:center; padding:5px; margin:5px; background-color:#7F2119; color:#fff; border-radius:3px; font-size:12px; line-height:17px; }
.calendarEvent a { text-decoration:none; color:#fff; font-size:12px; line-height:17px; }
.calendarEvent:hover { background-color:#201F1B; }

/*** UPCOMING EVENTS MENU CSS ***/

#upcomingEventsMenu {  }
#upcomingEventsMenu li { margin-bottom:0; font-size:16px; }
#upcomingEventsMenu li:last-child { margin-bottom:20px; }
#upcomingEventsMenu li a { display:block; font-size:16px; padding:5px; text-decoration:none; border-radius:3px; }
#upcomingEventsMenu li a:hover { background-color:#F0E6B1; }
#upcomingEventsMenu li b { display:block; padding:5px; margin-bottom:5px; background-color:#201F1B; color:#fff; border-radius:3px; }

/*** 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:15px; }
#breadcrumbTrail * { font-size:70%; }
#breadcrumbTrailTitle {}

/*** CATEGORIES PAGE CSS ***/

#categoriesPageRssFeed {}

/*** SEARCH PAGE ***/

#searchFilters { border:1px solid #ccc; background-color:#eee; text-align:center; }
#searchFiltersPadding { padding:10px 15px; }
#searchFiltersFormSubmitButton { border:1px solid #000; background:#000; color:#fff; font-weight:bold; font-size:80%; padding:7px 14px; cursor:pointer; }
#searchFiltersFormSubmitButton:hover { background:#ffa; color:#000; }

/*** USER SECTIONS CSS ***/

#userAccountPageContents {  }
#userAccountPageContents a {  }
#userAccountPageContents i {  }
#userAccountPageContents h1,
#userAccountPageContents h2,
#userAccountPageContents h3 { margin:0 0 10px 0; }

#userFormSubmitButton {border:1px solid #000;background:#000;color:#fff;font-weight:bold;font-size:80%;padding:7px 14px;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; }*/

/*********************************/
/*** EXTRA RESPONSIVE TRIGGERS ***/
/*********************************/

@media screen and (max-width:801px){
	table, tr, th, td, tbody { display:block !important; width:100% !important; }
	table.calendar { display:none !important; }
	.button { width:100% !important; }
}
