diff --git a/src/assets/gnome-shell/assets-dark/calendar-today.svg b/src/assets/gnome-shell/assets-dark/calendar-today.svg
new file mode 100644
index 0000000..5e77084
--- /dev/null
+++ b/src/assets/gnome-shell/assets-dark/calendar-today.svg
@@ -0,0 +1,178 @@
+
+
+
+
diff --git a/src/assets/gnome-shell/assets-light/calendar-today.svg b/src/assets/gnome-shell/assets-light/calendar-today.svg
new file mode 100644
index 0000000..03405a4
--- /dev/null
+++ b/src/assets/gnome-shell/assets-light/calendar-today.svg
@@ -0,0 +1,5 @@
+
diff --git a/src/main/gnome-shell/gnome-shell-dark-alt.css b/src/main/gnome-shell/gnome-shell-dark-alt.css
index 91decaa..33a5f32 100644
--- a/src/main/gnome-shell/gnome-shell-dark-alt.css
+++ b/src/main/gnome-shell/gnome-shell-dark-alt.css
@@ -1445,6 +1445,39 @@ StScrollBar StButton#vhandle:active, StScrollBar StButton#hhandle:active {
   border: none;
 }
 
+.message, .world-clocks-button,
+.weather-button,
+.events-button,
+.events-section-title {
+  border-radius: 10px;
+  border: none;
+  box-shadow: none;
+  background-color: rgba(56, 56, 56, 0.75);
+  text-shadow: none;
+  color: #afafaf;
+}
+
+.message:hover, .world-clocks-button:hover,
+.weather-button:hover,
+.events-button:hover,
+.events-section-title:hover, .message:focus, .world-clocks-button:focus,
+.weather-button:focus,
+.events-button:focus,
+.events-section-title:focus {
+  color: #dedede;
+  background-color: rgba(74, 74, 74, 0.75);
+  box-shadow: 0 3px 5px rgba(0, 0, 0, 0.1);
+}
+
+.message:active, .world-clocks-button:active,
+.weather-button:active,
+.events-button:active,
+.events-section-title:active {
+  color: #dedede;
+  background-color: rgba(62, 62, 62, 0.75);
+  box-shadow: none;
+}
+
 .clock-display-box {
   spacing: 4px;
 }
@@ -1459,14 +1492,15 @@ StScrollBar StButton#vhandle:active, StScrollBar StButton#hhandle:active {
 }
 
 .calendar {
-  margin-bottom: 0;
+  margin: 4px 12px 6px;
   border: none;
   box-shadow: none;
-  background: none;
-  padding: 0;
+  background-color: rgba(56, 56, 56, 0.75);
+  padding: 4px 8px;
+  text-shadow: none;
+  border-radius: 10px;
 }
 
-.calendar,
 .datemenu-today-button,
 .datemenu-displays-box,
 .message-list-sections {
@@ -1497,6 +1531,12 @@ StScrollBar StButton#vhandle:active, StScrollBar StButton#hhandle:active {
 
 .datemenu-today-button {
   min-height: 48px;
+  border: none;
+  box-shadow: none;
+  background: none;
+  padding: 4px 8px;
+  text-shadow: none;
+  color: #afafaf;
 }
 
 .datemenu-today-button .date-label {
@@ -1504,132 +1544,14 @@ StScrollBar StButton#vhandle:active, StScrollBar StButton#hhandle:active {
   font-weight: 400;
 }
 
-.message-list-section-list:ltr {
-  padding-left: 0;
-}
-
-.message-list-section-list:rtl {
-  padding-right: 0;
-}
-
-.datemenu-today-button,
-.world-clocks-button,
-.weather-button,
-.events-section-title {
-  min-height: 20px;
-  padding: 4px 8px;
-  border-radius: 6px;
-  border: none;
-  box-shadow: none;
-  background: none;
-  text-shadow: none;
-  color: #afafaf;
-}
-
-.datemenu-today-button:hover, .datemenu-today-button:focus,
-.world-clocks-button:hover,
-.world-clocks-button:focus,
-.weather-button:hover,
-.weather-button:focus,
-.events-section-title:hover,
-.events-section-title:focus {
-  color: #dedede;
-  background-color: rgba(255, 255, 255, 0.06);
-}
-
-.datemenu-today-button:active,
-.world-clocks-button:active,
-.weather-button:active,
-.events-section-title:active {
-  color: #dedede;
-  background-color: rgba(255, 255, 255, 0.1);
-}
-
-.world-clocks-header,
-.weather-header,
-.events-section-title {
-  color: #afafaf;
-  font-weight: bold;
-}
-
-/* World Clock */
-.world-clocks-grid,
-.weather-grid {
-  spacing-rows: 0.4em;
-  spacing-columns: 0.8em;
-}
-
-.world-clocks-city {
-  color: #999999;
-  font-weight: bold;
-  font-size: 0.9em;
-}
-
-.world-clocks-time {
-  color: #999999;
-  font-feature-settings: "tnum";
-  font-size: 1.2em;
-}
-
-.world-clocks-timezone {
-  color: #999999;
-  font-feature-settings: "tnum";
-  font-size: 0.9em;
-}
-
-/* Weather */
-.weather-button {
-  padding: 12px;
-}
-
-.weather-button .weather-box {
-  spacing: 0.5em;
-}
-
-.weather-button .weather-header-box {
-  spacing: 6px;
-}
-
-.weather-button .weather-header {
-  color: #afafaf;
-  font-weight: bold;
-}
-
-.weather-button .weather-header.location {
-  font-weight: normal;
-  color: #999999;
-}
-
-.weather-button .weather-grid {
-  spacing-rows: 6px;
-  spacing-columns: 12px;
-}
-
-.weather-button .weather-forecast-time {
-  color: #afafaf;
-  font-feature-settings: "tnum";
-  font-size: 9pt;
-  font-weight: normal;
-  padding-top: 0.2em;
-  padding-bottom: 0.4em;
-}
-
-.weather-button .weather-forecast-icon {
-  icon-size: 32px;
-}
-
-.weather-button .weather-forecast-temp {
-  font-weight: bold;
-}
-
 .calendar-month-label {
   height: 20px;
   margin: 2px;
   padding: 6px 16px;
-  border-radius: 6px;
   color: #dedede;
   font-weight: bold;
   text-align: center;
+  text-shadow: none;
 }
 
 .calendar-month-label:focus {
@@ -1694,14 +1616,14 @@ StScrollBar StButton#vhandle:active, StScrollBar StButton#hhandle:active {
 }
 
 .calendar-day-base:active {
-  color: inherit;
+  color: #afafaf;
   background-color: rgba(255, 255, 255, 0.1);
   border-color: transparent;
 }
 
 .calendar-day-base:selected {
-  color: rgba(255, 255, 255, 0.85);
-  background-color: #0860f2;
+  color: #dedede;
+  background-color: rgba(255, 255, 255, 0.1);
   border-color: transparent;
 }
 
@@ -1758,10 +1680,8 @@ StScrollBar StButton#vhandle:active, StScrollBar StButton#hhandle:active {
 }
 
 .calendar-day-with-events {
-  color: #3484e2;
-  font-weight: normal;
-  text-decoration: underline;
-  background-image: none;
+  color: #999999;
+  background-image: url("assets/calendar-today.svg");
 }
 
 .calendar-day-with-events.calendar-work-day {
@@ -1775,18 +1695,126 @@ StScrollBar StButton#vhandle:active, StScrollBar StButton#hhandle:active {
 }
 
 .calendar-week-number {
-  width: 28px;
-  height: 21px;
-  margin: 2px;
-  padding: 7px 0 0;
-  border-radius: 100px;
-  background-color: transparent;
+  width: 22px;
+  height: 16px;
+  margin: 6px 6px 6px 4px;
+  padding: 0 0;
+  border-radius: 6px;
+  background-color: rgba(255, 255, 255, 0.05);
   color: #999999;
   font-size: inherit;
   font-weight: bold;
   text-align: center;
 }
 
+.world-clocks-button,
+.weather-button,
+.events-button,
+.events-section-title {
+  min-height: 20px;
+  padding: 4px 8px;
+}
+
+.world-clocks-header,
+.weather-header,
+.events-section-title {
+  color: #afafaf;
+  font-weight: bold;
+}
+
+/* Events */
+.events-button .events-box {
+  spacing: 6px;
+}
+
+.events-button .events-list {
+  spacing: 12px;
+  text-shadow: none;
+}
+
+.events-button .events-title {
+  color: #999999;
+  font-weight: bold;
+  margin-bottom: 4px;
+  text-shadow: none;
+}
+
+.events-button .event-time {
+  color: #999999;
+  font-feature-settings: "tnum";
+}
+
+/* World Clock */
+.world-clocks-grid,
+.weather-grid {
+  spacing-rows: 0.4em;
+  spacing-columns: 0.8em;
+}
+
+.world-clocks-city {
+  color: #999999;
+  font-weight: bold;
+  font-size: 0.9em;
+}
+
+.world-clocks-time {
+  color: #999999;
+  font-feature-settings: "tnum";
+  font-size: 1.2em;
+}
+
+.world-clocks-timezone {
+  color: #999999;
+  font-feature-settings: "tnum";
+  font-size: 0.9em;
+}
+
+/* Weather */
+.weather-button {
+  padding: 12px;
+  margin-bottom: 6px;
+}
+
+.weather-button .weather-box {
+  spacing: 0.5em;
+}
+
+.weather-button .weather-header-box {
+  spacing: 6px;
+}
+
+.weather-button .weather-header {
+  color: #afafaf;
+  font-weight: bold;
+}
+
+.weather-button .weather-header.location {
+  font-weight: normal;
+  color: #999999;
+}
+
+.weather-button .weather-grid {
+  spacing-rows: 6px;
+  spacing-columns: 12px;
+}
+
+.weather-button .weather-forecast-time {
+  color: #afafaf;
+  font-feature-settings: "tnum";
+  font-size: 9pt;
+  font-weight: normal;
+  padding-top: 0.2em;
+  padding-bottom: 0.4em;
+}
+
+.weather-button .weather-forecast-icon {
+  icon-size: 32px;
+}
+
+.weather-button .weather-forecast-temp {
+  font-weight: bold;
+}
+
 /* Message list */
 .message-list {
   width: 31.5em;
@@ -1817,6 +1845,14 @@ StScrollBar StButton#vhandle:active, StScrollBar StButton#hhandle:active {
   spacing: 8px;
 }
 
+.message-list-section-list:ltr {
+  padding-left: 0;
+}
+
+.message-list-section-list:rtl {
+  padding-right: 0;
+}
+
 .message-list-controls {
   margin: 8px 16px 0;
   padding: 4px;
@@ -1824,23 +1860,11 @@ StScrollBar StButton#vhandle:active, StScrollBar StButton#hhandle:active {
 }
 
 .message {
-  border-radius: 6px;
-  border: none;
-  color: #afafaf;
-  background-color: transparent;
-  margin: 4px;
-  box-shadow: none;
-  text-shadow: none;
+  margin: 2px 4px 6px;
 }
 
-.message:hover, .message:focus {
-  color: #dedede;
-  background-color: #383838;
-}
-
-.message:active {
-  color: #dedede;
-  background-color: rgba(56, 56, 56, 0.8);
+.message:first-child {
+  margin-top: 8px;
 }
 
 .message .message-icon-bin {
diff --git a/src/main/gnome-shell/gnome-shell-dark-solid-alt.css b/src/main/gnome-shell/gnome-shell-dark-solid-alt.css
index 81e2de5..95ee5cc 100644
--- a/src/main/gnome-shell/gnome-shell-dark-solid-alt.css
+++ b/src/main/gnome-shell/gnome-shell-dark-solid-alt.css
@@ -1445,6 +1445,39 @@ StScrollBar StButton#vhandle:active, StScrollBar StButton#hhandle:active {
   border: none;
 }
 
+.message, .world-clocks-button,
+.weather-button,
+.events-button,
+.events-section-title {
+  border-radius: 10px;
+  border: none;
+  box-shadow: none;
+  background-color: rgba(56, 56, 56, 0.75);
+  text-shadow: none;
+  color: #afafaf;
+}
+
+.message:hover, .world-clocks-button:hover,
+.weather-button:hover,
+.events-button:hover,
+.events-section-title:hover, .message:focus, .world-clocks-button:focus,
+.weather-button:focus,
+.events-button:focus,
+.events-section-title:focus {
+  color: #dedede;
+  background-color: rgba(74, 74, 74, 0.75);
+  box-shadow: 0 3px 5px rgba(0, 0, 0, 0.1);
+}
+
+.message:active, .world-clocks-button:active,
+.weather-button:active,
+.events-button:active,
+.events-section-title:active {
+  color: #dedede;
+  background-color: rgba(62, 62, 62, 0.75);
+  box-shadow: none;
+}
+
 .clock-display-box {
   spacing: 4px;
 }
@@ -1459,14 +1492,15 @@ StScrollBar StButton#vhandle:active, StScrollBar StButton#hhandle:active {
 }
 
 .calendar {
-  margin-bottom: 0;
+  margin: 4px 12px 6px;
   border: none;
   box-shadow: none;
-  background: none;
-  padding: 0;
+  background-color: rgba(56, 56, 56, 0.75);
+  padding: 4px 8px;
+  text-shadow: none;
+  border-radius: 10px;
 }
 
-.calendar,
 .datemenu-today-button,
 .datemenu-displays-box,
 .message-list-sections {
@@ -1497,6 +1531,12 @@ StScrollBar StButton#vhandle:active, StScrollBar StButton#hhandle:active {
 
 .datemenu-today-button {
   min-height: 48px;
+  border: none;
+  box-shadow: none;
+  background: none;
+  padding: 4px 8px;
+  text-shadow: none;
+  color: #afafaf;
 }
 
 .datemenu-today-button .date-label {
@@ -1504,132 +1544,14 @@ StScrollBar StButton#vhandle:active, StScrollBar StButton#hhandle:active {
   font-weight: 400;
 }
 
-.message-list-section-list:ltr {
-  padding-left: 0;
-}
-
-.message-list-section-list:rtl {
-  padding-right: 0;
-}
-
-.datemenu-today-button,
-.world-clocks-button,
-.weather-button,
-.events-section-title {
-  min-height: 20px;
-  padding: 4px 8px;
-  border-radius: 6px;
-  border: none;
-  box-shadow: none;
-  background: none;
-  text-shadow: none;
-  color: #afafaf;
-}
-
-.datemenu-today-button:hover, .datemenu-today-button:focus,
-.world-clocks-button:hover,
-.world-clocks-button:focus,
-.weather-button:hover,
-.weather-button:focus,
-.events-section-title:hover,
-.events-section-title:focus {
-  color: #dedede;
-  background-color: rgba(255, 255, 255, 0.06);
-}
-
-.datemenu-today-button:active,
-.world-clocks-button:active,
-.weather-button:active,
-.events-section-title:active {
-  color: #dedede;
-  background-color: rgba(255, 255, 255, 0.1);
-}
-
-.world-clocks-header,
-.weather-header,
-.events-section-title {
-  color: #afafaf;
-  font-weight: bold;
-}
-
-/* World Clock */
-.world-clocks-grid,
-.weather-grid {
-  spacing-rows: 0.4em;
-  spacing-columns: 0.8em;
-}
-
-.world-clocks-city {
-  color: #999999;
-  font-weight: bold;
-  font-size: 0.9em;
-}
-
-.world-clocks-time {
-  color: #999999;
-  font-feature-settings: "tnum";
-  font-size: 1.2em;
-}
-
-.world-clocks-timezone {
-  color: #999999;
-  font-feature-settings: "tnum";
-  font-size: 0.9em;
-}
-
-/* Weather */
-.weather-button {
-  padding: 12px;
-}
-
-.weather-button .weather-box {
-  spacing: 0.5em;
-}
-
-.weather-button .weather-header-box {
-  spacing: 6px;
-}
-
-.weather-button .weather-header {
-  color: #afafaf;
-  font-weight: bold;
-}
-
-.weather-button .weather-header.location {
-  font-weight: normal;
-  color: #999999;
-}
-
-.weather-button .weather-grid {
-  spacing-rows: 6px;
-  spacing-columns: 12px;
-}
-
-.weather-button .weather-forecast-time {
-  color: #afafaf;
-  font-feature-settings: "tnum";
-  font-size: 9pt;
-  font-weight: normal;
-  padding-top: 0.2em;
-  padding-bottom: 0.4em;
-}
-
-.weather-button .weather-forecast-icon {
-  icon-size: 32px;
-}
-
-.weather-button .weather-forecast-temp {
-  font-weight: bold;
-}
-
 .calendar-month-label {
   height: 20px;
   margin: 2px;
   padding: 6px 16px;
-  border-radius: 6px;
   color: #dedede;
   font-weight: bold;
   text-align: center;
+  text-shadow: none;
 }
 
 .calendar-month-label:focus {
@@ -1694,14 +1616,14 @@ StScrollBar StButton#vhandle:active, StScrollBar StButton#hhandle:active {
 }
 
 .calendar-day-base:active {
-  color: inherit;
+  color: #afafaf;
   background-color: rgba(255, 255, 255, 0.1);
   border-color: transparent;
 }
 
 .calendar-day-base:selected {
-  color: rgba(255, 255, 255, 0.85);
-  background-color: #0860f2;
+  color: #dedede;
+  background-color: rgba(255, 255, 255, 0.1);
   border-color: transparent;
 }
 
@@ -1758,10 +1680,8 @@ StScrollBar StButton#vhandle:active, StScrollBar StButton#hhandle:active {
 }
 
 .calendar-day-with-events {
-  color: #3484e2;
-  font-weight: normal;
-  text-decoration: underline;
-  background-image: none;
+  color: #999999;
+  background-image: url("assets/calendar-today.svg");
 }
 
 .calendar-day-with-events.calendar-work-day {
@@ -1775,18 +1695,126 @@ StScrollBar StButton#vhandle:active, StScrollBar StButton#hhandle:active {
 }
 
 .calendar-week-number {
-  width: 28px;
-  height: 21px;
-  margin: 2px;
-  padding: 7px 0 0;
-  border-radius: 100px;
-  background-color: transparent;
+  width: 22px;
+  height: 16px;
+  margin: 6px 6px 6px 4px;
+  padding: 0 0;
+  border-radius: 6px;
+  background-color: rgba(255, 255, 255, 0.05);
   color: #999999;
   font-size: inherit;
   font-weight: bold;
   text-align: center;
 }
 
+.world-clocks-button,
+.weather-button,
+.events-button,
+.events-section-title {
+  min-height: 20px;
+  padding: 4px 8px;
+}
+
+.world-clocks-header,
+.weather-header,
+.events-section-title {
+  color: #afafaf;
+  font-weight: bold;
+}
+
+/* Events */
+.events-button .events-box {
+  spacing: 6px;
+}
+
+.events-button .events-list {
+  spacing: 12px;
+  text-shadow: none;
+}
+
+.events-button .events-title {
+  color: #999999;
+  font-weight: bold;
+  margin-bottom: 4px;
+  text-shadow: none;
+}
+
+.events-button .event-time {
+  color: #999999;
+  font-feature-settings: "tnum";
+}
+
+/* World Clock */
+.world-clocks-grid,
+.weather-grid {
+  spacing-rows: 0.4em;
+  spacing-columns: 0.8em;
+}
+
+.world-clocks-city {
+  color: #999999;
+  font-weight: bold;
+  font-size: 0.9em;
+}
+
+.world-clocks-time {
+  color: #999999;
+  font-feature-settings: "tnum";
+  font-size: 1.2em;
+}
+
+.world-clocks-timezone {
+  color: #999999;
+  font-feature-settings: "tnum";
+  font-size: 0.9em;
+}
+
+/* Weather */
+.weather-button {
+  padding: 12px;
+  margin-bottom: 6px;
+}
+
+.weather-button .weather-box {
+  spacing: 0.5em;
+}
+
+.weather-button .weather-header-box {
+  spacing: 6px;
+}
+
+.weather-button .weather-header {
+  color: #afafaf;
+  font-weight: bold;
+}
+
+.weather-button .weather-header.location {
+  font-weight: normal;
+  color: #999999;
+}
+
+.weather-button .weather-grid {
+  spacing-rows: 6px;
+  spacing-columns: 12px;
+}
+
+.weather-button .weather-forecast-time {
+  color: #afafaf;
+  font-feature-settings: "tnum";
+  font-size: 9pt;
+  font-weight: normal;
+  padding-top: 0.2em;
+  padding-bottom: 0.4em;
+}
+
+.weather-button .weather-forecast-icon {
+  icon-size: 32px;
+}
+
+.weather-button .weather-forecast-temp {
+  font-weight: bold;
+}
+
 /* Message list */
 .message-list {
   width: 31.5em;
@@ -1817,6 +1845,14 @@ StScrollBar StButton#vhandle:active, StScrollBar StButton#hhandle:active {
   spacing: 8px;
 }
 
+.message-list-section-list:ltr {
+  padding-left: 0;
+}
+
+.message-list-section-list:rtl {
+  padding-right: 0;
+}
+
 .message-list-controls {
   margin: 8px 16px 0;
   padding: 4px;
@@ -1824,23 +1860,11 @@ StScrollBar StButton#vhandle:active, StScrollBar StButton#hhandle:active {
 }
 
 .message {
-  border-radius: 6px;
-  border: none;
-  color: #afafaf;
-  background-color: transparent;
-  margin: 4px;
-  box-shadow: none;
-  text-shadow: none;
+  margin: 2px 4px 6px;
 }
 
-.message:hover, .message:focus {
-  color: #dedede;
-  background-color: #383838;
-}
-
-.message:active {
-  color: #dedede;
-  background-color: rgba(56, 56, 56, 0.8);
+.message:first-child {
+  margin-top: 8px;
 }
 
 .message .message-icon-bin {
diff --git a/src/main/gnome-shell/gnome-shell-dark-solid.css b/src/main/gnome-shell/gnome-shell-dark-solid.css
index 81e2de5..95ee5cc 100644
--- a/src/main/gnome-shell/gnome-shell-dark-solid.css
+++ b/src/main/gnome-shell/gnome-shell-dark-solid.css
@@ -1445,6 +1445,39 @@ StScrollBar StButton#vhandle:active, StScrollBar StButton#hhandle:active {
   border: none;
 }
 
+.message, .world-clocks-button,
+.weather-button,
+.events-button,
+.events-section-title {
+  border-radius: 10px;
+  border: none;
+  box-shadow: none;
+  background-color: rgba(56, 56, 56, 0.75);
+  text-shadow: none;
+  color: #afafaf;
+}
+
+.message:hover, .world-clocks-button:hover,
+.weather-button:hover,
+.events-button:hover,
+.events-section-title:hover, .message:focus, .world-clocks-button:focus,
+.weather-button:focus,
+.events-button:focus,
+.events-section-title:focus {
+  color: #dedede;
+  background-color: rgba(74, 74, 74, 0.75);
+  box-shadow: 0 3px 5px rgba(0, 0, 0, 0.1);
+}
+
+.message:active, .world-clocks-button:active,
+.weather-button:active,
+.events-button:active,
+.events-section-title:active {
+  color: #dedede;
+  background-color: rgba(62, 62, 62, 0.75);
+  box-shadow: none;
+}
+
 .clock-display-box {
   spacing: 4px;
 }
@@ -1459,14 +1492,15 @@ StScrollBar StButton#vhandle:active, StScrollBar StButton#hhandle:active {
 }
 
 .calendar {
-  margin-bottom: 0;
+  margin: 4px 12px 6px;
   border: none;
   box-shadow: none;
-  background: none;
-  padding: 0;
+  background-color: rgba(56, 56, 56, 0.75);
+  padding: 4px 8px;
+  text-shadow: none;
+  border-radius: 10px;
 }
 
-.calendar,
 .datemenu-today-button,
 .datemenu-displays-box,
 .message-list-sections {
@@ -1497,6 +1531,12 @@ StScrollBar StButton#vhandle:active, StScrollBar StButton#hhandle:active {
 
 .datemenu-today-button {
   min-height: 48px;
+  border: none;
+  box-shadow: none;
+  background: none;
+  padding: 4px 8px;
+  text-shadow: none;
+  color: #afafaf;
 }
 
 .datemenu-today-button .date-label {
@@ -1504,132 +1544,14 @@ StScrollBar StButton#vhandle:active, StScrollBar StButton#hhandle:active {
   font-weight: 400;
 }
 
-.message-list-section-list:ltr {
-  padding-left: 0;
-}
-
-.message-list-section-list:rtl {
-  padding-right: 0;
-}
-
-.datemenu-today-button,
-.world-clocks-button,
-.weather-button,
-.events-section-title {
-  min-height: 20px;
-  padding: 4px 8px;
-  border-radius: 6px;
-  border: none;
-  box-shadow: none;
-  background: none;
-  text-shadow: none;
-  color: #afafaf;
-}
-
-.datemenu-today-button:hover, .datemenu-today-button:focus,
-.world-clocks-button:hover,
-.world-clocks-button:focus,
-.weather-button:hover,
-.weather-button:focus,
-.events-section-title:hover,
-.events-section-title:focus {
-  color: #dedede;
-  background-color: rgba(255, 255, 255, 0.06);
-}
-
-.datemenu-today-button:active,
-.world-clocks-button:active,
-.weather-button:active,
-.events-section-title:active {
-  color: #dedede;
-  background-color: rgba(255, 255, 255, 0.1);
-}
-
-.world-clocks-header,
-.weather-header,
-.events-section-title {
-  color: #afafaf;
-  font-weight: bold;
-}
-
-/* World Clock */
-.world-clocks-grid,
-.weather-grid {
-  spacing-rows: 0.4em;
-  spacing-columns: 0.8em;
-}
-
-.world-clocks-city {
-  color: #999999;
-  font-weight: bold;
-  font-size: 0.9em;
-}
-
-.world-clocks-time {
-  color: #999999;
-  font-feature-settings: "tnum";
-  font-size: 1.2em;
-}
-
-.world-clocks-timezone {
-  color: #999999;
-  font-feature-settings: "tnum";
-  font-size: 0.9em;
-}
-
-/* Weather */
-.weather-button {
-  padding: 12px;
-}
-
-.weather-button .weather-box {
-  spacing: 0.5em;
-}
-
-.weather-button .weather-header-box {
-  spacing: 6px;
-}
-
-.weather-button .weather-header {
-  color: #afafaf;
-  font-weight: bold;
-}
-
-.weather-button .weather-header.location {
-  font-weight: normal;
-  color: #999999;
-}
-
-.weather-button .weather-grid {
-  spacing-rows: 6px;
-  spacing-columns: 12px;
-}
-
-.weather-button .weather-forecast-time {
-  color: #afafaf;
-  font-feature-settings: "tnum";
-  font-size: 9pt;
-  font-weight: normal;
-  padding-top: 0.2em;
-  padding-bottom: 0.4em;
-}
-
-.weather-button .weather-forecast-icon {
-  icon-size: 32px;
-}
-
-.weather-button .weather-forecast-temp {
-  font-weight: bold;
-}
-
 .calendar-month-label {
   height: 20px;
   margin: 2px;
   padding: 6px 16px;
-  border-radius: 6px;
   color: #dedede;
   font-weight: bold;
   text-align: center;
+  text-shadow: none;
 }
 
 .calendar-month-label:focus {
@@ -1694,14 +1616,14 @@ StScrollBar StButton#vhandle:active, StScrollBar StButton#hhandle:active {
 }
 
 .calendar-day-base:active {
-  color: inherit;
+  color: #afafaf;
   background-color: rgba(255, 255, 255, 0.1);
   border-color: transparent;
 }
 
 .calendar-day-base:selected {
-  color: rgba(255, 255, 255, 0.85);
-  background-color: #0860f2;
+  color: #dedede;
+  background-color: rgba(255, 255, 255, 0.1);
   border-color: transparent;
 }
 
@@ -1758,10 +1680,8 @@ StScrollBar StButton#vhandle:active, StScrollBar StButton#hhandle:active {
 }
 
 .calendar-day-with-events {
-  color: #3484e2;
-  font-weight: normal;
-  text-decoration: underline;
-  background-image: none;
+  color: #999999;
+  background-image: url("assets/calendar-today.svg");
 }
 
 .calendar-day-with-events.calendar-work-day {
@@ -1775,18 +1695,126 @@ StScrollBar StButton#vhandle:active, StScrollBar StButton#hhandle:active {
 }
 
 .calendar-week-number {
-  width: 28px;
-  height: 21px;
-  margin: 2px;
-  padding: 7px 0 0;
-  border-radius: 100px;
-  background-color: transparent;
+  width: 22px;
+  height: 16px;
+  margin: 6px 6px 6px 4px;
+  padding: 0 0;
+  border-radius: 6px;
+  background-color: rgba(255, 255, 255, 0.05);
   color: #999999;
   font-size: inherit;
   font-weight: bold;
   text-align: center;
 }
 
+.world-clocks-button,
+.weather-button,
+.events-button,
+.events-section-title {
+  min-height: 20px;
+  padding: 4px 8px;
+}
+
+.world-clocks-header,
+.weather-header,
+.events-section-title {
+  color: #afafaf;
+  font-weight: bold;
+}
+
+/* Events */
+.events-button .events-box {
+  spacing: 6px;
+}
+
+.events-button .events-list {
+  spacing: 12px;
+  text-shadow: none;
+}
+
+.events-button .events-title {
+  color: #999999;
+  font-weight: bold;
+  margin-bottom: 4px;
+  text-shadow: none;
+}
+
+.events-button .event-time {
+  color: #999999;
+  font-feature-settings: "tnum";
+}
+
+/* World Clock */
+.world-clocks-grid,
+.weather-grid {
+  spacing-rows: 0.4em;
+  spacing-columns: 0.8em;
+}
+
+.world-clocks-city {
+  color: #999999;
+  font-weight: bold;
+  font-size: 0.9em;
+}
+
+.world-clocks-time {
+  color: #999999;
+  font-feature-settings: "tnum";
+  font-size: 1.2em;
+}
+
+.world-clocks-timezone {
+  color: #999999;
+  font-feature-settings: "tnum";
+  font-size: 0.9em;
+}
+
+/* Weather */
+.weather-button {
+  padding: 12px;
+  margin-bottom: 6px;
+}
+
+.weather-button .weather-box {
+  spacing: 0.5em;
+}
+
+.weather-button .weather-header-box {
+  spacing: 6px;
+}
+
+.weather-button .weather-header {
+  color: #afafaf;
+  font-weight: bold;
+}
+
+.weather-button .weather-header.location {
+  font-weight: normal;
+  color: #999999;
+}
+
+.weather-button .weather-grid {
+  spacing-rows: 6px;
+  spacing-columns: 12px;
+}
+
+.weather-button .weather-forecast-time {
+  color: #afafaf;
+  font-feature-settings: "tnum";
+  font-size: 9pt;
+  font-weight: normal;
+  padding-top: 0.2em;
+  padding-bottom: 0.4em;
+}
+
+.weather-button .weather-forecast-icon {
+  icon-size: 32px;
+}
+
+.weather-button .weather-forecast-temp {
+  font-weight: bold;
+}
+
 /* Message list */
 .message-list {
   width: 31.5em;
@@ -1817,6 +1845,14 @@ StScrollBar StButton#vhandle:active, StScrollBar StButton#hhandle:active {
   spacing: 8px;
 }
 
+.message-list-section-list:ltr {
+  padding-left: 0;
+}
+
+.message-list-section-list:rtl {
+  padding-right: 0;
+}
+
 .message-list-controls {
   margin: 8px 16px 0;
   padding: 4px;
@@ -1824,23 +1860,11 @@ StScrollBar StButton#vhandle:active, StScrollBar StButton#hhandle:active {
 }
 
 .message {
-  border-radius: 6px;
-  border: none;
-  color: #afafaf;
-  background-color: transparent;
-  margin: 4px;
-  box-shadow: none;
-  text-shadow: none;
+  margin: 2px 4px 6px;
 }
 
-.message:hover, .message:focus {
-  color: #dedede;
-  background-color: #383838;
-}
-
-.message:active {
-  color: #dedede;
-  background-color: rgba(56, 56, 56, 0.8);
+.message:first-child {
+  margin-top: 8px;
 }
 
 .message .message-icon-bin {
diff --git a/src/main/gnome-shell/gnome-shell-dark.css b/src/main/gnome-shell/gnome-shell-dark.css
index 91decaa..33a5f32 100644
--- a/src/main/gnome-shell/gnome-shell-dark.css
+++ b/src/main/gnome-shell/gnome-shell-dark.css
@@ -1445,6 +1445,39 @@ StScrollBar StButton#vhandle:active, StScrollBar StButton#hhandle:active {
   border: none;
 }
 
+.message, .world-clocks-button,
+.weather-button,
+.events-button,
+.events-section-title {
+  border-radius: 10px;
+  border: none;
+  box-shadow: none;
+  background-color: rgba(56, 56, 56, 0.75);
+  text-shadow: none;
+  color: #afafaf;
+}
+
+.message:hover, .world-clocks-button:hover,
+.weather-button:hover,
+.events-button:hover,
+.events-section-title:hover, .message:focus, .world-clocks-button:focus,
+.weather-button:focus,
+.events-button:focus,
+.events-section-title:focus {
+  color: #dedede;
+  background-color: rgba(74, 74, 74, 0.75);
+  box-shadow: 0 3px 5px rgba(0, 0, 0, 0.1);
+}
+
+.message:active, .world-clocks-button:active,
+.weather-button:active,
+.events-button:active,
+.events-section-title:active {
+  color: #dedede;
+  background-color: rgba(62, 62, 62, 0.75);
+  box-shadow: none;
+}
+
 .clock-display-box {
   spacing: 4px;
 }
@@ -1459,14 +1492,15 @@ StScrollBar StButton#vhandle:active, StScrollBar StButton#hhandle:active {
 }
 
 .calendar {
-  margin-bottom: 0;
+  margin: 4px 12px 6px;
   border: none;
   box-shadow: none;
-  background: none;
-  padding: 0;
+  background-color: rgba(56, 56, 56, 0.75);
+  padding: 4px 8px;
+  text-shadow: none;
+  border-radius: 10px;
 }
 
-.calendar,
 .datemenu-today-button,
 .datemenu-displays-box,
 .message-list-sections {
@@ -1497,6 +1531,12 @@ StScrollBar StButton#vhandle:active, StScrollBar StButton#hhandle:active {
 
 .datemenu-today-button {
   min-height: 48px;
+  border: none;
+  box-shadow: none;
+  background: none;
+  padding: 4px 8px;
+  text-shadow: none;
+  color: #afafaf;
 }
 
 .datemenu-today-button .date-label {
@@ -1504,132 +1544,14 @@ StScrollBar StButton#vhandle:active, StScrollBar StButton#hhandle:active {
   font-weight: 400;
 }
 
-.message-list-section-list:ltr {
-  padding-left: 0;
-}
-
-.message-list-section-list:rtl {
-  padding-right: 0;
-}
-
-.datemenu-today-button,
-.world-clocks-button,
-.weather-button,
-.events-section-title {
-  min-height: 20px;
-  padding: 4px 8px;
-  border-radius: 6px;
-  border: none;
-  box-shadow: none;
-  background: none;
-  text-shadow: none;
-  color: #afafaf;
-}
-
-.datemenu-today-button:hover, .datemenu-today-button:focus,
-.world-clocks-button:hover,
-.world-clocks-button:focus,
-.weather-button:hover,
-.weather-button:focus,
-.events-section-title:hover,
-.events-section-title:focus {
-  color: #dedede;
-  background-color: rgba(255, 255, 255, 0.06);
-}
-
-.datemenu-today-button:active,
-.world-clocks-button:active,
-.weather-button:active,
-.events-section-title:active {
-  color: #dedede;
-  background-color: rgba(255, 255, 255, 0.1);
-}
-
-.world-clocks-header,
-.weather-header,
-.events-section-title {
-  color: #afafaf;
-  font-weight: bold;
-}
-
-/* World Clock */
-.world-clocks-grid,
-.weather-grid {
-  spacing-rows: 0.4em;
-  spacing-columns: 0.8em;
-}
-
-.world-clocks-city {
-  color: #999999;
-  font-weight: bold;
-  font-size: 0.9em;
-}
-
-.world-clocks-time {
-  color: #999999;
-  font-feature-settings: "tnum";
-  font-size: 1.2em;
-}
-
-.world-clocks-timezone {
-  color: #999999;
-  font-feature-settings: "tnum";
-  font-size: 0.9em;
-}
-
-/* Weather */
-.weather-button {
-  padding: 12px;
-}
-
-.weather-button .weather-box {
-  spacing: 0.5em;
-}
-
-.weather-button .weather-header-box {
-  spacing: 6px;
-}
-
-.weather-button .weather-header {
-  color: #afafaf;
-  font-weight: bold;
-}
-
-.weather-button .weather-header.location {
-  font-weight: normal;
-  color: #999999;
-}
-
-.weather-button .weather-grid {
-  spacing-rows: 6px;
-  spacing-columns: 12px;
-}
-
-.weather-button .weather-forecast-time {
-  color: #afafaf;
-  font-feature-settings: "tnum";
-  font-size: 9pt;
-  font-weight: normal;
-  padding-top: 0.2em;
-  padding-bottom: 0.4em;
-}
-
-.weather-button .weather-forecast-icon {
-  icon-size: 32px;
-}
-
-.weather-button .weather-forecast-temp {
-  font-weight: bold;
-}
-
 .calendar-month-label {
   height: 20px;
   margin: 2px;
   padding: 6px 16px;
-  border-radius: 6px;
   color: #dedede;
   font-weight: bold;
   text-align: center;
+  text-shadow: none;
 }
 
 .calendar-month-label:focus {
@@ -1694,14 +1616,14 @@ StScrollBar StButton#vhandle:active, StScrollBar StButton#hhandle:active {
 }
 
 .calendar-day-base:active {
-  color: inherit;
+  color: #afafaf;
   background-color: rgba(255, 255, 255, 0.1);
   border-color: transparent;
 }
 
 .calendar-day-base:selected {
-  color: rgba(255, 255, 255, 0.85);
-  background-color: #0860f2;
+  color: #dedede;
+  background-color: rgba(255, 255, 255, 0.1);
   border-color: transparent;
 }
 
@@ -1758,10 +1680,8 @@ StScrollBar StButton#vhandle:active, StScrollBar StButton#hhandle:active {
 }
 
 .calendar-day-with-events {
-  color: #3484e2;
-  font-weight: normal;
-  text-decoration: underline;
-  background-image: none;
+  color: #999999;
+  background-image: url("assets/calendar-today.svg");
 }
 
 .calendar-day-with-events.calendar-work-day {
@@ -1775,18 +1695,126 @@ StScrollBar StButton#vhandle:active, StScrollBar StButton#hhandle:active {
 }
 
 .calendar-week-number {
-  width: 28px;
-  height: 21px;
-  margin: 2px;
-  padding: 7px 0 0;
-  border-radius: 100px;
-  background-color: transparent;
+  width: 22px;
+  height: 16px;
+  margin: 6px 6px 6px 4px;
+  padding: 0 0;
+  border-radius: 6px;
+  background-color: rgba(255, 255, 255, 0.05);
   color: #999999;
   font-size: inherit;
   font-weight: bold;
   text-align: center;
 }
 
+.world-clocks-button,
+.weather-button,
+.events-button,
+.events-section-title {
+  min-height: 20px;
+  padding: 4px 8px;
+}
+
+.world-clocks-header,
+.weather-header,
+.events-section-title {
+  color: #afafaf;
+  font-weight: bold;
+}
+
+/* Events */
+.events-button .events-box {
+  spacing: 6px;
+}
+
+.events-button .events-list {
+  spacing: 12px;
+  text-shadow: none;
+}
+
+.events-button .events-title {
+  color: #999999;
+  font-weight: bold;
+  margin-bottom: 4px;
+  text-shadow: none;
+}
+
+.events-button .event-time {
+  color: #999999;
+  font-feature-settings: "tnum";
+}
+
+/* World Clock */
+.world-clocks-grid,
+.weather-grid {
+  spacing-rows: 0.4em;
+  spacing-columns: 0.8em;
+}
+
+.world-clocks-city {
+  color: #999999;
+  font-weight: bold;
+  font-size: 0.9em;
+}
+
+.world-clocks-time {
+  color: #999999;
+  font-feature-settings: "tnum";
+  font-size: 1.2em;
+}
+
+.world-clocks-timezone {
+  color: #999999;
+  font-feature-settings: "tnum";
+  font-size: 0.9em;
+}
+
+/* Weather */
+.weather-button {
+  padding: 12px;
+  margin-bottom: 6px;
+}
+
+.weather-button .weather-box {
+  spacing: 0.5em;
+}
+
+.weather-button .weather-header-box {
+  spacing: 6px;
+}
+
+.weather-button .weather-header {
+  color: #afafaf;
+  font-weight: bold;
+}
+
+.weather-button .weather-header.location {
+  font-weight: normal;
+  color: #999999;
+}
+
+.weather-button .weather-grid {
+  spacing-rows: 6px;
+  spacing-columns: 12px;
+}
+
+.weather-button .weather-forecast-time {
+  color: #afafaf;
+  font-feature-settings: "tnum";
+  font-size: 9pt;
+  font-weight: normal;
+  padding-top: 0.2em;
+  padding-bottom: 0.4em;
+}
+
+.weather-button .weather-forecast-icon {
+  icon-size: 32px;
+}
+
+.weather-button .weather-forecast-temp {
+  font-weight: bold;
+}
+
 /* Message list */
 .message-list {
   width: 31.5em;
@@ -1817,6 +1845,14 @@ StScrollBar StButton#vhandle:active, StScrollBar StButton#hhandle:active {
   spacing: 8px;
 }
 
+.message-list-section-list:ltr {
+  padding-left: 0;
+}
+
+.message-list-section-list:rtl {
+  padding-right: 0;
+}
+
 .message-list-controls {
   margin: 8px 16px 0;
   padding: 4px;
@@ -1824,23 +1860,11 @@ StScrollBar StButton#vhandle:active, StScrollBar StButton#hhandle:active {
 }
 
 .message {
-  border-radius: 6px;
-  border: none;
-  color: #afafaf;
-  background-color: transparent;
-  margin: 4px;
-  box-shadow: none;
-  text-shadow: none;
+  margin: 2px 4px 6px;
 }
 
-.message:hover, .message:focus {
-  color: #dedede;
-  background-color: #383838;
-}
-
-.message:active {
-  color: #dedede;
-  background-color: rgba(56, 56, 56, 0.8);
+.message:first-child {
+  margin-top: 8px;
 }
 
 .message .message-icon-bin {
diff --git a/src/main/gnome-shell/gnome-shell-light-alt.css b/src/main/gnome-shell/gnome-shell-light-alt.css
index 817ae38..c26e3b0 100644
--- a/src/main/gnome-shell/gnome-shell-light-alt.css
+++ b/src/main/gnome-shell/gnome-shell-light-alt.css
@@ -1445,6 +1445,39 @@ StScrollBar StButton#vhandle:active, StScrollBar StButton#hhandle:active {
   border: none;
 }
 
+.message, .world-clocks-button,
+.weather-button,
+.events-button,
+.events-section-title {
+  border-radius: 10px;
+  border: none;
+  box-shadow: none;
+  background-color: rgba(255, 255, 255, 0.75);
+  text-shadow: none;
+  color: #424242;
+}
+
+.message:hover, .world-clocks-button:hover,
+.weather-button:hover,
+.events-button:hover,
+.events-section-title:hover, .message:focus, .world-clocks-button:focus,
+.weather-button:focus,
+.events-button:focus,
+.events-section-title:focus {
+  color: #242424;
+  background-color: white;
+  box-shadow: 0 3px 5px rgba(0, 0, 0, 0.1);
+}
+
+.message:active, .world-clocks-button:active,
+.weather-button:active,
+.events-button:active,
+.events-section-title:active {
+  color: #242424;
+  background-color: rgba(255, 255, 255, 0.65);
+  box-shadow: none;
+}
+
 .clock-display-box {
   spacing: 4px;
 }
@@ -1459,14 +1492,15 @@ StScrollBar StButton#vhandle:active, StScrollBar StButton#hhandle:active {
 }
 
 .calendar {
-  margin-bottom: 0;
+  margin: 4px 12px 6px;
   border: none;
   box-shadow: none;
-  background: none;
-  padding: 0;
+  background-color: rgba(255, 255, 255, 0.75);
+  padding: 4px 8px;
+  text-shadow: none;
+  border-radius: 10px;
 }
 
-.calendar,
 .datemenu-today-button,
 .datemenu-displays-box,
 .message-list-sections {
@@ -1497,6 +1531,12 @@ StScrollBar StButton#vhandle:active, StScrollBar StButton#hhandle:active {
 
 .datemenu-today-button {
   min-height: 48px;
+  border: none;
+  box-shadow: none;
+  background: none;
+  padding: 4px 8px;
+  text-shadow: none;
+  color: #424242;
 }
 
 .datemenu-today-button .date-label {
@@ -1504,132 +1544,14 @@ StScrollBar StButton#vhandle:active, StScrollBar StButton#hhandle:active {
   font-weight: 400;
 }
 
-.message-list-section-list:ltr {
-  padding-left: 0;
-}
-
-.message-list-section-list:rtl {
-  padding-right: 0;
-}
-
-.datemenu-today-button,
-.world-clocks-button,
-.weather-button,
-.events-section-title {
-  min-height: 20px;
-  padding: 4px 8px;
-  border-radius: 6px;
-  border: none;
-  box-shadow: none;
-  background: none;
-  text-shadow: none;
-  color: #424242;
-}
-
-.datemenu-today-button:hover, .datemenu-today-button:focus,
-.world-clocks-button:hover,
-.world-clocks-button:focus,
-.weather-button:hover,
-.weather-button:focus,
-.events-section-title:hover,
-.events-section-title:focus {
-  color: #242424;
-  background-color: rgba(0, 0, 0, 0.12);
-}
-
-.datemenu-today-button:active,
-.world-clocks-button:active,
-.weather-button:active,
-.events-section-title:active {
-  color: #242424;
-  background-color: rgba(0, 0, 0, 0.2);
-}
-
-.world-clocks-header,
-.weather-header,
-.events-section-title {
-  color: #424242;
-  font-weight: bold;
-}
-
-/* World Clock */
-.world-clocks-grid,
-.weather-grid {
-  spacing-rows: 0.4em;
-  spacing-columns: 0.8em;
-}
-
-.world-clocks-city {
-  color: #565656;
-  font-weight: bold;
-  font-size: 0.9em;
-}
-
-.world-clocks-time {
-  color: #565656;
-  font-feature-settings: "tnum";
-  font-size: 1.2em;
-}
-
-.world-clocks-timezone {
-  color: #565656;
-  font-feature-settings: "tnum";
-  font-size: 0.9em;
-}
-
-/* Weather */
-.weather-button {
-  padding: 12px;
-}
-
-.weather-button .weather-box {
-  spacing: 0.5em;
-}
-
-.weather-button .weather-header-box {
-  spacing: 6px;
-}
-
-.weather-button .weather-header {
-  color: #424242;
-  font-weight: bold;
-}
-
-.weather-button .weather-header.location {
-  font-weight: normal;
-  color: #565656;
-}
-
-.weather-button .weather-grid {
-  spacing-rows: 6px;
-  spacing-columns: 12px;
-}
-
-.weather-button .weather-forecast-time {
-  color: #424242;
-  font-feature-settings: "tnum";
-  font-size: 9pt;
-  font-weight: normal;
-  padding-top: 0.2em;
-  padding-bottom: 0.4em;
-}
-
-.weather-button .weather-forecast-icon {
-  icon-size: 32px;
-}
-
-.weather-button .weather-forecast-temp {
-  font-weight: bold;
-}
-
 .calendar-month-label {
   height: 20px;
   margin: 2px;
   padding: 6px 16px;
-  border-radius: 6px;
   color: #242424;
   font-weight: bold;
   text-align: center;
+  text-shadow: none;
 }
 
 .calendar-month-label:focus {
@@ -1694,14 +1616,14 @@ StScrollBar StButton#vhandle:active, StScrollBar StButton#hhandle:active {
 }
 
 .calendar-day-base:active {
-  color: inherit;
+  color: #424242;
   background-color: rgba(0, 0, 0, 0.2);
   border-color: transparent;
 }
 
 .calendar-day-base:selected {
-  color: rgba(255, 255, 255, 0.85);
-  background-color: #0860f2;
+  color: #242424;
+  background-color: rgba(0, 0, 0, 0.2);
   border-color: transparent;
 }
 
@@ -1758,10 +1680,8 @@ StScrollBar StButton#vhandle:active, StScrollBar StButton#hhandle:active {
 }
 
 .calendar-day-with-events {
-  color: #3484e2;
-  font-weight: normal;
-  text-decoration: underline;
-  background-image: none;
+  color: #565656;
+  background-image: url("assets/calendar-today.svg");
 }
 
 .calendar-day-with-events.calendar-work-day {
@@ -1775,18 +1695,126 @@ StScrollBar StButton#vhandle:active, StScrollBar StButton#hhandle:active {
 }
 
 .calendar-week-number {
-  width: 28px;
-  height: 21px;
-  margin: 2px;
-  padding: 7px 0 0;
-  border-radius: 100px;
-  background-color: transparent;
+  width: 22px;
+  height: 16px;
+  margin: 6px 6px 6px 4px;
+  padding: 0 0;
+  border-radius: 6px;
+  background-color: rgba(0, 0, 0, 0.05);
   color: #565656;
   font-size: inherit;
   font-weight: bold;
   text-align: center;
 }
 
+.world-clocks-button,
+.weather-button,
+.events-button,
+.events-section-title {
+  min-height: 20px;
+  padding: 4px 8px;
+}
+
+.world-clocks-header,
+.weather-header,
+.events-section-title {
+  color: #424242;
+  font-weight: bold;
+}
+
+/* Events */
+.events-button .events-box {
+  spacing: 6px;
+}
+
+.events-button .events-list {
+  spacing: 12px;
+  text-shadow: none;
+}
+
+.events-button .events-title {
+  color: #565656;
+  font-weight: bold;
+  margin-bottom: 4px;
+  text-shadow: none;
+}
+
+.events-button .event-time {
+  color: #565656;
+  font-feature-settings: "tnum";
+}
+
+/* World Clock */
+.world-clocks-grid,
+.weather-grid {
+  spacing-rows: 0.4em;
+  spacing-columns: 0.8em;
+}
+
+.world-clocks-city {
+  color: #565656;
+  font-weight: bold;
+  font-size: 0.9em;
+}
+
+.world-clocks-time {
+  color: #565656;
+  font-feature-settings: "tnum";
+  font-size: 1.2em;
+}
+
+.world-clocks-timezone {
+  color: #565656;
+  font-feature-settings: "tnum";
+  font-size: 0.9em;
+}
+
+/* Weather */
+.weather-button {
+  padding: 12px;
+  margin-bottom: 6px;
+}
+
+.weather-button .weather-box {
+  spacing: 0.5em;
+}
+
+.weather-button .weather-header-box {
+  spacing: 6px;
+}
+
+.weather-button .weather-header {
+  color: #424242;
+  font-weight: bold;
+}
+
+.weather-button .weather-header.location {
+  font-weight: normal;
+  color: #565656;
+}
+
+.weather-button .weather-grid {
+  spacing-rows: 6px;
+  spacing-columns: 12px;
+}
+
+.weather-button .weather-forecast-time {
+  color: #424242;
+  font-feature-settings: "tnum";
+  font-size: 9pt;
+  font-weight: normal;
+  padding-top: 0.2em;
+  padding-bottom: 0.4em;
+}
+
+.weather-button .weather-forecast-icon {
+  icon-size: 32px;
+}
+
+.weather-button .weather-forecast-temp {
+  font-weight: bold;
+}
+
 /* Message list */
 .message-list {
   width: 31.5em;
@@ -1817,6 +1845,14 @@ StScrollBar StButton#vhandle:active, StScrollBar StButton#hhandle:active {
   spacing: 8px;
 }
 
+.message-list-section-list:ltr {
+  padding-left: 0;
+}
+
+.message-list-section-list:rtl {
+  padding-right: 0;
+}
+
 .message-list-controls {
   margin: 8px 16px 0;
   padding: 4px;
@@ -1824,23 +1860,11 @@ StScrollBar StButton#vhandle:active, StScrollBar StButton#hhandle:active {
 }
 
 .message {
-  border-radius: 6px;
-  border: none;
-  color: #424242;
-  background-color: transparent;
-  margin: 4px;
-  box-shadow: none;
-  text-shadow: none;
+  margin: 2px 4px 6px;
 }
 
-.message:hover, .message:focus {
-  color: #242424;
-  background-color: #ffffff;
-}
-
-.message:active {
-  color: #242424;
-  background-color: rgba(255, 255, 255, 0.8);
+.message:first-child {
+  margin-top: 8px;
 }
 
 .message .message-icon-bin {
diff --git a/src/main/gnome-shell/gnome-shell-light-solid-alt.css b/src/main/gnome-shell/gnome-shell-light-solid-alt.css
index 908efdf..793d20b 100644
--- a/src/main/gnome-shell/gnome-shell-light-solid-alt.css
+++ b/src/main/gnome-shell/gnome-shell-light-solid-alt.css
@@ -1445,6 +1445,39 @@ StScrollBar StButton#vhandle:active, StScrollBar StButton#hhandle:active {
   border: none;
 }
 
+.message, .world-clocks-button,
+.weather-button,
+.events-button,
+.events-section-title {
+  border-radius: 10px;
+  border: none;
+  box-shadow: none;
+  background-color: rgba(255, 255, 255, 0.75);
+  text-shadow: none;
+  color: #424242;
+}
+
+.message:hover, .world-clocks-button:hover,
+.weather-button:hover,
+.events-button:hover,
+.events-section-title:hover, .message:focus, .world-clocks-button:focus,
+.weather-button:focus,
+.events-button:focus,
+.events-section-title:focus {
+  color: #242424;
+  background-color: white;
+  box-shadow: 0 3px 5px rgba(0, 0, 0, 0.1);
+}
+
+.message:active, .world-clocks-button:active,
+.weather-button:active,
+.events-button:active,
+.events-section-title:active {
+  color: #242424;
+  background-color: rgba(255, 255, 255, 0.65);
+  box-shadow: none;
+}
+
 .clock-display-box {
   spacing: 4px;
 }
@@ -1459,14 +1492,15 @@ StScrollBar StButton#vhandle:active, StScrollBar StButton#hhandle:active {
 }
 
 .calendar {
-  margin-bottom: 0;
+  margin: 4px 12px 6px;
   border: none;
   box-shadow: none;
-  background: none;
-  padding: 0;
+  background-color: rgba(255, 255, 255, 0.75);
+  padding: 4px 8px;
+  text-shadow: none;
+  border-radius: 10px;
 }
 
-.calendar,
 .datemenu-today-button,
 .datemenu-displays-box,
 .message-list-sections {
@@ -1497,6 +1531,12 @@ StScrollBar StButton#vhandle:active, StScrollBar StButton#hhandle:active {
 
 .datemenu-today-button {
   min-height: 48px;
+  border: none;
+  box-shadow: none;
+  background: none;
+  padding: 4px 8px;
+  text-shadow: none;
+  color: #424242;
 }
 
 .datemenu-today-button .date-label {
@@ -1504,132 +1544,14 @@ StScrollBar StButton#vhandle:active, StScrollBar StButton#hhandle:active {
   font-weight: 400;
 }
 
-.message-list-section-list:ltr {
-  padding-left: 0;
-}
-
-.message-list-section-list:rtl {
-  padding-right: 0;
-}
-
-.datemenu-today-button,
-.world-clocks-button,
-.weather-button,
-.events-section-title {
-  min-height: 20px;
-  padding: 4px 8px;
-  border-radius: 6px;
-  border: none;
-  box-shadow: none;
-  background: none;
-  text-shadow: none;
-  color: #424242;
-}
-
-.datemenu-today-button:hover, .datemenu-today-button:focus,
-.world-clocks-button:hover,
-.world-clocks-button:focus,
-.weather-button:hover,
-.weather-button:focus,
-.events-section-title:hover,
-.events-section-title:focus {
-  color: #242424;
-  background-color: rgba(0, 0, 0, 0.12);
-}
-
-.datemenu-today-button:active,
-.world-clocks-button:active,
-.weather-button:active,
-.events-section-title:active {
-  color: #242424;
-  background-color: rgba(0, 0, 0, 0.2);
-}
-
-.world-clocks-header,
-.weather-header,
-.events-section-title {
-  color: #424242;
-  font-weight: bold;
-}
-
-/* World Clock */
-.world-clocks-grid,
-.weather-grid {
-  spacing-rows: 0.4em;
-  spacing-columns: 0.8em;
-}
-
-.world-clocks-city {
-  color: #565656;
-  font-weight: bold;
-  font-size: 0.9em;
-}
-
-.world-clocks-time {
-  color: #565656;
-  font-feature-settings: "tnum";
-  font-size: 1.2em;
-}
-
-.world-clocks-timezone {
-  color: #565656;
-  font-feature-settings: "tnum";
-  font-size: 0.9em;
-}
-
-/* Weather */
-.weather-button {
-  padding: 12px;
-}
-
-.weather-button .weather-box {
-  spacing: 0.5em;
-}
-
-.weather-button .weather-header-box {
-  spacing: 6px;
-}
-
-.weather-button .weather-header {
-  color: #424242;
-  font-weight: bold;
-}
-
-.weather-button .weather-header.location {
-  font-weight: normal;
-  color: #565656;
-}
-
-.weather-button .weather-grid {
-  spacing-rows: 6px;
-  spacing-columns: 12px;
-}
-
-.weather-button .weather-forecast-time {
-  color: #424242;
-  font-feature-settings: "tnum";
-  font-size: 9pt;
-  font-weight: normal;
-  padding-top: 0.2em;
-  padding-bottom: 0.4em;
-}
-
-.weather-button .weather-forecast-icon {
-  icon-size: 32px;
-}
-
-.weather-button .weather-forecast-temp {
-  font-weight: bold;
-}
-
 .calendar-month-label {
   height: 20px;
   margin: 2px;
   padding: 6px 16px;
-  border-radius: 6px;
   color: #242424;
   font-weight: bold;
   text-align: center;
+  text-shadow: none;
 }
 
 .calendar-month-label:focus {
@@ -1694,14 +1616,14 @@ StScrollBar StButton#vhandle:active, StScrollBar StButton#hhandle:active {
 }
 
 .calendar-day-base:active {
-  color: inherit;
+  color: #424242;
   background-color: rgba(0, 0, 0, 0.2);
   border-color: transparent;
 }
 
 .calendar-day-base:selected {
-  color: rgba(255, 255, 255, 0.85);
-  background-color: #0860f2;
+  color: #242424;
+  background-color: rgba(0, 0, 0, 0.2);
   border-color: transparent;
 }
 
@@ -1758,10 +1680,8 @@ StScrollBar StButton#vhandle:active, StScrollBar StButton#hhandle:active {
 }
 
 .calendar-day-with-events {
-  color: #3484e2;
-  font-weight: normal;
-  text-decoration: underline;
-  background-image: none;
+  color: #565656;
+  background-image: url("assets/calendar-today.svg");
 }
 
 .calendar-day-with-events.calendar-work-day {
@@ -1775,18 +1695,126 @@ StScrollBar StButton#vhandle:active, StScrollBar StButton#hhandle:active {
 }
 
 .calendar-week-number {
-  width: 28px;
-  height: 21px;
-  margin: 2px;
-  padding: 7px 0 0;
-  border-radius: 100px;
-  background-color: transparent;
+  width: 22px;
+  height: 16px;
+  margin: 6px 6px 6px 4px;
+  padding: 0 0;
+  border-radius: 6px;
+  background-color: rgba(0, 0, 0, 0.05);
   color: #565656;
   font-size: inherit;
   font-weight: bold;
   text-align: center;
 }
 
+.world-clocks-button,
+.weather-button,
+.events-button,
+.events-section-title {
+  min-height: 20px;
+  padding: 4px 8px;
+}
+
+.world-clocks-header,
+.weather-header,
+.events-section-title {
+  color: #424242;
+  font-weight: bold;
+}
+
+/* Events */
+.events-button .events-box {
+  spacing: 6px;
+}
+
+.events-button .events-list {
+  spacing: 12px;
+  text-shadow: none;
+}
+
+.events-button .events-title {
+  color: #565656;
+  font-weight: bold;
+  margin-bottom: 4px;
+  text-shadow: none;
+}
+
+.events-button .event-time {
+  color: #565656;
+  font-feature-settings: "tnum";
+}
+
+/* World Clock */
+.world-clocks-grid,
+.weather-grid {
+  spacing-rows: 0.4em;
+  spacing-columns: 0.8em;
+}
+
+.world-clocks-city {
+  color: #565656;
+  font-weight: bold;
+  font-size: 0.9em;
+}
+
+.world-clocks-time {
+  color: #565656;
+  font-feature-settings: "tnum";
+  font-size: 1.2em;
+}
+
+.world-clocks-timezone {
+  color: #565656;
+  font-feature-settings: "tnum";
+  font-size: 0.9em;
+}
+
+/* Weather */
+.weather-button {
+  padding: 12px;
+  margin-bottom: 6px;
+}
+
+.weather-button .weather-box {
+  spacing: 0.5em;
+}
+
+.weather-button .weather-header-box {
+  spacing: 6px;
+}
+
+.weather-button .weather-header {
+  color: #424242;
+  font-weight: bold;
+}
+
+.weather-button .weather-header.location {
+  font-weight: normal;
+  color: #565656;
+}
+
+.weather-button .weather-grid {
+  spacing-rows: 6px;
+  spacing-columns: 12px;
+}
+
+.weather-button .weather-forecast-time {
+  color: #424242;
+  font-feature-settings: "tnum";
+  font-size: 9pt;
+  font-weight: normal;
+  padding-top: 0.2em;
+  padding-bottom: 0.4em;
+}
+
+.weather-button .weather-forecast-icon {
+  icon-size: 32px;
+}
+
+.weather-button .weather-forecast-temp {
+  font-weight: bold;
+}
+
 /* Message list */
 .message-list {
   width: 31.5em;
@@ -1817,6 +1845,14 @@ StScrollBar StButton#vhandle:active, StScrollBar StButton#hhandle:active {
   spacing: 8px;
 }
 
+.message-list-section-list:ltr {
+  padding-left: 0;
+}
+
+.message-list-section-list:rtl {
+  padding-right: 0;
+}
+
 .message-list-controls {
   margin: 8px 16px 0;
   padding: 4px;
@@ -1824,23 +1860,11 @@ StScrollBar StButton#vhandle:active, StScrollBar StButton#hhandle:active {
 }
 
 .message {
-  border-radius: 6px;
-  border: none;
-  color: #424242;
-  background-color: transparent;
-  margin: 4px;
-  box-shadow: none;
-  text-shadow: none;
+  margin: 2px 4px 6px;
 }
 
-.message:hover, .message:focus {
-  color: #242424;
-  background-color: #ffffff;
-}
-
-.message:active {
-  color: #242424;
-  background-color: rgba(255, 255, 255, 0.8);
+.message:first-child {
+  margin-top: 8px;
 }
 
 .message .message-icon-bin {
diff --git a/src/main/gnome-shell/gnome-shell-light-solid.css b/src/main/gnome-shell/gnome-shell-light-solid.css
index 908efdf..793d20b 100644
--- a/src/main/gnome-shell/gnome-shell-light-solid.css
+++ b/src/main/gnome-shell/gnome-shell-light-solid.css
@@ -1445,6 +1445,39 @@ StScrollBar StButton#vhandle:active, StScrollBar StButton#hhandle:active {
   border: none;
 }
 
+.message, .world-clocks-button,
+.weather-button,
+.events-button,
+.events-section-title {
+  border-radius: 10px;
+  border: none;
+  box-shadow: none;
+  background-color: rgba(255, 255, 255, 0.75);
+  text-shadow: none;
+  color: #424242;
+}
+
+.message:hover, .world-clocks-button:hover,
+.weather-button:hover,
+.events-button:hover,
+.events-section-title:hover, .message:focus, .world-clocks-button:focus,
+.weather-button:focus,
+.events-button:focus,
+.events-section-title:focus {
+  color: #242424;
+  background-color: white;
+  box-shadow: 0 3px 5px rgba(0, 0, 0, 0.1);
+}
+
+.message:active, .world-clocks-button:active,
+.weather-button:active,
+.events-button:active,
+.events-section-title:active {
+  color: #242424;
+  background-color: rgba(255, 255, 255, 0.65);
+  box-shadow: none;
+}
+
 .clock-display-box {
   spacing: 4px;
 }
@@ -1459,14 +1492,15 @@ StScrollBar StButton#vhandle:active, StScrollBar StButton#hhandle:active {
 }
 
 .calendar {
-  margin-bottom: 0;
+  margin: 4px 12px 6px;
   border: none;
   box-shadow: none;
-  background: none;
-  padding: 0;
+  background-color: rgba(255, 255, 255, 0.75);
+  padding: 4px 8px;
+  text-shadow: none;
+  border-radius: 10px;
 }
 
-.calendar,
 .datemenu-today-button,
 .datemenu-displays-box,
 .message-list-sections {
@@ -1497,6 +1531,12 @@ StScrollBar StButton#vhandle:active, StScrollBar StButton#hhandle:active {
 
 .datemenu-today-button {
   min-height: 48px;
+  border: none;
+  box-shadow: none;
+  background: none;
+  padding: 4px 8px;
+  text-shadow: none;
+  color: #424242;
 }
 
 .datemenu-today-button .date-label {
@@ -1504,132 +1544,14 @@ StScrollBar StButton#vhandle:active, StScrollBar StButton#hhandle:active {
   font-weight: 400;
 }
 
-.message-list-section-list:ltr {
-  padding-left: 0;
-}
-
-.message-list-section-list:rtl {
-  padding-right: 0;
-}
-
-.datemenu-today-button,
-.world-clocks-button,
-.weather-button,
-.events-section-title {
-  min-height: 20px;
-  padding: 4px 8px;
-  border-radius: 6px;
-  border: none;
-  box-shadow: none;
-  background: none;
-  text-shadow: none;
-  color: #424242;
-}
-
-.datemenu-today-button:hover, .datemenu-today-button:focus,
-.world-clocks-button:hover,
-.world-clocks-button:focus,
-.weather-button:hover,
-.weather-button:focus,
-.events-section-title:hover,
-.events-section-title:focus {
-  color: #242424;
-  background-color: rgba(0, 0, 0, 0.12);
-}
-
-.datemenu-today-button:active,
-.world-clocks-button:active,
-.weather-button:active,
-.events-section-title:active {
-  color: #242424;
-  background-color: rgba(0, 0, 0, 0.2);
-}
-
-.world-clocks-header,
-.weather-header,
-.events-section-title {
-  color: #424242;
-  font-weight: bold;
-}
-
-/* World Clock */
-.world-clocks-grid,
-.weather-grid {
-  spacing-rows: 0.4em;
-  spacing-columns: 0.8em;
-}
-
-.world-clocks-city {
-  color: #565656;
-  font-weight: bold;
-  font-size: 0.9em;
-}
-
-.world-clocks-time {
-  color: #565656;
-  font-feature-settings: "tnum";
-  font-size: 1.2em;
-}
-
-.world-clocks-timezone {
-  color: #565656;
-  font-feature-settings: "tnum";
-  font-size: 0.9em;
-}
-
-/* Weather */
-.weather-button {
-  padding: 12px;
-}
-
-.weather-button .weather-box {
-  spacing: 0.5em;
-}
-
-.weather-button .weather-header-box {
-  spacing: 6px;
-}
-
-.weather-button .weather-header {
-  color: #424242;
-  font-weight: bold;
-}
-
-.weather-button .weather-header.location {
-  font-weight: normal;
-  color: #565656;
-}
-
-.weather-button .weather-grid {
-  spacing-rows: 6px;
-  spacing-columns: 12px;
-}
-
-.weather-button .weather-forecast-time {
-  color: #424242;
-  font-feature-settings: "tnum";
-  font-size: 9pt;
-  font-weight: normal;
-  padding-top: 0.2em;
-  padding-bottom: 0.4em;
-}
-
-.weather-button .weather-forecast-icon {
-  icon-size: 32px;
-}
-
-.weather-button .weather-forecast-temp {
-  font-weight: bold;
-}
-
 .calendar-month-label {
   height: 20px;
   margin: 2px;
   padding: 6px 16px;
-  border-radius: 6px;
   color: #242424;
   font-weight: bold;
   text-align: center;
+  text-shadow: none;
 }
 
 .calendar-month-label:focus {
@@ -1694,14 +1616,14 @@ StScrollBar StButton#vhandle:active, StScrollBar StButton#hhandle:active {
 }
 
 .calendar-day-base:active {
-  color: inherit;
+  color: #424242;
   background-color: rgba(0, 0, 0, 0.2);
   border-color: transparent;
 }
 
 .calendar-day-base:selected {
-  color: rgba(255, 255, 255, 0.85);
-  background-color: #0860f2;
+  color: #242424;
+  background-color: rgba(0, 0, 0, 0.2);
   border-color: transparent;
 }
 
@@ -1758,10 +1680,8 @@ StScrollBar StButton#vhandle:active, StScrollBar StButton#hhandle:active {
 }
 
 .calendar-day-with-events {
-  color: #3484e2;
-  font-weight: normal;
-  text-decoration: underline;
-  background-image: none;
+  color: #565656;
+  background-image: url("assets/calendar-today.svg");
 }
 
 .calendar-day-with-events.calendar-work-day {
@@ -1775,18 +1695,126 @@ StScrollBar StButton#vhandle:active, StScrollBar StButton#hhandle:active {
 }
 
 .calendar-week-number {
-  width: 28px;
-  height: 21px;
-  margin: 2px;
-  padding: 7px 0 0;
-  border-radius: 100px;
-  background-color: transparent;
+  width: 22px;
+  height: 16px;
+  margin: 6px 6px 6px 4px;
+  padding: 0 0;
+  border-radius: 6px;
+  background-color: rgba(0, 0, 0, 0.05);
   color: #565656;
   font-size: inherit;
   font-weight: bold;
   text-align: center;
 }
 
+.world-clocks-button,
+.weather-button,
+.events-button,
+.events-section-title {
+  min-height: 20px;
+  padding: 4px 8px;
+}
+
+.world-clocks-header,
+.weather-header,
+.events-section-title {
+  color: #424242;
+  font-weight: bold;
+}
+
+/* Events */
+.events-button .events-box {
+  spacing: 6px;
+}
+
+.events-button .events-list {
+  spacing: 12px;
+  text-shadow: none;
+}
+
+.events-button .events-title {
+  color: #565656;
+  font-weight: bold;
+  margin-bottom: 4px;
+  text-shadow: none;
+}
+
+.events-button .event-time {
+  color: #565656;
+  font-feature-settings: "tnum";
+}
+
+/* World Clock */
+.world-clocks-grid,
+.weather-grid {
+  spacing-rows: 0.4em;
+  spacing-columns: 0.8em;
+}
+
+.world-clocks-city {
+  color: #565656;
+  font-weight: bold;
+  font-size: 0.9em;
+}
+
+.world-clocks-time {
+  color: #565656;
+  font-feature-settings: "tnum";
+  font-size: 1.2em;
+}
+
+.world-clocks-timezone {
+  color: #565656;
+  font-feature-settings: "tnum";
+  font-size: 0.9em;
+}
+
+/* Weather */
+.weather-button {
+  padding: 12px;
+  margin-bottom: 6px;
+}
+
+.weather-button .weather-box {
+  spacing: 0.5em;
+}
+
+.weather-button .weather-header-box {
+  spacing: 6px;
+}
+
+.weather-button .weather-header {
+  color: #424242;
+  font-weight: bold;
+}
+
+.weather-button .weather-header.location {
+  font-weight: normal;
+  color: #565656;
+}
+
+.weather-button .weather-grid {
+  spacing-rows: 6px;
+  spacing-columns: 12px;
+}
+
+.weather-button .weather-forecast-time {
+  color: #424242;
+  font-feature-settings: "tnum";
+  font-size: 9pt;
+  font-weight: normal;
+  padding-top: 0.2em;
+  padding-bottom: 0.4em;
+}
+
+.weather-button .weather-forecast-icon {
+  icon-size: 32px;
+}
+
+.weather-button .weather-forecast-temp {
+  font-weight: bold;
+}
+
 /* Message list */
 .message-list {
   width: 31.5em;
@@ -1817,6 +1845,14 @@ StScrollBar StButton#vhandle:active, StScrollBar StButton#hhandle:active {
   spacing: 8px;
 }
 
+.message-list-section-list:ltr {
+  padding-left: 0;
+}
+
+.message-list-section-list:rtl {
+  padding-right: 0;
+}
+
 .message-list-controls {
   margin: 8px 16px 0;
   padding: 4px;
@@ -1824,23 +1860,11 @@ StScrollBar StButton#vhandle:active, StScrollBar StButton#hhandle:active {
 }
 
 .message {
-  border-radius: 6px;
-  border: none;
-  color: #424242;
-  background-color: transparent;
-  margin: 4px;
-  box-shadow: none;
-  text-shadow: none;
+  margin: 2px 4px 6px;
 }
 
-.message:hover, .message:focus {
-  color: #242424;
-  background-color: #ffffff;
-}
-
-.message:active {
-  color: #242424;
-  background-color: rgba(255, 255, 255, 0.8);
+.message:first-child {
+  margin-top: 8px;
 }
 
 .message .message-icon-bin {
diff --git a/src/main/gnome-shell/gnome-shell-light.css b/src/main/gnome-shell/gnome-shell-light.css
index 26139b4..c05ec7c 100644
--- a/src/main/gnome-shell/gnome-shell-light.css
+++ b/src/main/gnome-shell/gnome-shell-light.css
@@ -1445,6 +1445,39 @@ StScrollBar StButton#vhandle:active, StScrollBar StButton#hhandle:active {
   border: none;
 }
 
+.message, .world-clocks-button,
+.weather-button,
+.events-button,
+.events-section-title {
+  border-radius: 10px;
+  border: none;
+  box-shadow: none;
+  background-color: rgba(255, 255, 255, 0.75);
+  text-shadow: none;
+  color: #424242;
+}
+
+.message:hover, .world-clocks-button:hover,
+.weather-button:hover,
+.events-button:hover,
+.events-section-title:hover, .message:focus, .world-clocks-button:focus,
+.weather-button:focus,
+.events-button:focus,
+.events-section-title:focus {
+  color: #242424;
+  background-color: white;
+  box-shadow: 0 3px 5px rgba(0, 0, 0, 0.1);
+}
+
+.message:active, .world-clocks-button:active,
+.weather-button:active,
+.events-button:active,
+.events-section-title:active {
+  color: #242424;
+  background-color: rgba(255, 255, 255, 0.65);
+  box-shadow: none;
+}
+
 .clock-display-box {
   spacing: 4px;
 }
@@ -1459,14 +1492,15 @@ StScrollBar StButton#vhandle:active, StScrollBar StButton#hhandle:active {
 }
 
 .calendar {
-  margin-bottom: 0;
+  margin: 4px 12px 6px;
   border: none;
   box-shadow: none;
-  background: none;
-  padding: 0;
+  background-color: rgba(255, 255, 255, 0.75);
+  padding: 4px 8px;
+  text-shadow: none;
+  border-radius: 10px;
 }
 
-.calendar,
 .datemenu-today-button,
 .datemenu-displays-box,
 .message-list-sections {
@@ -1497,6 +1531,12 @@ StScrollBar StButton#vhandle:active, StScrollBar StButton#hhandle:active {
 
 .datemenu-today-button {
   min-height: 48px;
+  border: none;
+  box-shadow: none;
+  background: none;
+  padding: 4px 8px;
+  text-shadow: none;
+  color: #424242;
 }
 
 .datemenu-today-button .date-label {
@@ -1504,132 +1544,14 @@ StScrollBar StButton#vhandle:active, StScrollBar StButton#hhandle:active {
   font-weight: 400;
 }
 
-.message-list-section-list:ltr {
-  padding-left: 0;
-}
-
-.message-list-section-list:rtl {
-  padding-right: 0;
-}
-
-.datemenu-today-button,
-.world-clocks-button,
-.weather-button,
-.events-section-title {
-  min-height: 20px;
-  padding: 4px 8px;
-  border-radius: 6px;
-  border: none;
-  box-shadow: none;
-  background: none;
-  text-shadow: none;
-  color: #424242;
-}
-
-.datemenu-today-button:hover, .datemenu-today-button:focus,
-.world-clocks-button:hover,
-.world-clocks-button:focus,
-.weather-button:hover,
-.weather-button:focus,
-.events-section-title:hover,
-.events-section-title:focus {
-  color: #242424;
-  background-color: rgba(0, 0, 0, 0.12);
-}
-
-.datemenu-today-button:active,
-.world-clocks-button:active,
-.weather-button:active,
-.events-section-title:active {
-  color: #242424;
-  background-color: rgba(0, 0, 0, 0.2);
-}
-
-.world-clocks-header,
-.weather-header,
-.events-section-title {
-  color: #424242;
-  font-weight: bold;
-}
-
-/* World Clock */
-.world-clocks-grid,
-.weather-grid {
-  spacing-rows: 0.4em;
-  spacing-columns: 0.8em;
-}
-
-.world-clocks-city {
-  color: #565656;
-  font-weight: bold;
-  font-size: 0.9em;
-}
-
-.world-clocks-time {
-  color: #565656;
-  font-feature-settings: "tnum";
-  font-size: 1.2em;
-}
-
-.world-clocks-timezone {
-  color: #565656;
-  font-feature-settings: "tnum";
-  font-size: 0.9em;
-}
-
-/* Weather */
-.weather-button {
-  padding: 12px;
-}
-
-.weather-button .weather-box {
-  spacing: 0.5em;
-}
-
-.weather-button .weather-header-box {
-  spacing: 6px;
-}
-
-.weather-button .weather-header {
-  color: #424242;
-  font-weight: bold;
-}
-
-.weather-button .weather-header.location {
-  font-weight: normal;
-  color: #565656;
-}
-
-.weather-button .weather-grid {
-  spacing-rows: 6px;
-  spacing-columns: 12px;
-}
-
-.weather-button .weather-forecast-time {
-  color: #424242;
-  font-feature-settings: "tnum";
-  font-size: 9pt;
-  font-weight: normal;
-  padding-top: 0.2em;
-  padding-bottom: 0.4em;
-}
-
-.weather-button .weather-forecast-icon {
-  icon-size: 32px;
-}
-
-.weather-button .weather-forecast-temp {
-  font-weight: bold;
-}
-
 .calendar-month-label {
   height: 20px;
   margin: 2px;
   padding: 6px 16px;
-  border-radius: 6px;
   color: #242424;
   font-weight: bold;
   text-align: center;
+  text-shadow: none;
 }
 
 .calendar-month-label:focus {
@@ -1694,14 +1616,14 @@ StScrollBar StButton#vhandle:active, StScrollBar StButton#hhandle:active {
 }
 
 .calendar-day-base:active {
-  color: inherit;
+  color: #424242;
   background-color: rgba(0, 0, 0, 0.2);
   border-color: transparent;
 }
 
 .calendar-day-base:selected {
-  color: rgba(255, 255, 255, 0.85);
-  background-color: #0860f2;
+  color: #242424;
+  background-color: rgba(0, 0, 0, 0.2);
   border-color: transparent;
 }
 
@@ -1758,10 +1680,8 @@ StScrollBar StButton#vhandle:active, StScrollBar StButton#hhandle:active {
 }
 
 .calendar-day-with-events {
-  color: #3484e2;
-  font-weight: normal;
-  text-decoration: underline;
-  background-image: none;
+  color: #565656;
+  background-image: url("assets/calendar-today.svg");
 }
 
 .calendar-day-with-events.calendar-work-day {
@@ -1775,18 +1695,126 @@ StScrollBar StButton#vhandle:active, StScrollBar StButton#hhandle:active {
 }
 
 .calendar-week-number {
-  width: 28px;
-  height: 21px;
-  margin: 2px;
-  padding: 7px 0 0;
-  border-radius: 100px;
-  background-color: transparent;
+  width: 22px;
+  height: 16px;
+  margin: 6px 6px 6px 4px;
+  padding: 0 0;
+  border-radius: 6px;
+  background-color: rgba(0, 0, 0, 0.05);
   color: #565656;
   font-size: inherit;
   font-weight: bold;
   text-align: center;
 }
 
+.world-clocks-button,
+.weather-button,
+.events-button,
+.events-section-title {
+  min-height: 20px;
+  padding: 4px 8px;
+}
+
+.world-clocks-header,
+.weather-header,
+.events-section-title {
+  color: #424242;
+  font-weight: bold;
+}
+
+/* Events */
+.events-button .events-box {
+  spacing: 6px;
+}
+
+.events-button .events-list {
+  spacing: 12px;
+  text-shadow: none;
+}
+
+.events-button .events-title {
+  color: #565656;
+  font-weight: bold;
+  margin-bottom: 4px;
+  text-shadow: none;
+}
+
+.events-button .event-time {
+  color: #565656;
+  font-feature-settings: "tnum";
+}
+
+/* World Clock */
+.world-clocks-grid,
+.weather-grid {
+  spacing-rows: 0.4em;
+  spacing-columns: 0.8em;
+}
+
+.world-clocks-city {
+  color: #565656;
+  font-weight: bold;
+  font-size: 0.9em;
+}
+
+.world-clocks-time {
+  color: #565656;
+  font-feature-settings: "tnum";
+  font-size: 1.2em;
+}
+
+.world-clocks-timezone {
+  color: #565656;
+  font-feature-settings: "tnum";
+  font-size: 0.9em;
+}
+
+/* Weather */
+.weather-button {
+  padding: 12px;
+  margin-bottom: 6px;
+}
+
+.weather-button .weather-box {
+  spacing: 0.5em;
+}
+
+.weather-button .weather-header-box {
+  spacing: 6px;
+}
+
+.weather-button .weather-header {
+  color: #424242;
+  font-weight: bold;
+}
+
+.weather-button .weather-header.location {
+  font-weight: normal;
+  color: #565656;
+}
+
+.weather-button .weather-grid {
+  spacing-rows: 6px;
+  spacing-columns: 12px;
+}
+
+.weather-button .weather-forecast-time {
+  color: #424242;
+  font-feature-settings: "tnum";
+  font-size: 9pt;
+  font-weight: normal;
+  padding-top: 0.2em;
+  padding-bottom: 0.4em;
+}
+
+.weather-button .weather-forecast-icon {
+  icon-size: 32px;
+}
+
+.weather-button .weather-forecast-temp {
+  font-weight: bold;
+}
+
 /* Message list */
 .message-list {
   width: 31.5em;
@@ -1817,6 +1845,14 @@ StScrollBar StButton#vhandle:active, StScrollBar StButton#hhandle:active {
   spacing: 8px;
 }
 
+.message-list-section-list:ltr {
+  padding-left: 0;
+}
+
+.message-list-section-list:rtl {
+  padding-right: 0;
+}
+
 .message-list-controls {
   margin: 8px 16px 0;
   padding: 4px;
@@ -1824,23 +1860,11 @@ StScrollBar StButton#vhandle:active, StScrollBar StButton#hhandle:active {
 }
 
 .message {
-  border-radius: 6px;
-  border: none;
-  color: #424242;
-  background-color: transparent;
-  margin: 4px;
-  box-shadow: none;
-  text-shadow: none;
+  margin: 2px 4px 6px;
 }
 
-.message:hover, .message:focus {
-  color: #242424;
-  background-color: #ffffff;
-}
-
-.message:active {
-  color: #242424;
-  background-color: rgba(255, 255, 255, 0.8);
+.message:first-child {
+  margin-top: 8px;
 }
 
 .message .message-icon-bin {
diff --git a/src/main/gtk-3.0/gtk-dark-solid.css b/src/main/gtk-3.0/gtk-dark-solid.css
index 14f2d98..e914a72 100644
--- a/src/main/gtk-3.0/gtk-dark-solid.css
+++ b/src/main/gtk-3.0/gtk-dark-solid.css
@@ -2643,88 +2643,22 @@ scrollbar.vertical slider {
   min-height: 40px;
 }
 
-.raven .raven-background switch:not(:indeterminate) slider:not(:indeterminate), .raven .raven-background switch:not(:indeterminate), row switch:not(:indeterminate) slider:not(:indeterminate), row switch:not(:indeterminate) {
-  padding: 0;
-  border: none;
-  color: transparent;
-  background: unset;
-  background-image: unset;
-  background-repeat: no-repeat;
-  background-position: right center;
-  box-shadow: none;
-  animation: none;
-  font-size: 0;
-  outline-color: transparent;
-}
-
-.raven .raven-background switch:not(:indeterminate) slider:dir(rtl):not(:indeterminate), .raven .raven-background switch:dir(rtl):not(:indeterminate), row switch:not(:indeterminate) slider:dir(rtl):not(:indeterminate), row switch:dir(rtl):not(:indeterminate) {
-  background-position: left center;
-}
-
-row switch:not(:indeterminate) {
-  min-width: 40px;
-  min-height: 24px;
-  margin: 0;
-  background-size: 40px 24px;
-  transition: all 350ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
-  background-image: -gtk-scaled(url("assets/switch.png"), url("assets/switch@2.png"));
-}
-
-row switch:not(:indeterminate) slider:not(:indeterminate) {
-  margin: 0;
-  background-size: 40px 24px;
-}
-
-row switch:not(:indeterminate):hover {
-  transition: all 350ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
-  background-image: -gtk-scaled(url("assets/switch-hover.png"), url("assets/switch-hover@2.png"));
-}
-
-row switch:not(:indeterminate):checked {
-  transition: all 350ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
-  background-image: -gtk-scaled(url("assets/switch-active.png"), url("assets/switch-active@2.png"));
-}
-
-row switch:not(:indeterminate):checked:hover {
-  background-image: -gtk-scaled(url("assets/switch-active-hover.png"), url("assets/switch-active-hover@2.png"));
-}
-
-row switch:not(:indeterminate):checked:disabled, label:disabled selection:checked {
+label:disabled selection:checked {
   background-image: -gtk-scaled(url("assets/switch-active-insensitive.png"), url("assets/switch-active-insensitive@2.png"));
 }
 
-row switch:not(:indeterminate):disabled, label:disabled selection:not(:indeterminate) {
+label:disabled selection:not(:indeterminate) {
   background-image: -gtk-scaled(url("assets/switch-insensitive-dark.png"), url("assets/switch-insensitive-dark@2.png"));
 }
 
-.raven .raven-background switch:not(:indeterminate) {
-  min-width: 50px;
-  min-height: 20px;
-  margin: 6px 2px;
-  background-size: 50px 20px;
-  transition: all 350ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
-  background-image: -gtk-scaled(url("assets/toggle-off.png"), url("assets/toggle-off@2.png"));
-}
-
-.raven .raven-background switch:not(:indeterminate) slider:not(:indeterminate) {
-  margin: 0;
-  background-size: 50px 20px;
-}
-
-.raven .raven-background switch:not(:indeterminate):checked {
-  transition: all 350ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
-  background-image: -gtk-scaled(url("assets/toggle-on.png"), url("assets/toggle-on@2.png"));
-}
-
-.raven .raven-background switch:not(:indeterminate):checked:disabled, label:disabled selection:checked {
+label:disabled selection:checked {
   background-image: -gtk-scaled(url("assets/toggle-on-disabled.png"), url("assets/toggle-on-disabled@2.png"));
 }
 
-.raven .raven-background switch:not(:indeterminate):disabled, label:disabled selection:not(:indeterminate) {
+label:disabled selection:not(:indeterminate) {
   background-image: -gtk-scaled(url("assets/toggle-off-disabled.png"), url("assets/toggle-off-disabled@2.png"));
 }
 
-
 switch {
   transition: all 150ms cubic-bezier(0, 0, 0.2, 1);
   border-radius: 50px;
@@ -2734,26 +2668,22 @@ switch {
   font-size: 0;
 }
 
-
 switch:disabled {
   color: rgba(222, 222, 222, 0.15);
   background-color: rgba(222, 222, 222, 0.15);
 }
 
-
 switch:checked {
   animation: switch_ripple_effect 0.3s cubic-bezier(0, 0, 0.2, 1);
   background-color: #0860f2;
   color: rgba(255, 255, 255, 0.65);
 }
 
-label:disabled selection:checked,
-switch:checked:disabled {
+switch:checked:disabled, label:disabled selection:checked {
   background-color: rgba(8, 96, 242, 0.45);
   color: rgba(255, 255, 255, 0.35);
 }
 
-
 switch slider {
   transition: all 150ms cubic-bezier(0, 0, 0.2, 1), box-shadow 150ms cubic-bezier(0, 0, 0.2, 1), margin 0;
   min-width: 18px;
@@ -2765,19 +2695,16 @@ switch slider {
   box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.15), 0 2px 3px 0 rgba(0, 0, 0, 0.1);
 }
 
-
 switch:hover slider {
   box-shadow: 0 2px 3px 0 rgba(0, 0, 0, 0.2), 0 3px 5px 0 rgba(0, 0, 0, 0.15);
 }
 
-
 switch:checked slider {
   margin: 2px 2px 2px 0;
   background-color: white;
 }
 
-label:disabled selection:checked slider,
-switch:checked:disabled slider {
+switch:checked:disabled slider, label:disabled selection:checked slider {
   animation: none;
 }
 
diff --git a/src/main/gtk-3.0/gtk-dark.css b/src/main/gtk-3.0/gtk-dark.css
index 6beec6a..9b0ada2 100644
--- a/src/main/gtk-3.0/gtk-dark.css
+++ b/src/main/gtk-3.0/gtk-dark.css
@@ -2643,88 +2643,22 @@ scrollbar.vertical slider {
   min-height: 40px;
 }
 
-.raven .raven-background switch:not(:indeterminate) slider:not(:indeterminate), .raven .raven-background switch:not(:indeterminate), row switch:not(:indeterminate) slider:not(:indeterminate), row switch:not(:indeterminate) {
-  padding: 0;
-  border: none;
-  color: transparent;
-  background: unset;
-  background-image: unset;
-  background-repeat: no-repeat;
-  background-position: right center;
-  box-shadow: none;
-  animation: none;
-  font-size: 0;
-  outline-color: transparent;
-}
-
-.raven .raven-background switch:not(:indeterminate) slider:dir(rtl):not(:indeterminate), .raven .raven-background switch:dir(rtl):not(:indeterminate), row switch:not(:indeterminate) slider:dir(rtl):not(:indeterminate), row switch:dir(rtl):not(:indeterminate) {
-  background-position: left center;
-}
-
-row switch:not(:indeterminate) {
-  min-width: 40px;
-  min-height: 24px;
-  margin: 0;
-  background-size: 40px 24px;
-  transition: all 350ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
-  background-image: -gtk-scaled(url("assets/switch.png"), url("assets/switch@2.png"));
-}
-
-row switch:not(:indeterminate) slider:not(:indeterminate) {
-  margin: 0;
-  background-size: 40px 24px;
-}
-
-row switch:not(:indeterminate):hover {
-  transition: all 350ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
-  background-image: -gtk-scaled(url("assets/switch-hover.png"), url("assets/switch-hover@2.png"));
-}
-
-row switch:not(:indeterminate):checked {
-  transition: all 350ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
-  background-image: -gtk-scaled(url("assets/switch-active.png"), url("assets/switch-active@2.png"));
-}
-
-row switch:not(:indeterminate):checked:hover {
-  background-image: -gtk-scaled(url("assets/switch-active-hover.png"), url("assets/switch-active-hover@2.png"));
-}
-
-row switch:not(:indeterminate):checked:disabled, label:disabled selection:checked {
+label:disabled selection:checked {
   background-image: -gtk-scaled(url("assets/switch-active-insensitive.png"), url("assets/switch-active-insensitive@2.png"));
 }
 
-row switch:not(:indeterminate):disabled, label:disabled selection:not(:indeterminate) {
+label:disabled selection:not(:indeterminate) {
   background-image: -gtk-scaled(url("assets/switch-insensitive-dark.png"), url("assets/switch-insensitive-dark@2.png"));
 }
 
-.raven .raven-background switch:not(:indeterminate) {
-  min-width: 50px;
-  min-height: 20px;
-  margin: 6px 2px;
-  background-size: 50px 20px;
-  transition: all 350ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
-  background-image: -gtk-scaled(url("assets/toggle-off.png"), url("assets/toggle-off@2.png"));
-}
-
-.raven .raven-background switch:not(:indeterminate) slider:not(:indeterminate) {
-  margin: 0;
-  background-size: 50px 20px;
-}
-
-.raven .raven-background switch:not(:indeterminate):checked {
-  transition: all 350ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
-  background-image: -gtk-scaled(url("assets/toggle-on.png"), url("assets/toggle-on@2.png"));
-}
-
-.raven .raven-background switch:not(:indeterminate):checked:disabled, label:disabled selection:checked {
+label:disabled selection:checked {
   background-image: -gtk-scaled(url("assets/toggle-on-disabled.png"), url("assets/toggle-on-disabled@2.png"));
 }
 
-.raven .raven-background switch:not(:indeterminate):disabled, label:disabled selection:not(:indeterminate) {
+label:disabled selection:not(:indeterminate) {
   background-image: -gtk-scaled(url("assets/toggle-off-disabled.png"), url("assets/toggle-off-disabled@2.png"));
 }
 
-
 switch {
   transition: all 150ms cubic-bezier(0, 0, 0.2, 1);
   border-radius: 50px;
@@ -2734,26 +2668,22 @@ switch {
   font-size: 0;
 }
 
-
 switch:disabled {
   color: rgba(222, 222, 222, 0.15);
   background-color: rgba(222, 222, 222, 0.15);
 }
 
-
 switch:checked {
   animation: switch_ripple_effect 0.3s cubic-bezier(0, 0, 0.2, 1);
   background-color: #0860f2;
   color: rgba(255, 255, 255, 0.65);
 }
 
-label:disabled selection:checked,
-switch:checked:disabled {
+switch:checked:disabled, label:disabled selection:checked {
   background-color: rgba(8, 96, 242, 0.45);
   color: rgba(255, 255, 255, 0.35);
 }
 
-
 switch slider {
   transition: all 150ms cubic-bezier(0, 0, 0.2, 1), box-shadow 150ms cubic-bezier(0, 0, 0.2, 1), margin 0;
   min-width: 18px;
@@ -2765,19 +2695,16 @@ switch slider {
   box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.15), 0 2px 3px 0 rgba(0, 0, 0, 0.1);
 }
 
-
 switch:hover slider {
   box-shadow: 0 2px 3px 0 rgba(0, 0, 0, 0.2), 0 3px 5px 0 rgba(0, 0, 0, 0.15);
 }
 
-
 switch:checked slider {
   margin: 2px 2px 2px 0;
   background-color: white;
 }
 
-label:disabled selection:checked slider,
-switch:checked:disabled slider {
+switch:checked:disabled slider, label:disabled selection:checked slider {
   animation: none;
 }
 
diff --git a/src/main/gtk-3.0/gtk-light-solid.css b/src/main/gtk-3.0/gtk-light-solid.css
index a0f6955..1e209b7 100644
--- a/src/main/gtk-3.0/gtk-light-solid.css
+++ b/src/main/gtk-3.0/gtk-light-solid.css
@@ -2656,88 +2656,22 @@ scrollbar.vertical slider {
   min-height: 40px;
 }
 
-.raven .raven-background switch:not(:indeterminate) slider:not(:indeterminate), .raven .raven-background switch:not(:indeterminate), row switch:not(:indeterminate) slider:not(:indeterminate), row switch:not(:indeterminate) {
-  padding: 0;
-  border: none;
-  color: transparent;
-  background: unset;
-  background-image: unset;
-  background-repeat: no-repeat;
-  background-position: right center;
-  box-shadow: none;
-  animation: none;
-  font-size: 0;
-  outline-color: transparent;
-}
-
-.raven .raven-background switch:not(:indeterminate) slider:dir(rtl):not(:indeterminate), .raven .raven-background switch:dir(rtl):not(:indeterminate), row switch:not(:indeterminate) slider:dir(rtl):not(:indeterminate), row switch:dir(rtl):not(:indeterminate) {
-  background-position: left center;
-}
-
-row switch:not(:indeterminate) {
-  min-width: 40px;
-  min-height: 24px;
-  margin: 0;
-  background-size: 40px 24px;
-  transition: all 350ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
-  background-image: -gtk-scaled(url("assets/switch.png"), url("assets/switch@2.png"));
-}
-
-row switch:not(:indeterminate) slider:not(:indeterminate) {
-  margin: 0;
-  background-size: 40px 24px;
-}
-
-row switch:not(:indeterminate):hover {
-  transition: all 350ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
-  background-image: -gtk-scaled(url("assets/switch-hover.png"), url("assets/switch-hover@2.png"));
-}
-
-row switch:not(:indeterminate):checked {
-  transition: all 350ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
-  background-image: -gtk-scaled(url("assets/switch-active.png"), url("assets/switch-active@2.png"));
-}
-
-row switch:not(:indeterminate):checked:hover {
-  background-image: -gtk-scaled(url("assets/switch-active-hover.png"), url("assets/switch-active-hover@2.png"));
-}
-
-row switch:not(:indeterminate):checked:disabled, label:disabled selection:checked {
+label:disabled selection:checked {
   background-image: -gtk-scaled(url("assets/switch-active-insensitive.png"), url("assets/switch-active-insensitive@2.png"));
 }
 
-row switch:not(:indeterminate):disabled, label:disabled selection:not(:indeterminate) {
+label:disabled selection:not(:indeterminate) {
   background-image: -gtk-scaled(url("assets/switch-insensitive.png"), url("assets/switch-insensitive@2.png"));
 }
 
-.raven .raven-background switch:not(:indeterminate) {
-  min-width: 50px;
-  min-height: 20px;
-  margin: 6px 2px;
-  background-size: 50px 20px;
-  transition: all 350ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
-  background-image: -gtk-scaled(url("assets/toggle-off.png"), url("assets/toggle-off@2.png"));
-}
-
-.raven .raven-background switch:not(:indeterminate) slider:not(:indeterminate) {
-  margin: 0;
-  background-size: 50px 20px;
-}
-
-.raven .raven-background switch:not(:indeterminate):checked {
-  transition: all 350ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
-  background-image: -gtk-scaled(url("assets/toggle-on.png"), url("assets/toggle-on@2.png"));
-}
-
-.raven .raven-background switch:not(:indeterminate):checked:disabled, label:disabled selection:checked {
+label:disabled selection:checked {
   background-image: -gtk-scaled(url("assets/toggle-on-disabled.png"), url("assets/toggle-on-disabled@2.png"));
 }
 
-.raven .raven-background switch:not(:indeterminate):disabled, label:disabled selection:not(:indeterminate) {
+label:disabled selection:not(:indeterminate) {
   background-image: -gtk-scaled(url("assets/toggle-off-disabled.png"), url("assets/toggle-off-disabled@2.png"));
 }
 
-
 switch {
   transition: all 150ms cubic-bezier(0, 0, 0.2, 1);
   border-radius: 50px;
@@ -2747,26 +2681,22 @@ switch {
   font-size: 0;
 }
 
-
 switch:disabled {
   color: rgba(36, 36, 36, 0.15);
   background-color: rgba(36, 36, 36, 0.15);
 }
 
-
 switch:checked {
   animation: switch_ripple_effect 0.3s cubic-bezier(0, 0, 0.2, 1);
   background-color: #0860f2;
   color: rgba(255, 255, 255, 0.65);
 }
 
-label:disabled selection:checked,
-switch:checked:disabled {
+switch:checked:disabled, label:disabled selection:checked {
   background-color: rgba(8, 96, 242, 0.45);
   color: rgba(255, 255, 255, 0.35);
 }
 
-
 switch slider {
   transition: all 150ms cubic-bezier(0, 0, 0.2, 1), box-shadow 150ms cubic-bezier(0, 0, 0.2, 1), margin 0;
   min-width: 18px;
@@ -2778,19 +2708,16 @@ switch slider {
   box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.15), 0 2px 3px 0 rgba(0, 0, 0, 0.1);
 }
 
-
 switch:hover slider {
   box-shadow: 0 2px 3px 0 rgba(0, 0, 0, 0.2), 0 3px 5px 0 rgba(0, 0, 0, 0.15);
 }
 
-
 switch:checked slider {
   margin: 2px 2px 2px 0;
   background-color: white;
 }
 
-label:disabled selection:checked slider,
-switch:checked:disabled slider {
+switch:checked:disabled slider, label:disabled selection:checked slider {
   animation: none;
 }
 
diff --git a/src/main/gtk-3.0/gtk-light.css b/src/main/gtk-3.0/gtk-light.css
index d0d7d55..cdb91c1 100644
--- a/src/main/gtk-3.0/gtk-light.css
+++ b/src/main/gtk-3.0/gtk-light.css
@@ -2656,88 +2656,22 @@ scrollbar.vertical slider {
   min-height: 40px;
 }
 
-.raven .raven-background switch:not(:indeterminate) slider:not(:indeterminate), .raven .raven-background switch:not(:indeterminate), row switch:not(:indeterminate) slider:not(:indeterminate), row switch:not(:indeterminate) {
-  padding: 0;
-  border: none;
-  color: transparent;
-  background: unset;
-  background-image: unset;
-  background-repeat: no-repeat;
-  background-position: right center;
-  box-shadow: none;
-  animation: none;
-  font-size: 0;
-  outline-color: transparent;
-}
-
-.raven .raven-background switch:not(:indeterminate) slider:dir(rtl):not(:indeterminate), .raven .raven-background switch:dir(rtl):not(:indeterminate), row switch:not(:indeterminate) slider:dir(rtl):not(:indeterminate), row switch:dir(rtl):not(:indeterminate) {
-  background-position: left center;
-}
-
-row switch:not(:indeterminate) {
-  min-width: 40px;
-  min-height: 24px;
-  margin: 0;
-  background-size: 40px 24px;
-  transition: all 350ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
-  background-image: -gtk-scaled(url("assets/switch.png"), url("assets/switch@2.png"));
-}
-
-row switch:not(:indeterminate) slider:not(:indeterminate) {
-  margin: 0;
-  background-size: 40px 24px;
-}
-
-row switch:not(:indeterminate):hover {
-  transition: all 350ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
-  background-image: -gtk-scaled(url("assets/switch-hover.png"), url("assets/switch-hover@2.png"));
-}
-
-row switch:not(:indeterminate):checked {
-  transition: all 350ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
-  background-image: -gtk-scaled(url("assets/switch-active.png"), url("assets/switch-active@2.png"));
-}
-
-row switch:not(:indeterminate):checked:hover {
-  background-image: -gtk-scaled(url("assets/switch-active-hover.png"), url("assets/switch-active-hover@2.png"));
-}
-
-row switch:not(:indeterminate):checked:disabled, label:disabled selection:checked {
+label:disabled selection:checked {
   background-image: -gtk-scaled(url("assets/switch-active-insensitive.png"), url("assets/switch-active-insensitive@2.png"));
 }
 
-row switch:not(:indeterminate):disabled, label:disabled selection:not(:indeterminate) {
+label:disabled selection:not(:indeterminate) {
   background-image: -gtk-scaled(url("assets/switch-insensitive.png"), url("assets/switch-insensitive@2.png"));
 }
 
-.raven .raven-background switch:not(:indeterminate) {
-  min-width: 50px;
-  min-height: 20px;
-  margin: 6px 2px;
-  background-size: 50px 20px;
-  transition: all 350ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
-  background-image: -gtk-scaled(url("assets/toggle-off.png"), url("assets/toggle-off@2.png"));
-}
-
-.raven .raven-background switch:not(:indeterminate) slider:not(:indeterminate) {
-  margin: 0;
-  background-size: 50px 20px;
-}
-
-.raven .raven-background switch:not(:indeterminate):checked {
-  transition: all 350ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
-  background-image: -gtk-scaled(url("assets/toggle-on.png"), url("assets/toggle-on@2.png"));
-}
-
-.raven .raven-background switch:not(:indeterminate):checked:disabled, label:disabled selection:checked {
+label:disabled selection:checked {
   background-image: -gtk-scaled(url("assets/toggle-on-disabled.png"), url("assets/toggle-on-disabled@2.png"));
 }
 
-.raven .raven-background switch:not(:indeterminate):disabled, label:disabled selection:not(:indeterminate) {
+label:disabled selection:not(:indeterminate) {
   background-image: -gtk-scaled(url("assets/toggle-off-disabled.png"), url("assets/toggle-off-disabled@2.png"));
 }
 
-
 switch {
   transition: all 150ms cubic-bezier(0, 0, 0.2, 1);
   border-radius: 50px;
@@ -2747,26 +2681,22 @@ switch {
   font-size: 0;
 }
 
-
 switch:disabled {
   color: rgba(36, 36, 36, 0.15);
   background-color: rgba(36, 36, 36, 0.15);
 }
 
-
 switch:checked {
   animation: switch_ripple_effect 0.3s cubic-bezier(0, 0, 0.2, 1);
   background-color: #0860f2;
   color: rgba(255, 255, 255, 0.65);
 }
 
-label:disabled selection:checked,
-switch:checked:disabled {
+switch:checked:disabled, label:disabled selection:checked {
   background-color: rgba(8, 96, 242, 0.45);
   color: rgba(255, 255, 255, 0.35);
 }
 
-
 switch slider {
   transition: all 150ms cubic-bezier(0, 0, 0.2, 1), box-shadow 150ms cubic-bezier(0, 0, 0.2, 1), margin 0;
   min-width: 18px;
@@ -2778,19 +2708,16 @@ switch slider {
   box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.15), 0 2px 3px 0 rgba(0, 0, 0, 0.1);
 }
 
-
 switch:hover slider {
   box-shadow: 0 2px 3px 0 rgba(0, 0, 0, 0.2), 0 3px 5px 0 rgba(0, 0, 0, 0.15);
 }
 
-
 switch:checked slider {
   margin: 2px 2px 2px 0;
   background-color: white;
 }
 
-label:disabled selection:checked slider,
-switch:checked:disabled slider {
+switch:checked:disabled slider, label:disabled selection:checked slider {
   animation: none;
 }
 
diff --git a/src/sass/gnome-shell/_common.scss b/src/sass/gnome-shell/_common.scss
index db2fb3a..09d205c 100644
--- a/src/sass/gnome-shell/_common.scss
+++ b/src/sass/gnome-shell/_common.scss
@@ -1246,6 +1246,27 @@ $popop_menuitem_radius: $wm_radius - 4px;
   }
 }
 
+%popover_bubble {
+  border-radius: $mn_radius;
+  border: none;
+  box-shadow: none;
+  background-color: if($variant == 'light', rgba(white, 0.75), rgba(lighten($base_color, 8%), 0.75));
+  text-shadow: none;
+  color: $alt_fg_color;
+
+  &:hover, &:focus {
+    color: $fg_color;
+    background-color: if($variant == 'light', rgba(white, 1), rgba(lighten($base_color, 15%), 0.75));
+    box-shadow: 0 3px 5px rgba(black, 0.1);
+  }
+
+  &:active {
+    color: $fg_color;
+    background-color: if($variant == 'light', rgba(white, 0.65), rgba(lighten($base_color, 10%), 0.75));
+    box-shadow: none;
+  }
+}
+
 // calendar popover
 .clock-display-box {
   spacing: 4px;
@@ -1261,14 +1282,15 @@ $popop_menuitem_radius: $wm_radius - 4px;
 }
 
 .calendar {
-  margin-bottom: 0;
+  margin: 4px 12px 6px;
   border: none;
   box-shadow: none;
-  background: none;
-  padding: 0;
+  background-color: if($variant == 'light', rgba(white, 0.75), rgba(lighten($base_color, 8%), 0.75));
+  padding: 4px 8px;
+  text-shadow: none;
+  border-radius: $mn_radius;
 }
 
-.calendar,
 .datemenu-today-button,
 .datemenu-displays-box,
 .message-list-sections {
@@ -1288,113 +1310,15 @@ $popop_menuitem_radius: $wm_radius - 4px;
 
 .datemenu-today-button {
   min-height: $menuitem_size * 2 - 4px * 2;
-  .date-label {
-    @include font(headline);
-  }
-}
-
-.message-list-section-list:ltr {
-  padding-left: 0;
-}
-
-.message-list-section-list:rtl {
-  padding-right: 0;
-}
-
-.datemenu-today-button,
-.world-clocks-button,
-.weather-button,
-.events-section-title {
-  min-height: $menuitem_size - 4px * 2;
-  padding: 4px 8px;
-  border-radius: $bt_radius;
   border: none;
   box-shadow: none;
   background: none;
+  padding: 4px 8px;
   text-shadow: none;
   color: $alt_fg_color;
 
-  &:hover,&:focus { color: $fg_color; background-color: $divider_color; }
-  &:active {
-    color: $fg_color;
-    background-color: $track_color;
-  }
-}
-
-.world-clocks-header,
-.weather-header,
-.events-section-title {
-  color: $alt_fg_color;
-  font-weight: bold;
-}
-
-/* World Clock */
-.world-clocks-grid,
-.weather-grid {
-  spacing-rows: 0.4em;
-  spacing-columns: 0.8em;
-}
-
-.world-clocks-city {
-  color: $hint_fg_color;
-  font-weight: bold;
-  font-size: 0.9em;
-}
-
-.world-clocks-time {
-  color: $hint_fg_color;
-  font-feature-settings: "tnum";
-  font-size: 1.2em;
-}
-
-.world-clocks-timezone {
-  color: $hint_fg_color;
-  font-feature-settings: "tnum";
-  font-size: 0.9em;
-}
-
-/* Weather */
-.weather-button {
-  padding: 12px;
-
-  .weather-box {
-    spacing: 0.5em;
-  }
-
-  .weather-header-box {
-    spacing: 6px;
-  }
-
-  .weather-header {
-    color: $alt_fg_color;
-    font-weight: bold;
-
-    &.location {
-      font-weight: normal;
-      color: $hint_fg_color;
-    }
-  }
-
-  .weather-grid {
-    spacing-rows: 6px;
-    spacing-columns: 12px;
-  }
-
-  .weather-forecast-time {
-    color: $alt_fg_color;
-    font-feature-settings: "tnum";
-    font-size: 9pt;
-    font-weight: normal;
-    padding-top: 0.2em;
-    padding-bottom: 0.4em;
-  }
-
-  .weather-forecast-icon {
-    icon-size: 32px;
-  }
-
-  .weather-forecast-temp {
-    font-weight: bold;
+  .date-label {
+    @include font(headline);
   }
 }
 
@@ -1402,10 +1326,11 @@ $popop_menuitem_radius: $wm_radius - 4px;
   height: $menuitem_size - 4px * 2;
   margin: 2px;
   padding: 6px 16px;
-  border-radius: $bt_radius;
   color: $fg_color;
   font-weight: bold;
   text-align: center;
+  text-shadow: none;
+
   &:focus { background-color: $divider_color; }
 }
 
@@ -1449,17 +1374,18 @@ $popop_menuitem_radius: $wm_radius - 4px;
   font-feature-settings: "tnum";
   &:hover, &:focus { background-color: $divider_color; }
   &:active {
-    color: inherit;
+    color: $alt_fg_color;
     background-color: $track_color;
     border-color: transparent; //avoid jumparound due to today
   }
   &:selected {
-    color: $light_alt_fg_color;
-    background-color: $primary_color;
+    color: $fg_color;
+    background-color: $track_color;
     border-color: transparent; //avoid jumparound due to today
   }
   &.calendar-day-heading {  //day of week heading
-    width: $menuitem_size; height: $menuitem_size - 7px;
+    width: $menuitem_size;
+    height: $menuitem_size - 7px;
     margin-top: 2px;
     padding: 7px 0 0;
     border-radius: 100px;
@@ -1503,32 +1429,144 @@ $popop_menuitem_radius: $wm_radius - 4px;
 }
 
 .calendar-day-with-events {
-  color: $link_color;
-  font-weight: normal;
-  text-decoration: underline;
-  background-image: none;
+  color: $hint_fg_color;
+  background-image: url("assets/calendar-today.svg");
 
   &.calendar-work-day {
     color: $hint_fg_color;
     font-weight: bold;
   }
 }
+
 .calendar-other-month-day {
   color: $disabled_fg_color;
   opacity: 0.5;
 }
+
 .calendar-week-number {
-  width: $menuitem_size; height: $menuitem_size - 7px;
-  margin: 2px;
-  padding: 7px 0 0;
-  border-radius: 100px;
-  background-color: transparent;
+  width: 22px;
+  height: 16px;
+  margin: 6px 6px 6px 4px;
+  padding: 0 0;
+  border-radius: $bt_radius;
+  background-color: if($variant == 'light', rgba(black, 0.05), rgba(white, 0.05));
   color: $hint_fg_color;
   font-size: inherit;
   font-weight: bold;
   text-align: center;
 }
 
+.world-clocks-button,
+.weather-button,
+.events-button,
+.events-section-title {
+  @extend %popover_bubble;
+  min-height: $menuitem_size - 4px * 2;
+  padding: 4px 8px;
+}
+
+.world-clocks-header,
+.weather-header,
+.events-section-title {
+  color: $alt_fg_color;
+  font-weight: bold;
+}
+
+/* Events */
+.events-button {
+  .events-box {
+    spacing: 6px;
+  }
+
+  .events-list {
+    spacing: 12px;
+    text-shadow: none;
+  }
+
+  .events-title {
+    color: $hint_fg_color;
+    font-weight: bold;
+    margin-bottom: 4px;
+    text-shadow: none;
+  }
+
+  .event-time {
+    color: $hint_fg_color;
+    font-feature-settings: "tnum";
+  }
+}
+
+/* World Clock */
+.world-clocks-grid,
+.weather-grid {
+  spacing-rows: 0.4em;
+  spacing-columns: 0.8em;
+}
+
+.world-clocks-city {
+  color: $hint_fg_color;
+  font-weight: bold;
+  font-size: 0.9em;
+}
+
+.world-clocks-time {
+  color: $hint_fg_color;
+  font-feature-settings: "tnum";
+  font-size: 1.2em;
+}
+
+.world-clocks-timezone {
+  color: $hint_fg_color;
+  font-feature-settings: "tnum";
+  font-size: 0.9em;
+}
+
+/* Weather */
+.weather-button {
+  padding: 12px;
+  margin-bottom: 6px;
+
+  .weather-box {
+    spacing: 0.5em;
+  }
+
+  .weather-header-box {
+    spacing: 6px;
+  }
+
+  .weather-header {
+    color: $alt_fg_color;
+    font-weight: bold;
+
+    &.location {
+      font-weight: normal;
+      color: $hint_fg_color;
+    }
+  }
+
+  .weather-grid {
+    spacing-rows: 6px;
+    spacing-columns: 12px;
+  }
+
+  .weather-forecast-time {
+    color: $alt_fg_color;
+    font-feature-settings: "tnum";
+    font-size: 9pt;
+    font-weight: normal;
+    padding-top: 0.2em;
+    padding-bottom: 0.4em;
+  }
+
+  .weather-forecast-icon {
+    icon-size: 32px;
+  }
+
+  .weather-forecast-temp {
+    font-weight: bold;
+  }
+}
+
 /* Message list */
 .message-list {
   width: 31.5em;
@@ -1551,6 +1589,14 @@ $popop_menuitem_radius: $wm_radius - 4px;
   spacing: 8px;
 }
 
+.message-list-section-list:ltr {
+  padding-left: 0;
+}
+
+.message-list-section-list:rtl {
+  padding-right: 0;
+}
+
 // do-not-disturb + clear button
 .message-list-controls {
   margin: 8px 16px 0;
@@ -1559,26 +1605,11 @@ $popop_menuitem_radius: $wm_radius - 4px;
   spacing: 16px;
 }
 
-$message_bg: if($variant == 'light', #ffffff, #383838);
-
 .message {
-  border-radius: $bt_radius;
-  border: none;
-  color: $alt_fg_color;
-  background-color: transparent;
-  margin: 4px;
-  box-shadow: none;
-  text-shadow: none;
+  margin: 2px 4px 6px;
+  @extend %popover_bubble;
 
-  &:hover, &:focus {
-    color: $fg_color;
-    background-color: $message_bg;
-  }
-
-  &:active {
-    color: $fg_color;
-    background-color: rgba($message_bg, 0.8);
-  }
+  &:first-child { margin-top: 8px; }
 
   // icon container
   .message-icon-bin {
diff --git a/src/sass/gtk/_budgie.scss b/src/sass/gtk/_budgie.scss
index f6f27e6..c319b3d 100644
--- a/src/sass/gtk/_budgie.scss
+++ b/src/sass/gtk/_budgie.scss
@@ -876,7 +876,7 @@ $raven_shadow: 0 0 3px 0 rgba(black, 0.2), 0 0 8px 0 rgba(black, 0.15), 0 0 16px
       }
     }
 
-    switch { @extend %switch_mac; }
+    // switch { }
 
     list { color: $raven_fg_color; background-color: $raven_base_color; }
 
diff --git a/src/sass/gtk/_common.scss b/src/sass/gtk/_common.scss
index a775c94..8d70384 100644
--- a/src/sass/gtk/_common.scss
+++ b/src/sass/gtk/_common.scss
@@ -2484,7 +2484,6 @@ scrollbar {
   }
 }
 
-%switch,
 switch {
   transition: $longer_transition;
   // margin: 6px 0;
@@ -2532,7 +2531,7 @@ switch {
 
   &:checked:disabled slider { animation: none; }
 
-  row & { @extend %switch_pixmap; }
+  // row & { @extend %switch_pixmap; }
 }
 
 //