@charset "UTF-8"; /*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */ html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:#fff0}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none} /* commons */ html { -webkit-box-sizing: border-box; box-sizing: border-box; font-size: 16px; line-height: 1.2; } *, *:before, *:after { -webkit-box-sizing: inherit; box-sizing: inherit; } *::-webkit-scrollbar { width: 9px; height: 9px; } .sidebar nav::-webkit-scrollbar-corner { background: #222; } .sidebar nav::-webkit-scrollbar-track { background: #222; } .sidebar nav::-webkit-scrollbar-thumb { background: #666; } body::-webkit-scrollbar-corner { background: #666; } body::-webkit-scrollbar-track { background: #666; } body::-webkit-scrollbar-thumb { background: #ccc; } .wrapper::-webkit-scrollbar-corner { background: #666; } .wrapper::-webkit-scrollbar-track { background: #666; } .wrapper::-webkit-scrollbar-thumb { background: #ccc; } body { background: #fff; font-family: 'Ubuntu', sans-serif; } pre { font-family: 'Ubuntu Mono', monospace; font-size: 0.9em; line-height: 1.2; padding: 0; color: #787878; } table { border-collapse: collapse; } table td { padding: 0; height: 100%; } a { color: #000; text-decoration: none; } a::before, button::before { -webkit-transition: color 0.2s, background-color 0.2s; transition: color 0.2s, background-color 0.2s; } input { -webkit-transition: background-color 0.2s; transition: background-color 0.2s; } a:focus { outline: 1px; outline-style: dotted; outline-offset: -1px; } h2 { color: #aaa; font-weight: 100; margin-top: 0; margin-bottom: 1rem; } .link { color: #6d7dd2; text-decoration: underline; } /* oocss */ .hide { display: none; } .screenreader { font-size: 0; } /* IE 9 */ .browserupgrade { position: absolute; top: 0em; left: 0; right: 0; width: auto; height: auto; padding: 1em; margin: 0; z-index: 10; background-color: #440a0a; color: #fff; font-size: 0.7em; text-align: center; } .browserupgrade a { color: #fff; text-decoration: underline; } /* sub-header */ .sub-header { height: 2.7em; margin-top: -2.7em; text-align: center; } .select-projects { padding: 0.5rem 0.6rem; border: 0 none; color: #fff; font-family: 'Ubuntu Mono', monospace; font-weight: 700; font-style: italic; font-size: 1.6em; padding-right: 1.5em; /* custom select design */ -webkit-appearance: none; -moz-appearance: none; appearance: none; background-color: transparent; background-image: url("data:image/svg+xml;utf8,"); background-repeat: no-repeat; background-position: bottom 0.45em right 0.3em; background-size: 9%; opacity: 0.7; } .select-projects:-moz-focusring { color: #fff; color: rgba(255,255,255,0); text-shadow: 0 0 0 #fff; outline: 1px; outline-style: dotted; outline-offset: -1px; } .select-projects:focus { outline: 1px; outline-style: dotted; outline-offset: -1px; outline-color: #fff; } .select-projects:hover, .select-projects:focus { opacity: 1; } .select-projects option { color: #000; } /* topbar */ .topbar { background: #c0c0c0; z-index: 20; } .breadcrumb { display: inline-block; color: #888; padding: 0.9rem 1.3rem; font-size: 0.8em; } .breadcrumb a { color: #555; padding: 0.35em; } .breadcrumb a:hover { color: #000; } .project { font-weight: 700; } /* filter / search */ .filter, .search { position: relative; } .search input { height: 100%; } .filter input, .search input { font-family: 'Ubuntu Mono', monospace; font-size: 0.9em; width: 100%; border: 0 none; padding: 0.45em; margin: 0; } .filter input:focus, .search input:focus { outline: 0 none; } .filter button { position: absolute; right: 0; bottom: 0; border: 0 none; font-size: 1.7em; height: 1.5em; background: transparent; color: #999; cursor: pointer; } .search button { border: 0 none; font-size: 1.7em; height: 1.5em; background: transparent; color: #555; cursor: pointer; width: 50px; } .search { position: relative; padding: 0.5em; padding-top: 0; } .search form { display: flex; flex-direction: row; } .search button:focus, .search button:hover { color: #000; outline: 0 none; } .search input { color: #000; background: #ddd; padding-right: 3em; min-width: 0; flex: 3.5; } .search input:focus { background: #eee; } .search select { -moz-appearance: none; -webkit-appearance: none; appearance: none; font-family: 'Ubuntu Mono', monospace; font-size: 0.9em; text-align: center; text-align-last: center; min-height: 32px; padding: 7px; padding-right: 20px; text-decoration: none; background-color: #aaa; background-image: url("/static/img/arrow-dropdown-16.svg"); background-position: right 2px center; background-repeat: no-repeat; opacity: 0.9; border: 0 none; margin: 0; min-width: 0; flex: 1; } .search select:-moz-focusring { /* Remove unwanted firefox borders */ color: #000; color: rgba(0,0,0,0); text-shadow: 0 0 0 #000; outline: 1px; outline-style: dotted; outline-offset: -1px; } .search select:focus { outline: 1px; outline-style: dotted; outline-offset: -1px; outline-color: #000; } .search select:hover, .search select:focus { opacity: 1; } .search option { /* Firefox ignores that on linux but the default color is close */ background-color: #ccc; } .search .search-controls { flex: 3; display: flex; flex-direction: row; align-items: center; } .filter { padding: 0.5em; background: #222; } .filter input { color: #fff; background: #333; } .filter input:focus { background: #444; } .filter button { pointer-events: none; /* filter button is for decoration only */ color: #666; font-size: 1.3em; height: 2em; right: 0.15em; } /* footer */ .footer { height: 25px; padding: 0.3rem 2.5rem; padding-left: 1.5rem; font-size: 0.8em; background: #aaa; color: #555; } .footer a { font-style: normal; padding-left: 0.3em; } .version a { color: #444; font-weight: 700; } .version em { margin-left: 0.3em; } .version em::before { margin-right: 0.3em; opacity: 0.5; } .go-top, .poweredby { float: right; } .poweredby { font-style: italic; float: right; } .go-top { margin-left: 1rem; line-height: 0; position: absolute; top: 0; right: 0; } .go-top:focus { outline: 0 none; } .go-top::before { color: #ccc; font-size: 1.4rem; background: #888; display: inline-block; text-align: center; width: 2rem; height: 1.4rem; top: 0.1rem; position: relative; -webkit-box-shadow: 0 0 0 1px #888; box-shadow: 0 0 0 1px #888; } .go-top:focus::before, .go-top:hover::before { color: #fff; background: #666; -webkit-box-shadow: 0 0 0 1px #666; box-shadow: 0 0 0 1px #666; } #file-download-link { margin-left: 1rem; } /* sidebar */ .sidebar { height: auto; z-index: 10; } .sidebar nav { background: #111; color: #fff; } .sidebar nav a { color: #fff; } .sidebar nav a:hover, .sidebar nav a:hover strong{ color: #6d7dd2; } .sidebar nav { font-size: 0.9em; padding: 1rem; } .sidebar nav ul { list-style: none; margin: 0; } .sidebar nav li.active a { color: #eee; color: #6d7dd2; font-weight: 700; } .sidebar nav ul { padding: 0; } /* reference popup */ #reference-popup-wrapper { position: absolute; display: inline-block; } #reference-popup { position: absolute; visibility: hidden; display: none; border: 2px solid black; background: white; padding: 5px; z-index: 10; overflow-y: scroll; min-height: 25vh; min-width: 40vw; max-height: 50vh; max-width: 75vw; @media only screen and (max-width: 1000px) { min-width: 100vw; } } #reference-popup::-webkit-scrollbar-corner { background: #666; } #reference-popup::-webkit-scrollbar-track { background: #666; } #reference-popup::-webkit-scrollbar-thumb { background: #ccc; } #loading-popup { position: absolute; visibility: hidden; border: 2px solid black; background: white; color: gray; padding: 5px; z-index: 10; } /* if javascript on/off */ .js .sidebar { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; } .js .sidebar nav { will-change: transform; overflow-y: auto; -webkit-box-flex: 1; -ms-flex: 1; flex: 1; } .js .sidebar li li::before { color: #444; font-family: 'Ubuntu Mono', monospace; font-size: 1.29em; line-height: 1; } .js .sidebar li li::before { content: '├╴'; } .js .sidebar li li:last-of-type::before { content: '└╴'; } .js .sidebar li li li::before { content: '│\00a0├╴'; } .js .sidebar li li li:last-of-type::before { content: '│\00a0└╴'; } .js .sidebar li li:last-of-type li::before { content: '\00a0\00a0├╴'; } .js .sidebar li li:last-of-type li:last-of-type::before { content: '\00a0\00a0└╴'; } .js .sidebar .versions > li > span{ margin-left: 0.5em; } .js .sidebar .versions { margin-left: -0.4em; } .js .sidebar li { display: block; line-height: 1.5; } .js .sidebar .versions li span, .js .sidebar .versions li a { font-size: 0.9em; vertical-align: 0.12em; } .js .sidebar li span { color: #888; cursor: pointer; } .js .sidebar li span:hover::before { color: #fff; } .js .sidebar li span::before { color: #444; font-family: 'Ubuntu Mono', monospace; font-size: 1.3em; line-height: 1em; content: '▸'; position: relative; top: -0.05em; left: -0.35em; margin-right: -0.2em; } .js .sidebar li span.active::before { content: '▾'; } .js .sidebar .li-link { display: -webkit-box; display: -ms-flexbox; display: flex; } .js .sidebar .li-link::before { -webkit-box-flex: 0; -ms-flex: 0; flex: 0; } .js .sidebar .li-link a { word-break: break-word; -webkit-box-flex: 1; -ms-flex: 1; flex: 1; } /* tag menu tree closed */ .js .sidebar nav ul ul { display: none; } /* tag menu tree open */ .js .sidebar li span.active + ul { display: block; } .visible-if-js { display: none; } .js .visible-if-js { display: revert; } .no-js .sidebar:target { left: 0; height: 100vh; overflow: auto; } .no-js .sidebar nav ul span { display: none; } .no-js .versions { margin-top: 1em; } .no-js .sub-header { display: none; } .js .projects { display: none; } .no-js .select-projects { display: none; } .no-js .filter-input { display: none; } .no-js .icon-filter { display: none; } /* filter results */ .filter-results a { color: #fff; display: block; line-height: 1.2; } .filter-results a strong { color: #ffa264; } /* error */ .lxrerror { padding: 1.5em; } #error-details { margin-bottom: 1em; } #error-details-links * { display: block; } #error-details-links button { border: 0; background-color: transparent; padding: 0; margin: 0; } #report-error-details-header { color: gray; } /* ident */ .lxrident { padding: 1.5em; } .lxrident ul { list-style: none; padding: 0; padding-bottom: 0em; } .lxrident a { font-size: 0.8em; line-height: 1.55; color: #666; } .lxrident a:hover { border-bottom: 1px dotted #999999; } .lxrident a strong { font-size: 1.3em; font-weight: 400; color: #000; } .lxrident li li::before { color: #444; } .lxrident > pre { background-color: #edf0ff; color: #5764a8; padding: 1em; margin-top: 0; border-radius: 0.3em; } .lxrident li li::before { font-family: 'Ubuntu Mono', monospace; font-size: 1.1em; content: '├╴'; } .lxrident li li:last-of-type::before { content: '└╴'; } /* tree */ .lxrtree table { width: 100%; max-width: 100%; margin-top: 0.5em; margin-bottom: 2em; } .lxrtree table td:first-child { width: 1%; } .lxrtree table td a { white-space: nowrap; text-overflow: ellipsis; } .lxrtree { padding: 1em 0; } .lxrtree td a { display: block; padding: 0.15em 1.5em; } .lxrtree tr:hover { background: #ddd; } .tree-icon:before { display: inline-block; width: 1.5em; } .tree-icon.icon-tree:before { color: #ffa264; } .tree-icon.icon-blob:before { color: #a0a7ce; } .tree-icon.icon-back { color: #000; font-style: italic; opacity: 0.5; } .tree-icon.icon-back:hover { opacity: 1; } .size { opacity: 0.6; min-height: 1.5em; /* line_height + 2 * padding = 1.2em + 2 * 0.15em */ text-align: right; } /* source code */ .lxrcode { position: relative; } .lxrcode pre { margin: 0; padding-top: 1em; padding-bottom: 4em; min-height: 100%; } .lxrcode pre * { vertical-align: top; } .lxrcode, .highlighttable, .linenodiv, .highlight { height: 100%; } span[id^='codeline-'] { display: block; padding-left: 1em; } span[id^='codeline-'].line-highlight { width: 100%; height: 100%; background: #f8edc3; } .linenodiv { background: #e9e9e9; } .linenodiv pre a { color: #999; display: inline-block; padding: 0 1em; width: 100%; scroll-margin: 15vh; scroll-margin-top: 15vh; } .line-highlight { background: #ccc; } .linenodiv pre a.line-highlight, .linenodiv pre span { display: inline-block; } .linenodiv pre span.line-highlight > a, .linenodiv pre a:target { color: #444; } .linenodiv pre a:target { background: #ccc; pointer-events: none; } .linenodiv pre a:focus, .linenodiv pre a:hover { color: #000; } .linenodiv pre a:hover { background: #ddd; } .linenodiv pre a:focus { outline: 1px; outline-style: dotted; outline-offset: -1px; } .highlight .code a { color: inherit; font-weight: 700; background: linear-gradient(to bottom, #0000 10%, #f4f6ff 10%, #f4f6ff 90%, #0000 90%); border-radius: 0.2em; } .highlight .code a:hover { border-bottom: 1px dotted #000; } .code > div { height: 100%; } /* icons */ @font-face { font-family: "lxr"; src: url("/static/fonts/lxr.svg") format("svg"), url("/static/fonts/lxr.ttf") format("truetype"); font-weight: normal; font-style: normal; } [class^="icon-"]:before, [class*=" icon-"]:before { font-family: "lxr" !important; font-style: normal !important; font-weight: normal !important; font-variant: normal !important; text-transform: none !important; speak: none; line-height: 1; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } .icon-blob:before { content: "\62"; } .icon-tree:before { content: "\64"; } .icon-back:before { content: "\68"; } .icon-search:before { content: "\6d"; } .icon-rss:before { content: "\67"; } .icon-github:before { content: "\61"; } .icon-facebook:before { content: "\65"; } .icon-mastodon:before { content: "\66"; } .icon-twitter:before { content: "\69"; } .icon-linkedin:before { content: "\6a"; } .icon-cross:before { content: "\6c"; } .icon-filter:before { content: "\6e"; } .icon-menu:before { content: "\6f"; } .icon-up:before { content: "\70"; } .icon-tag:before { content: "\63"; } /* highlight */ .highlight .code pre { color: #000; -moz-tab-size: 8; -o-tab-size: 8; tab-size: 8; white-space: pre; word-spacing: normal; word-break: normal; word-wrap: normal; -webkit-hyphens: none; -ms-hyphens: none; hyphens: none; } .highlight .code .hll { background-color: #ffffcc } .highlight .code { background: #ffffff } .highlight .code .c { color: slategray; font-style: italic; } /* Comment */ .highlight .code .err { color: #FF0000; background-color: #FFAAAA } /* Error */ .highlight .code .k { color: #008800 } /* Keyword */ .highlight .code .o { color: #666 } /* Operator */ .highlight .code .ch { color: #888888 } /* Comment.Hashbang */ .highlight .code .cm { color: slategray; font-style: italic; } /* Comment.Multiline */ .highlight .code .cp { color: #557799 } /* Comment.Preproc */ .highlight .code .cpf { color: #888888 } /* Comment.PreprocFile */ .highlight .code .c1 { color: slategray; font-style: italic; } /* Comment.Single */ .highlight .code .cs { color: #cc0000 } /* Comment.Special */ .highlight .code .gd { color: #A00000 } /* Generic.Deleted */ .highlight .code .ge { font-style: italic } /* Generic.Emph */ .highlight .code .gr { color: #FF0000 } /* Generic.Error */ .highlight .code .gh { color: #000080 } /* Generic.Heading */ .highlight .code .gi { color: #00A000 } /* Generic.Inserted */ .highlight .code .go { color: #888888 } /* Generic.Output */ .highlight .code .gp { color: #c65d09 } /* Generic.Prompt */ .highlight .code .gs { font-weight: bold } /* Generic.Strong */ .highlight .code .gu { color: #800080 } /* Generic.Subheading */ .highlight .code .gt { color: #0044DD } /* Generic.Traceback */ .highlight .code .kc { color: #008800 } /* Keyword.Constant */ .highlight .code .kd { color: #008800 } /* Keyword.Declaration */ .highlight .code .kn { color: #008800 } /* Keyword.Namespace */ .highlight .code .kp { color: #003388 } /* Keyword.Pseudo */ .highlight .code .kr { color: #008800 } /* Keyword.Reserved */ .highlight .code .kt { color: #333399 } /* Keyword.Type */ .highlight .code .m { color: #6600EE } /* Literal.Number */ .highlight .code .s { color: #de7f00 } /* Literal.String */ .highlight .code .na { color: #0000CC } /* Name.Attribute */ .highlight .code .nb { color: #007020 } /* Name.Builtin */ .highlight .code .nc { color: #BB0066 } /* Name.Class */ .highlight .code .no { color: #003366 } /* Name.Constant */ .highlight .code .nd { color: #555555 } /* Name.Decorator */ .highlight .code .ni { color: #880000 } /* Name.Entity */ .highlight .code .ne { color: #FF0000 } /* Name.Exception */ .highlight .code .nf { color: #0066BB } /* Name.Function */ .highlight .code .nl { color: #997700 } /* Name.Label */ .highlight .code .nn { color: #0e84b5 } /* Name.Namespace */ .highlight .code .nt { color: #007700 } /* Name.Tag */ .highlight .code .nv { color: #996633 } /* Name.Variable */ .highlight .code .ow { color: #000000 } /* Operator.Word */ .highlight .code .p { color: #666 } /* Text.Punctuation */ .highlight .code .w { color: #bbbbbb } /* Text.Whitespace */ .highlight .code .mb { color: #6600EE } /* Literal.Number.Bin */ .highlight .code .mf { color: #6600EE } /* Literal.Number.Float */ .highlight .code .mh { color: #005588 } /* Literal.Number.Hex */ .highlight .code .mi { color: #0000DD } /* Literal.Number.Integer */ .highlight .code .mo { color: #4400EE } /* Literal.Number.Oct */ .highlight .code .sa { color: #de7f00 } /* Literal.String.Affix */ .highlight .code .sb { color: #de7f00 } /* Literal.String.Backtick */ .highlight .code .sc { color: #de7f00 } /* Literal.String.Char */ .highlight .code .dl { color: #de7f00 } /* Literal.String.Delimiter */ .highlight .code .sd { color: #a29900 } /* Literal.String.Doc */ .highlight .code .s2 { color: #de7f00 } /* Literal.String.Double */ .highlight .code .se { color: #a29900 } /* Literal.String.Escape */ .highlight .code .sh { color: #de7f00 } /* Literal.String.Heredoc */ .highlight .code .si { color: #de7f00 } /* Literal.String.Interpol */ .highlight .code .sx { color: #de7f00 } /* Literal.String.Other */ .highlight .code .sr { color: #a29900 } /* Literal.String.Regex */ .highlight .code .s1 { color: #de7f00 } /* Literal.String.Single */ .highlight .code .ss { color: #a29900 } /* Literal.String.Symbol */ .highlight .code .bp { color: #007020 } /* Name.Builtin.Pseudo */ .highlight .code .fm { color: #0066BB } /* Name.Function.Magic */ .highlight .code .vc { color: #336699 } /* Name.Variable.Class */ .highlight .code .vg { color: #dd7700 } /* Name.Variable.Global */ .highlight .code .vi { color: #3333BB } /* Name.Variable.Instance */ .highlight .code .vm { color: #996633 } /* Name.Variable.Magic */ .highlight .code .il { color: #0000DD } /* Literal.Number.Integer.Long */ /* layout */ main { min-height: calc(100vh - 45px - 25px); display: -webkit-box; display: -ms-flexbox; display: flex; position: relative; width: max-content; } .js .wrapper { position: absolute; top: 0; bottom: 0; left: 0; right: 0; width: auto; height: auto; overflow-x: auto; overflow-y: scroll; } .footer { position: fixed; bottom: 0; left: 0; right: 0; z-index: 2; } /* responsive */ .open-menu { margin-right: 1.2rem; margin-left: -0.5rem; } .open-menu::before { font-size: 1.5rem; line-height: 0; vertical-align: -0.31rem; } .close-menu { background: #222; color: #fff; position: absolute; text-align: center; padding-top: 0.5rem; font-size: 1.7rem; width: 2.8rem; height: 2.8rem; } .close-menu { margin-left: 0.3em; margin-top: -0.3em; } .sidebar { position: fixed; z-index: 30; top: 0; bottom: 0; left: -100%; width: 100%; height: auto; background: rgba(3, 8, 35, 0); } .sidebar .filter, .sidebar nav { width: 60%; max-width: 330px; } /* tablet and above */ @media screen and (min-width: 600px) { .filter input, .search input { padding: 0.9rem 1rem; } .search, .filter { padding: 0; } .filter { background: #222; } .close-menu { margin-left: 0; margin-top: 0; } .topbar { display: -webkit-box; display: -ms-flexbox; display: flex; } .breadcrumb { -webkit-box-flex: 1; -ms-flex: 1; flex: 1; } .search { width: 40%; } .sub-header { text-align: left; } } /* tablet only */ @media screen and (max-width: 1000px) { .sidebar { -webkit-transition: left 0.2s ease 0.2s, background 0.2s ease; transition: left 0.2s ease 0.2s, background 0.2s ease; } .show-menu-mobile .sidebar { position: fixed; left: 0; background: rgba(3, 8, 35, 0.5); } } /* desktop */ @media screen and (min-width: 1000px) { :root { --is-widescreen: true; } .close-menu { display: none; } .sidebar { position: absolute; top: -45px; bottom: -25px; -webkit-box-ordinal-group: 1; -ms-flex-order: 0; order: 0; width: 235px; -webkit-box-flex: 0; -ms-flex: 0 0 235px; flex: 0 0 235px; } .sidebar .filter, .sidebar nav { width: 100%; } .sidebar nav { height: 100%; } .workspace { -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; padding-left: 235px; } .show-menu .topbar, .no-js .topbar { padding-left: 235px; } .show-menu .footer, .no-js .footer { padding-left: calc(2.5rem + 235px); } .show-menu .sidebar { position: -webkit-sticky; position: sticky; left: 0; } .linenos { left: 235px; } .no-js .sidebar { left: 0; height: 100%; } } /* if browser support position: sticky */ @supports ((position: -webkit-sticky) or (position: sticky)) { .js .header { position: -webkit-sticky; position: sticky; left: 0; } .js .footer { position: -webkit-sticky; position: sticky; right: unset; } .js .topbar { position: -webkit-sticky; position: sticky; top: 0; left: 0; z-index: 2; } .js .sub-header { position: -webkit-sticky; position: sticky; left: 0; } .js .linenos { position: -webkit-sticky; position: sticky; left: 0; z-index: 1; } .js main { position: unset; } /* desktop */ @media screen and (min-width: 1000px) { .show-menu .js .linenos { left: 235px; } .js .workspace { padding-left: unset; } .js .sidebar { top: 0; height: 100vh; margin-top: -45px; margin-bottom: -25px; /* screen height minus potential horizontal scrollbar height */ height: calc(100vh - 18px); /* little hack to hide potential scrollbar gap */ -webkit-box-shadow: 0 18px 0 0 #111; box-shadow: 0 18px 0 0 #111; } } } /* === Banner =============================================================== */ /* Message banner in desktop mode */ @media screen and (min-width: 748px) { .message-banner { padding: 5px; -webkit-box-shadow: -2px 0px 15px 1px rgba(0,0,0,0.69); -moz-box-shadow: -2px 0px 15px 1px rgba(0,0,0,0.69); box-shadow: -2px 0px 15px 1px rgba(0,0,0,0.69); font-size: 14; font-weight: bold; width: 215px; height: 120px; text-align: center; border-radius: 20px; background: rgba(255,255,255,1); background: -moz-linear-gradient(top, rgba(255,255,255,1) 0%, rgba(246,246,246,1) 47%, rgba(237,237,237,1) 100%); background: -webkit-gradient(left top, left bottom, color-stop(0%, rgba(255,255,255,1)), color-stop(47%, rgba(246,246,246,1)), color-stop(100%, rgba(237,237,237,1))); background: -webkit-linear-gradient(top, rgba(255,255,255,1) 0%, rgba(246,246,246,1) 47%, rgba(237,237,237,1) 100%); background: -o-linear-gradient(top, rgba(255,255,255,1) 0%, rgba(246,246,246,1) 47%, rgba(237,237,237,1) 100%); background: -ms-linear-gradient(top, rgba(255,255,255,1) 0%, rgba(246,246,246,1) 47%, rgba(237,237,237,1) 100%); background: linear-gradient(to bottom, rgba(255,255,255,1) 0%, rgba(246,246,246,1) 47%, rgba(237,237,237,1) 100%); filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#ededed', GradientType=0 ); } .message-banner p.title { font-size: 14px; margin: 0; } .message-banner .subtitle { font-size: 12px; position: relative; } .message-banner .container { height: 100%; display: flex; flex-direction: column; justify-content: space-evenly; } .message-banner .action { font-size: 14px; justify-content: center; display: none; } .message-banner .action-inner { border: 1px solid black; border-radius: 5px; padding: 2px 10px; } .message-banner .action-visible { display: flex; } } .icon-googleplus:before, .icon-mastodon:before { position: relative; left: 3px; } .select-projects { background-position: bottom 0.15em right 0.3em; width: 100%; } /* Message banner in mobile mode */ @media screen and (max-width: 748px) { .message-banner { width: 100%; padding: 3px; text-align: center; background: #757575; color: #fff; } .message-banner .title { margin: 0; font-weight: 900; text-wrap: pretty; } .message-banner .subtitle { padding-top: 2px; margin: 0; word-break: break-word; } .message-banner .action { display: none; } .message-banner .action-visible { display: none; } .message-link { width: 100%; } } /* === Fonts ================================================================ */ /* ubuntu-regular - cyrillic_greek_latin_latin-ext_greek-ext_cyrillic-ext */ @font-face { font-family: 'Ubuntu'; font-style: normal; font-weight: 400; src: url('/static/fonts/ubuntu/ubuntu-v14-cyrillic_greek_latin_latin-ext_greek-ext_cyrillic-ext-regular.eot'); /* IE9 Compat Modes */ src: local('Ubuntu Regular'), local('Ubuntu-Regular'), url('/static/fonts/ubuntu/ubuntu-v14-cyrillic_greek_latin_latin-ext_greek-ext_cyrillic-ext-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ url('/static/fonts/ubuntu/ubuntu-v14-cyrillic_greek_latin_latin-ext_greek-ext_cyrillic-ext-regular.woff2') format('woff2'), /* Super Modern Browsers */ url('/static/fonts/ubuntu/ubuntu-v14-cyrillic_greek_latin_latin-ext_greek-ext_cyrillic-ext-regular.woff') format('woff'), /* Modern Browsers */ url('/static/fonts/ubuntu/ubuntu-v14-cyrillic_greek_latin_latin-ext_greek-ext_cyrillic-ext-regular.ttf') format('truetype'), /* Safari, Android, iOS */ url('/static/fonts/ubuntu/ubuntu-v14-cyrillic_greek_latin_latin-ext_greek-ext_cyrillic-ext-regular.svg#Ubuntu') format('svg'); /* Legacy iOS */ } /* ubuntu-italic - cyrillic_greek_latin_latin-ext_greek-ext_cyrillic-ext */ @font-face { font-family: 'Ubuntu'; font-style: italic; font-weight: 400; src: url('/static/fonts/ubuntu/ubuntu-v14-cyrillic_greek_latin_latin-ext_greek-ext_cyrillic-ext-italic.eot'); /* IE9 Compat Modes */ src: local('Ubuntu Italic'), local('Ubuntu-Italic'), url('/static/fonts/ubuntu/ubuntu-v14-cyrillic_greek_latin_latin-ext_greek-ext_cyrillic-ext-italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ url('/static/fonts/ubuntu/ubuntu-v14-cyrillic_greek_latin_latin-ext_greek-ext_cyrillic-ext-italic.woff2') format('woff2'), /* Super Modern Browsers */ url('/static/fonts/ubuntu/ubuntu-v14-cyrillic_greek_latin_latin-ext_greek-ext_cyrillic-ext-italic.woff') format('woff'), /* Modern Browsers */ url('/static/fonts/ubuntu/ubuntu-v14-cyrillic_greek_latin_latin-ext_greek-ext_cyrillic-ext-italic.ttf') format('truetype'), /* Safari, Android, iOS */ url('/static/fonts/ubuntu/ubuntu-v14-cyrillic_greek_latin_latin-ext_greek-ext_cyrillic-ext-italic.svg#Ubuntu') format('svg'); /* Legacy iOS */ } /* ubuntu-700 - cyrillic_greek_latin_latin-ext_greek-ext_cyrillic-ext */ @font-face { font-family: 'Ubuntu'; font-style: normal; font-weight: 700; src: url('/static/fonts/ubuntu/ubuntu-v14-cyrillic_greek_latin_latin-ext_greek-ext_cyrillic-ext-700.eot'); /* IE9 Compat Modes */ src: local('Ubuntu Bold'), local('Ubuntu-Bold'), url('/static/fonts/ubuntu/ubuntu-v14-cyrillic_greek_latin_latin-ext_greek-ext_cyrillic-ext-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ url('/static/fonts/ubuntu/ubuntu-v14-cyrillic_greek_latin_latin-ext_greek-ext_cyrillic-ext-700.woff2') format('woff2'), /* Super Modern Browsers */ url('/static/fonts/ubuntu/ubuntu-v14-cyrillic_greek_latin_latin-ext_greek-ext_cyrillic-ext-700.woff') format('woff'), /* Modern Browsers */ url('/static/fonts/ubuntu/ubuntu-v14-cyrillic_greek_latin_latin-ext_greek-ext_cyrillic-ext-700.ttf') format('truetype'), /* Safari, Android, iOS */ url('/static/fonts/ubuntu/ubuntu-v14-cyrillic_greek_latin_latin-ext_greek-ext_cyrillic-ext-700.svg#Ubuntu') format('svg'); /* Legacy iOS */ } /* === Header =============================================================== */ .header { min-height: 200px; background: #6D7DD2; background-image: url('/static/img/2penguins.svg'); background-repeat: no-repeat; background-size: 300px; background-position: bottom -82px right; } .header { display: -webkit-box; display: -ms-flexbox; display: flex; flex-direction: column; } .header h1 { font-family: 'Ubuntu Mono', monospace; font-style: italic; text-align: center; font-size: 3.2em; word-spacing: -0.4em; color: #fff; margin-bottom: 0; margin-top: 0; } .header h1 a { color: #fff; } .header h2 { font-family: 'Ubuntu Mono', monospace; text-align: center; font-size: 1em; font-weight: 400; margin-top: -0.5em; color: #fff; color: #ffa264; } .header em { font-style: normal; font-size: 0.9em; line-height: 1; text-align: center; float: right; padding: 0.5em 1em; position: absolute; bottom: 0; left: 0; right: 0; color: rgba(255,255,255,.7); background-color: rgba(255,255,255,.1); } .header em a { color: rgba(255,255,255,.9); } .header nav { text-align: center; width: 100%; } .header nav ul { list-style: none; } .header-main { display: grid; grid-template-columns: 235px 1fr 235px; } .banners { display: flex; justify-content: center; align-items: center; position: relative; } .under-topbar { height: 48px; } .nav-links { padding: 0.5em 1em; margin: 0; background-color: rgba(0,0,0,.5); width: 100%; font-size: 0.8em; line-height: 1.7; } .nav-links li { display: inline-block; margin: 0 0.5em; } .nav-links a { text-transform: uppercase; color: #9da9ea; } .nav-links a:hover { color: #fff; } .social-icons { position: absolute; top: 0.05rem; right: 0.3rem; padding: 0; margin: 0; display: inline-block; line-height: 1.5rem; /* little hack for firefox vertical align */ } .social-icons li { display: inline-block; font-size: 0; } .social-icons a::before { font-size: 1.65rem; color: #717fc5; } .social-icons a:focus::before, .social-icons a:hover::before { color: #fff; } /* responsive */ @media (max-width: 748px) { .banners { justify-content: flex-start; } .header .social-icons { position: static; background-color: rgba(0,0,0,.5); width: 100%; } .social-icons a::before { font-size: 1.5rem; color: #9da9ea; } .header-main { display: flex; flex-direction: column; } } @media (max-width: 520px) { .header h1 { font-size: 2.5em; font-size: 8vw; } .header h2 { font-size: 1em; font-size: 3vw; } } @media (max-width: 330px) { .header h1 { margin-top: 1.8em; } } /* === Autocomplete ========================================================= */ /* * @license MIT * * Autocomplete.js v2.7.1 * Developed by Baptiste Donaux * http://autocomplete-js.com * * (c) 2017, Baptiste Donaux * * Modified by Maxime Chretien * for the needs of Elixir Cross Referencer * https://github.com/bootlin/elixir * */ input[data-autocomplete] { border-color: #808080; border-style: none none solid none; border-width: 0px 0px 1px 0px; margin: 0px; padding: 5px; width: 100%; } .autocomplete { position: absolute; transition: all 0.5s ease 0s; max-height: 0; overflow-y: hidden; transition-duration: 0.3s; transition-property: all; transition-timing-function: cubic-bezier(0, 1, 0.5, 1); } .autocomplete:active, .autocomplete:focus, .autocomplete:hover { background-color: #EEEEEE; transition: all 0.5s ease 0s; } .autocomplete:empty { display: none; } .autocomplete > ul { list-style-type: none; margin: 0; padding: 0; } .autocomplete > ul > li { cursor: pointer; padding: 5px 0 5px 10px; white-space: nowrap; } .autocomplete > ul > li.active, .autocomplete > ul > li:active, .autocomplete > ul > li:focus, .autocomplete > ul > li:hover { background-color: #DDDDDD; transition: all 0.5s ease 0s; } .autocomplete > ul > li.active a:active, .autocomplete > ul > li:active a:active, .autocomplete > ul > li:focus a:active, .autocomplete > ul > li:hover a:active, .autocomplete > ul > li.active a:focus, .autocomplete > ul > li:active a:focus, .autocomplete > ul > li:focus a:focus, .autocomplete > ul > li:hover a:focus, .autocomplete > ul > li.active a:hover, .autocomplete > ul > li:active a:hover, .autocomplete > ul > li:focus a:hover, .autocomplete > ul > li:hover a:hover { text-decoration: none; } .autocomplete > ul > li.locked { cursor: inherit; } .autocomplete.open { display: block; transition: all 0.5s ease 0s; background-color: #EEEEEE; max-height: 500px; overflow-y: auto; transition-duration: 0.3s; transition-property: all; transition-timing-function: cubic-bezier(0, 1, 0.5, 1); z-index: 100; } .autocomplete.open:empty { display: none; }