/* GPL-Stylesheet-ID: gpls01default */
/* GPL-Stylesheet-Name: Basic Blue */
/* GPL-Stylesheet-Updated: 2017-Nov-01 12:56 */

/* *********************** G L O B A L **************************** */
body {
   margin:                      0px;
   padding:                     0px;
   background-color:            #EEEEEE;
   color:                       black;
   font-family:                 "Georgia", "Bitstream Charter", "Bitstream Vera Serif", serif;
}

/* ********************** H E A D E R ***************************** */
div#siteheader {
   text-align:                  center;
   background-color:            #729CDB; /* #AAC2E8; */
   background-image:            url(/img/style-elements/summer/library-summer-bnr3-gradient-200.png);
   background-repeat:           repeat-x;
   background-position:         bottom left;
}
div#siteheadercontents {
   background-image:            url(/img/style-elements/summer/gradient-30476E-to-xparent-hzln-fade-from-right.png);
   background-repeat:           repeat-y;
   background-position:         top right;
}
div#sitenamebar {
   background-image:            url(/img/style-elements/summer/library-summer-bnr3-200c.png);
   background-repeat:           no-repeat;
   background-position:         bottom left;
   color:                       black;
   text-shadow:                 white 2px 2px 4px;
   padding-top:                 2em;
   padding-bottom:              2em;
   width:                       100%;
   display:                     table;
}
#snbarleft, #snbarmidl, #snbarright {
   display:                     table-cell;
   text-align:                  center;
   height:                      200px; /* for some reason, height acts as min-height for table cells, and min-height does squat */
}
span#snbarright {
   height:                      7em;
}
.snbarcontents {
   position:                    relative;
}
#snbarmidl {
   vertical-align:              middle;
   min-height:                  200px;
   max-width:                   60%;
}
#snbarleft, #snbarright {
   min-width:                   317px;
   min-height:                  200px;
   text-align:                  center;
}
#snbarleft,
#snbarright {
   vertical-align:              bottom;
}
#snbarright > div.snbarcontents > div.snbaritem {
   padding:                     0.5em;
   background-image:            url(/img/style-elements/summer/fade-toward-white.png);
   background-repeat:           repeat;
   border-radius:               1em;
   width:                       60%;
   right:                       15%;
   position:                    absolute;
   bottom:                      0.5em;
   text-align:                  center;
}
div.snbaritem > div.hours,
div.snbaritem > div.hours > table {
   width:                       100%;
}
div.snbaritem > div.hours > table td {
   background-image:            url(/img/style-elements/summer/fade-toward-white.png);
   background-repeat:           repeat;   
}

#snbarleft  > div.snbarcontents > div.snbaritem > div > div,
#snbarright > div.snbarcontents > div.snbaritem > div > div { 
   display:                     inline-block;
}
div#sitenamesubbar {
   font-size:                   300%;
   font-style:                  italic;
   font-weight:                 bold;
   padding-bottom:              0.25em;
}
div#sitenamesubbar span#sitename {
   color:                       #29314D;
}
div#sitenamesubbar img.gpllogo {
   /* background-color:            #EEEEEE; */
   background-image:            url(/img/logos/portico/004-A-default-64.png);
   background-repeat:           no-repeat;
   width:                       64px;
   height:                      64px;
}
div.contactinfo > span {
   text-wrap:                   suppress; /* This is what I actually want. */
   white-space:                 nowrap;   /* This is not ideal, but browsers actually support it. */
}
div#siteheader div.contactinfo > span:nth-child(2):before,
div#siteheader div.contactinfo > span:nth-child(3):before,
div#siteheader div.contactinfo > span:nth-child(4):before {
   content:                     " * ";
   color:                       #5A6E91;
}

/* ******************* N A V B A R   &   C A T A L O G  B A R **************** */

div#catalogbar,
div#navbar {
   background-color:            #729CD8;
   color:                       black;
   margin-bottom:               1em;
   padding-left:                0.5em;
   padding-right:               0.5em;
   text-align:                  center;
   font-size:                   1.15em;
}
div#catalogbar + div.skip + div#navbar {
   margin-top:                  -1em;
   border-top:                  2pt solid #5A6E91;
}
div#catalogbar > *,
div#navbar > * {
   margin-top:                  0.5em;
   margin-bottom:               0.5em;
}

div#catalogbar > form,
div#catalogbar > .barsec {
/* This is here so browsers that don't do inline-block will fall back to inline rather than block */
   display:                     inline;
}
div#catalogbar > form.barform,
div#catalogbar > span.barsec {
   display:                     inline-block;
   padding-top:                 0px !important; /* Why does this need to be important?  Where is the other style coming from? */
   padding-bottom:              0px !important; /* Ditto this one? */
}

/*
div#catalogbar > form.barform > span.barsec {
   display:                     inline-block;
}
.searchboxwithlabelandbutton {
   display:                     inline-block;
}
*/
/*
div#catalogbar > form.barform > span.barsec > span {
   border:                      1px dashed red;
   margin-top:                  0px;
   margin-bottom:               0px !important;
}
*/

div#catalogbar #catbarlbuttonsec {
   float:                       left;
}
div#catalogbar #catbarrbuttonsec {
   float:                       right;
}

div#catalogbar > .barsec .barbutton,
div#navbar > span.sitesection {
   padding-left:                0.5em;
   padding-right:               0.5em;
   padding-top:                 0.1em;
   padding-bottom:              0.1em;
   border-radius:               0.6em;
   margin-left:                 0.5em;
   margin-right:                0.5em;
   background-color:            #EEEEEE;
   display:                     inline-block;
}

.currentsection,
.currentpage {
   font-weight:                 bold;
}

div#catalogbar > .barsec > span.barbutton a,
div#navbar > span > span.sectionlabel a {
   text-decoration:             none;
}
div#catalogbar > .barsec .barbutton:hover,
div#catalogbar > .barsec .barbutton:hover a,
div#catalogbar > .barsec .barbutton a:active,
div#navbar > span.sitesection:hover,
div#navbar > span.sitesection:hover a,
div#navbar > span.sitesection a:active {
   background-color:            #30476E;
   color:                       white;
}
#catalogbar label.catsearchtblbl {
   color:                       white;
/* font-weight:                 bold; */
   text-shadow:                 1px  1px 1.5px #30476E,
                               -1px -1px 1.5px #30476E,
                                1px -1px 1.5px #30476E,
                               -1px  1px 1.5px #30476E;
}
#catalogbar form.barform:hover input#catbarctrlSearchbarSimple_textboxTerm {
   outline:                     3pt solid #AAC2E8;
   box-shadow:                  0px 0px 3px #AAC2E8;
}

/* ***********************  M U L T I B A R  *********************** */

div#multibar {
   float:                       left;
   width:                       20%;
   max-width:                   15em;
   padding:                     0px;
   margin:                      0px;
   margin-bottom:               1em;
   font-family:                 "Verdana", sans-serif;
   padding-left:                0.5em;
}
div#multibar > * {
   padding-bottom:              1em;
   border-bottom:               1px dashed #AAC2E8;
   margin-bottom:               1em;
}
div#multibar > *:last-child {
   padding-bottom:              0px;
   border-bottom:               none;
}

div#infobar {
   padding-left:                0.25em;
   padding-right:               0.25em;
}
div#infobar > div {
   color:                       white;
   text-shadow:                 1px 1px 0px #30476E; /* almost subliminal but helps legibility */
   background-color:            #5A6E91;
   background-image:            url(/img/style-elements/summer/gradient-30476E-5A6E91-v1-150.png);
   background-position:         bottom left;
   background-repeat:           repeat-x;
   border-radius:               1em;
   margin-bottom:               1em;
   text-align:                  center;
}
div#infobar > div,
div#junkbar > div {
   box-shadow:                  2px 3px 4px #999999;
}
div#infobar > div:last-child {
   margin-bottom:               0px;
}
div#infobar div.hours {
   /* The bottom padding is needed because of the table.
    * The top padding is needed to visually balance the bottom padding. */
   padding-top:                 0.25em;
   padding-bottom:              0.75em;
   text-align:                  center;
}
div.hours caption {
   font-weight:                 bold;
}
div#infobar div.hours > * {
   display:                     inline-block;
/*   width:                       100%; */
}
div#infobar a,
div#junkbar a,
div#infobar a:link,
div#junkbar a:link,
div#infobar a:visited,
div#junkbar a:visited {
   color:                       white;
}
div#infobar a:hover,
div#junkbar a:hover,
div#infobar a:active,
div#junkbar a:active {
   color:                       #FFFF00;
}

div#sectionbar > * {
 /*  background-color:            #30476E; */
   color:                       white;
   margin-bottom:               1em;
}
div#sectionbar > :last-child {
   margin-bottom:               0px;
}
div.sectionlabel {
   padding:                     0.25em;
}
div.sitesection {
   margin-bottom:               0.75em;
}
div.sitesection div:first-child {
   border-radius:               1em;
   padding-left:                0.5em;
   padding-right:               0.5em;
   box-shadow:                  2px 3px 4px #999999;
}
div.currentsection div:first-child {
   border-bottom-left-radius:   0px;
   border-bottom-right-radius:  0px;
   box-shadow:                  none;
}
div.sitesection div:last-child,
div.sitesection div:last-child span:last-child {
   border-bottom-left-radius:   1em;
   border-bottom-right-radius:  1em;
}
div.sitesection div,
div.sitesection div.sectioncontents > span {
 /*border:                      1px outset #30476E; */
   background-color:            #233450; /* #3D5B8C; */
   background-image:            url(/img/style-elements/summer/gradient-30476E-v1.png);
   background-repeat:           repeat-x;
   background-position:         top left;
   display:                     block;
}
div.sitesection div.sectioncontents span span {
   font-size:                   67%;
   margin-left:                 1em;
   display:                     block;
}
div.sitesection div:hover,
div.sitesection div.sectioncontents span:hover {
   background-color:            #5A6E91;
   background-image:            url(/img/style-elements/summer/gradient-30476E-5A6E91-v1-50.png);
   background-position:         bottom left;
}
div.sectionlabel,
div#sectionbar div.hours table.table caption {
   font-size:                   150%;
}
div.sectioncontents {
   display:                     none;
}
div.currentsection > div.sectioncontents {
   display:                     block;
}
div.sectioncontents > span {
   display:                     block;
   padding:                     0.1em;
   padding-left:                1em;
}

div#junkbar    div.morejunk       a,
div#junkbar    div.socnet         a,
div#junkbar    div.offsiteservice a,
div#junkbar    div.advertisement  a,
div#sectionbar div.sitesection    a {
   display:                     block;
}

div#junkbar {
   margin-top:                  2em;
   margin-bottom:               1em;
   margin-left:                 5%;
   margin-right:                5%;
   text-align:                  center;
   clear:                       both;
}
div#junkbar > div {
   display:                     inline-block;
   background-color:            #5A6E91;
   color:                       white;
   max-width:                   15em;
   padding:                     1em;
   border-radius:               1em;
   margin:                      0.75em;
}

/*
div#sectionbar div.sitesection > div.sectionlabel > a:before {
   content:                     "\25E6";
}
*/
div#sectionbar div.sitesection.currentsection > div.sectionlabel > a:before {
   content:                     "\2022 ";
   color:                       #FFFF00;
}
div#sectionbar div.sitesection.currentsection > div.sectionlabel.currentpage > a:before {
   content:                     "\2023 ";
}
/*
div#sectionbar div.sectioncontents span > a:before {
   content:                     "\00A0 ";
}
*/
div#sectionbar div.sectioncontents span.currentpage > a:before {
   content:                     "\2023 ";
   color:                       #FFFF00;
/* background-color:            #729CD8; */
   border-radius:               0.5em;
   border:                      1pt solid #5A6E91;
   text-shadow:                 1px  1px 0px #000000,
                                1px -1px 0px #000000,
                               -1px  1px 0px #000000,
                               -1px -1px 0px #000000;
   box-shadow:                  1px  1px 0px #30476E;
}

div#sectionbar div.sectionlabel {
   padding-left:                1em; /* This is technically redundant (see above), included here for contrast with the following */
}
div#sectionbar div.currentsection > div.sectionlabel {
   padding-left:                0em;
}
div#sectionbar div.sectioncontents span {
   padding-left:                1em;
}
div#sectionbar div.sectioncontents span.currentpage {
   padding-left:                0.25em;
}


div#sectionbar a,
div#sectionbar a:link,
div#sectionbar a:visited {
   color:                       white;
   text-decoration:             none;
}
div#sectionbar a:hover,
div#sectionbar a:active {
   color:                       #FFFF00;
}

div#sectionbar div.currentsection {
   outline:                     0.5em solid #AAC2E8; /* #729CD8; */
   background-color:            #AAC2E8; /* #729CD8; */
}

div#sectionbar div.currentsection div.sectionlabel,
div#sectionbar div.currentsection div.sectioncontents span.currentpage,
div#sectionbar div.currentsection div.sectioncontents > span {
   background-image:            url(/img/style-elements/summer/gradient-30476E-5A6E91-v1-50.png);
   background-position:         bottom left;
   background-color:            #5A6E91;
}
div#sectionbar div.currentsection div.sectionlabel,
div#sectionbar div.currentsection div.sectioncontents span.currentpage { 
   text-shadow:                 #000000  1px  1px,
                                #30476E  2px  3px;
}
div#sectionbar div.currentsection div.sectionlabel a,
div#sectionbar div.currentsection div.sectionlabel a:link,
div#sectionbar div.currentsection div.sectionlabel a:visited,
div#sectionbar div.currentsection div.sectioncontents span.currentpage a,
div#sectionbar div.currentsection div.sectioncontents span.currentpage a:link,
div#sectionbar div.currentsection div.sectioncontents span.currentpage a:visited
{
/*  color:                        #DDFFFF; */
  font-weight:                  bold;
  font-size:                    115%;
}
div#sectionbar div.currentsection div.sectionlabel a:before,
div#sectionbar div.currentsection div.sectioncontents span.currentpage a:before {
  font-size:                    85%;
}

/* 
div#sectionbar div.currentsection div.sectionlabel a:before,
div#sectionbar div.currentsection div.sectionlabel a:after,
div#sectionbar div.currentsection div.sectioncontents span.currentpage a:before,
div#sectionbar div.currentsection div.sectioncontents span.currentpage a:after
{
  content:                      "*";
}
*/
.skip {
   display:                     none;
}
div.advertisement,
div.offsiteservice,
div.socnet {
   font-size:                   1.1em;
   text-align:                  center;
   vertical-align:              middle !important;
   padding:                     0.25em;
}
div.socnet span.socnetlink {
   vertical-align:              middle !important;
}
div.socnet span.socnetlink img {
   border:                      none;
}
div#sectionbar div.socnet:hover span.socnetlink img {
   margin:                      1px;
   border:                      1px solid #30476E;
   outline:                     1px solid #FFFF00;
}
div#sectionbar div.socnet span.socnetlink:hover img {
   border-color:                #FFFF00;
   outline-width:               2px;
}

/* ************************ B L U R B  B A R ******************** */

div#blurbbar {
   float:                       right;
   width:                       25%;
   max-width:                   20em;
   padding:                     1em;
   padding-top:                 2px;
   margin:                      0px;
   margin-bottom:               1em;
   font-family:                 "Verdana", sans-serif;
   text-align:                  center;
}

div#blurbbar > div:first-child > :first-child {
   margin-top:                  0px;
   
}
div#blurbbar > div.blurbsection + div.blurbsection:before {
   display:                     block;
   height:                      0.8em;
   background-color:            #30476E;
   background-image:            url(/img/style-elements/summer/gradient-white-to-xparent-hznl.png);
   background-position:         center left;
   background-repeat:           repeat-y;
   content:                     "";
   border-radius:               0.4em;
   box-shadow:                  2px 3px 4px #999999;
}
/*
div#blurbbar > div.blurbsection + div.blurbsection {
   border-top:                  3pt solid #5A6E91 !important;
}
*/

div.blurbsection > * {
   color:                       white;
   text-shadow:                 1px 1px 0px #30476E; /* almost subliminal but helps legibility */
   background-image:            url(/img/style-elements/summer/gradient-30476E-5A6E91-v1-150.png);
   background-repeat:           repeat-x;

   background-position:         bottom left;
   background-color:            #5A6E91;
/*
   background-position:         top left;
   background-color:            #30476E;
*/
   border-radius:               1em;
   padding-left:                0.5em;
   padding-right:               0.5em;
   margin-top:                  1em;
   margin-bottom:               1em;
   box-shadow:                  2px 3px 4px #999999;
}

div#blurbbar div.caption {
   font-size:                   175%;
   border-top-left-radius:      0.57em;
   border-top-right-radius:     0.57em;
}
div#blurbbarrotcontrols {
   padding-top:                 5pt;
   padding-bottom:              3pt;
   font-size:                   65%;
   line-height:                 250%;
   background-color:            transparent;
   background-image:            none;
   border-bottom-left-radius:   1.54em;
   border-bottom-right-radius:  1.54em;
}
div#blurbbarrotcontrols span.rotcontrol {
   line-height:                 125%;
   display:                     inline-block;
   background-color:            #5A6E91;
   border:                      2px outset #5A6E91;
   padding:                     2px;
   padding-left:                0.25em;
   padding-right:               0.25em;
   margin-left:                 0.1em;
   margin-right:                0.1em;
   color:                       #EEEEEE;
   text-shadow:                 1px 1px 0px #30476E;
}
div#blurbbarrotcontrols span.rotcontrol#rotctrlrsum {
   background-color:            #915A6E;
   border:                      2px outset #915A6E;
}
/*
div#blurbbarrotcontrols span.rotcontrol#rotctrlrsum:before {
   content:                     "(Paused) ";
}
*/

div#blurbbar div.blurb {
   padding-top:                 0.5em;
   padding-bottom:              0.5em;
}
div#blurbbar div.blurb:nth-child(n + 1) {
   border-top:                  1px solid white;
}
div#blurbbar a,
div#blurbbar a:link,
div#blurbbar a:visited {
   color:                       white;
}
div#blurbbar a:hover,
div#blurbbar a:active {
   color:                       #FFFF99;
}

div#blurbbar em,
div#blurbbar strong {
   text-decoration:             inherit;
   font-weight:                 bold;
}
div#blurbbar em strong,
div#blurbbar strong em {
   font-style:                  italic;
}

div#blurbbar div#bookblurbsection div.bookblurb img.featurecover {
   float:                       none;
   text-align:                  center;
   display:                     block;
}

/* ***************** P A G E F E A T U R E ************************* */
/* (This is the main content area of the page.)
 * There's a lot of variety here, because different
 * pages have different stuff on them.  I've tried
 * to put the more generally applicable bits first
 * and the more esoteric bits further down, but
 * that's pretty subjective in some cases.
 */

div#pagefeature {
   color:                       #001133;
   margin:                      0px;
   margin-bottom:               1em;
}
div#pagefeature.hasmultibar {
   margin-left:                 20%;
   padding-left:                1em;
}
div#pagefeature.hasblurbbar {
   margin-right:                30%;
   padding-right:               1em;
}

/*
.markupaggregator { 
   border:                      1px dashed green;
}
.featurez > div {
   border:                      1px dotted red;
}
*/
div#pagefeature > *,
div#pagefeature > .markupaggregator > *,
div#pagefeature > .markupaggregator > .markupaggregator > * {
   margin-left:                 10px;
   margin-right:                10px;
   padding-left:                10px;
   padding-right:               10px;
}

div#pagefeature > .markupaggregator,
div#pagefeature > .markupaggregator > .markupaggregator {
   margin-left:                 0px;
   margin-right:                0px;
   padding-left:                0px;
   padding-right:               0px;
}
/*
div#pagefeature .markupaggregator > img.clipleft + * {
   margin-left:                 0px;
}
*/

a:link {
   color:                       #0044CC;
}
a:visited {
   color:                       #003399;
}
a:hover, a:active {
   color:                       #CC0000;
}

div.h {
   display:                     inline-block;
   width:                       90%;
   background-color:            #CCCCCC;
/* background-color:            #3B7575; *//* aquamaroon */
/*
   background-image:            url(/img/library_nls_white_32px.png);
   background-repeat:           no-repeat;
   background-position:         center right;
*/
   border-top-right-radius:     1em;
   border-bottom-right-radius:  1em;
   color:                       black;
   font-size:                   150%;
   word-spacing:                0.1em;
   letter-spacing:              0.05em;
   padding-top:                 3pt;
   padding-bottom:              2pt;
   margin-bottom:               0.25em;
   box-shadow:                  2px 3px 4px #AAAAAA;
}
div.politicallyimportanth {
   /* For when I have a nice consistent style set up so that everything on
      the website looks like it actually belongs on the site and was designed
      for it, and then someone important says, "This thing that I happen to
      be thinking about right at this moment is obviously way more crucial
      than any of the other things on the site.  Can we make it stand out more?"
      Maybe make it red and a lot larger or something?
    */
  font-size:                    175%;
  background-color:             #BBBBBB;
  box-shadow:                   3px 4px 4px #999999;
  margin-bottom:                0.5em;
  color:                        #000055;
  border:                       1px solid #999999;
}
div.h > span.h {
   display:                     inline-block;
}
div.subh {
   display:                     inline-block;
   min-width:                   200px;
   max-width:                   85%;
   background-color:            #F0F0F0; /* #DDDDDD; */
   border:                      2pt solid #CCCCCC;
   border-top-right-radius:     1em;
   border-bottom-right-radius:  1em;
   color:                       black;
   font-size:                   120%;
   word-spacing:                0.1em;
   letter-spacing:              0.05em;
   padding-top:                 3pt;
   padding-bottom:              2pt;
   padding-right:               2em !important;
   margin-bottom:               0.2em;
   box-shadow:                  1px 2px 4px #CCCCCC;
}
div.p {
   margin-bottom:               1em;
}
div.politicallyimportantp {
   font-size:                   1.1em;
   margin-bottom:               1em;
}

cite {
   font-style:                  italic;
}
em, strong {
   text-shadow:                 #7F7F7F 1px 1px 2px;
}
div.h em,
div.h strong {
   text-shadow:                 #000000 1px 1px 2px;
}
em {
   text-decoration:             underline;
   font-style:                  normal;
}
strong {
   font-weight:                 bold;
   text-decoration:             underline;
}
strong em,
em strong {
   text-transform:              uppercase;
   font-style:                  normal;
   font-weight:                 bold;
   font-size:                   120%;
}

a.nohref {
   color:                       inherit;
}
a:target {
   outline:                     2px solid red;
}

li + li {
   margin-top:                  0.25em;
}

.fnewsdate {
   font-weight:                 bold;
   font-style:                  italic;
   text-shadow:                 0px 1px 1px #5A6E91;
}

.clipleft {
  float:              left;
  border:             0;
  padding:            0.5em;
}
.clipright {
  float:              right;
  border:             0;
  padding:            0.5em;
}

.explan {
  font-size:          80%;
  font-style:         italic;
}
.lipsum {
  font-size:          90%;
  font-style:         italic;
}
#pagefeature .lipsum {
  color:              #444444;
}
#pagefeature table.table .lipsum,
#pagefeature .sidebar .lipsum {
  color:              inherit;
}

sup {
  font-size:          inherit;
  font-size:          60% !important;
  vertical-align:     top;
}
sub {
  font-size:          inherit;
  font-size:          60% !important;
  vertical-align:     bottom;
}

.captionedimage {
  text-align:         center;
  margin:             0px;
  padding:            0px;
}
.captionedimage .caption,
.imagecaption {
  font-size:          90%;
  font-style:         italic;
}

.sidebar {
   float:                       right;
   background-color:            /* #CCCCCC; */ #729CD8; /* #80AFF2; */
   width:                       40%;
   border:                      3pt solid /* #BBBBBB; */ #658ABF;
   border-top:                  3pt solid /* #DDDDDD; *//* #80AFF2; */ #AAC2E8; 
   border-left:                 3pt solid /* #DDDDDD; *//* #80AFF2; */ #94B8ED; /* #AAC2E8; */
   border-bottom:               3pt solid /* #30476E; */ #4A6896;
   padding:                     3pt;
   margin:                      0.25em;
   margin-bottom:               0.5em;
   text-shadow:                 0px 1px 0px #003366;
   color:                       black;
   box-shadow:                  2px 3px 4px #999999;
}
.sidebar a,
.sidebar a:link,
.sidebar a:visited {
   color:                       #000066;
}
.sidebar a:active,
.sidebar a:hover {
   color:                       #7F0000;
}
.sidebar img {
   margin:                      3pt;
}
.sidebar > .caption,
.sidebarcaption {
   background-color:            #AAC2E8;
   font-size:                   150%;
   font-weight:                 bold;
   text-align:                  center;
   border:                      1px inset #AAC2E8;
   margin-bottom:               4pt;
/*
   border-top-left-radius:      12pt;
   border-top-right-radius:     12pt;
*/
}
div#pagefeature .sidebar > table.table,
.sidebar > table.table {
   width:                       100%;
   box-shadow:                  1px 2px 3px #29314D;
}
div#pagefeature .sidebar table.table caption {
   box-shadow:                  1px 0px 3px #29314D;
}

table.table td {
   border-top:                  1px solid white;
   border-left:                 1px solid white;
   border-right:                1px solid black;
   border-bottom:               1px solid black;
}

div#pagefeature .sidebar table.table {
   background-image:            url(/img/style-elements/summer/fade-toward-white.png);
}
div#pagefeature .sidebar table.table caption {
   background-image:            url(/img/style-elements/summer/fade-toward-white.png);
}

div#pagefeature table.table {
   background-image:            url(/img/style-elements/summer/fade-toward-black-15pct.png);
   background-repeat:           repeat;
   margin-bottom:               0.5em;
   border-bottom-left-radius:   0.5em;
   border-bottom-right-radius:  0.5em;
   text-shadow:                 1px 1px 0px #666666;
   box-shadow:                  2px 3px 4px #729CDB;
}
div#pagefeature table.table.nocaption {
   border-radius:               0.5em;
}
div#pagefeature table.table caption {
   border-top-right-radius:     0.5em;
   border-top-left-radius:      0.5em;
   box-shadow:                  2px 0px 4px #729CDB;
}
div#pagefeature table.table thead th {
   border-top-right-radius:     0.5em;
   border-top-left-radius:      0.5em;
}
div#pagefeature table.table tbody tr:last-child td {
   border-bottom-right-radius:  0.5em;
   border-bottom-left-radius:   0.5em;
   padding-bottom:              0.25em;
}
div#pagefeature table.table th,
div#pagefeature table.table td {
   padding:                     2pt;
}

div#pagefeature table.table th {
   border:                      1px solid black;
}

div#pagefeature table.table th,
div#pagefeature table.table caption {
   background-image:            url(/img/style-elements/summer/fade-toward-white.png);
   background-repeat:           repeat;
   text-shadow:                 1px  1px 0px #444444,
                                2px  2px 1px #EEEEEE,
                               -1px -1px 1px #EEEEEE;
   font-weight:                 bold;
}
div#pagefeature table.table caption {
   background-image:            url(/img/style-elements/summer/fade-toward-black-33pct.png);
}

/*
div#pagefeature table.table tr + tr td {
   border-top:                  1pt solid #CCCCCC;
}
div#pagefeature table.table td + td {
   border-left:                 1pt solid #CCCCCC;
}
*/

#pagefeature [title] {
  text-shadow:        1px 1px 0px #FFFF00/*,
                      2px 2px 1px #FFFF00*/;
  text-decoration:    overline;
}

/* These colors should all be visible in the main page feature
 * area but also sidebars and tables and things.
 * Known places where these are used:
 *  + on the copy/fax price table, for the word "color"
 *  + on the news pages occasionally (including the archives)
 */
.colorone {
  color:              #FF33FF;
  font-weight:        bold;
}
.colortwo { 
  color:              #00FFFF;
  font-weight:        bold;
}
.colorthree {
  color:              #FFFF00;
  font-weight:        bold;
}
.colorfour {
  color:              #FF9090;
  font-weight:        bold;
}
.colorfive {
  color:              #7FFF7F;
  font-weight:        bold;
}
.colorone, .colortwo, .colorthree, .colorfour, .colorfive {
  /* The above colors are a bit light, so darken up the background a tad: */
  background-image:   url(/img/style-elements/summer/fade-toward-black-15pct.png);
  background-repeat:  repeat;
  text-shadow:        0px 0px 1px black,
                      0px 0px 2px black;
}

div.categories {
   text-align:        center;
}
div.categorygroup {
   display:           inline-block;
   vertical-align:    text-top;
/* background-color:  #DDE3EC; */
/* background-color:  #E8E8E8; */
/* border:            1px solid white; */
   border:            1px solid #DDE3EC;
   border-radius:     1.5em;
   padding:           0.25em;
   margin-bottom:     1em;
}
div.categorygroup > div.category {
   display:           block;
   background-color:  #EEEEEE;
}
div.categorygroup > .categorygrouplabel {
   display:           block;
   font-size:         135%;
   font-weight:       bold;
   color:             #333333;
   text-shadow:       2px 2px 1px #CCCCCC;
}
div.category {
   text-align:        center;
   display:           inline-block;
   margin-left:       2em !important;
   margin-right:      2em !important;
}
div.category .categoryname {
   font-size:         120%;
}
div.category .categorytagline {
   font-style:        italic;
   max-width:         200px;
}

div.quesbox,
div.info,
div.inlinebox,
div.category,
div.authbox {
   margin:            1em;
   padding:           1em;
   border:            3pt solid black;
   box-shadow:        2pt 3pt 4pt #5A6E91,
                      1pt 2pt 3pt #6685B5 inset;
   border-radius:     0.75em;
   text-shadow:       1pt 1pt 0.5pt #6685B5;
}
div.warn,
div.error {
   margin:            1em;
   padding:           1em;
   color:             #7F0000;
   border:            3pt solid #7F0000;
   box-shadow:        2pt 3pt 4pt #915A6E,
                      1pt 2pt 3pt #B58566 inset;
   border-radius:     0.75em;
   text-shadow:       1pt 1pt 0.5pt #915A6E;
}
div.error {
   background-color:     #FFFFDD;
   background-image:     url(/img/ui-elements/icon-error-msg.png);
}
div.warn {
   background-image:     url(/img/ui-elements/icon-warning-msg.png);
}
div.quesbox {
   color:                #30476E;
   background-image:     url(/img/ui-elements/icon-question-msg.png);
}
div.info {
   color:                #30476E;
   background-image:     url(/img/ui-elements/icon-info-msg.png);
}
div.error,
div.warn,
div.quesbox,
div.info {
   padding-right:        85px !important;
   background-repeat:    no-repeat;
   background-position:  97% 50%;
   min-height:           70px;
   max-width:            400px;
}
div.authbox {
   float:                right;
   margin-right:         0.5em;
   background-color:     #CCCBB3;
   border-color:         #AB8335;
   box-shadow:           2pt 3pt 4pt #916E5A,
                         1pt 2pt 3pt #B58566 inset;
   color:                #554400;
   text-shadow:          1pt 1pt 0.5pt #915A6E;
}
.inlinebox > div.h,
.inlinebox > .markupaggregator > div.h,
.category > div.h,
.category > .markupaggregator > div.h {
   border-radius:        1em;
   text-align:           center;
}

div.preview {
   border:               3pt outset #D8729C;
   padding:              1em;
}

.featuretitle {
   font-weight:                 bold;
}
.featureauthor {
   font-style:                  italic;
}


.inlineblock {
   display:                     inline-block;
}
img.expiredimg,
.expiredimg img {
   border:                      none;
}

div#pagefeature div.address > span.address {
   padding:                     3pt;
   margin:                      3pt;
   margin-left:                 0px;
   background-color:            #D4E0F3;
   border:                      2pt solid #AAC2E8;
}

/* ************ Debugging stuff ***********
div.discussionbook {
   border:                      1px dashed red;
}
div.discussionbook > * {
   border:                      1px dashed green !important;
}
div.discussionbook > * > * {
   border:                      1px dashed blue !important;
}
div.discussionbook * {
   border:                      3px dotted yellow;
}
*/

/* ************************************* H O S T   N O T I C E  ******************* */

div.hostedby {
   clear:                       both;
   text-align:                  right;
   float:                       right;
   margin-top:                  0.75em;
   margin-bottom:               0.25em;
   padding-right:               1em;
   color:                       #30476E;
}
span.hostedby {
   font-size:                   12pt;
   font-style:                  italic;
}

/* ******************************* F O O T E R ***************************** */

div#sitefooter {
   clear:                       both;
   padding:                     1em;
   margin-top:                  2em;
   text-align:                  center;
   background-color:            #AAC2E8;
   background-image:            url(/img/style-elements/summer/library-summer-ftr3-gradient-75.png);
   background-repeat:           repeat-x;
   background-position:         bottom left;
   padding-bottom:              45px;
   margin-top:                  2em;
   box-shadow:                  0px 0px 0.25em 0.25em #AAC2E8;
}

div#bottomlinkbar {
   color:                       white;
   text-shadow:                 #30476E 1px 1px 2px;
}
div#bottomlinkbar a:link,
div#bottomlinkbar a:visited {
   text-shadow:                 #30476E 0px 1px 1px;
}

span.zerowidth {
     /* Sometimes an element needs to exist, and the layout engine needs
        to think it has content (e.g., so that nearby floating elements
        will be aligned with it), but it should not be visible or take
        up any actual space.  This is somewhat bizarre, but it works. */
     visibility:       hidden !important;
     width:            21px   !important;
     min-width:        20px   !important;
     max-width:        21px   !important;
     margin-left:     -20px   !important;
}


/* **********************  F O R U M  ********************** */


div#blogactions {
    border:             2pt outset #0030CF;
    outline:            0.5em solid white;
    color:              #00007F;
    background-color:   inherit;
    background-repeat:  no-repeat;
}
div#blogactions > div {
    border-bottom:      1pt solid #00007F;
}


.commentaction,
.articleaction,
.indexaction,
.messageaction {
    background-color:   #E5EEFD;
    border:             1pt outset #70A7FF;
}
.adminaction {
    border:             1pt solid #7F2020;
    background-color:   #AA4040;
}
.adminaction a,
.adminaction a:link,
.adminaction a:visited {
    color:              white;
}


div.comment,
div.message {
   border-left:         2pt solid #CCCCCC;
   border-bottom:       2pt solid #CCCCCC;
   padding-bottom:      4pt;
   margin-top:          1em;
   margin-bottom:       0.5em;
}
.commentfooter {
   margin-bottom:       0.25em;
}
div.comment div.comment {
   margin-left:         1em;
}

div.commentfriend {
   border-left:         2pt solid #70A7FF;
   border-bottom:       2pt solid #70A7FF;
}
div.commentstaff {
   border-left:         2pt solid #30AA50;
   border-bottom:       2pt solid #30AA50;
}
div.commentboard {
   border-left:         2pt solid #7F2020;
   border-bottom:       2pt solid #7F2020;
}
div.commentheaderfriend {
   background-color:    #70A7FF;
   border-bottom:       1pt solid #0030CF;
   color:               white;
   text-shadow:         1px 1px 0px #0030CF;
}
div.commentheaderstaff {
   background-color:    #30AA50;
   border-bottom:       1pt solid #157F30;
   color:               white;
   text-shadow:         1px 1px 0px #157F30;
}
div.commentheaderboard {
   background-color:    #AA4040;
   border-bottom:       1pt solid #7F2020;
   color:               white;
   text-shadow:         1px 1px 0px #7F2020;
}
div.commentheaderfriend a,
div.commentheaderstaff a,
div.commentheaderboard a {
   color:               white;
}

.commentdate,
.articledate,
.articlelabel {
   float:               right;
   margin-left:         1em;
   margin-right:        1em;
   font-style:          italic;
   font-size:           82%;
   margin-top:          0.1em;
   word-spacing:        normal;
   letter-spacing:      normal;
}
.articlelabel {
   font-size:           76%;
   margin-top:          0.12em;
}

.comment > * {
   padding-left:        8pt;
}


div.agreements {
   color:               #00CC00;
}
div.disagreements {
   color:               #CC0000;
}

/* ******************* S T R A W P O L L ******************* */

form.poll,
.pollresults {
   font-family:          "Bitstream Vera Sans", "Verdana", sans-serif;
}

li.pollquestion,
div.pollquestionresult,
div.correct.p {
   margin-top:           0.5em;
   margin-bottom:        0.5em;
}
div.pollquestionresultquestion {
   font-size:            1.2em;
   margin-bottom:        0.25em;
}

.bargrapharea {
   background-color:     #8DAEDF; /* #AAC2E8; *//* #729CD8; */
   border:               1px solid #30476E;
   box-shadow:           2pt 3pt 3pt #AAC2E8;
   padding:              2pt;
}
.bargraphbar {
   color:                #30476E;
   background-color:     #30476E;
   font-size:            120%;
}
.bargraphlabel {
   background-color:     inherit;
   color:                #29314D;
}
th.bargraphlabel {
   text-align:           left;
}
.bargraphlabelnumber {
   font-weight:          bold;
}
.bargraphlabelpct {
   text-shadow:          none;
}
.bargraphlabelpct:before {
   content:              "(";
}
.bargraphlabelpct:after {
   content:              ")";
}

/* ***************** Staff Website Console Stuff *************** */

div#webconsolesidebar.sidebar {
   width:                       auto;
   max-width:                   14em;
}

td.flagitem {
   font-size:            80%;
}

span.markspam {
   float:                right;
   background-color:     #944029;
   color:                white;
   padding:              2pt;
}
.markspam a {
   color:                white !important;
   text-decoration:      none;
}

/* ***************** C E L L P H O N E S ****************** */

@media (max-width: 1280px) {
   #snbarright > div.snbarcontents > div.snbaritem {
      width:                    70%;
      right:                    10%;
   }
   img {
      max-width:                100%;
      height:                   auto;
   }
}

@media (max-width: 1024px) { 
   div#siteheader {
      background-image:            url(/img/style-elements/summer/library-summer-bnr3-gradient-150.png);
   }
   div#sitenamebar {
      background-image:            url(/img/style-elements/summer/library-summer-bnr3-150c.png);
      /* padding:                     0.5em; */
   }
   #snbarleft, #snbarmidl, #snbarright {
      height:                      150px;
   }
   span#snbarright {
      height:                      7em;
   }
   #snbarleft, #snbarright {
      min-width:                   238px;
   }
   #snbarright > div.snbarcontents > div.snbaritem {
      width:                    80%;
      right:                    5%;
      bottom:                   -1em;
   }
   div#sitenamesubbar {
      font-size:                225%;
   }
   div#sitenamesubbar img.gpllogo {
      background-image:         url(/img/logos/portico/004-A-default-32.png);
      width:                    32px;
      height:                   32px;
   }
   div.category {
      margin-left:       1em !important;
      margin-right:      1em !important;
   }   
}
@media (max-width: 800px) {
   div#sitenamebar {
      padding-top:              1em;
      padding-bottom:           1em;
      min-height:               0px;
   }
   #snbarleft, #snbarmidl, #snbarright {
      display:                  block;
      width:                    100%;
      max-width:                100%;
      height:                   auto;
      min-height:               0;
   }
   .snbarcontents {
      position:                 static;
   }
   #snbarright {
      text-align:               right; /* Because the library photo is on the left, in the background.  */
   }
   #snbarright > div.snbarcontents {
      display:                  block;
      width:                    100%;
      text-align:               right;
   }
   #snbarright > div.snbarcontents > div.snbaritem {
      display:                  inline-block;
      position:                 static;
      width:                    15em;
      bottom:                   auto;
      right:                    auto;
      margin-right:             1em;
      margin-top:               1em;
   }
   div#sitenamesubbar {
      font-size:                200%;
   }
   div#navbar {
      font-size:                0.85em;
   }
   div#multibar {
      width:                    30%;
      max-width:                15em;
      margin-right:             0.5em;
   }
   div#multibar > div,
   div#infobar > div,
   div#junkbar > div {
      margin-bottom:            0.25em;
      border-bottom:            none;
   }
   div#junkbar {
      font-size:                85%;
   }
   div#junkbar div > span.explan {
      display:                  none;
   }
   div#sectionbar > * {
      margin-bottom:            0.25em;
   }
   div#sectionbar > div.currentsection { 
      /* Leave room for the outline. */
      margin-top:               0.5em;
      margin-bottom:            0.75em;
      margin-right:             0.5em;
   }
   div.sectionlabel {
      font-size:                1.25em;
   }
   div#blurbbar.crowded {
      float:                    none;
      margin-left:              35%;
      padding-left:             1em;
      width:                    60%;
      max-width:                60%;
   }
   div#blurbbar div.blurb + div.blurb + div.blurb + div.blurb {
      display:                  none;
   }
   div#blurbbar div.blurb + div.blurb + div.blurb + div.blurb:last-child {
      display:                  block;
   }
   div#pagefeature.crowded {
      clear:                    both;
      float:                    none;
      margin-left:              0px !important;
      margin-right:             0px !important;
   }
   div#pagefeature.hasmultibar {
      margin-left:              35%;
      padding-left:             0.25em;
   }
   div#pagefeature.hasblurbbar {
      margin-right:             0px;
      padding-right:            0.25em;
   }
/*
   div#pagefeature.hasblurbbar > *,
   div#pagefeature.hasblurbbar > .markupaggregator > * {
      margin-left:              0px;
      margin-right:             0px;
      padding-left:             3px;
      padding-right:            3px;
   }
   div#pagefeature.hasblurbbar > .markupaggregator {
      padding-left:             0px;
      padding-right:            0px;
   }
*/
   .sidebar img { 
      margin-left:              0px;
      margin-right:             0px;
   }
   div#pagefeature.hasblurbbar img.biglogo {
      float:                    none;
      display:                  block;
      max-width:                90%;
      height:                   auto;
   }
/*
   body,
   div#pagefeature.hasblurbbar,
   div#pagefeature.nomultibar > * {
      padding-left:             0px;
      padding-right:            0px;
      margin-left:              0px;
      margin-right:             0px;
   }
   div#pagefeature.pfstandard .sidebar {
      float:                    none;
      width:                    auto;
      border:                   none;
      margin:                   0px;
   }
*/
   div#pagefeature.hasblurbbar .sidebar,
   div#pagefeature.hasmultibar .sidebar {
      float:                    none;
      width:                    auto;
      margin-left:              1em;
      margin-right:             1em;
   }
   div.h {
      width:                    80%;
   }   
}

@media (max-width: 550px) {
   div#sitenamesubbar img.gpllogo {
      display:                  none;
   }
   div#sitenamesubbar {
      padding-bottom:           0px;
   }
   div#navbar {
      display:                  none;
   }
   div#catalogbar form.barform input#catbarctrlSearchbarSimple_textboxTerm {
      min-width:                2em;
      width:                    6em;
      max-width:                80%;
   }
   div#infobar div.hours table.table tbody {
      font-size:                0.75em;
   }
   div#infobar div.hours table caption {
      border-top-left-radius:   1em;
      border-top-right-radius:  1em;
   }
   div#infobar div.hours table caption,
   div#infobar div.hours table td {
      background-image:         url(/img/style-elements/summer/fade-toward-black-33pct.png);
      background-repeat:        repeat;
   }
   div#siteheader div.contactinfo span {
      display:                  block;
   }
   div#siteheader div.contactinfo > span:nth-child(n):before {
      content:                  "";
   }
   div#pagefeature .sidebar {
      float:                    none;
      width:                    auto;
      margin:                   2pt;
      padding:                  2pt;
   }
   div#pagefeature.nomultibar.noblurbbar .sidebar {
      float:                    right;
      width:                    40%;
      border:                   3pt solid /* #BBBBBB; */ #658ABF;
      border-top:               3pt solid /* #DDDDDD; */ #80AFF2;
      border-left:              3pt solid /* #DDDDDD; */ #80AFF2;
      padding:                  3pt;
      margin:                   0.25em;
   }
   div.category {
      margin-left:              auto !important;
      margin-right:             auto !important;
   }
}
@media (max-width: 500px) {
   div#pagefeature {
      padding-left:             1pt;
   }
   div#pagefeature .sidebar {
      float:                    none;
      width:                    auto;
      border:                   none;
      margin:                   0px !important;
      padding:                  2px;
   }
   div#sitefooter div.contactinfo span.contactdetail {
      display:                  block;
   }
   div#sitefooter div.contactinfo span.sepbullet {
      display:                  none;
   }
/*
   div#sitefooter div.contactinfo span.contactemail {
      display:                  inline;
   }
*/
   div.category .categoryimg img {
      width:                    103px;
      max-width:                100%;
      height:                   auto;
   }
   div.category .categoryname,
   div.category .categorytagline {
      max-width:                120px;
   }
}

@media (max-width: 450px) { 
   div#sitenamebar {
       background-image:        none;
   }
   #snbarleft, #snbarright {
      min-width:                0px;
   }
   #snbarright,
   #snbarright > div.snbarcontents {
       text-align:              center;
   }
   #snbarright > div.snbarcontents > div.snbaritem {
       margin-left:             2em;
       margin-right:            2em;
   }
   div#catalogbar > .barsec {
      float:                    none   !important;
      display:                  block  !important;
      margin:                   0px    !important;
      padding:                  0px    !important;
      text-align:               center !important;
   }
   div#catalogbar > .barsec .barbutton { 
      margin-top:               3pt;
      margin-bottom:            3pt;
   }
   input, textarea {
       max-width:               95%;
   }
}
@media (max-width: 400px) {
   .skip {
       display:                 block;
       text-align:              center;
   }
   #snbarright > div.snbarcontents > div.snbaritem {
       margin-left:             3pt;
       margin-right:            3pt;
   }
   div#multibar {
       background-color:        inherit;
    /* padding:                 2pt; */
   }
   div#blurbbar,
   div#multibar,
   div#blurbbar.crowded,
   div#multibar.crowded { 
       float:                   none;
       clear:                   both;
       margin-left:             2px;
       margin-right:            2px;
       width:                   auto;
       max-width:               100%;
       padding:                 2pt;
   }
   div#multibar,
   div#sectionbar {
      float:                    none;
      width:                    100%;
      max-width:                100%;
      text-align:               center;
   }
   div#infobar div.hours table.table tbody {
      font-size:                inherit;
   }
   div#infobar div.hours table caption,
   div#infobar div.hours table td {
      background-image:         none;
   }
/*  
   body,
   div#pagefeature,
   div#pagefeature.nosectionbar,
   div#pagefeature.noblurbbar
   div#pagefeature > * {
      padding-left:     0px;
      padding-right:    0px;
      margin-left:      0px;
      margin-right:     0px;
   }
*/
   div#sectionbar > * {
      margin:                   0px;
   }
   div#sectionbar div.currentsection {
      outline:                  none;
      background-color:         transparent;
   }
   div.sitesection div:first-child,
   div.currentsection div:first-child,
   div.sitesection div:last-child,
   div.sitesection div:last-child span:last-child {
      border-radius:            0px;
   }
   div.sectioncontents > span {
      padding-left:             0px;
   }
   div#infobar > div.hours {
      width:                    100%;
   }
   div#junkbar {
      display:                  none;
   }
   div.sectionlabel,
   div#blurbbar div.caption {
      font-size:                125%;
   }
   div#blurbbar > div,
   div#blurbbar div.caption {
      border-top-left-radius:   0px;
      border-top-right-radius:  0px;
   }
   div#blurbbar > div,
   div#blurbbar div#blurbbarrotcontrols {
      border-bottom-left-radius:    0px;
      border-bottom-right-radius:   0px;
   }
   div#blurbbar {
      margin-left:              0px;
      width:                    90%;
      max-width:                90%;
   }
   div#pagefeature {
      clear:                    both;
   }
   div#pagefeature,
   div#pagefeature.nomultibar,
   div#pagefeature.noblurbbar {
      margin-left:              1pt;
      margin-right:             1pt;
   }
   form.quickcatalogsearch input#catalogsearchterms {
      width:                    95%;
   }
   .sidebar {
      float:                    none;
      width:                    auto;
      border:                   none;
      margin:                   0px;
      padding:                  0px;
   }
   div.h {
      width:                    90%;
   }
}
@media (max-width: 325px) {
   #snbarright > div.snbarcontents > div.snbaritem {
      padding-left:             0px;
      padding-right:            0px;
      margin-left:              0px;
      margin-right:             0px;
      margin-bottom:            0px;
      border-radius:            0px;
   }
   div#sitenamebar {
      padding-bottom:           1em;
   }
}
@media (max-width: 250px) {
/*
   body {
      padding-left:             0px;
      padding-right:            0px;
   }
*/
   div#sitenamebar {
      padding-top:              1em;
      padding-bottom:           0px;
   }
   div#sitenamesubbar {
      font-size:                125%;
   }
   div.contactinfo > span {
      text-wrap:                unrestricted;
      white-space:              normal;
   }
   #snbarleft  > div.snbarcontents > div,
   #snbarright > div.snbarcontents > div {
      font-size:                75%;
      width:                    100%;
      min-width:                1em;
      border-radius:            0px;
      white-space:              inherit;
      text-wrap:                unrestricted;
      word-wrap:                break-word;
   }
   div#sectionbar,
   div#blurbbar {
      width:                    100%;
      margin-left:              auto;
      margin-right:             auto;
   }
   nobr {
      white-space:              normal;
   }
   div.error,
   div.warn,
   div.quesbox,
   div.info,
   div.inlinebox,
   div.category {
       margin-left:             1px;
       margin-right:            1px;
       background-image:        none;
       padding-right:           0px !important;
   }
   form.quickcatalogsearch input#catalogsearchterms {
      width:                    85%;
   }
}
@media (max-width: 200px) {
   div#sitenamesubbar,
   div.sectionlabel,
   div#infobar div.hours table.table caption,
   div#blurbbar div.caption,
   div.h, em strong, strong em {
      font-size:                100%;
   }
   span#snbarright > div.snbarcontents > div.snbaritem {
      display:                  none;
   }
   div#sitenamebar {
      padding-bottom:           0.5em;
   }
   div#sectionbar,
   div#blurbbar,
   div#blurbbar div.blurb,
   div#pagefeature,
   div#pagefeature.nosectionbar,
   div#pagefeature.noblurbbar,
   div#pagefeature > *,
   div#sitefooter {
      padding-left:             0px;
      padding-right:            0px;
      margin-left:              auto;
      margin-right:             auto;
      max-width:                100%;
   }
}

/* ******************** Calendar ************************ */

a.icalendarfeed {
   background-color:            #00D417;
   color:                       #FFFFFF;
   border:                      1px solid #98FA9D;
   border-right:                1px solid #00780B;
   border-bottom:               1px solid #003C03;
   font-size:                   10px;
   font-style:                  normal;
   font-family:                 Verdana, sans-serif;
   font-weight:                 bold;
   text-decoration:             none;
   padding-left:                3px;
   padding-right:               3px;
}


caption.monthname {
  color:             #30476E;
  padding:           0.75em;
  padding-bottom:    0.25em;
  font-size:         2em;
  font-family:       "Georgia", "Bitstream Charter", "Bitstream Vera Serif", serif;
}
caption.monthname > a,
caption.monthname > a:link,
caption.monthname > a:visited {
  color:             #5A6E91 !important;
  text-decoration:   none;
}
caption.monthname > a:hover {
  text-decoration:   none;
  font-weight:       bold;
  text-shadow:       #30476E 2px 1px 2px !important;
}
table.calendar {
  color:             #30476E;
  margin-bottom:     3em;
  font-family:       "Georgia", "Bitstream Charter", "Bitstream Vera Serif", serif;
}
table.calendar a,
table.calendar a:link,
table.calendar a:visited {
  color:             #22334F;
}
table.calendar a:hover,
table.calendar a:active {
  font-weight:       normal;
  color:             #AA0000;
  text-shadow:       #7F0000 1px 1px 2px;
}
table.calendar td {
  vertical-align:    top;
}
th.calendar, td.thismonth {
  background-color:  transparent;
  border:            1pt solid #30476E;
  width:             1.4%
}
td.today {
  border:            2pt solid;
}
tr.calcellthisweek td.today > div.daynum {
  border:            1pt solid #30476E;
  width:             auto;
  max-width:         95%;
  text-align:        left;
  margin:            2pt;
  padding:           2pt;
  box-shadow:        2px 2px #CCCCCC;
  color:             #30476E;
}
tr.calcellthisweek td.today > div.daynum:after {
  content:           " (Today)";
  text-align:        right;
  float:             right;
  padding-right:     0.5em;
  border-radius:     1.5em;
}
th.calendar {
  text-align:        center;
  font-weight:       bold;
}
table.calendarthismonth th.calhthisdow {
  background-color:  #D4E0F3;
  text-shadow:       1px 1px 1px #30476E;
}
tr.calcellthisweek > td.thismonth {
  outline:           2px solid #729CD8; /* #D4E0F3; */
}
td.othermonth { 
  background-color:  #CCCCCC;
  border:            none;
}
tr.week {
  background-color:  transparent;
  height:            7em;
}
div.daynum {
  border-radius:     1.2em;
  max-width:         2.5em;
  width:             2.0em;
  min-width:         1.5em;
  min-height:        1.5em;
  text-align:        center;
  padding-left:      0.1em;
  padding-right:     0.1em;
  background-color:  #CCD8EB;
  border:            2pt solid #CCD8EB;
  margin:            1pt;
  color:             #5A6E91;
}
tr.calcellthisweek div.daynum {
  background-color:  #AAC2E8;
  border:            2pt solid #AAC2E8;
  box-shadow:        1pt 1pt 1pt #729CDB;
}
div.daynum > span {
  font-size:         1.8em;
}
a.daynum { 
  text-decoration:   none;
}

div.eventname {
  text-align:        center;
}
div.time {
  text-align:        center;
}
table.calendar img {
  border:            none;
}
.calimg {
  text-align:        center;
}

tr.noprint,
tr.noprint > td,
tr.noprint > td > a {
  background-color:  #333333;
  color:             #CCCCCC;
  text-decoration:   line-through;
}
div.event, div.teenevent, div.adultevent, div.kidsevent {
  margin-bottom:     2pt;
}
div.teenevent {
  border:            2pt solid #47306E;
  background-color:  #C2AAE8; /* #6E5A91; */
}
div.adultevent {
  border:            2pt solid #6E4730;
  background-color:  #E8C2AA; /* #916E5A; */
}
div.kidsevent {
  border:            2pt solid #306E47;
  background-color:  #AAE7C2; /* #51916E; */
}

div.allagesevent {
  border:            2pt solid black;
  background-color:  #DDDDDD;
}
div.maeventa {
  border:            2pt solid #6E4730;
  background-color:  #E8C2AA;
  padding:           0.6em;
}
div.maeventk {
  border:            2pt solid #306E47;
  background-color:  #AAE7C2;
  padding:           0.6em;
}
div.maeventt a:link {
  display:           inline-block;
  border:            1pt solid #47306E;
  background-color:  #C2AAE8;
  padding:           0.2em;
}



table.calendar div.teenevent a:hover,
table.calendar div.teenevent a:active {
  font-weight:       normal;
  color:             #47306E;
  text-shadow:       #6E5A91 1px 1px 2px;
}
table.calendar div.kidsevent a:hover,
table.calendar div.kidsevent a:active {
  font-weight:       normal;
  color:             #406E47;
  text-shadow:       #51916E 1px 1px 2px;
}
table.calendar div.adultevent a:hover,
table.calendar div.adultevent a:active {
  font-weight:       normal;
  color:             #6E4730;
  text-shadow:       #916E5A 1px 1px 2px;
}


div.icalendarfeed {
  float:             right;
  margin-left:       2em;
  margin-top:        1em;
}

a.icalendarfeed {
  background-color: #00D417;
  color:            #FFFFFF;
  border:           1px solid #98FA9D;
  border-right:     1px solid #00780B;
  border-bottom:    1px solid #003C03;
  font-size:        10px;
  font-style:       normal;
  font-family:      Verdana, sans-serif;
  font-weight:      bold;
  text-decoration:  none;
  padding-left:     3px;
  padding-right:    3px;
}

form.calendarviewform {
  background-color:    #708AB5;
  color:               black;
  text-shadow:         #AAC2E8 1px 1px 2px;
  font-weight:         bold;
  border:              2pt solid #5A6E91;
  margin-right:        5em;
  padding:             0.5em;
}

@media (max-width: 800px) {
  table.calendar img {
     height:           auto;
     width:            85%;
     max-width:        50px;
  }
  table.calendar tr th:first-child.calendar,
  table.calendar tr.week td:first-child {
     display:          none;
  }
}
@media (max-width: 640px) {
  table.calendar {
     hyphens:          auto;
    -webkit-hyphens:   auto;
    -moz-hyphens:      auto;
    -ms-hyphens:       auto;
     overflow-wrap:    break-word;
     border:           none;
  }
  table.calendar caption {
     border:           none;
  }
  table.calendar tr,
  table.calendar th,
  table.calendar td {
     margin:           0px;
     padding:          0px;
  }
  div.event, div.teenevent, div.adultevent, div.kidsevent {
     border:           none;
  }
  table.calendar th,
  table.calendar td {
     border-bottom:    none;
     border-right:     none;
  }
  table.calendar tr > :first-child + * {
     border-left:      none;
  }
}

@media (max-width: 525px) {
  table.calendar thead {
    display:           none;
  }
  table.calendar,
  table.calendar tbody,
  table.calendar caption {
    display:           block;
  }
  table.calendar tr {
    display:           block;
    height:            auto;
    border:            3pt solid #4A6896;
  }
  table.calendar tr + tr {
    border-top:        0px;
  }
  table.calendar th,
  table.calendar td {
    display:           block !important;
    width:             100%;
    height:            auto;
    padding-bottom:    2pt;
    max-width:         100%;
  }
  table.calendar tbody tr td > div.daynum {
    /* Make room for the day of week indicator */
    max-width:         4em;
    width:             3.5em;
    min-width:         3.5em;
    text-align:        right;
    padding-right:     0.75em;
  }
  table.calendar div.daynum { 
    font-family:       "Verdana", sans-serif;
  }
  table.calendar tbody tr td > div.daynum:before {
    display:           inline-block;
    margin-top:        1pt;
    float:             left;
    font-size:         80%;
    width:             1em;
    line-height:       85%;
    vertical-align:    middle;
    text-align:        center;
  }
  table.calendar tbody tr td:nth-child(1) > div.daynum:before {
    content:           "S U N";
  }
  table.calendar tbody tr td:nth-child(2) > div.daynum:before {
    content:           "M O N";
  }
  table.calendar tbody tr td:nth-child(3) > div.daynum:before {
    content:           "T U E";
  }
  table.calendar tbody tr td:nth-child(4) > div.daynum:before {
    content:           "W E D";
  }
  table.calendar tbody tr td:nth-child(5) > div.daynum:before {
    content:           "T H U";
  }
  table.calendar tbody tr td:nth-child(6) > div.daynum:before {
    content:           "F R I";
  }
  table.calendar tbody tr td:nth-child(7) > div.daynum:before {
    content:           "S A T";
  }
  table.calendar > tbody > tr > td {
    border:            0px;
  }
  table.calendar > tbody > tr > td + td {
    border-top:        1pt solid #658ABF;
  }
  tr.calcellthisweek > td.thismonth {
    outline:           0px;
  }
  tr.calcellthisweek td.today > div.daynum {
    display:           inline-block;
  }
  tr.calcellthisweek td.today > div.daynum:after {
    text-align:        left;
    float:             none;
    display:           inline;
  }
  div.daynum {
    border-top-left-radius:     0px;
    border-top-right-radius:    3pt;
    border-bottom-left-radius:  3pt;
    text-align:                 left;
  }
  table.calendar td.othermonth {
    display:                    none !important;
  }
  form.calendarviewform {
    margin-right:               0px;
  }
}


