@font-face {
  font-family: "Teletext";
  src: url("teletext.ttf");
}

.no-border {
  border: none !important;
  box-shadow: none !important;
}

div.footer {
  position: absolute;
  height: 64px;
  width: 100%;
  bottom: 0;
  background: url(cppconheader.png);
  padding: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
}
div.footer-img img {
  width: 64px;
}

span.cursor::before {
  content: "\2588";
}

span.cursor {
  animation: blink 1.1s step-start infinite;
  display: inline;
}

@keyframes blink {
  50% {
    opacity: 0;
  }
}

.hidden {
  display: none !important;
}

div.flex {
  display: flex;
  justify-content: space-around;
}

.w40 {
  width: 40%;
}

img.au-mag {
  height: 550px;
}

.reveal {
  font-size: 30px;
}

.reveal h1,
.reveal h2,
.reveal h3,
.reveal h4,
.reveal h5,
.reveal h6 {
  font-family: "Teletext", Impact, sans-serif;
}

.reveal .teletext {
  font-family: "Teletext", Impact, sans-serif;
}

tr.highlight-line {
  text-shadow: 0px 0px 10px #aaa, 0px 0px 25px #585 !important;
}

.registers code {
  text-decoration: underline;
}

div.computers img {
  height: 150px;
}

div.computers img.big {
  height: 300px;
}

table.rol {
  font-size: smaller;
}

table.horizontal {
  border-collapse: collapse;
}

table.horizontal th,
table.horizontal td {
  border: 1px solid grey;
  text-align: center;
  width: 6em;
}

table.horizontal th:nth-child(even) {
  background-color: #444;
}

table.horizontal th:nth-child(odd) {
  background-color: #222;
}

table.horizontal td:nth-child(even) {
  background-color: #444;
}

table.horizontal td:nth-child(odd) {
  background-color: #222;
}

table.opcodes th {
  font-family: monospace;
}

div.credit {
  font-size: small;
}

div.wavedrom {
  background: #ffffff;
}

table.memmap {
  width: 50%;
  font-size: 0.6em;
}

table.memmap th {
  width: 6em;
  font-family: monospace;
  font-weight: normal;
  text-align: center;
}

table.memmap .addr {
  font-family: monospace;
}

table.memmap td {
  vertical-align: middle;
}

table.memmap tr.osrom {
  background-color: #222244;
}

table.memmap tr.hw {
  background-color: #444433;
}

table.memmap tr.rom1 {
  background-color: #222233;
}

table.memmap tr.ram1 {
  background-color: #223322;
}

table.memmap tr.ram2 {
  background-color: #283828;
}

code {
  box-shadow: 10px 10px 20px #333;
}

code.asm6502,
code.javascript {
  font-size: 22pt;
  line-height: 110%;
}

.first h1,
.first h2,
.first h3,
.first h4 {
  font-family: "Helvetica", sans-serif;
}

.first h1 {
  font-size: 4em;
  font-weight: bold;
}

.first h2 {
  font-size: 2.5em;
  font-weight: bold;
}

.first h3 {
  font-size: 2em;
  font-style: italic;
}

.hljs-opcodes {
  color: #569cd6;
  font-weight: bold;
}

/* SVG 6502 Circuit Diagram Styles */
.register-box {
  fill: none;
  stroke: #ddd;
  stroke-width: 2;
}

.register-label {
  font-family: "Courier New", monospace;
  font-size: 24px;
  font-weight: bold;
  fill: #ddd;
  text-anchor: middle;
  dominant-baseline: middle;
}

.bus-line {
  stroke: #ddd;
  stroke-width: 3;
  fill: none;
}

.control-line {
  stroke: #888;
  stroke-width: 1.5;
  fill: none;
  stroke-dasharray: 3, 3;
}

.gate-outline {
  fill: none;
  stroke: #ddd;
  stroke-width: 2;
}

.opcode-text {
  font-family: "Courier New", monospace;
  font-size: 16px;
  fill: #ddd;
}

.bit-label {
  font-family: "Courier New", monospace;
  font-size: 16px;
  fill: #ddd;
  font-weight: bold;
}

.transistor {
  fill: none;
  stroke: #ddd;
  stroke-width: 2;
}

/* Fragment highlighting styles */
.fragment.highlight-current-blue.current-fragment {
  stroke: #4488ff !important;
  stroke-width: 3 !important;
}

.fragment.highlight-current-red.current-fragment {
  stroke: #ff4444 !important;
  stroke-width: 3 !important;
  fill: #ff444422 !important;
}

.register-label-red {
  fill: #ff4444;
}

.transistor-red {
  stroke: #ff4444;
}
