1/** 2 * This contains the content styling 3 * @author Sascha Leib <sascha@leib.be> 4 */ 5 6 main { 7 .outline, .info, .tip, .important, .alert, .help, .download, .todo { 8 box-sizing: border-box; 9 border: @ini_border solid 1px; 10 border-left-width: 4pt; 11 border-radius: .25em; 12 padding: 1pt .25em 1pt 1.5em; 13 margin: .5em 0; 14 position: relative; 15 } 16 .info::before, .tip::before, .important::before, 17 .alert::before, .help::before, .download::before, 18 .todo::before { 19 content: ' '; 20 background: transparent center/1em no-repeat; 21 position: absolute; 22 width: 1em; 23 height: 1em; 24 left: .25em; 25 right: initial; 26 top: .1em; 27 filter: opacity(90%); 28 } 29 30 .outline { border: #CCC solid 2pt; padding-left: .5em; } 31 .outline.filled { background-color: #EEE; } 32 33 .info { border-left-color: #0085F2; background-color: #E5F3FE;} 34 .info::before { background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTEzLDlIMTFWN0gxM00xMywxN0gxMVYxMUgxM00xMiwyQTEwLDEwIDAgMCwwIDIsMTJBMTAsMTAgMCAwLDAgMTIsMjJBMTAsMTAgMCAwLDAgMjIsMTJBMTAsMTAgMCAwLDAgMTIsMloiIHN0eWxlPSJmaWxsOiMwMDg1RjI7IiAvPjwvc3ZnPg=="); 35 } 36 37 .tip { border-left-color: #FFCA28; background-color: #FFF9C4; } 38 .tip::before { background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTEyLDZBNiw2IDAgMCwxIDE4LDEyQzE4LDE0LjIyIDE2Ljc5LDE2LjE2IDE1LDE3LjJWMTlBMSwxIDAgMCwxIDE0LDIwSDEwQTEsMSAwIDAsMSA5LDE5VjE3LjJDNy4yMSwxNi4xNiA2LDE0LjIyIDYsMTJBNiw2IDAgMCwxIDEyLDZNMTQsMjFWMjJBMSwxIDAgMCwxIDEzLDIzSDExQTEsMSAwIDAsMSAxMCwyMlYyMUgxNE0yMCwxMUgyM1YxM0gyMFYxMU0xLDExSDRWMTNIMVYxMU0xMywxVjRIMTFWMUgxM000LjkyLDMuNUw3LjA1LDUuNjRMNS42Myw3LjA1TDMuNSw0LjkzTDQuOTIsMy41TTE2Ljk1LDUuNjNMMTkuMDcsMy41TDIwLjUsNC45M0wxOC4zNyw3LjA1TDE2Ljk1LDUuNjNaIiBzdHlsZT0iZmlsbDojRkY5ODAwOyIgLz48L3N2Zz4="); 39 } 40 41 .important { border-left-color: #FF9800; background-color: #FFE0B2; } 42 .important::before { background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTEzIDE0SDExVjlIMTNNMTMgMThIMTFWMTZIMTNNMSAyMUgyM0wxMiAyTDEgMjFaIiBzdHlsZT0iZmlsbDojRjU3QzAwOyIgLz48L3N2Zz4=");} 43 44 .alert { border-left-color: #B71C1C; background-color: #FFCDD2; } 45 .alert::before { background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTguMjcsM0wzLDguMjdWMTUuNzNMOC4yNywyMUgxNS43M0wyMSwxNS43M1Y4LjI3TDE1LjczLDNNOC40MSw3TDEyLDEwLjU5TDE1LjU5LDdMMTcsOC40MUwxMy40MSwxMkwxNywxNS41OUwxNS41OSwxN0wxMiwxMy40MUw4LjQxLDE3TDcsMTUuNTlMMTAuNTksMTJMNyw4LjQxIiBzdHlsZT0iZmlsbDojQjcxQzFDOyIgLz48L3N2Zz4=");} 46 47 .help { border-left-color: #7986CB; background-color: #E8EAF6; } 48 .help::before { background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTE1LjA3LDExLjI1TDE0LjE3LDEyLjE3QzEzLjQ1LDEyLjg5IDEzLDEzLjUgMTMsMTVIMTFWMTQuNUMxMSwxMy4zOSAxMS40NSwxMi4zOSAxMi4xNywxMS42N0wxMy40MSwxMC40MUMxMy43OCwxMC4wNSAxNCw5LjU1IDE0LDlDMTQsNy44OSAxMy4xLDcgMTIsN0EyLDIgMCAwLDAgMTAsOUg4QTQsNCAwIDAsMSAxMiw1QTQsNCAwIDAsMSAxNiw5QzE2LDkuODggMTUuNjQsMTAuNjcgMTUuMDcsMTEuMjVNMTMsMTlIMTFWMTdIMTNNMTIsMkExMCwxMCAwIDAsMCAyLDEyQTEwLDEwIDAgMCwwIDEyLDIyQTEwLDEwIDAgMCwwIDIyLDEyQzIyLDYuNDcgMTcuNSwyIDEyLDJaIiBzdHlsZT0iZmlsbDojMUEyMzdFOyIgLz48L3N2Zz4=");} 49 50 .download { border-left-color: #66BB6A; background-color: #E8F5E9; } 51 .download::before { background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTEyIDJDMTcuNSAyIDIyIDYuNSAyMiAxMkMyMiAxNy41IDE3LjUgMjIgMTIgMjJDNi41IDIyIDIgMTcuNSAyIDEyQzIgNi41IDYuNSAyIDEyIDJNOCAxN0gxNlYxNUg4VjE3TTE2IDEwSDEzLjVWNkgxMC41VjEwSDhMMTIgMTRMMTYgMTBaIiBzdHlsZT0iZmlsbDojMUI1RTIwOyIgLz48L3N2Zz4=");} 52 53 .todo { border-left-color: #4DD0E1; background-color: #E0F7FA; } 54 .todo::before { background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTE3IDE1TDE4IDE5SDIxVjIySDNWMTlINkw3IDE1SDE3TTE1IDhMMTYgMTJIOEw5IDhIMTVNMTMgMUwxNCA1SDEwTDExIDFIMTNaIiBzdHlsZT0iZmlsbDojRjQ1MTFFOyIgLz48L3N2Zz4=");} 55 56 /* extra spacing for selected block-level elements: */ 57 div.info, div.tip, div.important, div.alert, div.help, div.download, div.todo, 58 article.info, article.tip, article.important, article.alert, article.help, article.download, article.todo, 59 aside.info, aside.tip, aside.important, aside.alert, aside.help, aside.download, aside.todo, 60 section.info, section.tip, section.important, section.alert, section.help, section.download, section.todo, 61 figure.info, figure.tip, figure.important, figure.alert, figure.help, figure.download, figure.todo { 62 padding: .5em .5em .75em 2em; 63 } 64 65 /* notch down the icons for selected block-level elements: */ 66 div.info::before, div.tip::before, div.important::before, div.alert::before, div.help::before, div.download::before, div.todo::before, 67 article.info::before, article.tip::before, article.important::before, article.alert::before, article.help::before, article.download::before, article.todo::before, 68 aside.info::before, aside.tip::before, aside.important::before, aside.alert::before, aside.help::before, aside.download::before, aside.todo::before, 69 section.info::before, section.tip::before, section.important::before, section.alert::before, section.help::before, section.download::before, section.todo::before, 70 figure.info::before, figure.tip::before, figure.important::before, figure.alert::before, figure.help::before, figure.download::before, figure.todo::before { 71 left: .45em; 72 top: 1em; 73 } 74 75 /* text colours: */ 76 .yellow { color: #966C03; } 77 .orange { color: #B24103; } 78 .brown { color: #3E2723; } 79 .red { color: #B71C1C; } 80 .purple { color: #4A148C; } 81 .indigo { color: #1A237E; } 82 .blue { color: #0D47A1; } 83 .cyan { color: #006064; } 84 .teal { color: #004D40; } 85 .green { color: #1B5E20; } 86 .grey, .gray { color: #37474F; } 87 88 /* special case: markers: */ 89 mark.yellow { background-color: #FFF176; color: #111; } 90 mark.orange { background-color: #FFB74D; color: #111; } 91 mark.brown { background-color: #BCAAA4; color: #111; } 92 mark.red { background-color: #E57373; color: #111; } 93 mark.purple { background-color: #CE93D8; color: #111; } 94 mark.indigo { background-color: #9FA8DA; color: #111; } 95 mark.blue { background-color: #64B5F6; color: #111; } 96 mark.cyan { background-color: #4DD0E1; color: #111; } 97 mark.teal { background-color: #4DB6AC; color: #111; } 98 mark.green { background-color: #81C784; color: #111; } 99 mark.grey, mark.gray { background-color: #B0BEC5; color: #111; } 100 101 102 /* grid-layout classes */ 103 .grid-2-columns, 104 .grid-3-columns, 105 .grid-4-columns { 106 display: grid; 107 grid-gap: 0 .5em; 108 } 109 .grid-2-columns { 110 grid-template-columns: 1fr 1fr; 111 } 112 .grid-3-columns { 113 grid-template-columns: 1fr 1fr 1fr; 114 } 115 .grid-4-columns { 116 grid-template-columns: 1fr 1fr 1fr 1fr; 117 } 118 119 /* grid cell classes: */ 120 .colspan-2 { grid-column-end: span 2; } 121 .colspan-3 { grid-column-end: span 3; } 122 .colspan-4 { grid-column-end: span 4; } 123 124} 125 126/* RTL Overrides */ 127[dir=rtl] main .info, main *[dir=rtl] .info, main .info[dir=rtl], 128[dir=rtl] main .tip, main *[dir=rtl] .tip, main .tip[dir=rtl], 129[dir=rtl] main .important, main *[dir=rtl] .important, main .important[dir=rtl], 130[dir=rtl] main .alert, main *[dir=rtl] .alert, main .alert[dir=rtl], 131[dir=rtl] main .help, main *[dir=rtl] .help, main .help[dir=rtl], 132[dir=rtl] main .download, main *[dir=rtl] .download, main .download[dir=rtl], 133[dir=rtl] main .todo, main *[dir=rtl] .todo, main .todo[dir=rtl] { 134 border-width: 2pt 1.5em 2pt 2pt; 135} 136[dir=rtl] main .info::before, main *[dir=rtl] .info::before, main .info[dir=rtl]::before, 137[dir=rtl] main .tip::before, main *[dir=rtl] .tip::before, main .tip[dir=rtl]::before, 138[dir=rtl] main .important::before, main *[dir=rtl] .important::before, main .important[dir=rtl]::before, 139[dir=rtl] main .alert::before, main *[dir=rtl] .alert::before, main .alert[dir=rtl]::before, 140[dir=rtl] main .help::before, main *[dir=rtl] .help::before, main .help[dir=rtl]::before, 141[dir=rtl] main .download::before, main *[dir=rtl] .download::before, main .download[dir=rtl]::before, 142[dir=rtl] main .todo::before, main *[dir=rtl] .todo::before, main .todo[dir=rtl]::before { 143 left: initial; 144 right: -1.25em; 145} 146 147/* dark mode overrides */ 148@media (prefers-color-scheme: dark) { 149 150 body.darkmode { 151 main { 152 153 .outline, .info, .tip, .important, .alert, .help, .download, .todo { 154 border-color: #39393D #39393D #39393D inherit; 155 } 156 .outline { border-color: #ADADB3; } 157 .info { border-color: #027BDF; background-color: #182631; } 158 .tip { border-color: #F9A825; background-color: #46361e; } 159 .important { border-color: #E57403; background-color: #532E1D; } 160 .alert { border-color: #FF2A2A; background-color: #482124; } 161 .help { border-color: #4157FF; background-color: #20233C; } 162 .download { border-color: #288D30; background-color: #203125; } 163 .todo { border-color: #006064; background-color: #1A3236; } 164 165 .alert::before { filter: brightness(1.5); } 166 .help::before { filter: brightness(2.5); } 167 .download::before { filter: brightness(1.5); } 168 169 /* text colours: */ 170 .yellow { color: #FDD835; } 171 .orange { color: #FB8C00; } 172 .brown { color: #A5847E; } 173 .red { color: #FF4314; } 174 .purple { color: #BC6DCA; } 175 .indigo { color: #7986CB; } 176 .blue { color: #42A5F5; } 177 .cyan { color: #00BCD4; } 178 .teal { color: #26A69A; } 179 .green { color: #43A047; } 180 .grey, .gray { color: #78909C; } 181 182 /* special case: markers: */ 183 mark.yellow { background-color: #754E00; color: #CCC; } 184 mark.orange { background-color: #943400; color: #CCC; } 185 mark.brown { background-color: #4E342E; color: #CCC; } 186 mark.red { background-color: #A81A1A; color: #CCC; } 187 mark.purple { background-color: #6A1B9A; color: #CCC; } 188 mark.indigo { background-color: #1A237E; color: #CCC; } 189 mark.blue { background-color: #0D47A1; color: #CCC; } 190 mark.cyan { background-color: #006064; color: #CCC; } 191 mark.teal { background-color: #004D40; color: #CCC; } 192 mark.green { background-color: #1B5E20; color: #CCC; } 193 mark.grey, mark.gray { background-color: #37474F; color: #CCC; } 194 195 } 196 } 197} 198 199/* layout overrides for narrow screens: */ 200@media (max-width: 670px) { 201 main { 202 .grid-2-columns, 203 .grid-3-columns { 204 grid-template-columns: 100%; 205 } 206 .grid-4-columns { 207 grid-template-columns: 1fr 1fr; 208 } 209 } 210} 211@media (max-width: 440px) { 212 main { 213 .grid-4-columns { 214 grid-template-columns: 100%; 215 } 216 } 217} 218