html                         { width: 100%; height: 100%; }
body                         { color: #555; background: #eee; font-family: "Trebuchet MS", sans-serif; font-size: 13px;
                               width: 100%; height: 100%; margin: 0; }

a                            { color: #37c; text-decoration: none; }
a:hover                      { text-decoration: underline; }
h1 a                         { color: #259; }
h1                           { color: #259; font-size: 17px; margin-top: 24px; margin-bottom: 17px; }
h1:first-of-type             { margin-top: 0; }
h2                           { font-size: 14px; font-weight: bold; margin-top: 24px; }
input,textarea,select,button { color: #247; background: #e3e3e3; border: 1px solid #8ae; padding: 3px 6px 3px 6px; }
input[type=submit],button    { padding: 3px 12px 3px 12px; }
input,select,button          { font-family: "Trebuchet MS", sans-serif; font-size: 13px; }
::placeholder                { color: #bbb; }
th                           { text-align: left; }
td,th                        { vertical-align: text-top; padding-right: 20px; }
td>img                       { vertical-align: top; }
tr p                         { margin-bottom: 0px; }
tr:first-child p:first-child { margin-top: 0px; }
td:first-child               { white-space: nowrap; padding-right: 20px; }
tr.padTop>td                 { padding-top: 14px; }
tr.padBottom>td              { padding-bottom: 14px; }
ul,ol                        { padding-left: 24px; }
.indent                      { margin-left: 24px; }
.imageCaptions               { text-align: left; }
.imageCaption                { display: inline-block; margin: 20px; }
.center                      { text-align: center; }
.uppercase                   { text-transform: uppercase; }
.floatRight                  { float: right; margin: 10px 0 10px 20px; }
a.btn                        { text-align: center; color: #247; background: #e3e3e3; border: 1px solid #8ae; padding: 3px 6px 3px 6px; }
a.btn:hover                  { text-decoration: none; }
span.bullet                  { font-size: 11px; vertical-align: 2px; color: #567; }

#desktopWrapper              { display: table; width: 100%; height: 100%; }

#headerRow                   { display: table-row; height: 112px; background-color: #1d1157; background-image: url("n-header.jpg"); background-repeat: no-repeat; background-position: 280px top; }
#headerTable                 { display: table; width: 100%; height: 100%; max-width: 1560px; }
#headerLogo                  { display: table-cell; vertical-align: middle; width: 252px; text-align: center; background-color: #282828; padding-right: 18px; }
#headerButtons               { display: table-cell; vertical-align: bottom; text-align: right; padding-right: 270px; }
#headerButtons a:hover       { text-decoration: none; }
.headerButton                { background-color: #303030; text-align: center; text-transform: uppercase; font-family: sans-serif; color: #ddd;
                               padding: 10px 20px 10px 20px; border: 1px solid #777; border-bottom: 0; margin-left: -1px; border-radius: 0 13px 0 0; vertical-align: 11px; }

#mainRow                     { display: table-row; height: 100%; }
#mainTable                   { display: table; min-width: 1160px; max-width: 1560px; width: 100%; }
#mainTable > div             { display: table-cell; }

#menuContainer               { min-width: 270px; width: 270px; height: 100%; background: linear-gradient(#d6d6d6, #eee); color: #333; }
div.menuEntry                { padding: 10px 15px 10px 25px; font-size: 14px; border-bottom: 1px solid #a0a0a0; }
div.menuEntry:last-child     { border: none; }
ul.menuEntries               { padding: 2px 0px 3px 14px; margin: 0; }
li.menuEntry                 { list-style-type: none; margin-top: 10px; }
.menuToggle                  { font-family: monospace; font-size: 11px; padding-right: 10px; vertical-align: 2px; }
#menuContainer a             { color: #333; }
.menuHighlight               { font-weight: bold; }
.menuCurPage                 { color: #285498; font-weight: bold; }
a.menuToggle:hover           { text-decoration: none; }

#contentBox                  { min-width: 560px; text-align: justify; }
#content                     { margin: 35px 0px 100px 50px; }
#content h1                  { padding-bottom: 5px; border-bottom: 1px solid #9ab; }
#content h1 a:hover          { text-decoration: none; }
#content .red                { color: red; }
#content p.mono              { margin: 12px 0 6px 0; font-family: Consolas, Lucida Console, Courier New, Courier, monospace; font-size: 9pt; text-decoration: none; text-align: left; color: #666; }
#content p.pre               { margin: 12px 0 6px 24px; font-family: Consolas, Lucida Console, Courier New, Courier, monospace; font-size: 9pt; text-decoration: none; text-align: left; color: #666; white-space: pre-wrap; }
#content p.btn               { margin: 18px 0 18px 0; }
#content ul.twoCols          { padding-left: 48px; columns: 2 200px; }
#content details             { border: 1px solid #8ae; margin: 20px 0px 30px 0px; padding: 0px 20px 0px 20px; background-color: #e3e3e3; }
#content details[open]       { padding-bottom: 20px; }
#content details:first-of-type summary { margin-left: -20px; margin-right: -20px; padding: 10px; background-color: #d3d3d3; color: #444; font-weight: bold; }
#content details[open]:first-of-type summary { margin-bottom: 20px; }

table.algImplTable           { border-collapse: collapse; margin: 20px 20px 20px 20px; }
table.algImplTable th        { border: 1px solid #555; padding: 5px 10px 5px 10px; background: #ddd; font-weight: normal; }
table.algImplTable th+th     { text-align: center; }
table.algImplTable th.across { text-align: center; background: #dce8f4; }
table.algImplTable td        { border: 1px solid #555; padding: 5px 10px 5px 10px; text-align: center; }

table.envTable               { border-collapse: collapse; margin: 20px 20px 20px 20px; }
table.envTable th            { border: 1px solid #555; padding: 5px 10px 5px 10px; background: #ddd; font-weight: normal; }
table.envTable td            { border: 1px solid #555; padding: 5px 10px 5px 10px; }

#contextBox                  { min-width: 270px; width: 270px; font-size: 12px; }
#context                     { margin: 20px 0px 100px 50px; padding: 20px; background: linear-gradient(#e2e2e2, #eee); border-radius: 15px; }
#context a                   { color: #555; }
#context h1 a                { color: #259; }
#context h1:before           { padding-right: 8px; vertical-align: 1.5px; content: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' height='11' width='11' viewBox='35 210 130 130'><path d='M154.4062 277.875 L39.2344 338.625 L39.2344 217.125 L154.4062 277.875 Z' fill='%23567' stroke='none'/></svg>"); }
#context p                   { margin: 6px 0 6px 0; }

#footerRow                   { display: table-row; }
#footerBg                    { text-align: center; background: #223348; }
#footer                      { padding: 15px 0 15px 0; max-width: 1560px; font-family: sans-serif; font-size: 11px; color: #9099aa; }
#footer a                    { color: #8be; }
#footer p                    { margin: 15px 0 0 0; }
#desktopWrapper
#footer p:last-child         { margin: 0 0 15px 0; }

#mobileWrapper               { display: none; }
#mobileHeader                { display: table; box-sizing: border-box; width: 100%; background: #282828; padding: 20px 25px 20px 15px; }
#mobileLogo                  { display: table-cell; box-sizing: border-box; width: 100%; vertical-align: middle; }
#mobileLogo img              { display: block; height: 50px; }
#mobileMenuToggle            { display: table-cell; vertical-align: middle; }
#mobileBurger                { display: block; height: 50px; }
#mobileMenuContainer         { padding: 15px 25px 15px 15px; background: #f8f8f8; }
#mobileMenuContainer a       { color: #444; }
#mobileWrapper #footer       { text-align: center; background: #223348; }
#mobileWrapper #footer p     { margin-bottom: 15px; }
