blob: 2595bff909b03a3c64c760c762721a6d3369b76f [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2020 Holger Voormann and others.
*
* This program and the accompanying materials are made
* available under the terms of the Eclipse Public License 2.0
* which is available at https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
*******************************************************************************
Structure:
____________________________________________
| #h(eader) |
|--------------------------------------------|
| #m(ain area) |
| ________________________________________ |
| | | | | |
| | #t(oc) | #s(lider) | #c(ontent iframe) | |
| |________|___________|___________________| |
|--------------------------------------------|
| #f(ooter) |
|____________________________________________|
*******************************************************************************/
* {
border: 0;
margin: 0;
padding: 0;
}
input:focus {
outline: none;
}
html, body, #m {
height: 100%;
overflow: hidden;
}
body, input, button {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Lucida Grande", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
font-size: 1rem;
color: #222;
}
body {
display: -webkit-flex;
display: flex;
-webkit-flex-flow: column;
flex-flow: column;
background: #eef0f3;
}
a {
text-decoration: none;
}
strong {
color: #444;
}
button {
background: transparent;
font-size: 1em;
cursor: pointer;
}
#h {
padding: 6px 6px 4px;
display: flex;
}
#m {
width: 100%;
height: 100%;
padding: 2px 0 0;
-webkit-flex: 0 1 auto;
flex: 0 1 auto;
display: -webkit-flex;
display: flex;
}
#t {
width: 400px;
overflow: auto;
scroll-behavior: smooth;
}
#t.hide {
-ms-overflow-style: -ms-autohiding-scrollbar; /* IE and Edge: avoid that the scrollbar is shown even when TOC is hidden */
}
#t .tree {
padding-top: 6px;
}
#s {
width: 12px;
z-index: 2;
cursor: e-resize;
}
#c, .c {
-webkit-flex: auto;
flex: auto;
}
.c {
overflow: auto;
flex-basis: 0;
}
#t, #c, .c {
height: 1px;
min-height: 100%;
max-height: 100%;
}
#t, #c, .c, .qf, #a {
background: #fff;
box-shadow: 0 1px 3px rgba(0,0,0,0.15);
}
#f { display: none; }
/*** main toolbar (in the upper left) ***/
.y {
display: flex;
margin-right: 6px;
}
/*** button ***/
.b {
display: inline-block;
padding: 8px;
font-size: 0;
color: #555;
background: transparent;
box-sizing: content-box;
height: 20px;
width: 20px;
}
.b:hover, #h .q0 > .b:hover {
background: #d7d9db;
border-radius: 5px;
}
/*** search field (area) ***/
.q0 {
flex: auto;
display: flex;
}
.q1 {
position: relative;
max-width: 640px;
flex: auto;
}
.q, .qf, .qm {
display: flex;
border-radius: 8px;
background: #fff;
}
.q {
border: 1px solid #fff;
box-shadow: 0 1px 1px rgba(0,0,0,0.05);
}
.qf, .qm {
border: 1px solid #37e;
box-shadow: 0 1px 3px rgba(119,153,238,0.4);
}
.qm {
border-radius: 8px 8px 2px 0;
border-bottom-color: rgba(255,255,255,0);
}
.q0 .b:hover {
background: none;
}
.qf.qa .b, .qm.qa .b, .q.qa .b:hover, #b .a .b, #b .a .b:hover {
color: #fff;
background: #37e;
margin: 0 -0.5px 0 0; /* workaround for Microsoft Edge to avoid white between blue button and blue border */
}
.qf.qa .b {
border-radius: 0 7px 7px 0;
}
.qm.qa .b {
border-radius: 0 7px 0 0;
}
.q .b:hover {
background: #fff;
cursor: default;
}
.q0 .b {
border-radius: 7px;
margin: 0;
padding: 7.8px;
}
.q .b, .qf .b {
cursor: default;
}
.q2 {
display: flex;
flex: auto;
}
.q2, .q1 .b {
z-index: 2;
}
#q, .qh {
width: 100%; /* needed for some mobiles where "flex: auto" is not enough or does not work */
flex: auto;
min-width: 24px;
border: 0;
margin: 2px 0;
font-size: 1rem;
background: #fff;
}
.qh {
margin: 0;
color: #ddd;
}
#q::placeholder {
color: #999;
opacity: 1;
font-style: italic;
}
.u {
position: relative;
}
/*** search proposals (.p) and scopes button (.s) with drop-down (.u) ***/
.c {
padding: 6px;
}
.r0 {
margin: 1em;
padding: 6px 0;
}
.j, .j li, .j a, .j button {
list-style: none outside none;
display: block;
}
.j {
overflow-wrap: anywhere;
}
.p a, .p button, .u li {
padding: 0.5em 9px;
box-sizing: border-box;
width: 100%;
text-align: left;
cursor: pointer;
}
.p .w {
float: right;
}
.p .n {
clear: both;
margin-top: 3px;
}
.p .v {
display: inline-block;
}
#r .j li a, #b li a, .ba {
max-width: 640px;
margin: 0 0 0.25em 10px;
padding: 6px;
border-radius: 4px;
}
.j .z a, .j .z button, .j a:focus, .j button:focus, .u .z {
background: #e8f2fe;
outline: none;
}
.j, .j a, #r .t, #b a {
color: #222;
}
.j a .w, #r .tree .l, #r .t .tl {
color: #062;
}
#r .l {
cursor: pointer;
}
.w, .n {
font-size: 85%;
}
#r .w, #r .n {
margin-top: 3px;
}
.p, .u {
position: absolute;
float: left;
left: 0;
margin-top: -1px;
top: 100%;
width: 100%;
padding: 0;
z-index: 3;
background: rgba(0, 0, 0, 0);
}
.u {
margin: -4px 0 0 3px;
width: auto;
}
.s0 {
position: relative;
z-index: 5;
}
.s {
background: #f2f4f7;
box-sizing: content-box;
display: flex;
margin: 3px 6px 3px 3px;
padding: 0 0 0 8px;
align-items: center;
border-radius: 5px;
font-size: 1rem;
white-space: nowrap;
}
.s span {
max-width: 240px;
overflow: hidden;
}
.s, .d, .de {
color: #999;
}
.qf .s, .qm .s, .s:hover .d, .s:hover .de {
color: #222;
}
.s .d, .s .de {
display: inline-block;
transform: rotate(90deg);
margin-left: -6px;
margin-right: 6px;
margin: 0 2px 0 -4px;
}
.s .de {
margin: 0 6px 0 -6px;
}
.p ol, .u ul {
display: block;
padding: 0;
margin: 0;
background: #fff;
border: 1px solid #37e;
border-top: none;
border-radius: 0 0 7px 7px;
box-shadow: 0 3px 4px rgba(0, 0, 0, 0.2);
overflow: hidden;
}
.s, .u ul {
border: 1px solid #edeff2; /* -2 V of background */
}
.u li {
white-space: nowrap;
padding-left: 36px;
}
.u li.x, .u li.y {
padding-left: 9px;
}
.u li.l {
border-top: 1px solid #edeff2;
}
.u li.x:before {
margin-right: 6px;
}
.p .f {
display: none;
position: absolute;
top: 0;
left: 100%;
margin-left: -1px;
height: 100%;
min-height: 42em;
width: 100%;
background: #ffffff;
border: 1px solid #999999;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
z-index: 5;
}
.p .z .f {
display: block;
z-index: 5;
}
.count {
display: inline-block;
background: #eee;
border-radius: 2em;
color: #666;
font-size: 0.8em;
font-weight: bold;
line-height: 1;
margin: 0;
min-width: 1em;
padding: 3px 7px 4px 7px;
position: relative;
text-align: center;
vertical-align: top;
}
#r .tree {
margin-bottom: 0.75em;
}
.tree input {
margin-right: 0.5em;
}
#h .q0 > .b {
margin-left: 6px;
}
/*** bookmarks (#b) and scopes (#o) ***/
.g {
margin: 0 0 0.5em 10px;
font-weight: bold;
}
#b .b, #o .b {
width: auto;
font-size: 1em;
font-weight: bold;
background: #f2f4f7;
border: 1px solid #edeff2;
border-radius: 5px;
margin: 0.5em -12px 0 18px;
color: #999;
}
#b .b:hover, #o .b:hover {
color: #222;
}
#b .br:hover, #o .br:hover {
color: #fff;
background-color: #c11;
}
#b .bc, #o .bc {
color: #555;
background: none;
border: none;
margin: 1em 0 2px 2em;
float: right;
}
#b .bc:hover, #o .bc:hover {
background: #d7d9db;
}
#b li .b {
margin: 0;
}
#o li .b {
margin: 1px;
}
#b input, #o .a input {
width: 320px;
}
#b .br, #o .br {
color: #fff;
background: #e33;
}
#b li .br, #o li .b {
padding: 4px 8px;
}
#b .a .b {
border: none;
border-radius: 0 5px 5px 0;
}
#b li, #o li {
margin: 0 0 0 18px;
list-style: none;
}
#b li a, .ba {
display: inline-flex;
align-items: center;
margin: 0;
padding: 0 3px;
}
#b li a:hover, .ba:hover {
background-color: #e8f2fe;
}
#b li a span, .ba {
padding: 3px;
}
.c .a {
border: 1px solid #37e;
border-radius: 8px;
margin: 1em 0 1em 16px;
display: inline-flex;
min-height: 36px;
align-items: center;
}
#o div.g {
margin: 1em 0 0.5em 10px;
}
.c .tree {
padding: 0 0 8px 0;
}
#b input, #o .a input {
margin: 3px 0.5em;
}
/*** menu ***/
#a {
background: #eef0f3;
height: 100%;
width: 0;
position: fixed;
z-index: 9;
top: 0;
right: 0;
overflow-x: hidden;
transition: all 0.25s ease-in;
border-left: #ddd solid 1px;
display: flex;
flex-direction: column;
}
.e {
text-align: right;
padding: 6px;
}
#a > .b {
width: auto;
height: auto;
font-size: 1em;
margin: 3px 6px;
color: #222;
text-align: left;
padding-left: 40px; /* = 8 + 20 + 12 */
}
#af {
margin: 3px 6px;
}
#af span {
display: inline-block;
padding: 8px 8px 8px 40px;
}
#af .b {
font-size: 1rem;
}
#a > #ap.b, #a > #app.b {
padding-left: 8px;
}
#a > .b:hover {
color: #111;
}
#a > #ah {
padding-left: 40px;
}
#a > #ah.x {
padding-left: 6px;
}
#ah.x:before, #ap:before, #app:before {
display: inline-block;
vertical-align: bottom;
font-size: 0;
width: 20px;
height: 20px;
margin: 0 12px 0 0;
}
#ah.x:before, .u li.x:before {
content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' focusable='false' role='presentation'%3E%3Cpath d='M 18.720152,3.3629316 C 18.060084,2.7820531 17.056888,2.8348761 16.47601,3.4949448 L 7.7898314,13.157953 3.4335592,8.9600604 C 2.7999482,8.3528147 1.7966621,8.3791818 1.1894164,9.0128871 0.58217173,9.6465896 0.60853792,10.649785 1.2422432,11.257031 l 5.5443048,5.333102 c 0.2903944,0.290393 0.6864358,0.448864 1.1088434,0.448864 h 0.052827 c 0.4224085,-0.02636 0.8448161,-0.211204 1.1088434,-0.528055 L 18.825715,5.6334442 C 19.432961,4.9470093 19.380137,3.9438138 18.720159,3.3629353 Z' fill='%2354595d'/%3E%3C/svg%3E");
/* required for IE: */
display: inline-block;
width: 20px;
}
#ap:before, #app:before {
content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' focusable='false' role='presentation'%3E%3Cpath d='m 6.1536984,14.617279 v 1.536358 h 7.6920456 v -1.536358 z m 0,-2.564015 v 1.536357 h 7.6920456 v -1.536357 z m -4.615227,1.536357 h 1.538409 v 4.10345 c -0.0051,1.246112 0.281016,1.537384 1.538409,1.537384 H 15.384153 c 1.257393,0 1.538409,-0.231787 1.538409,-1.537384 v -4.10345 h 1.538409 c 1.307648,0.02051 1.553281,-0.270247 1.538409,-1.537383 V 6.411404 c 0,-1.2050867 -0.194865,-1.5394343 -1.538409,-1.5394343 H 16.922562 V 2.30898 C 16.937433,1.0423563 16.691801,0.76954505 15.384153,0.76954505 H 4.6152894 c -1.230727,0 -1.543537,0.29332335 -1.538409,1.53943495 v 2.5629897 h -1.538409 c -1.323032,0 -1.538409999868,0.2881953 -1.538409999868,1.5394343 v 5.640834 C -0.0050386,13.298349 0.3077434,13.610134 1.5384714,13.589621 Z M 15.384153,17.692046 H 4.6152894 v -6.66644 H 15.384153 Z m 0.96407,-9.485831 c 0,-0.461523 0.369218,-0.830228 0.830741,-0.830228 0.461522,0 0.830741,0.368705 0.830741,0.830228 0,0.461523 -0.369219,0.830741 -0.830741,0.830741 -0.461523,0 -0.830741,-0.369218 -0.830741,-0.830741 z M 4.6152894,2.3079544 H 15.384153 V 4.8740209 H 4.6152894 Z' fill='%2354595d'/%3E%3C/svg%3E");
}
.ht {
background: #ff6;
}
/*** tree ***/
.tree ul {
margin: 0;
padding: 0 0 0 8px;
line-height: 1.3;
}
.tree .closed ul, div#results .closed ul {
display: none;
}
.tree .l {
display: inline-block;
padding: 2px 6px;
border-radius: 4px;
color: #222;
/* TODO with icons */
margin-left: 32px;
/* TODO without icons */
margin-left: 12px;
}
.tree .l img {
/* TODO with icons */
margin: 0 4px -2px -20px;
/* TODO without icons */
display: none;
}
.tree li {
padding: 0 0 0 10px; /* indent TOC subitems: 10px => .tree a padding-left: 42px - 10px = 32px */
list-style: none;
position: relative;
}
.tree li.xx > .l, .tree li.x > .l {
font-weight: bold;
}
.tree li.xx > .l {
color: #333;
}
.tree li.x > .l {
color: #444;
}
.tree li.xx > .l {
background-color: #eef0f3;
}
.tree .l, .tree li.xx > .l, .tree li.x > .l, .tree li.xx > .l:hover, .tree li.x > .l:hover {
transition: all 0.1s ease;
}
.tree li > .l:hover {
transition: all 0.1s 0.1s ease;
background-color: #f4f9ff;
}
.tree li > .l:focus {
background-color: #e8f2fe;
outline: none;
}
.tree .h {
/* prevent text selection */
user-select: none;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none; /* otherwise in MS Edge a blinking text cursor will be shown */
display: inline-block;
position: absolute;
left: -2px;
cursor: pointer;
animation: fly-left 3s ease-in forwards;
color: #999;
transition: transform .25s, color .25s;
}
.tree .open > .h {
color: #333;
transform: rotate(90deg);
}
/*** logo ***/
.k1 /* width: 36..146 */ {
/* logo icon */
}
.kf /* width: > 146 */ {
/* logo full */
}
/*******************************************************************************
* Mobile */
@media screen and (max-width: 768px) {
#t, #s, .i, .k0, .k1, .kf, .ke0, .ke1, .kef {
display: none;
}
#m {
overflow: hidden;
}
#t.show {
display: block;
min-width: 100%;
}
.s span {
max-width: 60px;
overflow: hidden;
}
}
@media screen and (max-height: 360px) {
.p ol {
overflow-y: auto;
max-height: calc(100vh - 38px);
-ms-overflow-style: none;
scrollbar-width: none;
}
.p ol::-webkit-scrollbar {
display: none;
}
}