2025-05-16 14:25:14 +03:00

216 lines
5.4 KiB
SCSS
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

.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*(col0.5), top = cell*(row0.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;
}