@keyframes ripple_effect {
  to {
    background-size: 1000% 1000%;
  }
}

* {
  padding: 0;
  -gtktoolbutton-icon-spacing: 4;
  -gtktextview-error-underline-color: #e35d5d;
  -gtkscrolledwindow-scrollbar-spacing: 0;
  -gtktoolitemgroup-expander-size: 11;
  -gtkwidget-text-handle-width: 20;
  -gtkwidget-text-handle-height: 24;
  -gtkdialog-button-spacing: 4;
  -gtkdialog-action-area-border: 0;
  outline-color: alpha(currentColor, 0.3);
  outline-style: none;
  outline-offset: -4px;
  outline-width: 0px;
  -gtk-outline-radius: 8px;
  -gtk-secondary-caret-color: #ecf2f2;
}

/*************** Base States * */
.background {
  color: #ecf2f2;
  background-color: #15191f;
  border-radius: 0 0 8px 8px;
}

.background:backdrop {
  color: #8d8d8d;
  background-color: #15191f;
}

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

/* These wildcard seems unavoidable, need to investigate. Wildcards are bad and troublesome, use them with care, or better, just don't. Everytime a wildcard is used a kitten dies, painfully. */
*:disabled {
  -gtk-icon-effect: dim;
}

.gtkstyle-fallback {
  color: #ecf2f2;
  background-color: #15191f;
}

.gtkstyle-fallback:hover {
  color: #ecf2f2;
  background-color: #353535;
}

.gtkstyle-fallback:active {
  color: #ecf2f2;
  background-color: #020202;
}

.gtkstyle-fallback:disabled {
  color: #8d8d8d;
  background-color: #15191f;
}

.gtkstyle-fallback:selected {
  color: #15191f;
  background-color: #33aeff;
}

.view,
iconview,
.view text,
iconview text,
textview text {
  color: #ecf2f2;
  background-color: #15191f;
}

.view:backdrop,
iconview:backdrop,
.view text:backdrop,
iconview text:backdrop,
textview text:backdrop {
  color: #d1d1d1;
  background-color: #15191f;
}

.view:backdrop:disabled,
iconview:backdrop:disabled,
.view text:backdrop:disabled,
iconview text:backdrop:disabled,
textview text:backdrop:disabled {
  color: #414141;
}

.view:disabled,
iconview:disabled,
.view text:disabled,
iconview text:disabled,
textview text:disabled {
  color: #8d8d8d;
  background-color: #15191f;
}

.view:selected:focus,
iconview:selected:focus,
.view:selected,
iconview:selected,
.view text:selected:focus,
iconview text:selected:focus,
textview text:selected:focus,
.view text:selected,
iconview text:selected,
textview text:selected {
  border-radius: 3px;
}

.view text selection:focus,
iconview text selection:focus,
.view text selection,
iconview text selection,
textview text selection:focus,
textview text selection {
  background-color: rgba(51, 174, 255, 0.3);
}

textview border {
  background-color: #15191f;
}

iconview {
  border-radius: 0 0 8px 8px;
}

.rubberband,
rubberband,
flowbox rubberband,
treeview.view rubberband,
.content-view rubberband,
.content-view .rubberband,
XfdesktopIconView.view .rubberband {
  border: 1px solid #e6e6e6;
  background-color: rgba(230, 230, 230, 0.2);
}

flowbox flowboxchild {
  padding: 3px;
}

flowbox flowboxchild:selected {
  outline-offset: -2px;
}

.content-view .tile {
  margin: 2px;
  background-color: transparent;
  border-radius: 0;
  padding: 0;
}

label {
  caret-color: currentColor;
}

label.separator {
  color: #ecf2f2;
}

label.separator:backdrop {
  color: #8d8d8d;
}

label selection {
  background-color: rgba(51, 174, 255, 0.3);
}

label:disabled {
  color: #8d8d8d;
}

label:disabled:backdrop {
  color: #414141;
}

label:backdrop {
  color: #8d8d8d;
}

.accent {
  color: #ecf2f2;
}

.h1 {
  font-size: 20pt;
  font-weight: bold;
}

.h2 {
  font-size: 16pt;
}

.h3 {
  font-size: 11pt;
}

.h4,
.category-label {
  color: rgba(255, 255, 255, 0.8);
  font-weight: bold;
}

.h4 {
  padding-top: 0.6em;
  padding-bottom: 0.6em;
}

list .h4 {
  padding-left: 0.6em;
}

.dim-label,
label.separator,
.titlebar:not(headerbar) .subtitle,
headerbar .subtitle {
  opacity: 0.55;
}

assistant .sidebar {
  background-color: #15191f;
  border-top: 1px solid transparent;
}

assistant .sidebar:backdrop {
  background-color: #15191f;
  border-color: transparent;
}

assistant.csd .sidebar {
  border-top-style: none;
}

assistant .sidebar label {
  padding: 6px 12px;
}

assistant .sidebar label.highlight {
  background-color: #33aeff;
}

.app-notification,
.app-notification.frame,
.osd .scale-popup,
.osd {
  background-color: #21242a;
  background-clip: padding-box;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.5);
}

.csd .app-notification,
.csd .osd .scale-popup,
.osd .csd .scale-popup,
.app-notification,
.app-notification.frame,
.osd .scale-popup,
.csd .osd,
.osd {
  border: none;
}

.app-notification:backdrop,
.osd .scale-popup:backdrop,
.osd:backdrop {
  background-color: #21242a;
  box-shadow: none;
}

/********************* Spinner Animation * */
@keyframes spin {
  to {
    -gtk-icon-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;
}

/**************** Text Entries * */
spinbutton:not(.vertical),
entry {
  min-height: 32px;
  padding-left: 8px;
  padding-right: 8px;
  border: 2px solid;
  border-radius: 3px;
  margin: 1px;
  transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
  color: #ecf2f2;
  border-color: transparent;
  background-color: #21252b;
}

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

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

spinbutton:not(.vertical) undershoot.left,
entry undershoot.left {
  background-color: transparent;
  background-image: linear-gradient(
    to top,
    rgba(255, 255, 255, 0.2) 50%,
    rgba(0, 0, 0, 0.2) 50%
  );
  padding-left: 1px;
  background-size: 1px 10px;
  background-repeat: repeat-y;
  background-origin: content-box;
  background-position: left center;
  border: none;
  box-shadow: none;
}

spinbutton:not(.vertical) undershoot.right,
entry undershoot.right {
  background-color: transparent;
  background-image: linear-gradient(
    to top,
    rgba(255, 255, 255, 0.2) 50%,
    rgba(0, 0, 0, 0.2) 50%
  );
  padding-right: 1px;
  background-size: 1px 10px;
  background-repeat: repeat-y;
  background-origin: content-box;
  background-position: right center;
  border: none;
  box-shadow: none;
}

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

spinbutton:focus:not(.vertical),
entry:focus {
  color: #ecf2f2;
  border-color: transparent;
  background-color: #2b2f35;
}

spinbutton:disabled:not(.vertical),
entry:disabled {
  color: #8d8d8d;
  border-color: transparent;
  background-color: transparent;
}

spinbutton:backdrop:not(.vertical),
entry:backdrop {
  color: #8d8d8d;
  border-color: transparent;
  background-color: #2f333d;
  transition: 200ms ease-out;
}

spinbutton:backdrop:disabled:not(.vertical),
entry:backdrop:disabled {
  color: #414141;
  border-color: transparent;
  background-color: transparent;
}

spinbutton:not(.vertical) selection,
entry selection {
  background-color: rgba(51, 174, 255, 0.3);
}

spinbutton.error:not(.vertical),
entry.error {
  color: #e35d5d;
  border-color: transparent;
}

spinbutton.error:focus:not(.vertical),
entry.error:focus {
  color: #e35d5d;
  border-color: transparent;
  background-color: #432828;
}

spinbutton.error:not(.vertical) selection,
entry.error selection {
  color: #15191f;
  background-color: #e35d5d;
}

spinbutton.warning:not(.vertical),
entry.warning {
  color: #febc8d;
  border-color: transparent;
}

spinbutton.warning:focus:not(.vertical),
entry.warning:focus {
  color: #febc8d;
  border-color: transparent;
  background-color: #483b32;
}

spinbutton.warning:not(.vertical) selection,
entry.warning selection {
  color: #15191f;
  background-color: #febc8d;
}

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

spinbutton:not(.vertical) image:hover,
entry image:hover {
  color: #ecf2f2;
}

spinbutton:not(.vertical) image:active,
entry image:active {
  color: #ecf2f2;
}

spinbutton:not(.vertical) image:backdrop,
entry image:backdrop {
  color: #767676;
}

spinbutton:drop(active):focus:not(.vertical),
spinbutton:drop(active):not(.vertical),
entry:drop(active):focus,
entry:drop(active) {
  color: #45dcb3;
  border-color: transparent;
  background-color: #234239;
}

spinbutton:not(.vertical) progress,
entry progress {
  margin: 2px -6px;
  background-color: transparent;
  background-image: none;
  border-radius: 0;
  border-width: 0 0 3px;
  border-color: transparent;
  border-style: solid;
  box-shadow: none;
}

spinbutton:not(.vertical) progress:backdrop,
entry progress:backdrop {
  background-color: transparent;
}

treeview entry:focus:dir(rtl),
treeview entry:focus:dir(ltr) {
  background-color: #15191f;
  transition-property: color, background;
}

treeview entry.flat,
treeview entry {
  border: none;
  border-radius: 0;
  background-image: none;
  background-color: #15191f;
}

.entry-tag,
.documents-entry-tag,
.photos-entry-tag {
  padding: 10px;
  margin-top: 2px;
  margin-bottom: 2px;
  border-style: none;
  color: #15191f;
  background-color: #33aeff;
}

:dir(ltr) .entry-tag,
:dir(ltr) .documents-entry-tag,
:dir(ltr) .photos-entry-tag {
  margin-left: 8px;
  margin-right: -5px;
}

:dir(rtl) .entry-tag,
:dir(rtl) .documents-entry-tag,
:dir(rtl) .photos-entry-tag {
  margin-left: -5px;
  margin-right: 8px;
}

.entry-tag:hover,
.documents-entry-tag:hover,
.photos-entry-tag:hover {
  background-color: #33aeff;
}

:backdrop .entry-tag,
:backdrop .documents-entry-tag,
:backdrop .photos-entry-tag {
  color: #15191f;
  background-color: #33aeff;
}

.entry-tag.button,
.documents-entry-tag.button,
.photos-entry-tag.button {
  background-color: transparent;
  color: rgba(27, 27, 27, 0.7);
}

:not(:backdrop) .entry-tag.button:hover,
:not(:backdrop) .documents-entry-tag.button:hover,
:not(:backdrop) .photos-entry-tag.button:hover {
  border: 1px solid #ecf2f2;
  color: #15191f;
}

:not(:backdrop) .entry-tag.button:active,
:not(:backdrop) .documents-entry-tag.button:active,
:not(:backdrop) .photos-entry-tag.button:active {
  background-color: #33aeff;
  color: #15191f;
}

/*********** Buttons * */
@keyframes needs_attention {
  from {
    background-image: -gtk-gradient(
      radial,
      center center,
      0,
      center center,
      0.01,
      to(#ecf2f2),
      to(transparent)
    );
  }
  to {
    background-image: -gtk-gradient(
      radial,
      center center,
      0,
      center center,
      0.5,
      to(#ecf2f2),
      to(transparent)
    );
  }
}

button.titlebutton,
button {
  min-height: 24px;
  min-width: 16px;
  padding: 2px 8px;
  border: 0px solid;
  border-radius: 3px;
  margin: 1px;
  transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94),
    background-size 300ms cubic-bezier(0.25, 0.46, 0.45, 0.94),
    background-image 300ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
  background-image: radial-gradient(
    circle farthest-corner at center,
    transparent 10%,
    transparent 0%
  );
  background-repeat: no-repeat;
  background-position: center;
  background-size: 1000% 1000%;
  color: #ecf2f2;
  outline-color: transparent;
  border-color: transparent;
  background-color: #21252b;
  background-image: none;
}

notebook > header > tabs > arrow,
button.sidebar-button,
button.titlebutton,
button.flat {
  border-color: transparent;
  background-color: transparent;
  background-image: none;
  background-image: none;
  transition: none;
}

notebook > header > tabs > arrow:hover,
button.sidebar-button:hover,
button.titlebutton:hover,
button.flat:hover {
  transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition-duration: 500ms;
}

notebook > header > tabs > arrow:hover:active,
button.sidebar-button:hover:active,
button.titlebutton:hover:active,
button.flat:hover:active {
  transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

button.titlebutton:hover,
button:hover {
  color: #ecf2f2;
  outline-color: transparent;
  border-color: transparent;
  background-color: #2b2f35;
  background-image: none;
  -gtk-icon-effect: highlight;
}

button.titlebutton:active,
button.titlebutton:checked,
button:active,
button:checked {
  color: #15191f;
  outline-color: transparent;
  border-color: transparent;
  background-color: #33aeff;
  box-shadow: none;
  background-image: none;
  transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), background-size 0,
    background-image 0;
  animation: ripple_effect 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
  background-image: radial-gradient(
    circle farthest-corner at center,
    #33aeff 10%,
    transparent 0%
  );
  background-size: 0% 0%;
}

notebook > header > tabs > arrow:backdrop,
button.sidebar-button:backdrop,
button.titlebutton:backdrop,
button.titlebutton:backdrop,
button:backdrop.flat,
button:backdrop {
  border-color: transparent;
  background-color: #2f333d;
  background-image: none;
  transition: 200ms ease-out;
  -gtk-icon-effect: none;
}

notebook > header > tabs > arrow:backdrop label,
button.sidebar-button:backdrop label,
button.titlebutton:backdrop label,
notebook > header > tabs > arrow:backdrop,
button.sidebar-button:backdrop,
button.titlebutton:backdrop,
button.titlebutton:backdrop label,
button.titlebutton:backdrop,
button:backdrop.flat label,
button:backdrop.flat,
button:backdrop label,
button:backdrop {
  color: #8d8d8d;
}

notebook > header > tabs > arrow:backdrop:active,
button.sidebar-button:backdrop:active,
button.titlebutton:backdrop:active,
notebook > header > tabs > arrow:backdrop:checked,
button.sidebar-button:backdrop:checked,
button.titlebutton:backdrop:checked,
button.titlebutton:backdrop:active,
button.titlebutton:backdrop:checked,
button:backdrop.flat:active,
button:backdrop.flat:checked,
button:backdrop:active,
button:backdrop:checked {
  border-color: transparent;
  background-color: #33aeff;
  background-image: none;
}

notebook > header > tabs > arrow:backdrop:active label,
button.sidebar-button:backdrop:active label,
button.titlebutton:backdrop:active label,
notebook > header > tabs > arrow:backdrop:active,
button.sidebar-button:backdrop:active,
button.titlebutton:backdrop:active,
notebook > header > tabs > arrow:backdrop:checked label,
button.sidebar-button:backdrop:checked label,
button.titlebutton:backdrop:checked label,
notebook > header > tabs > arrow:backdrop:checked,
button.sidebar-button:backdrop:checked,
button.titlebutton:backdrop:checked,
button.titlebutton:backdrop:active label,
button.titlebutton:backdrop:active,
button.titlebutton:backdrop:checked label,
button.titlebutton:backdrop:checked,
button:backdrop.flat:active label,
button:backdrop.flat:active,
button:backdrop.flat:checked label,
button:backdrop.flat:checked,
button:backdrop:active label,
button:backdrop:active,
button:backdrop:checked label,
button:backdrop:checked {
  color: #15191f;
}

notebook > header > tabs > arrow:backdrop:disabled,
button.sidebar-button:backdrop:disabled,
button.titlebutton:backdrop:disabled,
button.titlebutton:backdrop:disabled,
button:backdrop.flat:disabled,
button:backdrop:disabled {
  border-color: transparent;
  background-color: transparent;
  background-image: none;
}

notebook > header > tabs > arrow:backdrop:disabled label,
button.sidebar-button:backdrop:disabled label,
button.titlebutton:backdrop:disabled label,
notebook > header > tabs > arrow:backdrop:disabled,
button.sidebar-button:backdrop:disabled,
button.titlebutton:backdrop:disabled,
button.titlebutton:backdrop:disabled label,
button.titlebutton:backdrop:disabled,
button:backdrop.flat:disabled label,
button:backdrop.flat:disabled,
button:backdrop:disabled label,
button:backdrop:disabled {
  color: #414141;
}

notebook > header > tabs > arrow:backdrop:disabled:active,
button.sidebar-button:backdrop:disabled:active,
button.titlebutton:backdrop:disabled:active,
notebook > header > tabs > arrow:backdrop:disabled:checked,
button.sidebar-button:backdrop:disabled:checked,
button.titlebutton:backdrop:disabled:checked,
button.titlebutton:backdrop:disabled:active,
button.titlebutton:backdrop:disabled:checked,
button:backdrop.flat:disabled:active,
button:backdrop.flat:disabled:checked,
button:backdrop:disabled:active,
button:backdrop:disabled:checked {
  border-color: transparent;
  background-color: #212121;
  box-shadow: none;
  background-image: none;
}

notebook > header > tabs > arrow:backdrop:disabled:active label,
button.sidebar-button:backdrop:disabled:active label,
button.titlebutton:backdrop:disabled:active label,
notebook > header > tabs > arrow:backdrop:disabled:active,
button.sidebar-button:backdrop:disabled:active,
button.titlebutton:backdrop:disabled:active,
notebook > header > tabs > arrow:backdrop:disabled:checked label,
button.sidebar-button:backdrop:disabled:checked label,
button.titlebutton:backdrop:disabled:checked label,
notebook > header > tabs > arrow:backdrop:disabled:checked,
button.sidebar-button:backdrop:disabled:checked,
button.titlebutton:backdrop:disabled:checked,
button.titlebutton:backdrop:disabled:active label,
button.titlebutton:backdrop:disabled:active,
button.titlebutton:backdrop:disabled:checked label,
button.titlebutton:backdrop:disabled:checked,
button:backdrop.flat:disabled:active label,
button:backdrop.flat:disabled:active,
button:backdrop.flat:disabled:checked label,
button:backdrop.flat:disabled:checked,
button:backdrop:disabled:active label,
button:backdrop:disabled:active,
button:backdrop:disabled:checked label,
button:backdrop:disabled:checked {
  color: #414141;
}

notebook > header > tabs > arrow:backdrop,
button.sidebar-button:backdrop,
button.titlebutton:backdrop,
notebook > header > tabs > arrow:disabled,
button.sidebar-button:disabled,
button.titlebutton:disabled,
notebook > header > tabs > arrow:backdrop:disabled,
button.sidebar-button:backdrop:disabled,
button.titlebutton:backdrop:disabled,
button.flat:backdrop,
button.flat:disabled,
button.flat:backdrop:disabled {
  border-color: transparent;
  background-color: transparent;
  background-image: none;
  background-image: none;
}

button.titlebutton:disabled,
button:disabled {
  color: #8d8d8d;
  border-color: transparent;
  background-color: transparent;
  background-image: none;
}

button.titlebutton:disabled:active,
button.titlebutton:disabled:checked,
button:disabled:active,
button:disabled:checked {
  color: #8d8d8d;
  border-color: transparent;
  background-color: #212121;
  box-shadow: none;
  background-image: none;
}

button.image-button.titlebutton,
button.image-button {
  min-width: 24px;
  padding-left: 4px;
  padding-right: 4px;
}

button.text-button.titlebutton,
button.text-button {
  padding-left: 16px;
  padding-right: 16px;
}

button.text-button.image-button.titlebutton,
button.text-button.image-button {
  padding-left: 8px;
  padding-right: 8px;
}

button.text-button.image-button.titlebutton label,
button.text-button.image-button label {
  padding-left: 8px;
  padding-right: 8px;
}

combobox:drop(active) button.combo,
button.titlebutton:drop(active),
button:drop(active) {
  color: #15191f;
  border-color: transparent;
  background-color: #45dcb3;
  box-shadow: 0 2px 4px rgba(69, 220, 179, 0.3);
}

row:selected
  button.sidebar-button:not(:active):not(:checked):not(:hover):not(disabled),
row:selected button.flat:not(:active):not(:checked):not(:hover):not(disabled) {
  color: #15191f;
  border-color: transparent;
}

row:selected
  button.sidebar-button:not(:active):not(:checked):not(:hover):not(disabled):backdrop,
row:selected
  button.flat:not(:active):not(:checked):not(:hover):not(disabled):backdrop {
  color: #15191f;
}

button.osd {
  min-width: 24px;
  min-height: 32px;
  border-radius: 3px;
}

button.osd.image-button {
  min-width: 32px;
}

button.suggested-action {
  color: #15191f;
  outline-color: rgba(27, 27, 27, 0.3);
  border-color: transparent;
  background-color: #e8e8e8;
  background-image: none;
  box-shadow: none;
}

.selection-mode button.titlebutton,
button.suggested-action.flat {
  border-color: transparent;
  background-color: transparent;
  background-image: none;
  background-image: none;
  box-shadow: none;
  color: #ecf2f2;
}

button.suggested-action:hover {
  color: #15191f;
  outline-color: rgba(27, 27, 27, 0.3);
  border-color: transparent;
  background-color: #d1d1d1;
  background-image: none;
  background-color: #33aeff;
}

button.suggested-action:active,
button.suggested-action:checked {
  color: #15191f;
  outline-color: rgba(27, 27, 27, 0.3);
  border-color: transparent;
  background-color: #33aeff;
  box-shadow: none;
  background-image: none;
  background-color: #33aeff;
  box-shadow: 0 2px 4px rgba(217, 217, 217, 0.3);
  transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), background-size 0,
    background-image 0;
  animation: ripple_effect 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
  background-image: radial-gradient(
    circle farthest-corner at center,
    #33aeff 10%,
    transparent 0%
  );
  background-size: 0% 0%;
}

.selection-mode button.titlebutton:backdrop,
button.suggested-action:backdrop,
button.suggested-action.flat:backdrop {
  border-color: transparent;
  background-color: #f4f4f4;
  background-image: none;
}

.selection-mode button.titlebutton:backdrop label,
.selection-mode button.titlebutton:backdrop,
button.suggested-action:backdrop label,
button.suggested-action:backdrop,
button.suggested-action.flat:backdrop label,
button.suggested-action.flat:backdrop {
  color: #8d8d8d;
}

.selection-mode button.titlebutton:backdrop:active,
.selection-mode button.titlebutton:backdrop:checked,
button.suggested-action:backdrop:active,
button.suggested-action:backdrop:checked,
button.suggested-action.flat:backdrop:active,
button.suggested-action.flat:backdrop:checked {
  border-color: transparent;
  background-color: #33aeff;
  background-image: none;
}

.selection-mode button.titlebutton:backdrop:active label,
.selection-mode button.titlebutton:backdrop:active,
.selection-mode button.titlebutton:backdrop:checked label,
.selection-mode button.titlebutton:backdrop:checked,
button.suggested-action:backdrop:active label,
button.suggested-action:backdrop:active,
button.suggested-action:backdrop:checked label,
button.suggested-action:backdrop:checked,
button.suggested-action.flat:backdrop:active label,
button.suggested-action.flat:backdrop:active,
button.suggested-action.flat:backdrop:checked label,
button.suggested-action.flat:backdrop:checked {
  color: #ecf2f2;
}

.selection-mode button.titlebutton:backdrop:disabled,
button.suggested-action:backdrop:disabled,
button.suggested-action.flat:backdrop:disabled {
  border-color: transparent;
  background-color: transparent;
  background-image: none;
}

.selection-mode button.titlebutton:backdrop:disabled label,
.selection-mode button.titlebutton:backdrop:disabled,
button.suggested-action:backdrop:disabled label,
button.suggested-action:backdrop:disabled,
button.suggested-action.flat:backdrop:disabled label,
button.suggested-action.flat:backdrop:disabled {
  color: #414141;
}

.selection-mode button.titlebutton:backdrop:disabled:active,
.selection-mode button.titlebutton:backdrop:disabled:checked,
button.suggested-action:backdrop:disabled:active,
button.suggested-action:backdrop:disabled:checked,
button.suggested-action.flat:backdrop:disabled:active,
button.suggested-action.flat:backdrop:disabled:checked {
  border-color: white;
  background-color: #33aeff;
  box-shadow: none;
  background-image: none;
}

.selection-mode button.titlebutton:backdrop:disabled:active label,
.selection-mode button.titlebutton:backdrop:disabled:active,
.selection-mode button.titlebutton:backdrop:disabled:checked label,
.selection-mode button.titlebutton:backdrop:disabled:checked,
button.suggested-action:backdrop:disabled:active label,
button.suggested-action:backdrop:disabled:active,
button.suggested-action:backdrop:disabled:checked label,
button.suggested-action:backdrop:disabled:checked,
button.suggested-action.flat:backdrop:disabled:active label,
button.suggested-action.flat:backdrop:disabled:active,
button.suggested-action.flat:backdrop:disabled:checked label,
button.suggested-action.flat:backdrop:disabled:checked {
  color: #414141;
}

.selection-mode button.titlebutton:backdrop,
.selection-mode button.titlebutton:disabled,
.selection-mode button.titlebutton:backdrop:disabled,
button.suggested-action.flat:backdrop,
button.suggested-action.flat:disabled,
button.suggested-action.flat:backdrop:disabled {
  border-color: transparent;
  background-color: transparent;
  background-image: none;
  background-image: none;
  color: rgba(255, 255, 255, 0.8);
}

button.suggested-action:disabled {
  color: #8d8d8d;
  border-color: transparent;
  background-color: transparent;
  background-image: none;
  box-shadow: none;
}

button.suggested-action:disabled:active,
button.suggested-action:disabled:checked {
  color: #8d8d8d;
  border-color: white;
  background-color: #33aeff;
  box-shadow: none;
  background-image: none;
}

button.destructive-action {
  color: #15191f;
  outline-color: rgba(27, 27, 27, 0.3);
  border-color: transparent;
  background-color: #cf5756;
  background-image: none;
  box-shadow: none;
}

button.destructive-action.flat {
  border-color: transparent;
  background-color: transparent;
  background-image: none;
  background-image: none;
  box-shadow: none;
  color: #e35d5d;
}

button.destructive-action:hover {
  color: #15191f;
  outline-color: rgba(27, 27, 27, 0.3);
  border-color: transparent;
  background-color: #bb504f;
  background-image: none;
  background-color: #ef9e9e;
}

button.destructive-action:active,
button.destructive-action:checked {
  color: #15191f;
  outline-color: rgba(27, 27, 27, 0.3);
  border-color: transparent;
  background-color: #33aeff;
  box-shadow: none;
  background-image: none;
  background-color: #d02423;
  box-shadow: 0 2px 4px rgba(208, 36, 35, 0.3);
  transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), background-size 0,
    background-image 0;
  animation: ripple_effect 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
  background-image: radial-gradient(
    circle farthest-corner at center,
    #d02423 10%,
    transparent 0%
  );
  background-size: 0% 0%;
}

button.destructive-action:backdrop,
button.destructive-action.flat:backdrop {
  border-color: transparent;
  background-color: #db6261;
  background-image: none;
}

button.destructive-action:backdrop label,
button.destructive-action:backdrop,
button.destructive-action.flat:backdrop label,
button.destructive-action.flat:backdrop {
  color: #8d8d8d;
}

button.destructive-action:backdrop:active,
button.destructive-action:backdrop:checked,
button.destructive-action.flat:backdrop:active,
button.destructive-action.flat:backdrop:checked {
  border-color: transparent;
  background-color: #33aeff;
  background-image: none;
}

button.destructive-action:backdrop:active label,
button.destructive-action:backdrop:active,
button.destructive-action:backdrop:checked label,
button.destructive-action:backdrop:checked,
button.destructive-action.flat:backdrop:active label,
button.destructive-action.flat:backdrop:active,
button.destructive-action.flat:backdrop:checked label,
button.destructive-action.flat:backdrop:checked {
  color: #e35d5d;
}

button.destructive-action:backdrop:disabled,
button.destructive-action.flat:backdrop:disabled {
  border-color: transparent;
  background-color: transparent;
  background-image: none;
}

button.destructive-action:backdrop:disabled label,
button.destructive-action:backdrop:disabled,
button.destructive-action.flat:backdrop:disabled label,
button.destructive-action.flat:backdrop:disabled {
  color: #414141;
}

button.destructive-action:backdrop:disabled:active,
button.destructive-action:backdrop:disabled:checked,
button.destructive-action.flat:backdrop:disabled:active,
button.destructive-action.flat:backdrop:disabled:checked {
  border-color: transparent;
  background-color: #e46161;
  box-shadow: none;
  background-image: none;
}

button.destructive-action:backdrop:disabled:active label,
button.destructive-action:backdrop:disabled:active,
button.destructive-action:backdrop:disabled:checked label,
button.destructive-action:backdrop:disabled:checked,
button.destructive-action.flat:backdrop:disabled:active label,
button.destructive-action.flat:backdrop:disabled:active,
button.destructive-action.flat:backdrop:disabled:checked label,
button.destructive-action.flat:backdrop:disabled:checked {
  color: #414141;
}

button.destructive-action.flat:backdrop,
button.destructive-action.flat:disabled,
button.destructive-action.flat:backdrop:disabled {
  border-color: transparent;
  background-color: transparent;
  background-image: none;
  background-image: none;
  color: rgba(227, 93, 93, 0.8);
}

button.destructive-action:disabled {
  color: #8d8d8d;
  border-color: transparent;
  background-color: transparent;
  background-image: none;
  box-shadow: none;
}

button.destructive-action:disabled:active,
button.destructive-action:disabled:checked {
  color: #8d8d8d;
  border-color: transparent;
  background-color: #e46161;
  box-shadow: none;
  background-image: none;
}

.stack-switcher > button {
  outline-offset: -3px;
}

.stack-switcher > button > label {
  padding-left: 6px;
  padding-right: 6px;
}

.stack-switcher > button > image {
  padding-left: 6px;
  padding-right: 6px;
  padding-top: 3px;
  padding-bottom: 3px;
}

.stack-switcher > button.text-button {
  padding-left: 10px;
  padding-right: 10px;
}

.stack-switcher > button.image-button {
  padding-left: 2px;
  padding-right: 2px;
}

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

button.font separator,
button.file separator {
  background-color: transparent;
}

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

.inline-toolbar button,
.inline-toolbar button:backdrop {
  border-radius: 3px;
}

button.circular {
  border-radius: 9999px;
  -gtk-outline-radius: 9999px;
}

button.circular label {
  padding: 0;
}

.stack-switcher > button.needs-attention > label,
.stack-switcher > button.needs-attention > image,
stacksidebar row.needs-attention > label {
  animation: needs_attention 150ms ease-in;
  background-image: -gtk-gradient(
      radial,
      center center,
      0,
      center center,
      0.5,
      to(#ecf2f2),
      to(transparent)
    ),
    -gtk-gradient(radial, center center, 0, center center, 0.45, to(rgba(0, 0, 0, 0.915294)), to(transparent));
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;
  background-position: right 3px, right 2px;
}

.stack-switcher > button.needs-attention > label:backdrop,
.stack-switcher > button.needs-attention > image:backdrop,
stacksidebar row.needs-attention > label:backdrop {
  background-size: 6px 6px, 0 0;
}

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

.inline-toolbar toolbutton > button {
  color: #ecf2f2;
  outline-color: transparent;
  border-color: transparent;
  background-color: #21252b;
  background-image: none;
}

.inline-toolbar toolbutton > button:hover {
  color: #ecf2f2;
  outline-color: transparent;
  border-color: transparent;
  background-color: #2b2f35;
  background-image: none;
}

.inline-toolbar toolbutton > button:active,
.inline-toolbar toolbutton > button:checked {
  color: #15191f;
  outline-color: transparent;
  border-color: transparent;
  background-color: #33aeff;
  box-shadow: none;
  background-image: none;
}

.inline-toolbar toolbutton > button:disabled {
  color: #8d8d8d;
  border-color: transparent;
  background-color: transparent;
  background-image: none;
}

.inline-toolbar toolbutton > button:disabled:active,
.inline-toolbar toolbutton > button:disabled:checked {
  color: #8d8d8d;
  border-color: transparent;
  background-color: #212121;
  box-shadow: none;
  background-image: none;
}

.inline-toolbar toolbutton > button:backdrop {
  border-color: transparent;
  background-color: #2f333d;
  background-image: none;
}

.inline-toolbar toolbutton > button:backdrop label,
.inline-toolbar toolbutton > button:backdrop {
  color: #8d8d8d;
}

.inline-toolbar toolbutton > button:backdrop:active,
.inline-toolbar toolbutton > button:backdrop:checked {
  border-color: transparent;
  background-color: #33aeff;
  background-image: none;
}

.inline-toolbar toolbutton > button:backdrop:active label,
.inline-toolbar toolbutton > button:backdrop:active,
.inline-toolbar toolbutton > button:backdrop:checked label,
.inline-toolbar toolbutton > button:backdrop:checked {
  color: #15191f;
}

.inline-toolbar toolbutton > button:backdrop:disabled {
  border-color: transparent;
  background-color: transparent;
  background-image: none;
}

.inline-toolbar toolbutton > button:backdrop:disabled label,
.inline-toolbar toolbutton > button:backdrop:disabled {
  color: #414141;
}

.inline-toolbar toolbutton > button:backdrop:disabled:active,
.inline-toolbar toolbutton > button:backdrop:disabled:checked {
  border-color: transparent;
  background-color: #212121;
  box-shadow: none;
  background-image: none;
}

.inline-toolbar toolbutton > button:backdrop:disabled:active label,
.inline-toolbar toolbutton > button:backdrop:disabled:active,
.inline-toolbar toolbutton > button:backdrop:disabled:checked label,
.inline-toolbar toolbutton > button:backdrop:disabled:checked {
  color: #414141;
}

toolbar.inline-toolbar toolbutton > button.flat,
toolbar.inline-toolbar toolbutton:backdrop > button.flat,
.linked:not(.vertical) > spinbutton:not(.vertical),
.linked:not(.vertical) > entry,
.inline-toolbar button,
.inline-toolbar button:backdrop,
.linked > button,
.linked > button:hover,
.linked > button:active,
.linked > button:checked,
.linked > button:backdrop,
filechooser .path-bar.linked > button,
.linked > combobox > box > button.combo:dir(ltr),
.linked > combobox > box > button.combo:dir(rtl) {
  border-radius: 0;
  border-right-style: none;
  border-left-style: none;
}

.linked:not(.vertical) > spinbutton:first-child:not(.vertical),
.linked:not(.vertical) > entry:first-child,
.inline-toolbar button:first-child,
.linked > button:first-child,
toolbar.inline-toolbar toolbutton:first-child > button.flat,
toolbar.inline-toolbar toolbutton:backdrop:first-child > button.flat,
combobox.linked button:nth-child(2):dir(rtl),
.linked:not(.vertical) > combobox:first-child > box > button.combo,
filechooser .path-bar.linked > button:dir(ltr):first-child,
filechooser .path-bar.linked > button:dir(rtl):last-child {
  border-top-left-radius: 8px;
  border-bottom-left-radius: 8px;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  border-right-style: none;
  border-left-style: solid;
}

.linked:not(.vertical) > spinbutton:last-child:not(.vertical),
.linked:not(.vertical) > entry:last-child,
.inline-toolbar button:last-child,
.linked > button:last-child,
toolbar.inline-toolbar toolbutton:last-child > button.flat,
toolbar.inline-toolbar toolbutton:backdrop:last-child > button.flat,
combobox.linked button:nth-child(2):dir(ltr),
.linked:not(.vertical) > combobox:last-child > box > button.combo,
filechooser .path-bar.linked > button:dir(ltr):last-child,
filechooser .path-bar.linked > button:dir(rtl):first-child {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  border-top-right-radius: 8px;
  border-bottom-right-radius: 8px;
  border-right-style: solid;
  border-left-style: none;
}

.linked:not(.vertical) > spinbutton:only-child:not(.vertical),
.linked:not(.vertical) > entry:only-child,
.inline-toolbar button:only-child,
.linked > button:only-child,
toolbar.inline-toolbar toolbutton:only-child > button.flat,
toolbar.inline-toolbar toolbutton:backdrop:only-child > button.flat,
.linked:not(.vertical) > combobox:only-child > box > button.combo {
  border-radius: 3px;
  border-style: solid;
}

filechooser .path-bar.linked > button:only-child {
  border-radius: 3px;
  border-style: solid;
}

.linked.vertical > spinbutton:not(.vertical),
.linked.vertical > entry,
.linked.vertical > button,
.linked.vertical > button:hover,
.linked.vertical > button:active,
.linked.vertical > button:checked,
.linked.vertical > button:backdrop,
.linked.vertical > combobox > box > button.combo {
  border-style: solid solid none solid;
  border-radius: 0;
}

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

.linked.vertical > spinbutton:last-child:not(.vertical),
.linked.vertical > entry:last-child,
.linked.vertical > button:last-child,
.linked.vertical > combobox:last-child > box > button.combo {
  border-bottom-left-radius: 8px;
  border-bottom-right-radius: 8px;
  border-style: solid;
}

.linked.vertical > spinbutton:only-child:not(.vertical),
.linked.vertical > entry:only-child,
.linked.vertical > button:only-child,
.linked.vertical > combobox:only-child > box > button.combo {
  border-radius: 3px;
  border-style: solid;
}

modelbutton.flat,
.menuitem.button.flat,
modelbutton.flat:backdrop,
modelbutton.flat:backdrop:hover,
.menuitem.button.flat:backdrop,
.menuitem.button.flat:backdrop:hover,
button:link,
button:visited,
button:link:hover,
button:link:active,
button:link:checked,
button:visited:hover,
button:visited:active,
button:visited:checked,
calendar.button,
.scale-popup button:hover,
.scale-popup button:backdrop:hover,
.scale-popup button:backdrop:disabled,
.scale-popup button:backdrop {
  background-color: transparent;
  background-image: none;
  border-color: transparent;
}

/* menu buttons */
modelbutton.flat,
.menuitem.button.flat {
  min-height: 26px;
  padding-left: 5px;
  padding-right: 5px;
  border-radius: 3px;
  outline-offset: -2px;
}

modelbutton.flat:hover,
.menuitem.button.flat:hover {
  background-color: #21252b;
}

modelbutton.flat arrow {
  background: none;
}

modelbutton.flat arrow:hover {
  background: none;
}

modelbutton.flat arrow.left {
  -gtk-icon-source: -gtk-icontheme("pan-start-symbolic");
}

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

button.color {
  padding: 4px;
  box-shadow: none;
}

button.color colorswatch:only-child {
  box-shadow: none;
}

button.color colorswatch:only-child,
button.color colorswatch:only-child overlay {
  border-radius: 0;
}

/********* Links * */
button:link > label,
button:visited > label,
*:link,
button:link,
button:visited {
  color: white;
}

button:link > label:visited,
button:visited > label:visited,
*:link:visited,
button:visited {
  color: white;
}

*:selected button:link > label:visited,
*:selected button:visited > label:visited,
*:selected *:link:visited,
*:selected button:visited:link,
*:selected button:visited {
  color: #767676;
}

button:link > label:hover,
button:visited > label:hover,
*:link:hover,
button:hover:link,
button:hover:visited {
  color: white;
}

*:selected button:link > label:hover,
*:selected button:visited > label:hover,
*:selected *:link:hover,
*:selected button:hover:link,
*:selected button:hover:visited {
  color: #21252b;
}

button:link > label:active,
button:visited > label:active,
*:link:active,
button:active:link,
button:active:visited {
  color: white;
}

*:selected button:link > label:active,
*:selected button:visited > label:active,
*:selected *:link:active,
*:selected button:active:link,
*:selected button:active:visited {
  color: #2b2f35;
}

button:link > label:backdrop:backdrop:hover,
button:visited > label:backdrop:backdrop:hover,
button:link > label:backdrop:backdrop:hover:selected,
button:visited > label:backdrop:backdrop:hover:selected,
button:link > label:backdrop,
button:visited > label:backdrop,
*:link:backdrop:backdrop:hover,
button:backdrop:backdrop:hover:link,
button:backdrop:backdrop:hover:visited,
*:link:backdrop:backdrop:hover:selected,
button:backdrop:backdrop:hover:selected:link,
button:backdrop:backdrop:hover:selected:visited,
.selection-mode .titlebar:not(headerbar) .subtitle:backdrop:backdrop:hover:link,
.selection-mode.titlebar:not(headerbar) .subtitle:backdrop:backdrop:hover:link,
.selection-mode headerbar .subtitle:backdrop:backdrop:hover:link,
headerbar.selection-mode .subtitle:backdrop:backdrop:hover:link,
*:link:backdrop,
button:backdrop:link,
button:backdrop:visited {
  color: #ecf2f2;
}

infobar.info *:link,
infobar.info button:link,
infobar.info button:visited,
infobar.question *:link,
infobar.question button:link,
infobar.question button:visited,
infobar.warning *:link,
infobar.warning button:link,
infobar.warning button:visited,
infobar.error *:link,
infobar.error button:link,
infobar.error button:visited,
button:link > label:selected,
button:visited > label:selected,
*:selected button:link > label,
*:selected button:visited > label,
*:link:selected,
button:selected:link,
button:selected:visited,
.selection-mode .titlebar:not(headerbar) .subtitle:link,
.selection-mode.titlebar:not(headerbar) .subtitle:link,
.selection-mode headerbar .subtitle:link,
headerbar.selection-mode .subtitle:link,
*:selected *:link,
*:selected button:link,
*:selected button:visited {
  color: #2b2f35;
}

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

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

spinbutton:not(.vertical) entry {
  min-width: 28px;
  margin: 0;
  background: none;
  background-color: transparent;
  border: none;
  border-radius: 0;
  box-shadow: none;
}

spinbutton:not(.vertical) entry:backdrop:disabled {
  background-color: transparent;
}

spinbutton:not(.vertical) button {
  min-height: 16px;
  margin: 0;
  padding-bottom: 0;
  padding-top: 0;
  color: #ecf2f2;
  background-color: transparent;
  border-style: none none none solid;
  border-color: transparent;
  border-radius: 0;
  box-shadow: none;
}

spinbutton:not(.vertical) button:dir(rtl) {
  border-style: none solid none none;
}

spinbutton:not(.vertical) button:hover {
  color: #ecf2f2;
  background-color: rgba(255, 255, 255, 0.1);
  border-color: transparent;
}

spinbutton:not(.vertical) button:disabled {
  color: #8d8d8d;
}

spinbutton:not(.vertical) button:active {
  color: #15191f;
  border-color: transparent;
  background-color: #33aeff;
}

spinbutton:not(.vertical) button:backdrop {
  color: #8d8d8d;
  transition: 200ms ease-out;
}

spinbutton:not(.vertical) button:backdrop:disabled {
  color: #414141;
  background-color: transparent;
  border-color: transparent;
  border-style: none none none solid;
}

spinbutton:not(.vertical) button:backdrop:disabled:dir(rtl) {
  border-style: none solid none none;
}

spinbutton:not(.vertical) button:dir(ltr):last-child {
  border-radius: 0 8px 8px 0;
}

spinbutton:not(.vertical) button:dir(rtl):first-child {
  border-radius: 5px 0 0 8px;
}

spinbutton.vertical:disabled {
  color: #8d8d8d;
}

spinbutton.vertical:backdrop:disabled {
  color: #414141;
}

spinbutton.vertical:drop(active) {
  border-color: transparent;
  box-shadow: none;
}

spinbutton.vertical entry {
  min-height: 32px;
  min-width: 32px;
  padding: 0;
  border-radius: 0;
}

spinbutton.vertical button {
  min-height: 32px;
  min-width: 32px;
  padding: 0;
}

spinbutton.vertical button.up {
  border-radius: 5px 8px 0 0;
  border-style: solid solid none solid;
}

spinbutton.vertical button.down {
  border-radius: 0 0 8px 8px;
  border-style: none solid solid solid;
}

treeview spinbutton:not(.vertical) {
  min-height: 0;
  border-style: none;
  border-radius: 0;
}

treeview spinbutton:not(.vertical) entry {
  min-height: 0;
  padding: 1px 2px;
}

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

combobox:drop(active) {
  box-shadow: none;
}

/************ Toolbars * */
toolbar,
.inline-toolbar,
searchbar > revealer > box,
.location-bar {
  -gtkwidget-window-dragging: true;
  padding: 4px;
  background-color: #15191f;
}

toolbar {
  padding: 4px 3px 3px 4px;
}

.osd toolbar {
  background-color: transparent;
}

toolbar.osd {
  padding: 13px;
  border: none;
  border-radius: 3px;
}

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

toolbar.horizontal separator {
  margin: 0 8px 1px 8px;
}

toolbar.vertical separator {
  margin: 8px 1px 8px 0;
}

toolbar:not(.inline-toolbar):not(.osd) > *:not(.toggle):not(.popup) > * {
  margin-right: 1px;
  margin-bottom: 1px;
}

.inline-toolbar {
  padding: 4px;
  border-width: 0 1px 1px;
  border-radius: 0 0 8px 8px;
}

searchbar > revealer > box,
.location-bar {
  border-width: 0 0 1px;
  padding: 4px;
}

searchbar > revealer > box {
  margin: -4px;
  padding: 4px;
}

.inline-toolbar {
  border-style: none;
  background-color: #212121;
}

/*************** Header bars * */
@keyframes header_ripple_effect {
  from {
    background-image: radial-gradient(
      circle farthest-corner at center,
      #15191f 0%,
      transparent 0%
    );
  }
  to {
    background-image: radial-gradient(
      circle farthest-corner at center,
      #ecf2f2 100%,
      transparent 0%
    );
  }
}

.titlebar:not(headerbar),
headerbar {
  padding: 0 6px;
  min-height: 46px;
  border-width: 0 0 1px;
  border-style: solid;
  border-color: transparent;
  border-radius: 0;
  background-color: #15191f;
}

.titlebar:backdrop:not(headerbar),
headerbar:backdrop {
  border-color: transparent;
  background-color: #15191f;
  background-image: none;
  transition: 200ms ease-out;
}

.titlebar:not(headerbar) .title,
headerbar .title {
  padding-left: 12px;
  padding-right: 12px;
  font-weight: bold;
}

.titlebar:not(headerbar) .subtitle,
headerbar .subtitle {
  font-size: smaller;
  padding-left: 12px;
  padding-right: 12px;
}

.selection-mode .titlebar:not(headerbar),
.selection-mode.titlebar:not(headerbar),
.selection-mode headerbar,
headerbar.selection-mode {
  color: #15191f;
  border-color: transparent;
  background-color: #33aeff;
  transition: background-color 0.00001s 200ms,
    color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
  animation: header_ripple_effect 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.selection-mode .titlebar:backdrop:not(headerbar),
.selection-mode.titlebar:backdrop:not(headerbar),
.selection-mode headerbar:backdrop,
headerbar.selection-mode:backdrop {
  color: #15191f;
  background-color: #33aeff;
  background-image: none;
}

.selection-mode .titlebar:not(headerbar) button,
.selection-mode.titlebar:not(headerbar) button,
.selection-mode headerbar button,
headerbar.selection-mode button {
  color: #15191f;
  outline-color: rgba(27, 27, 27, 0.3);
  border-color: transparent;
  background-color: #e8e8e8;
  background-image: none;
}

.selection-mode .titlebar:not(headerbar) button.flat,
.selection-mode.titlebar:not(headerbar) button.flat,
.selection-mode headerbar button.flat,
headerbar.selection-mode button.flat {
  border-color: transparent;
  background-color: transparent;
  background-image: none;
  background-image: none;
}

.selection-mode .titlebar:not(headerbar) button:hover,
.selection-mode.titlebar:not(headerbar) button:hover,
.selection-mode headerbar button:hover,
headerbar.selection-mode button:hover {
  color: #15191f;
  outline-color: rgba(27, 27, 27, 0.3);
  border-color: transparent;
  background-color: #d1d1d1;
  background-image: none;
}

.selection-mode .titlebar:not(headerbar) button:active,
.selection-mode .titlebar:not(headerbar) button:checked,
.selection-mode.titlebar:not(headerbar) button:active,
.selection-mode.titlebar:not(headerbar) button:checked,
.selection-mode headerbar button:active,
.selection-mode headerbar button:checked,
headerbar.selection-mode button:active,
headerbar.selection-mode button:checked {
  color: #15191f;
  outline-color: rgba(27, 27, 27, 0.3);
  border-color: transparent;
  background-color: #33aeff;
  box-shadow: none;
  background-image: none;
}

.selection-mode .titlebar:not(headerbar) button:backdrop.flat,
.selection-mode .titlebar:not(headerbar) button:backdrop,
.selection-mode.titlebar:not(headerbar) button:backdrop.flat,
.selection-mode.titlebar:not(headerbar) button:backdrop,
.selection-mode headerbar button:backdrop.flat,
.selection-mode headerbar button:backdrop,
headerbar.selection-mode button:backdrop.flat,
headerbar.selection-mode button:backdrop {
  border-color: transparent;
  background-color: #f4f4f4;
  background-image: none;
  -gtk-icon-effect: none;
}

.selection-mode .titlebar:not(headerbar) button:backdrop.flat label,
.selection-mode .titlebar:not(headerbar) button:backdrop.flat,
.selection-mode .titlebar:not(headerbar) button:backdrop label,
.selection-mode .titlebar:not(headerbar) button:backdrop,
.selection-mode.titlebar:not(headerbar) button:backdrop.flat label,
.selection-mode.titlebar:not(headerbar) button:backdrop.flat,
.selection-mode.titlebar:not(headerbar) button:backdrop label,
.selection-mode.titlebar:not(headerbar) button:backdrop,
.selection-mode headerbar button:backdrop.flat label,
.selection-mode headerbar button:backdrop.flat,
.selection-mode headerbar button:backdrop label,
.selection-mode headerbar button:backdrop,
headerbar.selection-mode button:backdrop.flat label,
headerbar.selection-mode button:backdrop.flat,
headerbar.selection-mode button:backdrop label,
headerbar.selection-mode button:backdrop {
  color: #8d8d8d;
}

.selection-mode .titlebar:not(headerbar) button:backdrop.flat:active,
.selection-mode .titlebar:not(headerbar) button:backdrop.flat:checked,
.selection-mode .titlebar:not(headerbar) button:backdrop:active,
.selection-mode .titlebar:not(headerbar) button:backdrop:checked,
.selection-mode.titlebar:not(headerbar) button:backdrop.flat:active,
.selection-mode.titlebar:not(headerbar) button:backdrop.flat:checked,
.selection-mode.titlebar:not(headerbar) button:backdrop:active,
.selection-mode.titlebar:not(headerbar) button:backdrop:checked,
.selection-mode headerbar button:backdrop.flat:active,
.selection-mode headerbar button:backdrop.flat:checked,
.selection-mode headerbar button:backdrop:active,
.selection-mode headerbar button:backdrop:checked,
headerbar.selection-mode button:backdrop.flat:active,
headerbar.selection-mode button:backdrop.flat:checked,
headerbar.selection-mode button:backdrop:active,
headerbar.selection-mode button:backdrop:checked {
  border-color: transparent;
  background-color: #33aeff;
  background-image: none;
}

.selection-mode .titlebar:not(headerbar) button:backdrop.flat:active label,
.selection-mode .titlebar:not(headerbar) button:backdrop.flat:active,
.selection-mode .titlebar:not(headerbar) button:backdrop.flat:checked label,
.selection-mode .titlebar:not(headerbar) button:backdrop.flat:checked,
.selection-mode .titlebar:not(headerbar) button:backdrop:active label,
.selection-mode .titlebar:not(headerbar) button:backdrop:active,
.selection-mode .titlebar:not(headerbar) button:backdrop:checked label,
.selection-mode .titlebar:not(headerbar) button:backdrop:checked,
.selection-mode.titlebar:not(headerbar) button:backdrop.flat:active label,
.selection-mode.titlebar:not(headerbar) button:backdrop.flat:active,
.selection-mode.titlebar:not(headerbar) button:backdrop.flat:checked label,
.selection-mode.titlebar:not(headerbar) button:backdrop.flat:checked,
.selection-mode.titlebar:not(headerbar) button:backdrop:active label,
.selection-mode.titlebar:not(headerbar) button:backdrop:active,
.selection-mode.titlebar:not(headerbar) button:backdrop:checked label,
.selection-mode.titlebar:not(headerbar) button:backdrop:checked,
.selection-mode headerbar button:backdrop.flat:active label,
.selection-mode headerbar button:backdrop.flat:active,
.selection-mode headerbar button:backdrop.flat:checked label,
.selection-mode headerbar button:backdrop.flat:checked,
.selection-mode headerbar button:backdrop:active label,
.selection-mode headerbar button:backdrop:active,
.selection-mode headerbar button:backdrop:checked label,
.selection-mode headerbar button:backdrop:checked,
headerbar.selection-mode button:backdrop.flat:active label,
headerbar.selection-mode button:backdrop.flat:active,
headerbar.selection-mode button:backdrop.flat:checked label,
headerbar.selection-mode button:backdrop.flat:checked,
headerbar.selection-mode button:backdrop:active label,
headerbar.selection-mode button:backdrop:active,
headerbar.selection-mode button:backdrop:checked label,
headerbar.selection-mode button:backdrop:checked {
  color: #ecf2f2;
}

.selection-mode .titlebar:not(headerbar) button:backdrop.flat:disabled,
.selection-mode .titlebar:not(headerbar) button:backdrop:disabled,
.selection-mode.titlebar:not(headerbar) button:backdrop.flat:disabled,
.selection-mode.titlebar:not(headerbar) button:backdrop:disabled,
.selection-mode headerbar button:backdrop.flat:disabled,
.selection-mode headerbar button:backdrop:disabled,
headerbar.selection-mode button:backdrop.flat:disabled,
headerbar.selection-mode button:backdrop:disabled {
  border-color: transparent;
  background-color: transparent;
  background-image: none;
}

.selection-mode .titlebar:not(headerbar) button:backdrop.flat:disabled label,
.selection-mode .titlebar:not(headerbar) button:backdrop.flat:disabled,
.selection-mode .titlebar:not(headerbar) button:backdrop:disabled label,
.selection-mode .titlebar:not(headerbar) button:backdrop:disabled,
.selection-mode.titlebar:not(headerbar) button:backdrop.flat:disabled label,
.selection-mode.titlebar:not(headerbar) button:backdrop.flat:disabled,
.selection-mode.titlebar:not(headerbar) button:backdrop:disabled label,
.selection-mode.titlebar:not(headerbar) button:backdrop:disabled,
.selection-mode headerbar button:backdrop.flat:disabled label,
.selection-mode headerbar button:backdrop.flat:disabled,
.selection-mode headerbar button:backdrop:disabled label,
.selection-mode headerbar button:backdrop:disabled,
headerbar.selection-mode button:backdrop.flat:disabled label,
headerbar.selection-mode button:backdrop.flat:disabled,
headerbar.selection-mode button:backdrop:disabled label,
headerbar.selection-mode button:backdrop:disabled {
  color: #414141;
}

.selection-mode .titlebar:not(headerbar) button:backdrop.flat:disabled:active,
.selection-mode .titlebar:not(headerbar) button:backdrop.flat:disabled:checked,
.selection-mode .titlebar:not(headerbar) button:backdrop:disabled:active,
.selection-mode .titlebar:not(headerbar) button:backdrop:disabled:checked,
.selection-mode.titlebar:not(headerbar) button:backdrop.flat:disabled:active,
.selection-mode.titlebar:not(headerbar) button:backdrop.flat:disabled:checked,
.selection-mode.titlebar:not(headerbar) button:backdrop:disabled:active,
.selection-mode.titlebar:not(headerbar) button:backdrop:disabled:checked,
.selection-mode headerbar button:backdrop.flat:disabled:active,
.selection-mode headerbar button:backdrop.flat:disabled:checked,
.selection-mode headerbar button:backdrop:disabled:active,
.selection-mode headerbar button:backdrop:disabled:checked,
headerbar.selection-mode button:backdrop.flat:disabled:active,
headerbar.selection-mode button:backdrop.flat:disabled:checked,
headerbar.selection-mode button:backdrop:disabled:active,
headerbar.selection-mode button:backdrop:disabled:checked {
  border-color: white;
  background-color: #33aeff;
  box-shadow: none;
  background-image: none;
}

.selection-mode
  .titlebar:not(headerbar)
  button:backdrop.flat:disabled:active
  label,
.selection-mode .titlebar:not(headerbar) button:backdrop.flat:disabled:active,
.selection-mode
  .titlebar:not(headerbar)
  button:backdrop.flat:disabled:checked
  label,
.selection-mode .titlebar:not(headerbar) button:backdrop.flat:disabled:checked,
.selection-mode .titlebar:not(headerbar) button:backdrop:disabled:active label,
.selection-mode .titlebar:not(headerbar) button:backdrop:disabled:active,
.selection-mode .titlebar:not(headerbar) button:backdrop:disabled:checked label,
.selection-mode .titlebar:not(headerbar) button:backdrop:disabled:checked,
.selection-mode.titlebar:not(headerbar)
  button:backdrop.flat:disabled:active
  label,
.selection-mode.titlebar:not(headerbar) button:backdrop.flat:disabled:active,
.selection-mode.titlebar:not(headerbar)
  button:backdrop.flat:disabled:checked
  label,
.selection-mode.titlebar:not(headerbar) button:backdrop.flat:disabled:checked,
.selection-mode.titlebar:not(headerbar) button:backdrop:disabled:active label,
.selection-mode.titlebar:not(headerbar) button:backdrop:disabled:active,
.selection-mode.titlebar:not(headerbar) button:backdrop:disabled:checked label,
.selection-mode.titlebar:not(headerbar) button:backdrop:disabled:checked,
.selection-mode headerbar button:backdrop.flat:disabled:active label,
.selection-mode headerbar button:backdrop.flat:disabled:active,
.selection-mode headerbar button:backdrop.flat:disabled:checked label,
.selection-mode headerbar button:backdrop.flat:disabled:checked,
.selection-mode headerbar button:backdrop:disabled:active label,
.selection-mode headerbar button:backdrop:disabled:active,
.selection-mode headerbar button:backdrop:disabled:checked label,
.selection-mode headerbar button:backdrop:disabled:checked,
headerbar.selection-mode button:backdrop.flat:disabled:active label,
headerbar.selection-mode button:backdrop.flat:disabled:active,
headerbar.selection-mode button:backdrop.flat:disabled:checked label,
headerbar.selection-mode button:backdrop.flat:disabled:checked,
headerbar.selection-mode button:backdrop:disabled:active label,
headerbar.selection-mode button:backdrop:disabled:active,
headerbar.selection-mode button:backdrop:disabled:checked label,
headerbar.selection-mode button:backdrop:disabled:checked {
  color: #414141;
}

.selection-mode .titlebar:not(headerbar) button.flat:backdrop,
.selection-mode .titlebar:not(headerbar) button.flat:disabled,
.selection-mode .titlebar:not(headerbar) button.flat:backdrop:disabled,
.selection-mode.titlebar:not(headerbar) button.flat:backdrop,
.selection-mode.titlebar:not(headerbar) button.flat:disabled,
.selection-mode.titlebar:not(headerbar) button.flat:backdrop:disabled,
.selection-mode headerbar button.flat:backdrop,
.selection-mode headerbar button.flat:disabled,
.selection-mode headerbar button.flat:backdrop:disabled,
headerbar.selection-mode button.flat:backdrop,
headerbar.selection-mode button.flat:disabled,
headerbar.selection-mode button.flat:backdrop:disabled {
  border-color: transparent;
  background-color: transparent;
  background-image: none;
  background-image: none;
}

.selection-mode .titlebar:not(headerbar) button:disabled,
.selection-mode.titlebar:not(headerbar) button:disabled,
.selection-mode headerbar button:disabled,
headerbar.selection-mode button:disabled {
  color: #8d8d8d;
  border-color: transparent;
  background-color: transparent;
  background-image: none;
}

.selection-mode .titlebar:not(headerbar) button:disabled:active,
.selection-mode .titlebar:not(headerbar) button:disabled:checked,
.selection-mode.titlebar:not(headerbar) button:disabled:active,
.selection-mode.titlebar:not(headerbar) button:disabled:checked,
.selection-mode headerbar button:disabled:active,
.selection-mode headerbar button:disabled:checked,
headerbar.selection-mode button:disabled:active,
headerbar.selection-mode button:disabled:checked {
  color: #8d8d8d;
  border-color: white;
  background-color: #33aeff;
  box-shadow: none;
  background-image: none;
}

.selection-mode .titlebar:not(headerbar) button.suggested-action,
.selection-mode.titlebar:not(headerbar) button.suggested-action,
.selection-mode headerbar button.suggested-action,
headerbar.selection-mode button.suggested-action {
  color: #ecf2f2;
  outline-color: transparent;
  border-color: transparent;
  background-color: #21252b;
  background-image: none;
}

.selection-mode .titlebar:not(headerbar) button.suggested-action:hover,
.selection-mode.titlebar:not(headerbar) button.suggested-action:hover,
.selection-mode headerbar button.suggested-action:hover,
headerbar.selection-mode button.suggested-action:hover {
  color: #ecf2f2;
  outline-color: transparent;
  border-color: transparent;
  background-color: #2b2f35;
  background-image: none;
}

.selection-mode .titlebar:not(headerbar) button.suggested-action:active,
.selection-mode.titlebar:not(headerbar) button.suggested-action:active,
.selection-mode headerbar button.suggested-action:active,
headerbar.selection-mode button.suggested-action:active {
  color: #15191f;
  outline-color: transparent;
  border-color: transparent;
  background-color: #33aeff;
  box-shadow: none;
  background-image: none;
}

.selection-mode .titlebar:not(headerbar) button.suggested-action:disabled,
.selection-mode.titlebar:not(headerbar) button.suggested-action:disabled,
.selection-mode headerbar button.suggested-action:disabled,
headerbar.selection-mode button.suggested-action:disabled {
  color: #8d8d8d;
  border-color: transparent;
  background-color: transparent;
  background-image: none;
}

.selection-mode .titlebar:not(headerbar) button.suggested-action:backdrop,
.selection-mode.titlebar:not(headerbar) button.suggested-action:backdrop,
.selection-mode headerbar button.suggested-action:backdrop,
headerbar.selection-mode button.suggested-action:backdrop {
  border-color: transparent;
  background-color: #2f333d;
  background-image: none;
}

.selection-mode .titlebar:not(headerbar) button.suggested-action:backdrop label,
.selection-mode .titlebar:not(headerbar) button.suggested-action:backdrop,
.selection-mode.titlebar:not(headerbar) button.suggested-action:backdrop label,
.selection-mode.titlebar:not(headerbar) button.suggested-action:backdrop,
.selection-mode headerbar button.suggested-action:backdrop label,
.selection-mode headerbar button.suggested-action:backdrop,
headerbar.selection-mode button.suggested-action:backdrop label,
headerbar.selection-mode button.suggested-action:backdrop {
  color: #8d8d8d;
}

.selection-mode
  .titlebar:not(headerbar)
  button.suggested-action:backdrop:disabled,
.selection-mode.titlebar:not(headerbar)
  button.suggested-action:backdrop:disabled,
.selection-mode headerbar button.suggested-action:backdrop:disabled,
headerbar.selection-mode button.suggested-action:backdrop:disabled {
  border-color: transparent;
  background-color: transparent;
  background-image: none;
}

.selection-mode
  .titlebar:not(headerbar)
  button.suggested-action:backdrop:disabled
  label,
.selection-mode
  .titlebar:not(headerbar)
  button.suggested-action:backdrop:disabled,
.selection-mode.titlebar:not(headerbar)
  button.suggested-action:backdrop:disabled
  label,
.selection-mode.titlebar:not(headerbar)
  button.suggested-action:backdrop:disabled,
.selection-mode headerbar button.suggested-action:backdrop:disabled label,
.selection-mode headerbar button.suggested-action:backdrop:disabled,
headerbar.selection-mode button.suggested-action:backdrop:disabled label,
headerbar.selection-mode button.suggested-action:backdrop:disabled {
  color: #414141;
}

.selection-mode .titlebar:not(headerbar) .selection-menu:backdrop,
.selection-mode .titlebar:not(headerbar) .selection-menu,
.selection-mode.titlebar:not(headerbar) .selection-menu:backdrop,
.selection-mode.titlebar:not(headerbar) .selection-menu,
.selection-mode headerbar .selection-menu:backdrop,
.selection-mode headerbar .selection-menu,
headerbar.selection-mode .selection-menu:backdrop,
headerbar.selection-mode .selection-menu {
  border-color: rgba(255, 255, 255, 0);
  background-color: rgba(255, 255, 255, 0);
  background-image: none;
  box-shadow: none;
  padding-left: 10px;
  padding-right: 10px;
}

.selection-mode .titlebar:not(headerbar) .selection-menu:backdrop arrow,
.selection-mode .titlebar:not(headerbar) .selection-menu arrow,
.selection-mode.titlebar:not(headerbar) .selection-menu:backdrop arrow,
.selection-mode.titlebar:not(headerbar) .selection-menu arrow,
.selection-mode headerbar .selection-menu:backdrop arrow,
.selection-mode headerbar .selection-menu arrow,
headerbar.selection-mode .selection-menu:backdrop arrow,
headerbar.selection-mode .selection-menu arrow {
  -gtkarrow-arrow-scaling: 1;
}

.selection-mode .titlebar:not(headerbar) .selection-menu:backdrop .arrow,
.selection-mode .titlebar:not(headerbar) .selection-menu .arrow,
.selection-mode.titlebar:not(headerbar) .selection-menu:backdrop .arrow,
.selection-mode.titlebar:not(headerbar) .selection-menu .arrow,
.selection-mode headerbar .selection-menu:backdrop .arrow,
.selection-mode headerbar .selection-menu .arrow,
headerbar.selection-mode .selection-menu:backdrop .arrow,
headerbar.selection-mode .selection-menu .arrow {
  -gtk-icon-source: -gtk-icontheme("pan-down-symbolic");
  color: rgba(27, 27, 27, 0.5);
}

.tiled .titlebar:backdrop:not(headerbar),
.tiled .titlebar:not(headerbar),
.tiled-top .titlebar:backdrop:not(headerbar),
.tiled-top .titlebar:not(headerbar),
.tiled-right .titlebar:backdrop:not(headerbar),
.tiled-right .titlebar:not(headerbar),
.tiled-bottom .titlebar:backdrop:not(headerbar),
.tiled-bottom .titlebar:not(headerbar),
.tiled-left .titlebar:backdrop:not(headerbar),
.tiled-left .titlebar:not(headerbar),
.maximized .titlebar:backdrop:not(headerbar),
.maximized .titlebar:not(headerbar),
.fullscreen .titlebar:backdrop:not(headerbar),
.fullscreen .titlebar:not(headerbar),
.tiled headerbar:backdrop,
.tiled headerbar,
.tiled-top headerbar:backdrop,
.tiled-top headerbar,
.tiled-right headerbar:backdrop,
.tiled-right headerbar,
.tiled-bottom headerbar:backdrop,
.tiled-bottom headerbar,
.tiled-left headerbar:backdrop,
.tiled-left headerbar,
.maximized headerbar:backdrop,
.maximized headerbar,
.fullscreen headerbar:backdrop,
.fullscreen headerbar {
  border-radius: 0;
}

.default-decoration.titlebar:not(headerbar),
headerbar.default-decoration {
  min-height: 28px;
  padding: 4px;
  border-color: transparent;
}

.default-decoration.titlebar:not(headerbar) button.titlebutton,
headerbar.default-decoration button.titlebutton {
  min-height: 26px;
  min-width: 26px;
  margin: 0;
  padding: 0;
}

#MozillaGtkWidget.background
  .default-decoration.titlebar:not(headerbar)
  button.titlebutton.close:hover,
.default-decoration.titlebar:not(headerbar) button.titlebutton.close:hover,
#MozillaGtkWidget.background
  headerbar.default-decoration
  button.titlebutton.close:hover,
headerbar.default-decoration button.titlebutton.close:hover {
  color: #e35d5d;
  background-color: #432828;
}

#MozillaGtkWidget.background
  .default-decoration.titlebar:not(headerbar)
  button.titlebutton.close:active,
.default-decoration.titlebar:not(headerbar) button.titlebutton.close:active,
#MozillaGtkWidget.background
  headerbar.default-decoration
  button.titlebutton.close:active,
headerbar.default-decoration button.titlebutton.close:active {
  color: #15191f;
  background-color: #e35d5d;
  box-shadow: 0 2px 4px rgba(227, 93, 93, 0.3);
}

.solid-csd .titlebar:backdrop:dir(rtl):not(headerbar),
.solid-csd .titlebar:backdrop:dir(ltr):not(headerbar),
.solid-csd .titlebar:dir(rtl):not(headerbar),
.solid-csd .titlebar:dir(ltr):not(headerbar),
.solid-csd headerbar:backdrop:dir(rtl),
.solid-csd headerbar:backdrop:dir(ltr),
.solid-csd headerbar:dir(rtl),
.solid-csd headerbar:dir(ltr) {
  margin-left: -1px;
  margin-right: -1px;
  margin-top: -1px;
  border-radius: 0;
  box-shadow: none;
}

headerbar entry,
headerbar spinbutton,
headerbar separator:not(.sidebar),
headerbar button {
  margin-top: 6px;
  margin-bottom: 6px;
}

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

#MozillaGtkWidget.background headerbar button.close:hover,
headerbar button.close:hover {
  color: #e35d5d;
  background-color: #432828;
}

#MozillaGtkWidget.background headerbar button.close:active,
headerbar button.close:active {
  color: #15191f;
  background-color: #e35d5d;
  box-shadow: 0 2px 4px 0 rgba(227, 93, 93, 0.3);
}

headerbar.titlebar headerbar:not(.titlebar) {
  background: none;
  box-shadow: none;
}

.background .titlebar:backdrop,
.background .titlebar {
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
}

.background.tiled .titlebar:backdrop,
.background.tiled .titlebar,
.background.tiled-top .titlebar:backdrop,
.background.tiled-top .titlebar,
.background.tiled-right .titlebar:backdrop,
.background.tiled-right .titlebar,
.background.tiled-bottom .titlebar:backdrop,
.background.tiled-bottom .titlebar,
.background.tiled-left .titlebar:backdrop,
.background.tiled-left .titlebar,
.background.maximized .titlebar:backdrop,
.background.maximized .titlebar,
.background.solid-csd .titlebar:backdrop,
.background.solid-csd .titlebar {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

window separator:first-child + headerbar:backdrop,
window separator:first-child + headerbar,
window headerbar:first-child:backdrop,
window headerbar:first-child {
  border-top-left-radius: 8px;
}

window headerbar:last-child:backdrop,
window headerbar:last-child {
  border-top-right-radius: 8px;
}

window stack headerbar:first-child:backdrop,
window stack headerbar:first-child,
window stack headerbar:last-child:backdrop,
window stack headerbar:last-child {
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
}

window.tiled headerbar,
window.tiled headerbar:first-child,
window.tiled headerbar:last-child,
window.tiled headerbar:only-child,
window.tiled headerbar:backdrop,
window.tiled headerbar:backdrop:first-child,
window.tiled headerbar:backdrop:last-child,
window.tiled headerbar:backdrop:only-child,
window.tiled-top headerbar,
window.tiled-top headerbar:first-child,
window.tiled-top headerbar:last-child,
window.tiled-top headerbar:only-child,
window.tiled-top headerbar:backdrop,
window.tiled-top headerbar:backdrop:first-child,
window.tiled-top headerbar:backdrop:last-child,
window.tiled-top headerbar:backdrop:only-child,
window.tiled-right headerbar,
window.tiled-right headerbar:first-child,
window.tiled-right headerbar:last-child,
window.tiled-right headerbar:only-child,
window.tiled-right headerbar:backdrop,
window.tiled-right headerbar:backdrop:first-child,
window.tiled-right headerbar:backdrop:last-child,
window.tiled-right headerbar:backdrop:only-child,
window.tiled-bottom headerbar,
window.tiled-bottom headerbar:first-child,
window.tiled-bottom headerbar:last-child,
window.tiled-bottom headerbar:only-child,
window.tiled-bottom headerbar:backdrop,
window.tiled-bottom headerbar:backdrop:first-child,
window.tiled-bottom headerbar:backdrop:last-child,
window.tiled-bottom headerbar:backdrop:only-child,
window.tiled-left headerbar,
window.tiled-left headerbar:first-child,
window.tiled-left headerbar:last-child,
window.tiled-left headerbar:only-child,
window.tiled-left headerbar:backdrop,
window.tiled-left headerbar:backdrop:first-child,
window.tiled-left headerbar:backdrop:last-child,
window.tiled-left headerbar:backdrop:only-child,
window.maximized headerbar,
window.maximized headerbar:first-child,
window.maximized headerbar:last-child,
window.maximized headerbar:only-child,
window.maximized headerbar:backdrop,
window.maximized headerbar:backdrop:first-child,
window.maximized headerbar:backdrop:last-child,
window.maximized headerbar:backdrop:only-child,
window.fullscreen headerbar,
window.fullscreen headerbar:first-child,
window.fullscreen headerbar:last-child,
window.fullscreen headerbar:only-child,
window.fullscreen headerbar:backdrop,
window.fullscreen headerbar:backdrop:first-child,
window.fullscreen headerbar:backdrop:last-child,
window.fullscreen headerbar:backdrop:only-child,
window.solid-csd headerbar,
window.solid-csd headerbar:first-child,
window.solid-csd headerbar:last-child,
window.solid-csd headerbar:only-child,
window.solid-csd headerbar:backdrop,
window.solid-csd headerbar:backdrop:first-child,
window.solid-csd headerbar:backdrop:last-child,
window.solid-csd headerbar:backdrop:only-child {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

window.csd > .titlebar:not(headerbar) {
  padding: 0;
  background-color: transparent;
  background-image: none;
  border-style: none;
  border-color: transparent;
  box-shadow: none;
}

.titlebar:not(headerbar) > separator {
  background-color: #3d3d3d;
}

/************ Pathbars * */
.path-bar button.text-button,
.path-bar button.image-button,
.path-bar button {
  padding-left: 4px;
  padding-right: 4px;
}

.path-bar button.text-button.image-button label {
  padding-left: 0;
  padding-right: 0;
}

.path-bar button.text-button.image-button label:last-child,
.path-bar button label:last-child {
  padding-right: 8px;
}

.path-bar button.text-button.image-button label:first-child,
.path-bar button label:first-child {
  padding-left: 8px;
}

.path-bar button image {
  padding-left: 4px;
  padding-right: 4px;
}

.path-bar button.slider-button {
  padding-left: 0;
  padding-right: 0;
}

/************** Tree Views * */
treeview.view {
  background-color: transparent;
  border-left-color: rgba(255, 255, 255, 0.15);
  border-top-color: rgba(255, 255, 255, 0.15);
}

* {
  -gtktreeview-horizontal-separator: 4;
  -gtktreeview-grid-line-width: 1;
  -gtktreeview-grid-line-pattern: "";
  -gtktreeview-tree-line-width: 1;
  -gtktreeview-tree-line-pattern: "";
  -gtktreeview-expander-size: 16;
}

treeview.view:selected:focus,
treeview.view:selected {
  border-radius: 0;
}

treeview.view:selected:backdrop,
treeview.view:selected {
  border-left-color: #8d8d8d;
  border-top-color: #8d8d8d;
}

treeview.view:disabled {
  color: #8d8d8d;
}

treeview.view:disabled:selected {
  color: #a4a4a4;
}

treeview.view:disabled:selected:backdrop {
  color: #bbbbbb;
}

treeview.view:disabled:backdrop {
  color: #414141;
}

treeview.view.separator {
  min-height: 2px;
  color: #3d3d3d;
}

treeview.view.separator:backdrop {
  color: #363636;
}

treeview.view:backdrop {
  background-color: transparent;
  color: #8d8d8d;
  border-left-color: #545454;
  border-top: #545454;
}

treeview.view:drop(active) {
  border-style: solid none;
  border-width: 1px;
  border-color: transparent;
}

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

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

treeview.view.expander {
  -gtk-icon-source: -gtk-icontheme("pan-end-symbolic");
  color: #bbbbbb;
}

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

treeview.view.expander:hover {
  color: #ecf2f2;
}

treeview.view.expander:selected {
  color: #5f5f5f;
}

treeview.view.expander:selected:hover {
  color: #15191f;
}

treeview.view.expander:selected:backdrop {
  color: #5f5f5f;
}

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

treeview.view.expander:backdrop {
  color: #6b6b6b;
}

treeview.view.progressbar {
  color: #15191f;
  border: none;
  border-radius: 3px;
  background-color: #33aeff;
}

treeview.view.progressbar:selected:focus,
treeview.view.progressbar:selected {
  border-radius: 3px;
  color: #ecf2f2;
  box-shadow: none;
  background-color: #15191f;
}

treeview.view.progressbar:selected:focus:backdrop,
treeview.view.progressbar:selected:backdrop {
  color: #ecf2f2;
  background-color: #15191f;
}

treeview.view.progressbar:backdrop {
  color: #15191f;
  background-image: none;
  box-shadow: none;
}

treeview.view.trough {
  background-color: #3d3d3d;
  border-radius: 3px;
}

treeview.view.trough:selected:focus,
treeview.view.trough:selected {
  background-color: rgba(27, 27, 27, 0.3);
  border-radius: 3px;
}

treeview.view header button {
  background-color: #15191f;
  font-weight: bold;
  box-shadow: none;
}

treeview.view header button:hover {
  box-shadow: none;
  transition: none;
}

treeview.view header button:active {
  transition: none;
}

treeview.view button.dnd:active,
treeview.view button.dnd:selected,
treeview.view button.dnd:hover,
treeview.view button.dnd,
treeview.view header.button.dnd:active,
treeview.view header.button.dnd:selected,
treeview.view header.button.dnd:hover,
treeview.view header.button.dnd {
  padding: 0 6px;
  color: #15191f;
  background-image: none;
  background-color: #33aeff;
  border-style: none;
  border-radius: 0;
  box-shadow: inset 0 0 0 1px #15191f;
  transition: none;
}

treeview.view acceleditor > label {
  background-color: #33aeff;
}

treeview.view header button,
treeview.view header button:hover,
treeview.view header button:active {
  color: #8d8d8d;
  padding: 0 6px;
  background-image: none;
  border-width: 1px;
  margin: 0;
  border-style: none solid solid none;
  border-color: transparent;
  border-radius: 0;
}

treeview.view header button:hover {
  color: #c6c6c6;
}

treeview.view header button:active {
  color: #ecf2f2;
}

treeview.view header button:disabled {
  border-color: transparent;
  background-image: none;
}

treeview.view header button:backdrop {
  border-color: transparent;
  border-style: none solid solid none;
  background-image: none;
  background-color: #15191f;
}

treeview.view header button:backdrop:disabled {
  border-color: transparent;
  background-image: none;
}

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

/********* Menus * */
menubar,
.menubar {
  -gtkwidget-window-dragging: true;
  padding: 0px;
}

menubar:backdrop,
.menubar:backdrop {
  background-color: #15191f;
}

menubar > menuitem,
.menubar > menuitem {
  min-height: 16px;
  padding: 4px 8px;
}

menubar > menuitem:hover,
.menubar > menuitem:hover {
  box-shadow: inset 0 -3px #ecf2f2;
  color: #ecf2f2;
}

menubar > menuitem:disabled,
.menubar > menuitem:disabled {
  color: #8d8d8d;
  box-shadow: none;
}

menu,
.menu,
.context-menu {
  margin: 4px;
  padding: 3px 0px;
  background-color: #15191f;
  border: none;
}

.csd menu,
.csd .menu,
.csd .context-menu {
  border: none;
}

menu:backdrop,
.menu:backdrop,
.context-menu:backdrop {
  background-color: #15191f;
}

menu menuitem,
.menu menuitem,
.context-menu menuitem {
  min-height: 16px;
  min-width: 40px;
  padding: 6px;
}

menu menuitem:hover,
.menu menuitem:hover,
.context-menu menuitem:hover {
  color: #15191f;
  background-color: #33aeff;
}

menu menuitem:disabled,
.menu menuitem:disabled,
.context-menu menuitem:disabled {
  color: #8d8d8d;
}

menu menuitem:disabled:backdrop,
.menu menuitem:disabled:backdrop,
.context-menu menuitem:disabled:backdrop {
  color: #414141;
}

menu menuitem:backdrop,
menu menuitem:backdrop:hover,
.menu menuitem:backdrop,
.menu menuitem:backdrop:hover,
.context-menu menuitem:backdrop,
.context-menu menuitem:backdrop:hover {
  color: #8d8d8d;
  background-color: transparent;
}

menu menuitem arrow,
.menu menuitem arrow,
.context-menu menuitem arrow {
  min-height: 16px;
  min-width: 16px;
}

menu menuitem arrow:dir(ltr),
.menu menuitem arrow:dir(ltr),
.context-menu menuitem arrow:dir(ltr) {
  -gtk-icon-source: -gtk-icontheme("pan-end-symbolic");
  margin-left: 10px;
}

menu menuitem arrow:dir(rtl),
.menu menuitem arrow:dir(rtl),
.context-menu menuitem arrow:dir(rtl) {
  -gtk-icon-source: -gtk-icontheme("pan-end-symbolic-rtl");
  margin-right: 10px;
}

menu menuitem label:dir(rtl),
menu menuitem label:dir(ltr),
.menu menuitem label:dir(rtl),
.menu menuitem label:dir(ltr),
.context-menu menuitem label:dir(rtl),
.context-menu menuitem label:dir(ltr) {
  color: inherit;
}

menu > arrow,
.menu > arrow,
.context-menu > arrow {
  border-color: transparent;
  background-color: transparent;
  background-image: none;
  background-image: none;
  min-height: 16px;
  min-width: 16px;
  padding: 4px;
  background-color: #15191f;
  border-radius: 0;
}

menu > arrow.top,
.menu > arrow.top,
.context-menu > arrow.top {
  margin-top: -6px;
  border-bottom: 1px solid #21252b;
  -gtk-icon-source: -gtk-icontheme("pan-up-symbolic");
}

menu > arrow.bottom,
.menu > arrow.bottom,
.context-menu > arrow.bottom {
  margin-bottom: -6px;
  border-top: 1px solid #21252b;
  -gtk-icon-source: -gtk-icontheme("pan-down-symbolic");
}

menu > arrow:hover,
.menu > arrow:hover,
.context-menu > arrow:hover {
  background-color: #21252b;
}

menu > arrow:backdrop,
.menu > arrow:backdrop,
.context-menu > arrow:backdrop {
  background-color: #15191f;
}

menu > arrow:disabled,
.menu > arrow:disabled,
.context-menu > arrow:disabled {
  color: transparent;
  background-color: transparent;
  border-color: transparent;
}

menuitem accelerator {
  color: alpha(currentColor, 0.55);
}

menuitem check,
menuitem radio {
  min-height: 16px;
  min-width: 16px;
}

menuitem check:dir(ltr),
menuitem radio:dir(ltr) {
  margin-right: 7px;
}

menuitem check:dir(rtl),
menuitem radio:dir(rtl) {
  margin-left: 7px;
}

/*************** Popovers   * */
popover.background {
  padding: 2px;
  border-radius: 3px;
  background-color: #15191f;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.5);
}

.csd popover.background,
popover.background {
  border: none;
}

popover.background:backdrop {
  background-color: #15191f;
  box-shadow: none;
}

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

popover.background separator {
  margin: 3px;
}

popover.background list separator {
  margin: 0px;
}

/************* Notebooks * */
notebook > header {
  padding: 1px;
  border-color: transparent;
  border-width: 1px;
  background-color: transparent;
}

notebook > header:backdrop {
  border-color: transparent;
}

notebook > header tabs {
  margin: -1px;
}

notebook > header.top {
  border-bottom-style: solid;
}

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

notebook > header.top > tabs > tab:hover {
  box-shadow: inset 0 3px #21252b;
}

notebook > header.top > tabs > tab:checked {
  box-shadow: inset 0 3px #f865a5;
}

notebook > header.bottom {
  border-top-style: solid;
}

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

notebook > header.bottom > tabs > tab:hover {
  box-shadow: inset 0 -3px #21252b;
}

notebook > header.bottom > tabs > tab:checked {
  box-shadow: inset 0 -3px #f865a5;
}

notebook > header.left {
  border-right-style: solid;
}

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

notebook > header.left > tabs > tab:hover {
  box-shadow: inset 3px 0 #21252b;
}

notebook > header.left > tabs > tab:checked {
  box-shadow: inset 3px 0 #f865a5;
}

notebook > header.right {
  border-left-style: solid;
}

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

notebook > header.right > tabs > tab:hover {
  box-shadow: inset -3px 0 #21252b;
}

notebook > header.right > tabs > tab:checked {
  box-shadow: inset -3px 0 #f865a5;
}

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

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

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

notebook > header.top > tabs > arrow.up,
notebook > header.bottom > tabs > arrow.up {
  -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.down,
notebook > header.right > tabs > arrow.down {
  -gtk-icon-source: -gtk-icontheme("pan-up-symbolic");
}

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

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

notebook > header > tabs > arrow:disabled {
  border-color: transparent;
  background-color: transparent;
  background-image: none;
  background-image: none;
}

notebook > header tab {
  min-height: 30px;
  min-width: 30px;
  padding: 3px 12px;
  box-shadow: none;
  transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
  background-color: transparent;
  outline-offset: -5px;
  color: #8d8d8d;
  border-style: none;
  border-width: 1px;
  border-color: transparent;
}

notebook > header tab:hover {
  color: #c6c6c6;
}

notebook > header tab:backdrop {
  color: #5f5f5f;
}

notebook > header tab:checked {
  color: #ecf2f2;
  background-color: #15191f;
  border-color: transparent;
}

notebook > header tab:backdrop:checked {
  color: #8d8d8d;
  background-color: #15191f;
  border-color: transparent;
}

notebook > header tab button.flat {
  padding: 0;
  margin-top: 4px;
  margin-bottom: 4px;
  border-radius: 999px;
  min-width: 20px;
  min-height: 20px;
}

notebook > header tab button.flat:hover {
  color: currentColor;
}

notebook > header tab button.flat,
notebook > header tab button.flat:backdrop {
  color: alpha(currentColor, 0.3);
}

notebook > header tab button.flat:active {
  color: #15191f;
}

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

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

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

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

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

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

notebook > header.top tabs tab,
notebook > header.bottom tabs tab {
  margin-left: -1px;
  border-style: none solid;
}

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

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

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

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

notebook > header.left tabs tab,
notebook > header.right tabs tab {
  margin-top: -1px;
  border-style: solid none;
}

notebook > header.top tab {
  padding-bottom: 4px;
}

notebook > header.bottom tab {
  padding-top: 4px;
}

notebook > stack:not(:only-child) {
  background-color: #15191f;
}

notebook > stack:not(:only-child):backdrop {
  background-color: #15191f;
}

/************** Scrollbars * */
scrollbar {
  background-color: #15191f;
  transition: 300ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
  border-radius: 3px;
}

* {
  -gtkscrollbar-has-backward-stepper: false;
  -gtkscrollbar-has-forward-stepper: false;
}

scrollbar.top {
  border-bottom: 1px solid transparent;
}

scrollbar.bottom {
  border-top: 1px solid transparent;
}

scrollbar.left {
  border-right: 1px solid transparent;
}

scrollbar.right {
  border-left: 1px solid transparent;
}

scrollbar:backdrop {
  border-color: transparent;
  transition: 200ms ease-out;
}

scrollbar slider {
  min-width: 8px;
  min-height: 8px;
  margin: -1px;
  border: 4px solid transparent;
  border-radius: 3px;
  background-clip: padding-box;
  background-color: #a4a4a4;
  transition: 150ms linear;
  transition-property: min-height, min-width, border-color, background-color;
}

scrollbar slider:hover {
  background-color: #d1d1d1;
}

scrollbar slider:hover:active {
  background-color: #33aeff;
}

scrollbar slider:backdrop,
scrollbar slider:backdrop:hover {
  background-color: #6b6b6b;
}

scrollbar slider:disabled {
  background-color: transparent;
}

scrollbar.fine-tune slider {
  min-width: 6px;
  min-height: 6px;
  transition: none;
}

scrollbar.fine-tune.horizontal slider {
  border-width: 5px 4px;
}

scrollbar.fine-tune.vertical slider {
  border-width: 4px 5px;
}

scrollbar.overlay-indicator:not(.dragging):not(.hovering) {
  border-color: transparent;
  opacity: 0.4;
  background-color: transparent;
}

scrollbar.overlay-indicator:not(.dragging):not(.hovering) slider {
  margin: 0;
  min-width: 3px;
  min-height: 3px;
  background-color: #33aeff;
  border: 1px solid black;
}

scrollbar.overlay-indicator:not(.dragging):not(.hovering) button {
  min-width: 5px;
  min-height: 5px;
  background-color: #33aeff;
  background-clip: padding-box;
  border-radius: 100%;
  border: 1px solid black;
  -gtk-icon-source: none;
}

scrollbar.overlay-indicator:not(.dragging):not(.hovering).horizontal slider {
  margin: 0 2px;
  min-width: 40px;
}

scrollbar.overlay-indicator:not(.dragging):not(.hovering).horizontal button {
  margin: 1px 2px;
  min-width: 5px;
}

scrollbar.overlay-indicator:not(.dragging):not(.hovering).vertical slider {
  margin: 2px 0;
  min-height: 40px;
}

scrollbar.overlay-indicator:not(.dragging):not(.hovering).vertical button {
  margin: 2px 1px;
  min-height: 5px;
}

scrollbar.overlay-indicator.dragging,
scrollbar.overlay-indicator.hovering {
  opacity: 0.8;
}

scrollbar.horizontal slider {
  min-width: 40px;
}

scrollbar.vertical slider {
  min-height: 40px;
}

scrollbar button {
  padding: 0;
  min-width: 12px;
  min-height: 12px;
  border-style: none;
  border-radius: 0;
  transition-property: min-height, min-width, color;
  border-color: transparent;
  background-color: transparent;
  background-image: none;
  background-image: none;
  color: #a4a4a4;
}

scrollbar button:hover {
  border-color: transparent;
  background-color: transparent;
  background-image: none;
  background-image: none;
  color: #d1d1d1;
}

scrollbar button:active,
scrollbar button:checked {
  border-color: transparent;
  background-color: transparent;
  background-image: none;
  background-image: none;
  color: #ecf2f2;
}

scrollbar button:disabled {
  border-color: transparent;
  background-color: transparent;
  background-image: none;
  background-image: none;
  color: rgba(164, 164, 164, 0.2);
}

scrollbar button:backdrop {
  border-color: transparent;
  background-color: transparent;
  background-image: none;
  background-image: none;
  color: #6b6b6b;
}

scrollbar button:backdrop:disabled {
  border-color: transparent;
  background-color: transparent;
  background-image: none;
  background-image: none;
  color: rgba(107, 107, 107, 0.2);
}

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");
}

treeview ~ scrollbar.vertical {
  border-top: 1px solid transparent;
  margin-top: -1px;
}

/********** Switch * */
switch {
  font-size: 0;
  outline-offset: -4px;
  min-width: 36px;
  min-height: 18px;
  transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
  border: 2px solid #545454;
  border-radius: 999px;
  background-color: #545454;
  color: transparent;
}

switch:checked {
  border-color: transparent;
  background-color: #33aeff;
  box-shadow: none;
}

switch:disabled {
  border-color: transparent;
  background-color: #15191f;
}

switch:disabled:checked {
  border-color: transparent;
  background-color: #21252b;
  box-shadow: none;
}

switch:backdrop {
  border-color: transparent;
  background-color: #363636;
  transition: 200ms ease-out;
}

switch:backdrop:checked {
  border-color: transparent;
  background-color: #33aeff;
}

switch:backdrop:disabled {
  border-color: transparent;
  background-color: #15191f;
}

switch:backdrop:disabled:checked {
  border-color: transparent;
  background-color: #2f333d;
  box-shadow: none;
}

switch slider {
  margin: 2px;
  min-width: 18px;
  min-height: 18px;
  border: none;
  border-radius: 999px;
  -gtk-outline-radius: 999px;
  transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
  background-color: #15191f;
}

switch:disabled slider {
  background-color: #282c34;
}

switch:backdrop slider {
  transition: 200ms ease-out;
}

switch:checked slider {
  background-color: #15191f;
}

row:selected switch {
  box-shadow: none;
  border-color: transparent;
}

/************************* Check and Radio items * */
checkbutton.text-button,
radiobutton.text-button {
  padding: 2px 0;
  outline-offset: 0;
}

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

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

check,
radio {
  margin: 0 4px;
  color: #ecf2f2;
  min-height: 14px;
  min-width: 14px;
  -gtk-icon-source: none;
  background-color: #15191f;
  border: 2px solid #545454;
}

check:only-child,
radio:only-child {
  margin: 0;
}

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

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

check:hover,
radio:hover {
  border-color: transparent;
}

check:active,
radio:active {
  color: #15191f;
  background-color: #33aeff;
  border-color: transparent;
}

check:disabled,
radio:disabled {
  color: #8d8d8d;
  border-color: transparent;
}

check:backdrop,
radio:backdrop {
  color: #8d8d8d;
  border-color: transparent;
  transition: 200ms ease-out;
}

check:backdrop:disabled,
radio:backdrop:disabled {
  color: #414141;
  border-color: transparent;
}

row:selected check,
row:selected radio {
  border-color: transparent;
}

menu menuitem check,
menu menuitem radio {
  margin: 0;
}

menu menuitem check,
menu menuitem check:hover,
menu menuitem check:disabled,
menu menuitem radio,
menu menuitem radio:hover,
menu menuitem radio:disabled {
  min-height: 14px;
  min-width: 14px;
  background-image: none;
  background-color: transparent;
  box-shadow: none;
  color: inherit;
  border-color: currentColor;
}

check,
treeview.view check:selected,
treeview.view check:selected:focus {
  border-radius: 4px;
}

check:checked,
treeview.view check:selected:checked,
treeview.view check:selected:focus:checked {
  -gtk-icon-source: image(
    -gtk-recolor(url("assets/check-symbolic.svg")),
    -gtk-recolor(url("assets/check-symbolic.symbolic.png"))
  );
}

check:indeterminate,
treeview.view check:selected:indeterminate,
treeview.view check:selected:focus:indeterminate {
  -gtk-icon-source: image(
    -gtk-recolor(url("assets/dash-symbolic.svg")),
    -gtk-recolor(url("assets/dash-symbolic.symbolic.png"))
  );
}

treeview.view radio:selected:focus,
treeview.view radio:selected,
radio,
treeview.view radio:selected,
treeview.view radio:selected:focus {
  border-radius: 100%;
}

treeview.view radio:checked:selected,
radio:checked,
treeview.view radio:selected:checked,
treeview.view radio:selected:focus:checked {
  -gtk-icon-source: image(
    -gtk-recolor(url("assets/bullet-symbolic.svg")),
    -gtk-recolor(url("assets/bullet-symbolic.symbolic.png"))
  );
}

treeview.view radio:indeterminate:selected,
radio:indeterminate,
treeview.view radio:selected:indeterminate,
treeview.view radio:selected:focus:indeterminate {
  -gtk-icon-source: image(
    -gtk-recolor(url("assets/dash-symbolic.svg")),
    -gtk-recolor(url("assets/dash-symbolic.symbolic.png"))
  );
}

radio:not(:indeterminate):not(:checked):active:not(:backdrop) {
  -gtk-icon-transform: scale(0);
}

check:not(:indeterminate):not(:checked):active:not(:backdrop) {
  -gtk-icon-transform: translate(6px, -3px) rotate(-45deg) scaleY(0.2)
    rotate(45deg) scaleX(0);
}

radio:active,
check:active {
  -gtk-icon-transform: scale(0, 1);
}

radio:checked:not(:backdrop),
radio:indeterminate:not(:backdrop),
check:checked:not(:backdrop),
check:indeterminate:not(:backdrop) {
  -gtk-icon-transform: unset;
  transition: 300ms;
}

menu menuitem radio,
menu menuitem check {
  color: rgba(255, 255, 255, 0.7);
}

menu menuitem radio:checked:not(:backdrop),
menu menuitem radio:indeterminate:not(:backdrop),
menu menuitem check:checked:not(:backdrop),
menu menuitem check:indeterminate:not(:backdrop) {
  transition: none;
}

treeview.view check:selected:focus,
treeview.view check:selected,
treeview.view radio:selected:focus,
treeview.view radio:selected {
  color: #ecf2f2;
  background-color: #15191f;
  border-color: transparent;
}

treeview.view check:selected:disabled,
treeview.view radio:selected:disabled {
  color: #8d8d8d;
}

treeview.view check:selected:disabled:backdrop,
treeview.view radio:selected:disabled:backdrop {
  color: #414141;
}

treeview.view check:backdrop:selected,
treeview.view check:backdrop,
treeview.view radio:backdrop:selected,
treeview.view radio:backdrop {
  color: #8d8d8d;
}

/************ GtkScale * */
scale trough,
scale fill,
progressbar trough,
levelbar block.empty {
  border: none;
  border-radius: 3px;
  background-color: #21252b;
}

scale trough:disabled,
scale fill:disabled,
progressbar trough:disabled,
levelbar block.empty:disabled {
  background-color: #282c34;
}

scale trough:backdrop,
scale fill:backdrop,
progressbar trough:backdrop,
levelbar block.empty:backdrop {
  background-color: #363636;
  transition: 200ms ease-out;
}

scale trough:backdrop:disabled,
scale fill:backdrop:disabled,
progressbar trough:backdrop:disabled,
levelbar block.empty:backdrop:disabled {
  background-color: #282c34;
}

row:selected scale trough:disabled,
scale row:selected trough:disabled,
row:selected scale fill:disabled,
scale row:selected fill:disabled,
row:selected progressbar trough:disabled,
progressbar row:selected trough:disabled,
row:selected levelbar block.empty:disabled,
levelbar row:selected block.empty:disabled,
row:selected scale trough,
scale row:selected trough,
row:selected scale fill,
scale row:selected fill,
row:selected progressbar trough,
progressbar row:selected trough,
row:selected levelbar block.empty,
levelbar row:selected block.empty {
  border: 1px solid #15191f;
}

scale highlight,
progressbar progress {
  border: none;
  border-radius: 3px;
  background-color: #33aeff;
}

scale highlight:disabled,
progressbar progress:disabled {
  background-color: transparent;
}

scale highlight:backdrop:disabled,
progressbar progress:backdrop:disabled {
  background-color: transparent;
}

row:selected scale highlight:disabled,
scale row:selected highlight:disabled,
row:selected progressbar progress:disabled,
progressbar row:selected progress:disabled,
row:selected scale highlight,
scale row:selected highlight,
row:selected progressbar progress,
progressbar row:selected progress {
  border: 1px solid #15191f;
}

scale {
  min-height: 10px;
  min-width: 10px;
  padding: 12px;
}

scale slider {
  min-height: 20px;
  min-width: 20px;
  margin: -8px;
}

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

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

scale.fine-tune slider {
  margin: -6px;
}

scale.fine-tune fill,
scale.fine-tune highlight,
scale.fine-tune trough {
  border-radius: 3px;
  -gtk-outline-radius: 8px;
}

scale trough {
  border: 1px solid #15191f;
  outline-offset: 2px;
  -gtk-outline-radius: 8px;
}

scale fill:backdrop,
scale fill {
  background-color: #3d3d3d;
}

scale fill:disabled:backdrop,
scale fill:disabled {
  border-color: transparent;
  background-color: transparent;
}

scale slider {
  border: none;
  background-color: #33aeff;
  border-radius: 100%;
  transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition-property: background, border, box-shadow;
}

scale slider:hover {
  background-color: #33aeff;
}

scale slider:active {
  background-color: #33aeff;
  box-shadow: none;
}

scale slider:disabled {
  background-color: #282c34;
}

scale slider:backdrop {
  transition: 200ms ease-out;
}

row:selected scale slider:disabled,
row:selected scale slider {
  border-color: transparent;
}

scale value {
  color: alpha(currentColor, 0.4);
}

scale marks {
  color: alpha(currentColor, 0.4);
}

scale marks.top {
  margin-bottom: 6px;
  margin-top: -12px;
}

scale marks.bottom {
  margin-top: 6px;
  margin-bottom: -12px;
}

scale marks.top {
  margin-right: 6px;
  margin-left: -12px;
}

scale marks.bottom {
  margin-left: 6px;
  margin-right: -12px;
}

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

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

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

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

scale.horizontal indicator {
  min-height: 6px;
  min-width: 1px;
}

scale.horizontal.fine-tune indicator {
  min-height: 3px;
}

scale.vertical indicator {
  min-height: 1px;
  min-width: 6px;
}

scale.vertical.fine-tune indicator {
  min-width: 3px;
}

scale.horizontal.marks-before:not(.marks-after) slider {
  margin: -9px;
  border-style: none;
  border-radius: 0;
  background-color: transparent;
  color: #ecf2f2;
  background-image: image(
    -gtk-recolor(url("assets/slider-horz-scale-has-marks-above-symbolic.svg")),
    -gtk-recolor(url("assets/slider-horz-scale-has-marks-above-symbolic.symbolic.png"))
  );
  min-height: 26px;
  min-width: 22px;
  margin-top: -13px;
  background-position: top;
  background-repeat: no-repeat;
  box-shadow: none;
}

scale.horizontal.marks-before:not(.marks-after) slider:hover {
  color: white;
}

scale.horizontal.marks-before:not(.marks-after) slider:active {
  color: #ecf2f2;
}

scale.horizontal.marks-before:not(.marks-after) slider:disabled {
  color: #282c34;
}

scale.horizontal.marks-before:not(.marks-after).fine-tune slider {
  margin: -7px;
  margin-top: -11px;
}

scale.horizontal.marks-after:not(.marks-before) slider {
  margin: -9px;
  border-style: none;
  border-radius: 0;
  background-color: transparent;
  color: #ecf2f2;
  background-image: image(
    -gtk-recolor(url("assets/slider-horz-scale-has-marks-below-symbolic.svg")),
    -gtk-recolor(url("assets/slider-horz-scale-has-marks-below-symbolic.symbolic.png"))
  );
  min-height: 26px;
  min-width: 22px;
  margin-bottom: -13px;
  background-position: bottom;
  background-repeat: no-repeat;
  box-shadow: none;
}

scale.horizontal.marks-after:not(.marks-before) slider:hover {
  color: white;
}

scale.horizontal.marks-after:not(.marks-before) slider:active {
  color: #ecf2f2;
}

scale.horizontal.marks-after:not(.marks-before) slider:disabled {
  color: #282c34;
}

scale.horizontal.marks-after:not(.marks-before).fine-tune slider {
  margin: -7px;
  margin-bottom: -11px;
}

scale.vertical.marks-before:not(.marks-after) slider {
  margin: -9px;
  border-style: none;
  border-radius: 0;
  background-color: transparent;
  color: #ecf2f2;
  background-image: image(
    -gtk-recolor(url("assets/slider-vert-scale-has-marks-above-symbolic.svg")),
    -gtk-recolor(url("assets/slider-vert-scale-has-marks-above-symbolic.symbolic.png"))
  );
  min-height: 22px;
  min-width: 26px;
  margin-left: -13px;
  background-position: left bottom;
  background-repeat: no-repeat;
  box-shadow: none;
}

scale.vertical.marks-before:not(.marks-after) slider:hover {
  color: white;
}

scale.vertical.marks-before:not(.marks-after) slider:active {
  color: #ecf2f2;
}

scale.vertical.marks-before:not(.marks-after) slider:disabled {
  color: #282c34;
}

scale.vertical.marks-before:not(.marks-after).fine-tune slider {
  margin: -7px;
  margin-left: -11px;
}

scale.vertical.marks-after:not(.marks-before) slider {
  margin: -9px;
  border-style: none;
  border-radius: 0;
  background-color: transparent;
  color: #ecf2f2;
  background-image: image(
    -gtk-recolor(url("assets/slider-vert-scale-has-marks-below-symbolic.svg")),
    -gtk-recolor(url("assets/slider-vert-scale-has-marks-below-symbolic.symbolic.png"))
  );
  min-height: 22px;
  min-width: 26px;
  margin-right: -13px;
  background-position: right bottom;
  background-repeat: no-repeat;
  box-shadow: none;
}

scale.vertical.marks-after:not(.marks-before) slider:hover {
  color: white;
}

scale.vertical.marks-after:not(.marks-before) slider:active {
  color: #ecf2f2;
}

scale.vertical.marks-after:not(.marks-before) slider:disabled {
  color: #282c34;
}

scale.vertical.marks-after:not(.marks-before).fine-tune slider {
  margin: -7px;
  margin-right: -11px;
}

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

scale.color trough {
  background-color: transparent;
}

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

scale.color.horizontal trough {
  padding-bottom: 4px;
  background-position: 0 -3px;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

scale.color.horizontal slider:dir(ltr):hover,
scale.color.horizontal slider:dir(ltr):backdrop,
scale.color.horizontal slider:dir(ltr):disabled,
scale.color.horizontal slider:dir(ltr):backdrop:disabled,
scale.color.horizontal slider:dir(ltr),
scale.color.horizontal slider:dir(rtl):hover,
scale.color.horizontal slider:dir(rtl):backdrop,
scale.color.horizontal slider:dir(rtl):disabled,
scale.color.horizontal slider:dir(rtl):backdrop:disabled,
scale.color.horizontal slider:dir(rtl) {
  margin-bottom: -15px;
  margin-top: 6px;
}

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

scale.color.vertical:dir(ltr) trough {
  padding-left: 4px;
  background-position: 3px 0;
  border-bottom-right-radius: 0;
  border-top-right-radius: 0;
}

scale.color.vertical:dir(ltr) slider:hover,
scale.color.vertical:dir(ltr) slider:backdrop,
scale.color.vertical:dir(ltr) slider:disabled,
scale.color.vertical:dir(ltr) slider:backdrop:disabled,
scale.color.vertical:dir(ltr) slider {
  margin-left: -15px;
  margin-right: 6px;
}

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

scale.color.vertical:dir(rtl) trough {
  padding-right: 4px;
  background-position: -3px 0;
  border-bottom-left-radius: 0;
  border-top-left-radius: 0;
}

scale.color.vertical:dir(rtl) slider:hover,
scale.color.vertical:dir(rtl) slider:backdrop,
scale.color.vertical:dir(rtl) slider:disabled,
scale.color.vertical:dir(rtl) slider:backdrop:disabled,
scale.color.vertical:dir(rtl) slider {
  margin-right: -15px;
  margin-left: 6px;
}

scale.color.fine-tune.horizontal:dir(ltr),
scale.color.fine-tune.horizontal:dir(rtl) {
  padding: 0 0 12px 0;
}

scale.color.fine-tune.horizontal:dir(ltr) trough,
scale.color.fine-tune.horizontal:dir(rtl) trough {
  padding-bottom: 7px;
  background-position: 0 -6px;
}

scale.color.fine-tune.horizontal:dir(ltr) slider,
scale.color.fine-tune.horizontal:dir(rtl) slider {
  margin-bottom: -15px;
  margin-top: 6px;
}

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

scale.color.fine-tune.vertical:dir(ltr) trough {
  padding-left: 7px;
  background-position: 6px 0;
}

scale.color.fine-tune.vertical:dir(ltr) slider {
  margin-left: -15px;
  margin-right: 6px;
}

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

scale.color.fine-tune.vertical:dir(rtl) trough {
  padding-right: 7px;
  background-position: -6px 0;
}

scale.color.fine-tune.vertical:dir(rtl) slider {
  margin-right: -15px;
  margin-left: 6px;
}

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

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

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

progressbar.horizontal progress {
  margin: 0 -1px;
}

progressbar.vertical progress {
  margin: -1px 0;
}

progressbar:backdrop {
  box-shadow: none;
  transition: 200ms ease-out;
}

progressbar progress {
  border-radius: 2px;
}

progressbar progress.left {
  border-top-left-radius: 2px;
  border-bottom-left-radius: 2px;
}

progressbar progress.right {
  border-top-right-radius: 2px;
  border-bottom-right-radius: 2px;
}

progressbar progress.top {
  border-top-right-radius: 2px;
  border-top-left-radius: 2px;
}

progressbar progress.bottom {
  border-bottom-right-radius: 2px;
  border-bottom-left-radius: 2px;
}

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

progressbar.osd trough {
  border-style: none;
  border-radius: 0;
  background-color: transparent;
  box-shadow: none;
}

progressbar.osd progress {
  border-style: none;
  border-radius: 0;
}

progressbar trough.empty progress {
  all: unset;
}

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

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

levelbar.horizontal.discrete block:first-child {
  margin-left: 0;
}

levelbar.horizontal.discrete block:last-child {
  margin-right: 0;
}

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

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

levelbar.vertical.discrete block:first-child {
  margin-top: 0;
}

levelbar.vertical.discrete block:last-child {
  margin-bottom: 0;
}

levelbar:backdrop {
  transition: 200ms ease-out;
}

levelbar trough {
  padding: 0;
  border: none;
  background-color: transparent;
}

levelbar block {
  border: none;
  border-radius: 999px;
}

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

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

levelbar block.full {
  background-color: #45dcb3;
}

/**************** Print dialog * */
printdialog paper {
  color: gray;
  border: 1px solid #595959;
  background: white;
  padding: 0;
}

printdialog paper:backdrop {
  color: #595959;
  border: 1px solid #2f333d;
}

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

/********** Frames * */
frame,
frame > border,
.frame {
  border-radius: 3px;
}

frame > border,
.frame {
  box-shadow: none;
  margin: 0;
  padding: 0;
  border-radius: 3px;
  border: none;
}

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

frame > border:backdrop,
.frame:backdrop {
  border-color: transparent;
}

actionbar {
  border-radius: 0 0 8px 8px;
}

actionbar > revealer > box {
  padding: 6px;
  border-top: 1px solid transparent;
}

actionbar > revealer > box:backdrop {
  border-color: transparent;
}

scrolledwindow {
  background-color: transparent;
  border-radius: 0 0 8px 8px;
}

scrolledwindow viewport.frame {
  border-style: none;
}

scrolledwindow overshoot.top {
  background-image: -gtk-gradient(
      radial,
      center top,
      0,
      center top,
      0.5,
      to(rgba(255, 255, 255, 0.5)),
      to(rgba(255, 255, 255, 0))
    ),
    -gtk-gradient(radial, center top, 0, center top, 0.6, from(rgba(255, 255, 255, 0.1)), to(rgba(255, 255, 255, 0)));
  background-size: 100% 5%, 100% 100%;
  background-repeat: no-repeat;
  background-position: center top;
  background-color: transparent;
  border: none;
  box-shadow: none;
}

scrolledwindow overshoot.top:backdrop {
  background-image: -gtk-gradient(
    radial,
    center top,
    0,
    center top,
    0.5,
    to(rgba(255, 255, 255, 0.5)),
    to(rgba(255, 255, 255, 0))
  );
  background-size: 100% 5%;
  background-repeat: no-repeat;
  background-position: center top;
  background-color: transparent;
  border: none;
  box-shadow: none;
}

scrolledwindow overshoot.bottom {
  background-image: -gtk-gradient(
      radial,
      center bottom,
      0,
      center bottom,
      0.5,
      to(rgba(255, 255, 255, 0.5)),
      to(rgba(255, 255, 255, 0))
    ),
    -gtk-gradient(radial, center bottom, 0, center bottom, 0.6, from(rgba(255, 255, 255, 0.1)), to(rgba(255, 255, 255, 0)));
  background-size: 100% 5%, 100% 100%;
  background-repeat: no-repeat;
  background-position: center bottom;
  background-color: transparent;
  border: none;
  box-shadow: none;
}

scrolledwindow overshoot.bottom:backdrop {
  background-image: -gtk-gradient(
    radial,
    center bottom,
    0,
    center bottom,
    0.5,
    to(rgba(255, 255, 255, 0.5)),
    to(rgba(255, 255, 255, 0))
  );
  background-size: 100% 5%;
  background-repeat: no-repeat;
  background-position: center bottom;
  background-color: transparent;
  border: none;
  box-shadow: none;
}

scrolledwindow overshoot.left {
  background-image: -gtk-gradient(
      radial,
      left center,
      0,
      left center,
      0.5,
      to(rgba(255, 255, 255, 0.5)),
      to(rgba(255, 255, 255, 0))
    ),
    -gtk-gradient(radial, left center, 0, left center, 0.6, from(rgba(255, 255, 255, 0.1)), to(rgba(255, 255, 255, 0)));
  background-size: 5% 100%, 100% 100%;
  background-repeat: no-repeat;
  background-position: left center;
  background-color: transparent;
  border: none;
  box-shadow: none;
}

scrolledwindow overshoot.left:backdrop {
  background-image: -gtk-gradient(
    radial,
    left center,
    0,
    left center,
    0.5,
    to(rgba(255, 255, 255, 0.5)),
    to(rgba(255, 255, 255, 0))
  );
  background-size: 5% 100%;
  background-repeat: no-repeat;
  background-position: left center;
  background-color: transparent;
  border: none;
  box-shadow: none;
}

scrolledwindow overshoot.right {
  background-image: -gtk-gradient(
      radial,
      right center,
      0,
      right center,
      0.5,
      to(rgba(255, 255, 255, 0.5)),
      to(rgba(255, 255, 255, 0))
    ),
    -gtk-gradient(radial, right center, 0, right center, 0.6, from(rgba(255, 255, 255, 0.1)), to(rgba(255, 255, 255, 0)));
  background-size: 5% 100%, 100% 100%;
  background-repeat: no-repeat;
  background-position: right center;
  background-color: transparent;
  border: none;
  box-shadow: none;
}

scrolledwindow overshoot.right:backdrop {
  background-image: -gtk-gradient(
    radial,
    right center,
    0,
    right center,
    0.5,
    to(rgba(255, 255, 255, 0.5)),
    to(rgba(255, 255, 255, 0))
  );
  background-size: 5% 100%;
  background-repeat: no-repeat;
  background-position: right center;
  background-color: transparent;
  border: none;
  box-shadow: none;
}

scrolledwindow undershoot.top {
  background-color: transparent;
  background-image: linear-gradient(
    to left,
    rgba(255, 255, 255, 0.2) 50%,
    rgba(0, 0, 0, 0.2) 50%
  );
  padding-top: 1px;
  background-size: 10px 1px;
  background-repeat: repeat-x;
  background-origin: content-box;
  background-position: center top;
  border: none;
  box-shadow: none;
}

scrolledwindow undershoot.bottom {
  background-color: transparent;
  background-image: linear-gradient(
    to left,
    rgba(255, 255, 255, 0.2) 50%,
    rgba(0, 0, 0, 0.2) 50%
  );
  padding-bottom: 1px;
  background-size: 10px 1px;
  background-repeat: repeat-x;
  background-origin: content-box;
  background-position: center bottom;
  border: none;
  box-shadow: none;
}

scrolledwindow undershoot.left {
  background-color: transparent;
  background-image: linear-gradient(
    to top,
    rgba(255, 255, 255, 0.2) 50%,
    rgba(0, 0, 0, 0.2) 50%
  );
  padding-left: 1px;
  background-size: 1px 10px;
  background-repeat: repeat-y;
  background-origin: content-box;
  background-position: left center;
  border: none;
  box-shadow: none;
}

scrolledwindow undershoot.right {
  background-color: transparent;
  background-image: linear-gradient(
    to top,
    rgba(255, 255, 255, 0.2) 50%,
    rgba(0, 0, 0, 0.2) 50%
  );
  padding-right: 1px;
  background-size: 1px 10px;
  background-repeat: repeat-y;
  background-origin: content-box;
  background-position: right center;
  border: none;
  box-shadow: none;
}

scrolledwindow junction {
  border-color: transparent;
  border-image: linear-gradient(to bottom, #3d3d3d 1px, transparent 1px) 0 0 0 1/0
    1px stretch;
  background-color: #15191f;
}

scrolledwindow junction:dir(rtl) {
  border-image-slice: 0 1 0 0;
}

scrolledwindow junction:backdrop {
  border-image-source: linear-gradient(to bottom, #363636 1px, transparent 1px);
  background-color: #15191f;
  transition: 200ms ease-out;
}

separator {
  background: transparent;
  min-width: 1px;
  min-height: 1px;
}

/********* Lists * */
list {
  color: #ecf2f2;
  background-color: transparent;
  border-color: transparent;
}

list:backdrop {
  border-color: transparent;
}

list row {
  padding: 2px;
}

list separator.horizontal {
  margin: 0 8px;
}

list separator.vertical {
  margin: 8px 0;
}

row {
  transition: all 150ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
  border-radius: 0;
}

row:hover {
  transition: none;
}

row:backdrop {
  transition: 200ms ease-out;
}

row.activatable {
  transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94),
    background-size 300ms cubic-bezier(0.25, 0.46, 0.45, 0.94),
    background-image 300ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
  background-image: radial-gradient(
    circle farthest-corner at center,
    transparent 10%,
    transparent 0%
  );
  background-repeat: no-repeat;
  background-position: center;
  background-size: 1000% 1000%;
}

row.activatable.has-open-popup,
row.activatable:hover {
  background-color: #2f333d;
}

row.activatable:active {
  color: #15191f;
  background-color: #33aeff;
  transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), background-size 0,
    background-image 0;
  animation: ripple_effect 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
  background-image: radial-gradient(
    circle farthest-corner at center,
    #ecf2f2 10%,
    transparent 0%
  );
  background-size: 0% 0%;
}

row.activatable:backdrop:hover {
  background-color: transparent;
}

row.activatable:selected:active,
row.activatable:selected.has-open-popup,
row.activatable:selected:hover,
row.activatable:selected:backdrop {
  background-color: #33aeff;
}

/********************* App Notifications * */
.app-notification,
.app-notification.frame {
  padding: 10px;
  border-radius: 0 0 8px 8px;
  background-color: #15191f;
  background-clip: padding-box;
  box-shadow: none;
}

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

/************* Expanders * */
expander title > arrow {
  min-width: 16px;
  min-height: 16px;
  -gtk-icon-source: -gtk-icontheme("pan-end-symbolic");
}

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

expander title > arrow:hover {
  color: white;
}

expander title > arrow:disabled {
  color: #8d8d8d;
}

expander title > arrow:disabled:backdrop {
  color: #414141;
}

expander title > arrow:checked {
  -gtk-icon-source: -gtk-icontheme("pan-down-symbolic");
}

/************ Calendar * */
calendar {
  color: #ecf2f2;
}

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

calendar.header {
  border-bottom-color: rgba(0, 0, 0, 0.1);
}

calendar.header:backdrop {
  border-bottom-color: rgba(0, 0, 0, 0.1);
}

calendar.button {
  color: rgba(255, 255, 255, 0.45);
}

calendar.button:hover {
  color: #ecf2f2;
}

calendar.button:backdrop {
  color: rgba(141, 141, 141, 0.45);
}

calendar.button:disabled {
  color: rgba(141, 141, 141, 0.45);
}

calendar.highlight {
  color: #8d8d8d;
}

calendar.highlight:backdrop {
  color: #414141;
}

calendar:backdrop {
  color: #d1d1d1;
  border-color: transparent;
}

calendar:indeterminate {
  color: alpha(currentColor, 0.1);
}

/*********** Dialogs * */
messagedialog .titlebar {
  min-height: 20px;
  background-image: none;
  background-color: #15191f;
  border-style: none;
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
}

messagedialog.csd.background {
  border-bottom-left-radius: 8px;
  border-bottom-right-radius: 8px;
}

messagedialog.csd .dialog-action-area {
  margin: 1px;
}

messagedialog.csd .dialog-action-area button {
  padding: 10px 14px;
  border-radius: 0;
  border-left-style: solid;
  border-right-style: none;
  border-bottom-style: none;
}

messagedialog.csd .dialog-action-area button:first-child {
  border-left-style: none;
  border-top-left-radius: 8px;
  border-bottom-left-radius: 8px;
}

messagedialog.csd .dialog-action-area button:last-child {
  border-top-right-radius: 8px;
  border-bottom-right-radius: 8px;
}

filechooser .dialog-action-box {
  border-top: 1px solid transparent;
}

filechooser .dialog-action-box:backdrop {
  border-top-color: #363636;
}

filechooser #pathbarbox {
  border-bottom: 1px solid #15191f;
}

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

/*********** Sidebar * */
.sidebar {
  border-style: none;
  background-color: transparent;
  border-radius: 0 0 8px 8px;
}

stacksidebar.sidebar:dir(ltr) list,
stacksidebar.sidebar.left list,
stacksidebar.sidebar.left:dir(rtl) list,
.sidebar:not(separator):dir(ltr),
.sidebar:not(separator).left,
.sidebar:not(separator).left:dir(rtl) {
  border-right: 1px solid transparent;
  border-left-style: none;
}

stacksidebar.sidebar:dir(rtl) list .sidebar:not(separator):dir(rtl),
stacksidebar.sidebar.right list .sidebar:not(separator):dir(rtl),
.sidebar:not(separator).right {
  border-left: 1px solid transparent;
  border-right-style: none;
}

.sidebar:backdrop {
  border-color: transparent;
  transition: 200ms ease-out;
}

.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 row {
  padding: 10px 4px;
}

stacksidebar row > label {
  padding-left: 6px;
  padding-right: 6px;
}

stacksidebar row.needs-attention > label {
  background-size: 6px 6px, 0 0;
}

separator.sidebar {
  background-color: #3d3d3d;
}

separator.sidebar:backdrop {
  background-color: #363636;
}

separator.sidebar.selection-mode,
.selection-mode separator.sidebar {
  background-color: #33aeff;
}

/**************** File chooser * */
row image.sidebar-icon {
  opacity: 0.8;
}

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

placessidebar row {
  min-height: 36px;
  padding: 0px;
}

placessidebar row > revealer {
  padding: 0 14px;
}

placessidebar row:selected {
  color: #15191f;
}

placessidebar row:disabled {
  color: #8d8d8d;
}

placessidebar row:backdrop {
  color: #8d8d8d;
}

placessidebar row:backdrop:selected {
  color: #15191f;
}

placessidebar row:backdrop:disabled {
  color: #414141;
}

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

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

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

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

button.sidebar-button {
  min-height: 26px;
  min-width: 26px;
  margin-top: 3px;
  margin-bottom: 3px;
  padding: 0;
  border-radius: 100%;
  -gtk-outline-radius: 100%;
}

button.sidebar-button:not(:hover):not(:active) > image,
button.sidebar-button:backdrop > image {
  opacity: 0.8;
}

placessidebar row:selected:active {
  box-shadow: none;
}

placessidebar row.sidebar-placeholder-row {
  padding: 0 8px;
  min-height: 2px;
  background-image: image(#45dcb3);
  background-clip: content-box;
}

placessidebar row.sidebar-new-bookmark-row {
  color: #ecf2f2;
}

placessidebar row:drop(active):not(:disabled) {
  background-color: #213832;
  box-shadow: none;
}

placessidebar row:drop(active):not(:disabled):selected {
  color: #15191f;
  background-color: #45dcb3;
}

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

placesview .server-list-button:checked > image {
  transition: 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
  -gtk-icon-transform: rotate(-0.5turn);
}

placesview row.activatable:hover {
  background-color: transparent;
}

placesview > actionbar > revealer > box > label {
  padding-left: 8px;
  padding-right: 8px;
}

/********* Paned * */
paned > separator {
  min-width: 1px;
  min-height: 1px;
  -gtk-icon-source: none;
  border-style: none;
  background-color: transparent;
  background-image: image(#3d3d3d);
  background-size: 1px 1px;
}

paned > separator:selected {
  background-image: image(#ecf2f2);
}

paned > separator:backdrop {
  background-image: image(#363636);
}

paned > separator.wide {
  min-width: 5px;
  min-height: 5px;
  background-color: #15191f;
  background-image: image(#3d3d3d), image(#3d3d3d);
  background-size: 1px 1px, 1px 1px;
}

paned > separator.wide:backdrop {
  background-color: #15191f;
  background-image: image(#363636), image(#363636);
}

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;
}

/************** GtkInfoBar * */
infobar {
  border-style: none;
}

infobar.info:backdrop,
infobar.info,
infobar.question:backdrop,
infobar.question,
infobar.warning:backdrop,
infobar.warning,
infobar.error:backdrop,
infobar.error {
  background-color: #33aeff;
  border-color: transparent;
}

infobar.info:backdrop label,
infobar.info:backdrop,
infobar.info label,
infobar.info,
infobar.question:backdrop label,
infobar.question:backdrop,
infobar.question label,
infobar.question,
infobar.warning:backdrop label,
infobar.warning:backdrop,
infobar.warning label,
infobar.warning,
infobar.error:backdrop label,
infobar.error:backdrop,
infobar.error label,
infobar.error {
  color: #15191f;
}

infobar.info button,
infobar.question button,
infobar.warning button,
infobar.error button {
  color: #15191f;
  outline-color: rgba(27, 27, 27, 0.3);
  border-color: transparent;
  background-color: #e8e8e8;
  background-image: none;
}

infobar.info button.flat,
infobar.question button.flat,
infobar.warning button.flat,
infobar.error button.flat {
  border-color: transparent;
  background-color: transparent;
  background-image: none;
  background-image: none;
}

infobar.info button:hover,
infobar.question button:hover,
infobar.warning button:hover,
infobar.error button:hover {
  color: #15191f;
  outline-color: rgba(27, 27, 27, 0.3);
  border-color: transparent;
  background-color: #d1d1d1;
  background-image: none;
}

infobar.info button:active,
infobar.info button:checked,
infobar.question button:active,
infobar.question button:checked,
infobar.warning button:active,
infobar.warning button:checked,
infobar.error button:active,
infobar.error button:checked {
  color: #15191f;
  outline-color: rgba(27, 27, 27, 0.3);
  border-color: transparent;
  background-color: #33aeff;
  box-shadow: none;
  background-image: none;
}

infobar.info button:backdrop.flat,
infobar.info button:backdrop,
infobar.question button:backdrop.flat,
infobar.question button:backdrop,
infobar.warning button:backdrop.flat,
infobar.warning button:backdrop,
infobar.error button:backdrop.flat,
infobar.error button:backdrop {
  border-color: transparent;
  background-color: #f4f4f4;
  background-image: none;
  -gtk-icon-effect: none;
}

infobar.info button:backdrop.flat label,
infobar.info button:backdrop.flat,
infobar.info button:backdrop label,
infobar.info button:backdrop,
infobar.question button:backdrop.flat label,
infobar.question button:backdrop.flat,
infobar.question button:backdrop label,
infobar.question button:backdrop,
infobar.warning button:backdrop.flat label,
infobar.warning button:backdrop.flat,
infobar.warning button:backdrop label,
infobar.warning button:backdrop,
infobar.error button:backdrop.flat label,
infobar.error button:backdrop.flat,
infobar.error button:backdrop label,
infobar.error button:backdrop {
  color: #8d8d8d;
}

infobar.info button:backdrop.flat:active,
infobar.info button:backdrop.flat:checked,
infobar.info button:backdrop:active,
infobar.info button:backdrop:checked,
infobar.question button:backdrop.flat:active,
infobar.question button:backdrop.flat:checked,
infobar.question button:backdrop:active,
infobar.question button:backdrop:checked,
infobar.warning button:backdrop.flat:active,
infobar.warning button:backdrop.flat:checked,
infobar.warning button:backdrop:active,
infobar.warning button:backdrop:checked,
infobar.error button:backdrop.flat:active,
infobar.error button:backdrop.flat:checked,
infobar.error button:backdrop:active,
infobar.error button:backdrop:checked {
  border-color: transparent;
  background-color: #33aeff;
  background-image: none;
}

infobar.info button:backdrop.flat:active label,
infobar.info button:backdrop.flat:active,
infobar.info button:backdrop.flat:checked label,
infobar.info button:backdrop.flat:checked,
infobar.info button:backdrop:active label,
infobar.info button:backdrop:active,
infobar.info button:backdrop:checked label,
infobar.info button:backdrop:checked,
infobar.question button:backdrop.flat:active label,
infobar.question button:backdrop.flat:active,
infobar.question button:backdrop.flat:checked label,
infobar.question button:backdrop.flat:checked,
infobar.question button:backdrop:active label,
infobar.question button:backdrop:active,
infobar.question button:backdrop:checked label,
infobar.question button:backdrop:checked,
infobar.warning button:backdrop.flat:active label,
infobar.warning button:backdrop.flat:active,
infobar.warning button:backdrop.flat:checked label,
infobar.warning button:backdrop.flat:checked,
infobar.warning button:backdrop:active label,
infobar.warning button:backdrop:active,
infobar.warning button:backdrop:checked label,
infobar.warning button:backdrop:checked,
infobar.error button:backdrop.flat:active label,
infobar.error button:backdrop.flat:active,
infobar.error button:backdrop.flat:checked label,
infobar.error button:backdrop.flat:checked,
infobar.error button:backdrop:active label,
infobar.error button:backdrop:active,
infobar.error button:backdrop:checked label,
infobar.error button:backdrop:checked {
  color: #ecf2f2;
}

infobar.info button:backdrop.flat:disabled,
infobar.info button:backdrop:disabled,
infobar.question button:backdrop.flat:disabled,
infobar.question button:backdrop:disabled,
infobar.warning button:backdrop.flat:disabled,
infobar.warning button:backdrop:disabled,
infobar.error button:backdrop.flat:disabled,
infobar.error button:backdrop:disabled {
  border-color: transparent;
  background-color: transparent;
  background-image: none;
}

infobar.info button:backdrop.flat:disabled label,
infobar.info button:backdrop.flat:disabled,
infobar.info button:backdrop:disabled label,
infobar.info button:backdrop:disabled,
infobar.question button:backdrop.flat:disabled label,
infobar.question button:backdrop.flat:disabled,
infobar.question button:backdrop:disabled label,
infobar.question button:backdrop:disabled,
infobar.warning button:backdrop.flat:disabled label,
infobar.warning button:backdrop.flat:disabled,
infobar.warning button:backdrop:disabled label,
infobar.warning button:backdrop:disabled,
infobar.error button:backdrop.flat:disabled label,
infobar.error button:backdrop.flat:disabled,
infobar.error button:backdrop:disabled label,
infobar.error button:backdrop:disabled {
  color: #414141;
}

infobar.info button:backdrop.flat:disabled:active,
infobar.info button:backdrop.flat:disabled:checked,
infobar.info button:backdrop:disabled:active,
infobar.info button:backdrop:disabled:checked,
infobar.question button:backdrop.flat:disabled:active,
infobar.question button:backdrop.flat:disabled:checked,
infobar.question button:backdrop:disabled:active,
infobar.question button:backdrop:disabled:checked,
infobar.warning button:backdrop.flat:disabled:active,
infobar.warning button:backdrop.flat:disabled:checked,
infobar.warning button:backdrop:disabled:active,
infobar.warning button:backdrop:disabled:checked,
infobar.error button:backdrop.flat:disabled:active,
infobar.error button:backdrop.flat:disabled:checked,
infobar.error button:backdrop:disabled:active,
infobar.error button:backdrop:disabled:checked {
  border-color: white;
  background-color: #33aeff;
  box-shadow: none;
  background-image: none;
}

infobar.info button:backdrop.flat:disabled:active label,
infobar.info button:backdrop.flat:disabled:active,
infobar.info button:backdrop.flat:disabled:checked label,
infobar.info button:backdrop.flat:disabled:checked,
infobar.info button:backdrop:disabled:active label,
infobar.info button:backdrop:disabled:active,
infobar.info button:backdrop:disabled:checked label,
infobar.info button:backdrop:disabled:checked,
infobar.question button:backdrop.flat:disabled:active label,
infobar.question button:backdrop.flat:disabled:active,
infobar.question button:backdrop.flat:disabled:checked label,
infobar.question button:backdrop.flat:disabled:checked,
infobar.question button:backdrop:disabled:active label,
infobar.question button:backdrop:disabled:active,
infobar.question button:backdrop:disabled:checked label,
infobar.question button:backdrop:disabled:checked,
infobar.warning button:backdrop.flat:disabled:active label,
infobar.warning button:backdrop.flat:disabled:active,
infobar.warning button:backdrop.flat:disabled:checked label,
infobar.warning button:backdrop.flat:disabled:checked,
infobar.warning button:backdrop:disabled:active label,
infobar.warning button:backdrop:disabled:active,
infobar.warning button:backdrop:disabled:checked label,
infobar.warning button:backdrop:disabled:checked,
infobar.error button:backdrop.flat:disabled:active label,
infobar.error button:backdrop.flat:disabled:active,
infobar.error button:backdrop.flat:disabled:checked label,
infobar.error button:backdrop.flat:disabled:checked,
infobar.error button:backdrop:disabled:active label,
infobar.error button:backdrop:disabled:active,
infobar.error button:backdrop:disabled:checked label,
infobar.error button:backdrop:disabled:checked {
  color: #414141;
}

infobar.info button.flat:backdrop,
infobar.info button.flat:disabled,
infobar.info button.flat:backdrop:disabled,
infobar.question button.flat:backdrop,
infobar.question button.flat:disabled,
infobar.question button.flat:backdrop:disabled,
infobar.warning button.flat:backdrop,
infobar.warning button.flat:disabled,
infobar.warning button.flat:backdrop:disabled,
infobar.error button.flat:backdrop,
infobar.error button.flat:disabled,
infobar.error button.flat:backdrop:disabled {
  border-color: transparent;
  background-color: transparent;
  background-image: none;
  background-image: none;
}

infobar.info button:disabled,
infobar.question button:disabled,
infobar.warning button:disabled,
infobar.error button:disabled {
  color: #8d8d8d;
  border-color: transparent;
  background-color: transparent;
  background-image: none;
}

infobar.info button:disabled:active,
infobar.info button:disabled:checked,
infobar.question button:disabled:active,
infobar.question button:disabled:checked,
infobar.warning button:disabled:active,
infobar.warning button:disabled:checked,
infobar.error button:disabled:active,
infobar.error button:disabled:checked {
  color: #8d8d8d;
  border-color: white;
  background-color: #33aeff;
  box-shadow: none;
  background-image: none;
}

infobar.info button.suggested-action,
infobar.question button.suggested-action,
infobar.warning button.suggested-action,
infobar.error button.suggested-action {
  color: #ecf2f2;
  outline-color: transparent;
  border-color: transparent;
  background-color: #21252b;
  background-image: none;
}

infobar.info button.suggested-action:hover,
infobar.question button.suggested-action:hover,
infobar.warning button.suggested-action:hover,
infobar.error button.suggested-action:hover {
  color: #ecf2f2;
  outline-color: transparent;
  border-color: transparent;
  background-color: #2b2f35;
  background-image: none;
}

infobar.info button.suggested-action:active,
infobar.question button.suggested-action:active,
infobar.warning button.suggested-action:active,
infobar.error button.suggested-action:active {
  color: #15191f;
  outline-color: transparent;
  border-color: transparent;
  background-color: #33aeff;
  box-shadow: none;
  background-image: none;
}

infobar.info button.suggested-action:disabled,
infobar.question button.suggested-action:disabled,
infobar.warning button.suggested-action:disabled,
infobar.error button.suggested-action:disabled {
  color: #8d8d8d;
  border-color: transparent;
  background-color: transparent;
  background-image: none;
}

infobar.info button.suggested-action:backdrop,
infobar.question button.suggested-action:backdrop,
infobar.warning button.suggested-action:backdrop,
infobar.error button.suggested-action:backdrop {
  border-color: transparent;
  background-color: #2f333d;
  background-image: none;
}

infobar.info button.suggested-action:backdrop label,
infobar.info button.suggested-action:backdrop,
infobar.question button.suggested-action:backdrop label,
infobar.question button.suggested-action:backdrop,
infobar.warning button.suggested-action:backdrop label,
infobar.warning button.suggested-action:backdrop,
infobar.error button.suggested-action:backdrop label,
infobar.error button.suggested-action:backdrop {
  color: #8d8d8d;
}

infobar.info button.suggested-action:backdrop:disabled,
infobar.question button.suggested-action:backdrop:disabled,
infobar.warning button.suggested-action:backdrop:disabled,
infobar.error button.suggested-action:backdrop:disabled {
  border-color: transparent;
  background-color: transparent;
  background-image: none;
}

infobar.info button.suggested-action:backdrop:disabled label,
infobar.info button.suggested-action:backdrop:disabled,
infobar.question button.suggested-action:backdrop:disabled label,
infobar.question button.suggested-action:backdrop:disabled,
infobar.warning button.suggested-action:backdrop:disabled label,
infobar.warning button.suggested-action:backdrop:disabled,
infobar.error button.suggested-action:backdrop:disabled label,
infobar.error button.suggested-action:backdrop:disabled {
  color: #414141;
}

infobar.info selection,
infobar.question selection,
infobar.warning selection,
infobar.error selection {
  background-color: #33aeff;
}

/************ Tooltips * */
tooltip {
  padding: 4px; /* not working */
  border-radius: 3px;
  box-shadow: none;
}

tooltip.background {
  border-radius: 3px;
  background-color: rgba(0, 0, 0, 0.8);
  background-clip: padding-box;
  border: 1px solid rgba(255, 255, 255, 0.1);
}

tooltip decoration {
  background-color: transparent;
}

tooltip * {
  padding: 4px;
  background-color: transparent;
  color: white;
}

/***************** Color Chooser * */
colorswatch:drop(active),
colorswatch {
  border-style: none;
}

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

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

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

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

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

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

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

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

colorswatch.dark {
  outline-color: rgba(255, 255, 255, 0.6);
}

colorswatch.dark overlay {
  color: white;
}

colorswatch.dark overlay:backdrop {
  color: rgba(255, 255, 255, 0.5);
}

colorswatch.light {
  outline-color: rgba(0, 0, 0, 0.6);
}

colorswatch.light overlay {
  color: black;
}

colorswatch.light overlay:backdrop {
  color: rgba(0, 0, 0, 0.5);
}

colorswatch:drop(active) {
  box-shadow: none;
}

colorswatch:drop(active).light overlay {
  border-color: transparent;
}

colorswatch:drop(active).dark overlay {
  border-color: transparent;
}

colorswatch overlay {
  border: 1px solid transparent;
}

colorswatch#add-color-button {
  border-radius: 5px 8px 0 0;
}

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

colorswatch#add-color-button overlay {
  color: #ecf2f2;
  outline-color: transparent;
  border-color: transparent;
  background-color: #21252b;
  background-image: none;
}

colorswatch#add-color-button overlay:hover {
  color: #ecf2f2;
  outline-color: transparent;
  border-color: transparent;
  background-color: #2b2f35;
  background-image: none;
}

colorswatch#add-color-button overlay:backdrop {
  border-color: transparent;
  background-color: #2f333d;
  background-image: none;
}

colorswatch#add-color-button overlay:backdrop label,
colorswatch#add-color-button overlay:backdrop {
  color: #8d8d8d;
}

colorswatch:disabled {
  opacity: 0.5;
}

colorswatch:disabled overlay {
  border-color: rgba(0, 0, 0, 0.6);
  box-shadow: none;
}

row:selected colorswatch {
  box-shadow: 0 0 0 2px #15191f;
}

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

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

colorchooser .popover.osd {
  border-radius: 3px;
}

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

.content-view:hover {
  -gtk-icon-effect: highlight;
}

.content-view:backdrop {
  background-color: #090909;
}

.osd .scale-popup button.flat {
  border-style: none;
  border-radius: 3px;
}

.scale-popup button:hover {
  background-color: rgba(255, 255, 255, 0.1);
  border-radius: 3px;
}

/********************** Window Decorations * */
decoration {
  border-radius: 3px;
  border-width: 0px;
  box-shadow: 0 10px 15px 3px rgba(0, 0, 0, 0.5),
    0 0 0 1px rgba(61, 61, 61, 0.9);
  margin: 10px;
}

decoration:backdrop {
  box-shadow: 0 10px 15px 3px transparent, 0 2px 6px 1px rgba(0, 0, 0, 0.5),
    0 0 0 1px rgba(61, 61, 61, 0.9);
  transition: 200ms ease-out;
}

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

.popup decoration {
  box-shadow: none;
}

.ssd decoration {
  box-shadow: 0 0 0 1px rgba(61, 61, 61, 0.9);
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

.csd.popup decoration {
  border-radius: 0;
  box-shadow: 0 2px 6px 1px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(61, 61, 61, 0.8);
}

tooltip.csd decoration {
  border-radius: 3px;
  box-shadow: none;
}

messagedialog.csd decoration {
  border-radius: 3px;
  box-shadow: 0 2px 6px 1px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(61, 61, 61, 0.8);
}

.solid-csd decoration {
  margin: 0px;
  padding: 0px;
  background-color: #15191f;
  border: solid 0px #15191f;
  border-radius: 0;
}

window:not(.csd) {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

button.titlebutton {
  animation: none;
  background-image: none;
}

button.titlebutton:active {
  background-image: none;
}

.view:selected:focus,
.view:selected,
iconview:selected,
.view text:selected,
iconview text:selected,
textview text:selected,
flowbox flowboxchild:selected,
modelbutton.flat:selected,
.menuitem.button.flat:selected,
treeview.view:selected:focus,
treeview.view:selected,
row:selected,
calendar:selected {
  background-color: #33aeff;
}

row:selected label,
label:selected,
.selection-mode button.titlebutton,
.view:selected:focus,
.view:selected,
iconview:selected,
.view text:selected,
iconview text:selected,
textview text:selected,
flowbox flowboxchild:selected,
modelbutton.flat:selected,
.menuitem.button.flat:selected,
treeview.view:selected:focus,
treeview.view:selected,
row:selected,
calendar:selected {
  color: #15191f;
}

row:selected label:disabled,
label:disabled:selected,
.selection-mode button.titlebutton:disabled,
iconview:disabled:selected:focus,
.view:disabled:selected,
iconview:disabled:selected,
iconview text:disabled:selected:focus,
textview text:disabled:selected:focus,
.view text:disabled:selected,
iconview text:disabled:selected,
textview text:disabled:selected,
flowbox flowboxchild:disabled:selected,
label:disabled selection,
modelbutton.flat:disabled:selected,
.menuitem.button.flat:disabled:selected,
row:disabled:selected,
calendar:disabled:selected {
  color: #8d8d8d;
}

row:selected label:backdrop,
label:backdrop:selected,
.selection-mode button.titlebutton:backdrop,
iconview:backdrop:selected:focus,
.view:backdrop:selected,
iconview:backdrop:selected,
iconview text:backdrop:selected:focus,
textview text:backdrop:selected:focus,
.view text:backdrop:selected,
iconview text:backdrop:selected,
textview text:backdrop:selected,
flowbox flowboxchild:backdrop:selected,
label:backdrop selection,
modelbutton.flat:backdrop:selected,
.menuitem.button.flat:backdrop:selected,
row:backdrop:selected,
calendar:backdrop:selected {
  color: #15191f;
}

row:selected label:backdrop:disabled,
label:backdrop:disabled:selected,
.selection-mode button.titlebutton:backdrop:disabled,
.view:backdrop:disabled:selected,
iconview:backdrop:disabled:selected,
.view text:backdrop:disabled:selected,
iconview text:backdrop:disabled:selected,
textview text:backdrop:disabled:selected,
flowbox flowboxchild:backdrop:disabled:selected,
label:disabled selection:backdrop,
label:backdrop selection:disabled,
modelbutton.flat:backdrop:disabled:selected,
.menuitem.button.flat:backdrop:disabled:selected,
row:backdrop:disabled:selected,
calendar:backdrop:disabled:selected {
  color: #bbbbbb;
}

.monospace {
  font-family: monospace;
}

/********************** Touch Copy & Paste * */
cursor-handle {
  background-color: transparent;
  background-image: none;
  box-shadow: none;
  border-style: none;
  color: #ecf2f2;
}

cursor-handle:hover {
  color: white;
}

cursor-handle:active {
  color: #ecf2f2;
}

cursor-handle.top:dir(ltr),
cursor-handle.bottom:dir(rtl) {
  -gtk-icon-source: image(
    -gtk-recolor(url("assets/text-select-start-symbolic.svg")),
    -gtk-recolor(url("assets/text-select-start-symbolic.symbolic.png"))
  );
  padding-left: 10px;
}

cursor-handle.bottom:dir(ltr),
cursor-handle.top:dir(rtl) {
  -gtk-icon-source: image(
    -gtk-recolor(url("assets/text-select-end-symbolic.svg")),
    -gtk-recolor(url("assets/text-select-end-symbolic.symbolic.png"))
  );
  padding-left: 10px;
}

cursor-handle.insertion-cursor:dir(ltr),
cursor-handle.insertion-cursor:dir(rtl) {
  -gtk-icon-source: image(
    -gtk-recolor(url("assets/slider-horz-scale-has-marks-above-symbolic.svg")),
    -gtk-recolor(url("assets/slider-horz-scale-has-marks-above-symbolic.symbolic.png"))
  );
}

.context-menu {
  font: initial;
}

.keycap {
  min-width: 20px;
  min-height: 25px;
  margin-top: 2px;
  padding-bottom: 3px;
  padding-left: 6px;
  padding-right: 6px;
  color: #ecf2f2;
  background-color: #15191f;
  border: 1px solid;
  border-color: transparent;
  border-radius: 3px;
  font-size: smaller;
}

.keycap:backdrop {
  background-color: #15191f;
  color: #8d8d8d;
  transition: 200ms ease-out;
}

:not(decoration):not(window):drop(active):focus,
:not(decoration):not(window):drop(active) {
  color: #45dcb3;
  caret-color: #45dcb3;
}

stackswitcher {
  border: none;
  border-radius: 3px;
}

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

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

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

button.emoji-section {
  border-color: transparent;
  border-width: 3px;
  border-style: none none solid;
  border-radius: 0;
  margin: 2px 4px 2px 4px;
  padding: 3px 0 0;
  min-width: 32px;
  min-height: 28px; /* reset props inherited from the button style */
  background: none;
  box-shadow: none;
  outline-offset: -5px;
}

button.emoji-section:backdrop:not(:checked) {
  border-color: transparent;
}

button.emoji-section:hover {
  border-color: transparent;
}

button.emoji-section:checked {
  border-color: transparent;
}

button.emoji-section label {
  padding: 0;
  color: #ecf2f2;
  opacity: 1;
}

button.emoji-section:hover label,
button.emoji-section:checked label {
  color: #ecf2f2;
  opacity: 1;
}

popover.emoji-picker .emoji {
  font-size: x-large;
  padding: 6px;
  border-radius: 3px;
}

popover.emoji-picker .emoji :hover {
  background: #ecf2f2;
}

popover.emoji-completion arrow {
  border: none;
  background: none;
}

popover.emoji-completion contents row box {
  padding: 2px 10px;
}

popover.emoji-completion .emoji:hover {
  background: #21252b;
}

/************ Nautilus * */
.nautilus-window notebook > stack {
  border-radius: 0 0 8px 8px;
}

.nautilus-window .floating-bar {
  min-height: 32px;
  padding: 0;
  border-style: solid solid none;
  border-width: 1px;
  border-color: transparent;
  border-radius: 5px 8px 0 0;
  background-color: #15191f;
  background-clip: padding-box;
}

.nautilus-window .floating-bar.bottom.left {
  margin-right: 7px;
  border-left-style: none;
  border-top-left-radius: 0;
  border-bottom-left-radius: 8px;
}

.nautilus-window .floating-bar.bottom.right {
  margin-left: 7px;
  border-right-style: none;
  border-top-right-radius: 0;
  border-bottom-right-radius: 8px;
}

.nautilus-window .floating-bar button {
  padding: 0;
}

.nautilus-window.maximized .floating-bar {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}

.nautilus-desktop.nautilus-canvas-item {
  color: white;
  text-shadow: 1px 1px rgba(0, 0, 0, 0.6);
}

.nautilus-desktop.nautilus-canvas-item:active {
  color: #8d8d8d;
}

.nautilus-desktop.nautilus-canvas-item:selected {
  color: #15191f;
  text-shadow: none;
}

.nautilus-canvas-item.dim-label,
label.nautilus-canvas-item.separator,
.titlebar:not(headerbar) .nautilus-canvas-item.subtitle,
headerbar .nautilus-canvas-item.subtitle,
label.nautilus-canvas-item.separator,
headerbar .nautilus-canvas-item.subtitle,
.titlebar:not(headerbar) .nautilus-canvas-item.subtitle,
popover.background label.nautilus-canvas-item.separator,
.nautilus-list-dim-label {
  color: #989898;
}

.nautilus-canvas-item.dim-label:selected,
label.nautilus-canvas-item.separator:selected,
.titlebar:not(headerbar) .nautilus-canvas-item.subtitle:selected,
headerbar .nautilus-canvas-item.subtitle:selected,
label.nautilus-canvas-item.separator:selected,
headerbar .nautilus-canvas-item.subtitle:selected,
.titlebar:not(headerbar) .nautilus-canvas-item.subtitle:selected,
.nautilus-canvas-item.dim-label:selected:focus,
label.nautilus-canvas-item.separator:selected:focus,
.titlebar:not(headerbar) .nautilus-canvas-item.subtitle:selected:focus,
headerbar .nautilus-canvas-item.subtitle:selected:focus,
label.nautilus-canvas-item.separator:selected:focus,
headerbar .nautilus-canvas-item.subtitle:selected:focus,
.titlebar:not(headerbar) .nautilus-canvas-item.subtitle:selected:focus,
.nautilus-list-dim-label:selected,
.nautilus-list-dim-label:selected:focus {
  color: rgba(27, 27, 27, 0.45);
}

/*************** LibreOffice * */
toolbutton > button.image-button.text-button.flat button {
  border-color: transparent;
  background-color: transparent;
  background-image: none;
  background-image: none;
}

toolbutton > button.image-button.text-button.flat button:hover {
  color: #ecf2f2;
  outline-color: transparent;
  border-color: transparent;
  background-color: #21252b;
  background-image: none;
}

toolbutton > button.image-button.text-button.flat button:active,
toolbutton > button.image-button.text-button.flat button:checked {
  color: #ecf2f2;
  outline-color: transparent;
  border-color: transparent;
  background-color: #2b2f35;
  box-shadow: none;
  background-image: none;
}

/********* Gedit * */
.gedit-search-entry-occurrences-tag {
  color: rgba(255, 255, 255, 0.45);
  border: none;
  background-color: transparent;
}

.gedit-map-frame border {
  border-radius: 0;
}

.gedit-map-frame border:dir(ltr) {
  border-style: none none none solid;
}

.gedit-map-frame border:dir(rtl) {
  border-style: none solid none none;
}

/****************** Gnome Terminal * */
terminal-window decoration {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

/****************** Gnome Software * */
.category_page_header_filter_box {
  border-image: linear-gradient(to bottom, #3d3d3d, #3d3d3d) 0 0 1 0/0 0 1px 0
    stretch;
  background-image: image(#15191f);
}

.category_page_header_filter_box button,
.category_page_header_filter_box button:hover,
.category_page_header_filter_box button:checked {
  color: #ecf2f2;
  margin: 3px 0 0 0;
  padding: 4px;
}

.category_page_header_filter_box button:disabled {
  color: #8d8d8d;
}

.category_page_header_filter_box button:backdrop,
.category_page_header_filter_box button label:backdrop {
  color: #8d8d8d;
}

/*********************** LightDM Gtk Greeter * */
.lightdm-gtk-greeter #panel_window {
  border-radius: 0;
  border: none;
}

.lightdm-gtk-greeter #buttonbox_frame {
  padding-top: 24px;
}

/******** XFCE * */
.xfce4-panel.background button {
  border-radius: 0;
  margin: 0;
  font-weight: bold;
}

.xfce4-panel.background button:hover {
  background-color: #3d3d3d;
}

.xfce4-panel.background button:active,
.xfce4-panel.background button:checked {
  color: #ecf2f2;
  background-color: #5f5f5f;
  background-image: none;
}

.xfce4-panel.background button menuitem {
  font-weight: normal;
}

.tasklist button.toggle {
  background-color: transparent;
  border-top-width: 0;
  border-bottom-width: 0;
}

.tasklist button.toggle:checked {
  background: none;
  box-shadow: inset 0 -3px #ecf2f2;
}

wnck-pager {
  background-color: #2b2f35;
}

wnck-pager:selected {
  background-color: #5f5f5f;
}

wnck-pager:hover {
  background-color: #5f5f5f;
}

XfdesktopIconView.view {
  background: transparent;
  color: white;
}

XfdesktopIconView.view:active {
  background: #ecf2f2;
  color: #15191f;
  text-shadow: none;
}

XfdesktopIconView.view .label {
  text-shadow: 1px 1px 2px black;
}

/* GTK NAMED COLORS ---------------- use responsibly! */
/*
widget text/foreground color */
@define-color theme_fg_color #ecf2f2;
/*
text color for entries, views and content in general */
@define-color theme_text_color #ecf2f2;
/*
widget base background color */
@define-color theme_bg_color #15191f;
/*
text widgets and the like base background color */
@define-color theme_base_color #15191f;
/*
base background color of selections */
@define-color theme_selected_bg_color #ecf2f2;
/*
text/foreground color of selections */
@define-color theme_selected_fg_color #33aeff;
/*
base background color of insensitive widgets */
@define-color insensitive_bg_color #15191f;
/*
text foreground color of insensitive widgets */
@define-color insensitive_fg_color #21252b;
/*
insensitive text widgets and the like base background color */
@define-color insensitive_base_color #15191f;
/*
widget text/foreground color on backdrop windows */
@define-color theme_unfocused_fg_color #21252b;
/*
text color for entries, views and content in general on backdrop windows */
@define-color theme_unfocused_text_color #ecf2f2;
/*
widget base background color on backdrop windows */
@define-color theme_unfocused_bg_color #15191f;
/*
text widgets and the like base background color on backdrop windows */
@define-color theme_unfocused_base_color #15191f;
/*
base background color of selections on backdrop windows */
@define-color theme_unfocused_selected_bg_color #ecf2f2;
/*
text/foreground color of selections on backdrop windows */
@define-color theme_unfocused_selected_fg_color #15191f;
/*
insensitive color on backdrop windows*/
@define-color unfocused_insensitive_color #414141;
/*
widgets main borders color */
@define-color borders #3d3d3d;
/*
widgets main borders color on backdrop windows */
@define-color unfocused_borders #363636;
/*
these are pretty self explicative */
@define-color placeholder_text_color #21252b;
@define-color warning_color #febc8d;
@define-color error_color #e35d5d;
@define-color success_color #45dcb3;
/*
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 shade(#ecf2f2, 1.8);
@define-color wm_unfocused_title #21252b;
@define-color wm_highlight transparent;
@define-color wm_borders_edge rgba(255, 255, 255, 0.07);
@define-color wm_bg_a shade(#15191f, 1.2);
@define-color wm_bg_b #15191f;
@define-color wm_shadow alpha(black, 0.35);
@define-color wm_border alpha(black, 0.18);
@define-color wm_button_hover_color_a shade(#15191f, 1.3);
@define-color wm_button_hover_color_b #15191f;
@define-color wm_button_active_color_a shade(#15191f, 0.85);
@define-color wm_button_active_color_b shade(#15191f, 0.89);
@define-color wm_button_active_color_c shade(#15191f, 0.9);
@define-color content_view_bg #15191f;

@import url("custom.css");
