#hire_form label.col-sm-4.control-label{ padding-left: 0; padding-right: 0; } #calendar.active_picker .fc-scrollgrid-sync-inner,#calendar.active_picker .fc-timegrid-slot{ cursor: pointer; } #calendar.active_picker{ .fc-scrollgrid-sync-inner:hover, .fc-timegrid-slot:hover{ background: var(--fc-highlight-color, rgba(188, 232, 241, 0.3)); } } a.reserve_btn{ cursor: pointer; } /* orbit calendar */ #orbit_calendar { transition: all 0.3s ease; -webkit-transition: all 0.3s ease; -moz-transition: all 0.3s ease; .cal-fn { position: relative; } #sec1 { margin-top: 10px; margin-bottom: 10px; .internal-page & { float: left; @media screen and (max-width: 767px) { float: none; } .btn-toolbar { margin-left: 0; margin-right: 15px; } .form-inline { margin-top: 0; margin-bottom: 0; } } @media screen and (max-width: 767px) { float: none; } } #sec2 { width: 100%; margin-top: 10px; margin-bottom: 10px; text-align: center; .current_day_title { width: 100%; line-height: 28px; } @media screen and (max-width: 767px) { position: absolute; top: 0; .current_day_title { margin: 0; text-align: right; } } @media screen and (max-width: 479px) { position: static; .current_day_title { text-align: center; } } } #sec3 { margin-top: 10px; margin-bottom: 10px; float: left; .internal-page & { .calendar_mode { float: none; } @media screen and (max-width: 767px) { float: none; width: 100%; text-align: left; } } @media screen and (max-width: 767px) { float: none; } } #range_selection { margin-top: 10px; margin-right: 5px; margin-bottom: 10px; font-size: 12px; & > * { margin: 0 5px; } & > select { height: 3em; } @media screen and (max-width: 479px) { margin-right: 0; & > * { margin: 0; } & > label, #show_events { display: block; margin-top: 10px; margin-bottom: 10px; } & > select { display: block; width: 100%; margin-bottom: 5px; } } @media screen and (max-width: 767px) { & > select { .internal-page & { margin-bottom: 5px; } } } } .fc-view { font-size: 1em; background-color: #fff; } } #view_holder { clear: both; } .calendar_color_tag { display: inline-block; width: 18px; height: 18px; margin-right: 4px; vertical-align: bottom; } .calendar_mode { z-index: 2; } .mode_switch { text-transform: capitalize; } .today { background-color: #D9EDF7; } .event { font-size: 12px; border-radius: 3px; cursor: pointer; padding: 1px 3px; font-weight: bold; box-shadow: inset 0 0 1px black; -webkit-box-shadow: inset 0 0 1px black; -moz-box-shadow: inset 0 0 1px black; } .modal-body { max-height: 400px; } .event_list_wrapper { position: relative; } .event_list { .cell { height: 39px; border: solid 1px #ddd; border-top: 0; } .divide { height: 19px; margin-bottom: 18px; border-bottom: solid 1px #eee; } .day_time { height: 31px; border-bottom: solid 1px #ddd; border-left: solid 1px #ddd; text-align: right; padding: 4px; } } .event { dl, dt, dd { margin: 0; padding: 0; } dl { padding: 3px; } dt { font-size: 11px; font-weight: normal; line-height: 12px; } } /* day view */ #calendar_day { .event_holder { width: 100%; /*height: 100%;*/ position: absolute; top: 0; z-index: 1; } .header { margin-bottom: 10px; } .header th { text-align: center; } td { border: 0; } .event { margin-bottom: 2px; } .all_day_event { background: #eee; border: solid 1px #ddd; } .event_list .table { border-top: solid 1px #ddd; } .event_list td { padding: 0; } .event_list th { width: 25%; } } .event_holder { .inner { position: relative; margin: 0 16px 0 2px; } .event { padding: 0px; position: absolute; width: 100%; } .event.half {} .event.over { border: solid 1px #fff; } } /* month view */ #calendar_month { border-bottom: solid 1px #ddd; .month_row { position: relative; border: solid 1px #ddd; border-bottom: 0; height: 60px; overflow: hidden; &.header { height: 28px; border: 0; th { font-size: 12px; padding: 4px; border: 0; } } .table { table-layout: fixed; margin-bottom: 0; width: 100%; position: absolute; td { border: 0; border-left: solid 1px #ddd; padding: 2px 4px 0 4px; &.today { border-bottom: solid 1px #fff; border-top: solid 1px #fff; } &.disable { background-color: #f6f6f6; color: #ccc; border-left: solid 1px #ddd; } &:first-child { border-left: 0; } } } .month_table { height: 100%; } .month_date { color: #666; font-size: 11px; cursor: pointer; td { border-left: 0; } .day_title:hover { text-decoration: underline; } .event:hover { text-decoration: none !important; } } .event { margin: 0 -2px; position: relative; color: #000; } } .event.single { -webkit-box-shadow: none; -moz-box-shadow: none; box-shadow: none; } } /* agenda view */ #calendar_agenda { margin-top: 20px; font-size: 12px; > .row { margin-bottom: 30px; } .table { margin-bottom: 0; background-color: #fff; } .tiny_calendar { .table { th { text-align: center; border-top: 0; } td { text-align: center; } } } .event { -webkit-box-shadow: none; -moz-box-shadow: none; box-shadow: none; } .row-fluid { margin-top: 20px; padding-top: 20px; border-top: dashed 1px #ddd; &:first-child { border-top: 0; padding-top: 0; margin-top: 0; } } } .event_time { font-family: Tahoma, sans-serif; } .has_event { background-color: #08c; color: #fff; } /* week view */ #calendar_week { .cell_wrapper { position: absolute; width: 100%; } td { padding: 0; } .table { margin-bottom: 0; } .header { margin-bottom: 12px; border-top: 0; table-layout: fixed; } .header { th { text-align: center; font-size: 12px; } td { border: solid 1px #ddd; /*background-color: #eee;*/ } } .week_day { padding: 0 2px; border: solid 1px #ddd; } .header .week_day { padding: 2px 4px 0px 2px; } .event_list .event { position: absolute; width: 100%; margin-bottom: 2px; } .cell_map { margin-bottom: 18px; td { border-top: 0; border-bottom: 0; } tr:first-child td { border-top: solid 1px #ddd; } } .event_holder .inner { margin: 0 8px 0 0; } .all_day_event_holder { position: relative; width: 100%; table-layout: fixed; } .all_day_event_holder td { border: 0; background-color: transparent; } .all_day_event { background: #eee; } } /* calendars(category) */ .calendars_color_tag { width: 20px; height: 20px; display: inline-block; border-radius: 3px; box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.2); } /* Event Controller */ .event_controller { .form-horizontal { margin-bottom: 0; .control-label { width: 60px; } .controls { margin-left: 80px; input[type="text"], select, textarea, .uneditable-input { width: 100%; height: 30px; line-height: 30px; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; } input[type="checkbox"] { margin-top: 0; } textarea { height: auto; line-height: 1em; resize: vertical; } } } .last { margin-bottom: 0; } .row-fluid { margin-bottom: 6px; .control-label { line-height: 30px; } } } .close { border: 0; background: none; } /* miniColors tweak */ .miniColors-trigger { width: 20px; height: 20px; margin-bottom: 10px; margin-left: 10px; border-color: #f1f1f1; } .miniColors-selector { float: none; margin: 4px 0 0 0; } /* category edit */ .edit_cal { margin: -8px; background-color: whitesmoke; .table, .table td { border: 0 !important; background-color: transparent !important; margin: 0 !important; } } .main-list td { border-top: solid 1px #ddd; } /* create / edit event panel */ #tags_panel { top: auto; bottom: 34px; width: 258px; height: 170px; padding: 8px 0; overflow: hidden; position: absolute; clear: none; .viewport { height: 170px; } .scrollbar { top: 8px; } } #tags_list { padding: 8px; } .bootstrap-datetimepicker-widget.dropdown-menu { z-index: 1051; } #main-wrap { padding-bottom: 0; } .fc-other-month { background-color: #F6F6F6; } #calendar-loading { position: fixed; top: 50%; left: 50%; z-index: 10; width: 120px; height: 120px; padding: 5px; border-radius: 4px; border: 1px solid #dbdbdb; background-color: rgba(255, 255, 255, 0.95); background-image: url("/assets/property_hire/loading1.gif"); background-repeat: no-repeat; background-position: center 20px; background-size: 50%; box-shadow: 0 0 25px 0 rgba(0, 0, 0, 0.2); transform: translate(-50%, -50%); &:after { content: "Loading..."; position: absolute; bottom: 0; display: block; width: 100%; line-height: 4em; text-align: center; } } #event_create_space { display: none; position: fixed; width: 400px; margin: 0; background-color: #fff; z-index: 1050; -webkit-border-radius: 6px; -moz-border-radius: 6px; border-radius: 6px; outline: none; -webkit-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3); -moz-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3); box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3); -webkit-background-clip: padding-box; -moz-background-clip: padding-box; background-clip: padding-box; .alert { margin-bottom: 0; } .new_event { margin-bottom: 0; } .modal-body { overflow-x: hidden; padding: 25px 25px 15px 15px; } .datetimepick { > input { width: 90%; } } } .calendar-modal { position: fixed; z-index: 10000; width: 300px; margin: 0; font-size: 12px; & > .modal-content { h3 { margin: 0; } } .event_summary { margin-right: -15px; margin-bottom: 15px; margin-left: -15px; padding-right: 15px; padding-bottom: 15px; padding-left: 15px; border-bottom: 1px solid #eee; > p { margin-bottom: 0; } i { color: #989898; } } } .calendar-form-actions { margin-top: 0; margin-bottom: 0; padding-top: 10px; padding-right: 0; padding-bottom: 0; padding-left: 0; } .agenda-event { overflow-x: hidden; overflow-y: auto; height: 200px; margin-top: 40px; @media screen and (max-width: 767px) { height: auto; } } /* fullcalendar custom css */ .table-bordered th, .table-bordered td { border: 1px solid #dee2e6; } .fc .fc-event, .fc .fc-scrollgrid table tr { -moz-column-break-inside: avoid; break-inside: avoid; } .fc-media-print { display: block; /* undo flexbox. FF doesn't know how to flow */ max-width: 100% /* width will be hardcoded too */ } .fc-media-print .fc-timegrid-slots, .fc-media-print .fc-timegrid-axis-chunk, .fc-media-print .fc-timeline-slots, .fc-media-print .fc-non-business, .fc-media-print .fc-bg-event { display: none; } .fc-media-print .fc-toolbar button, .fc-media-print .fc-h-event, .fc-media-print .fc-v-event { color: #000 !important; background: #fff !important; } .fc-media-print .fc-event, .fc-media-print .fc-event-main { /* often controls the text-color */ color: #000 !important; } .fc-media-print .fc-timegrid-event { margin: 0.5em 0; } .fc .fc-timeline-body { min-height: 100%; position: relative; z-index: 1; /* scope slots, bg, etc */ } /* vertical slots in both the header AND the body */ .fc .fc-timeline-slots { position: absolute; z-index: 1; top: 0; bottom: 0 } .fc .fc-timeline-slots > table { height: 100%; } .fc { /* border for both header AND body cells */ } .fc .fc-timeline-slot-minor { border-style: dotted; } .fc { /* header cells (aka "label") */ } .fc .fc-timeline-slot-frame { display: flex; align-items: center; /* vertical align */ justify-content: center; /* horizontal align */ overflow: hidden; /* important so text doesn't bleed out and cause extra scroll */ } .fc .fc-timeline-header-row-chrono { /* a row of times */ } .fc .fc-timeline-header-row-chrono .fc-timeline-slot-frame { justify-content: flex-start; /* horizontal align left or right */ } .fc .fc-timeline-slot-cushion { padding: 4px 5px; /* TODO: unify with fc-col-header? */ white-space: normal; } .fc { /* NOTE: how does the top row of cells get horizontally centered? */ /* for the non-chrono-row, the fc-sticky system looks for text-align center, */ /* and it's a fluke that the default browser stylesheet already does this for */ /* TODO: have StickyScrolling look at natural left coord to detect centeredness. */ } /* only owns one side, so can do dotted */ .fc-direction-ltr .fc-timeline-slot { border-right: 0 !important } .fc-direction-rtl .fc-timeline-slot { border-left: 0 !important } .fc .fc-timeline-now-indicator-container { position: absolute; z-index: 4; top: 0; bottom: 0; left: 0; right: 0; width: 0; } .fc .fc-timeline-now-indicator-arrow, .fc .fc-timeline-now-indicator-line { position: absolute; top: 0; border-style: solid; border-color: red; border-color: var(--fc-now-indicator-color, red); } .fc .fc-timeline-now-indicator-arrow { margin: 0 -6px; /* 5, then one more to counteract scroller's negative margins */ /* triangle pointing down. TODO: mixin */ border-width: 6px 5px 0 5px; border-left-color: transparent; border-right-color: transparent; } .fc .fc-timeline-now-indicator-line { margin: 0 -1px; /* counteract scroller's negative margins */ bottom: 0; border-width: 0 0 0 1px; } .fc { /* container */ } .fc .fc-timeline-events { position: relative; z-index: 3; width: 0; /* for event positioning. will end up on correct side based on dir */ } .fc { /* harness */ } .fc .fc-timeline-event-harness, .fc .fc-timeline-more-link { position: absolute; top: 0; /* for when when top can't be computed yet */ /* JS will set tht left/right */ } /* z-index, scoped within fc-timeline-events */ .fc-timeline-event { z-index: 1 } .fc-timeline-event.fc-event-mirror { z-index: 2 } .fc-timeline-event { position: relative; /* contains things. TODO: make part of fc-h-event and fc-v-event */ display: flex; /* for v-aligning start/end arrows and making fc-event-main stretch all the way */ align-items: center; border-radius: 0; padding: 2px 1px; margin-bottom: 1px; font-size: .85em; font-size: var(--fc-small-font-size, .85em) /* time and title spacing */ /* ---------------------------------------------------------------------------------------------------- */ } .fc-timeline-event .fc-event-main { flex-grow: 1; flex-shrink: 1; min-width: 0; /* important for allowing to shrink all the way */ } .fc-timeline-event .fc-event-time { font-weight: bold; } .fc-timeline-event .fc-event-time, .fc-timeline-event .fc-event-title { white-space: normal; padding: 0 2px; } /* move 1px away from slot line */ .fc-direction-ltr .fc-timeline-event.fc-event-end, .fc-direction-ltr .fc-timeline-more-link { margin-right: 1px; } .fc-direction-rtl .fc-timeline-event.fc-event-end, .fc-direction-rtl .fc-timeline-more-link { margin-left: 1px; } /* make event beefier when overlap not allowed */ .fc-timeline-overlap-disabled .fc-timeline-event { padding-top: 5px; padding-bottom: 5px; margin-bottom: 0; } /* arrows indicating the event continues into past/future */ /* ---------------------------------------------------------------------------------------------------- */ /* part of the flexbox flow */ .fc-timeline-event:not(.fc-event-start):before, .fc-timeline-event:not(.fc-event-end):after { content: ""; flex-grow: 0; flex-shrink: 0; opacity: .5; /* triangle. TODO: mixin */ width: 0; height: 0; margin: 0 1px; border: 5px solid #000; /* TODO: var */ border-top-color: transparent; border-bottom-color: transparent; } /* pointing left */ .fc-direction-ltr .fc-timeline-event:not(.fc-event-start):before, .fc-direction-rtl .fc-timeline-event:not(.fc-event-end):after { border-left: 0; } /* pointing right */ .fc-direction-ltr .fc-timeline-event:not(.fc-event-end):after, .fc-direction-rtl .fc-timeline-event:not(.fc-event-start):before { border-right: 0; } /* +more events indicator */ /* ---------------------------------------------------------------------------------------------------- */ .fc-timeline-more-link { font-size: .85em; font-size: var(--fc-small-font-size, .85em); color: inherit; color: var(--fc-more-link-text-color, inherit); background: #d0d0d0; background: var(--fc-more-link-bg-color, #d0d0d0); padding: 1px; cursor: pointer; } .fc-timeline-more-link-inner { /* has fc-sticky */ display: inline-block; left: 0; right: 0; padding: 2px; } .fc .fc-timeline-bg { /* a container for bg content */ position: absolute; z-index: 2; top: 0; bottom: 0; width: 0; left: 0; /* will take precedence when LTR */ right: 0; /* will take precedence when RTL */ /* TODO: kill */ } .fc .fc-timeline-bg .fc-non-business { z-index: 1 } .fc .fc-timeline-bg .fc-bg-event { z-index: 2 } .fc .fc-timeline-bg .fc-highlight { z-index: 3 } .fc .fc-timeline-bg-harness { position: absolute; top: 0; bottom: 0; } .fc .fc-resource-timeline-divider { width: 3px; /* important to have width to shrink this cell. no cross-browser problems */ cursor: col-resize; } .fc { /* will match horizontal groups in the datagrid AND group lanes in the timeline area */ } .fc .fc-resource-timeline .fc-resource-group:not([rowspan]) { background: rgba(208, 208, 208, 0.3); background: var(--fc-neutral-bg-color, rgba(208, 208, 208, 0.3)); } .fc .fc-timeline-lane-frame { position: relative; /* contains the fc-timeline-bg container, which liquidly expands */ /* the height is explicitly set by row-height-sync */ } .fc .fc-timeline-overlap-enabled .fc-timeline-lane-frame .fc-timeline-events { /* has height set on it */ box-sizing: content-box; /* padding no longer part of height */ padding-bottom: 10px; /* give extra spacing underneath for selecting */ } /* hack to make bg expand to lane's full height in resource-timeline with expandRows (#6134) */ .fc-timeline-body-expandrows td.fc-timeline-lane { position: relative; } .fc-timeline-body-expandrows .fc-timeline-lane-frame { position: static; } /* the "frame" */ .fc-datagrid-cell-frame-liquid { height: 100%; /* needs liquid hack */ } .fc-liquid-hack .fc-datagrid-cell-frame-liquid { height: auto; position: absolute; top: 0; right: 0; bottom: 0; left: 0; } .fc { /* the "frame" in a HEADER */ /* needs to position the column resizer */ /* needs to vertically center content */ } .fc .fc-datagrid-header .fc-datagrid-cell-frame { position: relative; /* for resizer */ display: flex; justify-content: flex-start; /* horizontal align (natural left/right) */ align-items: center; /* vertical align */ } .fc { /* the column resizer (only in HEADER) */ } .fc .fc-datagrid-cell-resizer { position: absolute; z-index: 1; top: 0; bottom: 0; width: 5px; cursor: col-resize; } .fc { /* the cushion */ } .fc .fc-datagrid-cell-cushion { padding: 8px; white-space: normal; overflow: hidden; /* problem for col resizer :( */ } .fc { /* expander icons */ } .fc .fc-datagrid-expander { cursor: pointer; opacity: 0.65 } .fc .fc-datagrid-expander .fc-icon { /* the expander and spacers before the expander */ display: inline-block; width: 1em; /* ensure constant width, esp for empty icons */ } .fc .fc-datagrid-expander-placeholder { cursor: auto; } .fc .fc-resource-timeline-flat .fc-datagrid-expander-placeholder { display: none; } .fc-direction-ltr .fc-datagrid-cell-resizer { right: -3px } .fc-direction-rtl .fc-datagrid-cell-resizer { left: -3px } .fc-direction-ltr .fc-datagrid-expander { margin-right: 3px } .fc-direction-rtl .fc-datagrid-expander { margin-left: 3px }