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 .replaced { 110 text-decoration: line-through; 111 } 112 113 /* Selection of slots/periods for new events. */ 114 115 input.newevent.selector { 116 display: none; 117 } 118 119 th.container, 120 td.container { 121 padding: 0; /* for regions covered by labels */ 122 } 123 124 th.dayheading:hover, 125 th.dayheading:focus, 126 th.timeslot:hover, 127 th.timeslot:focus, 128 td.container:hover, 129 td.container:focus { 130 background-color: #af8; 131 } 132 133 label.day, 134 label.newevent.popup { 135 display: block; /* to make labels cover regions */ 136 padding: 0.25em; 137 } 138 139 label.newevent.popup { 140 visibility: hidden; 141 text-align: center; 142 } 143 144 td.container:hover label.newevent.popup, 145 td.container:focus label.newevent.popup { 146 visibility: visible; 147 } 148 149 input.newevent:checked ~ .timepoint { 150 background-color: #5f4; 151 text-decoration: underline; 152 } 153 154 /* Hiding/showing busy slots/periods or unused days. */ 155 156 /* Hide the controls. */ 157 158 input#hidebusy, 159 input#showdays, 160 161 /* Hide the enable labels when controls are already enabled. */ 162 /* Hide the disable labels when controls are already disabled. */ 163 164 input#hidebusy:checked ~ .controls label.enable[for=hidebusy], 165 input#showdays:checked ~ .controls label.disable[for=showdays], 166 input#hidebusy:not(:checked) ~ .controls label.disable[for=hidebusy], 167 input#showdays:not(:checked) ~ .controls label.enable[for=showdays], 168 169 /* Hide calendar rows depending on the selected controls. */ 170 171 input#hidebusy:checked ~ .calendar tr.slot.busy, 172 input#showdays:not(:checked) ~ .calendar thead.separator.empty, 173 input#showdays:not(:checked) ~ .calendar tbody.points.empty, 174 175 /* Hiding/showing end datetimes and start/end times. */ 176 177 input#dttimes-enable, 178 input#dtend-enable, 179 input#dttimes-enable:not(:checked) ~ .object td.objectvalue .time.enabled, 180 input#dttimes-enable:checked ~ .object td.objectvalue .time.disabled, 181 input#dtend-enable:not(:checked) ~ .object td.objectvalue.dtend .dt.enabled, 182 input#dtend-enable:checked ~ .object td.objectvalue.dtend .dt.disabled, 183 184 /* Hiding/showing remove/uninvite labels. */ 185 186 input.add, 187 input.remove, 188 input.remove:checked ~ label.remove, 189 input.remove:not(:checked) ~ label.removed, 190 191 /* Hide the participation refresh control, selected using a label. */ 192 193 input.refresh, 194 195 /* Hide the reset control, selected using a label. */ 196 197 input#reset { 198 display: none; 199 } 200 201 /* Show slot endpoints when hiding adjacent busy periods. */ 202 203 input#hidebusy:checked ~ .calendar th.timeslot span.endpoint { 204 display: block; 205 } 206 207 /* Style the labels. */ 208 209 label.day, 210 label.timepoint, 211 label.newevent, 212 .dt.disabled label, 213 .dt.enabled label, 214 label.add, 215 label.remove, 216 label.removed, 217 label.hidebusy, 218 label.showdays, 219 label.reset { 220 cursor: pointer; 221 } 222 223 label.add, 224 label.remove, 225 label.removed { 226 float: right; 227 } 228 229 .dt.disabled label, 230 .dt.enabled label, 231 label.add, 232 label.remove, 233 label.removed, 234 label.hidebusy, 235 label.showdays, 236 label.reset { 237 color: #009; 238 text-decoration: underline; 239 } 240 241 .dt.disabled label, 242 .dt.enabled label { 243 display: inline-block; 244 } 245 246 .dt.enabled label { 247 margin-top: 0.25em; 248 } 249 250 label.hidebusy, 251 label.showdays, 252 label.reset { 253 padding-left: 0.25em; 254 } 255 256 label.showdays { 257 border-left: 1em solid #faa; /* th.participantheading background-color */ 258 } 259 260 label.hidebusy { 261 border-left: 1em solid #af8; /* td.event background-color */ 262 } 263 264 label.reset { 265 border-left: 1em solid #5f4; /* (selected) .timepoint background-color */ 266 }