.tree-container {
        --corner-pad: 4%;
        --border-radius: 30px;
        --grand-height: 47%;
        --parent-height: 70%;
        --parent-width: 90%;
        --tre-size: calc(100vh - var(--content-pad) * 2);
        height: 90vh;
        width: 100%;
        box-sizing: border-box;
        position: relative;
        max-width: 800px;
        max-height: 800px;
        min-height: 440px;
        margin: auto;
        color: #fff;
        text-align: center;
        }

body[data-oc] .tree-container {
        --tre-size: 100%;
        height: 100vh;
        }


    @media (orientation: portrait) {
        .tree-container { --tre-size: calc(100vw - var(--content-pad) * 2); }
    }

    @media (orientation: portrait) {
        .tree-container { --tre-size: calc(100vw - var(--content-pad) * 2); }
    }


    @media (max-width: 800px) {
       .tree-container {
            max-width: 500px;
            width: 100%;
            }
    }



    .childbox {
        position: absolute;
        right: calc(50% - 24px);bottom: 10px;
        height: 48px;
        width: 48px;
        color:#fff;
        display: block;
        cursor: pointer;
        text-align: center;
        }


    .childbox:hover {
        border-radius: 0;
        }



            .childbox > div {
                text-align: left;
                position: absolute;
                left: 50%;top: 0px;
                margin-left: -50%;
                width: 100%;
                height: 100%;
                background: #bcd662;
                padding:10px;
                box-shadow: 0px 0px 20px rgba(0,0,0,.1) inset;
                pointer-events: none;
                opacity: 1;
                transition: all 240ms, border-radius 240ms linear 100ms, box-shadow 240ms linear 100ms;
                border-radius: 24px;
                overflow: hidden;
                }

            .childbox:hover > div {
                margin-left: -100px;
                width: 200px;
                height: auto;
                pointer-events: auto;
                border-radius: 0;
                border-radius: 6px;
                box-shadow: 0px 4px 10px -4px rgba(0,0,0,.4);
                }


                .childbox > div::before {
                    display: block;
                    text-align: center;
                    margin: 0 0 5px;
                    font-size: 26px;
                    }
                    

                    .childbox > div ul {
                        padding:0;
                        margin: 0 -10px;
                        height: 0px;
                        overflow: hidden;
                        overflow-y: auto;
                        transition: all 240ms;
                        }
                        
                    .childbox:hover > div ul {
                        min-height: 100px;
                        max-height: 160px;
                        }
                    
                        .childbox > div ul > li {
                            padding:0;
                            margin: 0;
                            }
                            
                            .childbox > div a {
                                display: block;
                                padding: 5px 10px;
                                font-size: 12px;
                                line-height: 120%;
                                color: #333;
                                white-space: nowrap;
                                color: white;
                                text-shadow: 1px 1px 1px rgba(0,0,0,.2);
                                }

                            .childbox > div a:hover{
                                background: rgba(0,0,0,.2);
                                }



    .tree-container * {
        box-sizing: border-box;
        }


    .tree-container h3,
    .tree-container h2,
    .tree-container  {
        color: #fff;
        text-shadow: 1px 1px 3px rgba(0,0,0,.3);
        }

    .dba,
    .daa {
        position: absolute;
        left: 0;
        width: 100%;
        height: var(--grand-height);
        z-index: 1;
        overflow: hidden;
        filter: saturate(.4);
        border: 2px solid #fff;
        }
        .dba {top:0;   border-radius: calc(var(--border-radius) * 2) calc(var(--border-radius) * 2) 0 0;}
        .daa {bottom:0;border-radius: 0 0 calc(var(--border-radius) * 2) calc(var(--border-radius) * 2)  ;}


        .d, .ba, .aa {
                    position: absolute;
                    width: 50%;
                    height: 100%;
                    top: 0;
                    padding-top: 2%;
                    }
                    .d,  .d  {left: 0;  background-color: #355d6f;border-right: 1px solid #fff;}
                    .ba, .aa {right: 0; background-color: #763b51;border-left: 1px solid #fff;}

                    .daa .d, .daa .aa {
                                top: auto;
                                bottom: 0;
                                padding-top: calc(80% / 2);
                                }

        .evb{
            position: absolute;
            top: calc((100% - var(--parent-height)) / 2);
            left: calc((100% - var(--parent-width)) / 2);
            width: var(--parent-width);
            height: var(--parent-height);
            z-index: 2;
            filter: saturate(.6);
            overflow: hidden;
            border-radius:  var(--border-radius);
            border: 2px solid #fff;
            box-shadow: 0px 0px 20px rgba(0,0,0,.07);
            }



        .bba,
        .ane {
            position: absolute;
            left: 0;
            width: 100%;
            height: 50%;
            }
            .bba { top: 0;   background-color: rgba(73,120,140, .9);}
            .ane { bottom: 0;background-color: rgba(148,79,106, .9);}


            .bba::after, .ane::after {
                position: absolute;
                left:0;
                top: 0px;
                content: '';
                height: 2px;
                width: 100%;
                background: #fff;
                z-index: 4;
                }

            .bba::after {
                top: auto;
                bottom: 0px;
                }


        .ccks {
            position: absolute;
            left: 0; top: 0;right:0;bottom: 0;
            margin: auto;
            height: 30%;
            width: 70%;
            }

            @media (max-width: 600px)  {
                .ccks {
                    width: 80%;
                    }
            }

            .ben {
                position: absolute;
                left: 10%; top: 0;
                height: 100%;
                width: 60%;
                z-index: 3;
                background: none center center #333;
                background-size: cover;
                border-radius: calc(var(--border-radius) * .5);
                box-shadow: 4px 4px 20px rgba(0,0,0,.4);
                }

            .ben[data-gender="m"] .layer {background-color: rgb(var(--m-rgb), .85);}
            .ben[data-gender="w"] .layer {background-color: rgb(var(--w-rgb), .85);}


                .ben,
                .ben .layer {

                    }
                .ben .layer {
                    box-sizing: border-box;
                    padding: 10px;
                    border-radius: calc(var(--border-radius) * .5);
                    height: 100%;
                    background-color: rgba(100,100,100, .85);
                    }

                    .ben h1,
                    .ben h1 a  {
                        color: #fff;
                        text-shadow: 1px 1px 3px rgba(0,0,0,.3);
                    }



            ul.krd {
                position: absolute;
                top: 0;right:0;
                margin: 0;padding:0;
                margin: auto;
                height: 100%;
                width: 25%;
                max-width: 140px;
                z-index: 3;
                overflow: auto;
                background-color: #fff;
                border-radius: 4px;
                list-style-type: none;
                box-shadow: 0px 0px 30px rgba(0,0,0,.15);
                }

                ul.krd li {
                    margin: 0;
                    padding:0;
                    border-bottom: 1px dotted #ccc;
                    }
                     ul.krd li a {
                         margin: 0;
                         padding:0;
                         display: block;
                         padding: 8px 6px;
                         font-size: 12px;
                         text-align: left;
                         color: #888;
                         text-decoration: none;
                         transition: all 200ms;
                         text-shadow: none;
                         }



                .d > a,
                .ba > a,
                .aa > a,
                .bba > a,
                .ane > a {
                    position: absolute;
                    left: 0;
                    top: 0;
                    width: 100%;
                    height: 100%;
                    display: block;
                    transition: all 200ms;
                    color: rgba(0,0,0,.7);
                    text-shadow: 1px 1px 1px rgba(255,255,255,.1);
                    }



                .bba > a { color: rgb(var(--m-rgb));}
                .ane > a { color: rgb(var(--w-rgb));}


                    .label{
                        position: absolute;
                        font-family: 'headline';
                        }

                        .d > a .label {width: 80%; right: var(--corner-pad); top: var(--corner-pad);text-align:right;}
                            .daa .d > a .label {bottom: var(--corner-pad);top: auto;}
                        .ba > a .label {width: 80%; left: var(--corner-pad); top: var(--corner-pad);   text-align:left;}
                        .aa > a .label {width: 80%; left: var(--corner-pad); bottom: var(--corner-pad);text-align:left;}
                        .bba > a .label,
                        .ane > a .label {left: 5%; width: 90%; top: var(--corner-pad);text-align:center;}
                            .ane > a .label {top: auto; bottom: var(--corner-pad);}

                        .label small{
                            display: block;
                            font-size: 60%;
                            line-height: 100%;
                            }


                .d > a:hover,
                .ba > a:hover,
                .aa > a:hover,
                .bba > a:hover,
                .ane > a:hover {
                    background: rgba(0,0,0,.6);
                    }

                .krd a:hover {
                    background: rgba(0,0,0,.1);
                    }
