diff --git a/calendar/templates/kdots/app.css b/calendar/templates/kdots/app.css new file mode 100644 index 0000000000..6679944a5b --- /dev/null +++ b/calendar/templates/kdots/app.css @@ -0,0 +1,1621 @@ +/* $Id$ */ +/*Media print classes*/ +@media print { + #calendar-view.et2_container, + #calendar-planner.et2_container, + #calendar-list.et2_container { + position: static; + height: auto !important; + } + #calendar-todo.et2_container { + display: none !important; + } + .calendar_calDayTodos .calendar_calDayTodosTable { + position: relative; + } + .calendar_plannerWidget { + height: auto !important; + } + .calendar_plannerWidget .calendar_plannerHeader { + margin-right: 2px !important; + } + .calendar_plannerWidget .calendar_plannerRows { + height: auto !important; + overflow: visible !important; + } + .calendar_plannerWidget .verticalBar { + display: none; + } + /* Don't split a calendar week across pages */ + #calendar-view_view > tbody > tr.view_row { + page-break-inside: avoid; + } + /* Try to keep it on the page */ + .calendar_calTimeGrid { + max-height: 18cm; + max-width: 90vw; + } + .calendar_calTimeGrid .calendar_calTimeGridScroll { + overflow-y: hidden !important; + } + /* Let hidden user names be visible */ + #calendar-view_view.hideDayColHeader tr:not(:first-of-type) .calendar_calGridHeader > et2-description { + position: static; + } + #calendar-view_view.hideDayColHeader tr:not(:first-of-type) .calendar_calGridHeader > et2-description { + overflow: visible !important; + } + div.calendar_calEvent { + opacity: 1; + filter: opacity(0.85); + -webkit-filter: opacity(0.85); + border: 1px solid; + } + /* Make times & all day description bold for better visibility */ + div.calendar_calDayColAllDay div.calendar_calEventBodySmall, + div.calendar_calEventHeader, + div.calendar_calEventHeaderSmall { + font-weight: bold; + } +} +/** + * Sidebox + */ +#calendar-et2_target { + position: relative; +} +#calendar-et2_target > div { + position: relative; +} +#calendar-sidebox_cat_id { + margin-bottom: 5px; +} +#calendar-sidebox_cat_id ~ * { + vertical-align: top; + display: inline-block; + border: none; + box-shadow: none; +} +#calendar-sidebox_weekend { + /* Special css styling goes here */ +} +#calendar-sidebox_date div.flatpickr-calendar.inline { + width: 100% !important; + box-shadow: none; +} +#calendar-sidebox_date .flatpickr-day { + font-size: 11px; +} +#calendar-sidebox_date .inRange { + background-color: var(--row_hover); + box-shadow: none; +} +/* Hide email in sidebox */ +#calendar-sidebox_owner::part(tag__suffix) { + display: none; +} +/* Conflict display */ +.calendar_conflicts { + max-height: 540px; + overflow-y: auto; +} +.calendar_conflicts img { + width: 22px; + height: 22px; +} +.calendar_conflicts table[id*="conflicting_participants"] > tbody > tr.r .et2_label { + /* Color for resources */ + color: blue; +} +/* Loader - hide sizing behind overlay*/ +#egw-loadin-prompt_calendar::before { + opacity: 1; + background-color: #e6e6e6; +} +/* Toolbar */ +#calendar-toolbar { + height: 3.6em; + margin-top: 0.3em; +} +#calendar-toolbar > div { + display: flex; +} +#calendar-toolbar .et2_toolbar { + background: inherit; +} +#calendar-toolbar .egw_fw_ui_app_header_container { + border: none; + display: flex; + align-items: center; + min-height: 26px; + justify-content: flex-end; +} +#calendar-toolbar .et2_searchbox input { + height: 14px; +} +#calendar-toolbar #calendar-toolbar_favorite_wrapper { + float: right; + white-space: nowrap; + margin-right: 5px; + margin-top: -4px; +} +#calendar-toolbar #calendar-toolbar_favorite_wrapper #calendar-toolbar_favorite_menu { + z-index: 40; + font-weight: normal; +} +#calendar-toolbar .et2_dropdown button.ui-state-default { + background: #ffffff; +} +/* Space for toolbar */ +#calendar-view, +#calendar-todo, +#calendar-planner, +#calendar-list { + position: absolute; + left: 0px; + right: 0px; +} +form#calendar-toolbar > div { + column-gap: 1ex; +} +#calendar-todo { + position: absolute; + width: 30%; + margin-top: 0px; + z-index: 10; + bottom: -10px; + height: calc(100% - 92px); +} +#calendar-view { + width: 100%; +} +#calendar-view_view td { + padding: 0px; +} +.calendar_inputFullWidth input { + width: 100%; +} +/****************************************************************** + * CSS settings for the day, week and month view (timeGridWidget) * + ******************************************************************/ +/* +Names used in the "graphic" are the css classes from this file. +The function names in class uiviews have the leading cal removed and a trailing Widget added: +e.g. the div with class calendar_calTimeGrid is generated by the timeGridWidget method of uiviews. + ++++ calendar_calTimeGrid +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++ #### calendar_calDayCols[12h|NoGrip] ########################################################### ++ #... calendar_calDayCol ............................. ... calendar_calDayCol .......................... ++ #.+- calendar_calDayColHeader ---------------------+. .+- calendar_calDayColHeader ------------------+. ++ #.| |. .| |. ++ #.+---------------------------------------+. .+------------------------------------+. ++.calendar_calTimeRowTime.#.** calendar_calEventCol ***** ** calendar_calEventCol *****. .** calendar_calEventCol ***********************. ++. .#.* * * *. .* *. ++. .#.* * * *. .* *. ++................#.*+- calendar_calEvent -----+* * *. .* *. ++.calendar_calTimeRowTime.#.*| |* * *. .*+- calendar_calEvent[Private] --------------+*. ++. .#.*| |* *+- calendar_calEvent -----+*. .*| |*. ++. .#.*+----------------+* *| |*. .*| |*. ++................#.* * *| |*. .*| |*. ++.calendar_calTimeRowTime.#.* * *+----------------+*. .*| |*. ++. .#.* * * *. .*+----------------------------------+*. + +*/ +/* custom ui-tooltip style for calendar +*/ +.calendar_uitooltip { + padding: 0px; + position: absolute; + border: none; + max-height: 400px; + z-index: 9999; + max-width: 300px; + -webkit-box-shadow: 0 0 5px; + -moz-box-shadow: 0 0 5px; + box-shadow: 0 0 5px; +} +/* Current time indicator */ +.calendar_now { + position: absolute; + background: red; +} +.calendar_calTimeGrid .calendar_now { + height: 2px; + width: 100%; + left: 0px; +} +.calendar_calTimeGridList .calendar_now { + display: none; +} +.calendar_plannerWidget .calendar_now { + height: 100%; + width: 2px; + top: 0px; +} +.calendar_size120b { + font-size: 120%; + font-weight: bold; +} +/* marks a day in the colum-header as today + */ +.calendar_calToday, +.calendar_calTimeGrid .calendar_calDayColHeader .calendar_calToday, +.calendar_calTimeGrid .calendar_calDayColHeader .calendar_calToday.et2_link.et2_clickable { + background: #ffffcc; + color: #0C5DA5; +} +.calendar_calWeek { + background: #ffffcc; + width: auto; + margin: 0 auto; + text-align: center; +} +.calendar_calMonth { + background: #ffffcc; + width: auto; + margin: 0 auto; + text-align: center; +} +/* marks a day in the colum-header as holiday + */ +.calendar_calHoliday, +.calendar_calTimeGrid .calendar_calDayColHeader .calendar_calHoliday.et2_link.et2_clickable { + background-color: rgba(103, 159, 210, 0.5); +} +/* marks a day in the column-header additionaly as birthday of some contact, + * it should work together with the backgrounds of calendar_calToday, calendar_calHoliday, th, row_on and row_off + */ +.calendar_calBirthday, +.calendar_calBirthday a { + color: #626161; +} +#calendar-view .calendar_calBirthday, +#calendar-planner .calendar_plannerHeader .calendar_calBirthdayIcon { + background-image: url(../../../api/templates/default/images/cake.svg); + background-repeat: no-repeat; + background-size: 16px; + background-position: 10px center; +} +/* Supress tooltips on holidays shown as events */ +.calendar_calEventTooltip.calendar_calBirthday, +.calendar_calEventTooltip.calendar_calHoliday { + display: none; +} +/* timeGridWidget, contains timeRow's and dayCol's + */ +.calendar_calTimeGrid { + position: relative; + top: 0px; + left: 0px; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + overflow: hidden; + display: flex; + flex-direction: column; + page-break-inside: avoid; +} +.calendar_calTimeGrid .calendar_calTimeGridScroll { + position: relative; + bottom: 0px; + width: 100%; + height: 100%; + overflow-y: auto; + overflow-x: hidden; + cursor: default; + background-color: white; +} +.calendar_calTimeGrid .calendar_calTimeLabels { + height: 100%; +} +.calendar_calTimeGrid .loading, +.calendar_plannerWidget .loading { + top: 0px; + bottom: 0px; + left: 0px; + right: 0px; + position: absolute; +} +.calendar_calTimeGrid .loading::before, +.calendar_plannerWidget .loading::before { + opacity: 1; + background-color: #E6E6E6; +} +/* Timegrid that has hit a minimum size */ +.calendar_calTimeGridFixed .calendar_calTimeGridScroll { + overflow: hidden; +} +/* +Show the day headers for single week view only once. +Hide subsequent headers in week view with non-consolidated owners +*/ +#calendar-view_view.hideDayColHeader tr:not(:first-of-type) .calendar_calGridHeader .calendar_calDayColHeader { + min-height: 0.5em; +} +#calendar-view_view.hideDayColHeader tr:not(:first-of-type) .calendar_calGridHeader .calendar_calDayColHeader > div[data-date] { + display: none; +} +#calendar-view_view.hideDayColHeader tr:first-of-type .calendar_calGridHeader > et2-description { + position: absolute; + top: 2em; +} +#calendar-view_view.hideDayColHeader tr:first-of-type .calendar_calGridHeader .calendar_calDayColHeader_spacer { + height: calc(1.5em + 32px); +} +#calendar-view_view.hideDayColHeader tr .calendar_calGridHeader > et2-description { + white-space: nowrap; + display: block; + position: static; + width: calc(100% - 58px); + margin-left: 58px; + color: white; + background-color: #2D6393; + text-align: center; + line-height: 1.5em; + font-size: 14px; + z-index: 35; +} +/* single row in the time-line you dont need to set a bgcolor, but you can + */ +.calendar_calTimeRow { + width: 100%; + /* set via inline style on runtime: + * height: + * top: + */ +} +.calendar_calTimeRow:not(.calendar_calWorkHours) { + background-color: rgba(120, 120, 120, 0.1); +} +/* time in a timeRow + */ +.calendar_calTimeRowTime { + padding-left: 5px; + height: 100%; + line-height: 14px; + font-size: 8pt; + text-align: left; +} +.calendar_calTimeRowTime[data-minute='0'] { + border-top: 1px solid silver; + background-image: none; +} +/* contains (multiple) dayCol's + */ +.calendar_calDayCols, +.calendar_calDayCols12h, +.calendar_calDayColsNoGrid { + position: absolute; + top: 0px; + /* bottom: 0px; does NOT work in IE, IE needs height: 100%! */ + height: 100%; + left: 58px; + right: 0px; + white-space: nowrap; +} +/* 12h timeformat with am/pm + */ +.calendar_calDayCols12h { + left: 65px; +} +/* no time grid --> no time column + */ +.calendar_calDayColsNoTime { + left: 0px; +} +/* contains (multiple) eventCol's + */ +.calendar_calDayCol { + position: absolute; + top: 0px; + height: 100%; + /* set via inline style on runtime: + * left: + * width: + */ + border-left: 1px solid silver; + transition: none; +} +/* Calendar Id # +*/ +#calendar-edit_id { + display: inline; +} +#calendar-edit_id:before { + content: "#"; +} +/* header for the dayCol + */ +.calendar_calDayColHeader, +.calendar_calGridHeader, +.calendar_calGridHeader > div { + font-size: 100%; + line-height: 16px; +} +.calendar_calDayColHeader { + display: inline-block; + position: relative; + vertical-align: top; + border-right: 1px solid silver; + height: initial; + min-height: 2em; + transition: none; + z-index: 30; + white-space: initial; + padding-bottom: 2ex; +} +.calendar_calDayColHeader > div[data-date] { + font-size: 14px; + line-height: 27px; + text-align: center; + border-bottom: 1px solid silver; + white-space: nowrap; + overflow: hidden; + background-color: white; +} +.hideDayColHeader .calendar_calDayColHeader > div[data-date] { + position: fixed; + width: inherit; + z-index: 100; +} +.blue_title { + color: white !important; + background: #2D6393 !important; +} +/* Seperate long and short day names */ +.calendar_calDayColHeader > div[data-date] .short_date, +.calendar_calDayColHeader > div[data-date] .long_date { + padding-right: 1ex; +} +.calendar_calDayColHeader > div[data-date] .short_date { + display: none; +} +/* Keep header dates when showing one week, multiple users */ +.calendar_calTimeGridFixed:not(.calendar_TimeGridNoLabel) .calendar_calDayColHeader > div.et2_clickable.et2_link { + position: fixed; + width: inherit; + margin-top: -1px; +} +/* Indicators for offscreen events */ +.calendar_calDayColHeader .hiddenEventBefore, +.calendar_calDayCol .hiddenEventAfter { + width: 80%; + left: 10%; + position: absolute; + border-radius: 5px; + border: 6px solid; + border-left: 0px; + border-right: 0px; + overflow: hidden; + z-index: 40; + cursor: pointer; +} +.calendar_calDayColHeader .hiddenEventBefore { + height: 2px; + bottom: -6px; + border-top: none; +} +.calendar_calDayColHeader .hiddenEventBefore:hover { + bottom: -20px; + height: 16px; + border-left: 1px; + border-right: 1px; + border-top-left-radius: 0px; + border-top-right-radius: 0px; + background-color: white; +} +.calendar_calDayCol .hiddenEventAfter { + border-bottom: none; + height: 6px; +} +.calendar_calDayCol .hiddenEventAfter:hover { + margin-top: -20px; + height: 20px; + background-color: white; +} +.calendar_calTimeGridFixed .calendar_calDayCol .hiddenEventAfter:hover .calendar_calEvent { + position: relative; +} +/* Days in a different month, but shown to fill out the week */ +.calendar_calDayColHeader.calendar_differentMonth > * { + color: #6a6a6a; +} +.calendar_calDayCol.calendar_differentMonth { + background-color: rgba(200, 200, 200, 0.1); +} +/* Daily sortable */ +.calendar_calDayColHeader .ui-sortable-handle { + cursor: ew-resize; +} +.calendar_calDayColAllDay { + display: flex; + flex-wrap: wrap; + flex-direction: row; + align-items: flex-start; + width: 100%; + /* Set max height of all day section */ + max-height: 4.2em; + overflow: hidden; +} +/* If more all day events than shown, show ellipsis & show all on hover */ +.calendar_calDayColHeader .calendar_calDayColAllDay.overflown:hover { + max-height: none; + overflow: visible; + position: absolute; + background-color: #f0f0f0; + z-index: 50; + padding-bottom: 2ex; +} +.calendar_calDayColHeader .calendar_calDayColAllDay.overflown:not(:hover)::after { + content: "\02026"; + line-height: 0.5em; + height: 1em; + position: absolute; + bottom: 0px; + left: 0px; + right: 0px; + text-align: center; +} +.calendar_calDayColAllDay .calendar_calEventHeader { + display: none; +} +.calendar_calDayColAllDay > .calendar_calEventBodySmall { + white-space: nowrap; +} +.calendar_calGridHeader > div { + position: relative; + height: 100%; + margin-left: 58px; + width: initial; + white-space: nowrap; + border-left: 1px solid silver; + display: flex; + align-items: stretch; +} +#calendar-view_view.hideDayColHeader .calendar_calGridHeader > div { + height: auto; +} +.calendar_calGridHeader > label { + float: left; + font-size: 14px; + line-height: 27px; + width: 58px; + text-align: center; + position: absolute; + top: 0px; +} +.calendar_calGridHeader > span.et2_label { + position: absolute; + width: 55px; +} +.calendar_TimeGridNoLabel > .calendar_calGridHeader > span.et2_label { + display: none; +} +.calendar_calDayColHeader img { + vertical-align: middle; +} +.calendar_calWeekNavHeader, +.calendar_calMonthNavHeader { + top: 0px; + left: 0px; + width: 100%; + right: 0px; +} +.calendar_calWeekNavHeader, +.calendar_calMonthNavHeader img { + vertical-align: middle; +} +.calendar_calViewUserNameBox { + position: absolute; + top: -1px; + width: 95%; + text-align: left; + font-size: 120%; + white-space: nowrap; + border: 1px solid gray; + height: 17px; + left: -1px; + padding-top: 0px; + padding-left: 10px; + background: #dac0c0; +} +.calendar_calViewUserName { + font-weight: normal; +} +.calendar_calViewUserName:first-letter { + text-transform: uppercase; +} +.calendar_calViewUserNameFirst:after { + content: ", "; +} +/* alarm_date widget disabled class +*/ +.calendar_alarm_date_display { + display: none; +} +/*overwirte margin applied by egwGridView*/ +.calendar_alarm_grid { + margin-left: 0 !important; +} +/* header of the time-grid, eg. for the weeks in the month-view (leftmost of the day-col-headers) + */ +.calendar_calGridHeader { + text-align: left; + z-index: 29; + border-bottom: 1px solid silver; + border-top: 1px solid silver; + min-height: 1ex; + flex: 0 0 auto; +} +#calendar-view_view tbody.ui-sortable { + cursor: default; +} +#calendar-view_view tbody.ui-sortable .calendar_calGridHeader { + cursor: ns-resize; +} +#calendar-view_view tbody.ui-sortable-disabled .calendar_calGridHeader, +#calendar-view_view tbody.ui-sortable-disabled .calendar_calGridHeader label { + cursor: pointer; +} +/* contains (multiple) events's + */ +.calendar_calEventCol { + position: absolute; + top: 0px; + /* bottom: 0px; does NOT work in IE, IE needs height: 100%! */ + height: 100%; + /* set via inline style on runtime: + * left: + * width: + */ +} +/* contains one event: header-row & -body + */ +.calendar_calEvent { + position: absolute; + left: 0px; + right: 0px; + overflow: hidden; + z-index: 20; + padding-left: 6px; + min-height: 1.2em; + min-width: 5px; + /* It is important there are no CSS transitions, it breaks resize */ + -webkit-transition: none; + -moz-transition: none !important; + -o-transition: none !important; + -ms-transition: none !important; + transition: none !important; + opacity: 0.85; + -moz-opacity: 0.85; + box-sizing: border-box; + touch-action: none; + /* set via inline style on runtime: + * top: depending on startime + * height: depending on length + * border-color: depending on category + * background: depending on category (shade) + * + */ + border-color: #808080; + background-color: #808080; +} +.calendar_calEvent:not(.rowNoView):hover { + cursor: pointer; +} +/** Multi-line ellipsis */ +.calendar_calEvent .calendar_calEventBody { + overflow: hidden; +} +.calendar_calTimeGrid:not(.calendar_calTimeGridList) *:not(.calendar_calDayColAllDay) > .calendar_calEvent::after { + width: 100%; + background-color: rgba(255, 255, 255, 0.8); + height: 5px; + content: "\02026"; + left: 0px; + float: right; + padding-bottom: 5em; + text-indent: 5px; + line-height: 5px; +} +/** + * User has not accepted the invitation + */ +.calendar_calEventUnknown { + border-color: white; +} +.calendar_calEventUnknown .calendar_calEventBody, +.calendar_calEventUnknown .calendar_calEventBodySmall { + background-color: white !important; +} +/** + * All participants accepted the invitation + */ +/** + * All participants answered the invitation, but not all accepted + */ +.calendar_calEventAllAnswered { + background-image: linear-gradient(transparent 50%, rgba(255, 255, 255, 0.8) 50%); + background-repeat: repeat-y; + background-size: 6px 2px; +} +/** + * Some participants did NOT answer the invitation + */ +.calendar_calEventSomeUnknown:not(.calendar_calEventUnknown) { + background-image: linear-gradient(transparent 50%, rgba(255, 255, 255, 0.5) 50%); + background-repeat: repeat-y; + background-size: 6px 5px; +} +.calendar_calEvent:not([class*=" cat_"]) { + /* Defaults for no category, so we don't override it */ + background-color: #808080; +} +/** + * Events in the header (all day) + */ +.calendar_calDayColHeader .calendar_calEvent { + position: static; + display: inline-block; + white-space: nowrap; + /* This determines how many per line */ + flex: 1 1 auto; +} +.calendar_calDayColHeader .calendar_calEvent .calendar_calEventBody { + white-space: nowrap; +} +.calendar_calEventTooltip { + padding-left: 6px; + max-height: 400px; + min-width: 25ex; + overflow: auto; +} +/* Do not show icons in header, only tooltip */ +.calendar_calEventTooltip .calendar_calEventIcons { + display: inline-block; +} +.calendar_calEventTooltip .calendar_calEventBody, +.calendar_calEventTooltip .calendar_calEventBodySmall { + padding-bottom: 1em; +} +.calendar_calEventTooltip img { + max-width: 1.5em; + vertical-align: middle; + padding-left: 5px; +} +.calendar_calEventTooltip [data-videoconference] { + cursor: pointer; +} +.calendar_calAddEvent { + width: 100%; + z-index: 10; +} +.calendar_calDayColHeader .calendar_calAddEvent:hover { + background-color: #D2D7FF; + cursor: pointer; +} +/* header-row of the event + */ +.calendar_calEventHeader, +.calendar_calEventHeaderSmall { + position: relative; + /* as the calendar_calEventIcons use postion: absolute! */ + text-align: left; + left: 0px; + right: 0px; + padding-left: 2px; + min-height: 1em; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; + /* set via inline style on runtime + * background-color: depending on category + * color: white || black depending on cat; + */ + background-color: rgba(255, 255, 255, 0.8); +} +.calendar_calEventHeader .calendar_calEventTitle { + display: none; +} +.calendar_calEventHeaderSmall { + font-size: 8pt; + line-height: 10pt; +} +.calendar_calEvent[data-priority='3'] .calendar_calEventTitle { + color: red; +} +.calendar_calEventIcons { + position: absolute; + right: 0px; + top: 0px; + /* Do not show icons in header, only tooltip */ + display: none; +} +.calendar_calEventIcons img { + height: 13px; +} +.calendar_calEventHeaderSmall .calendar_calEventIcons img { + height: 13px; +} +/* body of the event + */ +.calendar_calEventBody, +.calendar_calEventBodySmall { + padding: 0px 3px 0px; + left: 2px; + right: 2px; + height: 99%; + white-space: normal; + background-color: rgba(255, 255, 255, 0.8); +} +.calendar_calEventBody > p, +.calendar_calEventBodySmall > p { + white-space: pre-wrap; +} +.calendar_calEventBody .calendar_calTimespan { + display: none; +} +.calendar_calTimeGrid .calendar_calEventBodySmall { + font-size: 95%; +} +.calendar_calEventLabel { + font-weight: bold; + font-size: 90%; + display: inline; +} +.calendar_calEventTitle { + font-weight: bold; + font-size: 100%; + display: inline; +} +/* Event is too small for full display */ +.calendar_calTimeGrid:not(.calendar_calTimeGridList) .calendar_calEventSmall[data-visible_lines='1'] .calendar_calTimespan { + display: none; +} +.calendar_calTimeGrid:not(.calendar_calTimeGridList) .calendar_calEventSmall[data-visible_lines='2'] .calendar_calTimespan, +.calendar_calTimeGrid:not(.calendar_calTimeGridList) .calendar_calEventSmall[data-visible_lines='3'] .calendar_calTimespan { + display: inline; +} +.calendar_calTimeGrid:not(.calendar_calTimeGridList) .calendar_calEventSmall[data-visible_lines='1'] .calendar_calEventTitle, +.calendar_calTimeGrid:not(.calendar_calTimeGridList) .calendar_calEventSmall[data-visible_lines='2'] .calendar_calEventTitle, +.calendar_calTimeGrid:not(.calendar_calTimeGridList) .calendar_calEventSmall[data-visible_lines='3'] .calendar_calEventTitle { + display: inline; +} +.calendar_calTimeGrid:not(.calendar_calTimeGridList) .calendar_calEventSmall .calendar_calEventBody { + padding-top: 4em; +} +.calendar_plannerRowWidget .calendar_calEvent:not(.calendar_calEventSmall) .calendar_calTimespan { + display: none; +} +.calendar_plannerRowWidget .calendar_calEvent:not(.calendar_calEventSmall) .calendar_calEventHeader .calendar_calEventTitle { + display: inline; + font-weight: normal; +} +/* Events as displayed in a list, not sized by time */ +.calendar_calTimeGridList .calendar_calTimeGridScroll { + overflow-y: hidden; +} +.calendar_calTimeGridList .calendar_calGridHeader { + min-height: 1em; +} +.calendar_calTimeGridList .calendar_calDayColAllDay { + display: none; +} +.calendar_calTimeGridList .calendar_calDayColHeader { + min-height: initial; + padding-bottom: 0px; +} +.calendar_calTimeGridList .calendar_calDayColHeader > div[data-date] { + border: none; +} +.calendar_calTimeGridList .calendar_calDayCol > div.event_wrapper { + position: absolute; + top: 0px; + bottom: 3em; + width: 100%; +} +.calendar_calTimeGridList .calendar_calEvent { + height: 1.1em; + position: relative; + border: none; + border-bottom: none; + border-right: none; + border-radius: 0px; + padding-left: 6px; +} +.calendar_calTimeGridList .calendar_calEventHeader { + display: none !important; +} +.calendar_calTimeGridList .calendar_calEventTitle { + font-weight: normal; + display: inline-block; + white-space: nowrap; + flex: 1 1; + overflow: hidden; + text-overflow: ellipsis; +} +.calendar_calTimeGridList .calendar_calEventBody { + overflow: hidden; + border: none; + background: white !important; + height: 100%; + padding-left: 6px; + display: flex; +} +.calendar_calTimeGridList .calendar_calEventBody .calendar_calTimespan { + display: inline-block; + text-align: right; + padding-right: 1px; + opacity: 0.8; + font-size: 90%; + flex: 0 0 auto; +} +.calendar_calTimeGridList .calendar_calEventBody > p { + display: none; +} +.calendar_calTimeGridList .calendar_calDayCol .hiddenEventAfter { + left: 0px; + width: 100%; + margin-top: -1.5ex; + height: 2.1ex; + border-bottom-left-radius: 0px; + overflow: visible; +} +.calendar_calTimeGridList .calendar_calDayCol .hiddenEventAfter:before { + content: attr(data-hidden_label); + display: block; + height: 100%; + min-height: 3ex; + background: white; + z-index: 21; + padding-left: 12px; +} +.calendar_calTimeGridList .calendar_calDayCol .hiddenEventAfter:hover { + /* Need !important to override calculated height*/ + top: initial !important; + bottom: 0px; + white-space: pre; + background: white; + height: 100%; + overflow: auto; +} +.calendar_calTimeGridList .calendar_calDayCol .hiddenEventAfter:hover:before { + display: none; +} +/* table of the dayView containing 2 cols: 1) day-view, 2) todos +*/ +.calendar_calDayView { + width: 100%; +} +/* calDayTods is the day-view's todo column, containing the calDayTodoHeader and the calDayTodoTable + */ +.calendar_calDayTodos .calendar_calDayTodosHeader { + margin: 0px; + padding: 2px; + font-weight: bold; + height: 23px; + line-height: 23px; +} +.calendar_calDayTodos .calendar_calDayTodosTable { + overflow: auto; + position: absolute; + top: 3em; + bottom: 8px; + width: 100%; +} +.calendar_calDayTodos { + width: 98%; + border: 1px solid silver; +} +.calendar_calDayTodosHeader { + text-align: center; +} +.calendar_calDayTodosTable tr { + page-break-inside: avoid; + display: flex; +} +.calendar_calDayTodosTable tr td span:first-child { + white-space: nowrap; +} +.calendar_calDayTodosHeader button { + width: 24px; + height: 24px; + padding-left: 0px; + margin: 0px 4px 1px 0; + border-radius: 3px; + border: 1px solid silver; + background-color: #fafafa; + position: absolute; + left: 2px; +} +/****************************************************** + * CSS settings for the planner views (calendar_plannerWidget) * + ******************************************************/ +/* calendar_plannerWidget represents the whole planner, consiting of the calendar_plannerHeader and multiple plannerRowWidgets + */ +.calendar_plannerWidget { + position: relative; + top: 0px; + left: 0px; + width: 99.5%; +} +.calendar_plannerWidget > div:not(.calendar_plannerHeader) { + overflow-y: auto; + overflow-x: hidden; +} +/* calendar_plannerHeader contains a calendar_plannerHeaderTitle and multiple calendar_plannerHeaderRows + */ +.calendar_plannerHeader { + position: relative; + top: 0px; + left: 0px; +} +.calendar_plannerRows { + position: relative; +} +.calendar_plannerGrid { + position: absolute; + top: 0px; + bottom: 0px; + left: 172px; + right: 0px; + overflow: hidden; + height: 100%; + border-left: 1px solid silver; + margin-left: -1px; + z-index: 1; +} +.calendar_plannerGrid > .calendar_plannerScale, +.calendar_plannerGrid > .calendar_plannerScaleDay { + height: 100%; + position: absolute; +} +.calendar_plannerGrid .calendar_calToday, +.calendar_plannerGrid .calendar_calHoliday { + background-color: initial; +} +.calendar_plannerGrid > div:nth-last-child(2) > div { + border: none; + border-right: 1px solid silver; +} +.calendar_plannerGrid > div:last-child > div { + border: none; +} +.calendar_plannerGrid > div:last-child > div:not(:first-child) { + background-image: linear-gradient(0deg, rgba(192, 192, 192, 0.75) 4px, transparent 0%); + background-position: top left; + background-size: 1px 10px; + background-repeat: repeat-y; +} +/* calendar_plannerRowWidget contains a calendar_plannerRowHeader and multiple eventRowWidgets in an calendar_eventRows + */ +.calendar_plannerRowWidget { + position: relative; + top: 0px; + left: 0px; + width: 100%; + min-height: 20px; + z-index: 2; +} +.calendar_plannerRowWidget:not(:first-child) { + border-top: 1px solid silver; +} +.calendar_plannerRowWidget[data-has_children]:before { + padding-right: 20px; + position: absolute; + content: " \25B6"; + background-repeat: no-repeat; + left: 10px; + top: 2px; +} +.calendar_plannerRowWidget.current_user { + background-color: rgba(0, 0, 0, 0.05); +} +.calendar_plannerRowWidget:hover { + background-color: rgba(103, 159, 210, 0.2); +} +/* calendar_plannerScale represents a scale-row of the calendar_plannerHeader, containing multiple planner{Day|Week|Month}Scales + */ +.calendar_plannerScale, +.calendar_plannerScaleDay { + position: relative; + top: 0px; + left: 0%; + width: 100%; + height: 20px; + line-height: 20px; + display: flex; + flex-wrap: nowrap; + align-content: stretch; +} +.calendar_plannerDayScale, +.calendar_plannerMonthScale, +.calendar_plannerWeekScale, +.calendar_plannerHourScale, +.calendar_plannerDayOfMonthScale { + position: absolute; + top: 0px; + /* left+width: is set by the code on runtime */ + text-align: center; + height: 100%; + border-right: 1px solid silver; + border-bottom: 1px solid silver; + min-height: 2ex; + /* set via inline style on runtime: + * left: + * width: + */ +} +.calendar_plannerDayScale, +.calendar_plannerWeekScale, +.calendar_plannerHourScale { + position: static; + flex: 1 1 14%; +} +.calendar_plannerHourScale { + font-size: 90%; +} +.calendar_plannerDayScale { + font-size: 90%; +} +.calendar_plannerWeekScale { + line-height: 20px; +} +.calendar_plannerMonthScale { + font-weight: bold; +} +.calendar_plannerDayScale img, +.calendar_plannerWeekScale img, +.calendar_plannerMonthScale img, +.calendar_plannerDayOfMonthScale img { + vertical-align: middle; +} +/* calendar_plannerRowHeader contains the user or category name of the calendar_plannerRowWidget + */ +.calendar_plannerRowHeader, +.calendar_plannerHeaderTitle { + position: absolute; + top: 0px; + left: 0%; + width: 150px; + height: 100%; + line-height: 20px; + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; + padding-left: 20px; + padding-right: 1px; +} +.calendar_plannerRowHeader:hover { + overflow: visible; + z-index: 30; + cursor: pointer; +} +.calendar_plannerHeaderTitle { + border-right: 1px solid silver; +} +/* calendar_eventRows contain multiple eventRowWidgets + */ +.calendar_eventRows, +.calendar_plannerHeaderRows { + position: relative; + top: 0px; + left: 0px; + right: 0px; + margin-left: 172px; + /* need to be identical for calendar_eventRows and calendar_plannerHeaderRows and match width of calendar_plannerRowHeader/calendar_plannerHeaderTitle */ + min-height: 20px; + height: 100%; +} +.calendar_plannerWidget .verticalBar { + width: 8ex; + height: 100%; + position: absolute; + top: 0px; + border-right: 1px dotted; + pointer-events: none; + z-index: 40; + display: none; +} +.calendar_plannerWidget .verticalBar > span { + position: absolute; + bottom: 0px; + right: 0px; + background-color: rgba(255, 255, 255, 0.8); +} +/** + * Filler for month with less then 31 days in yearly planner + */ +.calendar_eventRowsFiller { + position: absolute; + top: 0px; + right: 0px; + height: 93%; + background-color: white; + border: 1px dashed gray; + border-right: none; +} +/** + * Weekend or other special days in yearly planner + */ +.calendar_eventRowsMarkedDay { + position: absolute; + top: 0px; + height: 100%; + z-index: 10; +} +.calendar_eventRowsMarkedDay.calendar_weekend { + background-color: #e0e0e0; +} +/* calendar_eventRowWidget contains non-overlapping events + */ +.calendar_eventRowWidget { + position: relative; + top: 0px; + left: 0px; + width: 100%; + height: 20px; + border: 1px solid white; +} +.calendar_plannerWidget .calendar_calEventHeader, +.calendar_calEventHeaderSmall { + height: 100%; + padding-top: 2px; +} +.calendar_plannerWidget .calendar_calEventSmall[data-full_day='true'] .calendar_calTimespan { + display: none; +} +.calendar_plannerWidget .calendar_calEventSmall .calendar_calEventTitle { + display: inline; +} +/* Special colors for the year view */ +.calendar_cal_year_legend_weekend { + background-color: #CCCCCC; +} +.calendar_cal_year_legend { + background-color: #EFEFEF; +} +.calendar_cal_year_legend { + background-color: #FFFFCC; + z-index: 0; +} +.calendar_cal_year_weekend { + background-color: #F9F9CC; + z-index: 0; +} +.calendar_cal_year_today { + border-color: #EE0000; + border-width: 2px; +} +/** + * edit series or exception popup used in eventWidget and + * delete series and exceptions popup used in edit event + */ +#dialog-content { + display: block; + height: 100px; + padding: 6px; + color: #666666; + font-size: 13px; + margin: -2px -1px 0px -2px; + width: 410px; +} +/** + * Calendar Drag and Drop + * Class for div to show forbiden drop + */ +.calendar_d-n-d_timeCounter > span { + position: absolute; + background-color: #808080; + color: white; + left: 0; + width: 100% !important; + align: center; + border: dashed white 1px; + border-radius: 1px; +} +.calendar_timeDemo { + position: absolute; + bottom: 0; + left: 0; + background-color: #808080; + color: white; + width: 100%; + min-width: 5em; + align: center; + border: dashed white 1px; + border-radius: 1px; +} +.calendar_d-n-d_forbiden { + background-color: red; + height: 100%; + width: 100%; + text-align: center; +} +/*Class for div to demonstrate dragging time*/ +.calendar_d-n-d_timeCounter { + font-size: 1.1em; + font-weight: bold; + text-align: center; +} +.calendar_d-n-d_timeCounter .loading { + width: 16px; + height: 16px; + position: absolute; + bottom: 0px; + right: 0px; +} +#calendar-list_undelete_popup, +#calendar-list_delete_popup { + display: none; +} +.calendar_freetime_header { + font-size: 120%; + font-weight: bold; +} +.calendar_freetime_timeframe { + position: relative; +} +img.calendar_print_button, +img.calendar_print_appicon { + height: 24px; + width: 24px; +} +/*Sortable views*/ +.srotable_cal_wk_ph { + border: 2px dashed gray; + height: 230px; + width: 99%; + background-color: #ece2f7; +} +.srotable_cal_day_ph { + position: relative; + width: 33.333333%; + height: 99%; + border: 2px dashed gray; + background-color: #ece2f7; + display: inline-block; +} +/** + * View animation stuff + */ +.calendar_slide { + /* There is a cleanup timeout in calendar app.js line 563 that must match */ + transition-duration: 0s; + /* was 2s */ + transition-delay: 50ms; +} +/** + * Home page portlets + */ +.calendar_favorite_portlet .calendar_calMonthNavHeader a img, +.calendar_favorite_portlet .calendar_calWeekNavHeader a img, +.calendar_favorite_portlet .calendar_calDayColHeader a img, +.calendar_favorite_portlet .calendar_plannerScale a img { + display: none; +} +#calendar-edit_account + .chzn-container .chzn-results { + max-height: 195px; +} +#calendar_sidebox_content .ui-datepicker div.ui-datepicker-buttonpane { + border-top: 0; + margin: 0; + padding-right: 3px; +} +/*weekend slideSwitch in toolbar*/ +#calendar-toolbar_app_header { + color: #000; + font-size: 14px; + height: 1.6em; + padding: 4px 3px 3px; + background: #b4cee773; + border-radius: 3px; + min-width: fit-content; + border: 1px solid #d4d4d8; + text-align: center; +} +/* Integration slide switches in toolbar */ +#calendar-toolbar_toolbar et2-switch { + --sl-toggle-size-medium: 30px; + --height: 30px; + height: var(--height); + display: inline-flex; +} +#calendar-toolbar_toolbar span[data-group="integration"] > et2-switch, +#toolbar-menulist et2-switch[id^="calendar-toolbar_toolbar-integration"], +#toolbar-menulist et2-switch[id^="calendar-toolbar_toolbar-video_toggle"] { + background-size: 20px; + background-repeat: no-repeat; + background-position: center; + --width: var(--height); +} +#calendar-toolbar_toolbar span[data-group="integration"] > et2-switch::part(base), +#toolbar-menulist et2-switch[id^="calendar-toolbar_toolbar-integration"], +#toolbar-menulist et2-switch[id^="calendar-toolbar_toolbar-video_toggle"] { + filter: brightness(0) contrast(0.3) opacity(0.7); +} +et2-switch#calendar-toolbar_toolbar-weekend { + background-image: none !important; +} +#calendar-toolbar_toolbar et2-switch#calendar-toolbar_toolbar-weekend::part(base) { + width: 100%; + height: 100%; +} +#calendar-toolbar_toolbar et2-switch#calendar-toolbar_toolbar-weekend .label span { + background-size: 20px; +} +#calendar-toolbar_toolbar et2-switch#calendar-toolbar_toolbar-weekend .label { + width: 100%; + height: 100%; + align-items: normal; +} +#calendar-toolbar_toolbar et2-switch#calendar-toolbar_toolbar-weekend { + min-width: 60px; +} +et2-switch#calendar-toolbar_toolbar-weekend::part(control) { + width: 100%; +} +et2-switch#calendar-toolbar_toolbar-weekend::part(label) { + width: 100%; + height: 100%; +} +#calendar-toolbar_toolbar span[data-group="integration"] > et2-switch[checked], +#toolbar-menulist et2-switch[id^="calendar-toolbar_toolbar-integration"][checked], +#toolbar-menulist et2-switch[id^="calendar-toolbar_toolbar-video_toggle"][checked] { + filter: none; + box-shadow: inset 1px 1px 1px 1px gray !important; +} +#calendar-toolbar_toolbar span[data-group="integration"] > et2-switch span.label, +#toolbar-menulist et2-switch[id^="calendar-toolbar_toolbar-video_toggle"] span.label, +#toolbar-menulist et2-switch[id^="calendar-toolbar_toolbar-integration"] span.label { + background: none; + min-width: 24px; +} +#calendar-toolbar_toolbar et2-switch::part(control) { + visibility: hidden; +} +#calendar-toolbar_toolbar et2-switch { + display: inline-block; + vertical-align: top; + border: 1px solid var(--sl-color-neutral-300); + border-radius: 3px; +} +.ui-toolbar-menulist et2-switch, +.ui-toolbar-menulist et2-switch::part(base), +.ui-toolbar-menulist et2-switch::part(label), +.ui-toolbar-menulist et2-switch .label { + width: 100%!important; +} +#calendar-toolbar_toolbar .et2_toolbar_more { + margin-top: 0; +} +#calendar-toolbar button#toolbar-today { + color: #616161; + font-weight: 500; +} +#calendar-edit .dialogFooterToolbar { + min-width: 800px; +} +#calendar_edit_recur_data_chzn { + width: 99% !important; + max-width: 99% !important; +} +/* Use media queries and day counts to toggle full days & abbreviations in day labels + Width breakpoints in media queries chosen somewhat arbitrarily, looking at 'Wednesday' + to see if it still fits. +*/ +@media all and (max-width: 1000px) and (min-width: 481px) { + /* styles assigned when width is smaller than 1000px */ + .calendar_calDayColHeader > div[data-date] .long_date { + display: inline; + } + .calendar_calDayColHeader > div[data-date] .short_date { + display: none; + } + /* 7 day needs short day labels */ + .calendar_calDayColHeader:first-child:nth-last-child(7) > div[data-date] .short_date, + .calendar_calDayColHeader:first-child:nth-last-child(7) ~ .calendar_calDayColHeader > div[data-date] .short_date { + display: inline; + } + .calendar_calDayColHeader:first-child:nth-last-child(7) > div[data-date] .long_date, + .calendar_calDayColHeader:first-child:nth-last-child(7) ~ .calendar_calDayColHeader > div[data-date] .long_date { + display: none; + } +} +@media all and (max-width: 580px) { + .calendar_calDayColHeader:first-child:nth-last-child(5) > div[data-date] .long_date, + .calendar_calDayColHeader:first-child:nth-last-child(5) ~ .calendar_calDayColHeader > div[data-date] .long_date { + display: none; + } + .calendar_calDayColHeader:first-child:nth-last-child(5) > div[data-date] .short_date, + .calendar_calDayColHeader:first-child:nth-last-child(5) ~ .calendar_calDayColHeader > div[data-date] .short_date { + display: inline; + } +} +@media all and (max-width: 480px) { + /* styles assigned when width is smaller than 480px; */ + .calendar_calDayColHeader > div[data-date] .long_date, + .calendar_calDayColHeader > div[data-date] .short_date { + display: none; + } + /* 5 day and less fits short day labels */ + .calendar_calDayColHeader:first-child:nth-last-child(3) > div[data-date] .short_date, + .calendar_calDayColHeader:first-child:nth-last-child(3) ~ .calendar_calDayColHeader > div[data-date] .short_date, + .calendar_calDayColHeader:first-child:nth-last-child(4) > div[data-date] .short_date, + .calendar_calDayColHeader:first-child:nth-last-child(4) ~ .calendar_calDayColHeader > div[data-date] .short_date, + .calendar_calDayColHeader:first-child:nth-last-child(5) > div[data-date] .short_date, + .calendar_calDayColHeader:first-child:nth-last-child(5) ~ .calendar_calDayColHeader > div[data-date] .short_date { + display: inline; + } + /* 2 day view and less has enough room for full label */ + .calendar_calDayColHeader:first-child:nth-last-child(1) > div[data-date] .long_date, + .calendar_calDayColHeader:first-child:nth-last-child(1) ~ .calendar_calDayColHeader > div[data-date] .long_date, + .calendar_calDayColHeader:first-child:nth-last-child(2) > div[data-date] .long_date, + .calendar_calDayColHeader:first-child:nth-last-child(2) ~ .calendar_calDayColHeader > div[data-date] .long_date { + display: inline; + } +} +#calendar-edit_quantity.et2_textbox_ro { + opacity: 0.5; +} +#calendar-edit_quantity, +#calendar-edit_role { + float: left; +} +.category_report_cats { + height: 80%; + overflow-y: auto; + display: block; +} +#calendar-category_report_grid { + display: block; + max-height: 550px; + overflow-y: auto; +} +#toolbar-weekend { + background-image: none !important; + filter: none; +} +#calendar-list_nm .nextmatch_header .header_count { + margin-right: -4px; +} +#calendar-list_nm .nextmatch_header .search { + display: none; +} +#calendar-edit_calendar-edit-description { + display: flex; + flex-direction: column; +} +et2-textarea#calendar-edit_description { + height: 70%; + margin-bottom: 2em; +} +et2-button#calendar-toolbar_toolbar-today::part(label) { + font-weight: bold; + color: dimgrey; +} +#calendar-view, +#calendar-todo, +#calendar-planner, +#calendar-list { + position: relative; + width: 100% !important; +} +#calendar-sidebox { + width: 100%; + display: block !important; +} +#calendar-sidebox iframe { + display: none; +} +#calendar-todo { + width: 100%; + height: calc(100% - 10px); + left: initial !important; +} +.calendar_calEvent:not([class*=" cat_"]) { + background-color: var(--primary-background-color); +}