A Neptunia Character Sorter
at main 288 lines 4.3 kB view raw
1body { 2 font-family: Arial, Helvetica, sans-serif; 3 font-size: 16px; 4} 5 6.container { 7 display: flex; 8 flex-flow: column nowrap; 9 align-items: center; 10 margin-top: 1em; 11} 12 13.progress { 14 margin: 1em auto; 15 width: 500px; 16 display: none; 17} 18 19.progressbar { 20 position: relative; 21 width: 492px; 22 border: 1px solid black; 23 padding: 3px; 24 margin: 2px 0px; 25} 26 27.progresstext { 28 position: absolute; 29 width: 492px; 30 margin: 3px 0px; 31 text-align: center; 32 font-size: 0.7em; 33} 34 35.progressfill { 36 height: 20px; 37 background-color: lightgreen; 38 width: 0%; 39} 40 41.sorter { 42 margin: 0px auto; 43 display: grid; 44 grid-template-columns: 120px 1fr 120px; 45 grid-gap: 5px; 46 width: 420px; 47} 48 49.button { 50 border: 1px solid black; 51 text-align: center; 52 padding: 10%; 53 grid-column: 2 / 3; 54 cursor: pointer; 55} 56 57.starting.start.button { 58 grid-row: span 6; 59} 60 61.starting.load.button { 62 grid-row: span 3; 63 display: none; 64} 65 66.sorting.button, .finished.button { 67 grid-row: span 2; 68 display: none; 69} 70 71.loading.button { 72 grid-row: span 6; 73 display: none; 74} 75 76.loading.button > div { 77 width: 25px; 78 height: 25px; 79 margin: 50px auto; 80 background-color: #333; 81 82 border-radius: 100%; 83 -webkit-animation: sk-scaleout 1.0s infinite ease-in-out; 84 animation: sk-scaleout 1.0s infinite ease-in-out; 85} 86 87/* Animation taken from: http://tobiasahlin.com/spinkit/ */ 88 89.loading.button > span { 90 margin: auto auto 20%; 91 font-size: 0.7em; 92} 93 94@-webkit-keyframes sk-scaleout { 95 0% { -webkit-transform: scale(0) } 96 100% { 97 -webkit-transform: scale(1.0); 98 opacity: 0; 99 } 100} 101 102@keyframes sk-scaleout { 103 0% { 104 -webkit-transform: scale(0); 105 transform: scale(0); 106 } 100% { 107 -webkit-transform: scale(1.0); 108 transform: scale(1.0); 109 opacity: 0; 110 } 111} 112 113.sorter > .image { 114 width: 120px; 115 height: 180px; 116 margin: auto; 117 grid-row: 1 / 7; 118 cursor: pointer; 119} 120 121.sorter > .text { 122 width: 120px; 123 height: 60px; 124 display: none; 125} 126 127.sorter > .text > p { 128 margin: 0.5em 5px 0px; 129 width: calc(100%-10px); 130 text-align: center; 131 font-size: 0.8em; 132 line-height: 1.5em; 133 word-wrap: break-word; 134 word-break: break-all; 135} 136 137.sorter > .left { 138 grid-column: 1 / 2; 139 border: 1px solid #000000; 140} 141 142.sorter > .right { 143 grid-column: 3 / 4; 144 border: 1px solid #000000; 145} 146 147.options { 148 margin: 1em auto; 149 display: grid; 150 text-align: left; 151 grid-template-columns: repeat(3, 1fr); 152 grid-gap: 10px; 153 width: 450px; 154} 155 156.options > div { 157 font-size: 0.5625em; 158} 159 160label { 161 cursor: pointer; 162} 163 164label:hover { 165 color: #990000; 166} 167 168.options > .large.option, .options > hr { 169 grid-column: span 3; 170 text-align: center; 171 width: 100%; 172} 173 174.image.selector { 175 margin-top: 0.5em; 176 width: 500px; 177 display: none; 178 text-align: center; 179 font-size: 0.75em; 180} 181 182.time.taken { 183 margin-top: 0.5em; 184 width: 500px; 185 display: none; 186 text-align: center; 187 font-size: 0.75em; 188} 189 190.results { 191 font-size: 0.75em; 192 display: flex; 193 align-content: flex-start; 194 width: 80%; 195 margin: 2em auto; 196} 197 198@media all and (min-width: 600px) { 199 .results { 200 flex-flow: column wrap; 201 max-height: calc(5 * (175px + 2px) + 1 * (15px + 2px)); 202 /* 2px for borders */ 203 } 204} 205 206@media all and (max-width: 600px) { 207 .results { 208 flex-flow: column nowrap; 209 } 210} 211 212.result { 213 height: 15px; 214 margin-bottom: -1px; 215 display: grid; 216 width: 211px; 217 grid-template-columns: repeat(2, 1fr); 218 border: 1px solid #000; 219 margin-right: 5px; 220} 221 222.result.image { 223 height: 175px; 224} 225 226.result.image img { 227 height: 160px; 228} 229 230.result.spacer { 231 height: 1px; 232 background-color: #000; 233} 234 235.result.head { 236 background-color: #000; 237 color: #FFF; 238} 239 240.result > .left { 241 width: 35px; 242 padding: 1px 3px 1px 0.5em; 243 grid-column: 1 / 2; 244 text-align: right; 245} 246 247.result.image .left { 248 position: relative; 249} 250 251.result.image > .left span { 252 position: absolute; 253 top: 50%; 254 right: 3px; 255 margin-top: -0.375em; 256} 257 258.result > .right { 259 width: 160px; 260 padding: 1px 0em 1px 0em; 261 grid-column: 2 / 3; 262 border-left: 1px solid #000; 263 text-align: center; 264} 265 266.info { 267 margin: 2em auto 3em; 268 display: block; 269 text-align: center; 270 font-size: 0.6875em; 271 width: 80%; 272 line-height: 1.2em; 273} 274 275a { 276 color: #990000; 277 font-weight: bold; 278 text-decoration: none; 279 cursor: pointer; 280} 281 282a:hover { 283 color: #FF6600; 284} 285 286a:visited { 287 color: #6600FF; 288}