html {
  -webkit-text-size-adjust: 100%;
      -ms-text-size-adjust: 100%;
          text-size-adjust: 100%;
}
body {
  background: #F5F5F0;
  color: #3B3B3B;
  font: 15px/22px 'Helvetica Neue', sans-serif;
  
  padding: 0 10px;
}

#main {
  max-width: 1024px;
  margin: 30px auto 0;
}

a {
  color: black;
  text-decoration: underline;
}

a:active {
   color: #000;
}

a:hover,
a:active {
  outline: none;
}

a:focus,
a:hover {
  color: #f43059;
}

a:focus {
  outline: dotted thin;
}

a:link {
  -webkit-tap-highlight-color: #fe7793;
}

img {
  max-width: 100%;
}

#site-name {
  color: #000;
  font-family: 'LeagueGothic', 'Arial Narrow', Impact, sans-serif;
  font-size: 55px;
  font-weight: normal;
  line-height: 1;
  margin: 0;
  padding: 0;
  word-wrap: break-word;
  width: 100%;
}

#site-name a {
  color: #000;
  text-decoration: none;
  text-transform: uppercase;
}

#site-name {
  border-bottom: 0px;
  font-weight: bold;
  letter-spacing: 0px;
}

#header {
  border-bottom: 1px solid #CCC;
  margin: 0 0 40px;
  padding: 0 0 10px;
}

#header::after {
  clear: both;
}

#header::before,
#header::after {
  content: "";
  display: table;
}

#nav {
  clear: both;
  margin-top: 10px;
  line-height: 1;
  margin-bottom: 0;
}

#nav ul {
  float: left;
  padding: 0;
  margin: 0;
  list-style-type: none;
}

#nav li {
  float: left;
  position: relative;
}

#nav a {
  background: #000;
  background: -moz-linear-gradient(top,  #454545,  #000);
  background: -o-linear-gradient(top, #454545, #000);
  background: -webkit-gradient(linear, left top, left bottom, from(#454545), to(#000));
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#454545', endColorstr='#000000');
  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#454545, endColorstr=#000000)";
  -webkit-background-clip: padding-box;
  border: 1px solid #000;
  -moz-border-radius: 3px;
  -ms-border-radius: 3px;
  -o-border-radius: 3px;
  -webkit-border-radius: 3px;
  border-radius: 3px;
  color: #fff;
  display: block;
  font-size: 11px;
  font-weight: bold;
  line-height: 20px;
  margin: 0 1px 1px 0;
  padding: 4px 10px;
  position: relative;
  text-decoration: none;
  text-shadow: 0 1px 1px #000;
  text-transform: uppercase;
  text-align: center;
}

#nav a:focus,
#nav a:hover {
  background: #000;
  background: -moz-linear-gradient(top,  #666,  #000);
  background: -o-linear-gradient(top, #666, #000);
  background: -webkit-gradient(linear, left top, left bottom, from(#666), to(#000));
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#666666', endColorstr='#000000');
  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#666666, endColorstr=#000000)";
}

#nav .menu > ul:hover > li {
  opacity: .7;
}

#nav .menu > ul:hover > li:hover {
  opacity: 1;
}

#nav .menu > ul > .current_menu_item > a,
#nav .menu > ul > .current_page_item > a,
#nav .menu > ul > .current_menu_item > a:hover,
#nav .menu > ul > .current_page_item > a:hover,
#nav .menu > ul > .current_menu_item > a:focus,
#nav .menu > ul > .current_page_item > a:focus,
#nav .menu > ul > .current_page_ancestor > a {
  background: #999;
  background: -moz-linear-gradient(top,  #999,  #000);
  background: -o-linear-gradient(top, #999, #000);
  background: -webkit-gradient(linear, left top, left bottom, from(#999), to(#000));
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#999999', endColorstr='#000000');
  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#999999, endColorstr=#000000)";
}

#nav ul ul {
  display: none;
  float: left;
  margin: 0;
  position: absolute;
  top: 31px;
  left: 0;
  width: 200px;
  z-index: 99999;
}

#nav ul ul ul {
  left: 100%;
  top: 0;
}

#nav ul ul a {
  width: 180px;
}

#nav li:hover > a {
  background: #000;
  background: -moz-linear-gradient(top,  #666,  #000);
  background: -o-linear-gradient(top, #666, #000);
  background: -webkit-gradient(linear, left top, left bottom, from(#666), to(#000));
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#666666', endColorstr='#000000');
  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#666666, endColorstr=#000000)";
}

#nav .has-children a {
  position: relative;
}

#nav .has-children > a:after {
  display: inline-block;
  content: "\25BC";
  font: normal 8px/14px Arial, sans-serif;
  margin-left: 10px;
  opacity: .5;
  text-align: right;
}

#nav li .has-children > a:after {
  content: "\25B6";
}

#nav li .has-children > a:after {
  float: right;
  padding-top: 4px;
}

#nav li li:hover > a,
#nav ul ul :hover > a,
#nav li li a:focus {
  background: -moz-linear-gradient(top, #000, #222);
  background: -webkit-gradient(linear, left top, left bottom, from(#000), to(#222));
  color: #ccc;
  top: 0;
}

#nav li li:hover > a,
#nav a:focus {
  color: #ccc;
}

#nav ul li:hover > ul {
  display: block;
}

#date {
  color: #888;
  font-size: 15px;
  display:block;
  padding: 10px 0px 0px 0px;
  text-transform: uppercase;
}

.shadowed {
  padding: 5px ;
  background-color: white;
  box-shadow: rgb(119, 119, 119) 3px 3px 3px;
  border-style:solid;
  border-width:1px;
  border-color:#aaaaaa ;
}

p {
 padding: 0 15px;
 text-align: justify;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  color: #000;
  margin: 0 0 20px;
  padding: 10px 0 0;
}

h1 {
  font-family: 'LeagueGothic', 'Arial Narrow', Impact, sans-serif;
  font-size: 40px;
  font-weight: normal;
  line-height: 50px;
  margin: 0 0 30px;
  padding: 5px 0 0;
  text-transform: uppercase;
  letter-spacing: 0px;
  border-bottom: 1px solid #CCC;
}

h2 {
  font-size: 18px;
  line-height: 24px;
  padding: 20px 0 0;
  border-bottom: 1px solid #CCC;
}

h3 {
  font-size: 18px;
  border-bottom: 1px solid #CCC;
}

h4 {
  font-size: 13px;
  text-transform: uppercase;
}

h5 {
  font-size: 12px;
  text-transform: uppercase;
}

h6 {
  font-size: 11px;
  text-transform: uppercase;
}

h1 a,
h2 a,
h3 a,
h4 a,
h5 a,
h6 a {
  color: #000;
  text-decoration: none;
}

pre {
  color: 000;
  background: white;
  box-shadow: rgb(119, 119, 119) 3px 3px 3px;
  border-style:solid;
  border-width:1px;
  border-color:#aaaaaa ;
  font-size: 12px;
  font-family: 'DejaVu Sans', monospace;
  line-height: normal;
  margin: 0 0 0 15px;
  overflow: auto;
}


code.git {
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  -ms-border-radius: 3px;
  -o-border-radius: 3px;
  border-radius: 3px;
  padding: 10px 15px 13px 15px;
  margin-bottom: 1em;
  background-color: #fff;
  border: solid 1px #cccccc;
  color: #f14e32;
  font-family: Courier, monospace !important;
  line-height: 18px;
  overflow: auto;
  display: inline;
  padding: 1px;
}

code {
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  -ms-border-radius: 3px;
  -o-border-radius: 3px;
  border-radius: 3px;
  padding: 1px 2px 1px 2px;
  margin-bottom: 1em;
  background-color: #fff;
  border: solid 1px #cccccc;
  color: #000;
  font-family: 'Helvetica Neue', sans-serif;
  line-height: 18px;
  overflow: auto;
  display: inline;
}

@media (max-width: 377px){
  #nav li {
    width: 33.3333%;
  }
}


  @media (max-width: 500px) { /* For small screen decices */
    *{
      font-size: 12px; 
    }
    pre {
     font-size: 11px;  
    }
  } 
/* ---- additions (not in neo_style.css) ---- */
#site-name, h1 { font-family: 'LeagueGothic', 'League Gothic', 'Arial Narrow', Impact, sans-serif; }
pre .k { color: blue; }
pre .c { color: #008000; }
pre .n { color: #098658; }
pre.long { padding: 8px 12px; }
pre.diagram { padding: 12px 14px; background: #fafafa; border: 1px solid #999; font-family: 'DejaVu Sans Mono', 'Courier New', Courier, monospace; font-size: 11.5px; line-height: 1.28; box-shadow: 2px 2px 5px rgba(0,0,0,0.1); overflow-x: auto; white-space: pre; margin: 15px 0 25px 0; }
table.ops { border-collapse: collapse; margin: 0 0 20px 15px; font-size: 12px; background: white; box-shadow: rgb(119,119,119) 3px 3px 3px; border: 1px solid #aaa; width: calc(100% - 15px); }
table.ops th, table.ops td { border: 1px solid #ccc; padding: 4px 8px; text-align: left; vertical-align: top; }
table.ops th { background: #eee; text-transform: uppercase; font-size: 11px; }
.fig { text-align: center; margin: 10px 0 25px; }
.fig svg { max-width: 100%; height: auto; background: white; border: 1px solid #aaa; box-shadow: rgb(119,119,119) 3px 3px 3px; padding: 6px; box-sizing: border-box; }
.tab { margin-bottom: 35px; }
.tab h2 { font-size: 22px; line-height: 28px; margin: 35px 0 15px 0; border-bottom: 2px solid #999; padding-bottom: 4px; color: #000; }

/* Active Nav Item */
#nav li.active > a,
#nav .active > a,
#nav .active a {
  background: #999;
  background: -moz-linear-gradient(top, #999, #000);
  background: -o-linear-gradient(top, #999, #000);
  background: -webkit-gradient(linear, left top, left bottom, from(#999), to(#000));
  background: linear-gradient(to bottom, #999, #000);
  border: 1px solid #777;
  color: #fff;
  text-shadow: 0 1px 2px #000;
}

/* Sub-navigation & In-Page Buttons with matching style */
.subnav-bar {
  margin: 25px 0 35px;
  padding: 12px;
  background: #EAEAEA;
  border: 1px solid #CCC;
  border-radius: 4px;
}
.subnav-title {
  display: block;
  font-size: 11px;
  font-weight: bold;
  color: #555;
  text-transform: uppercase;
  margin-bottom: 8px;
  letter-spacing: 0.5px;
}
.subnav-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.subnav-buttons a,
.btn-style {
  background: #000;
  background: -moz-linear-gradient(top, #454545, #000);
  background: -o-linear-gradient(top, #454545, #000);
  background: -webkit-gradient(linear, left top, left bottom, from(#454545), to(#000));
  background: linear-gradient(to bottom, #454545, #000);
  border: 1px solid #000;
  border-radius: 3px;
  color: #fff !important;
  display: inline-block;
  font-size: 11px;
  font-weight: bold;
  line-height: 20px;
  padding: 4px 10px;
  position: relative;
  text-decoration: none !important;
  text-shadow: 0 1px 1px #000;
  text-transform: uppercase;
  text-align: center;
  white-space: nowrap;
}
.subnav-buttons a:hover,
.subnav-buttons a:focus,
.btn-style:hover,
.btn-style:focus {
  background: #000;
  background: -moz-linear-gradient(top, #666, #000);
  background: -o-linear-gradient(top, #666, #000);
  background: -webkit-gradient(linear, left top, left bottom, from(#666), to(#000));
  background: linear-gradient(to bottom, #666, #000);
  color: #fe7793 !important;
  outline: none;
}

.subnav-buttons a.active,
.btn-style.active {
  background: #999;
  background: -moz-linear-gradient(top, #999, #000);
  background: -o-linear-gradient(top, #999, #000);
  background: -webkit-gradient(linear, left top, left bottom, from(#999), to(#000));
  background: linear-gradient(to bottom, #999, #000);
  border: 1px solid #777;
  color: #fff !important;
  text-shadow: 0 1px 2px #000;
}

/* Repo cards on about page */
.repo-card {
  background: #fff;
  border: 1px solid #ccc;
  border-radius: 4px;
  padding: 14px 16px;
  margin-bottom: 12px;
  box-shadow: 2px 2px 4px rgba(0,0,0,0.06);
}
.repo-title {
  font-size: 15px;
  font-weight: bold;
  margin-bottom: 4px;
}
.repo-title a {
  color: #000;
  text-decoration: none;
}
.repo-title a:hover {
  color: #f43059;
  text-decoration: underline;
}
.repo-meta {
  font-size: 11px;
  color: #666;
  text-transform: uppercase;
  margin-bottom: 6px;
}
.repo-desc {
  font-size: 13px;
  line-height: 18px;
  color: #444;
  margin: 0;
}
.repo-tag {
  display: inline-block;
  background: #eee;
  border: 1px solid #ddd;
  border-radius: 2px;
  padding: 1px 5px;
  font-size: 10px;
  color: #555;
  margin-right: 4px;
  margin-top: 4px;
}

/* Pagination between format pages */
.format-pagination {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 30px 0 20px 0;
  padding: 15px 0;
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  flex-wrap: wrap;
  gap: 10px;
}
.page-counter {
  font-size: 13px;
  color: #777;
  font-weight: bold;
  text-transform: uppercase;
}

/* Project cards */
.project-card {
  background: #fdfdfd;
  border: 1px solid #ccc;
  border-left: 4px solid #f43059;
  border-radius: 4px;
  padding: 16px 20px;
  margin: 16px 0;
  box-shadow: 2px 2px 5px rgba(0,0,0,0.05);
}
.project-card h3 {
  margin-top: 0;
  margin-bottom: 6px;
  font-size: 17px;
  color: #111;
}
.project-meta {
  font-size: 12px;
  color: #666;
  text-transform: uppercase;
  margin-bottom: 10px;
}

/* Game Selection Grid on Home */
.game-selection-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 20px;
  margin: 25px 0;
}
.game-box {
  background: #fcfcfc;
  border: 1px solid #bbb;
  border-radius: 5px;
  padding: 20px;
  box-shadow: 2px 2px 6px rgba(0,0,0,0.08);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.game-box h3 {
  margin-top: 0;
  font-size: 18px;
  color: #000;
  border-bottom: 2px solid #f43059;
  padding-bottom: 8px;
}
.game-box p {
  font-size: 14px;
  line-height: 20px;
  color: #333;
  margin-bottom: 15px;
}

