/* ==UserStyle== @name Darklearning @namespace https://github.com/RiedleroD/userstyles-riedler @version 1.4.0 @description Darker version of Elearning @author Riedler @license MPL-2.0 @homepageURL https://github.com/RiedleroD/userstyles-riedler @updateURL https://github.com/RiedleroD/userstyles-riedler/raw/master/Darklearning.user.css @preprocessor stylus @var select FI "Focus Indicator"{ "Clamps":"C", "Braces":"B", "Underbelly":"U", "Flat":"F", "Round":"R", "Encased":"E" } @var select PBCS "ProgressBarCell Shape"{ "Pronounced":"pron", "Teardrop":"tear", "Round":"rnd", "Rounded":"rndd", "Soft Edges":"sft", "Rectangle":"rect", "Modifier debug":"debug_mod" } @var select PBCSm "ProgressBarCell Modifier"{ "Normal":"normal", "Horizontal flip":"hflip", "Vertical flip":"vflip", "Flip right side":"rflip", "Flip left side":"lflip", "Flip top side":"tflip", "Flip bottom side":"bflip", "Rotate 90°":"r90", "Rotate 180°":"r180", "Rotate 270°":"r270" } @var select NBCS "Course Navbar Cell Shape"{ "Rectangle":"rect", "Rounded":"rndd", "Soft Edges":"sft", "Round":"rnd", "Teardrop":"tear", "Pronounced":"pron", "Modifier debug":"debug_mod" } @var select NBCSm "Course Navbar Cell Modifier"{ "Normal":"normal", "Horizontal flip":"hflip", "Vertical flip":"vflip", "Flip right side":"rflip", "Flip left side":"lflip", "Flip top side":"tflip", "Flip bottom side":"bflip", "Rotate 90°":"r90", "Rotate 180°":"r180", "Rotate 270°":"r270" } @var select NBS "Course Navbar Shape"{ "Rectangle":"rect", "Soft Edges":"sft", "Rounded":"rndd", "Round":"rnd", "Teardrop":"tear", "Pronounced":"pron", "Modifier debug":"debug_mod" } @var select NBSm "Course Navbar Modifier"{ "Normal":"normal", "Horizontal flip":"hflip", "Vertical flip":"vflip", "Flip right side":"rflip", "Flip left side":"lflip", "Flip top side":"tflip", "Flip bottom side":"bflip", "Rotate 90°":"r90", "Rotate 180°":"r180", "Rotate 270°":"r270" } @var checkbox anon "Anonymity (for screenshots)" 0 @var select EICC "Embedded Image Color Correction"{ "Recommended":"invert(0.86) hue-rotate(180deg)", "Full":"invert(1) hue-rotate(180deg)", "Dim":"brightness(0.8)", "Debug":"invert(1) hue-rotate(180deg) saturate(100)", "Off":"none"} ==/UserStyle== */ //color variables bg0 = #000 bg1 = #151515 bg2 = #222 bg2_5= #252525 bg3 = #333 bg3_5= #383838 bg4 = #444 bg5 = #555 bg6 = #666 slc = #000 brd = #888 hbrd = #AAA dtxt = #151515 txt = #AAA htxt = #CCC hhtxt= #FFF mtxt = #899 lnk = #418BA4 hlnk = #6AC btn = #418BA4 hbtn = #6AC tru = #262 htru = #6C6 fals = #822 hfals= #F55 idk = #A50 hidk = #FA0 cal0 = #533 cal1 = #535 cal2 = #553 cal3 = #555 cal4 = #353 pb = #669 c0 = #66A c1 = #3C3 c2 = #CC3 c3 = #C33 c4 = #C73 irad = 0.3rem //input border radius crad = 0.5rem //card border radius svg_select_arrs="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' version='1'%3E%3Cpath fill='"+rgba(txt,0.999)+"' stroke='"+rgba(txt,0.999)+"' d='M8 1 2 6h12zM2 10H14L8 15z'/%3E%3C/svg%3E" barshape_base(name){ if name=="pron"{ return (0.5em) (0.5em) (1em) (1em) }else if name=="tear"{ return (0) (0.5em) (0.5em) (0.5em) }else if name=="rnd"{ return (1em) (1em) (1em) (1em) }else if name=="rndd"{ return (0.5em) (0.5em) (0.5em) (0.5em) }else if name=="sft"{ return (0.25em) (0.25em) (0.25em) (0.25em) }else if name=="rect"{ return (0) (0) (0) (0) }else if name=="debug_mod"{ return (0) (0.5em) (1em) (0.25em) }else{ return (100%) (100%) (100%) (100%) } } barshape(name,mod){ shape=barshape_base(name) if mod=="normal"{ return (shape[0]) (shape[1]) (shape[2]) (shape[3]) }else if mod=="hflip"{ return (shape[3]) (shape[2]) (shape[1]) (shape[0]) }else if mod=="vflip"{ return (shape[1]) (shape[0]) (shape[3]) (shape[2]) }else if mod=="rflip"{ return (shape[0]) (shape[2]) (shape[1]) (shape[3]) }else if mod=="lflip"{ return (shape[3]) (shape[1]) (shape[2]) (shape[0]) }else if mod=="tflip"{ return (shape[1]) (shape[0]) (shape[2]) (shape[3]) }else if mod=="bflip"{ return (shape[0]) (shape[1]) (shape[3]) (shape[2]) }else if mod=="r90"{ return (shape[3]) (shape[0]) (shape[1]) (shape[2]) }else if mod=="r180"{ return (shape[2]) (shape[3]) (shape[0]) (shape[1]) }else if mod=="r270"{ return (shape[1]) (shape[2]) (shape[3]) (shape[0]) }else{ return (100%) (0) (100%) (0) } } lbarshape(name,mod){ shape=barshape(name,mod) return (shape[0]) (0) (0) (shape[3]) } rbarshape(name,mod){ shape=barshape(name,mod) return (0) (shape[1]) (shape[2]) (0) } tbarshape(name,mod){ shape=barshape(name,mod) return (shape[0]) (shape[1]) (0) (0) } bbarshape(name,mod){ shape=barshape(name,mod) return (0) (0) (shape[2]) (shape[3]) } urlenc(x){ x=''+x//in case it's not a string, it is now. x=replace('%','%25',x) x=replace(' ','%20',x) x=replace('"','%22',x) x=replace('#','%23',x) x=replace('\$','%24',x) x=replace('&','%26',x) x=replace('\/','%2F',x) x=replace('<','%3C',x) x=replace('>','%3E',x) x=replace('=','%3F',x) return x } @-moz-document regexp("https?:\\/\\/elearning\\.tgm\\.ac\\.at(?!\\/archiv).*"), regexp("https?:\\/\\/moodle\\.necode\\.it(?!\\/archiv).*"){ /*text selections*/ ::-moz-selection{/*for firefox and derivatives*/ background:slc; color:htxt; } ::selection{/*for most other browsers that support this*/ background:slc; color:htxt; } /*scrollbars*/ ::-webkit-scrollbar, #page.drawers::-webkit-scrollbar{//scrollbars in chrome and safari &, &-track-piece{ background-color:bg1 !important; } &-corner, &-thumb{ background-color:bg3 !important; border-radius:0.4em; border:none; } } :root, #page.drawers{//actual standardized way, but ofc only Firefox implements it scrollbar-width:auto; scrollbar-color:bg3 bg1; } .visual-scroll-x,//so far only found in the quiz, but there's no telling if it's used in other places as well, so- .visual-scroll-y,{ scrollbar-color:bg3 bg1 !important; &::-webkit-scrollbar-thumb{ border:solid 1px bg0; } &::-webkit-scrollbar-track{ border:none; } } /*animations*/ @keyframes bg-pulse-grey{ 0%{background-color:brd} 50%{background-color:hbrd} 80%{background-color:hhbrd} 100%{background-color:brd} } /*body*/ :root,body,#page{ background-color:bg1 !important; color-scheme:dark; color:txt; } #page.drawers .main-inner{ border-radius:crad; overflow:visible; background-color:bg2; } #region-main{ background-color:#0000;//nothing to see here } /*navbar*/ .navbar{ background-color:bg2 !important; border-radius:0 0 0.5em 0.5em; } .navbar.fixed-top{ border-bottom:solid 1px bg1; & .navbar-brand .logo{ filter:invert(0.86) hue-rotate(180deg); } & .divider{ background-color:brd; border-left-color:brd !important; } } .primary-navigation .navigation .nav-link{ color:lnk; } .navbar-light .navbar-nav{ & .nav-link{ color:lnk; &:hover,&:focus{ color:hlnk; } } &:is(.show,.active) > .nav-link, & .nav-link:is(.show,.active){ color:dtxt; } } .moremenu, .dropdownmoremenu { & .nav-link{ &:hover,&:focus{ background-color:bg3; } &.active{ background-color:btn; color:dtxt; border-bottom:none; &:hover,&:focus{ background-color:hlnk; } } } & .nav-tabs{ background-color:#0000; } } /*secondary navbar*/ .nav-tabs { border: none; background-color: bg3; border-radius:barshape(NBS,NBSm); padding:0.25em; .nav-link { border-radius: barshape(NBCS,NBCSm); margin-right: 0.15em; border: none; height:100%; padding:.33rem .75rem; } .nav-link:hover { background-color: bg4; } .nav-link.active, .nav-item.show .nav-link { background-color: btn; color: dtxt; outline: none; } &.active:not(.active_tree_node) { cursor:default; pointer-events:none; } } .secondary-navigation .navigation{ border-top:none; border-bottom:none; height:auto; background-color:bg3; border-radius:barshape(NBS,NBSm); & .nav-tabs { & .nav-link { border-radius: barshape(NBCS,NBCSm); } & .nav-link:active, & .nav-link.active, & .nav-item.show .nav-link { background-color: btn; color: dtxt; border-color: btn; } } } /*dropdown-menu*/ .dropdown{ &-menu{ background-color:bg3; color:txt; } &-divider{ border-top-color:brd; } &-item{ &, &:focus{ background-color:#0000; color:lnk; } &:hover{ background-color:bg4; color:hlnk; } } &-header{ color:txt; } } /*notification drawer*/ .popover-region{ &-container{ background-color:bg3; border-color:brd; border-radius:irad;} &-toggle{ &::after{ border-bottom-color:bg3; } &::before{ border-bottom-color:brd; } } &-header-container{ border-bottom-color:brd; } &-footer-container{ background-color:bg3; border-top-color:brd; border-radius:0 0 irad irad; } } .content-item-container{ border-bottom-color:brd; color:txt; &:hover{ background-color:bg4; color:htxt;} &.unread{ background-color:bg4;} &.unread:hover{ background-color:bg5;} & .content-item-footer .timestamp{ color:txt;} } /*message drawer*/ .message-app{ background-color:bg2 !important; & .input-group{ &>input, &-text{ background-color:bg3 !important; border-color:brd; color:brd; } & .btn{ border-color:brd; } } & .form-control:focus{ color:txt;} & .card{ background-color:bg2;} & .border-bottom{ border-color:brd !important;} & .card.expanded .list-group .list-group-item{ background-color:bg3;} &>.header-container>.bg-white{ background-color:bg3 !important;} & .message{ &.send{ color:txt; background-color:bg5 !important; } &.received{ color:txt; background-color:bg4 !important; & .tail{ border-bottom-color:bg4; } } &.send .tail{ border-bottom-color:bg5; } &:is(.send,/.received) .time{ color:mtxt; } } & .nav-pills{ border:solid brd 1px; &>.nav-item>a{ &:not(.active){ background-color:bg3;} &.active{ background-color:bg4;} } } & .no-gutters{ outline:solid 1px bg3;} & .content-message-container>div[data-region="self-conversation-message-container"]{ background-color:bg4 !important;} &>div>div>div{ outline:solid 1px bg3;} & .col-8>.footer-container>.bg-white{ background-color:bg3 !important; border:none !important;} & button.btn-icon.btn-link{ &:hover, &:focus{ background-color:bg5 !important; } } & textarea.form-control{ background-color:bg4 !important; border:none; } & .header-container>.bg-white{ background-color:bg3 !important; border-color:bg3 !important; } & .body-container{ & div[data-region="settings"]{ background-color:bg2; } &>div.h-100.bg-white{ background-color:bg2 !important; } } &>.footer-container>.bg-white{ background-color:bg2 !important; border-color:brd !important; } &>.closewidget{ background-color:bg3 !important; &>a{ color:txt !important; } } & [data-region="contacts-container"]{ background-color:bg3;} & [data-region="non-contacts-container"]{ background-color:bg3; border-top-color:brd !important;} & div[data-region="all-contacts-container"] .text-right{ background-color:bg3; border-top: solid 1px brd; &:hover{ background-color:bg5; } } & div[data-region="confirm-dialogue"]{ background-color:bg3 !important; border:solid 1px brd; border-radius:crad; & .btn-primary{ &>span{ color:htxt !important; } &:hover>span{ color:hhtxt !important; } } } } /* generic color stuff */ .bg-secondary{ background-color:bg3 !important; /:is(a,button)&:is(:hover,/:focus){ background-color:bg4 !important; } } .bg-danger { background-color: rgba(fals,0.5) !important; } .bg-warning { background-color: rgba(idk,0.5) !important; &.text-dark { color: txt !important; } } /* other stuff */ .border{ border-color:brd !important; } .list-group-item{ background:bg3; border-color:brd; &-action{ color:txt; &:hover,&:focus{ background-color:bg4; color:htxt; } } } #conversation-actions-menu-button{ color:brd; &:hover{ background-color:bg5; } &:focus{ background-color:bg6; } } .custom-control{ &-label{ cursor:pointer; &::before{ background-color:brd; } } &-input{ &:checked~^[0]-label::before{ background-color:btn !important; border-color:btn !important; color:htxt; cursor:pointer; } &:not(:checked)~^[0]-label::before{ background-color:bg3 !important; border-color:brd; cursor:pointer; } } .custom-switch &-input{ &:checked~^[0]-label::after{ background-color:htxt; cursor:pointer; } &:not(:checked)~^[0]-label::after{ background-color:brd; cursor:pointer; } } .custom-radio &-input:checked~&-label::after{ background-image:radial-gradient(ellipse at center,htxt 0%,htxt 75%,#0000 75%); border-radius:100%; } } .custom-select{ color:txt; border-color:brd; border-radius:irad; background-color:bg3; background-image:url(svg_select_arrs); background-repeat:no-repeat; background-size:0.75em; cursor:pointer; &:disabled{ color:txt; background-color:bg3; background-image:none; &:hover{ color:txt; background-color:bg3; } } &:hover, &:focus{ background-color:bg3; color:txt; } &:focus{ border-color:btn; box-shadow:0 0 0 .2rem rgba(btn,.25); } } //see -> https://elearning.tgm.ac.at/user/index.php?id=5503 .form-autocomplete-suggestions{ background-color:bg1; border-color:brd; & li{ color:txt; &:hover,&:focus, &[aria-selected="true"]{ background-color:btn; color:htxt; } &[aria-selected="true"]{ box-shadow:0 0 0 0.2rem rgba(btn,0.33); } } } .form-autocomplete-downarrow{ color:txt; .form-control:hover+&{ color:htxt; } } .switch input{ &+label::before{ background-color:brd; } &:checked + label::before{ background-color:btn; } } /*footer*/ #page-footer{ color:txt !important; background-color:bg2 !important; border-top-left-radius:0.5em; border-top-right-radius:0.5em; & a{ color:lnk; &:hover, &:focus{ color:hlnk; } & .icon{ color:txt; } } >.footer-content-debugging { color: txt !important; background-color: #0000 !important; .table-responsive { width: fit-content; >table { display: grid; border: solid 1px brd; gap: 1px; tr, thead, tbody { display: contents; } td, th { border: none; outline: solid 1px brd; } thead>tr:first-of-type, >tr:first-of-type { >td, >th { grid-row: 1; } } .bg-danger { outline-color: hfals; z-index: 1; } .bg-warning { outline-color: hidk; z-index: 1; } } } } } /*sideblocks*/ .block{ &.card{ background-color:bg2; } &-timeline{ & .list-group-item{ background-color:#0000; &-action{ color:txt; &:hover, &:focus, &:active{ color:htxt; background-color:#0000; } } } & .event-name{ color:lnk; font-weight:500; &:hover{ color:hlnk; } } &>.border-bottom, & [data-region="event-list-content"]>[data-region="paged-content-container"]>[data-region="page-container"]>[data-region="paged-content-page"]>.border-bottom{ border-bottom:none !important; } & [data-region="event-list-container"]>div>img{ filter:invert(1) brightness(1.3); } } &_recentlyaccesseditems{ & [data-region="recentlyaccesseditems-view-content"]>div>img{ filter:invert(1) brightness(1.3); } } &_navigation, &_settings{ & .block_tree{ & .tree_item.branch, & ul, & p.hasicon{ padding-left:0; margin-left:0; } } } & .block-cards{ & a.coursename{ color:lnk; &:hover, &:focus{ color:hlnk; } } & span.categoryname{ color:txt; } & .btn-link{ color:txt; } & .btn.btn-link.btn-icon{ &:hover, &:focus{ background-color:bg4; } } } & .block-controls{ & .dropdown-toggle{ color:txt; } } } /*text*/ textarea.form-control{ background-color:bg5 !important; border:solid brd 1px; border-radius:irad; } .text-muted{ color:mtxt !important; } .text-primary{ color:btn !important; } caption{ //the original style makes them look muted, but that just seems wrong color:htxt; } /*links*/ a, a>span{ color:lnk } a:hover, a:focus{ &, &>span{ color:hlnk; } } .aalink, a.autolink, #page-footer a:not([class]), .arrow_link, a:not([class]), .activityinstance > a{ &.focus, &:focus{ color:hlnk; if FI=="C"{ background-color:#0000; box-shadow:0 -0.2rem brd,0 0.2rem brd; border-radius:0.3em; }else if FI=="B"{ background-color:#0000; box-shadow:none outline:solid .2rem brd; outline-offset:1px; clip-path:polygon( -.2rem -.2rem,.2rem -.2rem,.2rem 0,calc(100% - .2rem) 0, calc(100% - .2rem) -.2rem,calc(100% + .2rem) -.2rem,calc(100% + .2rem) calc(100% + .2rem), calc(100% - .2rem) calc(100% + .2rem),calc(100% - .2rem) 100%, .2rem 100%,.2rem calc(100% + .2rem),-.2rem calc(100% + .2rem)); }else if FI=="U"{ background-color:#0000; box-shadow:0 0.2rem 0 brd; border-radius:0.3em; }else if FI=="F"{ background-color:bg4; box-shadow:0 -.2rem bg4,0 .2rem brd; }else if FI=="R"{ background-color:#0000; box-shadow:none; outline:solid 1px brd; outline-offset:2px; border-radius:0.3em; }else if FI=="E"{ background-color:#0000; box-shadow:none; outline:solid 1px brd; outline-offset:2px; } } } .stretched-link::after{ //I have zero idea what this is supposed to do, but it messes with my style, so it gotta go display:none; } /*Text with inline background coloring*/ span[style*="background-color: rgb(125\, 159\, 211);"]{ background-color:btn !important; color:dtxt !important;} span[style*="background-color: rgb(255\, 207\, 53);"], span[style*="background-color: rgb(152\, 202\, 62);"]{ color:#000 !important;} span[style*="background-color: white;"]:not([class]){ background-color:#0000 !important;} span[style*="background-color: rgb(239\, 69\, 64);"]{ background-color:fals !important;} span[style*="color: rgb(239\, 69\, 64)"]{ color:hfals !important; &[style*="background-color: rgb(255\, 255\, 255)"]{ background-color:bg0 !important; } } span>span[style*="background-color: rgb(255\, 255\, 255)"], a[style*="background-color: rgb(255\, 255\, 255)"]{ background-color:bg2 !important; } span[style*="color: rgb(51\, 51\, 51)"]{ color:txt !important; } /*VPL badge*/ div[style="float:right; right:10px; padding:8px; background-color: white;text-align:center;"]{ background-color:bg3 !important; border-radius:irad; box-shadow:0 0 0.2rem 1px #000; transition:background-color 0.1s; cursor:pointer; &:hover{ background-color:bg4 !important; & a{ color:hlnk !important; } } & a:hover{ text-decoration:none; } } /*random shit again*/ .empty-placeholder-image-lg{ filter:invert(1); } .dndupload-arrow{ filter:invert(0.9) hue-rotate(180deg); } /*seems like a footer in some dialog boxes?*/ .yui3-skin-sam .yui3-panel .yui3-widget-ft{ background-color:#0000; } /*Buttons*/ .close, .moodle-dialogue-base .closebutton{ &:hover, &:focus{ color:txt; opacity:1; } } .btn{ border-radius:irad; color:txt; &:hover{ color:htxt; } &-outline-secondary{ border-color:brd; &:hover, &:focus{ background-color:bg4; border-color:bg6; color:htxt; } &:not(:disabled):not(.disabled):active, &:not(:disabled):not(.disabled).active, .show > &.dropdown-toggle{ background-color:brd; &,&>span{ color:dtxt; } } } &-outline-success{ border-color:tru; color:txt; &:hover{ background-color:tru; border-color:tru; color:htru; } &:not(:disabled):not(.disabled):active{ background-color:htru; border-color:htru; color:dtxt; } } &-success{ background-color:tru; border-color:tru; color:htru; &:focus,&.focus{ border-color:htru; color:htru; background-color:tru; box-shadow:none; } &:hover{ background-color:htru; color:tru; border-color:htru; } } &-secondary{ background-color:#FFF2; color:txt; border:none; &:hover{ background-color:#FFF4; color:htxt; border-color:brd;} &:focus, &.focus{ box-shadow:inset 0 0.1em 0 0 hbrd; outline:solid 1px brd; outline-offset:1px; background-color:brd; color:dtxt;} &.disabled, &:disabled{ background-color:bg5; color:txt;} } &-primary{ color:dtxt !important; background-color:btn; border:none; &:hover, &:not(:disabled):not(.disabled):active, &:not(:disabled):not(.disabled).active, .show>&.dropdown-toggle{ color:dtxt; background-color:hbtn; } &.close:hover>span{//TODO: find out where this is used color:hhtxt !important; } &:focus, &.focus{ outline:none; box-shadow:0 0 1em hbtn; background-color:hbtn; color:dtxt; } &:focus-visible{ outline:solid 1px hbtn; box-shadow:inset 0 0 0 1px dtxt; &:focus{ box-shadow:inset 0 0 0 1px dtxt,0 0 1em hbtn; } } &:disabled, &.disabled{ background-color:btn; } } &-light{ color:txt; &:hover{ color:lnk; } &.focus, &:focus{ color:hlnk; } &:not(:disabled):not(.disabled):active, &:not(:disabled):not(.disabled).active, .show > &.dropdown-toggle{ color:hlnk; } } &.btn-icon { &.icons-collapse-expand { background-color: bg2; color: btn; &:hover { outline-color: btn; } } &:hover, &:focus{ background-color: bg3; } } &-link{ color:lnk; &:hover{ color:hlnk; } } &:disabled, &.disabled{ opacity:1; filter:grayscale(0.25) brightness(0.75) contrast(0.75); } } .activity-add, .block-add{ background-color:btn; color:dtxt; border:none; &:hover,&:focus{ color:dtxt; background-color:hbtn; text-decoration:none; } } //pagination used in recentlyaccessedcourses on dashboard .pagination>.page-item{ & .page-link{ background-color:bg4; border-color:#0000; color:htxt; &:focus{ box-shadow:none; z-index:0; color:lnk; } &:hover{ background-color:bg5; border-color:brd; color:htxt; z-index:3; } } &.active, &.disabled{ & .page-link{ cursor:default; background-color:brd; &>span{ color:txt; } } } } .preference-state-status-container>span{ &.on-text, &.off-text{ color:bg1 !important; } } .hover-tooltip{ background-color:bg3 !important; border: solid 1px brd !important; &::after{ border-top-color:bg3 !important; filter:drop-shadow(0 1px 0 brd); } } #goto-top-link>a.btn{ background-color:bg3; border:none; box-shadow:0 0 0.2rem 1px bg0; transform:translate(-50%,-100%); &:hover{ background-color:bg4; } &:focus{ outline:none; box-shadow:0 0 0.2rem 1px lnk; } &>.icon{ margin-right:0; } } /*drawer handle buttons*/ .drawer-toggles .drawer-toggler .btn{ background-color:bg3; &:hover{color:txt} } /*Dropdown menus*/ .dropdown-item:active,.dropdown-item.active{ background-color:bg4;} /*Some Settings tables*/ .preferences-container .preference-table{//https://elearning.tgm.ac.at/message/notificationpreferences.php display:grid; width:90%; margin:0 auto; padding:1em 2em; grid-template-columns:10fr 1fr 1fr; //NOTE: I haven't found any preftables that aren't three columns wide, but they might exist border:none; background-color:bg3; border-radius:crad; overflow:clip; & thead, & tbody, & tr{ display:contents; } & th, & td, & tr td:not(:first-child){ width:auto; white-space:nowrap; border:none; } & tr th{ border-left:none; } & thead th{ background-color:bg4; margin:-1em -2em 0 -2em; padding-top:1.5em; border-bottom:solid 1px bg1; } & tbody th[colspan="3"]{ grid-column:1/4; border-top:solid 1px brd; } & tbody tr:first-child th[colspan="3"]{ border-top:none; } & tr.loading::before{ display:none; } & .preference-state.loading{ &>.custom-control{ display:none; } &::before{ display:inline-block; width:1em; height:1em; } } } /*php-generated code block with colors without classes*/ div[style="background: #ffffff; overflow:auto;width:auto;border:solid gray;border-width:.1em .1em .1em .8em;padding:.2em .6em;"]{ background-color:bg0 !important; & span[style*="color: #000080"]{ color:c0 !important; } & span[style*="color: #008800"]{ color:c1 !important; } & span[style*="color: #0000FF"]{ color:c2 !important; } & span[style*="color: #FF0000"]{ color:c3 !important; } } div[style="background-color: #e6e6e6; font-size: 0.75em; padding: 4px;"]{ background-color:bg3 !important; } /*tooltips: popups that pop up when you hover over stuff with set tooltips*/ .tooltip{ &>&-inner{ background-color:bg3; color:txt; border:solid 1px bg0; border-radius:0.25em; margin-left:-1px; } &>.arrow::before{ border-right-color:bg3; filter:drop-shadow(-1px 0 0 bg0); } } /*popovers: the same, but with more complex content and a very annoying arrow*/ .popover{ background-color:bg1; color:txt; border:solid 1px bg4; border-radius:irad; &-header{ background-color:bg2; border-bottom-color:#0000; border-radius:0.5em 0.5em 0 0; color:htxt !important; } &-body{ color:txt; border-radius:0.5em; } & .border-bottom{ border-bottom-color:bg4 !important; } } .bs-popover{ //see https://elearning.tgm.ac.at/calendar/view.php?view=month &-top>.arrow, &-auto[x-placement^="top"]>.arrow{ &::after{ border-top-color:bg1; } &::before{ border-top-color:bg4; } } //see above link &-bottom, &-auto[x-placement^="bottom"]{ & .popover-header::before{ border-bottom:solid 0.1em bg2; } &>.arrow::after{ border-bottom-color:bg2; } &>.arrow::before{ border-bottom-color:bg4; } } //see https://elearning.tgm.ac.at/course/view.php?id=5454§ion=1 &-left>.arrow, &-auto[x-placement^="left"]>.arrow{ &::after{ border-left-color:bg1; } &::before{ border-left-color:bg4; } } //TODO: find out where this is used &-right>.arrow, &-auto[x-placement^="right"]>.arrow{ &::after{ border-right-color:bg1; } &::before{ border-right-color:bg4; } } } /*Manually colored tables*/ table[bgcolor="grey"]{ background-color:bg4; } th[style*="background-color: rgb(146\, 208\, 80)"]{ background-color:tru !important; } th[style*="background-color: #fef65b"]{ background-color:idk !important; } /*sidedrawer*/ .drawer{ background-color:bg2; } .courseindex .courseindex-item{ &:hover, &:focus, &:is(:hover,/:focus) .courseindex-link{ color:txt; } .courseindex-chevron span, .courseindex-link{ color:txt; &:hover{ color:htxt; } } & .completioninfo.completion_complete{ color:tru; } &.pageitem{ background-color:btn; &>.courseindex-link, &>.courseindex-chevron span{color:dtxt} &:hover,&:focus{ background-color:hbtn; &>.courseindex-link, &>.courseindex-chevron span{color:dtxt} } & .completioninfo{ color:dtxt; } } } /* Activites */ .activity { border-color: brd; } .activity-item:not(.activityinline){ border:none; } .path-mod .activity-header:not(:empty){ background-color:bg3; border-radius:0.5em; } .path-mod .activity-information .completion-info, .path-mod .activity-information .activity-dates{ border-bottom-color:brd; } /*Activity icon button thingies*/ .activityiconcontainer{ background-color:bg3; &.content{ background-color:c0; --f:invert(.9); --mbm:overlay; } &.communication{ background-color:c1; --f:invert(.5); --mbm:multiply; } &.collaboration{ background-color:c3; --f:invert(0.4); --mbm:multiply; } &.assessment{ background-color:c4; --f:invert(.85); --mbm:overlay; } &>img:is(.activityicon,/.icon){ mix-blend-mode:var(--mbm); filter:var(--f) !important; } &.modicon_studentquiz{ //the original image is kinda bad ngl --f:invert(1) hue-rotate(180deg) saturate(1.5) brightness(0.85); } } /*Misc*/ .otherstudent.highlight{ outline:none; color:htxt; } .resourcelinkdetails{ color:txt; filter:brightness(0.8); } #action-menu-toggle-0:hover .usertext{ color:hlnk !important;//TODO: fix this mess by removing the catch-all text colorator } .userinitials{ background-color:txt; color:dtxt; /#user-menu-toggle:hover &{background-color:htxt} } if(anon==1){ .userinitials{ font-size:0 !important; &::after{ font-size:1rem; content:"AN"; } &.size-100::after{ font-size:1.875rem; } } } .mform fieldset{ border-bottom-color:brd; } .matchtext{ background-color:hbtn !important; color:bg3 !important;} .card{ border-radius:crad; background-color:bg3; border:none; &-img{ filter:EICC;} &-footer{ background-color:bg3 !important; } &.rounded{ border-radius:crad !important; & .card-header{ border-radius:crad crad 0 0; } & .card-footer{ border-radius:0 0 crad crad; } } } .alert{ color:txt; &,//I hate moodle sometimes &-danger, &-info, &-success{ border-radius:crad; & a:link, & a:visited{ color:lnk; &:hover{color:hlnk} } } &-danger{ border:solid 1px hfals; background-color:rgba(fals,0.5); color:hfals; } &-warning{ border:solid 1px hidk; background-color:rgba(idk,0.5); } &-info{ border:solid 1px pb; background-color:rgba(pb,0.5); } &-success{ border:solid 1px htru; background-color:rgba(tru,0.5); color:htru; } &-secondary{ border:solid 1px brd; background-color:rgba(brd,0.5); color:htxt; } &>.close{ color:inherit; } } #page-mod-quiz-attempt #connection{ &-error{ background-color:fals; color:txt; } &-ok{ background-color:tru; color:txt; } } .close, .moodle-dialogue-base .closebutton{ text-shadow:none; opacity:1; color:txt; filter:none; transition:filter 0.2s; &:not(:disabled):not(.disabled):hover, &:not(:disabled):not(.disabled):focus{ opacity:1; filter:drop-shadow(0 0 0.1em #000); } } .yui3-button{ background-image:none;} div.comment-area textarea{ background-color:bg3; border:solid 1px brd; border-radius:irad; padding:0.25em; line-height:100%; color:txt !important;} ul.comment-list>li{ background-color:bg3 !important; border-radius:irad; & .text_to_html{ color:txt; } } .comment-delete>a{ &>i{ color:fals; filter:brightness(1.5); } &:hover>i{ color:fals; filter:brightness(2);} } #coursesearchbox{ background-color:bg3; border-color:brd; color:txt; } .table, table.collection, table.flexible, .generaltable{ & th, & td, & thead th{ border-color:brd; color:txt; } } .table-dark { background-color: bg2; } .generaltable tbody tr{ &:hover{ color:txt; background-color:#0000; } &:nth-of-type(2n+1){ background-color:#0000; } &:nth-of-type(2n){ background-color:rgba(#FFF, 0.02); } } .yui3-datatable{ & .yui3-datatable-header{ background-color:bg3 !important; text-shadow:none; color:txt !important; border-bottom:solid 1px brd; } & .yui3-datatable-cell, & .yui3-datatable-header{ border-left-color:brd; } & .yui3-datatable-sort-liner{ display:flex; align-items:space-between; padding-right:1em; & .yui3-datatable-sort-indicator{ background-image:url(svg_select_arrs); background-position:center right; background-size:100%; width:0.8em; height:0.8em; } } & .yui3-datatable-data>tr>td{ background-color:bg3 !important; } } #id_comments{ color:txt; } input[type="checkbox"]{ appearance:none; min-width:1em; max-width:1em; min-height:1em; max-height:1em; border:0.12em solid hbrd; border-radius:irad; color:txt; &:checked:after{ content:""; position:absolute; font: var(--fa-font-solid); font-size:85%; } } input[type="radio"]{ appearance:none; min-width:1em; max-width:1em; min-height:1em; max-height:1em; background-image:radial-gradient(#0000 50%,hbrd 60%,#0000 70%); background-size:1em 1em; &:checked{ background-image:radial-gradient(hbrd 30%, #0000 40%,#0000 50%,hbrd 60%,#0000 70%); } } input[type="file"]{ cursor:pointer;/*not default for some reason?*/ &::-webkit-file-upload-button{ background-color:bg4; color:txt; border:none; border-radius:irad; cursor:pointer; &:hover{ background-color:bg5; color:txt; } } } @supports (-moz-appearance:none){/*firefox-specific hack*/ input[type="file"]{ color:dtxt; filter:invert(0.8);} } .form-control{ border-radius:irad; background-color:bg3; border-color:brd; color:txt; &:disabled, &[readonly], &[readonly]:hover{ background-color:brd; color:dtxt; cursor:not-allowed; } &:hover, &:focus{ background-color:bg4; color:txt; } &:focus{ border-color:btn; box-shadow:0 0 0 .2rem rgba(btn,.25); } select&{ appearance:none; background-image:url(svg_select_arrs); background-repeat:no-repeat; background-position:right center; background-origin:content-box; background-size:0.75rem; padding-right:0.25rem; } } .input-group{ &>.form-control{ &, &.border-right-0{ border-radius:irad 0 0 irad; } &.border-left-0{ border-radius:0 irad irad 0; &.border-right-0{ border-radius:0; } } } &-prepend>span{ border-radius:irad 0 0 irad; } &-append{ border-radius:0 irad irad 0; overflow:hidden; &>.btn-primary{ border:none; border-radius:0; } } } .border-bottom{ border-bottom-color:brd !important;} .forumpost{ border-color:brd; border-radius:crad; } /*codeblocks*/ :not(pre)>code{ color:txt; background-color:bg1; outline:solid 2px bg0; font-family:Monospace; font-size:1.08em; padding:0 0.1em; } pre{ color:txt; background-color:bg1; border:solid 2px bg0; } .highlight{ outline:solid 1px hlnk;} #qrcode>img{ filter:none; background-color:#FFF; padding:4px; } /*Editor Atto*/ div.editor_atto{ & .icon{ //TODO: check if this is even used outside the toolbar filter:invert(1) hue-rotate(180deg); } &_content{ background-color:bg2 !important; border:none !important; border-bottom-left-radius:0.5em; border-bottom-right-radius:0.5em; resize:none; &_wrap{ border-color:brd !important; border:solid 1px; border-top:none; color:txt; background-color:bg3; border-bottom-left-radius:0.5em; border-bottom-right-radius:0.5em; } } &_toolbar{ background-color:bg2 !important; border-color:brd !important; border-top-left-radius:0.5em; border-top-right-radius:0.5em; & div.atto_group{ overflow:clip; } & button{ &:active, &.highlight{ background-image:none; background-color:bg4; & .icon::before{ color:htxt; } } &:hover{ background-image:none; background-color:bg4; & .icon::before{ color:htxt; } } &[disabled]{ opacity:1; background-color:brd; & .icon::before{ color:dtxt; } } & .icon { filter:none; color:txt; } &.atto_h5p_button>img { filter: invert(.65); } & + button{ border-left-color:brd; } } } &_notification .atto_{//TODO get url for this &info, &warning{ border-radius:0.5em; border-top-right-radius:0; border:solid 1px brd; margin-top:-1px; } &warning{ background-color:fals; } &info{ background-color:bg3; } } } .atto_group{ background-color:bg3 !important; border:none !important; &>button{ border-color:brd !important; } } /*Filemanager*/ .filemanager{ & .fp-navbar{ background-color:bg3; border-radius:crad crad 0 0; border:none; border-bottom:solid 1px brd; } & &-container{ background-color:bg3; border-radius: 0 0 crad crad; border:none !important; } & .yui3-datatable{ &-header{ border-bottom-color:brd !important; } &-even, &-odd{ & .yui3-datatable-cell{ background-color:bg2 !important; border-left-color:bg2 !important; } } } & .btn{ background-color:bg5; color:lnk; &:hover{ background-color:bg6; color:hlnk; } &:active{ background-color:brd !important; color:hlnk; } &>.icon{ vertical-align:middle; } } .moodle-dialogue & .fp-thumbnail{ border:none; min-width:112px; background-color:#0000; } & .fp-content:focus{ outline:none; } & .fp-treeview .fp-folder>tbody>tr>td{ background-color:bg3; } & .fp-pathbar .fp-path-folder{ background:none; &::before{ display:inline-block; width:0; content:""; font:normal normal normal 14px/1 FontAwesome; } } } .filepicker{ & .fp-navbar{ border:solid 1px brd; border-bottom:none; border-bottom-left-radius:0; border-bottom-right-radius:0; padding-bottom:0; } & .fp-content{ background-color:#0000; border:solid 1px brd; border-top:none; border-top-left-radius:0; border-top-right-radius:0; height:initial; padding-bottom:1em; } & .moodle-dialogue-bd{ min-height:20vh; max-height:80vh; padding-bottom:1em; overflow-y:auto; & .file-picker{ margin-bottom:1em; } } } .filepicker, .file-picker, .filemanager{ & .fp-viewbar{ // TODO: was this just the sidebar? background-color:bg5; border-radius:irad; overflow:hidden; &>.btn{ background-color:bg5; border-radius:0; color:lnk; &:focus{ outline:none; box-shadow:none; outline-offset:0; color:hlnk; } &:hover{ color:hlnk; background-color:bg6; } &.checked{ background-color:btn; &>.icon{ color:hlnk; } } } &:not(.disabled) a.checked{ color:hlnk; } } & .fp-info .fp-thumbnail{ border-radius:irad; box-shadow:0 0 0.5em bg0; } & .fp-thumbnail{ border:none; min-width:112px; background-color:#0000; border-bottom:none; &>img{ border:none; } } & .fp-iconview .fp-file{ box-shadow:0 0 0.5em bg0; border-radius:irad irad 0 0; &name{ background-color:bg3; border-top:none; border-radius: 0 0 irad irad; padding:0 0.1em 0.1em 0.1em; box-shadow:0 0 0.5em bg0; margin-bottom:0.5em; &-field{ padding-left:1em; margin-left:-1em; padding-right:1em; margin-top:-3px; margin-right:-1em; } } &:hover .fp-filename-field{ overflow:hidden; height:auto; } } } .fp-repo.nav-item.active>.nav-link { background-color: btn; & > span { color: dtxt; } } .dndupload-target{ background-color:bg3 !important;} /*ace editor*/ .ace-tm{ background-color:bg0; color:txt; & .ace_gutter{ background-color:bg2; color:txt; &-active-line{ background-color:bg3; color:htxt; } } & .ace_marker-layer .ace_active-line{ background-color:#FFF1; } & .ace_print-margin{ background-color:brd; } & .ace_cursor{ color:htxt; } & .ace_indent-guide{ background-image:none; border-right:solid 1px brd; } } .ui_wrapper[style*="border: 1px solid darkgrey"]{ border-color:brd !important;} /*Coderunner*/ coderunner{//TODO - seems to only partially work .que.& div{ &.^[0]-test-results.bad, &.pre_syntax_error, &.pre_question_error{ background-color:fals; &.precheck{ background:repeating-linear-gradient(0deg,rgba(hfals,0.5),rgba(fals,0.5) 8px,rgba(fals,0.5) 8px,rgba(hfals,0.5) 16px) } } &.^[0]-test-results{ color:txt; } } .que.& tr{ &.r0 td, &.r1 td{ background-color:bg3; } } #page-question-type-&, .que.&{ & table.^[0]-test-results, & table.^[0]examples{ & th, & td{ border-color:brd; } & .header{ background-color:bg4; } } & div.^[0]-test-results.good, & tr.^[0]-failed-test.fixed{ background-color:tru; &.precheck{ background:repeating-linear-gradient(0deg,rgba(htru,0.5),rgba(tru,0.5) 8px,rgba(tru,0.5) 8px,rgba(htru,0.5) 16px) } } & div.ui_wrapper{ background-color:bg1; } } } /*VPL IDE*/ //TODO: border radii #vpl_menu{ border-radius:0.25em 0.25em 0 0; } #vpl_tabs{ border-radius:0 0 0.25em 0.25em; } .ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default{ border:none; background:bg4; } .ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active, a.ui-button:active, .ui-button:active, .ui-button.ui-state-active:hover{ border:none; background:bg4; border-top:inset 1px brd; &>a{ color:hlnk !important; } } .ui-corner-all{ border-radius:0.25em; } .vpl_ide_tr{ height:auto !important; border-radius:0 0 0.25em 0.25em; background:bg3; } .ui-widget-header{ display:flex; border:none; background:bg3; } .ui-button{ border:none; background:bg4; margin:1px; margin-right:calc(0.1em + 1px); &:hover{ background:bg5; } } .ui-controlgroup-horizontal{ margin:0 calc(0.1em + 1px) 0 1px; & .ui-button{ margin-left:0; margin-right:0; } } .ui-widget.ui-widget-content{ border:solid 1px #0000; background:bg3; } .ui-widget-content{ color:txt; background:bg4; } .vpl_ide_file{ margin-top:0; } .vpl_ide_closeicon{ text-shadow:none; } //TODO: replace with custom icons .ui-state-active .ui-icon, .ui-button:active .ui-icon{ filter:brightness(2); } .ui-icon, .ui-widget-content .ui-icon{ filter:brightness(4); } .ui-state-hover .ui-icon, .ui-state-focus .ui-icon, .ui-button:hover .ui-icon, .ui-button:focus .ui-icon{ filter:brightness(2); } .ui-dialog{ & .ui-dialog-buttonpane button{ color:txt; border:solid 1px #0000; border-color:#0000;//because of a css technicality background:bg4; &:hover{ border-color:brd; } } & .ui-dialog-titlebar-close:hover{ border:none; background:#0000; } } /*Calendar*/ .maincalendar{ & .calendarmonth{ border-radius:0.5em; border-collapse:separate; td,th{ border:solid 1px brd; border-left:none; border-top:none; } & :not(thead+tbody)>tr:first-of-type>:is(th,td){ border-top:solid 1px brd; &:first-of-type{ border-top-left-radius:0.25em; } &:last-of-type{ border-top-right-radius:0.25em; } } & tr>:is(th,td):first-of-type{ border-left:solid 1px brd; } & tbody>tr:last-of-type>:is(td,th){ &:first-of-type{ border-bottom-left-radius:0.25em; } &:last-of-type{ border-bottom-right-radius:0.25em; } } & .clickable:hover{ background-color:bg3; } & td.dayblank{ background-color:bg4; } & th{ background-color:btn; border-color:btn !important; &>span{color:dtxt} } & td.today .day-number-circle{ background-color:bg3; color:txt; } /.path-mod-grouptool & .today, /.path-my & .today{ background-color:#0000; } } } section:not(#region-main) .block.block_calendar_month .maincalendar .calendartable.calendarmonth td.clickable:not(.today):hover .day-number-circle{ //wtf background-color:bg3; } calendarColors = {course:cal0,category:cal1,group:cal2,user:cal3,site:cal4,other:bg3} for $name,$color in calendarColors { .calendar_event_{$name}{ background-color:$color; --cl:lighten($color,30); /.maincalendar .calendarmonth ul li .calendar-circle&{ //misaligned, but whatever background-color:$color !important; border-color:var(--cl) !important; border-width:1px; } /.maincalendar &{ border-color:$color; } } } .block .calendar_filters li span i{ color:var(--cl) !important; } /*blockquotes*/ #page-content blockquote, aside > section blockquote{ border-left-color:btn; background-color:bg4; color:txt; border-radius:0 crad crad 0; } /*Replacement images + image manipulation*/ .atto_image_button_text-bottom.img-responsive, .atto_image_button_text-top.img-responsive,/*most likely embedded images in assignment descriptions*/ .qtext img,/*images in the question text, most of the time classless*/ img[src*="mod_page"],/*images with mod_page in the source url, most of the images in courses have this*/ .img-fluid,//probably mostly large images in modal lessons .region-main-content img:not([class]):not([src^="https://elearning.tgm.ac.at/theme/"]){/*images without class - a last resort, really*/ filter:EICC;} img[src$="elearning.tgm.ac.at/theme/image.php/classic/core/"][src$="/i/loading_small"]{ filter:invert(1); } .loading{ background-image:none !important; &:before{ content:"\00a0"; background-image:url("https://elearning.tgm.ac.at/theme/image.php/classic/core/123456/i/loading_small"); background-repeat:no-repeat; filter:invert(1); } } img[src="https://elearning.tgm.ac.at/theme/image.php/classic/core/1604966287/u/f1"]{ filter:brightness(0.39) contrast(2)} #spinning_wheel{ filter:invert(1) brightness(1.5); } img[src^="https://elearning.tgm.ac.at/theme/image.php/boost"]:is([src$="monologo"],/[src$="i/arrow-left"]){ filter:invert(0.8); } img[src^="https://elearning.tgm.ac.at/theme/image.php/boost/block_completion_progress/"][src$="/cross"]{ filter:invert(1) hue-rotate(180deg) contrast(0.75) saturate(1.5) brightness(0.9); } /*row where it displays what you've done and what you didn't. Normally only in course/view.php, but also in other places*/ .barRow{ & .progressBarCell{ border:none; border-left:solid 1px bg2; border-radius:0; &[style*="background-color:#73A839"]{ background-color:tru !important; } &[style*="background-color:#C71C22"]{ background-color:fals !important; } &[style*="background-color:#FFCC00"]{ background-color:idk !important; } } & .firstProgressBarCell{ border-right:none !important; border-left:none; border-radius:lbarshape(PBCS,PBCSm) !important; &.lastProgressBarCell{ border-radius:barshape(PBCS,PBCSm) !important; } } & .lastProgressBarCell{ border-radius:rbarshape(PBCS,PBCSm) !important; } } // don't ask .block_completion_progress{ & .barModeScroll, & .barModeSqueeze{ .progressBarCell{ border:none; margin-left:1px; &.completed{ background-color:tru; } &.submittedNotComplete{ background-color:idk; } &.notCompleted{ background-color:fals; } &:first-of-type{ border-radius:lbarshape(PBCS,PBCSm); margin-left:0; } &:last-of-type{ border-radius:rbarshape(PBCS,PBCSm); border-right:none; } &:only-of-type{ border-radius:barshape(PBCS,PBCSm); } } } } /*flexitour*/ span[data-flexitour="container"]{ &[x-placement="top"], &[x-placement="top-start"]{ & div[data-role="arrow"]::after{ border-top-color:currentColor; box-shadow:0 -0.5em currentColor; } } &[x-placement="bottom"], &[x-placement="bottom-start"]{ & div[data-role="arrow"]::after{ border-bottom-color:currentColor; box-shadow:0 0.5em currentColor; .format-tiles &{ color:lnk; } } } &[x-placement="right"], &[x-placement="right-start"]{ & div[data-role="arrow"]::after{ border-right-color:currentColor; } } &[x-placement="left"], &[x-placement="left-start"]{ & div[data-role="arrow"]::after{ border-left-color:currentColor; } } & div[data-role="arrow"]::after{ color:bg3; } & .modal-dialog .modal-content{ & .modal-header{ border-radius:crad crad 0 0; } & .modal-footer{ border-radius:0 0 crad crad; } } } /*badges*/ .badge, .automatic-completion-conditions .badge, .path-mod .automatic-completion-conditions .badge{ background-color:bg4; color:txt; padding:0 0.5em; border-radius:irad; mix-blend-mode:normal;//thanks &>i{ z-index:3; position:relative; text-shadow:0 0 1px #000; } &-info{ padding:0.25em 0.5em; } &>strong{ display:inline-block; margin-left:-0.5em; padding:0.25em 0.25em 0.25em 0.5em; border-radius:irad 0 0 irad; z-index:2; position:relative; text-shadow:0 0 1px #000; } &-secondary>strong, &>strong{ background-color:brd; color:dtxt; } &.alert-success{ background-image:linear-gradient(to right,tru 25%,#0000 25%); border:none; &>strong{ background-color:tru; color:htru; } &>i{ color:htru; } } &.alert-danger{ background-image:linear-gradient(to right,fals 25%,#0000 25%); border:none; &>strong{ background-color:fals; color:hfals; } &>i{ color:hfals; } } &.badge-light{ background-color:bg4 !important; } } /*highlightjs*/ .hljs{ background-color:bg1; color:txt; box-shadow:inset 0 0 0 2px bg0; &-doctag, &-keyword, &-formula{ color:c0; } &-string, &-regexp, &-addition, &-attribute, &-meta-string{ color:c1; } &-attr, &-variable, &-template-variable, &-type, &-selector-class, &-selector-attr, &-selector-pseudo, &-number{ color:c2; } &-section, &-name, &-selector-tag, &-deletion, &-subst{ color:c3; } &-built_in, &-class &-title{ color:c4; } } /* popup dialogue windows, e.g. when the session runs out and elearning tells you to login again */ .modal{ &-header{ background-color:bg3; } &-footer{ background-color:bg3; border-color:brd; } &-content{ background-color:bg3; border:none; border-radius:crad; } } .moodle-dialogue-base .moodle-dialogue-wrap{ background-color:bg3; border-color:brd; border-radius:crad; overflow:hidden; & .moodle-dialogue-hd.yui3-widget-hd{ color:txt;//resetting color:initial (fuck you) } } .moodle-dialogue-hd{//fixes titles that would otherwise extend outside the card word-break:break-word; } .modal-header, .moodle-dialogue-base .moodle-dialogue-wrap .moodle-dialogue-hd, .path-mod-assign [data-region="grade-panel"] .popout>.col-md-3{ border-color:brd; } /* search bars */ .simplesearchform{ & .btn-submit{ background-color:bg3; border-color:brd; border-left:none; border-radius:0 irad irad 0; transition:none; } &:hover .btn-submit{ background-color:bg4; } } /* genericocss, whatever that is */ .filter_generico_warning{ color:hidk; background-color:idk; } /*progress bar time descriptor*/ //TODO: restyle .progressBarCell>.nowDiv{ &>.icon{ display:none;} &.lastHalfNow{ background:url("data:image/svg+xml;utf-8,") no-repeat; background-position:5.5em 5px; padding-right:1.3em;} &.firstNow{ background:url("data:image/svg+xml;utf-8,") no-repeat; background-position:0em 5px; padding-left:1.3em; } } /* raw html codeblock generated by hilite.me */ div[style*="background: #ffffff"][style*="border: solid gray"][style*="border-width: .1em .1em .1em .8em"][style*="padding: .2em .6em"]{ background-color:bg0 !important; border-color:brd !important; border-radius:0 crad crad 0; & span{ &[style*="color: #000080"]{ color:c0 !important; } &[style*="color: #008000"]{ color:c1 !important; } &[style*="color: #ff0000"]{ color:c3 !important; } &[style*="color: #0000ff"]{ color:hbtn !important; } } } } @-moz-document regexp("https?:\\/\\/elearning\\.tgm\\.ac\\.at/my/.*"), regexp("https?:\\/\\/moodle\\.necode\\.it/my/.*") { .dashboard-card{ border-width:0; background-color:bg3; overflow:hidden; } .course{ &-info-container{ background-color:bg3; } &-menubtn{ &:hover,&:focus{ background-color:bg4 !important; } } &listitem{ background-color:bg2; border-color:#0000; border-top-color:brd; border-bottom-color:brd; } &-summaryitem{ background-color:bg3 !important; border:none !important; } } .block-myoverview>.container-fluid.p-0{ margin-top:1.5em; } //welcoming heading which unfortunately contains the user's first name if(anon){ #page-header>.w-100>.d-flex.align-items-center>h2.mb-3.mt-3{ font-size:0; &:after{ content:"Welcome back, Anon! 👋"; font-size:1.875rem; } } } } @-moz-document regexp("https?:\\/\\/elearning\\.tgm\\.ac\\.at\\/?(\\?.*)?$"), regexp("https?:\\/\\/elearning\\.tgm\\.ac\\.at\\/mod\\/forum\\/discuss\\.php.*"), regexp("https?:\\/\\/moodle\\.necode\\.it\\/?(\\?.*)?$"), regexp("https?:\\/\\/moodle\\.necode\\.it\\/mod\\/forum\\/discuss\\.php.*") { .sitelink{ filter:invert(1) hue-rotate(180deg);} #login_username, #login_password{ background-color:bg3 !important; color:txt !important;} .forumpost{ border-color:brd !important; border-radius:crad;} } @-moz-document regexp("https?:\\/\\/elearning\\.tgm\\.ac\\.at\\/login\\/index\\.php.*"), regexp("https?:\\/\\/moode\\.necode\\.it\\/login\\/index\\.php.*") { .mt-3{ color:txt;} img.img-fluid{ filter:invert(1) hue-rotate(180deg) brightness(0.9);} #modal{ &-content{background-color:bg2;} &-header{border-bottom:none;} &-footer{border-top:none;} } } @-moz-document regexp("https?:\\/\\/elearning\\.tgm\\.ac\\.at\\/course\\/view\\.php.*"), regexp("https?:\\/\\/moodle\\.necode\\.it\\/course\\/view\\.php.*") { #region-main{ background-color:bg2;} .section{ border-bottom-color:brd !important; & li.activity.hasinfo{ border-bottom-color:brd; } &.current::before{ border-color:btn; } } .course-section { .sectionname > a { color: htxt; } .section-item { border-color: brd; } } .progressEventInfo .iconInInfo{ /*Fixes a specific icon being distorted because someone forgot that width was set to 12px*/ width:1.2em; height:1.2em; } .description .course-description-item{ background-color:bg4; } /*These new tiles, ykwim*/ .tiles{ &>.tile, &>.section{ background-color:bg2 !important; } } .format-tiles{ & #header-overlay, & #window-overlay{ background-color:#888; mix-blend-mode:multiply; opacity:1; } & #page .course-content ul li.section.main{ background-color:bg2; } & li.activity button[data-action="change-completion-status"]{ &>.completion-icon{ outline:solid 3px #0000; transition:outline-color 300ms ease-in-out; border-radius:100%; } &:hover{ border-color:#0000; &>.completion-icon-y{ outline-color:rgba(htru,0.6); } &>.completion-icon-n{ outline-color:txt; } } } & button.tiles-top-button{ background-color:#0000; &:hover{ background-color:bg4; border-radius:irad; } } & .sectiontitle h2{ color:txt; } & .sectiontitle::after, & .tag-info{ background-color:tru; } & .course-content{ & ul.tiles .tile{ transition:background-color 0.1s ease-in-out,all 0.1s ease-in-out; cursor:pointer; &:hover{ transition:transform 0.1s ease-in-out } } & .section .activity:hover{ background-color:bg3; } & .tile-bg{ background-color:bg3; } } & ul.tiles .tile h3{ color:txt; } & .tile-icon{ position:relative;//no idea why this is needed } & .course-content ul.tiles .tile, & li.section:not(#section-0) .course-section-header{ border-top-color:btn; border-top-width:0.25em; box-shadow:0.1em 0.2em 0.5em 0 bg0; &:hover{ border-top-color:hbtn; } } /*activites in format tiles*/ & li.subtile.activity{ background-color:bg3; border:none; border-top:solid 0.25em; cursor:pointer; background-size:25% auto; border-radius:crad; &.page, &.url, &.resource{ border-top-color:c0; } &.modsecurestreaming, &.resource.mp4, &.url.video{ border-top-color:c1; } &.folder{ border-top-color:c2; } &.resource.pdf{ border-top-color:c3; } &.assign{ border-top-color:c4; } & .activitytype{ color:mtxt; } & a:not(.dropdown-item), /^[0] #page-content li.subtile.activity a:not(.dropdown-item){ color:txt; } & .activitytitle a{ background:linear-gradient(to bottom,bg4 85%,#0000); } &:hover{ background-size:25% auto; } } /* the arrows in format tile thingies */ /* possibly also applicable to .embed_cm_modal .embed_file_button */ & .course-content .single-section .navigation-arrows{ display:inline-flex; & .navigation-arrow{ transition:none; opacity:1; margin:0 0.25em; border-radius:irad; display:inline-flex; justify-content:center; align-items:center; &>.dir-rtl-hide{ display:flex; align-items:center; } &:not(.dimmed){ background-color:bg3; &:hover{ background-color:bg4; & .icon{ filter:brightness(1.2); } } } &.dimmed:hover{ background-color:#0000; } &:hover{ transform:none; text-decoration:none; } & .icon{ display:contents; } } } & .editor_atto_content_wrap{ & h1,& h2,& h3,& h4{ border-left-color:tru; } } /*completion checkboxes*/ & .completioncheckbox{ display:flex; border-color:brd; justify-content:center; align-items:center; transition:none; color:txt; & .icon{//why margin:0; width:auto !important; height:auto; color:inherit !important; } &.complete{ background-color:tru; border-color:tru; color:htru; } } & li.activity button[data-action="change-completion-status"]:hover{ border-color:brd; background-color:brd; transition:none; color:htxt !important; } & li.activity button[data-action="change-completion-status"].complete:hover{ border-color:htru; background-color:htru; color:tru !important; } /*some small fixes for https://elearning.tgm.ac.at/course/view.php?id=5836*/ & .badge-info{ background-color:bg4; } & .tile a .availabilityinfo, & .availabilityinfo .badge{ color:txt; } } .format-tiles ul.tiles .headerabovetiles button.selected, .headerabovetiles button:active, .headerabovetiles button:focus, .format-tiles .modal-header{ background-color:btn; &,& h5{ color:htxt; } } /*assignment wrappers*/ .activity-wrapper.activity>.activity-item:not(.activityinline){ background-color:bg3; border-radius:crad; } } @-moz-document regexp("https?:\\/\\/elearning\\.tgm\\.ac\\.at\\/user\\/files\\.php.*"), regexp("https?:\\/\\/moodle\\.necode\\.it\\/user\\/files\\.php.*") { .filemanager-container, .fp-navbar{ background-color:bg3; border:none !important;} a.btn-sm{ background-color:bg4; &:active, &.active, &:focus, &.checked{ background-color:bg6 !important; } } } @-moz-document regexp("https?:\\/\\/elearning\\.tgm\\.ac\\.at\\/grade\\/report\\/overview\\/index\\.php.*"), regexp("https?:\\/\\/moodle\\.necode\\.it\\/grade\\/report\\/overview\\/index\\.php.*") { thead>tr>th{ border-bottom:none !important;} table td, table th{ border-color:brd !important;} } @-moz-document regexp("https?:\\/\\/elearning\\.tgm\\.ac\\.at\\/message\\/output\\/popup\\/notifications\\.php.*"), regexp("https?:\\/\\/moodle\\.necode\\.it\\/message\\/output\\/popup\\/notifications\\.php.*") { .content-item-container{ background-color:bg2; color:txt; border-color:brd; &:first-child{ border-top-left-radius:0.25rem; } &.selected{ background-color:bg3; border-color:hbrd; color:htxt; } &.selector, &:hover{ &.content-item-footer .timestamp{ color:txt; } } } .notification-area{ border-color:brd; & .control-area{ border-right-color:brd; } & .content-area .header{ border-bottom-color:brd; } } } @-moz-document regexp("https?:\\/\\/elearning\\.tgm\\.ac\\.at\\/message\\/index\\.php.*"), regexp("https?:\\/\\/moodle\\.necode\\.it\\/message\\/index\\.php.*") { #region-main .border-right.h-100{ border-color:bg3 !important;} } @-moz-document regexp("https?:\\/\\/elearning\\.tgm\\.ac\\.at\\/mod\\/organizer\\/view\\.php.*"), regexp("https?:\\/\\/moodle\\.necode\\.it\\/mod\\/organizer\\/view\\.php.*") { #region-main .profile_tree>.node_category{ background-color:bg3; border-radius:crad;} #organizer_main_cointainer{ & span.countdown{ &_normal{ background-color:tru; color:htxt; } &_passed{ background-color:bg4; } &_critical{ background-color:fals; } } & tr.registered_slot td{ background-color:tru !important; color:htxt; } & table tr.past_due td{ background-color:bg4 !important; } } } @-moz-document regexp("https?:\\/\\/elearning\\.tgm\\.ac\\.at\\/mod\\/assign\\/view\\.php.*"), regexp("https?:\\/\\/moodle\\.necode\\.it\\/mod\\/assign\\/view\\.php.*") { /*Abgabestatus*/ .path-mod-assign .submissionsummarytable{ .c0{ width:auto; } td.submission{ &graded, &statussubmitted{ background-color:tru; color:htru; } ¬graded{ background-color:bg3; color:txt; } &statusdraft{ background-color:idk; color:hidk; } } td.latesubmission, td.overdue{ background-color:fals; color:hfals; &>font{ color:hfals; } } td.earlysubmission{ background-color:tru; color:htru; } } .feedbacktable, .submissionsummarytable{ display:grid; grid-template-columns:1fr 5fr; tr,tbody,thead,table, .table-responsive{ display:contents; } th,td{ border:none; margin-bottom:1px; } th{ background-color:bg4; } td{ background-color:bg3; } tr:first-of-type{ &>td, &>th{ &:first-child{ border-top-left-radius:crad; } &:last-child{ border-top-right-radius:crad; } } } tr:last-of-type{ &>td, &>th{ margin-bottom:0; &:first-child{ border-bottom-left-radius:crad; } &:last-child{ border-bottom-right-radius:crad; } } } } #jump-to-activity{ background-color:bg3; border-color:brd; color:txt;} /*Grading criteria in full assignment view*/ //see -> https://elearning.tgm.ac.at/mod/assign/view.php?id=43871 .gradingform_rubric .criteria>tbody{ border-radius:crad; overflow:hidden; border:solid 1px brd; } .gradingform_rubric .criterion{ border-color:brd; border-right:none; border-left:none; &.even{ border:none; background:#0000; & td{ background:bg4; &.description{ background:bg5; } } } &.odd{ & td{ background:bg3; &.description{ background:bg4; } } } &:last-of-type{ border-bottom:none; } & .levels .level{ border-left-color:brd; &.last{ border-right:none; } &.checked{ background:tru; border:none; border-left:solid 1px brd; & .score, & .score>span{ color:htru; } } & .score{ color:txt; } } & .remark{ border-left:solid 1px brd; } } /*Another grading criteria form*/ //see -> https://elearning.tgm.ac.at/mod/assign/view.php?id=208163 .gradingform_guide .criterion{ border:none; &.even{ background-color:#0000; &>td{background-color:bg3} } &.odd{background-color:bg4} &.first>td{ border-radius:irad irad 0 0; } &.last>td{ border-radius:0 0 irad irad; } & .criteriondescriptionscore{ background-color:bg6; color:dtxt; border-radius:50%; display:inline-block; width:1.5em; height:1.5em; vertical-align:baseline; text-align:center; padding:0.25em 0; line-height:1em; font-weight:bold; } } //annotated PDFs in assignments input[name="assignfeedback_editpdf_haschanges"]+.visibleifjs>a{ color:lnk; transition:none; &:hover{ color:hlnk; text-decoration:underline; } } .assignfeedback_editpdf_widget .pageheader{ background-color:bg3; border-color:brd; & .toolbar, & .navigation-search, & .navigation-expcol, & .navigation{ border-color:brd; overflow:hidden; background-color:#0000; } & .navigation button, & .navigation select + button{ border-color:brd; } & button:hover{ background-image:none; background-color:bg4; & img{ filter:brightness(1.2); } } select{ background-color:#0000; color:txt; &:hover{ background-color:bg4; color:htxt; } } } .assignfeedback_editpdf_widget .drawingregion{ background-color:bg3; border:none; } .assignfeedback_editpdf_commentsearch input[placeholder="Kommentare filtern..."]{ //style is copied from login text inputs //TODO: deduplicate background-color:bg3; color:txt; border:solid 1px brd; border-radius:irad; padding:.375rem .75rem; font-size:.9375rem; line-height:1.5; transition: border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out; &:focus{ border-color:btn; box-shadow: 0 0 0 .2rem rgba(btn,.25); outline:none; } } } @-moz-document regexp("https?:\\/\\/elearning\\.tgm\\.ac\\.at\\/user\\/preferences\\.php.*"), regexp("https?:\\/\\/moodle\\.necode\\.it\\/user\\/preferences\\.php.*") { #region-main .card.mb-3{ background-color:bg3;} } @-moz-document regexp("https?:\\/\\/elearning\\.tgm\\.ac\\.at\\/admin\\/tool\\/dataprivacy\\/mydatarequests\\.php.*"), regexp("https?:\\/\\/moodle\\.necode\\.it\\/admin\\/tool\\/dataprivacy\\/mydatarequests\\.php.*") { div[data-region="datarequests"]>.mt-1.mb-1>.btn.btn-primary{ color:txt !important;} } @-moz-document regexp("https?:\\/\\/elearning\\.tgm\\.ac\\.at\\/mod\\/(student)?quiz.*"), regexp("https?:\\/\\/moodle\\.necode\\.it\\/mod\\/(student)?quiz.*") { .que.multichoice .answer{ & div.r0, & div.r1{ border-radius:irad; & .icon.fa{ align-self:center; } & div[data-region="answer-label"]{ cursor:pointer; } & input[disabled]+div[data-region="answer-label"]{ cursor:not-allowed; } } & .incorrect{ background-color:fals; border:solid 1px hfals; &, & p, & span, & .answernumber{ color:hfals; } } & .correct{ background-color:tru; border:solid 1px htru; &, & p, & span, & .answernumber{ color:htru; } } } .que .formulation{ background-color:bg3; color:txt; border-radius:crad;} .que .correct .custom-select{ background-color:tru;} .que .incorrect .custom-select{ background-color:fals;} .que .correctness{ &.notanswered, &.incorrect{ background-color:fals; } &.correct{ background-color:tru; } } .que .outcome{ background-color:bg3; color:txt; border-radius:crad;} .que .info{ background-color:bg3; border-radius:crad; border:none;} .que.essay .qtype_essay{ &_response.readonly{ background-color:bg4; padding-left:0.2em; border-radius:irad; } &_monospaced{ background-color:bg2; padding:0.25em; border-radius:irad; color:txt; border-color:brd; } } .que.ddwtos, .que.ddimageortext, form.mform fieldset#id_previewareaheader{ & .group1{ background-color:bg3; } & .draghome, & .drop{ border-radius:irad; border-color:brd; &.active{ border-color:brd; } } & .drop, & .dropzone, & .droparea .draghome, & .draghome.placed:not(.beingdragged){ &:focus, &.valid-drag-over-drop{ border-color:btn; box-shadow:0 0 5px 3px btn,inset 0 0 2px 0 btn; } } & img.dropbackground, & img.group1{ filter:EICC; } & .draghome{ width:fit-content !important; padding:0 0.5em; } } .que .answer{ &>.correct>.specificfeedback{ background-color:tru; border: solid 1px htru; } &>.incorrect>.specificfeedback{ background-color:fals; border: solid 1px hfals; } &>div>.specificfeedback{ border-radius:irad; margin:-1px -1px -1px 0; align-self:center; & p{ margin:0; } } } .que.multianswer .feedbackspan{ border-radius:0 0 crad crad; background:linear-gradient(to top,rgba(idk,0.9) 70%,rgba(idk,0.7) 80%,rgba(idk,0.3) 90%,rgba(idk,0) 100%); color:hidk; border:solid 1px hidk; border-top:none; box-shadow:0 0.2em 0.5em bg0,0 0.2em 0.2em idk; } .path-mod-quiz #mod_quiz_navblock{ & a.qnbutton, & span.qnbutton, & .qnbutton{ color:txt !important; background-color:bg4; &:hover{ text-decoration:none; } &:focus-visible, &:focus, &:active{ text-decoration:none; outline:solid 1px brd; box-shadow:none; } &.thispage{ &>.thispageholder{ outline:solid 1px brd; } } &>.thispageholder{ border:none; } &.correct>.trafficlight{ background-color:tru; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 6.5 6.5'%3E%3Cpath fill='"+urlenc(htru)+"' d='M0 3.25l2.5 2.5 4-4-1-1-3 3-1.5-1.5z'/%3E%3C/svg%3E%0A"); } &.partiallycorrect>.trafficlight{ background-color:idk; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-12 -12 24 24'%3E%3Ccircle fill='"+urlenc(hidk)+"' r='12'/%3E%3C/svg%3E%0A"); } &.incorrect &.notanswered, &.invalidanswer{ &>.trafficlight{ background-color:fals; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 6 6'%3E%3Cpath fill='"+urlenc(hfals)+"' d='M0 1l1-1 2 2 2-2 1 1-2 2 2 2-1 1-2-2-2 2-1-1 2-2z'/%3E%3C/svg%3E"); } } &.notyetanswered>.trafficlight{ background-color:bg4; } &.answersaved>.trafficlight, &.complete>.trafficlight, &.requiresgrading>.trafficlight{ background-color:brd; } &.flagged>.thispageholder{ background-position:top right; } } & a.qnbutton{ transition:transform 0.1s; &:hover:not(.thispage){ transform:scale(1.2); } } & .qnbuttons:not(.allquestionsononepage){ .qnbutton.thispage{ cursor:default; } } & .allquestionsononepage{ & a.qnbutton.thispage, & span.qnbutton.thispage, & .qnbutton.thispage{ &>.thispageholder{ outline:none; border:none; } } & a.qnbutton.thispage{ cursor:pointer; &:hover{ transform:scale(1.2); } } } } table.quizreviewsummary{ display:grid; grid-template-columns:auto auto; width:fit-content; border-radius:crad; overflow:hidden; tbody,tr{ display:contents; } th.cell, td.cell{ border:none; margin-bottom:1px; padding:0.25em 1em; width:auto; text-align:start; } .cell:first-child{ background-color:bg4; padding-left:0.75em; } .cell:last-child{ background-color:bg3; padding-right:0.75em; } tr:last-child .cell{ margin-bottom:0; } p{ margin-bottom:0; } } .answer>input[type="text"]{ background-color:bg4; } .subquestion input[type="text"]{ background-color:bg4; border-color:brd; border-radius:irad; color:txt; } #quiz-timer-wrapper #quiz-timer{ border-color:hidk; background-color:idk; color:hidk; & #quiz-time-left{ color:inherit; } &.timeleft{ &14,&15,&16{ background-color:idk; color:hidk; border-color:hidk; } &9,&10,&11,&12,&13{ background-color:fals; color:hfals; border-color:hfals; } &4,&5,&6,&7,&8{ background-color:hfals; color:fals; border-color:fals; } &0,&1,&2,&3{ background-color:#000; color:#F00; border-color:#F00; box-shadow:0 0 0 1px #000; } &0{ font-size:0; &::after{ font-size:1rem; color:#F00; content:"Game Over"; } } } } input[type="text"], input[type="checkbox"], .custom-select{ &.incorrect, &.notanswered, .incorrect>&, .notanswered>&{ &, &:hover{ background-color:fals; color:hfals; border-color:hfals; transition:none } } &.partiallycorrect, .partiallycorrect>&{ &, &:hover{ background-color:idk; color:hidk; border-color:hidk; transition:none } } &.correct, .correct>&{ &, &:hover{ background-color:tru; color:htru; border-color:htru; transition:none } } } input[type="radio"]{ &.incorrect, &.notanswered, .incorrect>&, .notanswered>&{ background-image: radial-gradient(hfals 30%,#0000 40%,#0000 50%, hfals 60%,#0000 70%); } &.partiallycorrect, .partiallycorrect>&{ background-image: radial-gradient(hidk 30%,#0000 40%,#0000 50%, hidk 60%,#0000 70%); } &.correct, .correct>&{ background-image: radial-gradient(htru 30%,#0000 40%,#0000 50%, htru 60%,#0000 70%); } } input,select{ &:disabled, &[readonly]{ cursor:not-allowed; } } //highlighted row in student rankings .path-mod-studentquiz .mod-studentquiz-summary-highlight{ background-color:bg3; } /*summary table of quiz attempts*/ #page-mod-quiz-view table.quizattemptsummary{ display:grid; grid-template-columns:0fr; border-radius:crad; overflow:clip; thead,tbody,tr{ display:contents; } th{ grid-row:1; background-color:bg4; border:none; } td{ background-color:bg3; border:none; margin-top:1px; } td:first-child, th:first-child{ border-left:solid crad bg4; } tr.bestrow td{ border-color:btn; background-color:bg3; } } } @-moz-document regexp("https?:\\/\\/elearning\\.tgm\\.ac\\.at\\/user\\/index\\.php.*"), regexp("https?:\\/\\/moodle\\.necode\\.it\\/user\\/index\\.php.*") { .filter-group{ border:none !important; border-radius:irad; background-color:bg3 !important; & .bg-white.border{ border:none !important; background-color:bg3 !important; } } } @-moz-document regexp("https?:\\/\\/elearning\\.tgm\\.ac\\.at\\/mod\\/lesson\\/view\\.php.*"), regexp("https?:\\/\\/moodle\\.necode\\.it\\/mod\\/lesson\\/view\\.php.*") { .no-overflow img[role="presentation"]{ width:100%; margin:0; } } @-moz-document regexp("https?:\\/\\/elearning\\.tgm\\.ac\\.at\\/mod\\/studentquiz\\/view\\.php.*"), regexp("https?:\\/\\/moodle\\.necode\\.it\\/mod\\/studentquiz\\/view\\.php.*") { #categoryquestions{ //table head & thead, &>tbody>tr.r1{ background-color:bg3; } //various icons, mostly denoting the type of quiz & img.icon{ &[title="CodeRunner"]{ border-radius:irad; filter:saturate(0.6); } &[title="Multiple-Choice"], &[title="Zuordnung"], &[title="Wahr/Falsch"], &[src$="/state_new"]{ filter:invert(0.75); } } //difficulty and rating bars & .difficultylevel svg, & .mod_studentquiz_ratingbar svg{ & rect[fill="#fff"]{ fill:bg0; stroke:bg0; } & rect[fill="#007bff"]{ fill:btn; stroke:bg0; stroke-width:1px; } & path{ fill:btn; stroke:bg0; } } } //question filters - basically toggle buttons .path-mod-studentquiz input[type="checkbox"].toggle{ & + a, & + label a{ border:solid 1px btn; background-color:bg3; color:btn; } &:checked + a, &:checked + label a{ border:solid 1px hbtn; background-color:hbtn; color:dtxt; } } //weird thing which functions as a label and submit button at the same time - for the page count .btn[value="Seitengröße:"]{ background-color:bg3; color:txt; border:solid 1px brd; border-right:none; border-radius:irad 0 0 irad; &:hover{ background-color:bg4; color:htxt; border-color:hbrd; } &:focus{ background-color:bg5; border-color:hbtn; color:hhtxt; } & + .form-control{ border-radius:0 irad irad 0; border-left:none; } } //statistics sideblock with horrible progressbars and even worse colored spans #mod_studentquiz_statblock{ & svg{ //the feeling when you have to fix the style of a large buisness :'I overflow:visible; //otherwise the borders get clipped } & rect{ stroke-width:1px !important; rx: irad !important; ry: irad !important; } & rect:last-of-type{ fill:tru !important; stroke:htru !important; } & rect:nth-of-type(2){ fill: fals !important; stroke: hfals !important; } & rect:first-of-type{ fill:idk !important; stroke:hidk !important; } } .path-mod-studentquiz span.stat{ //why do I need to do this? display:flex; line-height:0; align-items:center; &.approvals, &.last-attempt-correct{ background-color:tru; color:htru; } &.disapprovals, &.last-attempt-incorrect{ background-color:fals; color:hfals; } &.changed, &.never-answered{ background-color:idk; color:hidk; } } } @-moz-document regexp("https?:\\/\\/elearning\\.tgm\\.ac\\.at\\/mod\\/studentquiz\\/(attempt|commenthistory)\\.php.*"), regexp("https?:\\/\\/moodle\\.necode\\.it\\/mod\\/studentquiz\\/(attempt|commenthistory)\\.php.*"){ svg[width="100%"] rect{ &:first-of-type{ fill:bg3 !important; } &:nth-of-type(2){ fill:btn !important; } } svg[width="100%"] text{ fill:txt; } .btn[value="Abbrechen"]{ color:hfals; background-color:fals; border:solid 1px hfals; &:hover{ color:dtxt; background-color:hfals; } &:focus, &.focus{ outline:none; box-shadow:0 0 1em hfals; } &:focus-visible{ outline:none; box-shadow:inset 0 0 0 1px dtxt; &:focus{ box-shadow:inset 0 0 0 1px dtxt,0 0 1em hfals; } } } .path-mod-studentquiz{ & .studentquiz_behaviour{ & .comment_list>div.studentquiz-comment-container{ border-color:brd; } & .star, & .rate .rating .rateable.star-empty, & .rate .rating:hover .rateable.star-empty{ filter:contrast(0.1) saturate(10) brightness(1) hue-rotate(-30deg); } } & .studentquiz-comment-container{ & .no-comment{ border-top-color:brd; } & .filter-desc.current, & .filter-asc.current{ & .studentquiz-comment-filter-type i::before{ filter:contrast(0.1) saturate(10) brightness(0.8) hue-rotate(-30deg); } } & .studentquiz-comment{ &-item{ border-top-color:brd; } &-author{ color:txt; } &-expand, &-collapse{ color:txt; background-color:bg3; border-color:brd; border-bottom:none; &[disabled], &[disabled]:hover{ background-color:brd; border-color:brd; color:htxt &::after{ filter:contrast(0) brightness(1.5); } } &:hover, &:focus, &:active{ color:htxt; background-color:bg4; border-color:hbrd; border-bottom:none; &::after{ filter:contrast(0) brightness(1.4); } } &::after { filter:contrast(0) brightness(1.15); } } &-text, &-text-deleted{ background-color:bg3; border:solid 1px brd; border-radius:irad; color:txt; } &-postfragmentform{ background-color:#0000; color:txt; } } } } img[src$="/switch_plus"], img[src$="/switch_minus"]{ filter:contrast(0.1) saturate(10) brightness(0.8) hue-rotate(-30deg); } } @-moz-document regexp("https?:\\/\\/elearning\\.tgm\\.ac\\.at\\/login\\/index\\.php.*"), regexp("https?:\\/\\/moodle\\.necode\\.it\\/login\\/index\\.php.*"){ .pagelayout-login #page{ background-image:none; } .login-container{ background-color:bg3; border-radius:0.5em; & .login-divider{ border-top-color:brd; } & .divider{ background-color:brd; border-left-color:brd !important; } } }