/* ------------------ HEADINGS ------------------ */
h1, .h1 {
  margin-bottom: 0;
  margin-top: 14px;
  font-weight: 400;
  line-height: 14px;
  text-indent: 8px;
  background: #00aaaa;
  padding: 14px 8px;
  color: #000000;
  text-align: center;
  border: 3px solid #000000;  /* frame */
  border-radius: 4px;         /* optional rounded corners */
}

/* We'll keep h2 as DOS-blue with white text */
h2 {
  background-color: #0000aa;
  color: white;
  font-size: 20px;
}

/* Use uppercase, padding, margins for h2 and h3 */
h2, h3 {
  text-transform: uppercase;
  padding: 10px 8px;
  margin: 10px 8px;  
}

/* “Press Start 2P” font */
@font-face {
  font-family: 'Press Start 2P';
  src: url('/static/theme/fonts/PressStart2P-Regular.ttf') format('truetype');
  font-weight: normal;
  font-style: normal; /* "monospace" isn’t a valid 'font-style'; keep it "normal" */
}

/* ------------------ BODY ------------------ */
body {
  font-family: 'Press Start 2P', monospace;
  font-size: 0px;  /* adjust size as needed */
  line-height: 1.5;
}

/* Example media queries for layout columns */
@media (min-width: 1200px) {
  .col-lg-3_5 {
    flex: 0 0 31%;
    max-width: 31%;
  }
}
@media (min-width: 2000px) {
  .col-vlg-3 {
    flex: 0 0 24%;
    max-width: 24%;
  }
}

/* 
   Add a top border ("hr") to every H2 except the very first.
   This visually places a line above the heading, but only on 
   the 2nd heading onward. 
*/
h2:not(:first-of-type) {
  border-top: 2px solid #ccc; 
  padding-top: 1em;   
  margin-top: 2em;    /* adjust spacing to suit your layout */
}

/* "===" on both sides of h2 text */
h2::before,
h2::after {
  content: "===";
  margin: 0 8px;
  color: #ffffff;
}

/* h3 uses "---" before and after */
h3::before,
h3::after {
  content: "---";
  margin: 0 6px;
  color: #00ffff;
}

/* Keep headings "faux bold" with text-shadow */
h1, h2, h3, strong {
  font-family: 'Press Start 2P', monospace;
  font-size: 0px;  /* adjust size as needed */
  line-height: 1.5;
  font-weight: normal; 
  text-shadow:
    0.5px 0 currentColor,
   -0.5px 0 currentColor,
    0 0.5px currentColor,
    0 -0.5px currentColor;
}

/* ------------------ PARAGRAPHS & INLINE ------------------ */
p, li, span {
  color: rgba(255, 255, 255, 0.9); /* semi-transparent white */
}

/* Slight horizontal compression for paragraphs, etc. */
p, span, li {
  transform: scaleX(0.87);
  transform-origin: left;
}

/* ------------------ HIGHLIGHT ------------------ */
/* .highlight { */
.codehilite {
  background-color: #000000; /* black */
  color: #00FFFF;           /* cyan */
  border: 3px solid #000000;
  padding: 2px;
  margin: 3px;
  margin-bottom: 20px;
}

/* Force the highlighted text inside to use a different font */
/* .highlight * { */
.codehilite * {
  font-family: Arial, Helvetica, sans-serif !important;
}

/* ------------------ TABLES ------------------ */
table {
  width: 100%;
  border-collapse: collapse;
  margin: 20px 0;
  /* font-family: 'Press Start 2P', monospace; */
  font-size: 10px;
  background-color: #000088;
  color: #ffffff;
  border: 3px solid #000000;
}

table thead {
  background-color: #0000aa;
  color: #ffff00;
  text-transform: uppercase;
}

table th,
table td {
  border: 1px solid #ffffff;
  padding: 8px;
  text-align: center;
  vertical-align: middle;
}

table th {
  font-weight: normal;
  background-color: #0000aa;
}

table tbody tr:nth-child(even) {
  background-color: #000066;
}

table code {
  background: none;
  color: #00ffff;
}

article img {
  max-width: 100%;
  max-height: 100%;
  height: auto;
  display: block;
  margin: 0 auto; /* optional: center the image */
}


/* Banner */
.consulting-banner {
  background: linear-gradient(90deg, #111, #222, #111); /* subtle gradient */
  color: #0ff;                    /* neon cyan text */
  font-family: monospace;         /* fits retro style */
  font-size: 18px;                /* larger text */
  text-align: center;
  border-bottom: 4px solid #f0f;  /* neon pink underline */
  background-color:   rgba(0,0,0,0.6); 

  padding-bottom: 20px;    
  padding-top: 20px;  
  padding-left: 20px;
  padding-right: 50px;  
  margin-left: -1%;
  margin-bottom: 20px;
  width: 104%;
  
}

.consulting-banner .emoji {
  font-size: 22px;
  margin-right: 6px;
}

.consulting-banner .highlight {
  color: #ff0; /* neon yellow highlight */
  font-weight: bold;
}

.consulting-banner a {
  color: #f0f;  /* neon pink link */
  font-weight: bold;
  text-decoration: none;
}

.consulting-banner a:hover {
  text-decoration: underline;
  color: #fff;
}

.consulting-page {
  font-family: monospace;         /* fits retro style */
  font-size: 18px;                /* larger text */
}

p, li {
  font-family: monospace;         /* fits retro style */
  font-size: 0px;                /* larger text */
}

.asciigraph {
    background-color: #000000;
    color: #00FFFF;
    padding-top: 10px;
    padding-bottom: 10px;    
}


