@define-color event_shadow_color alpha(black, 0.2);

/* Header labels */
label.primary-label {
    font-size: 16pt;
    font-weight: bold;
    color: @theme_selected_bg_color;
    padding: 12px;
}

label.secondary-label {
    font-size: 16pt;
    font-weight: bold;
    padding: 12px;
    color: alpha(@theme_fg_color, 0.55);
}

calendar-view {
    font-size: 10pt;
}

calendar-view.header,
label.header {
    font-size: 10pt;
    font-weight: bold;
    color: alpha(@theme_fg_color, 0.55);
}

calendar-view.current,
weekgrid.current {
    background-color: alpha(@theme_selected_bg_color, 0.3);
}

calendar-view:selected {
    color: @theme_selected_bg_color;
    font-weight: bold;
}

/* Year View CSS */

.year-navigator grid.month {
  padding: 12px;
}

.year-navigator label.days {
    padding: 5px;
    color: @theme_fg_color;
    font-size: 9pt;
    min-width: 18px;
    min-height: 18px;
}

.year-navigator label.non-workday {
    color: alpha(@theme_fg_color, 0.5);
}

.year-navigator label.week-number {
    font-size: 0.5rem;
    border-radius: 50%;
    background-color: alpha(@theme_fg_color, 0.05);
    color: alpha(@theme_fg_color, 0.4);
    min-width: 18px;
    min-height: 18px;
}

.year-navigator .current label {
    color: @accent_fg_color;
    background-color: @accent_bg_color;
    border-radius: 50%;
    font-weight: bold;
}

.year-navigator dot {
    transform: translateX(-1px) translateY(-3px);
    background-color: @theme_fg_color;
    border-radius: 3px;
    min-width: 3px;
    min-height: 3px;
}

.year-navigator .current dot {
    background-color: @accent_fg_color;
}


.year-navigator .non-workday dot {
    background-color: alpha(@theme_fg_color, 0.5);
}

popover.events {
    background-color: @theme_bg_color;
    padding: 0;
}

popover.events box {
    border-top-left-radius: 6px;
    border-top-right-radius: 6px;
}

popover.events list {
    background-color: @theme_bg_color;
    border-radius: 6px;
}

popover.events scrolledwindow {
    border-width: 0;
}

popover.events button {
    border-radius: 6px;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
    border-style: solid none none;
    box-shadow: none;
}


/*
 * Event widget
 */

event {
    border-radius: 2px;
    margin: 0 1px 1px 2px;
    font-size: 0.9rem;
}

event.vertical.timed {
  padding: 3px 6px;
}

event.color-dark.horizontal.timed,
event.color-light.horizontal.timed {
    margin-bottom: 0;
    border-radius: 0;
    color: inherit;
}

event.color-dark {
    color: @light_1;
    outline-color: rgba(0, 0, 0, 0.3);
}

event.color-dark:backdrop {
    color: @light_3;
}

event.color-light {
    color: alpha(@dark_5, 0.8);
    outline-color: rgba(255, 255, 255, 0.5);
}

event.color-light:backdrop {
    color: @dark_3;
}

/* Event Popover */
popover.event-popover,
popover.event-popover > contents {
  padding: 0;
}

.search-viewport {
  background-color: @theme_base_color;
}

/* calendar popover */
.calendar-list {
    background-color: transparent;
}

.calendar-list > list {
    border-radius: 4px;
}

/* Edit dialog's header button */
.sources-button {
    margin-top: 0;
    margin-bottom: 0;
    border-radius: 0;
    border-top-style: none;
    border-bottom-style: none;
}

.sources-button:hover:not(:backdrop) {
    background-image: none;
    text-shadow: none;
}

/* defeats the ugly hover effect of the calendar color dot on buttons */
.calendar-color-image {
    -gtk-icon-filter: none;
}

/* adds a subtle shadow to the calendar color dot when it makes sense */
image.calendar-color-image,
button:active:not(:backdrop) .calendar-color-image,
button:checked:not(:backdrop) .calendar-color-image,
.calendars-list .calendar-color-image:not(:backdrop):not(:disabled),
.calendar-list .calendar-color-image:not(:backdrop):not(:disabled),
.sources-button:not(:backdrop):not(:disabled) .calendar-color-image {
    -gtk-icon-shadow: 0 1px alpha(black, 0.1);
}


/* Date chooser */

/* month/year controls */
datechooser navigator { /* add some space between the two controls */
  margin-right: 6px;
  margin-left: 6px;
  margin-bottom: 6px;
}

datechooser navigator label {
  font-weight: bold;
}

datechooser navigator button {
  padding: 0;
}

/* day names and week numbers*/
datechooser .weeknum,
datechooser .weekday {
  color: @insensitive_fg_color;
  font-size: smaller;
}

datechooser .weeknum:backdrop,
datechooser .weekday:backdrop {
  color: @unfocused_insensitive_color;
}

/* days */
datechooser day {
  transition-property: background-color;
  transition-duration: 200ms;
}

datechooser day label {
  transition-property: color;
  transition-duration: 200ms;
}

datechooser day {
  min-height: 32px;
  min-width: 32px;
  border-radius: 50%;
}

datechooser day.other-month:not(:hover),
datechooser day.other-month:backdrop {
  color: alpha(currentColor, 0.1);
}

/* avoid the theme interfering with label colors */
datechooser day:selected label,
datechooser day.other-month label:hover,
datechooser day.other-month label:backdrop {
  color: currentColor;
}

/* hovered days style */
datechooser day:hover:not(:backdrop) {
  background-color: alpha(currentColor, 0.1);
}

datechooser day.other-month:hover:not(:backdrop) {
  color: @insensitive_fg_color;
}

datechooser day:selected,
datechooser day:selected:hover {
  color: @theme_selected_fg_color;
  background-color: @theme_selected_bg_color;
  font-weight: bold;
}

label.month-name {
    font-size: 16pt;
    font-weight: bold;
    color: @theme_selected_bg_color;
    padding: 12px;
}

/* Week View CSS */

.week-header {
    padding: 0px;
    border-bottom: solid @borders 1px;
}

.week-header .week-number {
    font-size: 16pt;
    font-weight: bold;
    padding: 12px 12px 18px 12px;
    color: alpha(@theme_fg_color, 0.25);
}

.week-header.week-temperature {
    font-size: 10pt;
    font-weight: bold;
    color: alpha(@theme_fg_color, 0.55);
}

.week-header.lines {
    color: alpha(@window_fg_color, 0.15);
}

weekhourbar > label {
    font-size: 10pt;
    padding: 4px 6px;
}

.week-view .lines {
    color: alpha(@window_fg_color, 0.15);
}

weekgrid > widget.now-strip {
    background-color: alpha(@accent_bg_color, 0.8);
    margin: 0 0 0 1px;
    min-height: 2px;
}

weekgrid:selected,
.week-header:selected {
    background-color: alpha(@accent_bg_color, 0.25);
}

weekgrid.dnd, .week-header.dnd {
    background-color: alpha(@accent_bg_color, 0.25);
}

/*
 * Month cell
 */

monthcell {
    border: solid 1px alpha(@borders, 0.3);
    border-width: 1px 0 0 1px;
    background: transparent;
    transition: background-color 200ms;
}

monthcell:selected { background-color: alpha(@theme_selected_bg_color, 0.1); }
monthcell:selected label.day-label { font-weight: bold; }

monthcell:nth-child(7n + 1) { border-left-width: 0; }

monthcell.today { background-color: alpha(@theme_selected_bg_color, 0.25); }
monthcell:selected.today { background-color: alpha(@theme_selected_bg_color, 0.33); }

monthcell.out-of-month {
    background-color: alpha(@theme_bg_color, 0.4);
}

monthcell label {
    color: @theme_fg_color;
    font-size: 0.9rem;
}

monthcell label.day-label {
    font-size: 1rem;
}

monthcell.out-of-month label {
    color: alpha(@theme_fg_color, 0.66);
}

monthcell:hover:not(.out-of-month) {
    background-color: @theme_bg_color;
    transition: background-color 200ms;
}

monthcell button {
    padding: 0 4px;
    border-radius: 0;
    border-bottom: none;
    border-right: none;
}

/*
 * Month popover
 */

monthpopover > box {
  margin: 4px;
  padding: 12px;
  background-color: @popover_bg_color;
}

.notes-section box > textview {
  border-radius: 8px;
  padding: 8px;
}

.notes-section box > textview > text {
  background: none;
}

/*
 * Search
 */

searchbutton > popover > arrow {
  background: none;
  border: none;
}
