@define-color settings_separator alpha(shade(@theme_fg_color, 0.8), 0.15);
@define-color settings_separator_shadow alpha(shade(@theme_bg_color, 0.8), 0.2);

.gamecard
{
	opacity: 0.75;
	transition: 100ms;
	background-color: alpha(#999, 0.5);
	color: white;
	-gtk-icon-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
}

.gamecard, .gamecard border
{
	border: none;
	border-radius: 4px;
}

.gamecard.installed, .gamecard.static
{
	opacity: 1;
}

.gamecard.hover:not(.installed),
.games-grid flowboxchild:focus .gamecard:not(.installed),
.games-grid flowboxchild:selected .gamecard:not(.installed)
{
	opacity: 0.8;
}

.gamecard GtkLabel, .gamecard label
{
	color: rgba(255, 255, 255, 0.9);
	font-weight: bold;
	margin-top: 16px;
	font-size: 1.3em;
	text-shadow: 0 2px 4px rgba(0, 0, 0, 0.6);
}

.gamecard GtkLabel.status, .gamecard label.status
{
	color: rgba(255, 255, 255, 0.6);
	font-size: 0.9em;
	margin-top: -8px;
	margin-bottom: -16px;
	opacity: 0;
	transition: 100ms;
}

.gamecard.installing GtkLabel.status, .gamecard.installing label.status,
.gamecard.hover GtkLabel.status, .gamecard.hover label.status,
.gamecard.running GtkLabel.status, .gamecard.running label.status,
.games-grid flowboxchild:focus .gamecard GtkLabel.status, .games-grid flowboxchild:focus .gamecard label.status,
.games-grid flowboxchild:selected .gamecard GtkLabel.status, .games-grid flowboxchild:selected .gamecard label.status
{
	margin-bottom: 0px;
	opacity: 1;
}

.gamecard.downloading GtkLabel.status, .gamecard.downloading label.status,
.gamecard.downloading.hover GtkLabel.status, .gamecard.downloading.hover label.status,
.games-grid flowboxchild:focus .gamecard.downloading GtkLabel.status, .games-grid flowboxchild:focus .gamecard.downloading label.status,
.games-grid flowboxchild:selected .gamecard.downloading GtkLabel.status, .games-grid flowboxchild:selected .gamecard.downloading label.status
{
	margin-bottom: 8px;
	opacity: 1;
}

.gamecard .info
{
	background-color: transparent;
	background-image: linear-gradient(to top, rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0));
	border-radius: 0 0 4px 4px;
	border: none;
	outline: none;
	box-shadow: none;
}

.gamecard .actions
{
	background-color: rgba(0, 0, 0, 0.4);
	border: 1px rgba(0, 0, 0, 0.6) solid;
	border-radius: 4px;
	transition: 100ms;
}

.gamecard.installed .actions, .gamecard.static .actions
{
	background-color: rgba(0, 0, 0, 0);
}

.gamecard.hover .actions,
.games-grid flowboxchild:focus .gamecard .actions,
.games-grid flowboxchild:selected .gamecard .actions
{
	background-color: rgba(0, 0, 0, 0.2);
}

.gamecard.installed.hover .actions,
.games-grid flowboxchild:focus .gamecard.installed .actions,
.games-grid flowboxchild:selected .gamecard.installed .actions
{
	background-color: rgba(255, 255, 255, 0.2);
}

.gamecard .progress
{
	background-color: rgba(255, 255, 255, 0.6);
	border-radius: 4px;
	transition: 100ms;
	margin-bottom: -16px;
	opacity: 0;
}

.gamecard.downloading .progress
{
	margin-bottom: 0;
	opacity: 1;
}

.gamecard image
{
	opacity: 0.6;
	transition: 100ms;
}

.gamecard.hover image,
.games-grid flowboxchild:focus image,
.games-grid flowboxchild:selected image
{
	opacity: 0.8;
}

.games-grid flowboxchild
{
	border-radius: 4px;
	padding: 0;
}

.games-grid flowboxchild:focus
{
	background: @theme_selected_bg_color;
}

.gamecard.running .actions,
.gamecard.hover.running .actions,
.games-grid flowboxchild:focus .gamecard.running .actions,
.games-grid flowboxchild:selected .gamecard.running .actions
{
	background-color: rgba(0, 0, 0, 0.6);
}
.gamecard .running-indicator,
.gamecard .no-image-indicator
{
	opacity: 1;
}

.gamecard .images-download-button
{
	color: white;
	background: alpha(#333, 0.5);
	border-radius: 50%;
	border: none;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
	min-width: 28px;
	min-height: 28px;
	padding: 0;
}
.gamecard .images-download-button image
{
	opacity: 1;
}
.gamecard .images-download-button:checked
{
	background: alpha(#333, 0.8);
}

.h1
{
	font-size: 24pt;
}
.h2
{
	font-weight: 300;
	font-size: 18pt;
}
.h3
{
	font-size: 11pt;
}
.h4, .category-label
{
	font-weight: bold;
}
.h4, .gameinfo-singleline-value, .gameinfo-multiline-value
{
	padding-bottom: 6px;
	padding-top: 6px;
}
.gameinfo-multiline-value
{
	padding-top: 0;
}
.description-header
{
	padding-bottom: 0;
}
GtkList .h4, list .h4
{
	padding-left: 6px;
	padding-right: 6px;
}
GtkButton GtkLabel, button label
{
	padding: 0 6px;
}
.card
{
	border: none;
	border-color: transparent;
	box-shadow: 0 0 0 1px alpha(#000, 0.05), 0 3px 3px alpha(#000, 0.22);
	border-radius: 4px;
}
GtkListBox:not(:backdrop) .list-row:selected:focus GtkLabel.category-label,
list:not(:backdrop) row:selected:focus label.category-label
{
	color: alpha(#ffffff, 0.8);
}
.overlay-bar
{
	background-color: alpha(#222, 0.9);
	border-radius: 3px;
	border-width: 0;
	box-shadow: 0 1px 3px alpha(#000, 0.12), 0 1px 2px alpha(#000, 0.24);
	color: #fff;
	padding: 3px 6px;
	text-shadow: 0 1px 2px alpha(#000, 0.6);
	margin: 3px;
}
.overlay-bar label
{
	color: #fff;
	text-shadow: 0 1px 2px alpha(#000, 0.6);
}

.installers-list
{
	background: transparent;
}

.installers-list .list-row,
.installers-list row
{
	border-radius: 2px;
}

.downloads-list .list-row,
.downloads-list row
{
	background: transparent;
	border-bottom: 1px alpha(#333, 0.3) solid;
	outline: none;
}
.downloads-list .list-row:last-child,
.downloads-list row:last-child
{
	border-bottom: none;
}
.downloads-list .list-row:selected,
.downloads-list row:selected
{
	background: transparent;
	outline: none;
}
.downloads-list .list-row:focus,
.downloads-list row:focus
{
	background: transparent;
	outline: none;
}

.games-list-header
{
	background: shade(@theme_bg_color, 0.95);
	border-top: 1px shade(@theme_bg_color, 0.7) solid;
	border-bottom: 1px shade(@theme_bg_color, 0.7) solid;
	padding: 6px 5px;
}
.games-list-header.first
{
	border-top: none;
}
.games-list-header > label
{
	padding: 0 3px;
}

.game-list-row
{
	padding: 0;
	outline: none;
}
.game-list-row .title
{
	padding: 0;
}
.game-list-row .title.bold
{
	font-weight: bold;
}
.game-list-row .status
{
	font-size: 8pt;
	opacity: 0.8;
	padding: 0;
}

.game-list-row.dim
{
	opacity: 0.6;
}

.gameinfo-background :not(.igdb-data-container-scrollable-value) > undershoot.left
{
	background: linear-gradient(to left, alpha(@theme_bg_color, 0) 50%, @theme_bg_color);
}
.gameinfo-background :not(.igdb-data-container-scrollable-value) > undershoot.right
{
	background: linear-gradient(to right, alpha(@theme_bg_color, 0) 50%, @theme_bg_color);
}
.dl-progress-type-icon
{
	padding: 4px;
	background-color: shade(@theme_bg_color, 0.95);
	border-radius: 50%;
	border: 1px shade(@theme_bg_color, 0.75) solid;
	color: @theme_fg_color;
}

GtkListBox.gameinfo-content-list,
list.gameinfo-content-list
{
	background: transparent;
}
GtkListBox.gameinfo-content-list .list-row,
list.gameinfo-content-list row
{
	background: transparent;
	border-bottom: 1px alpha(#888, 0.2) solid;
	outline: none;
	padding: 0;
	margin: 0;
}
GtkListBox.gameinfo-content-list .list-row:last-child,
list.gameinfo-content-list row:last-child
{
	border-bottom: none;
}
GtkListBox.gameinfo-content-list .list-row:selected,
list.gameinfo-content-list row:selected
{
	outline: none;
}
GtkListBox.gameinfo-content-list .list-row:focus,
list.gameinfo-content-list row:focus
{
	background: transparent;
	outline: none;
}
GtkListBox.gameinfo-content-list .list-row:hover,
list.gameinfo-content-list row:hover
{
	background: alpha(#888, 0.1);
}

.gameinfo-content-list .progress
{
	border: none;
	outline: none;
	background: alpha(#888, 0.2);
	opacity: 0;
	transition: 100ms;
}
.gameinfo-content-list .progress.downloading
{
	opacity: 1;
}

.gameinfo-toolbar
{
	border: none;
	border-bottom: 1px shade(@theme_bg_color, 0.7) solid;
	box-shadow: none;
	border-radius: 0;
	padding: 2px 16px;
	margin: 0;
	background: shade(@theme_bg_color, 0.95);
}

.gameinfo-toolbar revealer, .gameinfo-toolbar box
{
	border: none;
	box-shadow: none;
	border-radius: 0;
	padding: 0;
	margin: 0;
	background: transparent;
}

.dark .gameinfo-toolbar
{
	border-bottom: 1px alpha(#333, 0.8) solid;
	background: alpha(#333, 0.3);
}

dialog .gameinfo-toolbar, dialog .dark .gameinfo-toolbar
{
	background: transparent;
}

GtkListBox.tags-list,
list.tags-list
{
	background: transparent;
}
GtkListBox.tags-list .list-row,
list.tags-list row
{
	background: transparent;
	outline: none;
	padding: 0;
	margin: 0;
	border-radius: 2px;
}
GtkListBox.tags-list.not-rounded .list-row,
list.tags-list.not-rounded row
{
	border-radius: 0;
}
GtkListBox.tags-list .list-row:last-child,
list.tags-list row:last-child
{
	border-bottom: none;
}
GtkListBox.tags-list .list-row:selected,
list.tags-list row:selected
{
	outline: none;
}
GtkListBox.tags-list .list-row:focus,
list.tags-list row:focus
{
	background: @theme_selected_bg_color;
	color: @theme_selected_fg_color;
	outline: none;
}
GtkListBox.tags-list .list-row:hover,
list.tags-list row:hover
{
	background: alpha(#888, 0.1);
}
GtkListBox.tags-list .list-row:focus:hover,
list.tags-list row:focus:hover
{
	background: shade(@theme_selected_bg_color, 0.9);
}

.tags-list-header.hover
{
	background: alpha(#888, 0.1);
}
.tags-list-header label
{
	padding: 2px 0;
}
.tags-list-header:focus
{
	background: @theme_selected_bg_color;
	color: @theme_selected_fg_color;
}
.tags-list-header.hover:focus
{
	background: shade(@theme_selected_bg_color, 0.9);
}
.tags-list-header:focus label
{
	color: @theme_selected_fg_color;
}

GtkListBox.overlays-list,
list.overlays-list
{
	background: transparent;
}
GtkListBox.overlays-list .list-row,
list.overlays-list row
{
	background: transparent;
	outline: none;
	padding: 0;
	margin: 0;
	border-radius: 2px;
	border-bottom: 1px alpha(#888, 0.2) solid;
}
GtkListBox.overlays-list .list-row:last-child,
list.overlays-list row:last-child
{
	border-bottom: none;
}
GtkListBox.overlays-list .list-row:selected,
list.overlays-list row:selected
{
	outline: none;
}
GtkListBox.overlays-list .list-row:hover,
list.overlays-list row:hover
{
	background: alpha(#888, 0.1);
}

.link, .link label
{
	padding: 0;
}

button.file label
{
	padding: 0 2px;
}

checkbutton:not(.default-padding), checkbutton:not(.default-padding) check
{
	padding: 0;
	margin: 0;
}

dialog .sidebar,
dialog .sidebar list
{
	background: transparent;
}

.icons-modebutton > *, .installer-platforms-list > *
{
	padding: 4px;
	min-width: 16px;
	min-height: 16px;
}
.icons-modebutton > * > image, .installer-platforms-list > * > image
{
	padding: 0;
	margin: 0;
}

.menuitem-game-action:dir(ltr), .menuitem-merged-game:dir(ltr)
{
	border-left: 8px alpha(#888, 0.2) solid;
}
.menuitem-game-action > label:dir(ltr), .menuitem-merged-game > label:dir(ltr)
{
	margin-left: -8px;
}
.menuitem-game-action:dir(rtl), .menuitem-merged-game:dir(rtl)
{
	border-right: 8px alpha(#888, 0.2) solid;
}
.menuitem-game-action > label:dir(rtl), .menuitem-merged-game > label:dir(rtl)
{
	margin-right: -8px;
}
.menuitem-game-action.primary
{
	font-weight: bold;
}

.stack-switcher .text-button
{
	min-width: 32px;
}

.settings-dialog actionbar, .settings-dialog actionbar > revealer
{
	padding: 0;
}
.settings-dialog actionbar > revealer > box
{
	padding: 4px;
}

.settings-dialog:dir(ltr)
{
	background-image: linear-gradient(to right,
		                              shade(@theme_bg_color, 0.95) 202px,
	                                  @settings_separator 202px, @settings_separator 203px,
	                                  @settings_separator_shadow 203px, @settings_separator_shadow 204px,
	                                  transparent 204px, transparent);
}
.settings-dialog headerbar:dir(ltr)
{
	background-image: linear-gradient(to right,
		                              alpha(shade(@theme_bg_color, 0.1), 0.05) 202px,
	                                  @settings_separator 202px, @settings_separator 203px,
	                                  @settings_separator_shadow 203px, @settings_separator_shadow 204px,
	                                  transparent 204px, transparent);
}
.settings-dialog:dir(rtl)
{
	background-image: linear-gradient(to left,
		                              shade(@theme_bg_color, 0.95) 202px,
	                                  @settings_separator 202px, @settings_separator 203px,
	                                  @settings_separator_shadow 203px, @settings_separator_shadow 204px,
	                                  transparent 204px, transparent);
}
.settings-dialog headerbar:dir(rtl)
{
	background-image: linear-gradient(to left,
		                              alpha(shade(@theme_bg_color, 0.1), 0.05) 202px,
	                                  @settings_separator 202px, @settings_separator 203px,
	                                  @settings_separator_shadow 203px, @settings_separator_shadow 204px,
	                                  transparent 204px, transparent);
}

.settings-dialog .settings-pages-sidebar list
{
	background: shade(@theme_bg_color, 0.95);
}

.igdb-data-container, .gameinfo-sidebar-block
{
	background: shade(@theme_bg_color, 0.95);
	border-radius: 4px;
	border: 1px shade(@theme_bg_color, 0.7) solid;
}

.igdb-data-container-scrollable-header
{
	padding-bottom: 0;
}

.flat-list .list-row:not(:last-child), .flat-list row:not(:last-child)
{
	border-bottom: 1px shade(@theme_bg_color, 0.7) solid;
}

.separated-list .list-row:not(:last-child), .separated-list row:not(:last-child)
{
	border-bottom: 1px shade(@theme_bg_color, 0.9) solid;
}

.provider-settings
{
	background: alpha(shade(@theme_bg_color, 0.95), 0.5);
}

.import-emulated-games-dialog .select-all
{
	margin: 0;
	padding: 0;
}
.import-emulated-games-dialog .select-all > check
{
	margin: 0 16px 0 0;
	padding: 0;
}
.import-emulated-games-dialog .select-all > label
{
	margin: 0;
	padding: 0;
}
.import-emulated-games-dialog .dialog-action-box
{
	margin: 0;
	padding: 0 8px 2px 8px;
}
.import-emulated-games-dialog .dialog-action-area
{
	margin: 0;
	padding: 0 8px;
}
