/***************
 * Base States *
 ***************/
.background {
  background-color: #212121;
  color: white;
}

dnd {
  color: white;
}

.normal-icons {
  -gtk-icon-size: 16px;
}

.large-icons {
  -gtk-icon-size: 32px;
}

.lowres-icon:not(.large-icons) {
  -gtk-icon-size: 16px;
}

.symbolic-circular {
  background-color: rgba(255, 255, 255, 0.04);
  border-radius: 9999px;
  padding: 0;
  min-height: 32px;
  min-width: 32px;
}

spinner:disabled,
arrow:disabled,
scrollbar:disabled,
check:disabled,
radio:disabled,
treeview.expander:disabled {
  -gtk-icon-filter: opacity(0.5);
}

iconview, .view {
  background-color: #2C2C2C;
  color: white;
}

iconview:disabled, .view:disabled {
  color: rgba(255, 255, 255, 0.5);
}

textview text {
  background-color: #2C2C2C;
}

textview border {
  background-color: #242424;
  color: rgba(255, 255, 255, 0.7);
}

iconview:hover, iconview:selected {
  border-radius: 5px;
}

rubberband, .content-view rubberband, .content-view columnview.view > rubberband,
.content-view treeview.view > rubberband, .content-view .rubberband, columnview.view > rubberband,
treeview.view > rubberband, gridview > rubberband, flowbox > rubberband {
  border: 1px solid #3281ea;
  background-color: rgba(50, 129, 234, 0.3);
}

flowbox > flowboxchild {
  padding: 4px;
  border-radius: 10px;
}

flowbox > flowboxchild button.remove-button.osd {
  min-height: 22px;
  min-width: 22px;
  padding: 4px;
}

.content-view .tile:selected {
  background-color: transparent;
}

gridview > child {
  padding: 3px;
}

gridview > child:selected {
  outline-color: alpha(currentColor, 0.06);
}

gridview > child box {
  border-spacing: 8px;
  margin: 12px;
}

coverflow cover {
  color: white;
  background-color: #2C2C2C;
  border: 1px solid black;
}

label.separator {
  color: rgba(255, 255, 255, 0.7);
}

label:disabled {
  color: rgba(255, 255, 255, 0.5);
}

headerbar label:disabled, tab label:disabled, button label:disabled {
  color: inherit;
}

label.osd {
  border-radius: 10px;
  background-color: rgba(54, 54, 54, 0.9);
  color: white;
}

.dim-label, row.expander:not(:checked) image.expander-row-arrow, row label.subtitle {
  color: rgba(255, 255, 255, 0.7);
}

.accent {
  color: #3281ea;
}

.success {
  color: #81C995;
}

.warning {
  color: #FDD633;
}

.error {
  color: #F28B82;
}

window.assistant .sidebar {
  padding: 4px 0;
}

window.assistant .sidebar label {
  min-height: 32px;
  padding: 0 12px;
  color: rgba(255, 255, 255, 0.5);
  font-weight: 500;
}

window.assistant .sidebar label.highlight {
  color: white;
}

toast, .osd popover.background > arrow,
.osd popover.background > contents, popover.background.touch-selection > arrow,
popover.background.touch-selection > contents, popover.background.magnifier > arrow,
popover.background.magnifier > contents, .osd {
  color: white;
  background-color: #2C2C2C;
  background-clip: padding-box;
  border-radius: 10px;
  border: none;
}

.osd {
  padding: 4px;
  margin: 4px;
  box-shadow: 0 3px 3px -1px rgba(0, 0, 0, 0.2), 0 6px 6px 0 rgba(0, 0, 0, 0.14), 0 1px 10.8px 0 rgba(0, 0, 0, 0.12);
}

.osd.circular {
  border-radius: 9999px;
}

/*********************
 * Spinner Animation *
 *********************/
@keyframes spin {
  to {
    transform: rotate(1turn);
  }
}

spinner {
  background: none;
  opacity: 0;
  -gtk-icon-source: -gtk-icontheme("process-working-symbolic");
}

spinner:checked {
  opacity: 1;
  animation: spin 1s linear infinite;
}

spinner:checked:disabled {
  opacity: 0.5;
}

.large-title {
  font-weight: 300;
  font-size: 24pt;
}

.title-1 {
  font-weight: 800;
  font-size: 20pt;
}

.title-2 {
  font-weight: 800;
  font-size: 15pt;
}

.title-3 {
  font-weight: 700;
  font-size: 15pt;
}

.title-4 {
  font-weight: 700;
  font-size: 13pt;
}

.heading {
  font-weight: 700;
  font-size: 11pt;
}

.body {
  font-weight: 400;
  font-size: 11pt;
}

.caption {
  font-weight: 400;
  font-size: 9pt;
}

.caption-heading {
  font-weight: 700;
  font-size: 9pt;
}

/****************
 * Text Entries *
 ****************/
spinbutton.vertical, spinbutton:not(.vertical),
entry {
  min-height: 32px;
  padding: 0 8px;
  border-spacing: 4px;
  border-radius: 10px;
  caret-color: currentColor;
  transition: all 75ms cubic-bezier(0, 0, 0.2, 1), box-shadow 300ms cubic-bezier(0, 0, 0.2, 1);
  box-shadow: inset 0 0 0 2px transparent;
  background-color: rgba(255, 255, 255, 0.04);
  color: white;
  outline: none;
}

spinbutton.vertical:focus-within, spinbutton:focus-within:not(.vertical),
entry:focus-within {
  background-color: rgba(255, 255, 255, 0.04);
  box-shadow: inset 0 0 0 2px #3281ea;
  color: white;
  outline: none;
}

spinbutton.vertical:drop(active), spinbutton:drop(active):not(.vertical),
entry:drop(active) {
  background-color: alpha(currentColor, 0.08);
  box-shadow: inset 0 0 0 2px alpha(currentColor, 0.08);
  color: white;
  outline: none;
}

spinbutton.vertical:disabled, spinbutton:disabled:not(.vertical),
entry:disabled {
  box-shadow: inset 0 0 0 2px transparent;
  background-color: rgba(255, 255, 255, 0.04);
  color: rgba(255, 255, 255, 0.5);
  color: rgba(255, 255, 255, 0.5);
  outline: none;
}

spinbutton.flat.vertical, spinbutton.flat:not(.vertical),
entry.flat {
  min-height: 0;
  padding: 2px;
  border-radius: 0;
  background-color: transparent;
}

spinbutton.vertical image, spinbutton:not(.vertical) image,
entry image {
  color: rgba(255, 255, 255, 0.7);
}

spinbutton.vertical image:hover, spinbutton:not(.vertical) image:hover, spinbutton.vertical image:active, spinbutton:not(.vertical) image:active,
entry image:hover,
entry image:active {
  color: white;
}

spinbutton.vertical image:disabled, spinbutton:not(.vertical) image:disabled,
entry image:disabled {
  color: rgba(255, 255, 255, 0.5);
}

spinbutton.vertical image.left, spinbutton:not(.vertical) image.left,
entry image.left {
  margin-left: 0px;
  margin-right: 6px;
}

spinbutton.vertical image.right, spinbutton:not(.vertical) image.right,
entry image.right {
  margin-left: 6px;
  margin-right: 0px;
}

spinbutton.vertical undershoot.left, spinbutton:not(.vertical) undershoot.left,
entry undershoot.left {
  background-color: transparent;
  background-image: linear-gradient(to top, transparent 50%, rgba(255, 255, 255, 0.3) 50%);
  padding-left: 1px;
  background-size: 1px 12px;
  background-repeat: repeat-y;
  background-origin: content-box;
  background-position: left top;
  margin: 0 4px;
  margin: 4px 0;
}

spinbutton.vertical undershoot.right, spinbutton:not(.vertical) undershoot.right,
entry undershoot.right {
  background-color: transparent;
  background-image: linear-gradient(to top, transparent 50%, rgba(255, 255, 255, 0.3) 50%);
  padding-right: 1px;
  background-size: 1px 12px;
  background-repeat: repeat-y;
  background-origin: content-box;
  background-position: right top;
  margin: 0 4px;
  margin: 4px 0;
}

spinbutton.error.vertical, spinbutton.error:not(.vertical),
entry.error {
  transition: all 75ms cubic-bezier(0, 0, 0.2, 1), box-shadow 300ms cubic-bezier(0, 0, 0.2, 1);
  box-shadow: inset 0 0 0 2px transparent;
  background-color: rgba(242, 139, 130, 0.08);
  color: #F28B82;
  outline: none;
}

spinbutton.error.vertical image, spinbutton.error:not(.vertical) image,
entry.error image {
  color: #F28B82;
}

spinbutton.error.vertical selection, spinbutton.error:not(.vertical) selection,
entry.error selection {
  color: rgba(0, 0, 0, 0.87);
  background-color: #F28B82;
}

spinbutton.error.vertical:focus-within, spinbutton.error:focus-within:not(.vertical),
entry.error:focus-within {
  background-color: rgba(242, 139, 130, 0.08);
  box-shadow: inset 0 0 0 2px #F28B82;
  color: #F28B82;
  outline: none;
}

spinbutton.error.vertical:disabled, spinbutton.error:disabled:not(.vertical),
entry.error:disabled {
  box-shadow: inset 0 0 0 2px transparent;
  background-color: rgba(242, 139, 130, 0.04);
  color: rgba(255, 255, 255, 0.5);
  color: rgba(242, 139, 130, 0.35);
  outline: none;
}

spinbutton.success.vertical, spinbutton.success:not(.vertical),
entry.success {
  transition: all 75ms cubic-bezier(0, 0, 0.2, 1), box-shadow 300ms cubic-bezier(0, 0, 0.2, 1);
  box-shadow: inset 0 0 0 2px transparent;
  background-color: rgba(129, 201, 149, 0.08);
  color: #81C995;
  outline: none;
}

spinbutton.success.vertical image, spinbutton.success:not(.vertical) image,
entry.success image {
  color: #81C995;
}

spinbutton.success.vertical selection, spinbutton.success:not(.vertical) selection,
entry.success selection {
  color: rgba(0, 0, 0, 0.87);
  background-color: #81C995;
}

spinbutton.success.vertical:focus-within, spinbutton.success:focus-within:not(.vertical),
entry.success:focus-within {
  background-color: rgba(129, 201, 149, 0.08);
  box-shadow: inset 0 0 0 2px #81C995;
  color: #81C995;
  outline: none;
}

spinbutton.success.vertical:disabled, spinbutton.success:disabled:not(.vertical),
entry.success:disabled {
  box-shadow: inset 0 0 0 2px transparent;
  background-color: rgba(129, 201, 149, 0.04);
  color: rgba(255, 255, 255, 0.5);
  color: rgba(129, 201, 149, 0.35);
  outline: none;
}

spinbutton.warning.vertical, spinbutton.warning:not(.vertical),
entry.warning {
  transition: all 75ms cubic-bezier(0, 0, 0.2, 1), box-shadow 300ms cubic-bezier(0, 0, 0.2, 1);
  box-shadow: inset 0 0 0 2px transparent;
  background-color: rgba(253, 214, 51, 0.08);
  color: #FDD633;
  outline: none;
}

spinbutton.warning.vertical image, spinbutton.warning:not(.vertical) image,
entry.warning image {
  color: #FDD633;
}

spinbutton.warning.vertical selection, spinbutton.warning:not(.vertical) selection,
entry.warning selection {
  color: rgba(0, 0, 0, 0.87);
  background-color: #FDD633;
}

spinbutton.warning.vertical:focus-within, spinbutton.warning:focus-within:not(.vertical),
entry.warning:focus-within {
  background-color: rgba(253, 214, 51, 0.08);
  box-shadow: inset 0 0 0 2px #FDD633;
  color: #FDD633;
  outline: none;
}

spinbutton.warning.vertical:disabled, spinbutton.warning:disabled:not(.vertical),
entry.warning:disabled {
  box-shadow: inset 0 0 0 2px transparent;
  background-color: rgba(253, 214, 51, 0.04);
  color: rgba(255, 255, 255, 0.5);
  color: rgba(253, 214, 51, 0.35);
  outline: none;
}

spinbutton.vertical > progress, spinbutton:not(.vertical) > progress,
spinbutton.vertical progress > trough > progress,
spinbutton:not(.vertical) progress > trough > progress,
entry > progress,
entry progress > trough > progress {
  margin: 2px -8px;
  border-bottom: 2px solid #3281ea;
  background-color: transparent;
}

treeview entry.flat, treeview entry {
  background-color: #2C2C2C;
}

treeview entry.flat, treeview entry.flat:focus-within, treeview entry, treeview entry:focus-within {
  border-image: none;
  box-shadow: none;
}

.entry-tag {
  margin: 2px;
  border-radius: 9999px;
  box-shadow: none;
  background-color: rgba(255, 255, 255, 0.12);
  color: white;
}

.entry-tag:hover {
  background-image: image(alpha(currentColor, 0.08));
}

:dir(ltr) .entry-tag {
  margin-left: 4px;
  margin-right: 0;
  padding-left: 12px;
  padding-right: 8px;
}

:dir(rtl) .entry-tag {
  margin-left: 0;
  margin-right: 4px;
  padding-left: 8px;
  padding-right: 12px;
}

.entry-tag.button {
  box-shadow: none;
  background-color: transparent;
}

.entry-tag.button:not(:hover):not(:active) {
  color: rgba(255, 255, 255, 0.7);
}

editablelabel > stack > text {
  transition: all 75ms cubic-bezier(0, 0, 0.2, 1), box-shadow 300ms cubic-bezier(0, 0, 0.2, 1);
  box-shadow: inset 0 0 0 2px transparent;
  background-color: rgba(255, 255, 255, 0.04);
  color: white;
  outline: none;
}

/***********
 * Buttons *
 ***********/
@keyframes needs-attention {
  from {
    background-image: radial-gradient(farthest-side, #3281ea 0%, rgba(50, 129, 234, 0) 0%);
  }
  to {
    background-image: radial-gradient(farthest-side, #3281ea 95%, rgba(50, 129, 234, 0));
  }
}

infobar.warning > revealer > box button, infobar.warning:backdrop > revealer > box button, popover.background.touch-selection button, popover.background.magnifier button, headerbar.selection-mode button:not(.suggested-action):not(.destructive-action) {
  color: rgba(255, 255, 255, 0.7);
}

infobar.warning > revealer > box button:focus, popover.background.touch-selection button:focus, popover.background.magnifier button:focus, headerbar.selection-mode button:focus:not(.suggested-action):not(.destructive-action), infobar.warning > revealer > box button:hover, popover.background.touch-selection button:hover, popover.background.magnifier button:hover, headerbar.selection-mode button:hover:not(.suggested-action):not(.destructive-action), infobar.warning > revealer > box button:active, popover.background.touch-selection button:active, popover.background.magnifier button:active, headerbar.selection-mode button:active:not(.suggested-action):not(.destructive-action), infobar.warning > revealer > box button:checked, popover.background.touch-selection button:checked, popover.background.magnifier button:checked, headerbar.selection-mode button:checked:not(.suggested-action):not(.destructive-action) {
  color: white;
}

infobar.warning > revealer > box button:disabled, popover.background.touch-selection button:disabled, popover.background.magnifier button:disabled, headerbar.selection-mode button:disabled:not(.suggested-action):not(.destructive-action) {
  color: rgba(255, 255, 255, 0.3);
}

infobar.warning > revealer > box button:checked:disabled, popover.background.touch-selection button:checked:disabled, popover.background.magnifier button:checked:disabled, headerbar.selection-mode button:checked:disabled:not(.suggested-action):not(.destructive-action) {
  color: rgba(255, 255, 255, 0.5);
}

button {
  transition: all 75ms cubic-bezier(0, 0, 0.2, 1), box-shadow 225ms cubic-bezier(0, 0, 0.2, 1);
  outline: none;
  box-shadow: inset 0 0 0 9999px transparent;
  background-color: rgba(255, 255, 255, 0.04);
  color: white;
}

button:focus {
  box-shadow: inset 0 0 0 2px alpha(currentColor, 0.08), inset 0 0 0 9999px transparent;
}

button:hover {
  box-shadow: inset 0 0 0 9999px alpha(currentColor, 0.08);
}

button:active {
  transition: box-shadow 225ms cubic-bezier(0, 0, 0.2, 1), background-color 225ms cubic-bezier(0, 0, 0.2, 1);
  box-shadow: inset 0 0 0 9999px alpha(currentColor, 0.12);
}

button:disabled {
  box-shadow: none;
  background-color: rgba(255, 255, 255, 0.04);
  color: rgba(255, 255, 255, 0.5);
}

button:checked {
  box-shadow: none;
  background-color: #3281ea;
  color: white;
}

button:checked:hover {
  box-shadow: inset 0 0 0 9999px transparent;
}

button:checked:disabled {
  box-shadow: inset 0 0 0 9999px alpha(currentColor, 0.1);
  background-color: rgba(255, 255, 255, 0.04);
  color: rgba(255, 255, 255, 0.5);
}

button {
  min-height: 24px;
  min-width: 16px;
  padding: 4px 8px;
  border-radius: 10px;
  font-weight: 500;
}

button:drop(active) {
  box-shadow: inset 0 0 0 9999px alpha(currentColor, 0.08);
}

placessidebar .navigation-sidebar > row button.sidebar-button, calendar > header > button, columnview.view > header > button button.circular,
treeview.view > header > button button.circular, row.activatable button.circular, check,
radio, scrollbar button, notebook > header > tabs > arrow, spinbutton.vertical > button, spinbutton:not(.vertical) > button, modelbutton.flat, tabbar tab button.image-button,
dnd tab button.image-button, splitbutton.flat > button,
splitbutton.flat > menubutton > button, menubutton.flat > button, filechooser #pathbarbox > stack > box > button, window.dialog.message.csd .dialog-action-area > button, .app-notification button, popover.background.menu button,
popover.background button.model, headerbar button:not(.suggested-action):not(.destructive-action), .toolbar button,
toolbar button, dropdown > .linked:not(.vertical) > button:not(:only-child),
combobox > .linked:not(.vertical) > button:not(:only-child), button.flat {
  transition: all 75ms cubic-bezier(0, 0, 0.2, 1);
  outline: none;
  box-shadow: inset 0 0 0 9999px transparent;
  background-color: transparent;
  color: rgba(255, 255, 255, 0.7);
}

placessidebar .navigation-sidebar > row button.sidebar-button:focus, calendar > header > button:focus, columnview.view > header > button button.circular:focus,
treeview.view > header > button button.circular:focus, row.activatable button.circular:focus, check:focus,
radio:focus, scrollbar button:focus, notebook > header > tabs > arrow:focus, spinbutton.vertical > button:focus, spinbutton:not(.vertical) > button:focus, modelbutton.flat:focus, tabbar tab button.image-button:focus,
dnd tab button.image-button:focus, splitbutton.flat > button:focus,
splitbutton.flat > menubutton > button:focus, menubutton.flat > button:focus, filechooser #pathbarbox > stack > box > button:focus, window.dialog.message.csd .dialog-action-area > button:focus, .app-notification button:focus, popover.background.menu button:focus,
popover.background button.model:focus, headerbar button:focus:not(.suggested-action):not(.destructive-action), .toolbar button:focus,
toolbar button:focus, dropdown > .linked:not(.vertical) > button:focus:not(:only-child),
combobox > .linked:not(.vertical) > button:focus:not(:only-child), button.flat:focus {
  box-shadow: inset 0 0 0 2px alpha(currentColor, 0.08);
  color: white;
}

placessidebar .navigation-sidebar > row button.sidebar-button:hover, calendar > header > button:hover, columnview.view > header > button button.circular:hover,
treeview.view > header > button button.circular:hover, row.activatable button.circular:hover, check:hover,
radio:hover, scrollbar button:hover, notebook > header > tabs > arrow:hover, spinbutton.vertical > button:hover, spinbutton:not(.vertical) > button:hover, modelbutton.flat:hover, tabbar tab button.image-button:hover,
dnd tab button.image-button:hover, splitbutton.flat > button:hover,
splitbutton.flat > menubutton > button:hover, menubutton.flat > button:hover, filechooser #pathbarbox > stack > box > button:hover, window.dialog.message.csd .dialog-action-area > button:hover, .app-notification button:hover, popover.background.menu button:hover,
popover.background button.model:hover, headerbar button:hover:not(.suggested-action):not(.destructive-action), .toolbar button:hover,
toolbar button:hover, dropdown > .linked:not(.vertical) > button:hover:not(:only-child),
combobox > .linked:not(.vertical) > button:hover:not(:only-child), button.flat:hover {
  box-shadow: inset 0 0 0 9999px alpha(currentColor, 0.08);
  color: white;
}

placessidebar .navigation-sidebar > row button.sidebar-button:active, calendar > header > button:active, columnview.view > header > button button.circular:active,
treeview.view > header > button button.circular:active, row.activatable button.circular:active, check:active,
radio:active, scrollbar button:active, notebook > header > tabs > arrow:active, spinbutton.vertical > button:active, spinbutton:not(.vertical) > button:active, modelbutton.flat:active, tabbar tab button.image-button:active,
dnd tab button.image-button:active, splitbutton.flat > button:active,
splitbutton.flat > menubutton > button:active, menubutton.flat > button:active, filechooser #pathbarbox > stack > box > button:active, window.dialog.message.csd .dialog-action-area > button:active, .app-notification button:active, popover.background.menu button:active,
popover.background button.model:active, headerbar button:active:not(.suggested-action):not(.destructive-action), .toolbar button:active,
toolbar button:active, dropdown > .linked:not(.vertical) > button:active:not(:only-child),
combobox > .linked:not(.vertical) > button:active:not(:only-child), button.flat:active {
  transition: all 75ms cubic-bezier(0, 0, 0.2, 1);
  box-shadow: inset 0 0 0 9999px alpha(currentColor, 0.12);
  color: white;
}

placessidebar .navigation-sidebar > row button.sidebar-button:disabled, calendar > header > button:disabled, columnview.view > header > button button.circular:disabled,
treeview.view > header > button button.circular:disabled, row.activatable button.circular:disabled, check:disabled,
radio:disabled, scrollbar button:disabled, notebook > header > tabs > arrow:disabled, spinbutton.vertical > button:disabled, spinbutton:not(.vertical) > button:disabled, modelbutton.flat:disabled, tabbar tab button.image-button:disabled,
dnd tab button.image-button:disabled, splitbutton.flat > button:disabled,
splitbutton.flat > menubutton > button:disabled, menubutton.flat > button:disabled, filechooser #pathbarbox > stack > box > button:disabled, window.dialog.message.csd .dialog-action-area > button:disabled, .app-notification button:disabled, popover.background.menu button:disabled,
popover.background button.model:disabled, headerbar button:disabled:not(.suggested-action):not(.destructive-action), .toolbar button:disabled,
toolbar button:disabled, dropdown > .linked:not(.vertical) > button:disabled:not(:only-child),
combobox > .linked:not(.vertical) > button:disabled:not(:only-child), button.flat:disabled {
  box-shadow: none;
  background-color: transparent;
  color: rgba(255, 255, 255, 0.3);
}

tabbar tab button.image-button:checked,
dnd tab button.image-button:checked, splitbutton.flat > button:checked,
splitbutton.flat > menubutton > button:checked, menubutton.flat > button:checked, filechooser #pathbarbox > stack > box > button:checked, window.dialog.message.csd .dialog-action-area > button:checked, .app-notification button:checked, popover.background.menu button:checked,
popover.background button.model:checked, headerbar button:checked:not(.suggested-action):not(.destructive-action), .toolbar button:checked,
toolbar button:checked, dropdown > .linked:not(.vertical) > button:checked:not(:only-child),
combobox > .linked:not(.vertical) > button:checked:not(:only-child), button.flat:checked, button.flat:checked:hover {
  background-color: alpha(currentColor, 0.1);
  color: white;
}

tabbar tab button.image-button:checked:disabled,
dnd tab button.image-button:checked:disabled, splitbutton.flat > button:checked:disabled,
splitbutton.flat > menubutton > button:checked:disabled, menubutton.flat > button:checked:disabled, filechooser #pathbarbox > stack > box > button:checked:disabled, window.dialog.message.csd .dialog-action-area > button:checked:disabled, .app-notification button:checked:disabled, popover.background.menu button:checked:disabled,
popover.background button.model:checked:disabled, headerbar button:checked:disabled:not(.suggested-action):not(.destructive-action), .toolbar button:checked:disabled,
toolbar button:checked:disabled, dropdown > .linked:not(.vertical) > button:checked:disabled:not(:only-child),
combobox > .linked:not(.vertical) > button:checked:disabled:not(:only-child), button.flat:checked:disabled {
  background-color: alpha(currentColor, 0.1);
  color: rgba(255, 255, 255, 0.5);
}

button.text-button {
  min-width: 32px;
  padding-left: 16px;
  padding-right: 16px;
}

button.text-button.flat {
  min-width: 48px;
  padding-left: 8px;
  padding-right: 8px;
}

button.image-button {
  min-width: 24px;
  padding: 4px;
}

button.text-button.image-button {
  min-width: 24px;
  padding: 4px;
  border-radius: 10px;
}

button.text-button.image-button label:first-child {
  margin-left: 12px;
}

button.text-button.image-button label:last-child {
  margin-right: 12px;
}

button.text-button.image-button.flat label:first-child {
  margin-left: 8px;
}

button.text-button.image-button.flat label:last-child {
  margin-right: 8px;
}

button.text-button.image-button image:not(:only-child) {
  margin: 0 4px;
}

.linked:not(.vertical) > button.flat:not(:only-child), .linked.vertical > button.flat:not(:only-child) {
  border-radius: 10px;
}

.linked:not(.vertical) > button.flat:focus, .linked.vertical > button.flat:focus {
  box-shadow: inset 0 0 0 9999px alpha(currentColor, 0.08);
}

.linked:not(.vertical) > menubutton:first-child > button {
  border-radius: 10px 0 0 10px;
}

.linked:not(.vertical) > menubutton:last-child > button {
  border-radius: 0 10px 10px 0;
}

button.osd {
  box-shadow: none;
  padding: 8px 12px;
  background-color: #2C2C2C;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background-clip: padding-box;
}

button.osd:hover {
  background-color: #414141;
}

button.osd:active {
  background-color: #565656;
}

button.osd.image-button {
  padding: 8px;
}

button.osd:disabled {
  opacity: 0;
}

button.suggested-action {
  background-color: #3281ea;
  color: white;
  box-shadow: none;
}

button.suggested-action:disabled {
  box-shadow: none;
  background-color: rgba(255, 255, 255, 0.04);
  color: rgba(255, 255, 255, 0.5);
}

button.suggested-action:hover {
  box-shadow: inset 0 0 0 9999px transparent, 0 2px 2.4px -1px rgba(50, 129, 234, 0.2), 0 4px 3px 0 rgba(50, 129, 234, 0.14), 0 1px 6px 0 rgba(50, 129, 234, 0.12);
}

button.suggested-action:checked {
  background-color: #70a7f0;
}

button.suggested-action:checked:hover {
  box-shadow: inset 0 0 0 9999px transparent, 0 3px 3px -3px rgba(50, 129, 234, 0.3), 0 2px 3px -1px rgba(50, 129, 234, 0.24), 0 2px 5px 0 rgba(50, 129, 234, 0.12);
}

button.suggested-action:focus {
  box-shadow: 0 0 0 2px rgba(50, 129, 234, 0.35);
}

button.suggested-action.flat {
  background-color: transparent;
  color: #3281ea;
}

button.suggested-action.flat:disabled {
  box-shadow: none;
  background-color: transparent;
  color: rgba(255, 255, 255, 0.3);
}

button.suggested-action.flat:checked {
  background-color: rgba(50, 129, 234, 0.3);
}

button.destructive-action {
  background-color: #F28B82;
  color: rgba(0, 0, 0, 0.87);
  box-shadow: none;
}

button.destructive-action:disabled {
  box-shadow: none;
  background-color: rgba(255, 255, 255, 0.04);
  color: rgba(255, 255, 255, 0.5);
}

button.destructive-action:hover {
  box-shadow: inset 0 0 0 9999px transparent, 0 2px 2.4px -1px rgba(242, 139, 130, 0.2), 0 4px 3px 0 rgba(242, 139, 130, 0.14), 0 1px 6px 0 rgba(242, 139, 130, 0.12);
}

button.destructive-action:checked {
  background-color: rgba(182, 105, 98, 0.961);
}

button.destructive-action:checked:hover {
  box-shadow: inset 0 0 0 9999px transparent, 0 3px 3px -3px rgba(242, 139, 130, 0.3), 0 2px 3px -1px rgba(242, 139, 130, 0.24), 0 2px 5px 0 rgba(242, 139, 130, 0.12);
}

button.destructive-action:focus {
  box-shadow: 0 0 0 2px rgba(242, 139, 130, 0.35);
}

button.destructive-action.flat {
  background-color: transparent;
  color: #F28B82;
}

button.destructive-action.flat:disabled {
  box-shadow: none;
  background-color: transparent;
  color: rgba(255, 255, 255, 0.3);
}

button.destructive-action.flat:checked {
  background-color: rgba(242, 139, 130, 0.3);
}

stackswitcher > button > label {
  margin: 0 -6px;
  padding: 0 6px;
}

stackswitcher > button > image {
  margin: -3px -6px;
  padding: 3px 6px;
}

stackswitcher > button.needs-attention:checked > label,
stackswitcher > button.needs-attention:checked > image {
  animation: none;
  background-image: none;
}

button.font > box, button.file > box {
  border-spacing: 4px;
}

button.font > box > box > label, button.file > box > box > label {
  font-weight: bold;
}

menubutton.circular > button, windowcontrols button, filechooser #pathbarbox > stack > box > button, check,
radio, button.image-button, button.close, button.circular {
  border-radius: 9999px;
}

menubutton.circular > button label, windowcontrols button label, filechooser #pathbarbox > stack > box > button label, check label,
radio label, button.image-button label, button.close label, button.circular label {
  padding: 0;
}

placessidebar .navigation-sidebar > row button.sidebar-button, notebook > header tab button.flat, popover.menu box.circular-buttons button.circular.image-button.model, spinbutton.vertical > button, spinbutton:not(.vertical) > button {
  min-height: 22px;
  min-width: 22px;
  padding: 0;
  border-radius: 9999px;
}

stacksidebar row.needs-attention > label, stackswitcher > button.needs-attention > label,
stackswitcher > button.needs-attention > image {
  animation: needs-attention 225ms cubic-bezier(0, 0, 0.2, 1) forwards;
  background-repeat: no-repeat;
  background-position: right 3px;
  background-size: 6px 6px;
}

stacksidebar row.needs-attention > label:dir(rtl), stackswitcher > button.needs-attention > label:dir(rtl),
stackswitcher > button.needs-attention > image:dir(rtl) {
  background-position: left 3px;
}

.linked:not(.vertical) > spinbutton.vertical, .linked:not(.vertical) > spinbutton:not(.vertical), .linked:not(.vertical) > entry, .linked:not(.vertical) > button, .linked:not(.vertical) > button.image-button {
  border-radius: 0;
}

.linked:not(.vertical) > spinbutton.vertical:first-child, .linked:not(.vertical) > spinbutton:first-child:not(.vertical), .linked:not(.vertical) > entry:first-child, .linked:not(.vertical) > button:first-child {
  border-top-left-radius: 10px;
  border-bottom-left-radius: 10px;
}

.linked:not(.vertical) > spinbutton.vertical:last-child, .linked:not(.vertical) > spinbutton:last-child:not(.vertical), .linked:not(.vertical) > entry:last-child, .linked:not(.vertical) > button:last-child {
  border-top-right-radius: 10px;
  border-bottom-right-radius: 10px;
}

.linked:not(.vertical) > spinbutton.vertical:only-child, .linked:not(.vertical) > spinbutton:only-child:not(.vertical), .linked:not(.vertical) > entry:only-child, .linked:not(.vertical) > button:only-child {
  border-radius: 10px;
}

.linked.vertical > spinbutton.vertical, .linked.vertical > spinbutton:not(.vertical), .linked.vertical > entry, .linked.vertical > button, .linked.vertical > button.image-button {
  border-radius: 0;
}

.linked.vertical > spinbutton.vertical:first-child, .linked.vertical > spinbutton:first-child:not(.vertical), .linked.vertical > entry:first-child, .linked.vertical > button:first-child {
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
}

.linked.vertical > spinbutton.vertical:last-child, .linked.vertical > spinbutton:last-child:not(.vertical), .linked.vertical > entry:last-child, .linked.vertical > button:last-child {
  border-bottom-left-radius: 10px;
  border-bottom-right-radius: 10px;
}

.linked.vertical > spinbutton.vertical:only-child, .linked.vertical > spinbutton:only-child:not(.vertical), .linked.vertical > entry:only-child, .linked.vertical > button:only-child {
  border-radius: 10px;
}

/* menu buttons */
modelbutton.flat arrow.left {
  -gtk-icon-source: -gtk-icontheme("go-previous-symbolic");
}

modelbutton.flat arrow.right {
  -gtk-icon-source: -gtk-icontheme("go-next-symbolic");
}

button.color {
  min-height: 22px;
  min-width: 22px;
  padding: 4px;
}


list > row button.image-button:not(.flat) {
  background-color: transparent;
  box-shadow: none;
  border: none;
}


list > row button.image-button:not(.flat):hover {
  box-shadow: inset 0 0 0 9999px alpha(currentColor, 0.08);
}


list > row button.image-button:not(.flat):active,
list > row button.image-button:not(.flat):checked {
  transition: box-shadow 225ms cubic-bezier(0, 0, 0.2, 1), background-color 225ms cubic-bezier(0, 0, 0.2, 1);
  box-shadow: inset 0 0 0 9999px alpha(currentColor, 0.12);
}


list > row button.image-button:not(.flat).suggested-action {
  background-color: #3281ea;
  color: white;
}


list > row button.image-button:not(.flat).destructive-action {
  background-color: #F28B82;
  color: rgba(0, 0, 0, 0.87);
}

/*********
 * Links *
 *********/
link {
  color: #3281ea;
}

link:visited {
  color: #CE93D8;
}

button.link:link, button.link:link:focus, button.link:link:hover, button.link:link:active {
  color: #3281ea;
}

button.link:visited, button.link:visited:focus, button.link:visited:hover, button.link:visited:active {
  color: #CE93D8;
}

button.link > label {
  text-decoration-line: underline;
}

/*****************
 * GtkSpinButton *
 *****************/
spinbutton:not(.vertical) {
  padding: 0;
  border-spacing: 0;
}

spinbutton:not(.vertical) > text {
  min-width: 24px;
  margin: 0;
  padding-left: 8px;
  border-image: none;
  border-radius: 0;
  box-shadow: none;
  background-color: transparent;
}

spinbutton:not(.vertical) > button {
  border: solid 4px transparent;
}

spinbutton:not(.vertical) > button:focus:not(:hover):not(:active):not(:disabled) {
  box-shadow: inset 0 0 0 9999px transparent;
  color: rgba(255, 255, 255, 0.7);
}

spinbutton:not(.vertical) > button.up:dir(ltr), spinbutton:not(.vertical) > button.down:dir(rtl) {
  margin-left: -2px;
}

spinbutton:not(.vertical) > button.up:dir(rtl), spinbutton:not(.vertical) > button.down:dir(ltr) {
  margin-right: -2px;
}

spinbutton.vertical {
  padding: 0;
}

spinbutton.vertical:disabled {
  color: rgba(255, 255, 255, 0.5);
}

spinbutton.vertical > text {
  margin: 0;
  border-image: none;
  border-radius: 0;
  box-shadow: none;
  background-color: transparent;
  min-height: 32px;
  min-width: 36px;
  padding: 0;
}

spinbutton.vertical > button {
  padding: 0;
  border: solid 4px transparent;
}

spinbutton.vertical > button:focus:not(:hover):not(:active) {
  box-shadow: inset 0 0 0 9999px transparent;
  color: rgba(255, 255, 255, 0.7);
}

spinbutton.vertical > button.up {
  margin: 0 2px;
}

spinbutton.vertical > button.down {
  margin: 0 2px;
}

list > row spinbutton:not(.vertical) > button {
  margin: 4px;
}

list > row spinbutton:not(.vertical) > button.up:dir(ltr), list > row spinbutton:not(.vertical) > button.down:dir(rtl) {
  margin-left: 2px;
}

list > row spinbutton:not(.vertical) > button.up:dir(rtl), list > row spinbutton:not(.vertical) > button.down:dir(ltr) {
  margin-right: 2px;
}

/**************
 * ComboBoxes *
 **************/
dropdown > popover.menu.background > contents {
  padding: 0;
}

dropdown > button > box {
  border-spacing: 4px;
}

dropdown arrow,
combobox arrow {
  -gtk-icon-source: -gtk-icontheme("pan-down-symbolic");
  min-height: 16px;
  min-width: 16px;
}

dropdown > popover.menu,
combobox > popover.menu {
  margin-top: 2px;
}

dropdown > popover.menu > contents,
combobox > popover.menu > contents {
  padding: 4px;
}

dropdown > popover.menu > contents modelbutton,
combobox > popover.menu > contents modelbutton {
  padding-left: 6px;
  padding-right: 6px;
}

dropdown button.combo cellview:dir(ltr),
combobox button.combo cellview:dir(ltr) {
  margin-left: 0px;
}

dropdown button.combo cellview:dir(rtl),
combobox button.combo cellview:dir(rtl) {
  margin-right: 0px;
}

dropdown.linked button:nth-child(2):dir(ltr),
combobox.linked button:nth-child(2):dir(ltr) {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

dropdown.linked button:nth-child(2):dir(rtl),
combobox.linked button:nth-child(2):dir(rtl) {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

dropdown > .linked:not(.vertical) > entry:not(:only-child),
combobox > .linked:not(.vertical) > entry:not(:only-child) {
  border-radius: 10px;
}

dropdown > .linked:not(.vertical) > entry:not(:only-child):first-child,
combobox > .linked:not(.vertical) > entry:not(:only-child):first-child {
  margin-right: -32px;
  padding-right: 32px;
}

dropdown > .linked:not(.vertical) > entry:not(:only-child):last-child,
combobox > .linked:not(.vertical) > entry:not(:only-child):last-child {
  margin-left: -32px;
  padding-left: 32px;
}

dropdown > .linked:not(.vertical) > button:not(:only-child),
combobox > .linked:not(.vertical) > button:not(:only-child) {
  min-height: 16px;
  min-width: 16px;
  margin: 5px;
  padding: 3px;
  border-radius: 10px;
}

.linked:not(.vertical) > combobox:not(:first-child) > box > button.combo {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.linked:not(.vertical) > combobox:not(:last-child) > box > button.combo {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.linked.vertical > combobox:not(:first-child) > box > button.combo {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.linked.vertical > combobox:not(:last-child) > box > button.combo {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

button.combo:only-child {
  border-radius: 10px;
  font-weight: normal;
  transition: all 75ms cubic-bezier(0, 0, 0.2, 1), box-shadow 300ms cubic-bezier(0, 0, 0.2, 1);
  box-shadow: inset 0 0 0 2px transparent;
  background-color: rgba(255, 255, 255, 0.04);
  color: white;
  outline: none;
}

button.combo:only-child:focus {
  box-shadow: inset 0 0 0 2px alpha(currentColor, 0.08);
  color: white;
}

button.combo:only-child:hover {
  box-shadow: inset 0 0 0 9999px alpha(currentColor, 0.08);
  color: white;
}

button.combo:only-child:active {
  transition: all 75ms cubic-bezier(0, 0, 0.2, 1);
  box-shadow: inset 0 0 0 9999px alpha(currentColor, 0.12);
  color: white;
}

button.combo:only-child:checked {
  background-color: alpha(currentColor, 0.1);
  color: white;
}

button.combo:only-child:disabled {
  box-shadow: none;
  background-color: rgba(255, 255, 255, 0.04);
  color: rgba(255, 255, 255, 0.5);
}

.app-notification, .toolbar.osd,
toolbar.osd {
  transition: box-shadow 75ms cubic-bezier(0, 0, 0.2, 1);
  padding: 4px;
  border-radius: 10px;
  box-shadow: 0 2px 2.4px -1px rgba(0, 0, 0, 0.2), 0 4px 3px 0 rgba(0, 0, 0, 0.14), 0 1px 6px 0 rgba(0, 0, 0, 0.12), inset 0 1px rgba(255, 255, 255, 0.1);
  background-color: #3C3C3C;
}

.app-notification:backdrop, .toolbar.osd:backdrop,
toolbar.osd:backdrop {
  box-shadow: 0 3px 2px -3px rgba(0, 0, 0, 0.3), 0 2px 2px -1px rgba(0, 0, 0, 0.24), 0 1px 3px 0 rgba(0, 0, 0, 0.12), inset 0 1px rgba(255, 255, 255, 0.1);
}

/************
 * Toolbars *
 ************/
.toolbar,
toolbar {
  padding: 2px 4px;
  background-color: #212121;
  border-spacing: 4px;
}

.osd .toolbar, .osd toolbar {
  background-color: transparent;
}

.toolbar.osd.left, .toolbar.osd.right, .toolbar.osd.top, .toolbar.osd.bottom,
toolbar.osd.left,
toolbar.osd.right,
toolbar.osd.top,
toolbar.osd.bottom {
  border-radius: 0;
}

.toolbar.osd.bottom,
toolbar.osd.bottom {
  box-shadow: none;
  background-color: transparent;
  background-image: linear-gradient(to bottom, transparent, rgba(0, 0, 0, 0.1) 30%, rgba(0, 0, 0, 0.2) 50%, rgba(0, 0, 0, 0.4));
}

.toolbar.horizontal > separator,
toolbar.horizontal > separator {
  margin: 2px;
}

.toolbar.vertical > separator,
toolbar.vertical > separator {
  margin: 2px;
}

.toolbar:not(.inline-toolbar):not(.osd) scale,
.toolbar:not(.inline-toolbar):not(.osd) entry,
.toolbar:not(.inline-toolbar):not(.osd) spinbutton,
.toolbar:not(.inline-toolbar):not(.osd) button,
toolbar:not(.inline-toolbar):not(.osd) scale,
toolbar:not(.inline-toolbar):not(.osd) entry,
toolbar:not(.inline-toolbar):not(.osd) spinbutton,
toolbar:not(.inline-toolbar):not(.osd) button {
  margin: 2px;
}

.toolbar:not(.inline-toolbar):not(.osd) .linked entry:not(:first-child),
.toolbar:not(.inline-toolbar):not(.osd) .linked spinbutton:not(:first-child),
.toolbar:not(.inline-toolbar):not(.osd) .linked button:not(:first-child),
toolbar:not(.inline-toolbar):not(.osd) .linked entry:not(:first-child),
toolbar:not(.inline-toolbar):not(.osd) .linked spinbutton:not(:first-child),
toolbar:not(.inline-toolbar):not(.osd) .linked button:not(:first-child) {
  margin-left: 0;
}

.toolbar:not(.inline-toolbar):not(.osd) .linked entry:not(:last-child),
.toolbar:not(.inline-toolbar):not(.osd) .linked spinbutton:not(:last-child),
.toolbar:not(.inline-toolbar):not(.osd) .linked button:not(:last-child),
toolbar:not(.inline-toolbar):not(.osd) .linked entry:not(:last-child),
toolbar:not(.inline-toolbar):not(.osd) .linked spinbutton:not(:last-child),
toolbar:not(.inline-toolbar):not(.osd) .linked button:not(:last-child) {
  margin-right: 0;
}

.toolbar:not(.inline-toolbar):not(.osd) spinbutton entry,
.toolbar:not(.inline-toolbar):not(.osd) spinbutton button,
toolbar:not(.inline-toolbar):not(.osd) spinbutton entry,
toolbar:not(.inline-toolbar):not(.osd) spinbutton button {
  margin: 0;
}

.toolbar:not(.inline-toolbar):not(.osd) switch,
toolbar:not(.inline-toolbar):not(.osd) switch {
  margin: 6px 2px;
}

.toolbar button {
  margin: 1px;
  border-radius: 5px;
}

searchbar > revealer > box {
  padding: 4px;
  border-spacing: 4px;
  border-style: solid;
  border-width: 0 0 1px;
  border-color: rgba(255, 255, 255, 0.12);
  background-color: #212121;
  background-clip: border-box;
  box-shadow: none;
}

searchbar > revealer > box entry {
  margin: 0;
}

/***************
 * Header bars *
 ***************/
headerbar button:not(.suggested-action):not(.destructive-action) {
  color: rgba(255, 255, 255, 0.7);
}

headerbar .linked:not(.vertical) > button:not(.suggested-action):not(.destructive-action) {
  border-radius: 9999px;
}

headerbar button:focus:not(.suggested-action):not(.destructive-action), headerbar button:hover:not(.suggested-action):not(.destructive-action), headerbar button:active:not(.suggested-action):not(.destructive-action), headerbar button:checked:not(.suggested-action):not(.destructive-action) {
  color: white;
}

headerbar button:disabled:not(.suggested-action):not(.destructive-action) {
  color: rgba(255, 255, 255, 0.3);
}

headerbar button:checked:disabled:not(.suggested-action):not(.destructive-action) {
  background-color: transparent;
  color: rgba(255, 255, 255, 0.5);
}

headerbar button:backdrop:not(.suggested-action):not(.destructive-action) {
  color: rgba(255, 255, 255, 0.5);
}

headerbar button:backdrop:focus:not(.suggested-action):not(.destructive-action), headerbar button:backdrop:hover:not(.suggested-action):not(.destructive-action), headerbar button:backdrop:active:not(.suggested-action):not(.destructive-action) {
  color: rgba(255, 255, 255, 0.7);
}

headerbar button:backdrop:disabled:not(.suggested-action):not(.destructive-action) {
  color: rgba(255, 255, 255, 0.3);
}

headerbar button:backdrop:checked:not(.suggested-action):not(.destructive-action) {
  color: rgba(255, 255, 255, 0.7);
}

headerbar button:backdrop:checked:disabled:not(.suggested-action):not(.destructive-action) {
  color: rgba(255, 255, 255, 0.3);
}

headerbar entry {
  background-color: rgba(255, 255, 255, 0.04);
  color: white;
}

headerbar entry:disabled {
  background-color: rgba(255, 255, 255, 0.04);
  color: rgba(255, 255, 255, 0.5);
}

headerbar entry image {
  color: rgba(255, 255, 255, 0.7);
}

headerbar entry image:hover, headerbar entry image:active {
  color: white;
}

headerbar entry image:disabled {
  color: rgba(255, 255, 255, 0.5);
}

headerbar {
  transition: background-color 75ms cubic-bezier(0, 0, 0.2, 1), color 75ms cubic-bezier(0, 0, 0.2, 1);
  box-shadow: inset 0 -1px rgba(255, 255, 255, 0.12), inset 0 1px rgba(255, 255, 255, 0.1);
  background-color: #2C2C2C;
  color: white;
  min-height: 40px;
  padding: 0;
  border-radius: 14px 14px 0 0;
}

headerbar:disabled {
  color: rgba(255, 255, 255, 0.5);
}

headerbar:backdrop {
  background-color: #2C2C2C;
  color: rgba(255, 255, 255, 0.7);
}

headerbar:backdrop:disabled {
  color: rgba(255, 255, 255, 0.3);
}

headerbar .title {
  padding: 0 8px;
  font-weight: bold;
}

headerbar .subtitle {
  padding: 0 8px;
  font-size: smaller;
}

headerbar .subtitle,
headerbar .dim-label,
headerbar row.expander:not(:checked) image.expander-row-arrow,
row.expander:not(:checked) headerbar image.expander-row-arrow,
headerbar row label.subtitle,
row headerbar label.subtitle {
  transition: color 75ms cubic-bezier(0, 0, 0.2, 1);
  color: rgba(255, 255, 255, 0.7);
}

headerbar .subtitle:backdrop,
headerbar .dim-label:backdrop,
headerbar row.expander:not(:checked) image.expander-row-arrow:backdrop,
row.expander:not(:checked) headerbar image.expander-row-arrow:backdrop {
  color: rgba(255, 255, 255, 0.5);
}

headerbar headerbar {
  background-color: transparent;
  box-shadow: none;
}

headerbar headerbar + separator {
  background-color: rgba(255, 255, 255, 0.12);
}

headerbar .linked:not(.vertical) > entry:not(:only-child) {
  border-radius: 10px;
}

headerbar button.suggested-action:disabled, headerbar button.destructive-action:disabled {
  background-color: rgba(255, 255, 255, 0.04);
  color: rgba(255, 255, 255, 0.5);
}

headerbar button.toggle {
  border-radius: 9999px;
}

headerbar stackswitcher {
  margin: 4px 0;
  border-radius: 9999px;
}

headerbar stackswitcher.linked:not(.vertical) > button:not(.suggested-action):not(.destructive-action).text-button {
  border-radius: 9999px;
}

box.vertical headerbar {
  background-color: #2C2C2C;
}

headerbar > windowhandle > box {
  padding: 0 4px;
}

headerbar > windowhandle > box,
headerbar > windowhandle > box > box.start,
headerbar > windowhandle > box > box.end {
  border-spacing: 4px;
}

headerbar entry,
headerbar spinbutton,
headerbar button,
headerbar stackswitcher {
  margin-top: 4px;
  margin-bottom: 4px;
}

headerbar menubutton.popup {
  margin-top: 0;
  margin-bottom: 0;
}

headerbar separator:not(.sidebar) {
  margin-top: 10px;
  margin-bottom: 10px;
  background-color: rgba(255, 255, 255, 0.12);
}

headerbar switch {
  margin-top: 8px;
  margin-bottom: 8px;
}

headerbar spinbutton button {
  margin-top: 0;
  margin-bottom: 0;
}

headerbar.selection-mode {
  transition: background-color 0.1ms 225ms, color 75ms cubic-bezier(0, 0, 0.2, 1);
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.2);
  background-color: #3281ea;
  color: white;
}

headerbar.selection-mode:backdrop {
  color: rgba(255, 255, 255, 0.7);
}

headerbar.selection-mode .subtitle:link {
  color: white;
}

headerbar.selection-mode .selection-menu {
  padding-left: 16px;
  padding-right: 16px;
}

headerbar.selection-mode .selection-menu .arrow {
  -gtk-icon-source: -gtk-icontheme("pan-down-symbolic");
}

headerbar .selection-mode {
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.2);
  background-color: #3281ea;
}

.tiled headerbar, .tiled-top headerbar, .tiled-right headerbar, .tiled-bottom headerbar, .tiled-left headerbar, .maximized headerbar, .fullscreen headerbar {
  border-radius: 0;
}

headerbar.default-decoration {
  min-height: 22px;
  padding: 4px;
  box-shadow: inset 0 -1px rgba(255, 255, 255, 0.12), inset 0 1px rgba(255, 255, 255, 0.1);
}

headerbar.default-decoration windowcontrols button,
headerbar.default-decoration windowcontrols menubutton {
  min-height: 22px;
  min-width: 22px;
  margin: 0;
  padding: 0;
}

.solid-csd headerbar:dir(rtl), .solid-csd headerbar:dir(ltr) {
  border-radius: 0;
  box-shadow: none;
}

window.devel headerbar.titlebar {
  background: #2C2C2C cross-fade(10% -gtk-icontheme("system-run-symbolic"), image(transparent)) 90% 0/256px 256px no-repeat, linear-gradient(to right, transparent 65%, rgba(50, 129, 234, 0.1)), linear-gradient(to top, #343434 3px, #393939);
}

window.devel headerbar.titlebar:backdrop {
  background: #2C2C2C cross-fade(10% -gtk-icontheme("system-run-symbolic"), image(transparent)) 90% 0/256px 256px no-repeat, image(#2C2C2C);
  /* background-color would flash */
}

/************
 * Pathbars *
 ************/

pathbar > button {
  padding-left: 4px;
  padding-right: 4px;
  border-radius: 10px;
  border-spacing: 2px;
}


pathbar > button label,
pathbar > button image {
  margin-left: 2px;
  margin-right: 2px;
}


pathbar > button label:not(:only-child):first-child {
  margin-left: 0;
}


pathbar > button label:not(:only-child):last-child {
  margin-right: 0;
}


pathbar > button.text-button {
  min-width: 0;
}


pathbar > button.slider-button {
  padding-left: 4px;
  padding-right: 4px;
}

/**************
 * Tree Views *
 **************/
columnview.view,
treeview.view {
  border-left-color: #404040;
  border-top-color: #404040;
}

columnview.view:selected,
treeview.view:selected {
  background-color: #2C2C2C;
  background-image: image(alpha(currentColor, 0.1));
  box-shadow: none;
}

columnview.view:hover, columnview.view:selected,
treeview.view:hover,
treeview.view:selected {
  border-radius: 0;
  box-shadow: none;
}

columnview.view.separator,
treeview.view.separator {
  min-height: 5px;
  color: rgba(255, 255, 255, 0.12);
}

columnview.view:drop(active),
treeview.view:drop(active) {
  box-shadow: none;
}

columnview.view:drop(active).after,
treeview.view:drop(active).after {
  border-top-style: none;
}

columnview.view:drop(active).before,
treeview.view:drop(active).before {
  border-bottom-style: none;
}

columnview.view > dndtarget:drop(active),
treeview.view > dndtarget:drop(active) {
  border-style: solid none;
  border-width: 1px;
  border-color: alpha(currentColor, 0.06);
}

columnview.view > dndtarget:drop(active).after,
treeview.view > dndtarget:drop(active).after {
  border-top-style: none;
}

columnview.view > dndtarget:drop(active).before,
treeview.view > dndtarget:drop(active).before {
  border-bottom-style: none;
}

columnview.view.expander,
treeview.view.expander {
  min-width: 16px;
  min-height: 16px;
  color: rgba(255, 255, 255, 0.7);
  -gtk-icon-source: -gtk-icontheme("pan-end-symbolic");
}

columnview.view.expander:dir(rtl),
treeview.view.expander:dir(rtl) {
  -gtk-icon-source: -gtk-icontheme("pan-end-symbolic-rtl");
}

columnview.view.expander:checked,
treeview.view.expander:checked {
  -gtk-icon-source: -gtk-icontheme("pan-down-symbolic");
}

columnview.view.expander:hover,
treeview.view.expander:hover {
  color: white;
}

columnview.view.expander:selected,
treeview.view.expander:selected {
  color: #3281ea;
}

columnview.view.expander:selected:hover,
treeview.view.expander:selected:hover {
  color: rgba(50, 129, 234, 0.65);
}

columnview.view.expander:disabled,
treeview.view.expander:disabled {
  color: rgba(255, 255, 255, 0.3);
}

columnview.view.progressbar,
treeview.view.progressbar {
  border-bottom: 6px solid #3281ea;
  box-shadow: none;
  background-color: transparent;
  background-image: none;
}

columnview.view.progressbar:selected:hover,
treeview.view.progressbar:selected:hover {
  box-shadow: none;
}

columnview.view.trough,
treeview.view.trough {
  border-bottom: 6px solid rgba(255, 255, 255, 0.12);
  box-shadow: none;
  background-color: transparent;
  background-image: none;
}

columnview.view.trough:selected:hover,
treeview.view.trough:selected:hover {
  box-shadow: none;
}

columnview.view > header > button,
treeview.view > header > button {
  padding: 2px 6px;
  border-style: none solid solid none;
  border-width: 1px;
  border-color: rgba(255, 255, 255, 0.12);
  border-radius: 0;
  background-clip: border-box;
}

columnview.view > header > button:not(:focus):not(:hover):not(:active),
treeview.view > header > button:not(:focus):not(:hover):not(:active) {
  color: rgba(255, 255, 255, 0.7);
}

columnview.view > header > button, columnview.view > header > button:disabled,
treeview.view > header > button,
treeview.view > header > button:disabled {
  background-color: #2C2C2C;
}

columnview.view > header > button:last-child,
treeview.view > header > button:last-child {
  border-right-style: none;
}

columnview.view > header > button sort-indicator,
treeview.view > header > button sort-indicator {
  min-height: 16px;
  min-width: 16px;
}

columnview.view > header > button sort-indicator.ascending,
treeview.view > header > button sort-indicator.ascending {
  -gtk-icon-source: -gtk-icontheme("pan-up-symbolic");
}

columnview.view > header > button sort-indicator.descending,
treeview.view > header > button sort-indicator.descending {
  -gtk-icon-source: -gtk-icontheme("pan-down-symbolic");
}

columnview.view button.dnd,
columnview.view header.button.dnd,
treeview.view button.dnd,
treeview.view header.button.dnd {
  padding: 2px 6px;
  border-style: none solid solid;
  border-width: 1px;
  border-color: rgba(255, 255, 255, 0.12);
  border-radius: 0;
  box-shadow: none;
  background-color: #2C2C2C;
  background-clip: border-box;
  color: #3281ea;
}

columnview.view acceleditor > label,
treeview.view acceleditor > label {
  background-color: #3281ea;
}

/*********
 * Menus *
 *********/
menubar {
  padding: 0;
  background-color: #2C2C2C;
  color: white;
}

menubar:backdrop {
  background-color: #2C2C2C;
  color: rgba(255, 255, 255, 0.7);
}

.csd menubar {
  transition: all 75ms cubic-bezier(0, 0, 0.2, 1);
}

menubar > item {
  transition: all 75ms cubic-bezier(0, 0, 0.2, 1);
  min-height: 20px;
  padding: 4px 8px;
  color: rgba(255, 255, 255, 0.7);
}

menubar > item:selected {
  transition: none;
  background-color: alpha(currentColor, 0.1);
  color: white;
}

menubar > item:disabled {
  color: rgba(255, 255, 255, 0.3);
}

menubar > item label:disabled {
  color: inherit;
}

menubar > item popover.menu popover.menu {
  margin-left: 6px;
}

menubar > item popover.menu.background popover.menu.background > contents {
  margin: 0;
}

/**********************
 * Popover Base Menus *
 **********************/
popover.menu box.inline-buttons {
  padding: 0 4px;
}

popover.menu box.inline-buttons button.image-button.model {
  min-height: 24px;
  min-width: 24px;
  padding: 0;
  border: none;
  outline: none;
  transition: none;
}

popover.menu box.inline-buttons button.image-button.model:selected {
  background: image(alpha(currentColor, 0.06));
}

popover.menu box.circular-buttons {
  padding: 4px;
}

popover.menu box.circular-buttons button.circular.image-button.model {
  padding: 4px;
}

popover.menu box.circular-buttons button.circular.image-button.model:focus {
  background-color: alpha(currentColor, 0.06);
}

popover.menu > arrow, popover.menu.background > contents {
  padding: 4px;
  box-shadow: 0 3px 3px -1px rgba(0, 0, 0, 0.2), 0 6px 6px 0 rgba(0, 0, 0, 0.14), 0 1px 10.8px 0 rgba(0, 0, 0, 0.12);
  background-color: #3C3C3C;
  background-clip: border-box;
  border: none;
  border-radius: 9px;
}

popover.menu.background separator {
  margin: 4px 0;
}

popover.menu arrow.left,
popover.menu radio.left,
popover.menu check.left {
  margin-left: 0;
  margin-right: 0;
}

popover.menu arrow.right,
popover.menu radio.right,
popover.menu check.right {
  margin-left: 0;
  margin-right: 0;
}

popover.menu modelbutton {
  transition: background-color 75ms cubic-bezier(0, 0, 0.2, 1);
  min-height: 20px;
  min-width: 48px;
  padding: 2px 6px;
  border-radius: 5px;
  color: white;
  font: initial;
  text-shadow: none;
  box-shadow: none;
  background: none;
}

popover.menu modelbutton:hover {
  transition: none;
  background-color: alpha(currentColor, 0.08);
}

popover.menu modelbutton:disabled {
  color: rgba(255, 255, 255, 0.5);
}

popover.menu label.title {
  font-weight: bold;
  padding: 4px 24px;
}

/************
 * Popovers *
 ************/
popover.background {
  font: initial;
}

popover.background, popover.background:backdrop {
  background-color: transparent;
}

popover.background > arrow,
popover.background > contents {
  transition: box-shadow 75ms cubic-bezier(0, 0, 0.2, 1);
  padding: 4px;
  box-shadow: 0 3px 3px -1px rgba(0, 0, 0, 0.2), 0 6px 6px 0 rgba(0, 0, 0, 0.14), 0 1px 10.8px 0 rgba(0, 0, 0, 0.12);
  background-color: #3C3C3C;
  border: none;
  border-radius: 9px;
  color: white;
}

popover.background:backdrop > arrow,
popover.background:backdrop > contents {
  box-shadow: 0 3px 2px -3px rgba(0, 0, 0, 0.3), 0 2px 2px -1px rgba(0, 0, 0, 0.24), 0 1px 3px 0 rgba(0, 0, 0, 0.12);
}

popover.background > contents > list,
popover.background > contents > .view,
popover.background > contents > toolbar {
  border-style: none;
  box-shadow: none;
  background-color: transparent;
}

popover.background > contents > scrolledwindow > viewport > stack > box {
  padding: 0;
}

popover.background > contents separator {
  background-color: rgba(255, 255, 255, 0.12);
  margin: 2px 0;
}

popover.background > contents list separator {
  margin: 0;
}

popover.background .view:not(:selected),
popover.background toolbar {
  background-color: #3C3C3C;
}

popover.background .linked > button:not(.radio) {
  background: none;
  box-shadow: none;
  border-radius: 5px;
}

popover.background .linked > button:not(.radio):first-child {
  border-radius: 5px;
}

popover.background .linked > button:not(.radio):last-child {
  border-radius: 5px;
}

popover.background .linked > button:not(.radio):only-child {
  border-radius: 5px;
}

popover.background.menu button,
popover.background button.model {
  min-height: 32px;
  padding: 0 8px;
  border-radius: 5px;
}

.osd popover.background, popover.background.touch-selection, popover.background.magnifier {
  background-color: transparent;
}

popover.background listview {
  padding: 0;
}

popover.background listview > row {
  padding: 4px 8px;
  border-radius: 5px;
  margin: 0;
}

magnifier {
  background-color: #2C2C2C;
}

/*************
 * Notebooks *
 *************/
notebook > header tab {
  transition: all 75ms cubic-bezier(0, 0, 0.2, 1);
  min-height: 22px;
  min-width: 22px;
  padding: 4px 8px;
  border-width: 1px;
  border-color: transparent;
  border-style: solid;
  outline: none;
  background-clip: padding-box;
  box-shadow: none;
  color: rgba(255, 255, 255, 0.7);
  font-weight: 500;
}

notebook > header tab:hover {
  background-color: #404040;
  color: white;
}

notebook > header tab:disabled {
  color: rgba(255, 255, 255, 0.3);
}

notebook > header tab:checked {
  transition: all 75ms cubic-bezier(0, 0, 0.2, 1);
  background-color: #2C2C2C;
  background-clip: padding-box;
  border-color: #404040;
  color: white;
  box-shadow: none;
}

notebook > header tab:checked:disabled {
  color: rgba(255, 255, 255, 0.5);
}

notebook > header tab:checked.reorderable-page {
  background-color: #2C2C2C;
}

frame > paned > notebook > header, notebook.frame > header {
  background-color: #242424;
}

notebook, notebook.frame {
  background-color: #2C2C2C;
  border-radius: 10px;
}

notebook.frame frame > border {
  border: none;
  border-radius: 10px;
}

notebook.frame frame > list row.activatable {
  border-radius: 10px;
}

notebook:focus tab:checked {
  box-shadow: none;
}

notebook > header {
  border-width: 1px;
  border-color: rgba(255, 255, 255, 0.12);
  background-color: #212121;
  background-clip: border-box;
}

notebook > header.top {
  border-bottom-style: solid;
  border-radius: 10px 10px 0 0;
}

notebook > header.top > tabs {
  margin-bottom: -1px;
  margin-top: 4px;
}

notebook > header.top > tabs > tab {
  border-radius: 10px 10px 0 0;
  border-bottom: none;
}

notebook > header.bottom {
  border-top-style: solid;
  border-radius: 0 0 10px 10px;
}

notebook > header.bottom > tabs {
  margin-top: -1px;
  margin-bottom: 4px;
}

notebook > header.bottom > tabs > tab {
  border-radius: 0 0 10px 10px;
  border-top: none;
}

notebook > header.left {
  border-right-style: solid;
  border-radius: 10px 0 0 10px;
}

notebook > header.left > tabs {
  margin-right: -1px;
  margin-left: 4px;
}

notebook > header.left > tabs > tab {
  border-radius: 10px 0 0 10px;
  border-right: none;
}

notebook > header.right {
  border-left-style: solid;
  border-radius: 0 10px 10px 0;
}

notebook > header.right > tabs {
  margin-left: -1px;
  margin-right: 4px;
}

notebook > header.right > tabs > tab {
  border-radius: 0 10px 10px 0;
  border-left: none;
}

notebook > header.top > tabs > arrow {
  border-top-style: none;
}

notebook > header.bottom > tabs > arrow {
  border-bottom-style: none;
}

notebook > header.top > tabs > arrow, notebook > header.bottom > tabs > arrow {
  padding-left: 4px;
  padding-right: 4px;
}

notebook > header.top > tabs > arrow.down, notebook > header.bottom > tabs > arrow.down {
  margin-left: -8px;
  -gtk-icon-source: -gtk-icontheme("pan-start-symbolic");
}

notebook > header.top > tabs > arrow.up, notebook > header.bottom > tabs > arrow.up {
  margin-right: -8px;
  -gtk-icon-source: -gtk-icontheme("pan-end-symbolic");
}

notebook > header.left > tabs > arrow {
  border-left-style: none;
}

notebook > header.right > tabs > arrow {
  border-right-style: none;
}

notebook > header.left > tabs > arrow, notebook > header.right > tabs > arrow {
  padding-top: 4px;
  padding-bottom: 4px;
}

notebook > header.left > tabs > arrow.down, notebook > header.right > tabs > arrow.down {
  margin-top: -8px;
  -gtk-icon-source: -gtk-icontheme("pan-up-symbolic");
}

notebook > header.left > tabs > arrow.up, notebook > header.right > tabs > arrow.up {
  margin-bottom: -8px;
  -gtk-icon-source: -gtk-icontheme("pan-down-symbolic");
}

notebook > header > tabs > arrow {
  min-height: 16px;
  min-width: 16px;
  border-radius: 0;
}

notebook > header tab > box {
  transition: background-color 75ms cubic-bezier(0, 0, 0.2, 1);
  margin: -4px -12px;
  padding: 4px 12px;
}

notebook > header tab > box:drop(active) {
  background-color: rgba(255, 255, 255, 0.12);
  color: white;
}

notebook > header tab button.flat:last-child {
  margin-left: 4px;
  margin-right: -8px;
}

notebook > header tab button.flat:first-child {
  margin-left: -8px;
  margin-right: 4px;
}

notebook > header.top tabs, notebook > header.bottom tabs {
  padding-left: 8px;
  padding-right: 8px;
}

notebook > header.top tabs:not(:only-child):first-child, notebook > header.bottom tabs:not(:only-child):first-child {
  margin-left: 0;
}

notebook > header.top tabs:not(:only-child):last-child, notebook > header.bottom tabs:not(:only-child):last-child {
  margin-right: 0;
}

notebook > header.top tabs tab.reorderable-page, notebook > header.bottom tabs tab.reorderable-page {
  border-style: solid;
}

notebook > header.left tabs, notebook > header.right tabs {
  padding-top: 8px;
  padding-bottom: 8px;
}

notebook > header.left tabs:not(:only-child):first-child, notebook > header.right tabs:not(:only-child):first-child {
  margin-top: 0;
}

notebook > header.left tabs:not(:only-child):last-child, notebook > header.right tabs:not(:only-child):last-child {
  margin-bottom: 0;
}

notebook > header.left tabs tab.reorderable-page, notebook > header.right tabs tab.reorderable-page {
  border-style: solid;
}

notebook > stack:not(:only-child) {
  background-color: transparent;
  border-radius: 10px;
}

/**************
 * Scrollbars *
 **************/
scrollbar {
  transition: all 75ms cubic-bezier(0, 0, 0.2, 1);
  background-color: #2C2C2C;
}

scrollbar.top {
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

scrollbar.bottom {
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}

scrollbar.left {
  border-right: 1px solid rgba(255, 255, 255, 0.12);
}

scrollbar.right {
  border-left: 1px solid rgba(255, 255, 255, 0.12);
}

scrollbar > range > trough {
  box-shadow: none;
  outline: none;
  background: none;
}

scrollbar > range > trough > slider {
  transition: background-color 75ms cubic-bezier(0, 0, 0.2, 1);
  min-width: 8px;
  min-height: 8px;
  border: 4px solid transparent;
  border-radius: 9999px;
  background-clip: padding-box;
  background-color: rgba(255, 255, 255, 0.5);
  box-shadow: none;
  outline: none;
}

scrollbar > range > trough > slider:hover {
  background-color: rgba(255, 255, 255, 0.7);
}

scrollbar > range > trough > slider:active {
  background-color: white;
}

scrollbar > range > trough > slider:disabled {
  background-color: rgba(255, 255, 255, 0.3);
}

scrollbar > range.fine-tune > trough > slider {
  min-width: 4px;
  min-height: 4px;
}

scrollbar > range.fine-tune.horizontal > trough > slider {
  margin: 2px 0;
}

scrollbar > range.fine-tune.vertical > trough > slider {
  margin: 0 2px;
}

scrollbar.overlay-indicator:not(.fine-tune) > range > trough > slider {
  transition-property: background-color, min-height, min-width;
}

scrollbar.overlay-indicator:not(.dragging):not(.hovering) {
  border-color: transparent;
  background-color: transparent;
  box-shadow: none;
  outline: none;
}

scrollbar.overlay-indicator:not(.dragging):not(.hovering) > range > trough > slider {
  min-width: 4px;
  min-height: 4px;
  margin: 3px;
  border: 1px solid rgba(44, 44, 44, 0.3);
  box-shadow: none;
  outline: none;
}

scrollbar.overlay-indicator:not(.dragging):not(.hovering) button {
  min-width: 4px;
  min-height: 4px;
  margin: 3px;
  border: 1px solid rgba(44, 44, 44, 0.3);
  border-radius: 9999px;
  background-color: rgba(255, 255, 255, 0.5);
  background-clip: padding-box;
  -gtk-icon-source: none;
}

scrollbar.overlay-indicator:not(.dragging):not(.hovering) button:disabled {
  background-color: rgba(255, 255, 255, 0.3);
}

scrollbar.overlay-indicator:not(.dragging):not(.hovering).horizontal > range > trough > slider {
  min-width: 24px;
}

scrollbar.overlay-indicator:not(.dragging):not(.hovering).horizontal button {
  min-width: 8px;
}

scrollbar.overlay-indicator:not(.dragging):not(.hovering).vertical > range > trough > slider {
  min-height: 24px;
}

scrollbar.overlay-indicator:not(.dragging):not(.hovering).vertical button {
  min-height: 8px;
}

scrollbar.overlay-indicator.dragging, scrollbar.overlay-indicator.hovering {
  background-color: rgba(60, 60, 60, 0.9);
}

scrollbar.horizontal > range > trough > slider {
  min-width: 24px;
}

scrollbar.vertical > range > trough > slider {
  min-height: 24px;
}

scrollbar button {
  min-width: 16px;
  min-height: 16px;
  padding: 0;
  border-radius: 0;
}

scrollbar.vertical button.down {
  -gtk-icon-source: -gtk-icontheme("pan-down-symbolic");
}

scrollbar.vertical button.up {
  -gtk-icon-source: -gtk-icontheme("pan-up-symbolic");
}

scrollbar.horizontal button.down {
  -gtk-icon-source: -gtk-icontheme("pan-end-symbolic");
}

scrollbar.horizontal button.up {
  -gtk-icon-source: -gtk-icontheme("pan-start-symbolic");
}

/**********
 * Switch *
 **********/
switch {
  transition: all 75ms cubic-bezier(0, 0, 0.2, 1);
  margin: 4px 0;
  padding: 0 2px;
  border: 5px solid transparent;
  border-radius: 9999px;
  background-color: rgba(255, 255, 255, 0.3);
  background-clip: padding-box;
  font-size: 0;
  color: transparent;
}

switch:checked {
  background-color: rgba(50, 129, 234, 0.5);
}

switch:disabled {
  opacity: 0.5;
}

switch image {
  margin: -8px;
}

switch > slider {
  transition: all 75ms cubic-bezier(0, 0, 0.2, 1);
  min-width: 20px;
  min-height: 20px;
  margin: -3px -2px;
  border-radius: 9999px;
  outline: none;
  box-shadow: 0 0 0 10px transparent, 0 2px 2px -2px rgba(0, 0, 0, 0.3), 0 1px 2px -1px rgba(0, 0, 0, 0.24), 0 1px 2px -0.6px rgba(0, 0, 0, 0.17);
  background-color: #3C3C3C;
}

switch:focus > slider {
  box-shadow: 0 0 0 10px alpha(currentColor, 0.08), 0 2px 2px -2px rgba(0, 0, 0, 0.3), 0 1px 2px -1px rgba(0, 0, 0, 0.24), 0 1px 2px -0.6px rgba(0, 0, 0, 0.17);
}

switch:hover > slider {
  box-shadow: 0 0 0 10px alpha(currentColor, 0.08), 0 2px 2px -2px rgba(0, 0, 0, 0.3), 0 1px 2px -1px rgba(0, 0, 0, 0.24), 0 1px 2px -0.6px rgba(0, 0, 0, 0.17);
}

switch:focus:hover > slider {
  box-shadow: 0 0 0 10px alpha(currentColor, 0.16), 0 2px 2px -2px rgba(0, 0, 0, 0.3), 0 1px 2px -1px rgba(0, 0, 0, 0.24), 0 1px 2px -0.6px rgba(0, 0, 0, 0.17);
}

switch:checked > slider {
  background-color: #3281ea;
  color: #3281ea;
}

/*************************
 * Check and Radio items *
 *************************/
.view.content-view.check:not(list),
.content-view .tile check:not(list) {
  min-height: 40px;
  min-width: 40px;
  margin: 0;
  padding: 0;
  box-shadow: none;
  background-color: transparent;
  background-image: none;
  -gtk-icon-shadow: 0 1px 1px rgba(0, 0, 0, 0.2), 0 2px 2px rgba(0, 0, 0, 0.14), 0 1px 3px rgba(0, 0, 0, 0.12);
}

.view.content-view.check:not(list):hover, .view.content-view.check:not(list):active,
.content-view .tile check:not(list):hover,
.content-view .tile check:not(list):active {
  -gtk-icon-shadow: 0 2px 2px rgba(0, 0, 0, 0.2), 0 4px 3px rgba(0, 0, 0, 0.14), 0 1px 6px rgba(0, 0, 0, 0.12);
}

.view.content-view.check:not(list),
.content-view .tile check:not(list) {
  -gtk-icon-source: -gtk-scaled(url("assets/selectionmode-checkbox-unchecked-dark.png"), url("assets/selectionmode-checkbox-unchecked-dark@2.png"));
}

.view.content-view.check:not(list):checked,
.content-view .tile check:not(list):checked {
  -gtk-icon-source: -gtk-scaled(url("assets/selectionmode-checkbox-checked-dark.png"), url("assets/selectionmode-checkbox-checked-dark@2.png"));
}

checkbutton,
radiobutton {
  outline: none;
  border-spacing: 4px;
}

checkbutton.text-button,
radiobutton.text-button {
  padding: 2px;
}

checkbutton.text-button label:not(:only-child),
radiobutton.text-button label:not(:only-child) {
  margin: 0 4px;
}

check,
radio {
  min-height: 20px;
  min-width: 20px;
  margin: -6px;
  padding: 6px;
}

check:checked, check:indeterminate,
radio:checked,
radio:indeterminate {
  color: #81C995;
}

check:checked:disabled, check:indeterminate:disabled,
radio:checked:disabled,
radio:indeterminate:disabled {
  color: rgba(255, 255, 255, 0.3);
}

check:not(:hover):focus,
radio:not(:hover):focus {
  box-shadow: inset 0 0 0 9999px transparent;
}

popover modelbutton.flat check, popover modelbutton.flat check:focus, popover modelbutton.flat check:hover, popover modelbutton.flat check:focus:hover, popover modelbutton.flat check:active, popover modelbutton.flat check:disabled, popover modelbutton.flat radio, popover modelbutton.flat radio:focus, popover modelbutton.flat radio:hover, popover modelbutton.flat radio:focus:hover, popover modelbutton.flat radio:active, popover modelbutton.flat radio:disabled {
  transition: none;
  box-shadow: none;
  background-image: none;
}

popover modelbutton.flat check:not(:checked):not(:indeterminate):not(:disabled), popover modelbutton.flat radio:not(:checked):not(:indeterminate):not(:disabled) {
  color: rgba(255, 255, 255, 0.7);
}

popover modelbutton.flat check.left:dir(rtl), popover modelbutton.flat radio.left:dir(rtl) {
  margin-left: -12px;
  margin-right: -4px;
}

popover modelbutton.flat check.right:dir(ltr), popover modelbutton.flat radio.right:dir(ltr) {
  margin-left: -4px;
  margin-right: -12px;
}

popover.menu check, popover.menu radio {
  transition: none;
  margin: 0;
  padding: 0;
}

popover.menu check:dir(ltr), popover.menu radio:dir(ltr) {
  margin-right: 8px;
}

popover.menu check:dir(rtl), popover.menu radio:dir(rtl) {
  margin-left: 8px;
}

popover.menu check:not(:checked):not(:indeterminate):not(:disabled), popover.menu radio:not(:checked):not(:indeterminate):not(:disabled) {
  color: rgba(255, 255, 255, 0.7);
}

popover.menu check, popover.menu check:hover, popover.menu check:disabled, popover.menu radio, popover.menu radio:hover, popover.menu radio:disabled {
  box-shadow: none;
}


check {
  -gtk-icon-size: 24px;
  -gtk-icon-source: -gtk-recolor(url("assets/scalable/checkbox-unchecked-symbolic.svg"));
}


check:checked {
  -gtk-icon-source: -gtk-recolor(url("assets/scalable/checkbox-checked-symbolic.svg"));
}


check:indeterminate {
  -gtk-icon-source: -gtk-recolor(url("assets/scalable/checkbox-mixed-symbolic.svg"));
}


radio {
  -gtk-icon-size: 24px;
  -gtk-icon-source: -gtk-recolor(url("assets/scalable/radio-unchecked-symbolic.svg"));
}


radio:checked {
  -gtk-icon-source: -gtk-recolor(url("assets/scalable/radio-checked-symbolic.svg"));
}


radio:indeterminate {
  -gtk-icon-source: -gtk-recolor(url("assets/scalable/radio-mixed-symbolic.svg"));
}


popover.menu check {
  min-height: 16px;
  min-width: 16px;
  -gtk-icon-size: 16px;
  border-radius: 10px;
  -gtk-icon-source: -gtk-recolor(url("assets/scalable/small-checkbox-unchecked-symbolic.svg"));
}


popover.menu check:checked {
  -gtk-icon-source: -gtk-recolor(url("assets/scalable/small-checkbox-checked-symbolic.svg"));
}


popover.menu check:indeterminate {
  -gtk-icon-source: -gtk-recolor(url("assets/scalable/small-checkbox-mixed-symbolic.svg"));
}


popover.menu radio {
  min-height: 16px;
  min-width: 16px;
  border-image: none;
  -gtk-icon-size: 16px;
  -gtk-icon-source: -gtk-recolor(url("assets/scalable/small-radio-unchecked-symbolic.svg"));
}


popover.menu radio:checked {
  -gtk-icon-source: -gtk-recolor(url("assets/scalable/small-radio-checked-symbolic.svg"));
}


popover.menu radio:indeterminate {
  -gtk-icon-source: -gtk-recolor(url("assets/scalable/small-radio-mixed-symbolic.svg"));
}

treeview.view check, treeview.view radio,
columnview.view check,
columnview.view radio {
  padding: 0;
  box-shadow: none;
  background: none;
  color: rgba(255, 255, 255, 0.7);
}

treeview.view check:hover, treeview.view check:active, treeview.view radio:hover, treeview.view radio:active,
columnview.view check:hover,
columnview.view check:active,
columnview.view radio:hover,
columnview.view radio:active {
  color: white;
}

treeview.view check:disabled, treeview.view radio:disabled,
columnview.view check:disabled,
columnview.view radio:disabled {
  color: rgba(255, 255, 255, 0.3);
}

treeview.view check:checked, treeview.view check:indeterminate, treeview.view radio:checked, treeview.view radio:indeterminate,
columnview.view check:checked,
columnview.view check:indeterminate,
columnview.view radio:checked,
columnview.view radio:indeterminate {
  color: #81C995;
}

treeview.view check:checked:disabled, treeview.view check:indeterminate:disabled, treeview.view radio:checked:disabled, treeview.view radio:indeterminate:disabled,
columnview.view check:checked:disabled,
columnview.view check:indeterminate:disabled,
columnview.view radio:checked:disabled,
columnview.view radio:indeterminate:disabled {
  color: rgba(255, 255, 255, 0.3);
}

treeview.view:hover check, treeview.view:hover radio, treeview.view:selected check, treeview.view:selected radio, treeview.view:focus check, treeview.view:focus radio, treeview.view:focus-within check, treeview.view:focus-within radio,
columnview.view:hover check,
columnview.view:hover radio,
columnview.view:selected check,
columnview.view:selected radio,
columnview.view:focus check,
columnview.view:focus radio,
columnview.view:focus-within check,
columnview.view:focus-within radio {
  box-shadow: none;
  background-color: transparent;
}

treeview.view radio:checked {
  -gtk-icon-source: -gtk-recolor(url("assets/scalable/radio-checked-symbolic.svg"));
  border-image: none;
}

/************
 * GtkScale *
 ************/
scale {
  min-height: 2px;
  min-width: 2px;
}

scale.horizontal {
  padding: 15px 12px;
}

scale.vertical {
  padding: 12px 15px;
}

scale.fine-tune.horizontal {
  min-height: 4px;
  padding-top: 14px;
  padding-bottom: 14px;
}

scale.fine-tune.vertical {
  min-width: 4px;
  padding-left: 14px;
  padding-right: 14px;
}

scale.fine-tune > trough > slider {
  min-height: 32px;
  min-width: 32px;
  margin: -14px;
}

scale > trough {
  transition: background-color 75ms cubic-bezier(0, 0, 0.2, 1);
  outline: none;
  background-color: rgba(255, 255, 255, 0.3);
}

scale > trough:disabled {
  background-color: rgba(255, 255, 255, 0.12);
}

scale > trough > highlight {
  transition: background-image 75ms cubic-bezier(0, 0, 0.2, 1);
  background-image: image(#3281ea);
}

scale > trough > highlight:disabled {
  background-color: #212121;
  background-image: image(rgba(255, 255, 255, 0.3));
}

scale > trough > fill {
  transition: background-color 75ms cubic-bezier(0, 0, 0.2, 1);
  background-color: rgba(255, 255, 255, 0.3);
}

scale > trough > fill:disabled {
  background-color: transparent;
}

scale > trough > slider {
  transition: all 75ms cubic-bezier(0, 0, 0.2, 1);
  background-repeat: no-repeat;
  background-position: center;
  background-size: auto;
  min-height: 32px;
  min-width: 32px;
  margin: -15px;
  border-radius: 50%;
  color: #3281ea;
  background-color: transparent;
  box-shadow: none;
  outline: none;
  border: none;
}

scale > trough > slider {
  background-image: -gtk-scaled(url("assets/scale-slider-dark.png"), url("assets/scale-slider-dark@2.png"));
}

scale > trough > slider:disabled {
  background-image: -gtk-scaled(url("assets/scale-slider-disabled-dark.png"), url("assets/scale-slider-disabled-dark@2.png"));
}

scale > trough > slider:focus {
  background-color: alpha(currentColor, 0.08);
}

scale > trough > slider:hover {
  background-color: alpha(currentColor, 0.08);
}

scale > trough > slider:focus:hover {
  background-color: alpha(currentColor, 0.16);
}

scale > trough > slider:active {
  background-color: alpha(currentColor, 0.12);
  background-image: -gtk-scaled(url("assets/scale-slider-dark.png"), url("assets/scale-slider-dark@2.png"));
  background-size: auto, 0% 0%;
}

scale > marks,
scale > value {
  color: rgba(255, 255, 255, 0.7);
}

scale > marks indicator {
  background-color: rgba(255, 255, 255, 0.3);
  color: transparent;
}

scale.horizontal marks.top {
  margin-bottom: 7px;
  margin-top: -15px;
}

scale.horizontal.fine-tune marks.top {
  margin-bottom: 6px;
  margin-top: -14px;
}

scale.horizontal marks.bottom {
  margin-top: 7px;
  margin-bottom: -15px;
}

scale.horizontal.fine-tune marks.bottom {
  margin-top: 6px;
  margin-bottom: -14px;
}

scale.vertical marks.top {
  margin-right: 7px;
  margin-left: -15px;
}

scale.vertical.fine-tune marks.top {
  margin-right: 6px;
  margin-left: -14px;
}

scale.vertical marks.bottom {
  margin-left: 7px;
  margin-right: -15px;
}

scale.vertical.fine-tune marks.bottom {
  margin-left: 6px;
  margin-right: -14px;
}

scale.horizontal > marks indicator {
  min-height: 8px;
  min-width: 1px;
}

scale.vertical > marks indicator {
  min-height: 1px;
  min-width: 8px;
}

scale.marks-before:not(.marks-after) > trough > slider, scale.marks-after:not(.marks-before) > trough > slider {
  transform: none;
  box-shadow: none;
  border: none;
  transition: all 75ms cubic-bezier(0, 0, 0.2, 1);
}

scale.marks-before:not(.marks-after) > trough > slider:disabled, scale.marks-after:not(.marks-before) > trough > slider:disabled {
  box-shadow: none;
}

scale.horizontal.marks-before:not(.marks-after) > trough > slider {
  background-image: -gtk-scaled(url("assets/scale-horz-marks-before-slider-dark.png"), url("assets/scale-horz-marks-before-slider-dark@2.png"));
}

scale.horizontal.marks-before:not(.marks-after) > trough > slider:disabled {
  background-image: -gtk-scaled(url("assets/scale-horz-marks-before-slider-disabled-dark.png"), url("assets/scale-horz-marks-before-slider-disabled-dark@2.png"));
}

scale.horizontal.marks-before:not(.marks-after) > trough > slider:active {
  background-image: -gtk-scaled(url("assets/scale-horz-marks-before-slider-dark.png"), url("assets/scale-horz-marks-before-slider-dark@2.png"));
}

scale.horizontal.marks-after:not(.marks-before) > trough > slider {
  background-image: -gtk-scaled(url("assets/scale-horz-marks-after-slider-dark.png"), url("assets/scale-horz-marks-after-slider-dark@2.png"));
}

scale.horizontal.marks-after:not(.marks-before) > trough > slider:disabled {
  background-image: -gtk-scaled(url("assets/scale-horz-marks-after-slider-disabled-dark.png"), url("assets/scale-horz-marks-after-slider-disabled-dark@2.png"));
}

scale.horizontal.marks-after:not(.marks-before) > trough > slider:active {
  background-image: -gtk-scaled(url("assets/scale-horz-marks-after-slider-dark.png"), url("assets/scale-horz-marks-after-slider-dark@2.png"));
}

scale.vertical.marks-before:not(.marks-after) > trough > slider {
  background-image: -gtk-scaled(url("assets/scale-vert-marks-before-slider-dark.png"), url("assets/scale-vert-marks-before-slider-dark@2.png"));
}

scale.vertical.marks-before:not(.marks-after) > trough > slider:disabled {
  background-image: -gtk-scaled(url("assets/scale-vert-marks-before-slider-disabled-dark.png"), url("assets/scale-vert-marks-before-slider-disabled-dark@2.png"));
}

scale.vertical.marks-before:not(.marks-after) > trough > slider:active {
  background-image: -gtk-scaled(url("assets/scale-vert-marks-before-slider-dark.png"), url("assets/scale-vert-marks-before-slider-dark@2.png"));
}

scale.vertical.marks-after:not(.marks-before) > trough > slider {
  background-image: -gtk-scaled(url("assets/scale-vert-marks-after-slider-dark.png"), url("assets/scale-vert-marks-after-slider-dark@2.png"));
}

scale.vertical.marks-after:not(.marks-before) > trough > slider:disabled {
  background-image: -gtk-scaled(url("assets/scale-vert-marks-after-slider-disabled-dark.png"), url("assets/scale-vert-marks-after-slider-disabled-dark@2.png"));
}

scale.vertical.marks-after:not(.marks-before) > trough > slider:active {
  background-image: -gtk-scaled(url("assets/scale-vert-marks-after-slider-dark.png"), url("assets/scale-vert-marks-after-slider-dark@2.png"));
}

scale.color {
  min-height: 0;
  min-width: 0;
}

scale.color.horizontal {
  padding: 0 0 12px 0;
}

scale.color.horizontal > trough > slider:dir(ltr), scale.color.horizontal > trough > slider:dir(rtl) {
  margin-bottom: -24px;
  margin-top: 8px;
}

scale.color.vertical:dir(ltr) {
  padding: 0 0 0 12px;
}

scale.color.vertical:dir(ltr) > trough > slider {
  margin-left: -24px;
  margin-right: 8px;
}

scale.color.vertical:dir(rtl) {
  padding: 0 12px 0 0;
}

scale.color.vertical:dir(rtl) > trough > slider {
  margin-right: -24px;
  margin-left: 8px;
}

/*****************
 * Progress bars *
 *****************/
progressbar {
  color: rgba(255, 255, 255, 0.7);
  font-size: smaller;
}

progressbar.horizontal trough,
progressbar.horizontal progress {
  min-height: 6px;
}

progressbar.vertical trough,
progressbar.vertical progress {
  min-width: 6px;
}

progressbar trough {
  border-radius: 10px;
  background-color: rgba(255, 255, 255, 0.12);
}

progressbar progress {
  border-radius: 10px;
  background-color: #3281ea;
}

progressbar.osd {
  min-width: 6px;
  min-height: 6px;
  background-color: transparent;
}

progressbar.osd trough {
  background-color: transparent;
}

progressbar.osd progress {
  background-color: #3281ea;
}

progressbar trough.empty progress {
  all: unset;
}

/*************
 * Level Bar *
 *************/
levelbar.horizontal block {
  min-height: 6px;
}

levelbar.horizontal.discrete block {
  min-width: 32px;
}

levelbar.horizontal.discrete block:not(:last-child) {
  margin-right: 2px;
}

levelbar.vertical block {
  min-width: 6px;
}

levelbar.vertical.discrete block {
  min-height: 32px;
}

levelbar.vertical.discrete block:not(:last-child) {
  margin-bottom: 2px;
}

levelbar trough {
  border-radius: 10px;
}

levelbar block.low {
  background-color: #FDD633;
}

levelbar block.high, levelbar block:not(.empty) {
  background-color: #3281ea;
}

levelbar block.full {
  background-color: #81C995;
}

levelbar block.empty {
  background-color: rgba(255, 255, 255, 0.12);
}

/****************
 * Print dialog *
*****************/
window.dialog.print drawing {
  color: white;
  background: none;
  border: none;
  padding: 0;
}

window.dialog.print drawing paper {
  padding: 0;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background-color: #2C2C2C;
  color: white;
}

window.dialog.print .dialog-action-box {
  margin: 12px;
}

/**********
 * Frames *
 **********/
frame,
.frame {
  border: 1px solid rgba(255, 255, 255, 0.12);
}

frame > list,
.frame > list {
  border: none;
}

frame.view,
.frame.view {
  border-radius: 10px;
}

frame.flat,
.frame.flat {
  border-style: none;
}

frame {
  border-radius: 10px;
}

frame > label {
  margin: 4px;
}

frame.flat > border, statusbar frame > border {
  border: none;
}

actionbar > revealer > box {
  padding: 4px;
  border-spacing: 4px;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  background-color: #2C2C2C;
  background-clip: border-box;
  box-shadow: none;
}

statusbar {
  padding: 4px 12px;
}

scrolledwindow viewport.frame {
  border: none;
}

stack scrolledwindow.frame viewport.frame list {
  border: none;
}

overshoot.top {
  background-size: 200% 70%;
  background-image: radial-gradient(farthest-side at top, rgba(255, 255, 255, 0.04) 99%, transparent 100%);
  background-repeat: no-repeat;
  background-position: center top;
  background-color: transparent;
  border: none;
  box-shadow: none;
}

overshoot.bottom {
  background-size: 200% 70%;
  background-image: radial-gradient(farthest-side at bottom, rgba(255, 255, 255, 0.04) 99%, transparent 100%);
  background-repeat: no-repeat;
  background-position: center bottom;
  background-color: transparent;
  border: none;
  box-shadow: none;
}

overshoot.left {
  background-size: 200% 70%;
  background-image: radial-gradient(farthest-side at left, rgba(255, 255, 255, 0.04) 99%, transparent 100%);
  background-repeat: no-repeat;
  background-position: left center;
  background-color: transparent;
  border: none;
  box-shadow: none;
}

overshoot.right {
  background-size: 200% 70%;
  background-image: radial-gradient(farthest-side at right, rgba(255, 255, 255, 0.04) 99%, transparent 100%);
  background-repeat: no-repeat;
  background-position: right center;
  background-color: transparent;
  border: none;
  box-shadow: none;
}

junction {
  border-style: solid none none solid;
  border-width: 1px;
  border-color: rgba(255, 255, 255, 0.12);
  background-color: #2C2C2C;
}

junction:dir(rtl) {
  border-style: solid solid none none;
}

separator {
  min-width: 1px;
  min-height: 1px;
  background-color: rgba(255, 255, 255, 0.12);
}

separator.spacer {
  background: none;
}

separator.spacer.horizontal {
  min-width: 8px;
}

separator.spacer.vertical {
  min-height: 8px;
}

stacksidebar + separator.vertical,
stacksidebar separator.horizontal, button.font separator, button.file separator {
  min-width: 0;
  min-height: 0;
  background-color: transparent;
}

/*********
 * Lists *
 *********/
listview,
list {
  border-color: rgba(255, 255, 255, 0.12);
  background-color: #2C2C2C;
  background-clip: padding-box;
  color: rgba(255, 255, 255, 0.7);
}

listview > row,
list > row {
  padding: 2px;
  background-clip: padding-box;
}

listview > row.expander,
list > row.expander {
  padding: 0px;
}

listview > row.expander .row-header,
list > row.expander .row-header {
  padding: 2px;
}

listview.horizontal row.separator, listview.separators.horizontal > row:not(.separator),
list.horizontal row.separator,
list.separators.horizontal > row:not(.separator) {
  border-left: 1px solid rgba(255, 255, 255, 0.12);
}

listview:not(.horizontal) row.separator, listview.separators:not(.horizontal) > row:not(.separator),
list:not(.horizontal) row.separator,
list.separators:not(.horizontal) > row:not(.separator) {
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

list.frame {
  border-radius: 10px;
}

row {
  background-clip: padding-box;
}

columnview.view > header > button,
treeview.view > header > button, row.activatable {
  transition: all 75ms cubic-bezier(0, 0, 0.2, 1);
  outline: none;
  box-shadow: inset 0 0 0 9999px transparent;
}

columnview.view > header > button:focus,
treeview.view > header > button:focus, row.activatable:focus {
  box-shadow: inset 0 0 0 9999px alpha(currentColor, 0.08);
}

columnview.view > header > button:hover,
treeview.view > header > button:hover, row.activatable:hover {
  transition: all 75ms cubic-bezier(0, 0, 0.2, 1), box-shadow 0ms;
  box-shadow: inset 0 0 0 9999px alpha(currentColor, 0.08);
}

columnview.view > header > button.has-open-popup,
treeview.view > header > button.has-open-popup, columnview.view > header > button:active,
treeview.view > header > button:active, row.activatable.has-open-popup, row.activatable:active {
  transition: all 75ms cubic-bezier(0, 0, 0.2, 1);
  box-shadow: inset 0 0 0 9999px alpha(currentColor, 0.12);
}

row:selected {
  color: inherit;
}

row:selected image,
row:selected label {
  color: white;
}

row:selected button image,
row:selected button label {
  color: inherit;
}

row:selected:disabled image,
row:selected:disabled label {
  color: rgba(255, 255, 255, 0.5);
}

treeexpander {
  border-spacing: 4px;
}

columnview > listview > row {
  padding: 0;
}

columnview > listview > row > cell {
  padding: 8px 6px;
}

columnview > listview > row > cell:not(:first-child) {
  border-left: 1px solid transparent;
}

columnview > header > button {
  padding-left: 6px;
  padding-right: 6px;
  border-left: 1px solid transparent;
}

columnview > header > button:first-child {
  border-left-width: 0;
}

columnview.column-separators > listview > row > cell,
columnview.column-separators > header > button {
  border-left-color: rgba(255, 255, 255, 0.12);
}

columnview > listview:not(.horizontal).separators > row:not(.separator) {
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  border-bottom: none;
}

columnview.data-table > listview > row > cell {
  padding-top: 2px;
  padding-bottom: 2px;
}

columnview ~ undershoot.top {
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.12);
}

columnview row:not(:selected) cell editablelabel:not(.editing):focus-within {
  outline: 2px solid alpha(currentColor, 0.06);
}

columnview row:not(:selected) cell editablelabel.editing:focus-within {
  outline: 2px solid #3281ea;
}

columnview row:not(:selected) cell editablelabel.editing text selection {
  color: white;
  background-color: #3281ea;
}

.rich-list {
  /* rich lists usually containing other widgets than just labels/text */
}

.rich-list > row {
  padding: 6px 8px;
  min-height: 32px;
  /* should be tall even when only containing a label */
}

.rich-list > row > box {
  border-spacing: 8px;
}

/****************
 * AdwActionRow *
 ****************/
row label.subtitle {
  font-size: smaller;
}

row > box.header {
  margin-left: 8px;
  margin-right: 8px;
  min-height: 40px;
}

row > box.header > .icon:disabled {
  filter: opacity(0.35);
}

row > box.header > box.title {
  margin-top: 4px;
  margin-bottom: 4px;
  border-spacing: 2px;
}

/***************
 * AdwComboRow *
 ***************/
row.combo image.dropdown-arrow:disabled {
  filter: opacity(0.35);
}

row.combo listview.inline {
  background: none;
  border: none;
  box-shadow: none;
  color: inherit;
}

row.combo listview.inline, row.combo listview.inline:disabled {
  background: none;
  color: inherit;
}

row.combo popover > contents {
  min-width: 120px;
}

/******************
 * AdwExpanderRow *
 ******************/
list.content > row, list.content > row.expander row.header,
list.boxed-list > row,
list.boxed-list > row.expander row.header, row.expander list.nested > row {
  transition: 200ms cubic-bezier(0, 0, 0.2, 1);
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  color: rgba(255, 255, 255, 0.7);
}

.osd list.content > row:focus:focus-visible, .osd list.content > row.expander row.header:focus:focus-visible, list.content > row.expander .osd row.header:focus:focus-visible,
.osd list.boxed-list > row:focus:focus-visible,
.osd list.boxed-list > row.expander row.header:focus:focus-visible,
list.boxed-list > row.expander .osd row.header:focus:focus-visible, .osd row.expander list.nested > row:focus:focus-visible, row.expander .osd list.nested > row:focus:focus-visible {
  outline-color: rgba(255, 255, 255, 0.04);
}

row.expander {
  background: none;
  padding: 0px;
}

row.expander > box > list {
  background: none;
  color: inherit;
}

row.expander list.nested {
  background-color: #2C2C2C;
  color: inherit;
}

row.expander image.expander-row-arrow {
  transition: 200ms cubic-bezier(0, 0, 0.2, 1);
}

row.expander image.expander-row-arrow:dir(ltr) {
  margin-left: 6px;
}

row.expander image.expander-row-arrow:dir(rtl) {
  margin-right: 6px;
}

row.expander:checked image.expander-row-arrow {
  -gtk-icon-transform: rotate(0turn);
}

row.expander:not(:checked) image.expander-row-arrow:dir(ltr) {
  -gtk-icon-transform: rotate(-0.25turn);
}

row.expander:not(:checked) image.expander-row-arrow:dir(rtl) {
  -gtk-icon-transform: rotate(0.25turn);
}

row.expander:checked image.expander-row-arrow:not(:disabled) {
  color: #3281ea;
}

.osd row.expander:checked image.expander-row-arrow:not(:disabled) {
  color: inherit;
}

row.expander image.expander-row-arrow:disabled {
  filter: opacity(0.35);
}

/*****************
 * Boxed Lists *
 *****************/
list.content > row.expander,
list.boxed-list > row.expander {
  border: none;
}

list.content > row:first-child, list.content > row:first-child.expander row.header,
list.boxed-list > row:first-child,
list.boxed-list > row:first-child.expander row.header {
  border-top-left-radius: 9px;
  border-top-right-radius: 9px;
}

list.content > row:last-child, list.content > row:last-child.expander:not(:checked), list.content > row:last-child.expander:not(:checked) row.header, list.content > row:last-child.expander:checked list.nested, list.content > row:last-child.expander:checked list.nested > row:last-child,
list.boxed-list > row:last-child,
list.boxed-list > row:last-child.expander:not(:checked),
list.boxed-list > row:last-child.expander:not(:checked) row.header,
list.boxed-list > row:last-child.expander:checked list.nested,
list.boxed-list > row:last-child.expander:checked list.nested > row:last-child {
  border-bottom-left-radius: 9px;
  border-bottom-right-radius: 9px;
  border-bottom-width: 0;
}

/*********************
 * App Notifications *
 *********************/
.app-notification {
  margin: 8px;
  border-spacing: 6px;
  padding: 6px;
  border: none;
}

.app-notification button.text-button:not(:disabled) {
  color: #3281ea;
}

.app-notification.frame,
.app-notification border {
  border-style: none;
}

/*************
 * Expanders *
 *************/
expander {
  transition: all 75ms cubic-bezier(0, 0, 0.2, 1);
  min-width: 16px;
  min-height: 16px;
  color: rgba(255, 255, 255, 0.7);
  -gtk-icon-source: -gtk-icontheme("pan-end-symbolic");
}

expander:dir(rtl) {
  -gtk-icon-source: -gtk-icontheme("pan-end-symbolic-rtl");
}

expander:hover, expander:active {
  color: white;
}

expander:disabled {
  color: rgba(255, 255, 255, 0.3);
}

expander-widget > box > title {
  border-radius: 10px;
}

expander-widget > box > title:hover > expander {
  color: rgba(255, 255, 255, 0.7);
}

.navigation-sidebar:not(decoration):not(window):drop(active):focus, .navigation-sidebar:not(decoration):not(window):drop(active),
placessidebar:not(decoration):not(window):drop(active):focus,
placessidebar:not(decoration):not(window):drop(active),
stackswitcher:not(decoration):not(window):drop(active):focus,
stackswitcher:not(decoration):not(window):drop(active),
expander-widget:not(decoration):not(window):drop(active):focus,
expander-widget:not(decoration):not(window):drop(active) {
  box-shadow: none;
}

/************
 * Calendar *
 ************/
calendar {
  padding: 0;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 10px;
  color: white;
}

calendar:disabled {
  color: rgba(255, 255, 255, 0.5);
}

calendar:selected {
  border-radius: 10px;
}

calendar > header {
  padding: 2px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

calendar > header > button {
  min-height: 22px;
}

calendar > grid {
  margin: 2px;
}

calendar > grid > label {
  border-radius: 9999px;
  margin: 0;
}

calendar > grid > label.today:selected {
  box-shadow: none;
}

calendar > grid > label:focus {
  outline-style: none;
}

calendar > grid > label.day-number {
  padding: 6px;
}

calendar > grid > label.day-number.other-month {
  color: alpha(currentColor, 0.3);
}

/***********
 * Dialogs *
 ***********/
window.dialog.message.background {
  background-color: #3C3C3C;
}

window.dialog.message box.dialog-vbox.vertical {
  border-spacing: 10px;
}

window.dialog.message .titlebar {
  min-height: 22px;
  border-style: none;
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.1);
  background-color: #3C3C3C;
  color: white;
}

window.dialog.message .titlebar:backdrop {
  background-color: #3C3C3C;
  color: rgba(255, 255, 255, 0.7);
}

window.dialog.message.csd .dialog-action-area {
  padding: 4px;
}

window.dialog.message.csd .dialog-action-area > button, window.dialog.message.csd .dialog-action-area > button:first-child, window.dialog.message.csd .dialog-action-area > button:last-child {
  border-radius: 9999px;
}

window.dialog.message.csd .dialog-action-area > button:not(:last-child) {
  margin-right: 4px;
}

window.dialog.message.csd .dialog-action-area > button:not(:disabled) {
  color: #3281ea;
}

window.dialog.message.csd .dialog-action-area > button.destructive-action:not(:disabled) {
  color: #F28B82;
}

filechooser .dialog-action-box {
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}

filechooser #pathbarbox {
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  background-color: #212121;
}

filechooser stack.view frame > border {
  border: none;
}

filechooserbutton > button > box {
  border-spacing: 4px;
}

filechooserbutton:drop(active) {
  box-shadow: none;
  border-color: transparent;
}

window.aboutdialog stack scrolledwindow.frame, window.aboutdialog stack scrolledwindow.frame > .view, window.aboutdialog stack scrolledwindow.frame > .view > text {
  border-radius: 10px;
}

window.aboutdialog .large-icons {
  -gtk-icon-size: 128px;
}

/***********
 * Sidebar *
 ***********/
.sidebar {
  border-style: none;
  background-color: #242424;
}

.sidebar:not(separator):dir(ltr), .sidebar:not(separator).left, .sidebar:not(separator).left:dir(rtl) {
  border-right: 1px solid rgba(255, 255, 255, 0.12);
  border-left-style: none;
}

.sidebar:not(separator):dir(rtl), .sidebar:not(separator).right {
  border-left: 1px solid rgba(255, 255, 255, 0.12);
  border-right-style: none;
}

.sidebar listview.view,
.sidebar list {
  background-color: transparent;
}

paned .sidebar.left, paned .sidebar.right, paned .sidebar.left:dir(rtl), paned .sidebar:dir(rtl), paned .sidebar:dir(ltr), paned .sidebar {
  border-style: none;
}

stacksidebar list {
  padding: 4px;
  background-color: #242424;
}

stacksidebar row {
  min-height: 22px;
  padding: 4px 6px;
  border-radius: 5px;
}

stacksidebar row:selected {
  font-weight: 500;
}

stacksidebar row + row {
  margin-top: 4px;
}

stacksidebar row > label {
  padding-left: 4px;
  padding-right: 4px;
  color: inherit;
}

separator.sidebar {
  background-color: rgba(255, 255, 255, 0.12);
  border-right: none;
}

separator.sidebar.selection-mode, .selection-mode separator.sidebar {
  background-color: rgba(255, 255, 255, 0.15);
}

/**********************
 * Navigation Sidebar *
 **********************/
.navigation-sidebar {
  padding: 4px 0;
  border-right: none;
}

.navigation-sidebar > row {
  min-height: 22px;
  padding: 4px 6px;
  border-radius: 5px;
  margin: 0 4px;
}

.navigation-sidebar > row:hover, .navigation-sidebar > row:focus-visible:focus-within {
  background-color: alpha(currentColor, 0.08);
}

.navigation-sidebar > row:selected label, .navigation-sidebar > row:selected image {
  color: #3281ea;
}

.navigation-sidebar > row:selected:hover {
  background-color: alpha(currentColor, 0.16);
}

.navigation-sidebar > row:selected:focus-visible:focus-within {
  outline: none;
  background-color: alpha(currentColor, 0.08);
}

.navigation-sidebar > row:selected:focus-visible:focus-within:hover {
  background-color: alpha(currentColor, 0.16);
}

.navigation-sidebar > row:disabled {
  color: rgba(255, 255, 255, 0.5);
}

.navigation-sidebar > separator {
  margin: 4px 0;
}

/****************
 * File chooser *
 ****************/
row image.sidebar-icon {
  transition: color 75ms cubic-bezier(0, 0, 0.2, 1);
  color: rgba(255, 255, 255, 0.7);
}

row image.sidebar-icon:disabled {
  color: rgba(255, 255, 255, 0.3);
}

placessidebar > viewport.frame {
  border-style: none;
}

placessidebar .navigation-sidebar {
  padding: 4px 0;
}

placessidebar .navigation-sidebar > row {
  min-height: 32px;
  margin: 0 4px 0 0;
  padding: 2px;
  border-radius: 0 9999px 9999px 0;
}

placessidebar .navigation-sidebar > row > revealer {
  padding: 0 8px 0 16px;
}

placessidebar .navigation-sidebar > row:selected {
  background-color: alpha(currentColor, 0.1);
  color: #3281ea;
  font-weight: 500;
}

placessidebar .navigation-sidebar > row:selected image.sidebar-icon {
  color: #3281ea;
}

placessidebar .navigation-sidebar > row:disabled {
  color: rgba(255, 255, 255, 0.5);
}

placessidebar .navigation-sidebar > row image.sidebar-icon:dir(ltr) {
  padding-right: 8px;
}

placessidebar .navigation-sidebar > row image.sidebar-icon:dir(rtl) {
  padding-left: 8px;
}

placessidebar .navigation-sidebar > row label.sidebar-label {
  color: inherit;
}

placessidebar .navigation-sidebar > row label.sidebar-label:dir(ltr) {
  padding-right: 2px;
}

placessidebar .navigation-sidebar > row label.sidebar-label:dir(rtl) {
  padding-left: 2px;
}

placessidebar .navigation-sidebar > row.sidebar-placeholder-row {
  background-color: alpha(currentColor, 0.08);
}

placessidebar .navigation-sidebar > row.sidebar-new-bookmark-row {
  color: #3281ea;
}

placessidebar .navigation-sidebar > row.sidebar-new-bookmark-row image.sidebar-icon {
  color: #3281ea;
}

placessidebar .navigation-sidebar > row:drop(active) {
  transition: all 75ms cubic-bezier(0, 0, 0.2, 1), box-shadow 0ms;
  box-shadow: inset 0 0 0 9999px alpha(currentColor, 0.08);
}

placesview .server-list-button > image {
  transition: 200ms cubic-bezier(0, 0, 0.2, 1);
  -gtk-icon-transform: rotate(0turn);
}

placesview .server-list-button:checked > image {
  transition: 200ms cubic-bezier(0, 0, 0.2, 1);
  -gtk-icon-transform: rotate(-0.5turn);
}

placesview > actionbar > revealer > box > label {
  border-spacing: 4px;
}

/*********
 * Paned *
 *********/
paned > separator {
  min-width: 1px;
  min-height: 1px;
  -gtk-icon-source: none;
  border-style: none;
  background-color: transparent;
  background-image: image(rgba(255, 255, 255, 0.12));
  background-size: 1px 1px;
  background-clip: content-box;
  box-shadow: none;
}

paned > separator.wide {
  min-width: 6px;
  min-height: 6px;
  background-color: #212121;
  background-image: image(rgba(255, 255, 255, 0.12)), image(rgba(255, 255, 255, 0.12));
  background-size: 1px 1px, 1px 1px;
}

paned.horizontal > separator {
  background-repeat: repeat-y;
}

paned.horizontal > separator:dir(ltr) {
  margin: 0 -8px 0 0;
  padding: 0 8px 0 0;
  background-position: left;
}

paned.horizontal > separator:dir(rtl) {
  margin: 0 0 0 -8px;
  padding: 0 0 0 8px;
  background-position: right;
}

paned.horizontal > separator.wide {
  margin: 0;
  padding: 0;
  background-repeat: repeat-y, repeat-y;
  background-position: left, right;
}

paned.vertical > separator {
  margin: 0 0 -8px 0;
  padding: 0 0 8px 0;
  background-repeat: repeat-x;
  background-position: top;
}

paned.vertical > separator.wide {
  margin: 0;
  padding: 0;
  background-repeat: repeat-x, repeat-x;
  background-position: bottom, top;
}

/************
 * GtkVideo *
 ************/
video {
  background: black;
  border-radius: 10px;
}

video image.osd {
  min-width: 64px;
  min-height: 64px;
  border-radius: 9999px;
  border: none;
}

/**************
 * GtkInfoBar *
 **************/
infobar {
  border: none;
  margin-bottom: 0;
}

infobar > revealer > box {
  padding: 4px;
  border-spacing: 8px;
}

infobar.info > revealer > box, infobar.info:hover > revealer > box, infobar.info:backdrop > revealer > box {
  color: white;
  background-color: #2C2C2C;
}

infobar.info > revealer > box button, infobar.info > revealer > box button.text-button:not(:disabled), infobar.info:hover > revealer > box button, infobar.info:hover > revealer > box button.text-button:not(:disabled), infobar.info:backdrop > revealer > box button, infobar.info:backdrop > revealer > box button.text-button:not(:disabled) {
  color: #3281ea;
}

infobar.action > revealer > box, infobar.action:backdrop > revealer > box, infobar.question > revealer > box, infobar.question:backdrop > revealer > box {
  background-color: #3281ea;
  color: white;
}

infobar.action > revealer > box button, infobar.action > revealer > box button:hover, infobar.action > revealer > box button:focus, infobar.action > revealer > box button:active, infobar.action > revealer > box button:checked, infobar.action > revealer > box button.text-button:not(:disabled), infobar.action:backdrop > revealer > box button, infobar.action:backdrop > revealer > box button:hover, infobar.action:backdrop > revealer > box button:focus, infobar.action:backdrop > revealer > box button:active, infobar.action:backdrop > revealer > box button:checked, infobar.action:backdrop > revealer > box button.text-button:not(:disabled), infobar.question > revealer > box button, infobar.question > revealer > box button:hover, infobar.question > revealer > box button:focus, infobar.question > revealer > box button:active, infobar.question > revealer > box button:checked, infobar.question > revealer > box button.text-button:not(:disabled), infobar.question:backdrop > revealer > box button, infobar.question:backdrop > revealer > box button:hover, infobar.question:backdrop > revealer > box button:focus, infobar.question:backdrop > revealer > box button:active, infobar.question:backdrop > revealer > box button:checked, infobar.question:backdrop > revealer > box button.text-button:not(:disabled) {
  color: white;
}

infobar.action > revealer > box *:link, infobar.action:backdrop > revealer > box *:link, infobar.question > revealer > box *:link, infobar.question:backdrop > revealer > box *:link {
  color: white;
}

infobar.action:hover > revealer > box, infobar.question:hover > revealer > box {
  background-color: #1b73e8;
}

infobar.warning > revealer > box, infobar.warning:backdrop > revealer > box {
  background-color: #FDD633;
  color: rgba(0, 0, 0, 0.87);
}

infobar.warning > revealer > box button, infobar.warning > revealer > box button:hover, infobar.warning > revealer > box button:focus, infobar.warning > revealer > box button:active, infobar.warning > revealer > box button:checked, infobar.warning > revealer > box button.text-button:not(:disabled), infobar.warning:backdrop > revealer > box button, infobar.warning:backdrop > revealer > box button:hover, infobar.warning:backdrop > revealer > box button:focus, infobar.warning:backdrop > revealer > box button:active, infobar.warning:backdrop > revealer > box button:checked, infobar.warning:backdrop > revealer > box button.text-button:not(:disabled) {
  color: rgba(0, 0, 0, 0.87);
}

infobar.warning > revealer > box *:link, infobar.warning:backdrop > revealer > box *:link {
  color: rgba(0, 0, 0, 0.87);
}

infobar.warning:hover > revealer > box {
  background-color: #fdd11a;
}

infobar.error > revealer > box, infobar.error:backdrop > revealer > box {
  background-color: #F28B82;
  color: rgba(0, 0, 0, 0.87);
}

infobar.error > revealer > box button, infobar.error > revealer > box button:hover, infobar.error > revealer > box button:focus, infobar.error > revealer > box button:active, infobar.error > revealer > box button:checked, infobar.error > revealer > box button.text-button:not(:disabled), infobar.error:backdrop > revealer > box button, infobar.error:backdrop > revealer > box button:hover, infobar.error:backdrop > revealer > box button:focus, infobar.error:backdrop > revealer > box button:active, infobar.error:backdrop > revealer > box button:checked, infobar.error:backdrop > revealer > box button.text-button:not(:disabled) {
  color: rgba(0, 0, 0, 0.87);
}

infobar.error > revealer > box *:link, infobar.error:backdrop > revealer > box *:link {
  color: rgba(0, 0, 0, 0.87);
}

infobar.error:hover > revealer > box {
  background-color: #f0766b;
}

/************
 * Tooltips *
 ************/
tooltip {
  padding: 4px 8px;
  box-shadow: none;
}

tooltip.background {
  background-color: rgba(54, 54, 54, 0.9);
  color: white;
  box-shadow: 0 2px 2.4px -1px rgba(0, 0, 0, 0.2), 0 4px 3px 0 rgba(0, 0, 0, 0.14), 0 1px 6px 0 rgba(0, 0, 0, 0.12);
  border-radius: 5px;
  margin: 2px 6px 8px 6px;
}

tooltip > box {
  border-spacing: 4px;
}

/*****************
 * Color Chooser *
 *****************/
colorswatch.top {
  border-top-left-radius: 9px;
  border-top-right-radius: 9px;
}

colorswatch.top overlay {
  border-top-left-radius: 9px;
  border-top-right-radius: 9px;
}

colorswatch.bottom {
  border-bottom-left-radius: 9px;
  border-bottom-right-radius: 9px;
}

colorswatch.bottom overlay {
  border-bottom-left-radius: 9px;
  border-bottom-right-radius: 9px;
}

colorswatch.left, colorswatch:first-child:not(.top) {
  border-top-left-radius: 9px;
  border-bottom-left-radius: 9px;
}

colorswatch.left overlay, colorswatch:first-child:not(.top) overlay {
  border-top-left-radius: 9px;
  border-bottom-left-radius: 9px;
}

colorswatch.right, colorswatch:last-child:not(.bottom) {
  border-top-right-radius: 9px;
  border-bottom-right-radius: 9px;
}

colorswatch.right overlay, colorswatch:last-child:not(.bottom) overlay {
  border-top-right-radius: 9px;
  border-bottom-right-radius: 9px;
}

colorswatch.dark {
  color: white;
}

colorswatch.light {
  color: rgba(0, 0, 0, 0.87);
}

colorswatch#add-color-button {
  border-radius: 9px 9px 0 0;
  color: white;
}

colorswatch#add-color-button:only-child {
  border-radius: 9px;
}

colorswatch#add-color-button overlay {
  background-color: #3C3C3C;
}

colorswatch:disabled {
  opacity: 0.5;
}

colorswatch:disabled overlay {
  box-shadow: none;
}

colorswatch#editor-color-sample {
  border-radius: 9px;
}

colorswatch#editor-color-sample overlay {
  border-radius: 9px;
}

colorchooser .popover.osd {
  transition: box-shadow 75ms cubic-bezier(0, 0, 0.2, 1);
  border-radius: 10px;
  box-shadow: 0 2px 2.4px -1px rgba(0, 0, 0, 0.2), 0 4px 3px 0 rgba(0, 0, 0, 0.14), 0 1px 6px 0 rgba(0, 0, 0, 0.12), inset 0 1px rgba(255, 255, 255, 0.1);
  background-color: #3C3C3C;
}

colorchooser .popover.osd:backdrop {
  box-shadow: 0 3px 2px -3px rgba(0, 0, 0, 0.3), 0 2px 2px -1px rgba(0, 0, 0, 0.24), 0 1px 3px 0 rgba(0, 0, 0, 0.12), inset 0 1px rgba(255, 255, 255, 0.1);
}

/********
 * Misc *
 ********/
.content-view {
  background-color: #212121;
}

/**********************
 * Window Decorations *
 **********************/
window {
  outline: none;
  transition: box-shadow 75ms cubic-bezier(0, 0, 0.2, 1);
  border-radius: 14px;
  box-shadow: 0 8px 6px -5px rgba(0, 0, 0, 0.2), 0 16px 14.4px 2px rgba(0, 0, 0, 0.14), 0 6px 18px 5px rgba(0, 0, 0, 0.12), 0 16px 14.4px 2px transparent, 0 6px 18px 5px transparent;
}

window:backdrop {
  box-shadow: 0 2px 2.4px -1px rgba(0, 0, 0, 0.2), 0 4px 3px 0 rgba(0, 0, 0, 0.14), 0 1px 6px 0 rgba(0, 0, 0, 0.12), 0 16px 14.4px 2px transparent, 0 6px 18px 5px transparent;
}

window.popup {
  border-radius: 10px;
  box-shadow: 0 2px 2.4px -1px rgba(0, 0, 0, 0.2), 0 4px 3px 0 rgba(0, 0, 0, 0.14), 0 1px 6px 0 rgba(0, 0, 0, 0.12);
}

window.dialog.message {
  border-radius: 14px;
}

.solid-csd window {
  margin: 0;
  padding: 2px;
  border-radius: 0;
  box-shadow: none;
  background-color: #2C2C2C;
}

.solid-csd window:backdrop {
  background-color: #2C2C2C;
}

window.maximized, window.fullscreen, window.tiled, window.tiled-top, window.tiled-right, window.tiled-bottom, window.tiled-left {
  border-radius: 0;
}

windowcontrols {
  border-spacing: 4px;
}

windowcontrols:not(.empty).start:dir(ltr), windowcontrols:not(.empty).end:dir(rtl) {
  margin-right: 4px;
}

windowcontrols:not(.empty).start:dir(rtl), windowcontrols:not(.empty).end:dir(ltr) {
  margin-left: 4px;
}

windowcontrols button image {
  background-color: transparent;
  padding: 0;
}

gridview > child:selected, modelbutton.flat:selected, row:selected, calendar:selected, calendar > grid > label.day-number:selected {
  background-color: alpha(currentColor, 0.06);
}

.view:selected, iconview:selected, flowbox > flowboxchild:selected, calendar > grid > label.today, stacksidebar row:selected, .navigation-sidebar > row:selected {
  color: #3281ea;
  background-color: rgba(50, 129, 234, 0.2);
}

textview text selection:focus, textview text selection, label > selection,
entry > text > selection, spinbutton:not(.vertical) > text > selection, spinbutton.vertical > text > selection, calendar > grid > label.today:selected {
  color: white;
  background-color: #3281ea;
}

.monospace {
  font-family: monospace;
}

.numeric {
  font-feature-settings: "tnum";
}

/**********************
 * Touch Copy & Paste *
 **********************/
cursor-handle {
  color: #3281ea;
  -gtk-icon-source: -gtk-recolor(url("assets/scalable/cursor-handle-symbolic.svg"));
}

cursor-handle.insertion-cursor:dir(ltr), cursor-handle.insertion-cursor:dir(rtl) {
  padding-top: 6px;
}

shortcuts-section {
  margin: 20px;
}

.shortcuts-search-results {
  margin: 20px;
  border-spacing: 24px;
}

shortcut {
  border-spacing: 6px;
}

shortcut > .keycap {
  min-width: 12px;
  min-height: 26px;
  margin-top: 2px;
  padding-bottom: 2px;
  padding-left: 8px;
  padding-right: 8px;
  border: solid 1px rgba(255, 255, 255, 0.12);
  border-radius: 11px;
  box-shadow: inset 0 -2px rgba(255, 255, 255, 0.12);
  background-color: #3C3C3C;
  color: white;
  font-size: smaller;
}

:not(decoration):not(window):drop(active) {
  caret-color: #3281ea;
}

stackswitcher {
  min-height: 0;
  padding: 0;
  border-radius: 9999px;
  background-color: alpha(currentColor, 0.05);
}

stackswitcher.linked:not(.vertical) > button:not(.suggested-action):not(.destructive-action) {
  margin: 0 0;
  border-radius: 9999px;
  background-color: transparent;
}

stackswitcher.linked:not(.vertical) > button:not(.suggested-action):not(.destructive-action).text-button {
  min-width: 100px;
}

stackswitcher.linked:not(.vertical) > button:not(.suggested-action):not(.destructive-action):focus {
  box-shadow: inset 0 0 0 2px alpha(currentColor, 0.08);
}

stackswitcher.linked:not(.vertical) > button:not(.suggested-action):not(.destructive-action):active {
  box-shadow: inset 0 0 0 9999px alpha(#3281ea, 0.08);
}

stackswitcher.linked:not(.vertical) > button:not(.suggested-action):not(.destructive-action):checked {
  background-color: #3281ea;
  color: white;
}

stackswitcher button.text-button {
  min-width: 100px;
}

stackswitcher.circular {
  border-spacing: 8px;
}

stackswitcher.circular button.circular,
stackswitcher.circular button.text-button.circular {
  min-width: 32px;
  min-height: 32px;
  padding: 0;
}

/*************
 * App Icons *
 *************/
.lowres-icon {
  -gtk-icon-shadow: none;
}

.icon-dropshadow {
  -gtk-icon-shadow: none;
}

/*********
 * Emoji *
 *********/
popover.emoji-picker {
  padding: 0;
}

popover.emoji-picker > contents {
  padding: 0;
}

.emoji-searchbar {
  padding: 4px;
  border-spacing: 4px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  background: none;
}

.emoji-searchbar entry {
  margin: 0;
}

.emoji-searchbar entry text {
  background: none;
  box-shadow: none;
}

.emoji-toolbar {
  padding: 0;
  border-spacing: 2px;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  background: none;
  box-shadow: none;
}

button.emoji-section {
  margin: 0;
  padding: 4px;
  border-radius: 8px;
}

button.emoji-section:checked {
  color: #3281ea;
}

popover.emoji-picker emoji {
  font-size: x-large;
  padding: 4px;
  transition: all 75ms cubic-bezier(0, 0, 0.2, 1);
  border-radius: 10px;
}

popover.emoji-picker emoji:focus, popover.emoji-picker emoji:hover {
  background: alpha(currentColor, 0.08);
}

emoji-completion-row {
  min-height: 24px;
  padding: 0 8px;
}

emoji-completion-row > box {
  border-spacing: 4px;
  padding: 2px 4px;
}

emoji-completion-row:focus, emoji-completion-row:hover,
emoji-completion-row emoji:hover, emoji-completion-row emoji:focus {
  background-color: alpha(currentColor, 0.08);
  color: white;
}

popover.entry-completion > contents {
  padding: 0;
}

flowboxchild > button.card {
  box-shadow: none;
}

flowboxchild > button.card .large-icons {
  -gtk-icon-size: 32px;
}

flowboxchild > button.card.category-work {
  background-color: #FFF9C4;
  color: rgba(0, 0, 0, 0.87);
}

flowboxchild > button.card.category-develop {
  background-color: #616161;
  color: white;
}

flowboxchild > button.card.category-tile {
  padding: 14px;
}

flowboxchild > button.card.category-tile-iconless {
  padding: 6px 10px;
}

avatar {
  border-radius: 9999px;
  font-weight: bold;
}

avatar.color1 {
  background-image: linear-gradient(#83b6ec, #337fdc);
  color: #cfe1f5;
}

avatar.color2 {
  background-image: linear-gradient(#7ad9f1, #0f9ac8);
  color: #caeaf2;
}

avatar.color3 {
  background-image: linear-gradient(#8de6b1, #29ae74);
  color: #cef8d8;
}

avatar.color4 {
  background-image: linear-gradient(#b5e98a, #6ab85b);
  color: #e6f9d7;
}

avatar.color5 {
  background-image: linear-gradient(#f8e359, #d29d09);
  color: #f9f4e1;
}

avatar.color6 {
  background-image: linear-gradient(#ffcb62, #d68400);
  color: #ffead1;
}

avatar.color7 {
  background-image: linear-gradient(#ffa95a, #ed5b00);
  color: #ffe5c5;
}

avatar.color8 {
  background-image: linear-gradient(#f78773, #e62d42);
  color: #f8d2ce;
}

avatar.color9 {
  background-image: linear-gradient(#e973ab, #e33b6a);
  color: #fac7de;
}

avatar.color10 {
  background-image: linear-gradient(#cb78d4, #9945b5);
  color: #e7c2e8;
}

avatar.color11 {
  background-image: linear-gradient(#9e91e8, #7a59ca);
  color: #d5d2f5;
}

avatar.color12 {
  background-image: linear-gradient(#e3cf9c, #b08952);
  color: #f2eade;
}

avatar.color13 {
  background-image: linear-gradient(#be916d, #785336);
  color: #e5d6ca;
}

avatar.color14 {
  background-image: linear-gradient(#c0bfbc, #6e6d71);
  color: #d8d7d3;
}

avatar.contrasted {
  color: white;
}

avatar.image {
  background: none;
}

splitbutton.suggested-action > button, splitbutton.suggested-action > menubutton > button, splitbutton.destructive-action > button, splitbutton.destructive-action > menubutton > button, splitbutton.opaque > button, splitbutton.opaque > menubutton > button, menubutton.suggested-action > button, menubutton.destructive-action > button, menubutton.opaque > button, button.suggested-action, button.destructive-action, button.opaque {
  box-shadow: none;
  transition: all 75ms cubic-bezier(0, 0, 0.2, 1), box-shadow 225ms cubic-bezier(0, 0, 0.2, 1);
}

.osd splitbutton.suggested-action > button:focus:focus-visible, .osd splitbutton.suggested-action > menubutton > button:focus:focus-visible, .osd splitbutton.destructive-action > button:focus:focus-visible, .osd splitbutton.destructive-action > menubutton > button:focus:focus-visible, .osd splitbutton.opaque > button:focus:focus-visible, .osd splitbutton.opaque > menubutton > button:focus:focus-visible, .osd menubutton.suggested-action > button:focus:focus-visible, .osd menubutton.destructive-action > button:focus:focus-visible, .osd menubutton.opaque > button:focus:focus-visible, .osd button.suggested-action:focus:focus-visible, .osd button.destructive-action:focus:focus-visible, .osd button.opaque:focus:focus-visible {
  outline: none;
}

splitbutton.suggested-action > button:hover, splitbutton.suggested-action > menubutton > button:hover, splitbutton.destructive-action > button:hover, splitbutton.destructive-action > menubutton > button:hover, splitbutton.opaque > button:hover, splitbutton.opaque > menubutton > button:hover, menubutton.suggested-action > button:hover, menubutton.destructive-action > button:hover, menubutton.opaque > button:hover, button.suggested-action:hover, button.destructive-action:hover, button.opaque:hover {
  background-image: image(alpha(currentColor, 0.1));
}

splitbutton.suggested-action > button.keyboard-activating, splitbutton.suggested-action > menubutton > button.keyboard-activating, splitbutton.destructive-action > button.keyboard-activating, splitbutton.destructive-action > menubutton > button.keyboard-activating, splitbutton.opaque > button.keyboard-activating, splitbutton.opaque > menubutton > button.keyboard-activating, menubutton.suggested-action > button.keyboard-activating, menubutton.destructive-action > button.keyboard-activating, menubutton.opaque > button.keyboard-activating, button.keyboard-activating.suggested-action, button.keyboard-activating.destructive-action, button.keyboard-activating.opaque, splitbutton.suggested-action > button:active, splitbutton.suggested-action > menubutton > button:active, splitbutton.destructive-action > button:active, splitbutton.destructive-action > menubutton > button:active, splitbutton.opaque > button:active, splitbutton.opaque > menubutton > button:active, menubutton.suggested-action > button:active, menubutton.destructive-action > button:active, menubutton.opaque > button:active, button.suggested-action:active, button.destructive-action:active, button.opaque:active {
  background-image: image(rgba(0, 0, 0, 0.2));
}

splitbutton.suggested-action > button:checked, splitbutton.suggested-action > menubutton > button:checked, splitbutton.destructive-action > button:checked, splitbutton.destructive-action > menubutton > button:checked, splitbutton.opaque > button:checked, splitbutton.opaque > menubutton > button:checked, menubutton.suggested-action > button:checked, menubutton.destructive-action > button:checked, menubutton.opaque > button:checked, button.suggested-action:checked, button.destructive-action:checked, button.opaque:checked {
  background-image: image(rgba(0, 0, 0, 0.15));
}

splitbutton.suggested-action > button:checked:hover, splitbutton.suggested-action > menubutton > button:checked:hover, splitbutton.destructive-action > button:checked:hover, splitbutton.destructive-action > menubutton > button:checked:hover, splitbutton.opaque > button:checked:hover, splitbutton.opaque > menubutton > button:checked:hover, menubutton.suggested-action > button:checked:hover, menubutton.destructive-action > button:checked:hover, menubutton.opaque > button:checked:hover, button.suggested-action:checked:hover, button.destructive-action:checked:hover, button.opaque:checked:hover {
  background-image: image(rgba(0, 0, 0, 0.05));
}

splitbutton.suggested-action > button:checked.keyboard-activating, splitbutton.suggested-action > menubutton > button:checked.keyboard-activating, splitbutton.destructive-action > button:checked.keyboard-activating, splitbutton.destructive-action > menubutton > button:checked.keyboard-activating, splitbutton.opaque > button:checked.keyboard-activating, splitbutton.opaque > menubutton > button:checked.keyboard-activating, menubutton.suggested-action > button:checked.keyboard-activating, menubutton.destructive-action > button:checked.keyboard-activating, menubutton.opaque > button:checked.keyboard-activating, button.suggested-action:checked.keyboard-activating, button.destructive-action:checked.keyboard-activating, button.opaque:checked.keyboard-activating, splitbutton.suggested-action > button:checked:active, splitbutton.suggested-action > menubutton > button:checked:active, splitbutton.destructive-action > button:checked:active, splitbutton.destructive-action > menubutton > button:checked:active, splitbutton.opaque > button:checked:active, splitbutton.opaque > menubutton > button:checked:active, menubutton.suggested-action > button:checked:active, menubutton.destructive-action > button:checked:active, menubutton.opaque > button:checked:active, button.suggested-action:checked:active, button.destructive-action:checked:active, button.opaque:checked:active {
  background-image: image(rgba(0, 0, 0, 0.3));
}

button.opaque {
  background-color: gtkmix(#2C2C2C, white, 85%);
  color: white;
}

button.destructive-action {
  color: rgba(0, 0, 0, 0.87);
}

button.destructive-action, button.destructive-action:checked {
  background-color: #F28B82;
}

button.suggested-action {
  color: white;
}

button.suggested-action, button.suggested-action:checked {
  background-color: #3281ea;
}

button.font separator {
  background-color: transparent;
}

button.font > box {
  border-spacing: 4px;
}

button.font > box > box > label {
  font-weight: bold;
}

menubutton.pill > button, button.pill {
  padding: 10px 32px;
  border-radius: 9999px;
}

button.card {
  background-clip: padding-box;
  font-weight: inherit;
  box-shadow: none;
  transition: all 75ms cubic-bezier(0, 0, 0.2, 1);
}

button.card:hover {
  box-shadow: inset 0 0 0 9999px alpha(currentColor, 0.08);
}

button.card.keyboard-activating, button.card:active {
  transition: box-shadow 225ms cubic-bezier(0, 0, 0.2, 1), background-color 225ms cubic-bezier(0, 0, 0.2, 1);
  box-shadow: inset 0 0 0 9999px alpha(currentColor, 0.12);
}

button.card:checked {
  transition: box-shadow 225ms cubic-bezier(0, 0, 0.2, 1), background-color 225ms cubic-bezier(0, 0, 0.2, 1);
  box-shadow: inset 0 0 0 9999px alpha(currentColor, 0.12);
}

button.card:drop(active) {
  color: #FF7043;
  box-shadow: inset 0 0 0 1px #FF7043;
}

menubutton.osd {
  background: none;
  color: inherit;
}

menubutton.suggested-action {
  background-color: #3281ea;
  color: white;
}

menubutton.destructive-action {
  background-color: #F28B82;
  color: rgba(0, 0, 0, 0.87);
}

menubutton.opaque {
  background-color: gtkmix(#2C2C2C, white, 85%);
  color: white;
}

menubutton.suggested-action, menubutton.destructive-action, menubutton.opaque {
  border-radius: 10px;
}

menubutton.suggested-action.circular, menubutton.suggested-action.pill, menubutton.destructive-action.circular, menubutton.destructive-action.pill, menubutton.opaque.circular, menubutton.opaque.pill {
  border-radius: 9999px;
}

menubutton.suggested-action > button, menubutton.suggested-action > button:checked, menubutton.destructive-action > button, menubutton.destructive-action > button:checked, menubutton.opaque > button, menubutton.opaque > button:checked {
  background-color: transparent;
  color: inherit;
}

menubutton.image-button > button {
  min-width: 24px;
  padding-left: 4px;
  padding-right: 4px;
}

menubutton arrow {
  min-height: 16px;
  min-width: 16px;
}

menubutton arrow.none {
  -gtk-icon-source: -gtk-icontheme("open-menu-symbolic");
}

menubutton arrow.down {
  -gtk-icon-source: -gtk-icontheme("pan-down-symbolic");
}

menubutton arrow.up {
  -gtk-icon-source: -gtk-icontheme("pan-up-symbolic");
}

menubutton arrow.left {
  -gtk-icon-source: -gtk-icontheme("pan-start-symbolic");
}

menubutton arrow.right {
  -gtk-icon-source: -gtk-icontheme("pan-end-symbolic");
}

splitbutton {
  border-radius: 10px;
}

splitbutton, splitbutton > separator {
  transition: all 75ms cubic-bezier(0, 0, 0.2, 1);
  transition-property: background;
}

splitbutton > separator {
  margin-top: 4px;
  margin-bottom: 4px;
  background: none;
}

splitbutton > menubutton > button {
  padding-left: 2px;
  padding-right: 2px;
}

splitbutton.image-button > button {
  min-width: 24px;
  padding-left: 4px;
  padding-right: 4px;
}

splitbutton.text-button.image-button > button, splitbutton.image-text-button > button {
  padding-left: 6px;
  padding-right: 6px;
}

splitbutton.text-button.image-button > button > box, splitbutton.image-text-button > button > box {
  border-spacing: 4px;
}

splitbutton > button:dir(ltr),
splitbutton > menubutton > button:dir(rtl) {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  margin-right: -1px;
}

splitbutton > button:dir(rtl),
splitbutton > menubutton > button:dir(ltr) {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  margin-left: -1px;
}

splitbutton.flat > separator {
  background: rgba(255, 255, 255, 0.12);
}

splitbutton.flat:hover, splitbutton.flat:active, splitbutton.flat:checked {
  background: alpha(currentColor, 0.1);
  color: white;
}

splitbutton.flat:hover > separator, splitbutton.flat:active > separator, splitbutton.flat:checked > separator {
  background: none;
}

splitbutton.flat:focus-within:focus-visible > separator {
  background: none;
}

splitbutton.flat > button,
splitbutton.flat > menubutton > button {
  border-radius: 10px;
}

splitbutton.suggested-action {
  background-color: #3281ea;
  color: white;
}

splitbutton.destructive-action {
  background-color: #F28B82;
  color: rgba(0, 0, 0, 0.87);
}

splitbutton.opaque {
  background-color: gtkmix(#2C2C2C, white, 85%);
  color: white;
}

splitbutton.suggested-action > button, splitbutton.suggested-action > button:checked, splitbutton.suggested-action > menubutton > button, splitbutton.suggested-action > menubutton > button:checked, splitbutton.destructive-action > button, splitbutton.destructive-action > button:checked, splitbutton.destructive-action > menubutton > button, splitbutton.destructive-action > menubutton > button:checked, splitbutton.opaque > button, splitbutton.opaque > button:checked, splitbutton.opaque > menubutton > button, splitbutton.opaque > menubutton > button:checked {
  color: inherit;
  background-color: transparent;
}

splitbutton.suggested-action > menubutton > button:dir(ltr), splitbutton.destructive-action > menubutton > button:dir(ltr), splitbutton.opaque > menubutton > button:dir(ltr) {
  box-shadow: inset 1px 0 rgba(255, 255, 255, 0.12);
}

splitbutton.suggested-action > menubutton > button:dir(rtl), splitbutton.destructive-action > menubutton > button:dir(rtl), splitbutton.opaque > menubutton > button:dir(rtl) {
  box-shadow: inset -1px 0 rgba(255, 255, 255, 0.12);
}

splitbutton > menubutton > button > arrow.none {
  -gtk-icon-source: -gtk-icontheme("pan-down-symbolic");
}

buttoncontent {
  border-spacing: 4px;
}

buttoncontent > label {
  font-weight: bold;
}

buttoncontent > label:dir(ltr) {
  padding-right: 2px;
}

buttoncontent > label:dir(rtl) {
  padding-left: 2px;
}

.arrow-button > box > buttoncontent > label:dir(ltr), splitbutton > button > buttoncontent > label:dir(ltr) {
  padding-right: 0;
}

.arrow-button > box > buttoncontent > label:dir(rtl), splitbutton > button > buttoncontent > label:dir(rtl) {
  padding-left: 0;
}

toast {
  margin: 8px;
  margin-bottom: 24px;
  border-radius: 9999px;
  border-spacing: 4px;
  padding: 4px;
  box-shadow: 0 3px 3px -1px rgba(0, 0, 0, 0.2), 0 6px 6px 0 rgba(0, 0, 0, 0.14), 0 1px 10.8px 0 rgba(0, 0, 0, 0.12), inset 0 1px rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.7);
  font-weight: normal;
}

toast:dir(ltr) {
  padding-left: 8px;
}

toast:dir(rtl) {
  padding-right: 8px;
}

toast > widget {
  margin: 0 4px;
}

statuspage > scrolledwindow > viewport > box {
  margin: 24px 8px;
  border-spacing: 36px;
}

statuspage > scrolledwindow > viewport > box > clamp > box {
  border-spacing: 8px;
}

statuspage > scrolledwindow > viewport > box > clamp > box > .icon {
  -gtk-icon-size: 128px;
  color: alpha(currentColor, 0.45);
}

statuspage > scrolledwindow > viewport > box > clamp > box > .icon:disabled {
  opacity: 0.45;
}

statuspage > scrolledwindow > viewport > box > clamp > box > .icon:not(:last-child) {
  margin-bottom: 16px;
}

statuspage.compact > scrolledwindow > viewport > box {
  margin: 16px 8px;
  border-spacing: 16px;
}

statuspage.compact > scrolledwindow > viewport > box > clamp > box > .icon {
  -gtk-icon-size: 96px;
}

statuspage.compact > scrolledwindow > viewport > box > clamp > box > .icon:not(:last-child) {
  margin-bottom: 8px;
}

statuspage.compact > scrolledwindow > viewport > box > clamp > box > .title {
  font-size: 18pt;
}

list.content,
list.boxed-list, .card {
  border-radius: 10px;
  box-shadow: none;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background-clip: padding-box;
  background-color: #2C2C2C;
  color: rgba(255, 255, 255, 0.7);
}

preferencespage > scrolledwindow > viewport > clamp > box {
  margin: 16px 8px;
  border-spacing: 16px;
}

preferencesgroup > box, preferencesgroup > box .labels {
  border-spacing: 4px;
}

preferencesgroup > box > box.header:not(.single-line) {
  margin-bottom: 4px;
}

preferencesgroup > box > box.single-line {
  min-height: 32px;
}

preferencesgroup > box button.background-preview-button.toggle {
  padding: 0;
  background: none;
  box-shadow: none;
  outline-color: transparent;
  outline-width: 2px;
  outline-offset: 2px;
  outline-style: solid;
}

preferencesgroup > box button.background-preview-button.toggle, preferencesgroup > box button.background-preview-button.toggle > background-preview {
  border-radius: 6px;
}

preferencesgroup > box button.background-preview-button.toggle:hover {
  outline-color: rgba(255, 255, 255, 0.04);
}

preferencesgroup > box button.background-preview-button.toggle:active {
  outline-color: rgba(255, 255, 255, 0.3);
}

preferencesgroup > box button.background-preview-button.toggle:checked {
  outline-color: #3281ea;
}

viewswitcher {
  margin: 0;
}

viewswitcher.wide {
  border-spacing: 2px;
  border-radius: 9999px;
  background-color: rgba(255, 255, 255, 0.04);
  margin-top: 4px;
  margin-bottom: 4px;
}

viewswitcher.wide button.toggle:checked, viewswitcher.wide button.toggle.flat:checked {
  background-color: #3281ea;
  color: white;
}

viewswitcher.wide button.toggle:checked:backdrop, viewswitcher.wide button.toggle.flat:checked:backdrop {
  color: rgba(255, 255, 255, 0.5);
}

viewswitcher.wide button.toggle:checked indicatorbin.needs-attention > indicator, viewswitcher.wide button.toggle.flat:checked indicatorbin.needs-attention > indicator {
  background-color: white;
}

viewswitcher.wide button.toggle:checked indicatorbin.needs-attention > indicator > label, viewswitcher.wide button.toggle.flat:checked indicatorbin.needs-attention > indicator > label {
  color: #3281ea;
}

viewswitcher.narrow button.toggle {
  border-radius: 0;
  margin: 0;
  border: none;
}

viewswitcher button.toggle {
  font-weight: bold;
  padding: 0;
  min-height: 0;
  margin: 0;
}

viewswitcher button.toggle > stack > box.narrow {
  font-size: 0.75rem;
  padding-top: 5px;
  padding-bottom: 3px;
  border-spacing: 2px;
}

viewswitcher button.toggle > stack > box.narrow > stack > label {
  padding-left: 6px;
  padding-right: 6px;
}

viewswitcher button.toggle > stack > box.wide {
  padding: 0 8px;
  border-spacing: 4px;
}

viewswitcherbar actionbar > revealer > box {
  padding: 0;
}

viewswitchertitle viewswitcher {
  margin-left: 8px;
  margin-right: 8px;
}

indicatorbin > indicator, indicatorbin > mask {
  min-width: 4px;
  min-height: 4px;
  border-radius: 9999px;
}

indicatorbin > indicator {
  margin: 1px;
  padding: 0;
  background: alpha(currentColor, 0.4);
}

indicatorbin > indicator > label {
  font-size: 0.6rem;
  font-weight: bold;
  padding: 2px 5px;
  color: white;
}

indicatorbin > mask {
  padding: 1px;
  background: black;
}

indicatorbin.needs-attention > indicator {
  background-color: #3281ea;
}

indicatorbin.needs-attention > indicator > label {
  color: white;
}

tabbar .box {
  min-height: 24px;
}

tabbar tabbox > tabboxchild {
  border-radius: 10px;
  margin: 2px;
}

tabbar tabbox > separator {
  margin-top: 6px;
  margin-bottom: 6px;
  transition: opacity 150ms ease-in-out;
}

tabbar tabbox > separator.hidden {
  opacity: 0;
}

tabbar tabbox > revealer > indicator {
  min-width: 2px;
  border-radius: 2px;
  margin: 6px 4px;
  background: alpha(#3281ea, 0.5);
}

tabbar tab {
  transition: background 150ms ease-in-out;
}

tabbar tab:selected, tabbar tab:checked, tabbar tab:active, tabbar tab:active:hover, tabbar tab:checked:hover {
  background-color: rgba(255, 255, 255, 0.12);
  box-shadow: none;
  color: white;
}

tabbar tab:hover {
  background-color: rgba(255, 255, 255, 0.04);
  box-shadow: none;
  color: white;
}

tabbar .start-action,
tabbar .end-action {
  padding: 5px;
}

tabbar .start-action:dir(ltr),
tabbar .end-action:dir(rtl) {
  padding-right: 0;
}

tabbar .start-action:dir(rtl),
tabbar .end-action:dir(ltr) {
  padding-left: 0;
}

tabbar:not(.inline) .box {
  background-color: #212121;
  color: rgba(255, 255, 255, 0.7);
  padding: 2px;
  box-shadow: none;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

tabbar:not(.inline):backdrop .box > scrolledwindow,
tabbar:not(.inline):backdrop .box > .start-action,
tabbar:not(.inline):backdrop .box > .end-action {
  filter: opacity(0.5);
}

dnd tab {
  background-color: #212121;
  color: rgba(255, 255, 255, 0.7);
  box-shadow: none;
  margin: 16px;
}

tabbar tab,
dnd tab {
  min-height: 24px;
  padding: 2px 4px;
  border-radius: 5px;
  margin: 0 1px;
}

tabbar tab button.image-button,
dnd tab button.image-button {
  padding: 0;
  margin: 0;
  min-width: 20px;
  min-height: 20px;
  border-radius: 9999px;
  border: none;
}

tabbar tab indicator,
dnd tab indicator {
  min-height: 2px;
  border-radius: 2px;
  background: alpha(#3281ea, 0.5);
}

tabview:drop(active),
tabbox:drop(active) {
  box-shadow: none;
}

.unfolded stacksidebar.sidebar {
  border: none;
}

leaflet {
  outline-color: rgba(255, 255, 255, 0.1);
  outline-width: 1px;
  outline-style: solid;
  outline-offset: -1px;
  border-radius: 14px;
}

leaflet headerbar {
  border-radius: 0;
  box-shadow: inset 0 -1px rgba(255, 255, 255, 0.12);
}

leaflet leaflet {
  border-radius: 0;
  outline: none;
}

leaflet > box > scrolledwindow > viewport > widget > stack {
  background-color: #2C2C2C;
}

.maximized leaflet, .fullscreen leaflet, .tiled leaflet, .tiled-top leaflet, .tiled-right leaflet, .tiled-bottom leaflet, .tiled-left leaflet {
  border-radius: 0;
  outline: none;
}

/* GTK NAMED COLORS
   ----------------
   use responsibly! */
/*
widget text/foreground color */
@define-color theme_fg_color white;
/*
text color for entries, views and content in general */
@define-color theme_text_color white;
/*
widget base background color */
@define-color theme_bg_color #212121;
/*
text widgets and the like base background color */
@define-color theme_base_color #2C2C2C;
/*
base background color of selections */
@define-color theme_selected_bg_color #3281ea;
/*
text/foreground color of selections */
@define-color theme_selected_fg_color white;
/*
base background color of insensitive widgets */
@define-color insensitive_bg_color #212121;
/*
text foreground color of insensitive widgets */
@define-color insensitive_fg_color rgba(255, 255, 255, 0.5);
/*
insensitive text widgets and the like base background color */
@define-color insensitive_base_color #242424;
/*
widget text/foreground color on backdrop windows */
@define-color theme_unfocused_fg_color white;
/*
text color for entries, views and content in general on backdrop windows */
@define-color theme_unfocused_text_color white;
/*
widget base background color on backdrop windows */
@define-color theme_unfocused_bg_color #212121;
/*
text widgets and the like base background color on backdrop windows */
@define-color theme_unfocused_base_color #2C2C2C;
/*
base background color of selections on backdrop windows */
@define-color theme_unfocused_selected_bg_color #3281ea;
/*
text/foreground color of selections on backdrop windows */
@define-color theme_unfocused_selected_fg_color white;
/*
insensitive color on backdrop windows */
@define-color unfocused_insensitive_color rgba(255, 255, 255, 0.5);
/*
widgets main borders color */
@define-color borders rgba(255, 255, 255, 0.12);
/*
widgets main borders color on backdrop windows */
@define-color unfocused_borders rgba(255, 255, 255, 0.12);
/*
these are pretty self explicative */
@define-color warning_color #FDD633;
@define-color error_color #F28B82;
@define-color success_color #81C995;
/*
these colors are exported for the window manager and shouldn't be used in applications,
read if you used those and something break with a version upgrade you're on your own... */
@define-color wm_title white;
@define-color wm_unfocused_title rgba(255, 255, 255, 0.7);
@define-color wm_highlight rgba(255, 255, 255, 0.1);
@define-color wm_bg #2C2C2C;
@define-color wm_unfocused_bg #2C2C2C;
/*
FIXME this is really an API */
@define-color content_view_bg #2C2C2C;
@define-color placeholder_text_color silver;
/* Very contrasty background for text views (@theme_text_color foreground) */
@define-color text_view_bg #1d1d1d;
@define-color budgie_tasklist_indicator_color rgba(255, 255, 255, 0.7);
@define-color budgie_tasklist_indicator_color_active #3281ea;
@define-color budgie_tasklist_indicator_color_active_window rgba(43, 93, 159, 0.8075);
@define-color budgie_tasklist_indicator_color_attention #FDD633;
@define-color STRAWBERRY_100 #FF9262;
@define-color STRAWBERRY_300 #FF793E;
@define-color STRAWBERRY_500 #F15D22;
@define-color STRAWBERRY_700 #CF3B00;
@define-color STRAWBERRY_900 #AC1800;
@define-color ORANGE_100 #FFDB91;
@define-color ORANGE_300 #FFCA40;
@define-color ORANGE_500 #FAA41A;
@define-color ORANGE_700 #DE8800;
@define-color ORANGE_900 #C26C00;
@define-color BANANA_100 #FFFFA8;
@define-color BANANA_300 #FFFA7D;
@define-color BANANA_500 #FFCE51;
@define-color BANANA_700 #D1A023;
@define-color BANANA_900 #A27100;
@define-color LIME_100 #A2F3BE;
@define-color LIME_300 #8ADBA6;
@define-color LIME_500 #73C48F;
@define-color LIME_700 #479863;
@define-color LIME_900 #1C6D38;
@define-color BLUEBERRY_100 #94A6FF;
@define-color BLUEBERRY_300 #6A7CE0;
@define-color BLUEBERRY_500 #3F51B5;
@define-color BLUEBERRY_700 #213397;
@define-color BLUEBERRY_900 #031579;
@define-color GRAPE_100 #D25DE6;
@define-color GRAPE_300 #B84ACB;
@define-color GRAPE_500 #9C27B0;
@define-color GRAPE_700 #830E97;
@define-color GRAPE_900 #6A007E;
@define-color COCOA_100 #9F9792;
@define-color COCOA_300 #7B736E;
@define-color COCOA_500 #574F4A;
@define-color COCOA_700 #463E39;
@define-color COCOA_900 #342C27;
@define-color SILVER_100 #EEE;
@define-color SILVER_300 #CCC;
@define-color SILVER_500 #AAA;
@define-color SILVER_700 #888;
@define-color SILVER_900 #666;
@define-color SLATE_100 #888;
@define-color SLATE_300 #666;
@define-color SLATE_500 #444;
@define-color SLATE_700 #222;
@define-color SLATE_900 #111;
@define-color BLACK_100 #474341;
@define-color BLACK_300 #403C3A;
@define-color BLACK_500 #393634;
@define-color BLACK_700 #33302F;
@define-color BLACK_900 #2B2928;
