/* ============================================================================
 * Styles used in code blocks generated with vim TOhtml
 * ============================================================================
 */

/*
 * Plone related
 */

pre.vimcode
{
    /* font-size: 100%; */
}

/* TinyMCE inserts a <br> at the end of the <pre> block */
pre.vimcode > br:last-child
{
    display: none;
}

/*
 * line number and code layout
 */

pre.vimcode
{
    white-space: pre-wrap;
    padding: 0.5em;
    padding-left: 0;
    line-height: 1.4em;
    margin: 1em 0;
    border-style: none none none solid;
}

pre.vimcode.nonumber
{
    border-width: 0;
}
pre.vimcode.number
{
    border-width: 3em; /* see NOTE */
    overflow-x: visible;
}

pre.vimcode input
{
    font: inherit;
    border: none;
    margin: 0;
    cursor: default;
    text-align: right;
    margin-left: -2.5em; /* see NOTE */
    padding: 0 0.5em 0 0; /* see NOTE */
    width: 2em; /* see NOTE */
}

pre.vimcode.nonumber input
{
    display: none;
}
pre.vimcode.number input
{
    display: inline;
}


/*
 * NOTE: XXX In theory, the following equation should be correct:
 * pre.border-width = - input.margin-left
 * pre.border-width = input.width + input.padding-left + input-padding-right
 * But when using em, despite the fonts of <pre> and <input> being the same,
 * in some browsers there are conversion errors, which lead to pre.border
 * and input.margin not overlapping 100%.
 * 
 * Solution: input-padding-left = 0 and
 * pre.border-width > input.width + input-padding-right
 */


/*
 * Vim colour scheme
 */

.story pre.vimcode, pre.vimcode .Normal  { color: #657b83; background-color: #002b36; }

.story pre.vimcode.number { border-color: #073642; } /* border-color = .LineNr background */
.story pre.vimcode .LineNr { color: #657b83; background-color: #073642; }

.story pre.vimcode .Search { color: #002b36; background-color: #b58900; font-weight: bold; }
.story pre.vimcode .Identifier { color: #268bd2; }
.story pre.vimcode .Comment { color: #657b83; font-style: italic; }
.story pre.vimcode .Constant { color: #2aa198; }
.story pre.vimcode .Special { color: #dc322f; }
.story pre.vimcode .PreProc { color: #cb4b16; }
.story pre.vimcode .Statement { color: #859900; }
.story pre.vimcode .vimLineComment { color: #657b83; font-style: italic; }
.story pre.vimcode .vimCommentString { color: #6c71c4; }
.story pre.vimcode .vimCommand { color: #b58900; }
.story pre.vimcode .vimCmdSep { color: #268bd2; font-weight: bold; }
.story pre.vimcode .PreProc { color: #cb4b16; }
.story pre.vimcode .Type { color: #b58900; }
.story pre.vimcode .vimIsCommand { color: #839496; }
.story pre.vimcode .vimSynType { color: #2aa198; }
.story pre.vimcode .htmlTag { color: #657b83; }
.story pre.vimcode .htmlTagName { color: #268bd2; font-weight: bold; }
.story pre.vimcode .htmlArg { color: #839496; }


.story pre.vimcode .Underlined,
.story pre.vimcode .Underlined  a:link
{
    color: #6c71c4; text-decoration: none;
}
