216 lines
5.4 KiB
SCSS
216 lines
5.4 KiB
SCSS
.tzo-toc {
|
||
//padding-top: 10px;
|
||
|
||
li {
|
||
margin: 9px 0;
|
||
}
|
||
}
|
||
|
||
.tzo-text {
|
||
//padding: 10px 0 0;
|
||
|
||
p, center {
|
||
margin-top: 15px;
|
||
margin-bottom: 15px;
|
||
//font-family: serif;
|
||
}
|
||
|
||
p.tzo-chapter {
|
||
text-align: center;
|
||
font-weight: bold;
|
||
font-size: $fs + 2px;
|
||
}
|
||
|
||
figure {
|
||
text-align: center;
|
||
margin-left: 0;
|
||
margin-right: 0;
|
||
.img-wrapper {
|
||
box-sizing: border-box;
|
||
border: thin $border-color solid;
|
||
padding: 5px;
|
||
max-width: 100%;
|
||
margin: 0 auto;
|
||
display: inline-block;
|
||
}
|
||
img {
|
||
display: block;
|
||
height: auto;
|
||
max-width: 100%;
|
||
}
|
||
figcaption {
|
||
font-style: italic;
|
||
color: $dark-grey;
|
||
padding-top: 4px;
|
||
}
|
||
}
|
||
|
||
.tzo-nav {
|
||
line-height: 140%;
|
||
text-align: center;
|
||
> span {
|
||
color: $light-grey;
|
||
}
|
||
}
|
||
}
|
||
|
||
.ic-books {
|
||
ul:last-child {
|
||
li:last-child {
|
||
margin-bottom: 0;
|
||
}
|
||
margin-bottom: 0;
|
||
}
|
||
}
|
||
|
||
.tzo-map {
|
||
$cell: 14.2857%; // 100% / 7
|
||
$node-size: 12.5%; // circle diameter
|
||
$radius-offset: ($node-size/2) * 0.7071067811865476; // (node-size/2) * sqrt(2)/2
|
||
$diag: $cell * 1.41421356; // cell × sqrt(2)
|
||
$inner-circle-size: 0px;
|
||
$node-border-size: 2px;
|
||
$node-border-color: $head-items-border;
|
||
$node-border-color-hover: $head-items-hover-border;
|
||
|
||
position: relative;
|
||
width: 100%;
|
||
max-width: 700px;
|
||
aspect-ratio: 1 / 1;
|
||
margin: 15px auto;
|
||
|
||
.node {
|
||
position: absolute;
|
||
width: $node-size;
|
||
height: $node-size;
|
||
background: $hover-hl;
|
||
border-radius: 50%;
|
||
color: $fg;
|
||
text-decoration: none;
|
||
overflow: hidden;
|
||
display: flex;
|
||
align-items: center;
|
||
justify-content: center;
|
||
flex-direction: column;
|
||
@include no-underline();
|
||
|
||
/* center on its left/top */
|
||
transform: translate(-50%, -50%);
|
||
z-index: 3;
|
||
|
||
&-number {
|
||
font-weight: bold;
|
||
line-height: 100%;
|
||
}
|
||
&-label {
|
||
color: $light-grey;
|
||
}
|
||
|
||
@media screen and (max-width: 600px) {
|
||
&-number, &-label { font-size: $fs - 2px; }
|
||
}
|
||
@media screen and (max-width: 450px) {
|
||
&-number, &-label { font-size: $fs - 4px; }
|
||
&-label { line-height: $fs; }
|
||
}
|
||
@media screen and (max-width: 380px) {
|
||
&-label { display: none; }
|
||
}
|
||
}
|
||
.node:hover {
|
||
background: $hover-hl-darker;
|
||
.node-number, .node-label {
|
||
color: $fg;
|
||
opacity: 1;
|
||
}
|
||
}
|
||
|
||
/* ── ARROWS ────────────────────────────────────────── */
|
||
.arrow {
|
||
position: absolute;
|
||
width: calc((#{$diag} - #{$node-size}) - 12px);
|
||
height: 0;
|
||
border-top: $node-border-size solid $node-border-color;
|
||
|
||
/* start at 0,0 and then translate+rotate */
|
||
transform-origin: 0 0;
|
||
z-index: 2;
|
||
}
|
||
.arrow::after {
|
||
content: "";
|
||
position: absolute;
|
||
left: 100%;
|
||
top: -6px;
|
||
border-left: 11px solid $node-border-color;
|
||
border-top: 5px solid transparent;
|
||
border-bottom: 5px solid transparent;
|
||
}
|
||
|
||
.dir45 {
|
||
margin-left: $radius-offset;
|
||
margin-top: $radius-offset;
|
||
transform: rotate(45deg);
|
||
}
|
||
.dir135 {
|
||
margin-left: -1 * $radius-offset;
|
||
margin-top: $radius-offset;
|
||
transform: rotate(135deg);
|
||
}
|
||
|
||
/* ── NODE POSITIONS (col,row) = (1…7,1…7) ────────── */
|
||
/* left = cell*(col−0.5), top = cell*(row−0.5) */
|
||
#n1 { left: $cell * 3.5; top: $cell * 0.5; }
|
||
#n21 { left: $cell * 2.5; top: $cell * 1.5; }
|
||
#n22 { left: $cell * 4.5; top: $cell * 1.5; }
|
||
#n31 { left: $cell * 1.5; top: $cell * 2.5; }
|
||
#n32 { left: $cell * 3.5; top: $cell * 2.5; }
|
||
#n33 { left: $cell * 5.5; top: $cell * 2.5; }
|
||
#n41 { left: $cell * 0.5; top: $cell * 3.5; }
|
||
#n42 { left: $cell * 2.5; top: $cell * 3.5; }
|
||
#n43 { left: $cell * 4.5; top: $cell * 3.5; }
|
||
#n44 { left: $cell * 6.5; top: $cell * 3.5; }
|
||
#n51 { left: $cell * 1.5; top: $cell * 4.5; }
|
||
#n52 { left: $cell * 3.5; top: $cell * 4.5; }
|
||
#n53 { left: $cell * 5.5; top: $cell * 4.5; }
|
||
#n61 { left: $cell * 2.5; top: $cell * 5.5; }
|
||
#n62 { left: $cell * 4.5; top: $cell * 5.5; }
|
||
#n7 { left: $cell * 3.5; top: $cell * 6.5; }
|
||
|
||
/* ── ARROW ORIGINS: exactly at the *center* of each “from” node ── */
|
||
.a1-21, .a1-22 { left: $cell * 3.5; top: $cell * 0.5; }
|
||
.a21-31, .a21-32 { left: $cell * 2.5; top: $cell * 1.5; }
|
||
.a22-32, .a22-33 { left: $cell * 4.5; top: $cell * 1.5; }
|
||
.a31-41, .a31-42 { left: $cell * 1.5; top: $cell * 2.5; }
|
||
.a32-42, .a32-43 { left: $cell * 3.5; top: $cell * 2.5; }
|
||
.a33-43, .a33-44 { left: $cell * 5.5; top: $cell * 2.5; }
|
||
.a41-51 { left: $cell * 0.5; top: $cell * 3.5; }
|
||
.a42-51, .a42-52 { left: $cell * 2.5; top: $cell * 3.5; }
|
||
.a43-52, .a43-53 { left: $cell * 4.5; top: $cell * 3.5; }
|
||
.a44-53 { left: $cell * 6.5; top: $cell * 3.5; }
|
||
.a51-61 { left: $cell * 1.5; top: $cell * 4.5; }
|
||
.a52-61, .a52-62 { left: $cell * 3.5; top: $cell * 4.5; }
|
||
.a53-62 { left: $cell * 5.5; top: $cell * 4.5; }
|
||
.a61-7 { left: $cell * 2.5; top: $cell * 5.5; }
|
||
.a62-7 { left: $cell * 4.5; top: $cell * 5.5; }
|
||
}
|
||
|
||
.index-title {
|
||
text-align: center;
|
||
font-size: $fs + 6px;
|
||
font-weight: normal;
|
||
}
|
||
.index-subtitle {
|
||
text-align: center;
|
||
color: $grey;
|
||
padding-top: 4px;
|
||
}
|
||
|
||
//.index-hr {
|
||
// margin: 15px 0;
|
||
// text-align: center;
|
||
// color: $light-grey;
|
||
//}
|
||
.index-more {
|
||
text-align: center;
|
||
padding-top: 5px;
|
||
} |