:root {
    --igem-cm-2-vh-multi: 3;
    --igem-viewport-perspective-cm: 100;
    --igem-viewport-perspective-vh: calc(var(--igem-viewport-perspective-cm) * var(--igem-cm-2-vh-multi));
    --igem-viewport-perspective: calc(var(--igem-viewport-perspective-vh) * 1vh);

    --igem-index-3-s1-grass-distance-cm: calc(10 * 100);
    --igem-index-3-s1-grass-distance-vh: calc(var(--igem-index-3-s1-grass-distance-cm) * var(--igem-cm-2-vh-multi));
    --igem-index-3-s1-grass-distance: calc(var(--igem-index-3-s1-grass-distance-vh) * 1vh);
    --igem-index-3-s1-grass-translate-z: calc((-1) * var(--igem-index-3-s1-grass-distance));
    --igem-index-3-s1-grass-perspective-scale: calc((var(--igem-viewport-perspective-vh) + var(--igem-index-3-s1-grass-distance-vh)) / var(--igem-viewport-perspective-vh));
    --igem-index-3-s1-grass-img-h-px: 2160;
    --igem-index-3-s1-grass-img-top-sparse-px: 50;
    --igem-index-3-s1-grass-img-scale: 0.5;
    --igem-index-3-s1-grass-top-sparse-px: calc(var(--igem-index-3-s1-grass-img-top-sparse-px) * var(--igem-index-3-s1-grass-img-scale) * var(--igem-index-3-s1-grass-perspective-scale));
    --igem-index-3-s1-grass-top-sparse: calc(var(--igem-index-3-s1-grass-top-sparse-px) * 1px);
    --igem-index-3-s1-grass-mt-scr-pctg: 0.9;
    --igem-index-3-s1-grass-mb-scr-pctg: calc(1 - var(--igem-index-3-s1-grass-mt-scr-pctg));
    --igem-index-3-s1-grass-mt-no-sparse: calc(((0.5 - var(--igem-index-3-s1-grass-mb-scr-pctg)) * var(--igem-index-3-s1-grass-perspective-scale) + 0.5) * 100vh);
    --igem-index-3-s1-grass-mt: calc(var(--igem-index-3-s1-grass-mt-no-sparse) - var(--igem-index-3-s1-grass-top-sparse));

    --igem-index-3-s1-fox-distance-cm: calc(10.5 * 100);
    --igem-index-3-s1-fox-distance-vh: calc(var(--igem-index-3-s1-fox-distance-cm) * var(--igem-cm-2-vh-multi));
    --igem-index-3-s1-fox-distance: calc(var(--igem-index-3-s1-fox-distance-vh) * 1vh);
    --igem-index-3-s1-fox-translate-z: calc((-1) * var(--igem-index-3-s1-fox-distance));
    --igem-index-3-s1-fox-w-cm: 45;
    --igem-index-3-s1-fox-w-vh: calc(var(--igem-index-3-s1-fox-w-cm) * var(--igem-cm-2-vh-multi));
    --igem-index-3-s1-fox-w: calc(var(--igem-index-3-s1-fox-w-vh) * 1vh);
    --igem-index-3-s1-fox-img-w-px: 1600;
    --igem-index-3-s1-fox-img-h-px: 1200;
    --igem-index-3-s1-fox-img-wh-ratio: calc(var(--igem-index-3-s1-fox-img-w-px) / var(--igem-index-3-s1-fox-img-h-px));
    --igem-index-3-s1-fox-h-vh: calc(var(--igem-index-3-s1-fox-w-vh) / var(--igem-index-3-s1-fox-img-wh-ratio));
    --igem-index-3-s1-fox-h: calc(var(--igem-index-3-s1-fox-h-vh) * 1vh);
    --igem-index-3-s1-fox-mt: calc(var(--igem-index-3-s1-grass-mt-no-sparse) - var(--igem-index-3-s1-fox-h));    /* TODO: 应该考虑fox-h的透视误差 */

    --igem-index-3-s1-fox-2-distance-cm: calc(10.5 * 100);
    --igem-index-3-s1-fox-2-distance-vh: calc(var(--igem-index-3-s1-fox-2-distance-cm) * var(--igem-cm-2-vh-multi));
    --igem-index-3-s1-fox-2-distance: calc(var(--igem-index-3-s1-fox-2-distance-vh) * 1vh);
    --igem-index-3-s1-fox-2-translate-z: calc((-1) * var(--igem-index-3-s1-fox-2-distance));
    --igem-index-3-s1-fox-2-w-cm: 75;
    --igem-index-3-s1-fox-2-w-vh: calc(var(--igem-index-3-s1-fox-2-w-cm) * var(--igem-cm-2-vh-multi));
    --igem-index-3-s1-fox-2-w: calc(var(--igem-index-3-s1-fox-2-w-vh) * 1vh);
    --igem-index-3-s1-fox-2-img-w-px: 1600;
    --igem-index-3-s1-fox-2-img-h-px: 1200;
    --igem-index-3-s1-fox-2-img-wh-ratio: calc(var(--igem-index-3-s1-fox-2-img-w-px) / var(--igem-index-3-s1-fox-2-img-h-px));
    --igem-index-3-s1-fox-2-h-vh: calc(var(--igem-index-3-s1-fox-2-w-vh) / var(--igem-index-3-s1-fox-2-img-wh-ratio));
    --igem-index-3-s1-fox-2-h: calc(var(--igem-index-3-s1-fox-2-h-vh) * 1vh);
    --igem-index-3-s1-fox-2-mt: calc(var(--igem-index-3-s1-grass-mt-no-sparse) - var(--igem-index-3-s1-fox-2-h));    /* TODO: 应该考虑fox-h的透视误差 */
    --igem-index-3-s1-fox-2-img-head-x-px: 238;
    --igem-index-3-s1-fox-2-head-x-vh: calc(var(--igem-index-3-s1-fox-2-w-vh) * (var(--igem-index-3-s1-fox-2-img-head-x-px) / var(--igem-index-3-s1-fox-2-img-w-px)));
    --igem-index-3-s1-fox-2-head-x: calc(var(--igem-index-3-s1-fox-2-head-x-vh) * 1vh);
    --igem-index-3-s1-fox-2--translate-x: calc(0.5 * var(--igem-index-3-s1-fox-2-w) - var(--igem-index-3-s1-fox-2-head-x));

    --igem-index-3-s1-grass-2-height-cm: 15;
    --igem-index-3-s1-grass-2-height-vh: calc(var(--igem-index-3-s1-grass-2-height-cm) * var(--igem-cm-2-vh-multi));
    --igem-index-3-s1-grass-2-height: calc(var(--igem-index-3-s1-grass-2-height-vh) * 1vh);
    --igem-index-3-s1-grass-2-mt: calc((-1) * var(--igem-index-3-s1-grass-2-height));

    --igem-index-3-s1-leaves--2-distance-cm: calc((1.5) * 100);
    --igem-index-3-s1-leaves--2-distance-vh: calc(var(--igem-index-3-s1-leaves--2-distance-cm) * var(--igem-cm-2-vh-multi));
    --igem-index-3-s1-leaves--2-distance: calc(var(--igem-index-3-s1-leaves--2-distance-vh) * 1vh);
    --igem-index-3-s1-leaves--2-translate-z: calc((-1) * var(--igem-index-3-s1-leaves--2-distance));
    --igem-index-3-s1-leaves--2-perspective-scale: calc((var(--igem-viewport-perspective-vh) + var(--igem-index-3-s1-leaves--2-distance-vh)) / var(--igem-viewport-perspective-vh));
    --igem-index-3-s1-leaves--2-mt-scr-pctg: 1;
    --igem-index-3-s1-leaves--2-mb-scr-pctg: calc(1 - var(--igem-index-3-s1-leaves--2-mt-scr-pctg));
    --igem-index-3-s1-leaves--2-mt: calc(((0.5 - var(--igem-index-3-s1-leaves--2-mb-scr-pctg)) * var(--igem-index-3-s1-leaves--2-perspective-scale) + 0.5) * 100vh);
    --igem-index-3-s1-leaves--2-grid-size-cm: 200;
    --igem-index-3-s1-leaves--2-grid-size-vh: calc(var(--igem-index-3-s1-leaves--2-grid-size-cm) * var(--igem-cm-2-vh-multi));
    --igem-index-3-s1-leaves--2-grid-size: calc(var(--igem-index-3-s1-leaves--2-grid-size-vh) * 1vh);
    --igem-index-3-s1-leaves--2-leaf-size-cm: 5;
    --igem-index-3-s1-leaves--2-leaf-size-vh: calc(var(--igem-index-3-s1-leaves--2-leaf-size-cm) * var(--igem-cm-2-vh-multi));
    --igem-index-3-s1-leaves--2-leaf-size: calc(var(--igem-index-3-s1-leaves--2-leaf-size-vh) * 1vh);

    --igem-index-3-s1-leaves--1-distance-cm: calc((0.5) * 100);
    --igem-index-3-s1-leaves--1-distance-vh: calc(var(--igem-index-3-s1-leaves--1-distance-cm) * var(--igem-cm-2-vh-multi));
    --igem-index-3-s1-leaves--1-distance: calc(var(--igem-index-3-s1-leaves--1-distance-vh) * 1vh);
    --igem-index-3-s1-leaves--1-translate-z: calc((-1) * var(--igem-index-3-s1-leaves--1-distance));
    --igem-index-3-s1-leaves--1-perspective-scale: calc((var(--igem-viewport-perspective-vh) + var(--igem-index-3-s1-leaves--1-distance-vh)) / var(--igem-viewport-perspective-vh));
    --igem-index-3-s1-leaves--1-mt-scr-pctg: 1;
    --igem-index-3-s1-leaves--1-mb-scr-pctg: calc(1 - var(--igem-index-3-s1-leaves--1-mt-scr-pctg));
    --igem-index-3-s1-leaves--1-mt: calc(((0.5 - var(--igem-index-3-s1-leaves--1-mb-scr-pctg)) * var(--igem-index-3-s1-leaves--1-perspective-scale) + 0.5) * 100vh);
    --igem-index-3-s1-leaves--1-grid-size-cm: 200;
    --igem-index-3-s1-leaves--1-grid-size-vh: calc(var(--igem-index-3-s1-leaves--1-grid-size-cm) * var(--igem-cm-2-vh-multi));
    --igem-index-3-s1-leaves--1-grid-size: calc(var(--igem-index-3-s1-leaves--1-grid-size-vh) * 1vh);
    --igem-index-3-s1-leaves--1-leaf-size-cm: 5;
    --igem-index-3-s1-leaves--1-leaf-size-vh: calc(var(--igem-index-3-s1-leaves--1-leaf-size-cm) * var(--igem-cm-2-vh-multi));
    --igem-index-3-s1-leaves--1-leaf-size: calc(var(--igem-index-3-s1-leaves--1-leaf-size-vh) * 1vh);

    --igem-index-3-s1-leaves-1-distance-cm: calc((-0.5) * 100);
    --igem-index-3-s1-leaves-1-distance-vh: calc(var(--igem-index-3-s1-leaves-1-distance-cm) * var(--igem-cm-2-vh-multi));
    --igem-index-3-s1-leaves-1-distance: calc(var(--igem-index-3-s1-leaves-1-distance-vh) * 1vh);
    --igem-index-3-s1-leaves-1-translate-z: calc((-1) * var(--igem-index-3-s1-leaves-1-distance));
    --igem-index-3-s1-leaves-1-perspective-scale: calc((var(--igem-viewport-perspective-vh) + var(--igem-index-3-s1-leaves-1-distance-vh)) / var(--igem-viewport-perspective-vh));
    --igem-index-3-s1-leaves-1-mt-scr-pctg: 1;
    --igem-index-3-s1-leaves-1-mb-scr-pctg: calc(1 - var(--igem-index-3-s1-leaves-1-mt-scr-pctg));
    --igem-index-3-s1-leaves-1-mt: calc(((0.5 - var(--igem-index-3-s1-leaves-1-mb-scr-pctg)) * var(--igem-index-3-s1-leaves-1-perspective-scale) + 0.5) * 100vh);
    --igem-index-3-s1-leaves-1-grid-size-cm: 200;
    --igem-index-3-s1-leaves-1-grid-size-vh: calc(var(--igem-index-3-s1-leaves-1-grid-size-cm) * var(--igem-cm-2-vh-multi));
    --igem-index-3-s1-leaves-1-grid-size: calc(var(--igem-index-3-s1-leaves-1-grid-size-vh) * 1vh);
    --igem-index-3-s1-leaves-1-leaf-size-cm: 5;
    --igem-index-3-s1-leaves-1-leaf-size-vh: calc(var(--igem-index-3-s1-leaves-1-leaf-size-cm) * var(--igem-cm-2-vh-multi));
    --igem-index-3-s1-leaves-1-leaf-size: calc(var(--igem-index-3-s1-leaves-1-leaf-size-vh) * 1vh);
}

div#s2-list > div {
    opacity: 0;
}

