1div.lm { 2 margin: 2em; 3} 4 5div.lm div { 6 all: initial; 7 display: block; 8 font-family: sans-serif; 9} 10 11div.lm span, div.lm input, div.lm label { 12 all: initial; 13 font-family: sans-serif; 14} 15 16::before, ::after { 17 all: initial; 18} 19 20div.lm input { 21 position: absolute; 22 display: none; 23} 24 25div.lm input ~ div.tree { 26 display: none; 27} 28 29div.lm input:checked ~ div.tree { 30 display: block; 31} 32 33div.lm div.child { 34 line-height: 1.2; 35 position: relative; 36 padding: 0 0 1em 1em; 37} 38 39div.lm div.tree div.child { 40 padding: 1em 0 0 1em; 41} 42 43div.lm > div.child:last-child { 44 padding-bottom: 0; 45} 46 47div.lm .label { 48 position: relative; 49 display: inline-block; 50 background: #fff; 51} 52 53div.lm label.label { 54 cursor: pointer; 55} 56 57div.lm .current { 58 font-weight: bold; 59} 60 61div.lm label.label:hover { 62 color: #666; 63} 64 65div.lm label.label:before { 66 background-color: #fff; 67 border: solid 1px #000; 68/* color: #fff;*/ 69 position: relative; 70 z-index: 1; 71 float: left; 72 margin: 0 1em 0 -2em; 73 width: 1em; 74 height: 1em; 75 border-radius: 1em; 76 text-align: center; 77 line-height: .9em; 78 content: ' ' 79} 80 81div.lm :checked ~ label.label::before { 82/* content: '–';*/ 83 background-color: #000; 84} 85 86div.lm div.child::before { 87 position: absolute; 88 top: 0; 89 bottom: 0; 90 left: -.5em; 91 display: block; 92 width: 0; 93 border-left: 2px solid #777; 94 content: ""; 95} 96 97div.lm .label::after { 98 position: absolute; 99 top: 0; 100 left: -1.5em; 101 display: block; 102 height: 0.5em; 103 width: 1em; 104 border-bottom: 2px solid #777; 105 border-left: 2px solid #777; 106 border-radius: 0 0 0 .3em; 107 content: ''; 108} 109 110div.lm label.label::after { 111 border-bottom: 0; 112} 113 114div.lm :checked ~ label.label::after { 115 border-radius: 0 .3em 0 0; 116 border-top: 2px solid #777; 117 border-right: 2px solid #777; 118 border-bottom: 0; 119 border-left: 0; 120 bottom: 0; 121 top: 0.5em; 122 height: auto; 123} 124 125div.lm div.child:last-child::before { 126 height: 1em; 127 bottom: auto; 128} 129 130div.lm > div.child:last-child::before { 131 display: none; 132} 133 134p.lm_error { 135 font-size: 1em; 136 color: red; 137} 138