Revision ac54d579
Added by Andreas Kohlbecker about 3 years ago
modules/cdm_dataportal/cdm_dataportal.module | ||
---|---|---|
448 | 448 |
); |
449 | 449 |
} |
450 | 450 |
|
451 |
function _add_js_derivation_tree_focus_unit($unit_uuid){ |
|
452 |
drupal_add_js('jQuery(document).ready(function() { |
|
453 |
jQuery( ".derived-unit-tree > .uuid\\\\:' . $unit_uuid . ' > .unit-header, .derived-unit-sub-tree > .uuid\\\\:' . $unit_uuid . ' > .unit-header" ) |
|
454 |
.css(\'font-weight\', \'bold\') |
|
455 |
.find(".page-link").hide(); |
|
456 |
});', |
|
457 |
array('type' => 'inline') |
|
458 |
); |
|
459 |
} |
|
460 |
|
|
461 | 451 |
/** |
462 | 452 |
* Provides the markup for an font awesome icon. |
463 | 453 |
* |
themes/zen_dataportal/css/cdm.css | ||
---|---|---|
367 | 367 |
margin-top: -11.2px; |
368 | 368 |
color: #7c7c7c; |
369 | 369 |
} |
370 |
/* line 273, ../sass/cdm.scss */ |
|
371 |
div.derived-unit-tree .focused_item, |
|
372 |
ul.derived-unit-sub-tree .focused_item, |
|
373 |
ul.derived-unit-sub-tree ul .focused_item { |
|
374 |
font-weight: bold; |
|
375 |
} |
|
370 | 376 |
|
371 |
/* line 275, ../sass/cdm.scss */
|
|
377 |
/* line 278, ../sass/cdm.scss */
|
|
372 | 378 |
div.derived-unit-tree-root .unit-content-wrapper { |
373 | 379 |
border-left: 3px dotted #dedede; |
374 | 380 |
margin-left: 3.2px; |
375 | 381 |
} |
376 | 382 |
|
377 |
/* line 281, ../sass/cdm.scss */
|
|
383 |
/* line 284, ../sass/cdm.scss */
|
|
378 | 384 |
ul.derived-unit-sub-tree ul { |
379 | 385 |
margin-left: 1.0em; |
380 | 386 |
} |
381 |
/* line 284, ../sass/cdm.scss */
|
|
387 |
/* line 287, ../sass/cdm.scss */
|
|
382 | 388 |
ul.derived-unit-sub-tree li { |
383 | 389 |
position: relative; |
384 | 390 |
margin-left: 0; |
... | ... | |
387 | 393 |
line-height: 22.4px; |
388 | 394 |
border-left: 3px dotted #dedede; |
389 | 395 |
} |
390 |
/* line 294, ../sass/cdm.scss */
|
|
396 |
/* line 297, ../sass/cdm.scss */
|
|
391 | 397 |
ul.derived-unit-sub-tree li:last-child { |
392 | 398 |
border-left: none; |
393 | 399 |
} |
394 |
/* line 296, ../sass/cdm.scss */
|
|
400 |
/* line 299, ../sass/cdm.scss */
|
|
395 | 401 |
ul.derived-unit-sub-tree li:last-child .unit-header, ul.derived-unit-sub-tree li:last-child .unit-content { |
396 | 402 |
margin-left: 3px; |
397 | 403 |
} |
398 |
/* line 300, ../sass/cdm.scss */
|
|
404 |
/* line 303, ../sass/cdm.scss */
|
|
399 | 405 |
ul.derived-unit-sub-tree li:before { |
400 | 406 |
position: absolute; |
401 | 407 |
top: 3.2px; |
... | ... | |
409 | 415 |
content: ""; |
410 | 416 |
display: inline-block; |
411 | 417 |
} |
412 |
/* line 312, ../sass/cdm.scss */
|
|
418 |
/* line 315, ../sass/cdm.scss */
|
|
413 | 419 |
ul.derived-unit-sub-tree li:last-child:before { |
414 | 420 |
border-left: 3px dotted #dedede; |
415 | 421 |
} |
416 | 422 |
|
417 |
/* line 317, ../sass/cdm.scss */
|
|
423 |
/* line 320, ../sass/cdm.scss */
|
|
418 | 424 |
div.derived-unit-tree table.details-table { |
419 | 425 |
font-size: smaller; |
420 | 426 |
} |
421 | 427 |
|
422 |
/* line 322, ../sass/cdm.scss */
|
|
428 |
/* line 325, ../sass/cdm.scss */
|
|
423 | 429 |
.derived-unit-details-grid table.details-table { |
424 | 430 |
margin: 0; |
425 | 431 |
width: 100%; |
426 | 432 |
vertical-align: top; |
427 | 433 |
background-color: white; |
428 | 434 |
} |
429 |
/* line 327, ../sass/cdm.scss */
|
|
435 |
/* line 330, ../sass/cdm.scss */
|
|
430 | 436 |
.derived-unit-details-grid table.details-table thead { |
431 | 437 |
border-bottom: thin solid #dedede; |
432 | 438 |
} |
433 |
/* line 330, ../sass/cdm.scss */
|
|
439 |
/* line 333, ../sass/cdm.scss */
|
|
434 | 440 |
.derived-unit-details-grid table.details-table tbody { |
435 | 441 |
background-color: white; |
436 | 442 |
} |
437 |
/* line 332, ../sass/cdm.scss */
|
|
443 |
/* line 335, ../sass/cdm.scss */
|
|
438 | 444 |
.derived-unit-details-grid table.details-table tbody .label { |
439 | 445 |
text-align: right; |
440 | 446 |
white-space: nowrap; |
441 | 447 |
border-right: thin solid #dedede; |
442 | 448 |
width: 50%; |
443 | 449 |
} |
444 |
/* line 339, ../sass/cdm.scss */
|
|
450 |
/* line 342, ../sass/cdm.scss */
|
|
445 | 451 |
.derived-unit-details-grid table.details-table td, .derived-unit-details-grid table.details-table th { |
446 | 452 |
padding-right: 11.2px; |
447 | 453 |
padding-left: 11.2px; |
448 | 454 |
} |
449 | 455 |
|
450 |
/* line 345, ../sass/cdm.scss */
|
|
456 |
/* line 348, ../sass/cdm.scss */
|
|
451 | 457 |
.derived-unit-details-grid { |
452 | 458 |
display: grid; |
453 | 459 |
grid-column-gap: 11.2px; |
454 | 460 |
grid-row-gap: 11.2px; |
455 | 461 |
} |
456 | 462 |
@media all and (max-width: 659px) { |
457 |
/* line 345, ../sass/cdm.scss */
|
|
463 |
/* line 348, ../sass/cdm.scss */
|
|
458 | 464 |
.derived-unit-details-grid { |
459 | 465 |
grid-template-columns: repeat(1, 1fr); |
460 | 466 |
} |
461 | 467 |
} |
462 | 468 |
@media all and (min-width: 660px) { |
463 |
/* line 345, ../sass/cdm.scss */
|
|
469 |
/* line 348, ../sass/cdm.scss */
|
|
464 | 470 |
.derived-unit-details-grid { |
465 | 471 |
grid-template-columns: repeat(2, 1fr); |
466 | 472 |
} |
467 | 473 |
} |
468 |
/* line 355, ../sass/cdm.scss */
|
|
474 |
/* line 358, ../sass/cdm.scss */
|
|
469 | 475 |
.derived-unit-details-grid dl { |
470 | 476 |
margin: 0; |
471 | 477 |
} |
... | ... | |
473 | 479 |
/* |
474 | 480 |
* Map |
475 | 481 |
*/ |
476 |
/* line 364, ../sass/cdm.scss */
|
|
482 |
/* line 367, ../sass/cdm.scss */
|
|
477 | 483 |
.openlayers-container { |
478 | 484 |
margin-top: 5px; |
479 | 485 |
margin-bottom: 5px; |
... | ... | |
482 | 488 |
/* |
483 | 489 |
* Registration page & items |
484 | 490 |
*/ |
485 |
/* line 374, ../sass/cdm.scss */
|
|
491 |
/* line 377, ../sass/cdm.scss */
|
|
486 | 492 |
.registration .type-status { |
487 | 493 |
font-weight: bold; |
488 | 494 |
} |
489 |
/* line 378, ../sass/cdm.scss */
|
|
495 |
/* line 381, ../sass/cdm.scss */
|
|
490 | 496 |
.registration .registration-date-and-institute { |
491 | 497 |
color: #999; |
492 | 498 |
} |
493 |
/* line 384, ../sass/cdm.scss */
|
|
499 |
/* line 387, ../sass/cdm.scss */
|
|
494 | 500 |
.registration .published-name .TaxonName .name { |
495 | 501 |
font-weight: bold; |
496 | 502 |
} |
497 |
/* line 388, ../sass/cdm.scss */
|
|
503 |
/* line 391, ../sass/cdm.scss */
|
|
498 | 504 |
.registration .typified-name .cdm\:TaxonName { |
499 | 505 |
color: #999; |
500 | 506 |
} |
501 |
/* line 390, ../sass/cdm.scss */
|
|
507 |
/* line 393, ../sass/cdm.scss */
|
|
502 | 508 |
.registration .typified-name .cdm\:TaxonName a { |
503 | 509 |
color: #999; |
504 | 510 |
} |
505 |
/* line 393, ../sass/cdm.scss */
|
|
511 |
/* line 396, ../sass/cdm.scss */
|
|
506 | 512 |
.registration .typified-name .cdm\:TaxonName .TaxonName .name { |
507 | 513 |
font-weight: bold; |
508 | 514 |
} |
509 |
/* line 399, ../sass/cdm.scss */
|
|
515 |
/* line 402, ../sass/cdm.scss */
|
|
510 | 516 |
.registration .registration-summary .registered_name .name { |
511 | 517 |
font-weight: bold; |
512 | 518 |
} |
513 |
/* line 402, ../sass/cdm.scss */
|
|
519 |
/* line 405, ../sass/cdm.scss */
|
|
514 | 520 |
.registration .registration-summary .referenced_typified_name { |
515 | 521 |
color: #999; |
516 | 522 |
} |
517 |
/* line 405, ../sass/cdm.scss */
|
|
523 |
/* line 408, ../sass/cdm.scss */
|
|
518 | 524 |
.registration .registration-summary .label { |
519 | 525 |
font-weight: bold; |
520 | 526 |
} |
... | ... | |
522 | 528 |
/* |
523 | 529 |
* Theme settings page |
524 | 530 |
*/ |
525 |
/* line 416, ../sass/cdm.scss */
|
|
531 |
/* line 419, ../sass/cdm.scss */
|
|
526 | 532 |
#system-theme-settings .image-preview { |
527 | 533 |
width: 600px; |
528 | 534 |
max-height: 150px; |
529 | 535 |
overflow: auto; |
530 | 536 |
} |
531 |
/* line 420, ../sass/cdm.scss */
|
|
537 |
/* line 423, ../sass/cdm.scss */
|
|
532 | 538 |
#system-theme-settings .image-preview img { |
533 | 539 |
max-width: none; |
534 | 540 |
/* reset style in mormalize.scss */ |
... | ... | |
539 | 545 |
* |
540 | 546 |
* using the same media queries here as in layout/_responsive.scss |
541 | 547 |
*****************************************************************************************/ |
542 |
/* line 433, ../sass/cdm.scss */
|
|
548 |
/* line 436, ../sass/cdm.scss */
|
|
543 | 549 |
#classification-breadcrumbs { |
544 | 550 |
font-size: 1.5em; |
545 | 551 |
line-height: 1.5em; |
546 | 552 |
} |
547 | 553 |
|
548 | 554 |
@media all and (min-width: 960px) { |
549 |
/* line 444, ../sass/cdm.scss */
|
|
555 |
/* line 447, ../sass/cdm.scss */
|
|
550 | 556 |
#classification-breadcrumbs { |
551 | 557 |
font-size: 1em; |
552 | 558 |
} |
... | ... | |
554 | 560 |
/*************************** |
555 | 561 |
* TESTING ONLY 2020-02-20 |
556 | 562 |
*/ |
557 |
/* line 452, ../sass/cdm.scss */
|
|
563 |
/* line 455, ../sass/cdm.scss */
|
|
558 | 564 |
.font-noto { |
559 | 565 |
font-family: "Noto Sans", sans-serif !important; |
560 | 566 |
} |
themes/zen_dataportal/css/styles.css | ||
---|---|---|
2428 | 2428 |
margin-top: -11.2px; |
2429 | 2429 |
color: #7c7c7c; |
2430 | 2430 |
} |
2431 |
/* line 273, ../sass/cdm.scss */ |
|
2432 |
div.derived-unit-tree .focused_item, |
|
2433 |
ul.derived-unit-sub-tree .focused_item, |
|
2434 |
ul.derived-unit-sub-tree ul .focused_item { |
|
2435 |
font-weight: bold; |
|
2436 |
} |
|
2431 | 2437 |
|
2432 |
/* line 275, ../sass/cdm.scss */
|
|
2438 |
/* line 278, ../sass/cdm.scss */
|
|
2433 | 2439 |
div.derived-unit-tree-root .unit-content-wrapper { |
2434 | 2440 |
border-left: 3px dotted #dedede; |
2435 | 2441 |
margin-left: 3.2px; |
2436 | 2442 |
} |
2437 | 2443 |
|
2438 |
/* line 281, ../sass/cdm.scss */
|
|
2444 |
/* line 284, ../sass/cdm.scss */
|
|
2439 | 2445 |
ul.derived-unit-sub-tree ul { |
2440 | 2446 |
margin-left: 1.0em; |
2441 | 2447 |
} |
2442 |
/* line 284, ../sass/cdm.scss */
|
|
2448 |
/* line 287, ../sass/cdm.scss */
|
|
2443 | 2449 |
ul.derived-unit-sub-tree li { |
2444 | 2450 |
position: relative; |
2445 | 2451 |
margin-left: 0; |
... | ... | |
2448 | 2454 |
line-height: 22.4px; |
2449 | 2455 |
border-left: 3px dotted #dedede; |
2450 | 2456 |
} |
2451 |
/* line 294, ../sass/cdm.scss */
|
|
2457 |
/* line 297, ../sass/cdm.scss */
|
|
2452 | 2458 |
ul.derived-unit-sub-tree li:last-child { |
2453 | 2459 |
border-left: none; |
2454 | 2460 |
} |
2455 |
/* line 296, ../sass/cdm.scss */
|
|
2461 |
/* line 299, ../sass/cdm.scss */
|
|
2456 | 2462 |
ul.derived-unit-sub-tree li:last-child .unit-header, ul.derived-unit-sub-tree li:last-child .unit-content { |
2457 | 2463 |
margin-left: 3px; |
2458 | 2464 |
} |
2459 |
/* line 300, ../sass/cdm.scss */
|
|
2465 |
/* line 303, ../sass/cdm.scss */
|
|
2460 | 2466 |
ul.derived-unit-sub-tree li:before { |
2461 | 2467 |
position: absolute; |
2462 | 2468 |
top: 3.2px; |
... | ... | |
2470 | 2476 |
content: ""; |
2471 | 2477 |
display: inline-block; |
2472 | 2478 |
} |
2473 |
/* line 312, ../sass/cdm.scss */
|
|
2479 |
/* line 315, ../sass/cdm.scss */
|
|
2474 | 2480 |
ul.derived-unit-sub-tree li:last-child:before { |
2475 | 2481 |
border-left: 3px dotted #dedede; |
2476 | 2482 |
} |
2477 | 2483 |
|
2478 |
/* line 317, ../sass/cdm.scss */
|
|
2484 |
/* line 320, ../sass/cdm.scss */
|
|
2479 | 2485 |
div.derived-unit-tree table.details-table { |
2480 | 2486 |
font-size: smaller; |
2481 | 2487 |
} |
2482 | 2488 |
|
2483 |
/* line 322, ../sass/cdm.scss */
|
|
2489 |
/* line 325, ../sass/cdm.scss */
|
|
2484 | 2490 |
.derived-unit-details-grid table.details-table { |
2485 | 2491 |
margin: 0; |
2486 | 2492 |
width: 100%; |
2487 | 2493 |
vertical-align: top; |
2488 | 2494 |
background-color: white; |
2489 | 2495 |
} |
2490 |
/* line 327, ../sass/cdm.scss */
|
|
2496 |
/* line 330, ../sass/cdm.scss */
|
|
2491 | 2497 |
.derived-unit-details-grid table.details-table thead { |
2492 | 2498 |
border-bottom: thin solid #dedede; |
2493 | 2499 |
} |
2494 |
/* line 330, ../sass/cdm.scss */
|
|
2500 |
/* line 333, ../sass/cdm.scss */
|
|
2495 | 2501 |
.derived-unit-details-grid table.details-table tbody { |
2496 | 2502 |
background-color: white; |
2497 | 2503 |
} |
2498 |
/* line 332, ../sass/cdm.scss */
|
|
2504 |
/* line 335, ../sass/cdm.scss */
|
|
2499 | 2505 |
.derived-unit-details-grid table.details-table tbody .label { |
2500 | 2506 |
text-align: right; |
2501 | 2507 |
white-space: nowrap; |
2502 | 2508 |
border-right: thin solid #dedede; |
2503 | 2509 |
width: 50%; |
2504 | 2510 |
} |
2505 |
/* line 339, ../sass/cdm.scss */
|
|
2511 |
/* line 342, ../sass/cdm.scss */
|
|
2506 | 2512 |
.derived-unit-details-grid table.details-table td, .derived-unit-details-grid table.details-table th { |
2507 | 2513 |
padding-right: 11.2px; |
2508 | 2514 |
padding-left: 11.2px; |
2509 | 2515 |
} |
2510 | 2516 |
|
2511 |
/* line 345, ../sass/cdm.scss */
|
|
2517 |
/* line 348, ../sass/cdm.scss */
|
|
2512 | 2518 |
.derived-unit-details-grid { |
2513 | 2519 |
display: grid; |
2514 | 2520 |
grid-column-gap: 11.2px; |
2515 | 2521 |
grid-row-gap: 11.2px; |
2516 | 2522 |
} |
2517 | 2523 |
@media all and (max-width: 659px) { |
2518 |
/* line 345, ../sass/cdm.scss */
|
|
2524 |
/* line 348, ../sass/cdm.scss */
|
|
2519 | 2525 |
.derived-unit-details-grid { |
2520 | 2526 |
grid-template-columns: repeat(1, 1fr); |
2521 | 2527 |
} |
2522 | 2528 |
} |
2523 | 2529 |
@media all and (min-width: 660px) { |
2524 |
/* line 345, ../sass/cdm.scss */
|
|
2530 |
/* line 348, ../sass/cdm.scss */
|
|
2525 | 2531 |
.derived-unit-details-grid { |
2526 | 2532 |
grid-template-columns: repeat(2, 1fr); |
2527 | 2533 |
} |
2528 | 2534 |
} |
2529 |
/* line 355, ../sass/cdm.scss */
|
|
2535 |
/* line 358, ../sass/cdm.scss */
|
|
2530 | 2536 |
.derived-unit-details-grid dl { |
2531 | 2537 |
margin: 0; |
2532 | 2538 |
} |
... | ... | |
2534 | 2540 |
/* |
2535 | 2541 |
* Map |
2536 | 2542 |
*/ |
2537 |
/* line 364, ../sass/cdm.scss */
|
|
2543 |
/* line 367, ../sass/cdm.scss */
|
|
2538 | 2544 |
.openlayers-container { |
2539 | 2545 |
margin-top: 10px; |
2540 | 2546 |
margin-bottom: 10px; |
... | ... | |
2543 | 2549 |
/* |
2544 | 2550 |
* Registration page & items |
2545 | 2551 |
*/ |
2546 |
/* line 374, ../sass/cdm.scss */
|
|
2552 |
/* line 377, ../sass/cdm.scss */
|
|
2547 | 2553 |
.registration .type-status { |
2548 | 2554 |
font-weight: bold; |
2549 | 2555 |
} |
2550 |
/* line 378, ../sass/cdm.scss */
|
|
2556 |
/* line 381, ../sass/cdm.scss */
|
|
2551 | 2557 |
.registration .registration-date-and-institute { |
2552 | 2558 |
color: #999; |
2553 | 2559 |
} |
2554 |
/* line 384, ../sass/cdm.scss */
|
|
2560 |
/* line 387, ../sass/cdm.scss */
|
|
2555 | 2561 |
.registration .published-name .TaxonName .name { |
2556 | 2562 |
font-weight: bold; |
2557 | 2563 |
} |
2558 |
/* line 388, ../sass/cdm.scss */
|
|
2564 |
/* line 391, ../sass/cdm.scss */
|
|
2559 | 2565 |
.registration .typified-name .cdm\:TaxonName { |
2560 | 2566 |
color: #999; |
2561 | 2567 |
} |
2562 |
/* line 390, ../sass/cdm.scss */
|
|
2568 |
/* line 393, ../sass/cdm.scss */
|
|
2563 | 2569 |
.registration .typified-name .cdm\:TaxonName a { |
2564 | 2570 |
color: #999; |
2565 | 2571 |
} |
2566 |
/* line 393, ../sass/cdm.scss */
|
|
2572 |
/* line 396, ../sass/cdm.scss */
|
|
2567 | 2573 |
.registration .typified-name .cdm\:TaxonName .TaxonName .name { |
2568 | 2574 |
font-weight: bold; |
2569 | 2575 |
} |
2570 |
/* line 399, ../sass/cdm.scss */
|
|
2576 |
/* line 402, ../sass/cdm.scss */
|
|
2571 | 2577 |
.registration .registration-summary .registered_name .name { |
2572 | 2578 |
font-weight: bold; |
2573 | 2579 |
} |
2574 |
/* line 402, ../sass/cdm.scss */
|
|
2580 |
/* line 405, ../sass/cdm.scss */
|
|
2575 | 2581 |
.registration .registration-summary .referenced_typified_name { |
2576 | 2582 |
color: #999; |
2577 | 2583 |
} |
2578 |
/* line 405, ../sass/cdm.scss */
|
|
2584 |
/* line 408, ../sass/cdm.scss */
|
|
2579 | 2585 |
.registration .registration-summary .label { |
2580 | 2586 |
font-weight: bold; |
2581 | 2587 |
} |
... | ... | |
2583 | 2589 |
/* |
2584 | 2590 |
* Theme settings page |
2585 | 2591 |
*/ |
2586 |
/* line 416, ../sass/cdm.scss */
|
|
2592 |
/* line 419, ../sass/cdm.scss */
|
|
2587 | 2593 |
#system-theme-settings .image-preview { |
2588 | 2594 |
width: 600px; |
2589 | 2595 |
max-height: 150px; |
2590 | 2596 |
overflow: auto; |
2591 | 2597 |
} |
2592 |
/* line 420, ../sass/cdm.scss */
|
|
2598 |
/* line 423, ../sass/cdm.scss */
|
|
2593 | 2599 |
#system-theme-settings .image-preview img { |
2594 | 2600 |
max-width: none; |
2595 | 2601 |
/* reset style in mormalize.scss */ |
... | ... | |
2600 | 2606 |
* |
2601 | 2607 |
* using the same media queries here as in layout/_responsive.scss |
2602 | 2608 |
*****************************************************************************************/ |
2603 |
/* line 433, ../sass/cdm.scss */
|
|
2609 |
/* line 436, ../sass/cdm.scss */
|
|
2604 | 2610 |
#classification-breadcrumbs { |
2605 | 2611 |
font-size: 1.5em; |
2606 | 2612 |
line-height: 1.5em; |
2607 | 2613 |
} |
2608 | 2614 |
|
2609 | 2615 |
@media all and (min-width: 960px) { |
2610 |
/* line 444, ../sass/cdm.scss */
|
|
2616 |
/* line 447, ../sass/cdm.scss */
|
|
2611 | 2617 |
#classification-breadcrumbs { |
2612 | 2618 |
font-size: 1em; |
2613 | 2619 |
} |
... | ... | |
2615 | 2621 |
/*************************** |
2616 | 2622 |
* TESTING ONLY 2020-02-20 |
2617 | 2623 |
*/ |
2618 |
/* line 452, ../sass/cdm.scss */
|
|
2624 |
/* line 455, ../sass/cdm.scss */
|
|
2619 | 2625 |
.font-noto { |
2620 | 2626 |
font-family: "Noto Sans", sans-serif !important; |
2621 | 2627 |
} |
themes/zen_dataportal/sass/cdm.scss | ||
---|---|---|
270 | 270 |
margin-top: -$derived-unit-details-table-gutter; |
271 | 271 |
color: $link-color-synonym; |
272 | 272 |
} |
273 |
.focused_item { |
|
274 |
font-weight: bold; |
|
275 |
} |
|
273 | 276 |
} |
274 | 277 |
div.derived-unit-tree-root { |
275 | 278 |
.unit-content-wrapper { |
Also available in: Unified diff
ref #7599 ref #6866 replacing _add_js_derivation_tree_focus_unit() by php code in class