1 /* Table styling. */ 2 3 table.calendar, 4 table.conflicts, 5 table.object { 6 border: 2px solid #000; 7 } 8 9 colgroup#columns-request { 10 background-color: #eef; 11 } 12 13 colgroup#columns-freebusy { 14 background-color: #fee; 15 } 16 17 th.requestheading { 18 background-color: #aaf; 19 } 20 21 th.participantheading{ 22 background-color: #faa; 23 } 24 25 th.dayheading, 26 th.mainheading { 27 background-color: #f85; 28 } 29 30 th.timeslot, 31 th.objectheading { 32 vertical-align: top; 33 white-space: nowrap; 34 } 35 36 th.timeslot { 37 padding-top: 0; 38 } 39 40 th.timeslot span.endpoint { 41 display: none; 42 font-size: smaller; 43 } 44 45 td.event { 46 background-color: #ff8; 47 border: 2px solid #000; 48 } 49 50 td.event.organising { 51 background-color: #af8; 52 } 53 54 td.event.continued { 55 border-top: 2px dotted #000; 56 } 57 58 td.event.continues { 59 border-bottom: 2px dotted #000; 60 } 61 62 td.event:target { 63 background-color: #5f4; 64 border-width: 4px; 65 } 66 67 td.event a { 68 color: #009; 69 } 70 71 .error { 72 background-color: #faa; 73 } 74 75 /* Selection of slots/periods for new events. */ 76 77 input.newevent.selector { 78 display: none; 79 } 80 81 th.container, 82 td.container { 83 padding: 0; /* for regions covered by labels */ 84 } 85 86 th.dayheading:hover, 87 th.dayheading:focus, 88 th.timeslot:hover, 89 th.timeslot:focus, 90 td.container:hover, 91 td.container:focus { 92 background-color: #af8; 93 } 94 95 label.day, 96 label.newevent.popup { 97 display: block; /* to make labels cover regions */ 98 padding: 0.25em; 99 } 100 101 label.newevent.popup { 102 visibility: hidden; 103 text-align: center; 104 } 105 106 td.container:hover label.newevent.popup, 107 td.container:focus label.newevent.popup { 108 visibility: visible; 109 } 110 111 input.newevent:checked ~ .timepoint { 112 background-color: #5f4; 113 text-decoration: underline; 114 } 115 116 /* Hiding/showing busy slots/periods or unused days. */ 117 118 /* Hide the controls. */ 119 120 input#hidebusy, 121 input#showdays, 122 123 /* Hide the enable labels when controls are already enabled. */ 124 /* Hide the disable labels when controls are already disabled. */ 125 126 input#hidebusy:checked ~ .controls label.enable[for=hidebusy], 127 input#showdays:checked ~ .controls label.disable[for=showdays], 128 input#hidebusy:not(:checked) ~ .controls label.disable[for=hidebusy], 129 input#showdays:not(:checked) ~ .controls label.enable[for=showdays], 130 131 /* Hide calendar rows depending on the selected controls. */ 132 133 input#hidebusy:checked ~ .calendar tr.slot.busy, 134 input#showdays:not(:checked) ~ .calendar thead.separator.empty, 135 input#showdays:not(:checked) ~ .calendar tbody.points.empty { 136 display: none; 137 } 138 139 /* Show slot endpoints when hiding adjacent busy periods. */ 140 141 input#hidebusy:checked ~ .calendar th.timeslot span.endpoint { 142 display: block; 143 } 144 145 /* Hiding/showing end datetimes and start/end times. */ 146 147 input#dttimes-disable, 148 input#dttimes-enable, 149 input#dtend-disable, 150 input#dtend-enable, 151 input#dttimes-disable:checked ~ .object td.objectvalue .time.enabled, 152 input#dttimes-enable:checked ~ .object td.objectvalue .time.disabled, 153 input#dtend-disable:checked ~ .object td.objectvalue.dtend .dt.enabled, 154 input#dtend-enable:checked ~ .object td.objectvalue.dtend .dt.disabled { 155 display: none; 156 } 157 158 /* Style the labels. */ 159 160 .dt.disabled label, 161 .dt.enabled label, 162 label.hidebusy, 163 label.showdays { 164 color: #009; 165 text-decoration: underline; 166 } 167 168 .dt.enabled label { 169 display: block; 170 margin-top: 0.25em; 171 } 172 173 label.hidebusy, 174 label.showdays { 175 padding-left: 0.25em; 176 } 177 178 label.showdays { 179 border-left: 1em solid #faa; /* th.participantheading background-color */ 180 } 181 182 label.hidebusy { 183 border-left: 1em solid #af8; /* td.event background-color */ 184 }