/* ==== normalize ========================================================== */

/* =============================================================================
   HTML5 display definitions
   ========================================================================== */

article, aside, details, figcaption, figure, footer, header, hgroup, nav, section { display: block; }
audio, canvas, video { display: inline-block; *display: inline; *zoom: 1; }
audio:not([controls]) { display: none; }
[hidden] { display: none; }

/* =============================================================================
   Base
   ========================================================================== */

/*
 * 1. Correct text resizing oddly in IE6/7 when body font-size is set using em units
 * 2. Force vertical scrollbar in non-IE
 * 3. Prevent iOS text size adjust on device orientation change, without disabling user zoom: h5bp.com/g
 */

html { font-size: 100%; overflow-y: scroll; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; }

body { margin: 0; font-size: 13px; line-height: 1.231; }

body, button, input, select, textarea { font-family: sans-serif; color: #222; }

/* 
 * Remove text-shadow in selection highlight: h5bp.com/i
 * These selection declarations have to be separate
 * Also: hot pink! (or customize the background color to match your design)
 */

::-moz-selection { background: #fe57a1; color: #fff; text-shadow: none; }
::selection { background: #fe57a1; color: #fff; text-shadow: none; }


/* =============================================================================
   Links
   ========================================================================== */

a { color: #00e; }
a:visited { color: #551a8b; }
a:hover { color: #06e; }
a:focus { outline: thin dotted; }

/* Improve readability when focused and hovered in all browsers: h5bp.com/h */
a:hover, a:active { outline: 0; }


/* =============================================================================
   Typography
   ========================================================================== */

abbr[title] { border-bottom: 1px dotted; }

b, strong { font-weight: bold; }

blockquote { margin: 1em 40px; }

dfn { font-style: italic; }

hr { display: block; height: 1px; border: 0; border-top: 1px solid #ccc; margin: 1em 0; padding: 0; }

ins { background: #ff9; color: #000; text-decoration: none; }

mark { background: #ff0; color: #000; font-style: italic; font-weight: bold; }

/* Redeclare monospace font family: h5bp.com/j */
pre, code, kbd, samp { font-family: monospace, monospace; _font-family: 'courier new', monospace; font-size: 1em; }

/* Improve readability of pre-formatted text in all browsers */
pre { white-space: pre; white-space: pre-wrap; word-wrap: break-word; }

q { quotes: none; }
q:before, q:after { content: ""; content: none; }

small { font-size: 85%; }

/* Position subscript and superscript content without affecting line-height: h5bp.com/k */
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
sup { top: -0.5em; }
sub { bottom: -0.25em; }


/* =============================================================================
   Lists
   ========================================================================== */

ul, ol { margin: 1em 0; padding: 0 0 0 40px; }
dd { margin: 0 0 0 40px; }
nav ul, nav ol { list-style: none; list-style-image: none; margin: 0; padding: 0; }


/* =============================================================================
   Embedded content
   ========================================================================== */

/*
 * 1. Improve image quality when scaled in IE7: h5bp.com/d
 * 2. Remove the gap between images and borders on image containers: h5bp.com/e 
 */

img { border: 0; -ms-interpolation-mode: bicubic; vertical-align: middle; }

/*
 * Correct overflow not hidden in IE9 
 */

svg:not(:root) { overflow: hidden; }


/* =============================================================================
   Figures
   ========================================================================== */

figure { margin: 0; }


/* =============================================================================
   Forms
   ========================================================================== */

form { margin: 0; }
fieldset { border: 0; margin: 0; padding: 0; }

/* Indicate that 'label' will shift focus to the associated form element */
label { cursor: pointer; }

/* 
 * 1. Correct color not inheriting in IE6/7/8/9 
 * 2. Correct alignment displayed oddly in IE6/7 
 */

legend { border: 0; *margin-left: -7px; padding: 0; }

/*
 * 1. Correct font-size not inheriting in all browsers
 * 2. Remove margins in FF3/4 S5 Chrome
 * 3. Define consistent vertical alignment display in all browsers
 */

button, input, select, textarea { font-size: 100%; margin: 0; vertical-align: baseline; *vertical-align: middle; }

/*
 * 1. Define line-height as normal to match FF3/4 (set using !important in the UA stylesheet)
 * 2. Correct inner spacing displayed oddly in IE6/7
 */

button, input { line-height: normal; *overflow: visible; }

/*
 * Reintroduce inner spacing in 'table' to avoid overlap and whitespace issues in IE6/7
 */

table button, table input { *overflow: auto; }

/*
 * 1. Display hand cursor for clickable form elements
 * 2. Allow styling of clickable form elements in iOS
 */

button, input[type="button"], input[type="reset"], input[type="submit"] { cursor: pointer; -webkit-appearance: button; }

/*
 * Consistent box sizing and appearance
 */

input[type="checkbox"], input[type="radio"] { box-sizing: border-box; }
input[type="search"] { -webkit-appearance: textfield; -moz-box-sizing: content-box; -webkit-box-sizing: content-box; box-sizing: content-box; }
input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }

/* 
 * Remove inner padding and border in FF3/4: h5bp.com/l 
 */

button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; }

/* 
 * 1. Remove default vertical scrollbar in IE6/7/8/9 
 * 2. Allow only vertical resizing
 */

textarea { overflow: auto; vertical-align: top; resize: vertical; }

/* Colors for form validity */
input:valid, textarea:valid {  }
input:invalid, textarea:invalid { background-color: #f0dddd; }


/* =============================================================================
   Tables
   ========================================================================== */

table { border-collapse: collapse; border-spacing: 0; }
td { vertical-align: top; }


/* ==|== primary styles =====================================================
   Author: Eric Dubois
   ========================================================================== */

body { background: #000 url(images/GlassesTile.jpg) top center; padding: 0; margin: 0; }
#container { width: 1000px; padding: 0; margin: -1px auto 0 auto; }
#header-container { width: 100%; height: 200px; background: url(images/masthead-blackout.png) repeat-x; padding: 0; margin: 0; }
#header { width: 1000px; height: 200px; background: url(images/header-bkgd.png); padding: 0; margin: 0 auto; }
body.home #header { background: url(images/header-bkgd-home.png); }
#page { width: 1000px; background: url(images/page-bkgd.png) repeat-y; padding: 0; margin: 0; }
#footer { position: relative; clear: both; width: 1000px; height: 60px; background: url(images/footer-bkgd.png) no-repeat; padding: 1px 0 0 0; margin: -1px 0 0 0; }
#navigation { float: left; width: 240px; margin: 0 0 80px 40px; }
#main { float: right; width: 640px; margin: -20px 60px 0 0; font-family: 'Love Ya Like A Sister', serif; font-size: 14px; line-height: 1.4em; letter-spacing: .1em; }
div#home-logo { width: 320px; height: 200px; background: url(images/logo-bkgd.png) no-repeat; padding: 0; margin: 0 auto; }
a#home-logo { float: left; width: 320px; height: 200px; background: url(images/logo-bkgd.png) no-repeat; padding: 0; margin: 0; }
a#home-logo:hover { background-position: 0 -200px; }

.bubble-right { float: left; width: 200px; height: 105px; background: url(images/bubble-right.png) no-repeat; padding: 25px 30px 30px 50px; }
.bubble-left { float: left; width: 200px; height: 105px; background: url(images/bubble-left.png) no-repeat; padding: 25px 50px 30px 30px; }
.bubble-right-long { float: left; width: 340px; height: 105px; background: url(images/bubble-right-long.png) no-repeat; padding: 25px 30px 30px 50px; }
.bubble-left-long { float: left; width: 340px; height: 105px; background: url(images/bubble-left-long.png) no-repeat; padding: 25px 50px 30px 30px; }
.bubble-right-short { float: left; width: 130px; height: 105px; background: url(images/bubble-right-short.png) no-repeat; padding: 25px 30px 30px 50px; }
.bubble-left-short { float: left; width: 130px; height: 105px; background: url(images/bubble-left-short.png) no-repeat; padding: 25px 50px 30px 30px; }
.bubble, .bubble-right, .bubble-left, .bubble-right-long, .bubble-left-long, .bubble-right-short, .bubble-left-short { text-align: center; font-family: 'Love Ya Like A Sister', serif; font-size: 16px; line-height: 21px; }

.floatleft { float: left; }
.floatright { float: right; }
.clear { clear: both; }
.align-left { float: left; margin: 0 20px 10px 0; }
.align-right { float: right; margin: 0 0 10px 20px; }
.align-center { clear: both; margin: 0 0 10px 0; }
.left { text-align: left; }
.right { text-align: right; }
.center { text-align: center; }

.printonly { display: none; }

#playroom { position: relative; width: 640px; height: 525px; }
.draggable { cursor:move; position: absolute; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; -o-user-select: none; user-select: none; }
.cloneable { cursor:pointer; position: absolute; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; -o-user-select: none; user-select: none; }
.draggable::-moz-selection, .draggable::selection { background: none; color: none; }
#playroom span.blink { display: block; position: absolute; width: 160px; height: 50px; margin: 0; padding: 0; }
#playroom span.blink:hover { green; background-position: 0 -50px; }
#game-list li { display: block; list-style: none; float: left; width: 30%; text-align: center; }
.selector { height: 32px; clear: both; }
.selector span { position: relative; top: 10px; }
.thumb-shape, .thumb-color { display: block; float: right; }
#deco-box { clear: both; display: block; width: 640px; height: 80px; background: url(images/deco-box.png) no-repeat; margin: 20px 0 10px 0; }
#deco-box span { position: relative; top: -20px; }
#trash { display: block; position: absolute; background: url(images/trash-bin.png) no-repeat; right: -10px; bottom: -10px; width: 80px; height: 140px; }
#trash.open { background-position: 0 -140px; }
a#printer { display: block; background: url(images/printer-icon-100.png) no-repeat; width: 100px; height: 0px; padding-bottom: 100px; overflow: hidden; }
a#printer:hover { background-position: 0 -100px; }

#ContactForm input.formatted, #ContactForm textarea.formatted { display: block; width: 630px; background: #ffe;  border: 1px solid #ddc; font-family: 'Love Ya Like A Sister', cursive; margin: 5px 0; padding: 5px; letter-spacing: .1em; }
#ContactForm label { display: block; margin: 20px 0 0 0; }

ul#main-nav { margin: 0; padding: 0; list-style: none; }
ul#main-nav li {  }
ul#main-nav li a { display: block; width: 240px; height: 0; padding: 60px 0 0 0; overflow: hidden; }
ul#main-nav li a:hover { background-position: 0 -60px !important; }
ul#main-nav li a:active { background-position: 0 -120px !important; }
ul#main-nav li a#btn-history { background: url(images/nav-history.png) no-repeat; }
ul#main-nav li a#btn-author { background: url(images/nav-author.png) no-repeat; }
ul#main-nav li a#btn-book { background: url(images/nav-book.png) no-repeat; }
ul#main-nav li a#btn-museum { background: url(images/nav-museum.png) no-repeat; }
ul#main-nav li a#btn-playroom { background: url(images/nav-playroom.png) no-repeat; }
ul#main-nav li a#btn-links { background: url(images/nav-links.png) no-repeat; }
ul#main-nav li a#btn-contact { background: url(images/nav-contact.png) no-repeat; }
ul#main-nav li a#btn-blog { background: url(images/nav-blog.png) no-repeat; }
ul#main-nav li a#btn-shop { background: url(images/nav-shop.png) no-repeat; }
body.history ul#main-nav li a#btn-history { background-position: 0 -180px !important; }
body.author ul#main-nav li a#btn-author { background-position: 0 -180px !important; }
body.book ul#main-nav li a#btn-book { background-position: 0 -180px !important; }
body.museum ul#main-nav li a#btn-museum { background-position: 0 -180px !important; }
body.playroom ul#main-nav li a#btn-playroom { background-position: 0 -180px !important; }
body.links ul#main-nav li a#btn-links { background-position: 0 -180px !important; }
body.contact ul#main-nav li a#btn-contact { background-position: 0 -180px !important; }
body.shop ul#main-nav li a#btn-shop { background-position: 0 -180px !important; }

.author-credit { float: left; width: 600px; margin: 15px 0 0 20px; }
.web-credit { float: right; width: 300px; margin: 15px 20px 0 0; text-align: right; }
.author-credit, .web-credit { color: #ccc; }
.author-credit a, .web-credit a { font-weight: bold; text-decoration: none; color: #ccc; }
.author-credit a:hover, .web-credit a:hover { color: #fff; }

#main h1 { font-size: 2em; margin: .5em 0; }
#main h2 { font-size: 1.6em; margin: .5em 0; }
#main h3 { font-size: 1.2em; margin: .5em 0; }
#main h4 { font-size: 1em; margin: .5em 0; }
#main p a { text-decoration: none; color: #0aa; border-bottom: 1px solid #fd0; }
#main p a:visited { color: #a6c; }
#main p a:hover { color: #f81; }
#main p a:active { color: #e50; }
#game-list a { text-decoration: none; color: #0aa; }
#game-list a:visited { color: #a6c; }
#game-list a:hover { color: #f81; border-bottom: 1px solid #fd0; }
#game-list a:active { color: #e50; }

/* Gallery Slideshow */
#gallery { height: 600px; }
div.content { display: none; float: left; width: 480px; }
div.content a, div.navigation a { text-decoration: none; color: #777; }
div.content a:focus, div.content a:hover, div.content a:active { text-decoration: none; }
div.controls { margin-top: 5px; height: 23px; }
div.controls a { padding: 5px 0; }
div.ss-controls { float: left; }
div.nav-controls { float: right; }
div.slideshow-container { position: relative; clear: both; height: 480px; }
div.loader { position: absolute; top: 0; left: 0; background-image: url('images/loader.gif'); background-repeat: no-repeat; background-position: center; width: 480px; height: 480px; }
div.slideshow { }
div.slideshow span.image-wrapper { display: block; position: absolute; top: 0; left: 0; letter-spacing: 0; }
div.slideshow a.advance-link { display: block; width: 486px; height: 480px; line-height: 480px; text-align: center; }
div.slideshow a.advance-link:hover, div.slideshow a.advance-link:active, div.slideshow a.advance-link:visited { text-decoration: none; }
div.slideshow img { vertical-align: middle; border: 0px solid #ccc; }
div.download { float: right; }
div.caption-container { position: relative; clear: left; height: 75px; }
span.image-caption { display: block; position: absolute; width: 480px; top: 0; left: 0; }
div.caption { padding: 12px 0; }
div.image-title { font-weight: bold; font-size: 1.4em; }
div.image-desc { line-height: 1.3em; padding-top: 12px; }
div.navigation { }
ul.thumbs { clear: both; margin: 0; padding: 0; }
ul.thumbs li { float: left; padding: 0; margin: 4px 0 4px 8px; list-style: none; }
a.thumb { padding: 2px; display: block; border: 1px solid #ccc; }
ul.thumbs li.selected a.thumb { background: #000; }
a.thumb:focus { outline: none; }
ul.thumbs img { border: none; display: block; }
div.pagination { clear: both; font-family: Arial; font-size: 10px; margin: 0 8px; }
div.navigation div.top { margin-bottom: 12px; height: 11px; }
div.navigation div.bottom { margin-top: 12px; }
div.pagination a, div.pagination span.current, div.pagination span.ellipsis { display: block; float: left; margin-right: 2px; padding: 2px 3px 1px 3px; border: 1px solid #ccc; }
div.pagination a:hover { background-color: #eee; text-decoration: none; }
div.pagination span.current { font-weight: bold; background-color: #444; border-color: #000; color: #fff; }
div.pagination span.ellipsis { border: none; padding: 5px 0 3px 2px; }

/* Framed Picture Gallery */
div.picture-gallery { width: 680px; text-align: center; position: relative; left: -20px; }
div.gallery-item { display: inline-block; vertical-align: text-top; width: 220px; margin: 0; padding: 0; text-align: center; }
.ie7 div.gallery-item { float: left; height: 280px; }
div.framed-picture { display: block; position: relative; }
img.picture { display: block; padding: 25px 30px; }
div.frame { position: absolute; top: 0; left: 0; width: 220px; height: 210px; display: block; }
div.frame-1 { background: url(images/frame-1.png); }
div.frame-2 { background: url(images/frame-2.png); }
div.frame-3 { background: url(images/frame-3.png); }
div.frame-4 { background: url(images/frame-4.png); }
div.frame-5 { background: url(images/frame-5.png); }
div.frame-6 { background: url(images/frame-6.png); }
div.frame-7 { background: url(images/frame-7.png); }
div.frame-8 { background: url(images/frame-8.png); }
div.picture-title { font-size: 12px; font-weight: bold; }
div.picture-desc { font-size: 12px; }
div.gallery-item a { font-size: 10px; color: #777; text-decoration: none; }

.review { font-family: Arial, sans-serif; letter-spacing: 0; position: relative; margin: 15px 0; }
.review p { line-height: 20px; margin: 5px; position: relative; }
.review p.quote { font-weight: bold; }
.review p.signature { text-align: right; }
.review span.open-quote { position: absolute; left: -15px; top: 6px; font-weight: normal; font-size: 300%; }
.review span.close-quote { position: relative; left: 3px; top: 16px; line-height: 0; font-weight: normal; font-size: 300%; }

/* History quiz */
.quiz { border: 1px solid #ccc; background: #ffe; padding: 10px 20px; margin-bottom: 20px; }
.quiz li.correct_answer, .quiz p.correct_answer { background-color: #cfc; color: #000; }
.quiz li.user_answer, .quiz p.user_answer { background-color: #fcc; color: #000; text-decoration: line-through; }
.quiz p.comment { font-style: italic; }
.quiz p.mark { color: #082; }
.quiz p.question { font-weight: bold; }
.quiz span.answer { color: #c00; border-bottom: 0px solid #fc0; }
.quiz td.incorrect_answer { background-color: #c00; color: #fff;}
.quiz td.question { text-align: left; }
.quiz p.explanation { margin-top: 0; color: #07f; }
.quiz h3 { padding-top: 10px; border-top: 1px solid #d8d7d7 }
.quiz input { margin-top: 5px; }
ol.corrected_quiz { width: 500px; }
ol.corrected_quiz ol li { padding: 5px; }
.statcounter { display: block; width: 80px; text-align: center; margin: 0 auto; }

/* ==|== non-semantic helper classes ========================================
   Please define your styles before this section.
   ========================================================================== */

/* For image replacement */
.ir { display: block; border: 0; text-indent: -999em; overflow: hidden; background-color: transparent; background-repeat: no-repeat; text-align: left; direction: ltr; }
.ir br { display: none; }

/* Hide from both screenreaders and browsers: h5bp.com/u */
.hidden { display: none !important; visibility: hidden; }

/* Hide only visually, but have it available for screenreaders: h5bp.com/v */
.visuallyhidden { border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; }

/* Extends the .visuallyhidden class to allow the element to be focusable when navigated to via the keyboard: h5bp.com/p */
.visuallyhidden.focusable:active, .visuallyhidden.focusable:focus { clip: auto; height: auto; margin: 0; overflow: visible; position: static; width: auto; }

/* Hide visually and from screenreaders, but maintain layout */
.invisible { visibility: hidden; }

/* Contain floats: h5bp.com/q */ 
.clearfix:before, .clearfix:after { content: ""; display: table; }
.clearfix:after { clear: both; }
.clearfix { zoom: 1; }


/* ==|== media queries ======================================================
   PLACEHOLDER Media Queries for Responsive Design.
   These override the primary ('mobile first') styles
   Modify as content requires.
   ========================================================================== */

@media only screen and (min-width: 480px) {
  /* Style adjustments for viewports 480px and over go here */

}

@media only screen and (min-width: 768px) {
  /* Style adjustments for viewports 768px and over go here */

}


/* ==|== print styles =======================================================
   Print styles.
   Inlined to avoid required HTTP connection: h5bp.com/r
   ========================================================================== */
 
@media print {
  * { text-shadow: none !important; filter:none !important; -ms-filter: none !important; } 
  body, #page, .blink { background: transparent !important; } 
  #page, #container { width: 640px; }
  #header-container, #footer, #navigation, .blink, .cloneable, .thumb-shape, .thumb-color, .selector span, #deco-box, .noprint { display: none; }
  .printonly { display: block; }
  #main { margin: 0; }
  a, a:visited { text-decoration: underline; }
  a[href]:after { content: " (" attr(href) ")"; }
  abbr[title]:after { content: " (" attr(title) ")"; }
  .ir a:after, a[href^="javascript:"]:after, a[href^="#"]:after { content: ""; }  /* Don't show links for images, or javascript/internal links */
  pre, blockquote { border: 1px solid #999; page-break-inside: avoid; }
  thead { display: table-header-group; } /* h5bp.com/t */
  tr, img { page-break-inside: avoid; }
  img { max-width: 100% !important; }
  @page { margin: 0cm; }
  p, h2, h3 { orphans: 3; widows: 3; }
  h2, h3 { page-break-after: avoid; }
  .statcounter { display: none; }
}
