property_hire/app/assets/stylesheets/property_hire_calendar.scss

1130 lines
23 KiB
SCSS

#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 <th> */
/* 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 }