1 /* Table styling. */ 2 3 table.calendar, 4 table.conflicts, 5 table.recurrence, 6 table.object { 7 border: 2px solid #000; 8 } 9 10 colgroup#columns-request { 11 background-color: #eef; 12 } 13 14 colgroup#columns-freebusy { 15 background-color: #fee; 16 } 17 18 th.requestheading { 19 background-color: #aaf; 20 } 21 22 th.participantheading{ 23 background-color: #faa; 24 } 25 26 th.dayheading, 27 th.mainheading { 28 background-color: #f85; 29 } 30 31 th.timeslot, 32 th.objectheading { 33 white-space: nowrap; 34 } 35 36 th.objectheading { 37 background-color: #fca; 38 } 39 40 th.timeslot { 41 padding-top: 0; 42 vertical-align: top; 43 } 44 45 th.timeslot span.endpoint { 46 display: none; 47 font-size: smaller; 48 } 49 50 td.event { 51 background-color: #ff8; 52 border: 2px solid #000; 53 } 54 55 td.event.only-organising { 56 background-color: #afd; 57 } 58 59 td.event.organising { 60 background-color: #af8; 61 } 62 63 td.event.continued { 64 border-top: 2px dotted #000; 65 } 66 67 td.event.continues { 68 border-bottom: 2px dotted #000; 69 } 70 71 td.event:target { 72 border-width: 4px; 73 background-color: #ee2; 74 } 75 76 td.event.organising:target { 77 background-color: #5f4; 78 } 79 80 td.event a { 81 color: #009; 82 } 83 84 th.objectheading.error { 85 background-color: #f77; 86 } 87 88 .partstat { 89 margin-left: 1em; 90 background-color: #eee; 91 } 92 93 .partstat, 94 .partstat option { 95 padding: 0.25em; 96 } 97 98 select.partstat { 99 background-color: #ccc; 100 padding: 0; 101 font-family: inherit; 102 font-size: inherit; 103 } 104 105 .affected { 106 font-weight: bold; 107 } 108 109 table.recurrence .replaced, 110 table.conflicts .replaced { 111 text-decoration: line-through; 112 } 113 114 .objectvalue.dtstart.replaced { 115 vertical-align: top; 116 } 117 118 /* New event controls. */ 119 120 .newevent-with-periods { 121 display: none; 122 } 123 124 /* Selection of slots/periods for new events. */ 125 126 input.newevent.selector { 127 display: none; 128 } 129 130 th.container, 131 td.container { 132 padding: 0; /* for regions covered by labels */ 133 } 134 135 th.dayheading:hover, 136 th.dayheading:focus, 137 th.timeslot:hover, 138 th.timeslot:focus, 139 td.container:hover, 140 td.container:focus { 141 background-color: #af8; 142 } 143 144 label.day, 145 label.newevent.popup { 146 display: block; /* to make labels cover regions */ 147 padding: 0.25em; 148 } 149 150 label.newevent.popup { 151 visibility: hidden; 152 text-align: center; 153 } 154 155 td.container:hover label.newevent.popup, 156 td.container:focus label.newevent.popup { 157 visibility: visible; 158 } 159 160 /* Hiding/showing busy slots/periods or unused days. */ 161 162 /* Hide the controls. */ 163 164 input#hidebusy, 165 input#showdays, 166 167 /* Hide the enable labels when controls are already enabled. */ 168 /* Hide the disable labels when controls are already disabled. */ 169 170 input#hidebusy:checked ~ .controls label.enable[for=hidebusy], 171 input#showdays:checked ~ .controls label.disable[for=showdays], 172 input#hidebusy:not(:checked) ~ .controls label.disable[for=hidebusy], 173 input#showdays:not(:checked) ~ .controls label.enable[for=showdays], 174 175 /* Hide calendar rows depending on the selected controls. */ 176 177 input#hidebusy:checked ~ .calendar tr.slot.busy, 178 input#showdays:not(:checked) ~ .calendar thead.separator.empty, 179 input#showdays:not(:checked) ~ .calendar tbody.points.empty, 180 181 /* Hiding/showing end datetimes and start/end times. */ 182 183 input#dttimes-enable, 184 input#dtend-enable, 185 input#dttimes-enable:not(:checked) ~ .object td.objectvalue .time.enabled, 186 input#dttimes-enable:checked ~ .object td.objectvalue .time.disabled, 187 input#dtend-enable:not(:checked) ~ .object td.objectvalue.dtend .dt.enabled, 188 input#dtend-enable:checked ~ .object td.objectvalue.dtend .dt.disabled, 189 190 /* Hiding/showing remove/uninvite labels. */ 191 192 input.add, 193 input.remove, 194 input.remove:checked ~ label.remove, 195 input.remove:not(:checked) ~ label.removed, 196 197 /* Hide the participation refresh control, selected using a label. */ 198 199 input.refresh, 200 201 /* Hide the reset control, selected using a label. */ 202 203 input#reset { 204 display: none; 205 } 206 207 /* Show slot endpoints when hiding adjacent busy periods. */ 208 209 input#hidebusy:checked ~ .calendar th.timeslot span.endpoint { 210 display: block; 211 } 212 213 /* Style the labels. */ 214 215 label.day, 216 label.timepoint, 217 label.newevent, 218 .dt.disabled label, 219 .dt.enabled label, 220 label.add, 221 label.remove, 222 label.removed, 223 label.hidebusy, 224 label.showdays, 225 label.reset { 226 cursor: pointer; 227 } 228 229 label.add, 230 label.remove, 231 label.removed { 232 float: right; 233 } 234 235 p label.add, 236 p label.remove, 237 p label.removed { 238 float: none; 239 } 240 241 .dt.disabled label, 242 .dt.enabled label, 243 label.add, 244 label.remove, 245 label.removed, 246 label.hidebusy, 247 label.showdays, 248 label.reset { 249 color: #009; 250 text-decoration: underline; 251 } 252 253 .dt.disabled label, 254 .dt.enabled label { 255 display: inline-block; 256 } 257 258 .dt.enabled label { 259 margin-top: 0.25em; 260 } 261 262 label.hidebusy, 263 label.showdays, 264 label.reset { 265 padding-left: 0.25em; 266 } 267 268 label.showdays { 269 border-left: 1em solid #faa; /* th.participantheading background-color */ 270 } 271 272 label.hidebusy { 273 border-left: 1em solid #af8; /* td.event background-color */ 274 } 275 276 label.reset { 277 border-left: 1em solid #5f4; /* (selected) .timepoint background-color */ 278 }