VReason-Demo / templates /template.css
EvidenceAIResearch's picture
Upload RadGenome demo Space
0d8d0b4 verified
Raw
History Blame Contribute Delete
3.91 kB
html, body {
margin: 0;
padding: 0;
font-family: 'Source Sans Pro', ui-sans-serif, system-ui, sans-serif;
overflow: auto;
}
body {
margin: auto;
min-height: 95vh; /* full page height */
width: fit-content;
display: flex;
justify-content: center; /* horizontal center */
align-items: center; /* vertical center */
}
.container {
display: flex;
flex-direction: row;
justify-content: center;
align-items: stretch;
font-size: 1rem;
line-height: 1.5rem;
box-sizing: border-box;
min-width: 700px;
gap: max(4.5vw, 50px);
}
.col {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
min-height: 200px;
min-width: 200px;
max-width: max(33.3vw, 550px);
width: 100%;
gap: max(2.5vw, 20px);
/* background-color: rgba(173, 216, 230, 0.2); */
}
.col.mid {
max-width: max(25vw, 375px);
}
.image-wrapper {
position: relative; /* Needed for SVG absolute positioning */
display: flex;
}
.image-wrapper img {
display: flex;
min-width: 200px;
max-width: 100%;
}
.svg {
width: 100%;
height: 100%;
pointer-events: none; /* allow hover to pass through*/
position: absolute;
top: 0;
left: 0;
opacity: 0.7;
transition: 0.5s ease;
}
.svg:has(.outer:hover) {
opacity: 1;
}
/* Clipping mask */
.svg .mask .outer {
stroke-width: 2;
stroke: white !important;
fill: white !important;
vector-effect: non-scaling-stroke;
}
.svg .mask .inner {
fill: black !important;
}
/* fill */
.svg .level0 {
fill: #fa761733;
transition: 0.4s ease;
}
.svg:has(.outer:hover) .level0 {
fill: transparent !important;
}
/* stroke */
.svg .outer, .svg .inner {
fill: transparent;
stroke: #fa7617;
stroke-width: 2;
vector-effect: non-scaling-stroke; /* keep stroke width after resizing */
transition: 0.4s ease;
}
.svg .outer {
cursor: pointer;
pointer-events: visibleFill;
}
.svg:has(.outer:hover) .outer, .svg:has(.outer:hover) .inner {
stroke-width: 3px;
}
/* Backgroound mask -> inverse of Clipping mask */
.svg .bg-mask .outer {
fill: black;
stroke: none;
}
.svg .bg-mask .inner {
fill: white;
stroke: none;
}
/* Darken background when hover */
.svg .bg {
fill: transparent;
}
.svg:has(.outer:hover) .bg {
fill: rgba(0, 0, 0, 0.5);
}
{{svgs}}
.tbox {
width: 100%;
padding-left: 10px;
padding-right: 10px;
box-sizing: border-box;
cursor: pointer;
position: relative;
border-color: rgba(0, 0, 0, 0.2);
}
.tbox.left {
text-align: right;
border-right-style: solid;
border-right-width: max(0.4vw, 5px);
}
.tbox.right {
text-align: left;
border-left-style: solid;
border-left-width: max(0.4vw, 5px);
}
.tbox .heading {
font-size: max(1.2vw, 13px);
font-weight: bold;
padding-bottom: max(0.25vw, 2px);
}
.tbox .highlight {
background-color: rgba(0, 0, 0, 0.2);
}
.tbox .content {
font-size: max(calc(1.2vw - 1.2px), 12px);
line-height: 1.5;
}
.tbox::before {
content: "";
position: absolute;
top: 50%; /* start from vertical center */
width: max(0.4vw, 5px);
height: 0; /* expand height from 0 */
background-color: transparent;
transform: translateY(-50%); /* anchor at center */
transition: height 0.4s ease, background-color 0.4s ease;
}
.tbox.left::before {
right: calc(-1 * max(0.4vw, 5px));
}
.tbox.right::before {
left: calc(-1 * max(0.4vw, 5px));
}
.tbox:hover::before {
height: 100%; /* grow to full height of .tbox only */
background-color: black;
}
{{tboxs}}
.connector {
position: absolute;
z-index: 3;
overflow: visible;
opacity: 0.5;
transition: opacity 0.3s ease;
}
.connector line {
stroke-linecap: round;
stroke-width: max(0.28vw, 2.5px);
}
.connector:hover {
opacity: 1;
}
.connector:hover line {
stroke-width: 3.2px;
}
{{connectors}}