semantic_graph/www/graph.css

444 lines
7.8 KiB
CSS
Raw Normal View History

2021-04-28 09:38:06 +02:00
@font-face {
font-family: 'Lexend Mega Regular';
font-style: normal;
font-weight: normal;
src: local('Lexend Mega Regular'), url('LexendMega-Regular.woff') format('woff');
}
2021-03-31 16:24:46 +02:00
2021-04-28 09:38:06 +02:00
:root {
2021-04-28 11:18:02 +02:00
--color1: #9741f9;
2021-03-31 16:24:46 +02:00
--color2: #f3722c;
--color3: #f8961e;
/* --color4: #f9844a; */
--color5: #f9c74f;
--color6: #90be6d;
--color7: #43aa8b;
--color8: #4d908e;
--color9: #577590;
--color10: #277da1;
--hover-color: var(--color1);
--hover-related-color: #d1bce9;
/* --hover-color: var(darkblue); */
2021-03-31 16:24:46 +02:00
--selected-color: var(--color1);
}
body {
margin: 0;
2021-04-19 22:47:06 +02:00
/* overflow: hidden; */
/* background: linear-gradient(to top, #040308, #AD4A28, #DD723C, #fc7001, #dcb697, #9ba5ae, #3e5879, #020b1a); */
2021-04-28 09:38:06 +02:00
background: linear-gradient(to top, #414141, #99a6b8);
2021-03-31 16:24:46 +02:00
font-family: sans-serif;
min-height: 100vh;
}
svg {
cursor: grab;
font-family: sans-serif;
}
svg.dragging {
cursor: grabbing;
}
2021-04-28 11:18:02 +02:00
#arrowHead {
fill: #b0e99a;
2021-04-28 11:18:02 +02:00
}
#arrowHeadSelected {
fill: var(--hover-color);;
}
#arrowHeadSelectedRelated {
fill: var(--hover-related-color);;
}
2021-04-28 11:18:02 +02:00
2021-04-28 09:38:06 +02:00
svg .links line, svg .links path {
/* stroke: #f3722c; */
/* stroke: #9df32c; */
stroke: #b0e99a;
stroke-width: 6;
2021-04-28 09:38:06 +02:00
fill: none;
transition: stroke-width 1s;
cursor: pointer;
}
2021-04-28 09:38:06 +02:00
svg .links line.hover, svg .links path.hover {
stroke: var(--hover-color);
/* stroke-width: 12; */
marker-end: url(#arrowHeadSelected);
}
svg .links .linkedHover path{
stroke: var(--hover-related-color);
stroke-width: 12;
marker-end: url(#arrowHeadSelectedRelated);
}
svg .links .linkedSelected path{
2021-04-28 09:38:06 +02:00
stroke: var(--hover-color);
2021-04-27 16:10:23 +02:00
stroke-width: 12;
2021-04-28 11:18:02 +02:00
marker-end: url(#arrowHeadSelected);
}
2021-04-28 09:38:06 +02:00
svg.zoomed .links line, svg.zoomed .links path {
stroke-width: 2;
2021-03-31 16:24:46 +02:00
}
2021-04-28 09:38:06 +02:00
/* svg.zoomed .links line, svg.zoomed .links path.hover {
2021-04-27 16:10:23 +02:00
stroke-width: 4;
} */
2021-03-31 16:24:46 +02:00
2021-04-28 09:38:06 +02:00
svg .title {
font-size: 200;
}
svg .subtitle {
font-size: 100;
}
2021-04-28 11:18:02 +02:00
svg #countries .country {
fill: rgba(200, 200, 200, 0.7);
2021-04-28 09:38:06 +02:00
}
2021-04-28 11:18:02 +02:00
svg #countries .country.eu_country {
fill: black;
2021-04-28 09:38:06 +02:00
}
svg #header #titlePath, svg #header #title2Path, svg #header #subtitlePath {
2021-04-28 09:38:06 +02:00
stroke: none;
fill: none;
}
svg #header text {
font-size: 180px;
font-family: "Lexend Mega Regular";
/*Comfortaa*/
opacity: .8;
fill: black;
text-shadow: rgba(0, 0, 0, .5) 5px 5px 10px;
/* text-transform: uppercase; */
}
svg #header text:nth-of-type(2) {
/* dominant-baseline: hanging; */
/* transform: translate(10px, 25px); */
2021-04-28 09:38:06 +02:00
}
svg #header text#subtitle {
font-size: 70px;
fill: var(--color9);
}
.links text {
display: none;
font-size: 5pt;
2021-03-31 16:24:46 +02:00
text-anchor: middle;
fill: whitesmoke;
}
2021-04-28 09:38:06 +02:00
.node {
cursor: pointer;
}
2021-04-28 09:38:06 +02:00
.node text.nodeTitle {
text-anchor: start;
2021-04-28 09:38:06 +02:00
dominant-baseline: hanging;
/*achieves a 'text-anchor: top'*/
2021-04-28 11:18:02 +02:00
/* font-size: 16pt; */
/*Set this in JS*/
transition: font-size .4s, opacity 1s;
fill: white; /*also when hovering node*/
opacity: 1;
2021-04-28 09:38:06 +02:00
pointer-events: none;
/*prevent mouse glitches*/
}
2021-04-28 09:38:06 +02:00
/* .node:not(:hover):not(.linkHover) text.nodeTitle.overlapping { */
.node text.nodeTitle.overlapping {
/* used to be shown on hover, but disabled now that we have a tooltip */
opacity: 0;
}
2021-04-28 09:38:06 +02:00
svg.zoomed .node text.nodeTitle {
2021-04-28 10:24:07 +02:00
/* font-size: 6pt; */
}
2021-04-28 09:38:06 +02:00
svg.zoomed.zoomed2 .node text.nodeTitle {
font-size: 3pt;
2021-03-31 16:24:46 +02:00
}
2021-04-28 11:18:02 +02:00
.node circle, .node path {
fill: lightgray;
2021-03-31 16:24:46 +02:00
}
/* Whenever a connected link is hovered */
2021-04-28 09:38:06 +02:00
.node.linkHover circle, .node.linkHover path, .node.linkedHover path, label:hover .node path {
fill: var(--hover-related-color) !important;
stroke: var(--hover-related-color);
stroke-width: 5px;
}
.node.linkedSelected path {
fill: var(--hover-related-color) !important;
/* same as linkHover/linkedHover but without border */
}
2021-04-28 09:38:06 +02:00
.node.linkHover text.nodeTitle.overlapping {
transition: opacity 0s;
2021-03-31 16:24:46 +02:00
}
.node:hover circle, .node:hover path, .node.selected path {
2021-04-28 11:18:02 +02:00
fill: var(--hover-color) !important;
2021-03-31 16:24:46 +02:00
stroke: var(--hover-color);
stroke-width: 5px;
}
/*
2021-04-28 09:38:06 +02:00
.node:hover text {
transition: none;
2021-04-28 09:38:06 +02:00
fill: var(--hover-color);
} */
2021-04-28 09:38:06 +02:00
2021-04-28 11:18:02 +02:00
.node.selected circle, .node.selected path {
fill: var(--selected-color) !important;
2021-03-31 16:24:46 +02:00
stroke: var(--selected-color);
stroke-width: 5px;
}
2021-04-28 11:18:02 +02:00
.node.City circle, .node.City path {
2021-04-28 09:38:06 +02:00
display: none;
2021-03-31 16:24:46 +02:00
}
2021-04-28 09:38:06 +02:00
.node.City {
fill: white;
2021-03-31 16:24:46 +02:00
stroke: black;
stroke-width: .5px;
font-size: 20px;
}
2021-04-28 09:38:06 +02:00
2021-04-28 11:18:02 +02:00
.node.Person circle, .node.Person path {
2021-03-31 16:24:46 +02:00
fill: lightgreen
}
2021-04-28 09:38:06 +02:00
2021-04-28 11:18:02 +02:00
.node.Technology circle, .node.Technology path {
fill: plum;
2021-03-31 16:24:46 +02:00
}
2021-04-28 09:38:06 +02:00
2021-04-28 11:18:02 +02:00
.node.Deployments circle, .node.Deployments path {
2021-03-31 16:24:46 +02:00
fill: lightblue;
}
2021-04-28 09:38:06 +02:00
2021-04-28 11:18:02 +02:00
.node.Institution circle, .node.Institution path {
fill: lightcoral
2021-03-31 16:24:46 +02:00
}
2021-04-28 09:38:06 +02:00
2021-04-28 11:18:02 +02:00
.node.Dataset circle, .node.Dataset path {
fill: lightgoldenrodyellow
2021-03-31 16:24:46 +02:00
}
2021-04-28 09:38:06 +02:00
.labels .label text {
fill: yellow;
opacity: 1 !important;
2021-04-28 09:38:06 +02:00
}
2021-03-31 16:24:46 +02:00
/* .node.Person circle {
fill: var(--color2)
}
.node.Technology circle {
fill: var(--color3);
}
.node.Deployment circle {
fill: var(--color5);
}
.node.Institution circle {
fill: var(--color6)
}
.node.Dataset circle {
fill: var(--color7)
} */
2021-04-28 09:38:06 +02:00
#nodeInfo {
2021-03-31 16:24:46 +02:00
position: fixed;
2021-04-28 09:38:06 +02:00
display: block;
right: 20px;
bottom: 20px;
background: white;
2021-03-31 16:24:46 +02:00
padding: 10px;
border: solid 1px #ccc;
}
2021-04-28 09:38:06 +02:00
#nodeInfo.hidden {
display: none;
2021-03-31 16:24:46 +02:00
}
2021-04-28 09:38:06 +02:00
#nodeInfo h2 {
2021-03-31 16:24:46 +02:00
margin: 0;
padding: 0;
}
2021-04-28 09:38:06 +02:00
#nodeInfo iframe {
2021-03-31 16:24:46 +02:00
width: 50vw;
height: calc(100vh - 40px - 20px - 30px);
}
#tooltip{
position:absolute;
z-index: 100;
opacity: 1;
transition: opacity .3s;
background:white;
padding: 20px 10px;
border-radius: 5px;
box-shadow: 2px 2px 5px rgba(0, 0, 0, .5);
}
#tooltip:not(.visible){
position:absolute;
z-index: 100;
opacity:0;
pointer-events: none;
}
#tooltip h3{
margin: 5px 0;
text-align: center;;
}
#tooltip .category{
display: block;
color: black;
text-align: center;;
}
#tooltip .category::before{
content:'· '
}
#tooltip .category::after{
content:' ·'
}
#tooltip .clickForMore{
display: block;
color: gray;
text-align: center;;
}
2021-04-28 09:38:06 +02:00
#closeInfo {
2021-03-31 16:24:46 +02:00
cursor: pointer;
position: absolute;
right: 10px;
top: 10px;
}
2021-04-28 09:38:06 +02:00
#closeInfo:hover {
2021-03-31 16:24:46 +02:00
color: var(--hover-color);
}
2021-04-28 09:38:06 +02:00
a, a:link {
2021-03-31 16:24:46 +02:00
text-decoration: none;
}
2021-04-28 09:38:06 +02:00
a:hover {
2021-03-31 16:24:46 +02:00
text-decoration: underline;
2021-04-16 11:15:57 +02:00
}
2021-04-28 09:38:06 +02:00
header {
2021-04-16 11:15:57 +02:00
position: fixed;
2021-04-28 09:38:06 +02:00
bottom: 0;
right: 0;
2021-04-16 11:15:57 +02:00
background: white;
padding: 10px;
border-top-left-radius: 5px;
}
2021-04-28 09:38:06 +02:00
h1 {
/* color:var(--color9); */
margin: 0;
text-transform: uppercase;
display: none;
}
p.subtitle {
margin: 0;
color: var(--color10);
/* text-transform: uppercase;; */
display: none;
}
2021-04-28 11:18:02 +02:00
#filters h3 {
text-align: center;
;
2021-04-28 09:38:06 +02:00
}
2021-04-28 11:18:02 +02:00
2021-04-28 09:38:06 +02:00
#filters label {
cursor: pointer;
display: block;
padding: 10px;
}
2021-04-28 11:18:02 +02:00
#filters label svg {
display: inline;
width: 30px;
height: 30px;
vertical-align: middle;
}
2021-04-28 09:38:06 +02:00
#filters span:hover {
color: var(--hover-color);
}
#filters input {
2021-04-28 11:18:02 +02:00
display: none;
2021-04-28 09:38:06 +02:00
}
#filters input+span {
display: inline-block;
padding-left: 10px;
/* background: var(--color9); */
2021-04-28 11:18:02 +02:00
text-decoration: line-through;
2021-04-28 09:38:06 +02:00
}
#filters input:checked+span {
/* color: var(--selected-color); */
text-decoration: none;
/* box-shadow: inset 0 0 5px black; */
}
#map .borders {
stroke-width: 6px;
stroke: white;
2021-04-28 09:38:06 +02:00
fill: none;
2021-04-19 22:47:06 +02:00
}
2021-04-28 09:38:06 +02:00
#alluvial {
2021-04-19 22:47:06 +02:00
/* position:fixed; */
2021-04-28 09:38:06 +02:00
top: 0;
left: 0;
2021-04-19 22:47:06 +02:00
}
2021-04-28 09:38:06 +02:00
#alluvial .flow_label text {
2021-04-19 22:47:06 +02:00
font-size: 30;
}
body.light{
background:white;
}
body.light #map .borders{
stroke: white;
}
body.light svg #countries .country{
fill:white;
stroke:lightgray;
stroke-width: 5;;
}
body.light svg #countries .country.eu_country{
fill:rgb(235, 226, 236);
}
body.light .node text.nodeTitle {
fill:black;
}
body.light #arrowHead{
fill:#577590;
}
body.light svg .links line, body.light svg .links path {
stroke:#577590;
}