.highlight table td { padding: 5px; }

.highlight table pre { margin: 0; }

.highlight .cm { color: #777772; font-style: italic; }

.highlight .cp { color: #797676; font-weight: bold; }

.highlight .c1 { color: #777772; font-style: italic; }

.highlight .cs { color: #797676; font-weight: bold; font-style: italic; }

.highlight .c, .highlight .cd { color: #777772; font-style: italic; }

.highlight .err { color: #a61717; background-color: #e3d2d2; }

.highlight .gd { color: #000000; background-color: #ffdddd; }

.highlight .ge { color: #000000; font-style: italic; }

.highlight .gr { color: #aa0000; }

.highlight .gh { color: #797676; }

.highlight .gi { color: #000000; background-color: #ddffdd; }

.highlight .go { color: #888888; }

.highlight .gp { color: #555555; }

.highlight .gs { font-weight: bold; }

.highlight .gu { color: #aaaaaa; }

.highlight .gt { color: #aa0000; }

.highlight .kc { color: #000000; font-weight: bold; }

.highlight .kd { color: #000000; font-weight: bold; }

.highlight .kn { color: #000000; font-weight: bold; }

.highlight .kp { color: #000000; font-weight: bold; }

.highlight .kr { color: #000000; font-weight: bold; }

.highlight .kt { color: #445588; font-weight: bold; }

.highlight .k, .highlight .kv { color: #000000; font-weight: bold; }

.highlight .mf { color: #009999; }

.highlight .mh { color: #009999; }

.highlight .il { color: #009999; }

.highlight .mi { color: #009999; }

.highlight .mo { color: #009999; }

.highlight .m, .highlight .mb, .highlight .mx { color: #009999; }

.highlight .sb { color: #d14; }

.highlight .sc { color: #d14; }

.highlight .sd { color: #d14; }

.highlight .s2 { color: #d14; }

.highlight .se { color: #d14; }

.highlight .sh { color: #d14; }

.highlight .si { color: #d14; }

.highlight .sx { color: #d14; }

.highlight .sr { color: #009926; }

.highlight .s1 { color: #d14; }

.highlight .ss { color: #990073; }

.highlight .s { color: #d14; }

.highlight .na { color: #008080; }

.highlight .bp { color: #797676; }

.highlight .nb { color: #0086B3; }

.highlight .nc { color: #445588; font-weight: bold; }

.highlight .no { color: #008080; }

.highlight .nd { color: #3c5d5d; font-weight: bold; }

.highlight .ni { color: #800080; }

.highlight .ne { color: #990000; font-weight: bold; }

.highlight .nf { color: #990000; font-weight: bold; }

.highlight .nl { color: #990000; font-weight: bold; }

.highlight .nn { color: #555555; }

.highlight .nt { color: #000080; }

.highlight .vc { color: #008080; }

.highlight .vg { color: #008080; }

.highlight .vi { color: #008080; }

.highlight .nv { color: #008080; }

.highlight .ow { color: #000000; font-weight: bold; }

.highlight .o { color: #000000; font-weight: bold; }

.highlight .w { color: #bbbbbb; }

.highlight { background-color: #f8f8f8; }

/*******************************************************************************
MeyerWeb 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, 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, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video { margin: 0; padding: 0; border: 0; font: inherit; vertical-align: baseline; }

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; }

ol, ul { list-style: none; }

table { border-collapse: collapse; border-spacing: 0; }

/*******************************************************************************
Theme Styles
*******************************************************************************/
body { box-sizing: border-box; color: #373737; background: #212121; font-size: 16px; font-family: 'Myriad Pro', Calibri, Helvetica, Arial, sans-serif; line-height: 1.5; -webkit-font-smoothing: antialiased; }

h1, h2, h3, h4, h5, h6 { margin: 10px 0; font-weight: 700; color: #222222; font-family: 'Lucida Grande', 'Calibri', Helvetica, Arial, sans-serif; letter-spacing: -1px; }

h1 { font-size: 36px; font-weight: 700; }

h2 { padding-bottom: 10px; font-size: 32px; background: url("../images/bg_hr.png") repeat-x bottom; }

h3 { font-size: 24px; }

h4 { font-size: 21px; }

h5 { font-size: 18px; }

h6 { font-size: 16px; }

p { margin: 10px 0 15px 0; }

footer p { color: #f2f2f2; }

a { text-decoration: none; color: #0F79D0; text-shadow: none; transition: color 0.5s ease; transition: text-shadow 0.5s ease; -webkit-transition: color 0.5s ease; -webkit-transition: text-shadow 0.5s ease; -moz-transition: color 0.5s ease; -moz-transition: text-shadow 0.5s ease; -o-transition: color 0.5s ease; -o-transition: text-shadow 0.5s ease; -ms-transition: color 0.5s ease; -ms-transition: text-shadow 0.5s ease; }

a:hover, a:focus { text-decoration: underline; }

footer a { color: #F2F2F2; text-decoration: underline; }

em, cite { font-style: italic; }

strong { font-weight: bold; }

img { position: relative; margin: 0 auto; max-width: 739px; padding: 5px; margin: 10px 0 10px 0; border: 1px solid #ebebeb; box-shadow: 0 0 5px #ebebeb; -webkit-box-shadow: 0 0 5px #ebebeb; -moz-box-shadow: 0 0 5px #ebebeb; -o-box-shadow: 0 0 5px #ebebeb; -ms-box-shadow: 0 0 5px #ebebeb; }

p img { display: inline; margin: 0; padding: 0; vertical-align: middle; text-align: center; border: none; }

pre, code { color: #222; background-color: #fff; font-family: Monaco, "Bitstream Vera Sans Mono", "Lucida Console", Terminal, monospace; font-size: 0.875em; border-radius: 2px; -moz-border-radius: 2px; -webkit-border-radius: 2px; }

pre { padding: 10px; box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); overflow: auto; }

code { padding: 3px; margin: 0 3px; box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); }

pre code { display: block; box-shadow: none; }

blockquote { color: #666; margin-bottom: 20px; padding: 0 0 0 20px; border-left: 3px solid #bbb; }

ul, ol, dl { margin-bottom: 15px; }

ul { list-style-position: inside; list-style: disc; padding-left: 20px; }

ol { list-style-position: inside; list-style: decimal; padding-left: 20px; }

dl dt { font-weight: bold; }

dl dd { padding-left: 20px; font-style: italic; }

dl p { padding-left: 20px; font-style: italic; }

hr { height: 1px; margin-bottom: 5px; border: none; background: url("../images/bg_hr.png") repeat-x center; }

table { border: 1px solid #373737; margin-bottom: 20px; text-align: left; }

th { font-family: 'Lucida Grande', 'Helvetica Neue', Helvetica, Arial, sans-serif; padding: 10px; background: #373737; color: #fff; }

td { padding: 10px; border: 1px solid #373737; }

form { background: #f2f2f2; padding: 20px; }

kbd { background-color: #fafbfc; border: 1px solid #c6cbd1; border-bottom-color: #959da5; border-radius: 3px; box-shadow: inset 0 -1px 0 #959da5; color: #444d56; display: inline-block; font-size: 11px; line-height: 11px; padding: 3px 5px; vertical-align: middle; }

/*******************************************************************************
Full-Width Styles
*******************************************************************************/
.outer { width: 100%; }

.inner { position: relative; max-width: 640px; padding: 20px 10px; margin: 0 auto; }

#forkme_banner { display: block; position: absolute; top: 0; right: 10px; z-index: 10; padding: 10px 50px 10px 10px; color: #fff; background: url("../images/blacktocat.png") #0090ff no-repeat 95% 50%; font-weight: 700; box-shadow: 0 0 10px rgba(0, 0, 0, 0.5); border-bottom-left-radius: 2px; border-bottom-right-radius: 2px; }

#header_wrap { background: #212121; background: -moz-linear-gradient(top, #373737, #212121); background: -webkit-linear-gradient(top, #373737, #212121); background: -ms-linear-gradient(top, #373737, #212121); background: -o-linear-gradient(top, #373737, #212121); background: linear-gradient(to top, #373737, #212121); }

#header_wrap .inner { padding: 50px 10px 30px 10px; }

#project_title { margin: 0; color: #fff; font-size: 42px; font-weight: 700; text-shadow: #111 0px 0px 10px; }

#project_tagline { color: #fff; font-size: 24px; font-weight: 300; background: none; text-shadow: #111 0px 0px 10px; }

#downloads { position: absolute; width: 210px; z-index: 10; bottom: -40px; right: 0; height: 70px; background: url("../images/icon_download.png") no-repeat 0% 90%; }

.zip_download_link { display: block; float: right; width: 90px; height: 70px; text-indent: -5000px; overflow: hidden; background: url(../images/sprite_download.png) no-repeat bottom left; }

.tar_download_link { display: block; float: right; width: 90px; height: 70px; text-indent: -5000px; overflow: hidden; background: url(../images/sprite_download.png) no-repeat bottom right; margin-left: 10px; }

.zip_download_link:hover { background: url(../images/sprite_download.png) no-repeat top left; }

.tar_download_link:hover { background: url(../images/sprite_download.png) no-repeat top right; }

#main_content_wrap { background: #f2f2f2; border-top: 1px solid #111; border-bottom: 1px solid #111; }

#main_content { padding-top: 40px; }

#footer_wrap { background: #212121; }

/*******************************************************************************
Small Device Styles
*******************************************************************************/
@media screen and (max-width: 992px) { img { max-width: 100%; } }
@media screen and (max-width: 480px) { body { font-size: 14px; }
  #downloads { display: none; }
  .inner { min-width: 320px; max-width: 480px; }
  #project_title { font-size: 32px; }
  h1 { font-size: 28px; }
  h2 { font-size: 24px; }
  h3 { font-size: 21px; }
  h4 { font-size: 18px; }
  h5 { font-size: 14px; }
  h6 { font-size: 12px; }
  code, pre { font-size: 11px; } }
@media screen and (max-width: 320px) { body { font-size: 14px; }
  #downloads { display: none; }
  .inner { min-width: 240px; max-width: 320px; }
  #project_title { font-size: 28px; }
  h1 { font-size: 24px; }
  h2 { font-size: 21px; }
  h3 { font-size: 18px; }
  h4 { font-size: 16px; }
  h5 { font-size: 14px; }
  h6 { font-size: 12px; }
  code, pre { min-width: 240px; max-width: 320px; font-size: 11px; } }
.footer-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.5rem 1rem; padding: 1rem; font-size: 0.9rem; text-align: center; }

.footer-links .footer-item { position: relative; white-space: nowrap; }

/* Add separators between items */
.footer-links .footer-item:not(:last-child)::after { content: "|"; margin-left: 0.75rem; color: white; }

.footer-links a { color: #ff9933; text-decoration: none; }

.footer-links a:hover { text-decoration: underline; }

/* Navigation Container: set a very dark grey background */
.site-nav { background-color: #222; /* Very dark grey */ padding: 10px; border-bottom: 1px solid #444; /* Optional subtle border */ }

/* Navigation List Styling: left-align items with spacing */
.site-nav ul { margin: 0; padding: 0; list-style: none; display: flex; justify-content: flex-start; /* Align items to the left */ gap: 10px; /* Provide space between buttons */ }

/* Navigation Item: no forced width so each button sizes naturally */
.site-nav li { margin: 0; text-align: left; }

/* Navigation Link (Button) styling */
.site-nav li a { display: inline-block; padding: 10px 15px; text-decoration: none; color: #fff; /* White text for good contrast on dark backgrounds */ background: transparent; /* No background when not selected */ border: none; /* No border */ transition: background-color 0.2s ease, color 0.2s ease; }

/* Hover State: for non-active buttons */
.site-nav li a:hover { background-color: #333; /* Slightly lighter grey on hover */ }

/* Active Navigation Item: dark orange background with contrasting text */
.site-nav li.active a { background-color: #D35400; /* Dark orange background */ color: #fff; /* White text for contrast */ font-weight: bold; }

/* Geek List Container */
#games-display-container { margin-top: 2rem; padding: 1rem; background: #f9f9f9; border-top: 2px solid #ccc; }

/* Section Title */
#games-display-title { margin-bottom: 1rem; font-size: 1.4rem; font-weight: 600; }

/* Individual Game Entry */
.geeklist-item { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 1rem; border-bottom: 1px solid #ccc; padding: 1rem 0; }

/* Thumbnail Image Wrapper */
.geeklist-thumbnail { flex: 0 0 150px; height: 150px; overflow: hidden; }

.geeklist-thumbnail img { width: 100%; height: 100%; object-fit: cover; }

/* Game Info Block */
.geeklist-info { flex: 1 1 0; }

.geeklist-info h3 { margin: 0 0 0.5rem 0; }

.geeklist-info h3 a { color: #000; text-decoration: none; }

.geeklist-info h3 a:hover { color: #333; }

.geeklist-description { font-size: 0.95rem; line-height: 1.4; }

/* Host Selector Section */
.host-selector { display: flex; flex-wrap: wrap; justify-content: center; gap: 1rem; margin: 2rem 0; padding: 0 1rem; }

.host-button { display: flex; flex-direction: column; align-items: center; border: none; background: none; cursor: pointer; transition: transform 0.2s; }

.host-button img { width: 80px; height: 80px; object-fit: cover; border-radius: 50%; border: 2px solid #ccc; transition: border-color 0.3s; }

.host-button span { margin-top: 0.5rem; font-weight: bold; color: #333; }

.host-button:hover img, .host-button.active img { border-color: #D35400; }

/* Games List Display Section */
.games-list-section { margin: 2rem auto; max-width: 700px; }

#host-bio-title, #games-display-title { font-size: 1.4rem; font-weight: 600; text-align: left; margin-top: 1rem; margin-bottom: 0.5rem; }

#host-bio { margin-bottom: 1rem; }

/* Wrapper for Host Bio and Game List */
.host-details-box { border: 1px solid #ddd; padding: 1.5rem; margin-top: 1rem; background: #fff; border-radius: 6px; }

.host-details-box h3 { font-size: 1.4rem; margin-bottom: 0.5rem; }

/* Optional: General button style (if still in use) */
button { margin-top: 0.5rem; padding: 8px 14px; background-color: #D35400; color: white; border: none; border-radius: 5px; cursor: pointer; }

button:hover { background-color: #a94000; }

/* --- Responsive adjustments for Geeklist --- */
@media (max-width: 600px) { .geeklist-item { flex-direction: row; /* Keep side-by-side layout */ align-items: flex-start; }
  .geeklist-thumbnail { float: left; flex: 0 0 80px; width: 80px; /* Narrower width */ height: 100px; /* Taller height for portrait crop */ margin-right: 1rem; overflow: hidden; border-radius: 4px; /* Optional: slightly rounded corners */ }
  .geeklist-description { font-size: 0.9rem; } }
@media (max-width: 480px) { .host-selector { display: flex; flex-wrap: wrap; justify-content: space-around; /* evenly space items */ gap: 0.5rem; padding: 0; }
  .host-button { flex: 0 1 22%; max-width: 22%; text-align: center; }
  .host-button img { width: 60px; height: 60px; }
  .host-button span { font-size: 0.75rem; word-break: break-word; /* prevent label wrapping issues */ } }
@media (max-width: 480px) { .inner { padding-left: 0.5rem; padding-right: 0.5rem; } }
@media (max-width: 480px) { .footer-links { flex-direction: column; gap: 0.3rem; }
  .footer-links .footer-item:not(:last-child)::after { content: ""; margin-left: 0rem; color: white; } }
