body.show-to-top {
	/* To support the back to top functionality */
	min-height:		100%;
	height:			auto;
	position:		relative;
}

body {
	font-family:	'Roboto', sans-serif;
	font-size:		15px;
}

nav .logo.brand {
	background-color:	inherit;
	font-weight: 	700;
	font-size: 		48px;
	font-family: 	'Raleway', sans-serif;
	color: 			#3697d9;
}

.brand {
	font-family: 	'Raleway', sans-serif;
	color: 			#3697d9;
}

.nav > li > a {
	font-family: 	'Raleway', sans-serif;
	font-weight:	normal;	
}

.top-navigation .nav > li > a.p-none {
	padding:		0px;
}

.top-navigation .nav > li .decorated-label {
	padding-right:	15px;
}

/* Redeclare without child selector */
.nav > li a {
	position: 		relative;
	display: 		block;
}

.top-navigation .nav > li a {
	padding: 		15px 20px;
}

/* End redeclarations */

.count-info .label.label-info {
	line-height: 	12px;
	padding: 		2px 5px;
	position: 		absolute;
	top:			unset;
	right: 			6px;
	bottom: 		12px;
}

.vcenter {
    display: inline-block;
    vertical-align: middle;
    float: none;
}

.flex-vertical-align {
    display: flex;
    align-items: center;
}

.horizontal-align {
    display: flex;
    justify-content: center;
}

.btn-truncate {
	overflow: 		hidden;
  	text-overflow: 	ellipsis;
  	white-space: 	nowrap;
}

.breadcrumb .active span {
	vertical-align:		middle;
}
	
.breadcrumb {
	background-color:	transparent;
}

.breadcrumb>li+li:before {
	content:		":";
}

.btn-link.text-right {
    text-align: right !important;
}

.btn-link.text-left {
    text-align: left !important;
}

.btn-link.text-left {
    text-align: left !important;
}


/*
If we don't have this, text-left is overridden by the more specific selector in form-horizontal to align right
 */
.form-horizontal .control-label.text-left {
    text-align: left;
}

/*
Fix for first row of form-group not aligning in INSPINIA: http://webapplayers.com/inspinia_admin-v2.4/tabs_horizontal_form.html
 */
.tabs-left .form-group {
    float: 		left;
    width: 		100%;
}

#right-sidebar {
	width: 80%;
	right: -80%;
}

.album-overview-thumbnail-grid-box {
	position:	relative;
}

.row.albums {
	display:	flex;
	flex-wrap:	wrap;
}

.album-overview-grid-box[class*='col-'] {
	display: 		flex;
	flex-direction: column;
	max-width:		250px;
}

.album-overview-grid-box .file {
	/* we remove this to avoid a bit-too-much padding and make better use of screen real estate */
	margin-right:	0px;
}

.album-overview-grid-box .file .image {
	height:			unset;
}

.album-overview-grid-box .file .icon {
	padding:		35px 10px;
	height:			unset;
}

.album-overview-thumbnail {
	position:relative;
    width: 100%;
    min-height: 100%;
    padding-bottom: 100%;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    -ms-interpolation-mode: nearest-neighbor;    
	transition: 	.5s ease;
}

.thumbnail-overlay {
	position: 		absolute;
	opacity: 		0;
	transition: 	.5s ease;
}

.thumbnail-overlay.clicked {
	opacity:	1;
}

.album-overview-thumbnail.clicked {
	opacity:	0.3;
}

.album-detail-thumbnail-grid-box .icon.clicked {
	opacity:	0.3;
}

.bg-opaque {
    background: rgba(0, 0, 0, 0.4);
}

.rounded-overlay-bottom-left {
    position: absolute;
    left: 0px;
    bottom: 0px;
    padding: 7px;
    border-radius: 0em .25em 0em 0em;
}

.rounded-overlay-bottom-right {
    position: absolute;
    right: 0px;
    bottom: 0px;
    padding: 7px;
    border-radius: .25em;
}

.album-overview-thumbnail-grid-box .compliance-notification .label {
	box-shadow: 	2px 2px 1px #d1dade;
}

.album-overview-thumbnail-grid-box .compliance-notification.bg-opaque .label {
	box-shadow: 	2px 2px 1px rgba(0,0,0,0.4);
}

.album-overview-grid-box .btn-truncate {
	max-width:		150px;
}

.btn-truncate.ladda-button > span.ladda-label {
	overflow: 		hidden;
  	text-overflow: 	ellipsis;
  	white-space: 	nowrap;
  	display:		block;
}

/*
Album detail page
*/

.album-detail-thumbnail-grid-box {
	position:		relative;
}

.album-detail .album-detail-thumbnail-grid-box .icon {
	height:			250px;
}

.album-detail-thumbnail-grid-box .icon .fa {
	font-size:		100px;
}

.btn-album-more-actions .dropdown-menu {
	width:		350px;
}

.btn-album-more-actions .dropdown-menu a {
	white-space:		normal;
}

/*
We force to display:block because if inline, overflow=hidden means the height is changed
*/
.album-overview-grid-box .ladda-button > span.ladda-label {
	max-width:		120px;
}

.vote-item .btn-truncate {
	max-width:		250px;
}

.vote-item .ladda-button > span.ladda-label {
	max-width:		260px;
}

.album-detail-display .btn-group > .btn-truncate {
	max-width:		120px;
}
.album-detail-display .btn-truncate {
	max-width:		160px;
}
.album-detail-display .btn-truncate.ladda-button > span.ladda-label {
	max-width:		180px;
}

.track-compliance .btn-truncate {
	max-width:		170px;
}

.feed-element-ignored :not(.media-body, .label-compliance, .label-compliance *, .actions, .actions *) {
    opacity:        0.6;
}

/*
End Album detail page
*/

.force-parent-line-height {
	line-height: inherit !important;
}

.p-none {
	padding:		0px !important;
}

.p-l-none {
	padding-left:	0px !important;
}

.p-r-none {
	padding-right:	0px !important;
}

.p-t-xs {
	padding-top:	10px;
}

.p-b-xs {
	padding-bottom:	10px;
}

.p-v-xs {
	padding-top:	10px;
	padding-bottom:	10px;
}

.p-v-sm {
	padding-top:	15px;
	padding-bottom:	15px;
}

.p-v-m {
	padding-top:	20px;
	padding-bottom:	20px;
}

.p-h-xxs {
	padding-left:	5px;
	padding-right:	5px;
}

.p-h-xl {
	padding-left:	40px;
	padding-right:	40px;
}

.m-h-sm {
	margin-left:	15px;
	margin-right:	15px;
}

.fa-decorator-br {
	margin: 		40% 0px 0px 50%;
	font-size: 		120%;
}

.fa-decorator-bc {
	margin: 		40% 0px 0px 0px;
	font-size: 		120%;
}

.fa-decorator-bl {
	margin: 		40% 50% 0px 0px;
	font-size: 		120%;
}

.fa-decorator-tl {
	margin: 		0px 50% 40% 0px;
	font-size: 		120%;
}

.fa-fw-compliance-icon {
	width:			0.9em;
}

.notice {
	display:		block;	
}

.notice ul {
	list-style: 	none outside none;
	margin-left: 	0;
	padding-left: 	0;
}

@media (max-width: 768px) {
	.navbar-header.m-r-xl {
		margin-right:	0;
	}
	.activity-summary.p-v-xs.p-h-xl {
		padding-left:	0;
		padding-right:	0;
	}
	.top-navigation .navbar-brand {
		padding-left:	15px;
	}
	.top-navigation.body-small .wrapper.wrapper-content {
		padding-top:	0;
	}
}

#ul-rule-enablement .list-group-item {
	cursor:				pointer;
}

.list-group-item.off .list-group-item-desc {
	opacity:			0.4;
}

.tab-pane.off {
	opacity:			0.4;
}

/* 
Classes to ensure columns in a row have the same height
*/ 
.row.equal-height {
	overflow:		hidden;	
}

[class*="col-"].equal-height {
	margin-bottom: 	-99999px;
	padding-bottom: 99999px;
}

.border-none {
	border:		none !important;
}

.border-top {
	border-top: 1px solid #e7eaec !important;
}

#modal-library-browser .browse-folders {
	height:		auto;
}

/* https://stackoverflow.com/questions/24166568/set-bootstrap-modal-body-height-by-percentage */
.modal-responsive-height .modal-dialog, .modal-responsive-height .modal-content {
	height:		80%;
}

.modal-responsive-height .modal-body {
    max-height: calc(100% - 128px);
    overflow-y: auto;
}

/* 
Override CSS3 switch to make less restrictive, need to support hidden checkbox for Lift
https://groups.google.com/forum/#!topic/liftweb/qju5PmCRxUE
*/ 
.onoffswitch-checkbox:checked ~ .onoffswitch-label .onoffswitch-inner {
  margin-left: 0;
}
.onoffswitch-checkbox:checked ~ .onoffswitch-label .onoffswitch-switch {
  right: 0;
}
.onoffswitch-checkbox:checked ~ .onoffswitch-label .onoffswitch-inner {
  margin-left: 0;
}
.onoffswitch-checkbox:checked ~ .onoffswitch-label .onoffswitch-switch {
  right: 0;
}

#configForm .tab-content {
	padding-top:	25px;
	padding-left:	25px;
	padding-right:	25px;
}

/*
Don't show the dropdown when typing cover art filenames
*/
.hide-search .select2-search,
.hide-search .select2-results,
.hide-search .select2-dropdown {
    display: none;
}

/*
Shorten settings select boxes, but only those that are 'top level' ones (.e.g not tag type ones in rows)
*/
.tab-content-settings .form-group > [class*='col-'] > select {
	width:			50%;
}

.no-gutter > [class*='col-'] {
    padding-right:0;
    padding-left:0;
}

.parent-folder-heading {
	font-family: 	monospace;
	word-wrap: 		break-word;
}

.slick-header.ui-state-default {
    height:	27px;
}

.slick-header-columns > .slick-header-column.ui-state-default {
    font-family: Roboto, sans-serif;
    font-size: 14px;
    height:	27px;
}

.slick-row.ui-widget-content, .slick-cell {
    font-family: monospace;
    font-size: 14px;
}

.tagsSlickGrid .slick-cell {
	white-space: 	pre;
}

.rotate-45-left:before {
    display: block;
    -o-transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

.rotate-45-right:before {
    display: block;
    -o-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.fh-breadcrumb.tags {
	height: 		calc(100% - 235px);
	overflow:		hidden;
}

/* A copy of the code selector from Insipina */
.code {
  background-color: #F9F2F4;
  border-radius: 4px;
  font-size: 90%;
  padding: 2px 4px;
  white-space: nowrap;
  font-family: Menlo,Monaco,Consolas,"Courier New",monospace;
  font-weight:	normal;
}

.code-error {
  color: #ca4440;
}

.code-ok {
}

.code-wrapped {
  white-space: pre-wrap;
}

.code-wrapped-pre-line {
  white-space: pre-line;
}

div.loading-indicator {
	z-index:			1;
	position:			absolute;
	background: 		rgba(255, 255, 255, 0.5);
	left:				0;
	right:				0;
	top:				0;
	bottom:				0;
}

div.loading-indicator > span {
	margin-top:			50px;
	background-color:	white;
	padding:			20px;	
}

div.loading-indicator * {
	vertical-align:		middle;
}

.in-progress {
	opacity:			0.4;
}

.tabs-container .tabs-left > .nav-tabs {
	margin-right:		0px;
}

.file-org-path-assessment {
	overflow:			auto;
}

/*
 * Clearing for grids. See http://stackoverflow.com/questions/24571062/gap-in-bootstrap-stacked-rows/24571644#24571644
 */
@media (max-width: 767px) {
    .cover-art-alternatives>.clear-row:nth-child(6n)::before {
      content: '';
      display: table;
      clear: both;
    }
}
@media (min-width: 768px) and (max-width: 1199px) {
    .cover-art-alternatives>.clear-row:nth-child(6n)::before {
      content: '';
      display: table;
      clear: both;
    }
}
@media (min-width: 1200px) {
    .cover-art-alternatives>.clear-row:nth-child(6n)::before {  
      content: '';
      display: table;
      clear: both;
    }
}

.cover-art-alternatives .slick-slider {
	margin-bottom:	0;
}

.cover-art-alternatives .slick-slide {
	width:			220px;
}

.cover-art-alternatives .caption {
	padding:		0;
}

#cookie-opt-out {
	position:	fixed;
	left:		0;
	bottom:		0;
	z-index:	99999;
}

#cookie-opt-out .alert {
	margin:		0 auto;
}

.scrollable-menu {
	height: auto;
    max-height: 200px;
    overflow-x: hidden;	
}

.decorated-label .label {
	line-height: 	12px;
	padding: 		2px 5px;
	position: 		absolute;
	right: 			3px;
	top: 			0px;	
}

.inline-form-control {
	width:			inherit;
	display:		inline-block;
}


.row.flex-col {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.row.flex-col > [class*='col-'] {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
}

/* 
Fix Safari rendering of columns, otherwise they wrap to two lines
https://github.com/twbs/bootstrap/issues/18306
*/
.row.flex-col:before, .row.flex-col:after {
  width: 0;
}

.flex-container-column {
	display: flex;
	flex-direction: column;	
}

.flex-container-column .flex-grow-1 {
	flex:	1;
}

.album-detail-display .absolute-bottom-right {
	position:		absolute;
	bottom:			0;
	right:			15px;
}

/*
Spinner 
*/
.loading-container.loading {
    position: relative;
}

.loading-container.loading:after {
  content: '';
  background-color: rgba(255, 255, 255, 0.7);
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display:	block;
}

.loading-container > .loading-spinner {
	display:	none;
}

.loading-container.loading > .loading-spinner {
	display: 	block;
    position: 	absolute;
    top: 		40%;
    left: 		0;
    right: 		0;
    z-index: 	2000;
    text-align:	center;
}

.list-group.borderless .list-group-item {
	border: 	0 none;
}

.no-top-padding .list-group-item:first-child {
    padding-top:	0;
}

.opacity-03 {
	opacity:			0.3;
}

.scrollable {
	overflow-y:		scroll;
}

.wrapper .middle-box {
    margin-bottom: 	140px;
    padding-top:	0px;
    padding-bottom:	0px;
}

/* Back to top button */
#top-link-block.affix-top {
	position: absolute;
    bottom: -82px; /* negative of the offset - height of link element */
    left: 70px; /* padding from the left side of the window */
}
#top-link-block.affix {
    position: fixed; /* keeps it on the bottom once in view */
    bottom: 60px; /* height of link element */
    left: 70px; /* padding from the left side of the window */
}

/* Linked releases */
.project-title {
	font-size: 		14px;
	color: 			#676a6c;
}

.release-titles {
	max-width:		300px;
}

.release-titles small {
	white-space: 	nowrap;
	overflow: 		hidden;
	text-overflow: 	ellipsis;
	display: 		inline-block;
	max-width: 		100%;
}

/* Fix for Inspinia style making dropdown text run outside elements */
.dropdown-menu.dropdown-menu-right {
	left:			auto;
}

/* Setup */
@media (max-width: 850px) {
	
	#wizard-settings.wizard .steps li {
		width: 33%;
	}

}
	
#wizard-settings.wizard .content .jstree {
	max-height:		400px;
	overflow-y: 	auto;
}

#wizard-settings.wizard .content {
    height: 		calc(100% - 102px);
}


#wizard-settings .content > .body {
	width: 			100%;
	height:			100%;
	padding: 		15px;
	position: 		relative;
}

.form-setup button[type='submit'] {
	position: 		absolute; 
	left: 			-9999px;	
}

.form-setup>div, .form-setup form {
	height:			100%;
}

/* Settings */
.vertically-linked span h3 {
	margin:			0px 0px;
}

.vertically-linked::before {
    content: 	'';
    position: 	absolute;
    top: 		0;
    left: 		18px;
    height: 	100%;
    width: 		4px;
    background: #e7eaec;
}
.vertically-linked > * {
	position:	relative;
}

.vertical-setting-container {
    border-bottom: 	1px solid #e7eaec;
    border-top: 	1px solid #e7eaec;
    padding: 		15px 35px;
    background: 	#f9f9f9;
}

.setting-container {
    margin-top: 	0;
	font-size:		14px;
	display: 		block;
    width: 			auto;
}

.select2-dropdown {
	z-index:		9000;
}

#wizard-add-rule.wizard .content .table-responsive {
	max-height:		500px;
}

#wizard-add-rule.wizard .content {
    min-height: 100px;
}

#wizard-add-rule.wizard .content > .body {
	width: 100%;
	height: auto;
	padding: 15px;
	position: relative;
}

#wizard-add-rule .steps li {
	width:	auto;
}

/* 3426 work around overly broad JQuery Steps selector to remove box in Select2 */
.wizard > .content > .body .select2-search__field {
	border:			inherit;
}

.slick-common-rules .ibox-content {
	margin: 0 10px;
}

.blank-slate i.fa {
	opacity:		0.5;
}

.hover-bg:hover {
	background-color:	rgba(0,0,0,.075);
}

/* Inbox */
.responses-more {
	position: 			absolute;
	bottom: 			0;
	left: 				0;
	width: 				100%;
	text-align: 		center;
	margin: 			0;
	padding: 			60px 0 0 0;
	background-image: 	linear-gradient(to bottom, transparent, white);
	cursor: 			pointer;
	pointer-events:		none; /* allows click events through to elements below */
}

.responses-more .btn {
	pointer-events:		auto; /* override the overlay to capture click events */
}

.row-responses {
	max-height:			340px; 
	overflow:			hidden; 
	position:			relative;
	transition: 		max-height 0.5s cubic-bezier(0, 1, 0, 1);
}

.row-responses.expanded {
	max-height:			10000px;
	transition: 		max-height 1s ease-in-out;
}

.row-responses .lozad:not([data-loaded]) {
	height:				150px;
}

.ibox-heading .widget {
	margin:			0px;
	border-radius:	0px;
}

.ibox-system-state .ibox-title {
	background-color:  #f2dede;
    border-color:      #ebccd1;
}

.ibox-heading-widget {
	padding:		0px;
}

.absolute-center {
	position:		absolute;
	left:			0px;
	right:			0px;
	margin-left:	auto;
	margin-right:	auto;
}

.absolute-bottom {
	position:		absolute;
	bottom:			0px;
}

.feed-activity-list-fixed .feed-element {
	padding:		10px 10px 10px 10px;
	margin-top:		0px;
}


/* TODO duplication with compliance-notification */
.btn-thumbnail-image {
	position:	relative;
}

.btn-thumbnail-image .label-recco {
    position: absolute;
    right: 0px;
    bottom: 0px;
    padding: 7px;
    border-radius: .25em 0em 0em 0em;
}

.btn-thumbnail-image .label-img-description {
    position: absolute;
    left: 0px;
    bottom: 0px;
    padding: 7px;
    border-radius: 0em .25em 0em 0em;
}

.response-description {
	overflow-y: 	auto;
	max-height: 	100px;
}

[class*="col-"].response {
	max-width:		250px;
}

/* If this isn't used, the animation is relative to the whole page */
.animatecss-parent {
	overflow:		hidden;
}

.sweet-alert.multiline p {
	text-align:		left;
	margin:			0px 0px 10px 0px;
}

.sweet-alert button.confirm {
	background-color: 	#1c84c6 !important;
}

.swal-licence-installed button.cancel {
	border: 			1px solid #e7eaec;
	color: 				inherit;	
	background-color: 	white !important;
}
