/* GlkOte stylesheet for Quixe/I7 Template
 * Designed by Andrew Plotkin <erkyrath@eblong.com>
 * <http://eblong.com/zarf/glk/glkote.html>
 * <http://eblong.com/zarf/glulx/quixe/>
 * 
 * This CSS stylesheet is in the public domain. Do whatever you want
 * with it.
 */

#gameport {
  /* The host page is supposed to define the gameport's layout, but
     this property is needed to prevent possible overflow scrollbars.
     We'll enforce it here. */
  overflow: hidden;
}

#windowport {
  width: 100%;
  height: 100%;
}

#errorpane {
  position: absolute;
  top: 0px;
  width: 100%;
  background: #FFA0A0;
  border-bottom: 3px solid #FF4040;
}

#errorpane.WarningPane {
  background: #B0B0FF;
  border-bottom: 3px solid #6060FF;
}

#errorpane:hover {
  background: rgba(255, 160, 160, 0.5);
  border-bottom: 3px solid rgba(255, 64, 64, 0.3);
}

#errorpane.WarningPane:hover {
  background: rgba(176, 176, 255, 0.5);
  border-bottom: 3px solid rgba(96, 96, 255, 0.3);
}

#errorcontent {
  font-size: 1.1em;
  padding: 1em;
  text-align: center;
}

#loadingpane {
  position: absolute;
  width: 100%;
  text-align: center;
  top: 20%;
}

.WindowFrame {
  /* This class provides the default background color of windows. You
     can change that, but don't touch the position or margin. */
  position: absolute;
  margin: 0px;
  background: white;
}

.BufferWindow {
  overflow: scroll;   /* vertical scrollbar is mandatory */
  overflow-x: hidden; /* but horizontal scrollbar is forbidden */
  font-family: Georgia, "Times New Roman", Times, serif;
  font-size: 15px;
  line-height: 1.4;
  padding: 6px 10px 6px 10px;
}

.BufferLine {
  white-space: pre-wrap; /* required for spaces to work right */
}

.BlankLineSpan {
  /* Work around an annoying corner case: if the BlankLineSpan is
     followed by an input line, we don't need or want the placeholder
     space. Suppress it. */
  display: none;
}

.BlankLineSpan:only-child {
  /* No input line, so no suppress. */
  display: inline;
}

.GridWindow {
  background: #D0D0C0;
  overflow: hidden;
  font-family: monaco, andale mono, lucidatypewriter, courier, courier new, monospace; /* necessary! */
  font-size: 14px;
  padding: 6px 10px 6px 10px;
}

.GridLine {
  white-space: pre; /* required for spaces to work right */
}

.InvisibleCursor {
  /* We need this wrapper to perform the measurement on the ZWJ in
     the InvisibleCursor. */
  position: relative;
}

.BufferLine:last-child {
  /* This provides the margin below the last line of text (and the input
     prompt). Without this, they'd be flush against the bottom of the
     window, which would be ugly. Do not modify this CSS class. */
  margin-bottom: 14px;
}

.HasNoInputField .BufferLine:last-child .BlankLineSpan {
  /* If the last line in a buffer window is blank, and there is no
     char/line input occurring, we suppress the blank line in the DOM.
     (The div still exists, but it has no visible contents, so it
     collapses.) This aids fixed-height buffer wins which contained
     exactly the right number of lines. */
  display: none;
}

.HasNoInputField .BufferLine:last-child .InvisiblePos {
  /* We also have to suppress the measurement ZWJ in the InvisibleCursor. */
  display: none;
}

.MorePrompt {
  /* This describes the "More" prompt that flashes in the bottom right corner
     of a window when it needs paging. */
  font-weight: bold;
  position: absolute;
  pointer-events: none;
  background: #603010;
  color: #FFFFCC;
  opacity: 0.5;
  padding: 2px 6px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
}

.PreviousMark {
  /* This describes the small horizontal mark that appears in a window
     when it needs paging. */
  position: absolute;
  background: #B09888;
  height: 2px;
  width: 12px;
  top: 0px;
  right: 0px;
}

.Input {
  /* This class mimicks the Style_input class. It also eliminates the 
     usual decoration of an <input> field, as much as possible. */
  border: none;
  margin: 0px;
  padding: 0px;
  outline-width: 0px;
  outline-style: none;
  background: none;
  font-weight: bold;
}

.BufferWindow .Input {
  font-family: Georgia, "Times New Roman", Times, serif;
  font-size: 15px;
}

.GridWindow .Input {
  font-family: monaco, andale mono, lucidatypewriter, courier, courier new, monospace; /* necessary! */
  font-size: 14px;
}

.Input:focus::placeholder {
  /* Hide "Tap here to type" placeholder when the input is focused */
  color: transparent;
}

/* The following are used for image alignment (in buffer windows). */

.ImageMarginLeft {
  float: left;
  margin-right: 0.5em;
}

.ImageMarginRight {
  float: right;
  margin-left: 0.5em;
}

.ImageInlineDown {
  vertical-align: text-top;
}

.ImageInlineUp {
  vertical-align: text-bottom;
}

.ImageInlineCenter {
  vertical-align: middle;
}

.FlowBreak {
  clear: both;
}

.GraphicsWindow canvas {
  display: block;
  background-color: white;
}

/* The following are the standard Glk styles. */

.Style_normal {
}

.Style_emphasized {
  font-style: italic;
}

.Style_preformatted {
  font-family: monaco, andale mono, lucidatypewriter, courier, courier new, monospace;
}

.Style_header {
  font-weight: bold;
}

.BufferWindow .Style_header {
  font-size: 17px;
}

.Style_subheader {
  font-weight: bold;
}

.Style_alert {
  font-weight: bold;
}

.Style_note {
  font-style: italic;
}

.Style_blockquote {
  background: #FFF0C0;
}

.Style_input {
  font-weight: bold;
  color: #300000;
}

.Style_user1 {
}

.Style_user2 {
}

/* End of GlkOte default stylesheet. */
