/*=================== RESET ======================== */

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, font, img, 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 { margin: 0; padding: 0; border: 0; outline: 0; font-size: 100%; vertical-align: baseline; background: transparent; }
body          { line-height: 1; }
ol, ul        { list-style: none; }
blockquote, q { quotes: none; }
blockquote:before, blockquote:after, q:before, q:after { content: ''; content: none; }
:focus { outline: 0; }
ins    { text-decoration: none; }
del    { text-decoration: line-through; }
table  { border-collapse: collapse; border-spacing: 0; }

/*=================== BASE ======================== */

body {
	font-family:"Helvetica Neue", Arial, Helvetica, sans-serif, 'Liberation Sans', FreeSans, sans-serif;
  font-size:62.5%; /* Set 1em = 10px */
}

/* Links
--------------------------------------------------------- */

a {
	text-decoration:none;
}

a:hover {
	text-decoration:underline;
}

/* Headings
--------------------------------------------------------- */

h1,h2,h3,h4,h5,h6 {
	font-weight:700;
}

h1 {
	font-size:3em;
	line-height:1;
	margin-bottom:.5em;
}

h2 {
	font-size:2em;
	margin-bottom:.75em;
}

h3 {
	font-size:1.5em;
	line-height:1;
	margin-bottom:1em;
}

h4 {
	font-size:1.3em;
	line-height:1.25;
	margin-bottom:1.25em;
}

h5 {
	font-size:1em;
	font-weight:700;
	margin-bottom:1.5em;
}

h6 {
	font-size:1em;
	font-weight:700;
}

h1 img,h2 img,h3 img,h4 img,h5 img,h6 img {
	margin:0;
}

/* Text elements
--------------------------------------------------------- */

p {
	margin:1em 0;
}

blockquote {
	margin:1.5em;
}

strong {
	font-weight:700;
}

em {
	font-style:italic;
}

pre,
code {
	margin:1.5em 0;
	white-space:pre;
}

pre,
code {
	font:1em monospace;
	line-height:1.5;
}

address {
  font-weight:bold;
  font-size:1.4em;
  color:#444;
}

/* Lists
--------------------------------------------------------- */

li ul,li ol {
	margin:0 1.5em;
}

ul,ol {
	margin:0 1.5em 1.5em;
}

dl {
	margin:0 0 1.5em;
}

  dl dt {
    font-weight:700;
  }

  dl dd {
    margin-left:1.5em;
  }

dl.inline dd {
  margin:0 0 1em 75px;
}

dl.inline dt {
  float:left;
}

/* Tables
--------------------------------------------------------- */

table {
	margin-bottom:1.4em;
	width:100%;
}

th {
	font-weight:700;
}

thead th {
	background:#c3d9ff;
}

th,
td,
caption {
	padding:4px 10px 4px 5px;
}

tr.even td {
	background:#e5ecf9;
}

tfoot {
	font-style:italic;
}

caption {
	background:#eee;
}

/* Sizing / Positioning
--------------------------------------------------------- */
.small {
	font-size:.8em;
	margin-bottom:1.875em;
	line-height:1.875em;
}

.large {
	font-size:1.2em;
	/* line-height:2.5em; */
	/* margin-bottom:1.25em; */
}

.first {
	margin-left:0;
	padding-left:0;
}

.last {
	margin-right:0;
	padding-right:0;
}

.top {
	margin-top:0;
	padding-top:0;
}

.bottom {
	margin-bottom:0;
	padding-bottom:0;
}


.aligncenter,
div.aligncenter {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

img.centered {
	display: block;
	margin-left: auto;
	margin-right: auto;
	}

img.alignright {
	padding: 4px;
	margin: 0 0 2px 7px;
	display: inline;
	}

img.alignleft {
	padding: 4px;
	margin: 0 7px 2px 0;
	display: inline;
	}

.alignright {
	float: right;
	}

.alignleft {
	float: left;
}

p.nopad {
  margin:0;
  padding:0;
}

/*=================== SUPPORT ===================== */

/* Success, notice and error boxes
--------------------------------------------------------- */
.error,.notice,.success {
	padding:.8em;
	margin-bottom:1em;
	border:2px solid #ddd;
}

.error {
	background:#FBE3E4;
	color:#8a1f11;
	border-color:#FBC2C4;
}

.notice {
	background:#FFF6BF;
	color:#514721;
	border-color:#FFD324;
}

.success {
	background:#E6EFC2;
	color:#264409;
	border-color:#C6D880;
}

/* Clear Floated Elements 
--------------------------------------------------------- */

.clear {
	clear:both;
	display:block;
	overflow:hidden;
	visibility:hidden;
	width:0;
	height:0;
}

.clearfix:after {
	clear:both;
	content:'.';
	display:block;
	visibility:hidden;
	height:0;
}

.clearfix {
	display:inline-block;
}

/* IE HACK */
* html .clearfix {
	height:1%;
}

.clearfix {
	display:block;
}


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


html,
body {
  min-height:100%;
}

body {
  background: url(images/bg_body.png) repeat;
  margin:0;
  padding:0;
}

#doc {
  position:relative;
  background: url(images/sp_body.jpg) no-repeat 0 0;
  min-height:100%;
  height:100%;
}

  #hd .ct ,
  #ft .ct {
    width:960px;
    margin: 0 auto;
  }

  #hd {
    position:relative;
    width:100%;
    height:200px;
  }

    #hd #deco-hd {
      position:absolute;
      left:0;
      top:0;
      width:30%;
      height:200px;
      background: url(images/bg_hd.png) no-repeat 0 50px;
      overflow:hidden;
    }

    #hd .ct {
      background: url(images/bg_hd.png) no-repeat 100% 50px;
      height:200px;
    }

      #logo {
        position:absolute;
        left:12px;
        z-index:100;
      }

        #logo a {
          position:relative;
          display:block;
          background: url(images/sp_logo.png) no-repeat 0 -25px;
          width: 266px;
          height: 242px; /*-25px*/
          text-indent:-9999em;
        }

      #slogan {
        position:relative;
        top:160px;
        left:170px;
      }

  #ct {
    position:relative;
    width: 960px;
    margin:0 auto 3em auto;
  }

  #ft {
    clear:both;
    background: #be2008;
    position: relative;
    bottom:0;
    width:100%;
  }

/* MENUS
--------------------------------------------------------- */

  /* Header */

  #mn-hd-ct  {
    position:relative;
    z-index:100;
  }

    #mn-hd-ct .bt {
      background:url(images/bg_menu.png) no-repeat 100% 0;
      height:34px;
      position:absolute;
      width:4px;
      right:0;
      top:8px;
    }

  #mn-hd {
    position:relative;
    margin:8px auto;
    margin-right:4px;
    float:right;
    text-align:center;
    background:url(images/bg_menu.png) no-repeat;
    height:34px;
  }

    #mn-hd li {
      position:relative;
      padding: 0 1.5em;
      top: 8px;
      height: 48px;
      background:url(images/bg_menu_li.png) no-repeat 100% -4px;
      display:inline-block;
    }

      #mn-hd li.current_page_ancestor a,
      #mn-hd li.current_page_item a,
      #mn-hd li:hover a {
        color: #d95e00;
      }

    #mn-hd li ul {
      position: absolute;
      left: -999em;
      padding:0;
      margin:0;
      box-shadow: 4px 8px 8px rgba(0,0,0,0.5);
      -moz-box-shadow: 4px 8px 8px rgba(0,0,0,0.5);
      -webkit-box-shadow: 4px 8px 8px rgba(0,0,0,0.5);
    }

      #mn-hd li ul li {
        background: #f8f5f2;
        margin:0;
        padding:0;
        height:auto;
      }

        #mn-hd li ul li ul {
          display:none;
        }

      #mn-hd li ul li a {
        position:relative;
        width:14em;
        display:block;
        padding: 1em 0.5em;
      }

    #mn-hd li:hover ul {
      left:10px;
      top:10px;
    }

      #mn-hd li:hover ul a {
        color: #913f01;
        font-size:1.2em;
      }

        #mn-hd li:hover ul li {
          border-bottom:1px solid #ddd;
        }

        #mn-hd li:hover ul li:hover a {
          color: #c45602;
          background:#e6e1dc;
        }

    #mn-hd li.last {
      background:none;
    }

      #mn-hd li a {
        color: #913f01;
        font-size:1.6em;
        text-decoration:none;
        display:inline-block;
      }

  /* Footer */

  #mn-copyright,
  #mn-ft {
    position: relative;
    padding: 1em 0;
    margin:0;
  }

    #mn-copyright li,
    #mn-ft li {
      display:inline;
      color: #fff;
    }

      #mn-copyright li a,
      #mn-ft li a {
        color: #fff;
      }


  #mn-copyright {
    display:inline-block;
  }

  #mn-copyright li.first:after {
    content:"\00a0\2022\00a0"
  }

  #mn-ft {
    float:right;
  }

    #mn-ft li {
      margin-right: 0.5em;
    }

  /* Page */
  #mn-page-ct {
    background:url(images/bg_page_menu.png) no-repeat 0 100%;
    width:238px;
    margin:65px 0 0 23px;
    padding:5px 0;
  }

    #mn-page-ct .tp {
      background:url(images/bg_page_menu.png) no-repeat 0 0;
      width:238px;
      height:5px;
    }

    #mn-page {
      position:relative;
      background:url(images/bg_page_menu_rpt.png) repeat-y;
      width:238px;
      min-height:400px;
      padding-top:1em;
    }

      #mn-page li {
        width:238px;
      }

        #mn-page li a {
          color: #fff;
          font-size:1.4em;
          display:block;
          padding: 0.5em;
          text-decoration:none;
        }

        #mn-page li a:hover {
          color:#ffee78;
        }

        #mn-page li.current_page_item a {
          color:#ffbb45;
        }

            #mn-page li.current_page_item ul li a {
              color:#fff;
            }

        #mn-page li.even {
          background:url(images/bg_page_menu_item.png) repeat-y;
        }

          #mn-page li ul li {
            text-indent:1em;
          }

            #mn-page li ul li a{
              font-size:1.2em;
            }

          #mn-page li ul li ul li{
            text-indent:2em;
          }

            #mn-page li ul li ul li a{
              font-size:1em;
            }


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

a {
  color: #000;
  text-decoration:underline;
  font-weight:bold;
}


p {
  color:#666;
}

.important {
  color:#4469ff;
}

h2 {
  background:#000;
  color:#fff;
  text-decoration:none;
}

  h2 a, h3 a, h4 a {
    background:none;
    color:#fff;
    text-decoration:none;
  }

  /* .entry h2 a { */
    /* color:#444; */
  /* } */
h2.title {
 text-shadow: 1px 1px rgba(255,255,255,0.3) 
}


/* ADDITIONAL LAYOUT / SUPPORT
--------------------------------------------------------- */
.box,
.ct{
  position:relative;
}

.box {
  background:#f5f5f9;
  padding:0.5em;
  margin:0.5em 0;
}

  .box h2 a,
  .box h2 {
    color:#222;
  }

.flft {
  position:relative;
  float:left;
}

.frgt {
  position:relative;
  float:right;
}

.col {
  position:relative;
  margin:0 10px;
  padding:0;
}

  .col ul {
    margin:0;
    padding:0;
  }

.col-lft {
  float:left;
  width:220px;
}

.col-ctr {
  margin:0 310px 0 240px;
  padding:10px;
}

.col-rgt {
  float:right;
  width:290px;
}

.col-page-ct {
  width:500px;
}

.col-page-sd {
  width:160px;
}

div.page img.size-thumbnail ,
img.size-thumbnail {
  border: 2px solid #bf210a;
  -moz-border-radius:2px;
  -webkit-border-radius:2px;
}

table.equipment {
	color:#FFF;
	background:#33b6d2;
	border-collapse:collapse;
	border:3px solid #0f99b8;
}

table.equipment td {
	padding:.5em 1em;
 	border-bottom:1px dotted #0f99b8;
}

table.equipment col.even {
  background:#1ba3c2;
}

table.equipment tr.section td {
  background:#444;
}

table.equipment tr.section h4 {
  margin-bottom:0;
  color: #fff;
}

ul.contact li {
  float:left;
  width:33%;
  text-align:left;
}

ul.contact {
  width:700px;
  text-align:center;
  float:left;
}

ul.contact h4 {
  margin-bottom:0.5em;
}

/* SIDEBAR
--------------------------------------------------------- */
.widget_sp_image a ,
.widget_sp_image img {
  display:block;
  line-height:0;
  font-size:0;
}
.col-ctr,
.col-rgt ul li.widget ,
.col-lft ul li.widget {
  background: #fff url(images/bg_content.png) repeat-x;
  border: 3px solid #bf210a;
  -moz-border-radius:2px;
  -webkit-border-radius:2px;
}

.col-rgt ul li.widget ,
.col-lft ul li.widget {
  margin-bottom:1em;
}

.widget_html_javascript_adder .widgettitle ,
.widget_sp_image .widgettitle {
  display:none;
}

.col-rgt ul li.widget_text ,
.col-lft ul li.widget_text {
  background:#ffdd00;
}

  .widget_text .widgettitle {
    background:none;
    color:#000;
    padding: 0.25em 0 0 0.25em;
    margin-bottom:0.25em;
  }

  .widget_text .textwidget {
    padding: 0.25em 0.5em 1em 0.5em;
    font-size:1.2em;
    line-height:1.3;
  }

#upcoming-events li {
  border-bottom:1px dotted #ccc;
  margin-bottom:1.5em;
  min-height:50px;
}

#upcoming-events h4 {
  background:#000;
  color:#fff;
  text-decoration:none;
  margin-bottom:0.25em;
}

#upcoming-events p {
  margin:0.25em 0 0.75em 0;
}

#upcoming-events div.date {
  position:relative;
  float:left;
  width:48px;
  height:49px;
  background: url(images/bg_date.png) no-repeat 3px 0;
  font-family: "Times New Roman", serif;
  font-weight:bold;
  text-align:center;
  padding-top:5px;
  color:#222;
}

#upcoming-events .day,
#upcoming-events .month {
  display:block;
  line-height:18px;
}

  #upcoming-events .day {
    font-size:18px;
  }

  #upcoming-events .month {
    font-size:14px;
  }


#upcoming-events .title {
  display:inline-block;
  padding:0 0.75em;
}

#upcoming-events .ct {
  margin-left:60px;
}

#upcoming-events .widgettitle {
  background: transparent url(images/sp_upcoming_events.png) no-repeat;
  width:244px;
  height:71px;
  position:relative;
  display:block;
  text-indent:-9999em;
  margin-top:-50px;
}

.post .ngg-galleryoverview {
  clear:none;
}

.ngg_images {
  margin-top:25px;
  text-align:right;
}

  .ngg_images .widgettitle {
    background: transparent url(images/sp_photos.png) no-repeat;
    width:214px;
    height:38px;
    position:relative;
    display:block;
    text-indent:-9999em;
    margin-top:-15px;
    margin-left:-10px;
    text-align:left;
  }

  .ngg_images span.more {
    position:relative;
    right:4px;
    text-align: center;
    display:inline-block;
    overflow:hidden;
    background:url(images/btn_more.png) no-repeat 100% 0;
    padding-right:16px;
    height:34px;
  }

    .ngg_images span.more:hover {
      background-position:100% -34px;
    }

      .ngg_images span.more:hover a {
        background-position:0 -34px;
      }

    .ngg_images span.more a {
      display:inline-block;
      height:34px;
      background:url(images/btn_more.png) no-repeat 0 0;
      padding:0 8px 0 22px;
      font-size:1.5em;
      padding-top:10px;
      text-decoration:none;
      color:#bf210a;
    }

  /* Need the selector to override widget stylesheet */
  .col .ngg-widget img {
    padding:0;
    border: 1px solid #bf210a;
  }

  .col .ngg-widget {
    margin-left:14px;
    padding-bottom:1em;
  }

.ngg-navigation {
  padding: 15px 0;
}

/* POSTS/PAGES
--------------------------------------------------------- */

#hd-news {
  background: transparent url(images/sp_news.png) no-repeat;
  width:244px;
  height:71px;
  position:relative;
  display:block;
  text-indent:-9999em;
  margin-top:-50px;
}

.col-ctr .post {
  border-bottom:1px dotted #ccc;
  margin-bottom:2em;
}

.col-ctr .post h2 {
  margin-bottom: 0.25em;
  font-size:1.8em;
  padding:0.1em 0.25em;
}

.col-ctr .post p {
  line-height:1.3em;
  font-size:1.2em;
}

.entry {
  margin-top:1em;
}

div.page {
  width:700px;
  margin-left:260px;
}

div.page img {
  border: 1px solid #ddd;
}

div.page h2.title{
  background:none;
  color:#111;
  font-size:3em;
  margin:0;
  text-align: right;
}

div.page .entry {
  background: #fff url(images/bg_content.png) repeat-x;
  border: 3px solid #bf210a;
  -moz-border-radius:2px;
  -webkit-border-radius:2px;
  padding:1em;
  min-height:500px;
}

div.page .entry li {
  margin-bottom:1em;
}

div.page .entry dd,
div.page .entry dt,
div.page .entry p ,
div.page .entry li {
  color:#666;
  font-size:1.2em;
  line-height:1.3em;
}

div.page .entry dt{
  color:#222;
}

div.page .entry ol {
  list-style: decimal;
}
div.page .entry ol li {
  margin-left:1em;
}

div.page .entry h2, 
div.page .entry h3, 
div.page .entry h4 {
  background:none;
  text-align:left;
  color:#444;
}
/* GALLERY
--------------------------------------------------------- */

#gallery-front {
  position:relative;
  width:960px;
  height:300px;
  margin:-20px 0 70px 0;
  border: 3px solid #bf210a;
  padding:10px 0 70px 0;
  background:#fff url(images/bg_callouts.png) repeat-x;
  -moz-border-radius:8px 8px 0 0;
  -webkit-border-radius:2px; /* Large amounts look like crap */
}

#gallery-front ul {
  margin:0;
  padding:0;
  position:relative;
}

#gallery-front .slide-ct {
  position:relative;
  padding:0 10px 5px 10px;
}

#gallery-front ul.slides li {
  position:absolute;
  top:0;
  display:none;
}

  #gallery-front ul.slides li.active {
    display:block;
  }

  #gallery-front ul.slides li span {
    position:absolute;
    bottom:1em;
    left:1em;
    color:#fff;
    background:#4469ff;
    padding:0.5em 1em;
    font-size:1.5em;
    font-weight:bold;
    letter-spacing:0.15em;
  }

  #gallery-front ul.mn {
    position:relative;
    top:300px;
  }

  #gallery-front ul.mn li{
    float:left;
    display:inline;
  }

    #gallery-front ul.mn li a{
      display:block;
      width: 230px;
      height:40px;
      border-bottom:5px solid #ccc;
      border-top:1px solid #c2d3d5;
      background: url(images/bg_callout_item.png) no-repeat 100% 0;
      text-decoration:none;
      font-size:2em;
      padding:10px 0 0 10px;
      color:#111;
    }

      #gallery-front ul.mn li.last a{
        background: #edf6fb url(images/bg_callout_item.png) no-repeat 0 0;
      }

      #gallery-front ul.mn li.last.active a,
      #gallery-front ul.mn li.active a{
        background: #edf6fb url(images/bg_callout_item_active.png) repeat-x 0 0;
        border-top-color: #fff;
        color: #e03e2e;
      }

  #gallery-front ul.mn #mn-slide-1 a{
    border-bottom-color: #ff00bb;
  }

  #gallery-front ul.mn #mn-slide-2 a{
    border-bottom-color: #18d3bc;
  }

  #gallery-front ul.mn #mn-slide-3 a{
    border-bottom-color: #179ed3;
  }

  #gallery-front ul.mn #mn-slide-4 a{
    border-bottom-color: #f7d531;
  }

  #gallery-front ul.mn #mn-slide-5 a{
    border-bottom-color: #a1d006;
  }

.ngg-galleryoverview {
  margin:0 auto;
  text-align:center;
}

/* Contact Form
--------------------------------------------------------- */

input[type='text'],
textarea,
select {
	margin:0.4em 0 0.8em 0;
	border:1px solid #bbb;
  width:400px;
}

input[type='text']:focus,
textarea:focus,
select:focus {
	border:1px solid #666;
}

input.short {
  width:100px;
}

form p label {
  position:relative;
  width:100px;
  float:left;
}

/* Contact Form 7 litters the markup with these */
form p br {
  display:none;
}

form input[type='submit'] {
  background: #e54536;
  border:none;
  color:#fff;
  padding: 4px;
  font-weight:bold;
  cursor: pointer;
}

  form input[type='submit']:hover {
    color:#ffbb45;
  }

form p input[type='submit'] {
}

fieldset {
  margin-bottom:1em;
}

legend {
  font-weight:bold;
  font-size:1.7em;
}

span.required {
  color:#f00;
}

label.required:after {
  content:" *";
  font-size:1.4em;
  color:#f00;
}
/* Misc
--------------------------------------------------------- */
/* Don't display by default in case js is turned off*/
#gmaps {
  display:none;
  border: 1px solid #bf210a;
}

div.navigation {
  padding:1em 0;
}

/* Calendar - Ripped from plugin to remove inline styles */
.calnk a:hover {
  background-position:0 0;
  text-decoration:none;  
  color:#000000;
  border-bottom:1px dotted #000000;
 }
 .calnk a:visited {
   text-decoration:none;
   color:#000000;
   border-bottom:1px dotted #000000;
}
.calnk a {
  text-decoration:none; 
  color:#000000; 
  border-bottom:1px dotted #000000;
}
.calnk a span { 
  display:none; 
}
.calnk a:hover span {
  color:#333333; 
  background:#F6F79B; 
  display:block;
  position:absolute; 
  margin-top:1px; 
  padding:5px; 
  width:150px; 
  z-index:100;
}
.calendar-table {
  border:none;
  width:100%;
}
.calendar-heading {
  height:25px;
  text-align:center;
  border:1px solid #d4dbdf;
  background-color:#e9eff3;
}
.calendar-next {
  width:25%;
  text-align:center;
}
.calendar-prev {
  width:25%;
  text-align:center;
}
.calendar-month {
  width:50%;
  text-align:center;
  font-weight:bold;
}
.normal-day-heading {
  text-align:center;
  width:25px;
  height:25px;
  border:1px solid #DFE6DE;
  background-color:#e2e8ec;
}
.weekend-heading {
  text-align:center;
  width:25px;
  height:25px;
  border:1px solid #DFE6DE;
  background-color:#e2e8ec;
  color:#666;
}

.day-with-date {
  vertical-align:text-top;
  text-align:left;
  width:60px;
  height:60px;
  border:1px solid #DFE6DE;
}

.no-events {
}

.day-without-date {
  width:60px;
  height:60px;
  border:1px solid #E9F0E8;
}

span.weekend {
  color:#FF0000;
}

.current-day {
  vertical-align:text-top;
  text-align:left;
  width:60px;
  height:60px;
  border:1px solid #BFBFBF;
  background-color:#e2e8ec;
}
span.event {
  font-size:0.75em;
}
.kjo-link {
  font-size:0.75em;
  text-align:center;
}
.event-title {
  text-align:center;
  font-weight:bold;
  font-size:1.2em;
}
.event-title-break {
  width:96%;
  margin-left:2%;
  margin-right:2%;
  margin-top:5px;
  margin-bottom:5px;
  text-align:center;
  height:1px;
  background-color:#000000;
}
.event-content-break {
  width:96%;
  margin-left:2%;
  margin-right:2%;
  margin-top:5px;
  margin-bottom:5px;
  text-align:center;
  height:1px;
  background-color:#000000;
}
.calendar-date-switcher {
  height:25px;
  text-align:center;
  border:1px solid #D6DED5;
  background-color:#E4EBE3;
}
.calendar-date-switcher form {
  margin:0;
  padding:0;
}
.calendar-date-switcher input {
  border:1px #D6DED5 solid;
}
.calendar-date-switcher select {
  border:1px #D6DED5 solid;
}
.cat-key {
  width:100%;
  margin-top:10px;
  padding:5px;
  border:1px solid #D6DED5;
}

.amzn_wdgt input[type=text] {
  width: 230px;
}

.col-rgt ul li.widget.widget_html_javascript_adder {
  background:none;
  border:none;
}

