.toolbar {
	position: sticky;
	top: 0;

	.toolbar-blocker {
		.transition(opacity, 250ms, linear);
		.opacity(0);
		position: fixed;
		top: 0;
		right: 0;
		left: 0;
		background-color: rgba(0,0,0,0.85);

		&.show {
			.opacity(1);
			bottom: 0;
			z-index: 1;
		}
	}

	.toolbar-header.v2 {

		.toolbar-header-options {
			padding: 0 12px;
		}
	}
}

.toolbar-header {
	position: relative;
	overflow: hidden;
	background-color: @white;
	z-index: 3;
	min-height: 50px;

	@media @bp_768 {
		z-index: 3;
		min-height: 70px;
	}

	@media @bp_1024 {
		min-height: 90px;
	}

	&.v2 {
		position: sticky;
		top: 40px;
		margin: 0 -12px;

		@media @bp_768 {
			z-index: 1;
			position: relative;
			top: 0;
			margin: 0;
			height: 60px;
			min-height: 60px;
			text-align: center;
		}

		&.sticky {
			position: sticky;
			top: 0px;
			z-index: 2;
			margin: 0;

			@media @bp_768 {
				margin: 0 -12px;
			}
		}

		.toolbar-header-options {
			margin: 0 auto;

			@media @bp_768 {
				.box-sizing;
				max-width: @layout-grid-max-width;
				text-align: left;
			}

			&.display-options {
				padding-right: 50px;

				@media @bp_768 {
					padding-right: 0;
					padding-left: 24px;
				}

				@media @bp_1024 {
					display: block;
					top: 0;
					text-align: left;
					left: 0;
					width: auto;
					padding-left: 12px;
				}

				@media @bp_1500 {
					padding-left: 0;
				}

				.btn-close {
					right: 8px;

					@media @bp_1024 {
						display: none;
					}
				}

				.btn-group {

					@media @bp_1024 {
						padding-left: 12px;
					}
				}
			}

			&.filter {

				@media @bp_768 {
					padding-left: 24px;
				}

				.trigger {

					@media @bp_768 {
						display: none;
					}
				}
			}

			.btn-toolbar {

				@media @bp_768 {
					height: 60px;
					min-height: 60px;
					margin-right: 40px;
				}

				&:before {

					@media @bp_768 {
						height: 60px;
						background-size: 20px;
					}

					@media @bp_1024 {
						background-position: left center;
					}
				}

				&.btn-display-analytics,
				&.btn-display-pro-charts {

					&:before {
						background-size: 25px;
					}
				}

				&.btn-display-beatport {

					&:before {
						background-size: 30px;
					}

					span {

						@media @bp_1024 {
							padding-left: 40px;
						}
					}
				}

				&.btn-pro-charts {

					@media @bp_768 {
						width: 60px;
						height: 60px;
						padding-top: 8px;
						line-height: 13px;
						width: auto;
						line-height: 18px;
					}

					span {

						@media @bp_768 {
							.font-size(8);
							height: 46px;
							width: 46px;
							display: flex;
							line-height: 10px;
							justify-content: center;
							align-items: center;
							padding: 0;
						}
					}
				}

				span {

					@media @bp_768 {
						.box-sizing;
						.font-size(12);
						//padding-top: 0px;
					}

					@media @bp_1024 {
						line-height: 60px;
						height: 60px;
						padding: 0 0 0 30px;
					}
				}
			}

			.btn-group {
				.font-size(0);

				@media @bp_768 {
					padding-right: 12px;
				}
			}
		}
	}

	&.no-display-options {
		
		.toolbar-header-options {
			right: 0;

			@media @bp_768 {
				right: 20px;
			}

			@media @bp_1200 {
				right: 30px;
			}
		}
	}

	&.overflow {
		overflow-y: visible;
	}

	.btn-toolbar {
		min-height: 50px;

		@media @bp_768 {
			//min-height: 70px;
			min-height: 60px;
		}

		@media @bp_1024 {
			//min-height: 90px;
		}

		&.btn-filter {
			float: left;
		}

		&.btn-display-options {
			float: right;

			@media @bp_1024 {
				display: none;
			}
		}

		&.btn-close {
			position: absolute;
			right: 0;
			top: 0;
		}
	}
}

.toolbar-header-options {
	.transition(all, 200ms, ease-out);
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: @white;
	min-height: 50px;

	@media @bp_768 {
		min-height: 70px;
	}

	@media @bp_1024 {
		min-height: 90px;
	}

	&.filter,
	&.display-options {
		top: 100%;
		padding: 0 50px;

		@media @bp_768 {
			padding: 0 70px;
		}

		@media @bp_1024 {
			padding: 0 30px 0 0;
		}
	}

	&.display-options {
		z-index: 2;
		text-align: right;

		@media @bp_1024 {
			top: 0;
			width: 300px;
			right: 0;
			left: auto;
		}

		.btn-close {

			@media @bp_1024 {
				display: none;
			}
		}
	}

	&.filter {
		padding-left: 50px;
		padding-right: 0;
		left: 0;
		right: 50px;
		z-index: 1;

		@media @bp_768 {
			padding-left: 70px;
			right: 70px;
		}

		@media @bp_1024 {
			right: 350px;
			padding-left: 90px;
		}

		@media @bp_1200 {
			right: 420px;
			padding-left: 90px;
		}

		.trigger {
			position: absolute;
			left: 0;
			top: 0;
			z-index: 1;
		}
	}

	&.active {
		top: 0;
	}

	.btn-group {

		.btn {
			margin-right: 10px;
			min-width: 40px;

			&:last-child {
				margin-right: 0;
			}

			@media @bp_768 {
				margin-right: 15px;
			}

			@media @bp_1024 {
				margin-right: 25px;
			}
		}
	}
}

#nav-container-top {
	height: 1px;
}

.toolbar-filter-list {
	box-sizing: border-box;
	background-color: @white;
	overflow: hidden;
	//overflow-x: auto;
	vertical-align: middle;
	white-space: nowrap;
	scrollbar-width: thin;
	padding-top: 8px;
	height: 50px;

	@media @bp_768 {
		padding-top: 15px;
		height: 70px;
		//padding: 25px 0;
	}

	@media @bp_1024 {
		height: 90px;
		padding-top: 27px;
		//padding: 30px 0;
	}

	&.flex {
		flex-wrap: wrap;
		display: flex;
		flex-direction: row;
		justify-content: flex-start;
		align-content: center;
		vertical-align: middle;
		flex-wrap: nowrap;
		height: 50px;
	}

	.btn-filter-tag {
		.font-size(10);
		margin: 2px 0 2px 15px;
		//padding: 2px 10px;
		padding: 4px 6px;
		line-height: 1;

		> img {
			width: 10px;
			height: 10px;
		}

		&:not(:disabled) {

			&:after {
				background-size: 8px;
				width: 12px;
				height: 8px;
			}
		}

		&.event-this-week {
			color: @blue;
			border-color: @blue;

			&.remove {
				border-color: @blue;
				background-image: url('../images/svg/close-blue.svg');
			}

			&:hover {
				color: @white;
				background-color: @blue;
				border-color: @blue;
				background-image: url('../images/svg/close-white.svg');
			}
		}
	}

	.swiper-container {
		.box-sizing();
		height: 36px;
		padding-top: 5px;

		@media @bp_768 {
			padding-left: 40px;
			padding-right: 40px;
		}
	}

	.swiper-slide {
		width: auto;

		.btn-filter-tag {
			margin: 0;

			&:hover {
				border-color: @black;
			}

			&.event-this-week {

				&:hover {
					border-color: @blue;
				}
			}
		}
	}

	.swiper-button-prev,
	.swiper-button-next {
		top: 0;
		bottom: 0;
		width: 36px;
		height: 36px;
		margin-top: 0;

		&:before {
			.rounded-corners(50%);
			z-index: 1;
			width: 36px;
			height: 36px;
			background-color: @black;
			position: absolute;
			top: 50%;
			margin-top: -18px;
			left: 50%;
			margin-left: -18px;
			background-repeat: no-repeat;
			background-position: center;
			background-size: 12px;
		}

		&:after {
			content: "";
			width: 18px;
			height: 36px;
			background: @white;
			position: absolute;
			top: 0;
			bottom: 0;
			left: 50%;
			display: block;
			z-index: 0;
		}
	}

	.swiper-button-prev {
		left: 0;

		&:before {
			background-image: url('../images/svg/chevron-left-white.svg');
		}

		&:after {
			left: 0;
		}
	}

	.swiper-button-next {

		&:before {
			background-image: url('../images/svg/chevron-right-white.svg');
		}
	}

	.btn {
		margin: 2px 10px 2px 0;
	}

	&::-webkit-scrollbar {
		height: 12px;
	}

	&::-webkit-scrollbar-button {
		//background: #000;
	}

	&::-webkit-scrollbar-track-piece {
		background: #eee;
	}

	&::-webkit-scrollbar-thumb {
		background: #ccc;
	}
}

.toolbar-filter {
	.transition(transform, 250ms, ease-out);
	.box-sizing();
	.translate(-500px, 0px);
	background-color: @black;
	color: @white;
	position: fixed;
	left: 0;
	top: 50px;
	bottom: 0;
	width: 100%;
	padding: 0;
	z-index: 2;
	display: flex;
	flex-direction: column;
	justify-content: space-between;

	@media @bp_480 {
		.translate(-768px, 0px);
	}

	@media @bp_768 {
		.translate(-382px, 0px);
		top: 70px;
		width: 382px;
	}

	@media @bp_1024 {
		top: 90px;
	}

	&.sticky {

		.toolbar-filter-content {
			margin-top: 0;

			@media @bp_768 {
				margin-top: 0;
			}
		}
	}

	&.open {
		.translate(0px, 0px);
	}

	.btn-filter-tag {

		&:disabled {
			.prevent-click();
		}
	}
}

.toolbar-filter-scroller {
	overflow: hidden;
	overflow-y: auto;
	scrollbar-width: thin;
	padding-top: 50px;
	padding-bottom: 50px;

	@media @bp_768 {
		padding-top: 70px;
		padding-bottom: 70px;
	}

	@media @bp_1024 {
		padding-top: 90px;
		padding-bottom: 90px;
	}

	&::-webkit-scrollbar {
		width: 5px;
	}

	&::-webkit-scrollbar-button {
		//background: #000;
	}

	&::-webkit-scrollbar-track-piece {
		background: @black;
	}

	&::-webkit-scrollbar-thumb {
		background: #666;
	}

	> a {
		color: inherit;
	}
}

.toolbar-filter-content {
	.transition(margin, 150px, ease-out);
	position: relative;
	margin: 0 20px;

	@media @bp_768 {
		margin: 0 30px;
	}

	@media @bp_1024 {
		margin: 0 50px;
	}

	header {
		.clearfix;
		padding: 50px 0 40px 0;

		.btn-close {
			width: 32px;
			height: 32px;
			background-position: center;
			background-size: 12px;
			float: right;
			margin-right: -10px;

			@media @bp_768 {
				display: none;
			}
		}

		.btn-clear-selection {
			float: left;
		}
	}
}

.toolbar-filter-unit {
	border-top: 2px solid #1f1f1f;

	&.disabled {
		.prevent-click();
		color: @grey-1;
	}

	&:last-child {
		border-bottom: 2px solid #1f1f1f;
	}

	&.initial {

		.toolbar-filter-unit-content {
			display: block;
		}
	}

	&.open {

		h3.accordion {

			&:after {
				background-image: url('../images/svg/chevron-up-grey.svg');
			}
		}
	}

	input[type="checkbox"],
	input[type="radio"] {

		&.reverse {

			&.custom-checkbox + label,
			&.custom-radio + label {
				.font-size(20);
				line-height: 30px;

				&:before {
					border-width: 2px;
				}
			}

			&.custom-checkbox:checked + label,
			&.custom-radio:checked + label {
			
				&:after {
					right: 2px;
					top: 2px;
					width: 22px;
					height: 22px;
				}
			}
		}
	}

	h3 {
		.transition(color, 200ms, linear);
		.font-size(18);
		line-height: 24px;
		font-weight: 500;
		padding: 15px 0;
		position: relative;
		padding-right: 30px;
		cursor: pointer;

		@media @bp_768 {
			.font-size(20);
			line-height: 30px;
			padding: 15px 0;
		}

		&.accordion {

			&.open {

				&:after {
					background-image: url('../images/svg/chevron-up-grey.svg');
				}
			}

			&:after {
				.transition(opacity, 300ms, linear);
				content: "";
				position: absolute;
				right: 0;
				width: 20px;
				height: 25px;
				top: 50%;
				margin-top: -12px;
				background-repeat: no-repeat;
				background-position: right center;
				background-image: url('../images/svg/chevron-down-grey.svg');
				background-size: 14px;
			}
		}
	}


	.toolbar-filter-unit-title {
		
		sup {
			vertical-align: 1em;
		}
	}

	.toolbar-filter-unit-content {
		display: none;
		
		.button-list {
			padding-bottom: 20px;

			.btn {
				margin: 6px 12px 6px 0;
			}
		}

		h4 {
			.font-size(12);
			line-height: 18px;
			font-weight: 500;
			letter-spacing: 2px;
			color: @grey-1;
			text-transform: uppercase;
			padding: 20px 0 10px 0;
		}
	}

	.toolbar-entity-filter {

		input {
			background-color: #333;
			color: @white;
			height: 32px;
			padding: 0 12px;
		}

		.results {
			.font-size(14);
			height: 280px;
			background-color: #1F1F1F;
			overflow: hidden;
			overflow-y: auto;
			scrollbar-width: thin;

			&::-webkit-scrollbar {
				width: 5px;
			}

			&::-webkit-scrollbar-button {
				//background: #000;
			}

			&::-webkit-scrollbar-track-piece {
				background: #4b4b4b;
			}

			&::-webkit-scrollbar-thumb {
				background: @white;
			}

			> a {
				color: inherit;
			}
		}

		.btn-clear-selection {
			background-color: #1F1F1F;
			height: 54px;
			padding-left: 12px;
			background-position: right 8px center;
			margin-top: 2px;
			width: 100%;
		}
	}
}

.toolbar-filter-search {
	.transition(all, 200ms, ease-out);
	.translate(0,0);
	background-color: @white;
	color: @black;
	height: 80px;
	position: static;
	padding-left: 30px;
	padding-right: 30px;

	@media @bp_1024 {
		padding-left: 50px;
		padding-right: 50px;
	}

	&.open {
		height: 280px;

		@media @bp_768 {
			height: 360px;			
		}
	}

	.search-wrapper {
		position: relative;
		margin: 20px;

		@media @bp_768 {
			margin: 20px 0;
		}

		&.loading {
			.enable-click(default);

			&:before {
				background-image: url('../images/svg/loader-ani-black.svg');
				background-color: transparent;
				height: 40px;
				width: 40px;
				position: absolute;
				right: 25px;
				top: 0px;
				left: auto;
				bottom: auto;
				background-size: 35px;
				z-index: 1;
			}

			&:after {
				content: none;
			}
		}
	}

	.search-input {
		color: @black;
		background-image: url('../images/svg/search.svg');
		background-size: 20px;
		background-position: right center;
		background-repeat: no-repeat;
		border: 0;
		height: 40px;
		line-height: 1;
		margin: 0;
		padding: 0;
		padding-right: 60px;
	}

	.results {
		.font-size(14);
		height: 200px;
		overflow: hidden;
		overflow-y: auto;
		scrollbar-width: thin;
		position: relative;

		@media @bp_768 {
			height: 280px;			
		}

		&::-webkit-scrollbar {
			width: 5px;
		}

		&::-webkit-scrollbar-button {
			/*background: #000;*/
		}

		&::-webkit-scrollbar-track-piece {
			background: #eee;
		}

		&::-webkit-scrollbar-thumb {
			background: #4b4b4b;
		}

		> a {
			color: inherit;
		}

		> span {
			.font-size(13);
			color: @grey;
		}
	}

	.btn-filter-entity {
		padding-left: 0;
		color: #5F6062;

		&:hover {
			color: @black;
			background-color: transparent;
		}
	}
}