@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 {
    padding: 6px;
    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-view {
    padding: 0px;
}

/* Header the padding if for sizing, on drawing the spacing between cells,
 * and the padding will be automatically calculated
 * Because of year-view widget internals, the color property should be the same
 * of .start-header selector */
.year-navigator {
    padding: 12px;
    color: @theme_selected_bg_color;
}

.year-navigator.header {
    color: @theme_selected_bg_color;
    font-weight: bold;
}

.year-navigator.lines {
    color: alpha(@theme_fg_color, 0.4);
}

.year-navigator.days {
    padding: 5px;
    color: @theme_fg_color;
    font-size: 9pt;
}

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

.year-navigator.week-numbers {
    font-size: 70%;
    font-weight: bold;
    border-radius: 2px;
    background-color: alpha(@theme_fg_color, 0.05);
    color: alpha(@theme_fg_color, 0.4);
}

/* these two are supposed be changed in sync with .calendar-view */
.year-navigator.current {
    background-color: black;
    border-radius: 2px;
    color: white;
    font-weight: bold;
}
.year-navigator:selected {
    color: @theme_selected_bg_color;
    font-weight: bold;
}

.year-navigator:hover {
    background-color: alpha(@theme_fg_color, 0.1);
    border-radius: 2px;
}

.year-navigator.dnd {
    border: solid 1px #4e9a06;
    box-shadow: inset 0 0 0 1px #4e9a06;
}

.year-navigator.with-events {
    background-color: @theme_fg_color;
    border-radius: 3px;
}

.year-navigator.with-events-selected {
    background-color: @theme_selected_bg_color;
}

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

.sidebar-header {
    font-weight: bold;
    font-size: 11pt;
}

.italic-label {
    font-style: italic;
}

.year-view .sidebar {
    padding: 4px;
    border: 1px none @borders;
}

.year-view .sidebar:backdrop {
    border-color: @unfocused_borders;
}

.year-view .sidebar:dir(ltr) {
    border-left-style: solid;
}
.year-view .sidebar:dir(rtl) {
    border-right-style: solid;
}

/* no events label */
.year-view box.sidebar label:nth-child(2) {
    margin-top: 4px;
}

.year-view button {
    border-radius: 0;
    border-bottom-style: none;
}

.year-view button:dir(ltr) {
    border-right-style: none;
}

.year-view button:dir(rtl) {
    border-left-style: none;
}


.year-view scrolledwindow {
    border-top-width: 0;
    border-bottom-width: 0;
}

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.color-dark.horizontal.timed,
event.color-light.horizontal.timed {
    margin-bottom: 0;
    border-radius: 0;
    color: @theme_fg_color;
}

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

event.color-dark:backdrop {
    color: rgba(255, 255, 255, 0.3);
}

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

event.color-light:backdrop {
    color: rgba(0, 0, 0, 0.3);
}

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

popover.event-popover > box > button {
  border-left-width: 0;
  border-right-width: 0;
  border-bottom-width: 0;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

popover.event-popover textview.view,
popover.event-popover textview.view text {
  background-color: transparent;
}

.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-effect: 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: alpha(@theme_selected_bg_color, 0.75);
    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-names, .week-header.week-temperature {
    font-size: 10pt;
    font-weight: bold;
    color: alpha(@theme_fg_color, 0.55);
}

.week-header.week-dates {
    font-size: 16pt;
    font-weight: bold;
    color: alpha(@theme_fg_color, 0.70);
}

.week-header.lines {
    color: alpha(@theme_fg_color, 0.4);
}

.week-header .margin {
    color: alpha(@theme_fg_color, 0.6);
}

.week-header .today {
    color: @theme_selected_bg_color;
}

.week-view {
    padding: 0px;
}

.week-view .hours {
    font-size: 10pt;
    color: alpha(@theme_fg_color, 0.8);
    padding: 8px 12px;
}

.week-view .lines {
    color: alpha(@theme_fg_color, 0.30);
}

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

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

.week-header:selected {
    border: solid 1px alpha(@theme_selected_bg_color, 0.8);
}


/*
 * Month cell
 */

monthcell {
    border: solid 1px alpha(@borders, 0.3);
    border-width: 1px 0 0 1px;
    background: transparent;
    padding: 1px 3px 0 3px;
    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 { background: transparent; }

monthpopover > box {
  margin: 4px;
  border: 1px solid @borders;
  box-shadow: 0px 0px 2px @wm_shadow;
  padding: 12px;
  background: @theme_bg_color;
}
