button {
	cursor: pointer;
}

.btn {
	.user-select(none);
	.box-sizing();
	position: relative;
	display: inline-block;
	text-decoration: none;
	text-align: center;
	border: 0;
	outline: 0;
	padding: 0;
	margin: 0;
	background-color: transparent;
	cursor: pointer;
	font-family: @suiss-int;

	&.prevent-click {
		.prevent-click;
	}

	&:focus,
	&:hover,
	&:active {
		outline: 0;
	}

	//@media @mouse-devices {}
}

.btn-menu-toggle {
	.font-size(0);
	height: 50px;
	width: 57px;
	min-width: 57px;
	position: relative;

	&.open {

		span {
			background-color: transparent;
		
			&::before {
				.rotate(45deg);
				top: 0px;
			}

			&::after {
				.rotate(-45deg);
				bottom: 0px;
			}

			&:before,
			&:after {
				width: 26px;
			}
		}
	}

	span,
	span:before,
	span:after {
		display: inline-block;
		position: absolute;
		top: 24px;
		right: 16px;
		width: 25px;
		height: 2px;
		background-color: @black;
	}

	span {
		.transition(background-color, 100ms, linear);

		&:before,
		&:after {
			.transition(all, 200ms, ease-out);
			left: 0;
			width: 100%;
			content: "";
		}

		&:before {
			top: -8px;
		}

		&:after {
			top: auto;
			bottom: -8px;
		}
	}
}

.btn-plain-text {
	border: 0;
	padding: 0;
	font-weight: 500;
	border-bottom: 2px solid #000;
}

.btn-section-filter {
	.font-size(14);
	letter-spacing: 3px;
	color: @deactivated;
	text-transform: uppercase;
	font-weight: 600;

	&.active {
		.prevent-click();
		color: @black;

		&:hover {
			.prevent-click();
			cursor: normal;
			text-decoration: none;
		}
	}

	&:hover {
		.text-decoration-ink; 
	}
}

.btn-save {
	.font-size(0);
	width: 36px;
	height: 36px;
	background-image: url('../images/svg/heart-white.svg');
	background-position: center;
	background-size: 18px;
	background-repeat: no-repeat;
	background-color: @black;

	&:hover {
		//background-image: url('../images/svg/heart-white-active-hover.svg');
		background-size: 22px;
	}

	&.long {
		.font-size(12);
		color: @white;
		font-weight: bold;
		letter-spacing: 3px;
		text-transform: uppercase;
		line-height: 16px;
		width: auto;
		position: relative;
		padding-left: 77px;
		padding-right: 40px;
		background-position: left 8px center;

		&:hover {
			background-size: 22px;
			background-position: left 6px center;
		}

		&:before {
			content: "";
			position: absolute;
			left: 36px;
			top: 0;
			bottom: 0;
			width: 1px;
			background-color: @white;
		}
	}

	&.active {
		background-image: url('../images/svg/heart-white-active.svg');
	}
}

.btn-share {
	.font-size(0);
	width: 36px;
	height: 36px;
	background-image: url('../images/svg/share-white.svg');
	background-position: center;
	background-size: 18px;
	background-repeat: no-repeat;
	background-color: @black;
	position: relative;

	&.copied {

		span {
			.animation(fade-in-out-share 2s linear 0s forwards);
			position: absolute;
			left: 45px;
			top: 0;
			width: 70px;
			text-align: left;
			line-height: 18px;
		}
	}

	&:hover {
		background-size: 21px;
	}
}

.btn-player-controls {
	.font-size(0);
	width: 20px;
	height: 20px;
	background-position: center;
	background-repeat: no-repeat;

	&:disabled {
		.opacity(0.2);
	}

	&.btn-play {
		background-size: 17px;
		background-image: url('../images/svg/play-white.svg');

		&.active {
			background-image: url('../images/svg/pause-white.svg');
		}
	}

	&.btn-prev {
		background-size: 10px;
		background-image: url('../images/svg/previous-white.svg');
	}

	&.btn-next {
		background-size: 10px;
		background-image: url('../images/svg/next-white.svg');
	}

	&.btn-repeat {
		background-size: 20px;
		background-image: url('../images/svg/repeat-song-white.svg');
	}

	&.btn-sound {
		background-size: 10px;
		background-image: url('../images/svg/sound-off-white.svg');

		&.active {
			background-size: 10px;
			background-image: url('../images/svg/sound-on-white.svg');
		}
	}
}

.btn-day-in-week {
	.font-size(12);
	line-height: 18px;
	padding: 8px 12px;
	text-transform: uppercase;
	font-weight: 500;
	letter-spacing: 2px;
	color: @white;

	&.active {
		background-color: @white;
		color: @black;
	}

	&.disabled {
		.opacity(0.2);
	}
}

.btn-report {
	.font-size(12);
	line-height: 18px;
	padding: 0 10px;
	height: 30px;
	font-weight: 300;
	color: @grey-1;

	&:hover {
		color: @black;
	}
}

.btn-play {
	.font-size(0);
	width: 20px;
	height: 20px;
	background-position: center;
	background-repeat: no-repeat;
	background-size: 17px;
	background-image: url('../images/svg/play.svg');

	&.white {
		background-image: url('../images/svg/play-white.svg');

		&.active {
			background-image: url('../images/svg/pause-white.svg');
		}
	}

	&.active {
		background-image: url('../images/svg/pause.svg');
	}
}

.btn-show-all {
	.font-size(14);
	line-height: 18px;
	font-weight: bold;
	color: @grey-1;
	letter-spacing: 3px;
	text-transform: uppercase;

	&:hover {

		&:after {
			width: 100%;
		}
	}

	&:disabled {
		.opacity(0);
	}

	&:after {
		.transition(width, 200ms, ease-out);
		content: "";
		width: 0px;
		display: block;
		height: 1px;
		background-color: @black;
		left: 0%;

		@media @bp_768 {
			height: 2px;
			margin-top: 2px;
		}
	}

	&.black {
		color: @black;
	}

	&.white {
		color: @white;
	}
}

.btn-add {
	.font-size(0);
	width: 30px;
	height: 30px;
	background-image: url('../images/svg/plus-white.svg');
	background-position: center;
	background-size: 13px;
	background-repeat: no-repeat;
	background-color: @black;
	display: none;

	@media @bp_768 {
		display: inline-block;
	}

	&.white {
		background-color: @white;
		background-image: url('../images/svg/plus.svg');
	}

	&:hover {
		background-size: 17px;
	}
}

.btn-location {
	.font-size(0);
	width: 30px;
	height: 30px;
	background-image: url('../images/svg/location-white.svg');
	background-position: center;
	background-size: 12px;
	background-repeat: no-repeat;
	background-color: @black;

	&:hover {
		background-size: 15px;
	}
}

.btn-add-special {
	.font-size(12);
	line-height: 18px;
	font-weight: 500;
	height: 60px;
	letter-spacing: 3px;
	text-transform: uppercase;
	background-color: @black;
	color: @white;
	padding: 0 20px;

	&:after {
		content: "";
		display: inline-block;
		width: 30px;
		height: 30px;
		background-color: @white;
		background-image: url('../images/svg/plus.svg');
		background-size: 13px;
		background-position: center;
		background-repeat: no-repeat;
		margin-left: 20px;
		vertical-align: middle;
	}

	&:hover {

		&:after {
			background-size: 16px;
		}
	}
}

.btn-source {
	.transition(opacity, 200ms, linear);
	.opacity(0.25);
	.font-size(0);
	height: 30px;
	background-position: center;
	background-repeat: no-repeat;
	color: @black;

	&:hover,
	&.active {
		.opacity(1);
	}

	&:disabled {
		.opacity(0);
	}

	&.spotify {
		width: 38px;
		background-size: 18px;
		background-image: url('../images/svg/spotify.svg');
	}

	&.deezer {
		width: 38px;
		background-size: 20px;
		background-image: url('../images/svg/deezer.svg');
	}

	&.youtube {
		padding: 0 35px 0 0;
		background-size: 24px;
		background-position: right center;
		background-image: url('../images/svg/youtube.svg');
	}

	span {
		.font-size(12);
		line-height: 30px;
		display: inline-block;
	}
}

a.btn-shadow {
	text-decoration: none;
}

.btn-shadow {
	.transition(box-shadow, 200ms, ease-out);
	.box-sizing();
	.box-shadow(3px 3px 0 @black);
	.font-size(12);
	letter-spacing: 3px;
	line-height: 16px;
	color: @black;
	background-color: @white;
	text-transform: uppercase;
	font-weight: bold;
	flex: 1;
	border: 2px solid @black;
	padding: 10px 35px;
	background-repeat: no-repeat;
	background-position: left 18px center;
	background-size: 16px;

	/*&:hover {
		background-color: @black;
		color: @white;

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

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

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

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

		&.instagram {
			background-image: url('../images/svg/instagram-white.svg');
		}
	}*/

	&.inverted {
		.box-shadow(3px 3px 0 @white);
		color: @white;
		border-color: @white;
		background-color: @black;

		&:active {
			.box-shadow(none);
			color: @black;
			background-color: @white;
		}
	}

	&.icon {
		padding-left: 22px + 16px + 10px;
		padding-right: 22px;
	}

	&.spotify {
		background-image: url('../images/svg/spotify.svg');

		&:active {
			background-image: url('../images/svg/spotify-white.svg');
		}
	}

	&.deezer {
		background-image: url('../images/svg/deezer.svg');

		&:active {
			background-image: url('../images/svg/deezer-white.svg');
		}
	}

	&.facebook {
		background-position: 21px center;
		background-size: 8px;
		background-image: url('../images/svg/facebook.svg');

		&:active {
			background-image: url('../images/svg/facebook-white.svg');
		}
	}

	&.twitter {
		background-image: url('../images/svg/twitter.svg');

		&:active {
			background-image: url('../images/svg/twitter-white.svg');
		}
	}

	&.instagram {
		background-image: url('../images/svg/instagram.svg');

		&:active {
			background-image: url('../images/svg/instagram-white.svg');
		}
	}

	&:hover {
		.box-shadow(none);
	}

	&:active {
		.box-shadow(none);
		color: @white;
		background-color: @black;
	}

	&:disabled,
	&.disabled {
		//.opacity(0.15);
		//filter: brightness(50%);
		.box-shadow(3px 3px 0 rgba(0,0,0,0.45));
		.prevent-click();
		border-color: rgba(0,0,0,0.45);
		color: rgba(0,0,0,0.55);
	}
}

.btn-close {
	.font-size(0);
	background-image: url('../images/svg/close.svg');
	background-repeat: no-repeat;
	background-position: center;
	background-size: 16px;

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

.btn-remove-entity {
	background-image: url('../images/svg/close.svg');
	background-repeat: no-repeat;
	background-position: right center;
	background-size: 16px;
	text-align: left;
	padding-right: 20px;
}

.btn-grey {
	.font-size(12);
	line-height: 1;
	font-weight: 500;
	text-transform: uppercase;
	max-height: 30px;
	padding: 9px 18px;
	background-color: @white-2;
	color: @black;

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

.btn-solid {
	padding: 12px 12px;
	text-transform: uppercase;
	font-weight: 500;
	letter-spacing: 2px;

	@media @bp_768 {
		padding: 16px 24px;
		letter-spacing: 3px;
	}

	&.white {
		color: @black;
		background-color: @white;

		&:hover {
			//color: @white;
			//background-color: @black;
			background-color: @grey-1;
		}
	}

	&.black {
		color: @white;
		background-color: @black;

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

	&.blue {
		color: @white;
		background-color: @blue;

		&:hover {
			color:@white;
			background-color: @blue-roll;
		}
	}

	&.border {
		border-color: @black;
		border: 2px solid @black;
		padding-top: 6px;
		padding-bottom: 6px;

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

		&.white {
			border-color: @white;
			color: @white;
			background-color: @black;

			&:hover {
				border-color: @grey-1;
				color: @grey-1;
				background-color: transparent;
			}
		}

		&.blue {
			border-color: @blue;
			color: @blue;
			background-color: transparent;

			&:hover {
				border-color: @blue-roll;
				color: @blue-roll;
				background-color: transparent;
			}
		}

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

		&:disabled {
			.opacity(0.1);
			background-color: inherit;
			color: inherit;
		}
	}

	&.small {
		.font-size(10);
		padding-top: 8px;
		padding-bottom: 8px;
		letter-spacing: 2px;

		&.border {
			padding-top: 6px;
			padding-bottom: 6px;
		}
	}

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

.btn-claim-music-id {
	.font-size(12);
	line-height: 16px;
	font-weight: bold;
	color: @black;
	letter-spacing: 3px;
	text-transform: uppercase;
	padding-right: 12px;
	background-image: url('../images/svg/plus.svg');
	background-repeat: no-repeat;
	background-position: right bottom 6px;
	background-size: 9px;
	overflow: hidden;

	&:hover {

		&:after {
			width: 110%;
		}
	}

	&:after {
		.transition(width, 200ms, ease-out);
		content: "";
		width: 0px;
		display: block;
		height: 1px;
		background-color: @black;
	}
}

.btn-range-slider {
	.font-size(14);
	text-transform: uppercase;
	color: @grey-1;
}

.btn-side-filter,
.btn-filter-lineup {
	.font-size(22);
	font-weight: 500;
	color: @grey;
	line-height: 1;
	line-height: 26px;
	position: relative;

	@media @bp_768 {
		.font-size(32);
		line-height: 36px;
	}

	&.active {
		color: @black;
	}

	&.selected {

		&:after {
			content: "";
			position: absolute;
			bottom: 0;
			left: 0;
			right: 0;
			height: 2px;
			background-color: #d1d1d0;
			z-index: 0;
		}
	}

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

	sup {
		.font-size(10);
		font-weight: 500;
		top: 0;


		@media @bp_768 {
			.font-size(14);
		}
	}
}

.btn-menu {
	.font-size(0);
	width: 28px;
	height: 28px;
	background-position: center;
	background-repeat: no-repeat;

	&.search {
		background-size: 24px;
		background-size: 24px;
		background-image: url('../images/svg/search-white.svg');
	}

	&.more {
		width: 28px;
		background-size: 28px;
		background-image: url('../images/svg/burger-menu-white.svg');
	}

	&.join {
		.font-size(12);
		font-weight: 500;
		letter-spacing: 2.5px;
		text-transform: uppercase;
		text-align: center;
		//width: 220px;

		@media @bp_768 {
			.font-size(12);
			//width: 306px;
			height: 70px;
		}

		@media @bp_1200 {
			height: 90px;
		}
	}

	&.my-profile {
		.font-size(12);
		.rounded-corners(50%);
		background-color: @black;
		color: @white;
		font-weight: 500;
		letter-spacing: 2.5px;
		text-transform: uppercase;
		width: 30px;
		height: 30px;
		line-height: 30px;
		text-align: center;

		@media @bp_768 {
			.font-size(14);
			width: 50px;
			height: 50px;
			line-height: 50px;
		}
	}

	&.my-feed {
		.box-sizing();
		.font-size(22);
		line-height: 29px;
		background-color: @black;
		color: @white;
		font-weight: 500;
		width: 140px;
		height: 140px;
		padding: 15px;
		justify-content: flex-end;
		display: flex;
		flex-direction: column;
		text-align: left;
		

		@media @bp_768 {
			.font-size(42);
			line-height: 49px;
			width: 222px;
			height: 222px;
			padding: 30px;
		}
	}
}

.btn-close-my-viberate {
	.font-size(12);
	font-weight: 500;
	letter-spacing: 2.5px;
	text-transform: uppercase;
	color: @black;
	background-image: url('../images/svg/arrow-down.svg');
	background-repeat: no-repeat;
	background-position: left center;
	padding-left: 35px;
}

.btn-go-back {
	.font-size(0);
	background-image: url('../images/svg/arrow-left.svg');
	background-repeat: no-repeat;
	background-position: left center;
	width: 40px;
	height: 40px;
}

.btn-rate {
	.font-size(0);
	width: 36px;
	height: 36px;
	background-image: url('../images/svg/heart-white.svg');
	background-position: center;
	background-size: 16px;
	background-repeat: no-repeat;
	background-color: @black;

	&:hover {
		background-color: #626262;
	}

	&.up {
		background-image: url('../images/svg/thumbs-up-white.svg');
	}

	&.down {
		background-image: url('../images/svg/thumbs-down-white.svg');
	}

	&.long {
		.font-size(12);
		color: @white;
		font-weight: bold;
		letter-spacing: 3px;
		text-transform: uppercase;
		line-height: 16px;
		width: 150px;
		position: relative;
		padding-left: 37px;
		background-position: left 8px center;

		&:before {
			content: "";
			position: absolute;
			left: 36px;
			top: 0;
			bottom: 0;
			width: 1px;
			background-color: @white;
		}
	}

	&.white,
	&.active {
		background-color: @white;
		color: @black;

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

		&.down {
			background-image: url('../images/svg/thumbs-down.svg');
		}
	}

	&.black {

		&:hover,
		&.active {
			background-color: @black;
			
			&.up {
				background-image: url('../images/svg/thumbs-up-white.svg');
			}

			&.down {
				background-image: url('../images/svg/thumbs-down-white.svg');
			}
		}

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

		&.down {
			background-image: url('../images/svg/thumbs-down.svg');
		}
	}
}

.btn-submit {
	.font-size(12);
	color: @white;
	line-height: 16px;
	height: 36px;
	padding: 0 30px;
	color: @white;
	font-weight: bold;
	letter-spacing: 3px;
	background-color: @black;
	text-transform: uppercase;

	&:hover {
		background-color: #626262;
	}

	&:disabled {
		.opacity(0.2);
	}
}

.btn-close-card {
	.box-shadow(0 2px 8px 0 rgba(0,0,0,0.16));
	.rounded-corners(50%);
	.font-size(0);
	position: absolute;
	background-color: @white;
	top: -32px;
	right: 8px;
	width: 24px;
	height: 24px;
	display: inline-block;
	background-image: url('../images/svg/close-grey.svg');
	background-repeat: no-repeat;
	background-position: center;
	background-size: 10px;
	border: 0;
	cursor: pointer;
}

.btn-pro-submit {
	.font-size(15);
	color: @blue;
	line-height: 24px;
	border: 1px solid @blue;
	padding: 15px 32px;
	font-weight: 500;
	letter-spacing: 2px;
	text-transform: uppercase;
	min-width: 264px;
	width: 100%;

	@media @bp_480 {
		max-width: 264px;
	}

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

	&:disabled {
		color: #D5DDE0;
		border-color: #D5DDE0;
	}
}

.btn-edition {
	.font-size(12);
	line-height: 16px;
	letter-spacing: 1px;
	text-transform: uppercase;
	position: relative;
	color: @grey;
	font-weight: 500;

	&.active,
	&:hover {
		color: @black;
	}

	@media @bp_768 {
		.font-size(14);
		letter-spacing: 3px;
	}
}

.btn-text {
	.font-size(12);
	line-height: 16px;
	letter-spacing: 1px;
	text-transform: uppercase;
	position: relative;
	color: @black;
	font-weight: 500;

	@media @bp_768 {
		.font-size(14);
		letter-spacing: 3px;
	}

	&.underline {

		&:hover {
			padding-bottom: 1px;

			@media @bp_768 {
				padding-bottom: 4px;
			}

			&:after {
				.animation(line-out-in .65s ease-in-out 0s forwards);
				position: absolute;
			}
		}

		&:after {
			width: 99%;
		}
	}

	&.white {
		color: @white;

		&:after {
			background-color: @white;
		}
	}

	&.grey {
		color: @grey-1;

		&:after {
			background-color: @grey-1;
		}

		&:hover {
			color: @black;
		}
	}

	&:hover {

		&:after {
			width: 99%;
		}
	}

	&:after {
		.transition(width, 200ms, ease-out);
		content: "";
		width: 0px;
		display: block;
		height: 1px;
		background-color: @black;
		left: 0%;

		@media @bp_768 {
			height: 2px;
			margin-top: 2px;
		}
	}
}

.btn-card {
	.font-size(24);
	line-height: 28px;
	color: @white;
	background-color: @black;
	font-weight: 500;
	height: 150px;
	position: relative;
	width: 100%;
	text-align: left;
	display: table;

	&.white {
		color: @black;
		background-color: @white;
	}

	span {
		padding: 22px;
		display: table-cell;
		vertical-align: bottom;
	}	
}

.btn-card-add {
	.font-size(24);
	line-height: 28px;
	color: @white;
	background-color: @black;
	font-weight: 500;
	height: 150px;
	position: relative;
	width: 100%;
	text-align: left;
	display: table;

	&.disabled {
		.opacity(0.1);
		.prevent-click();
	}

	span {
		padding: 22px;
		display: table-cell;
		vertical-align: bottom;
	}

	&:before {
		content: "";
		background-image: url('../images/svg/plus-white.svg');
		position: absolute;
		top: 20px;
		right: 20px;
		background-position: center;
		width: 20px;
		height: 20px;
	}	
}

.btn-subgenre,
.btn-artist,
.btn-highlight,
.btn-amenity,
.btn-filter-tag {
	.font-size(12);
	line-height: 18px;
	font-weight: 500;
	border: 2px solid @black;
	text-transform: uppercase;
	padding: 4px 12px;
	white-space: nowrap;

	&.active {
		color: @white;
		background-color: @black;
	}

	&.remove {
		background-image: url('../images/svg/close-white.svg');
		background-size: 10px;
		background-repeat: no-repeat;
		background-position: right 10px center;
		padding-right: 30px;
	}
}

.btn-status {
	.prevent-click();
	.font-size(12);
	line-height: 18px;
	font-weight: 500;
	border: 2px solid @black;
	text-transform: uppercase;
	padding: 4px 12px;
	white-space: nowrap;

	&.canceled,
	&.cancelled {
		color: @red;
		border-color: @red;
	}

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

.btn-filter-tag {
	border-color: #efefef;
	color: @black;

	&.small {
		.font-size(10);
		padding: 0 10px;
		font-weight: 400;
	}

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

	&.red {
		background-color: @red;
		border-color: @red;
		color: @white;
	}

	&.black {
		color: @white;
		border-color: @black;
		background-color: @black;

		&.active {
			border-color: @black;
			background-color: @black;
			color: @white;
		}
	}

	img {
		display: inline-block;
		margin-right: 4px;
	}

	&.white {
		color: @white;
		border-color: @white;

		&.active {
			border-color: @white;
			background-color: @white;
			color: @black;
		}

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

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

	&.canceled,
	&.cancelled {
		color: @red;
		border-color: @red;

		&.remove {
			background-image: url('../images/svg/close-red.svg');

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

		&:hover {
			background-color: @red;
			border-color: @red;
			color: @white;
		}
	}

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

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

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

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

	&.active {
		background-color: @black;
		color: @white;
		border-color: @black;
	}

	&:disabled,
	.disabled {
		.opacity(0.3);

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

	&:hover {
		color: @white;
		background-color: @black;
		border-color: @black;

		&.remove {
			background-image: url('../images/svg/close-white.svg');
		}
	}
}

.btn-artist,
.btn-highlight,
.btn-amenity {
	margin: 0 12px 16px 0;
}

.btn-artist {
	text-transform: none;
}

.btn-scroll-down,
.btn-scroll-up {
	.font-size(0);
	background-image: url('../images/svg/arrow-down.svg');
	background-repeat: no-repeat;
	background-position: center;
	background-size: 32px;
	width: 32px;
	height: 40px;
	z-index: 1;

	&:disabled {
		.opacity(0.5);
	}
}

.btn-scroll-up {
	background-image: url('../images/svg/arrow-up.svg');
}

.btn-scroll-to-top {
	.transition(transform, 250ms, ease-out);
	.font-size(0);
	.box-shadow(0 0 15px 0 rgba(0,0,0,0.15));
	.translate(60px,0);
	background-repeat: no-repeat;
	background-position: center;
	background-size: 12px;
	background-image: url('../images/svg/chevron-up-blue.svg');
	background-color: @white;
	width: 32px;
	height: 32px;
	position: fixed;
	right: 0;
	top: 50%;
	margin-top: -16px;
	z-index: 3;

	@media @bp_1200 {
		width: 46px;
		height: 46px;
		margin-top: -23px;
		background-size: 12px;
	}

	&.show {
		.translate(0,0);
	}

	&:hover {
		background-image: url('../images/svg/chevron-up-blue-roll.svg');
	}
}

.btn-amenity {
	background-repeat: no-repeat;
	background-position: right 10px center;
	padding-right: 40px;
	background-size: 20px;

	&.cashless,
	&.amenity-1 {
		background-image: url('../images/svg/cashless.svg');

		&.active {
			background-image: url('../images/svg/cashless-white.svg');
		}
	}

	&.creditcard,
	&.amenity-2 {
		background-image: url('../images/svg/credit-card.svg');

		&.active {
			background-image: url('../images/svg/credit-card-white.svg');
		}
	}

	&.smoking,
	&.amenity-7 {
		background-size: 16px;
		background-image: url('../images/svg/smoking.svg');
		padding-right: 36px;

		&.active {
			background-image: url('../images/svg/smoking-white.svg');
		}
	}

	&.atm,
	&.amenity-4 {
		background-size: 16px;
		background-image: url('../images/svg/atm.svg');
		padding-right: 36px;

		&.active {
			background-image: url('../images/svg/atm-white.svg');
		}
	}

	&.bike,
	&.amenity-19 {
		background-image: url('../images/svg/bike-rentals.svg');

		&.active {
			background-image: url('../images/svg/bike-rentals-white.svg');
		}
	}

	&.cash,
	&.amenity-3 {
		background-image: url('../images/svg/cash-only.svg');

		&.active {
			background-image: url('../images/svg/cash-only-white.svg');
		}
	}

	&.firstaid,
	&.amenity-9 {
		background-size: 16px;
		background-image: url('../images/svg/first-aid.svg');
		padding-right: 36px;

		&.active {
			background-image: url('../images/svg/first-aid-white.svg');
		}	
	}

	&.food,
	&.amenity-16 {
		background-size: 16px;
		background-image: url('../images/svg/food-court.svg');
		padding-right: 36px;

		&.active {
			background-image: url('../images/svg/food-court-white.svg');
		}
	}

	&.grocery,
	&.amenity-15 {
		background-size: 14px;
		background-image: url('../images/svg/grocery.svg');
		padding-right: 34px;

		&.active {
			background-image: url('../images/svg/grocery-white.svg');
		}
	}

	&.info,
	&.amenity-18 {
		background-size: 16px;
		background-image: url('../images/svg/info-desk.svg');
		padding-right: 36px;

		&.active {
			background-image: url('../images/svg/info-desk-white.svg');
		}
	}

	&.laundry,
	&.amenity-13 {
		background-size: 10px;
		background-image: url('../images/svg/laundry.svg');
		padding-right: 32px;

		&.active {
			background-image: url('../images/svg/laundry-white.svg');
		}
	}

	&.lockers,
	&.amenity-5 {
		background-size: 10px;
		background-image: url('../images/svg/locker.svg');
		padding-right: 32px;

		&.active {
			background-image: url('../images/svg/locker-white.svg');
		}
	}

	&.lostandfound,
	&.amenity-12 {
		background-size: 14px;
		background-image: url('../images/svg/lost-found.svg');
		padding-right: 32px;

		&.active {
			background-image: url('../images/svg/lost-found-white.svg');
		}
	}

	&.mobile,
	&.amenity-6 {
		background-size: 10px;
		background-image: url('../images/svg/mobile-charging.svg');
		padding-right: 32px;

		&.active {
			background-image: url('../images/svg/mobile-charging-white.svg');
		}
	}

	&.parking,
	&.amenity-8 {
		background-size: 8px;
		background-image: url('../images/svg/parking.svg');
		padding-right: 30px;

		&.active {
			background-image: url('../images/svg/parking-white.svg');
		}
	}

	&.wifi,
	&.amenity-14 {
		background-size: 16px;
		background-image: url('../images/svg/wi-fi.svg');
		padding-right: 36px;

		&.active {
			background-image: url('../images/svg/wi-fi-white.svg');
		}
	}

	&.showers,
	&.amenity-11 {
		background-size: 12px;
		background-image: url('../images/svg/showers.svg');
		padding-right: 32px;

		&.active {
			background-image: url('../images/svg/showers-white.svg');
		}
	}

	&.shuttle,
	&.amenity-10 {
		background-size: 12px;
		background-image: url('../images/svg/shuttle-service.svg');
		padding-right: 32px;

		&.active {
			background-image: url('../images/svg/shuttle-service-white.svg');
		}
	}

	&.water,
	&.amenity-17 {
		background-size: 10px;
		background-image: url('../images/svg/water-station.svg');
		padding-right: 32px;

		&.active {
			background-image: url('../images/svg/water-station-white.svg');
		}
	}

	&.toilets,
	&.amenity-22 {
		background-size: 16px;
		background-image: url('../images/svg/toilets.svg');
		padding-right: 36px;

		&.active {
			background-image: url('../images/svg/toilets-white.svg');
		}
	}

	&.wheelchair,
	&.amenity-20 {
		background-size: 12px;
		background-image: url('../images/svg/wheelchair.svg');
		padding-right: 36px;

		&.active {
			background-image: url('../images/svg/wheelchair-white.svg');
		}
	}

	&.vegan,
	&.amenity-21 {
		background-size: 16px;
		background-image: url('../images/svg/vegan.svg');
		padding-right: 36px;

		&.active {
			background-image: url('../images/svg/vegan-white.svg');
		}
	}
}

.btn-add-media {
	.box-sizing();
	.font-size(12);
	font-weight: bold;
	text-align: center;
	letter-spacing: 2px;
	width: 160px;
	height: 160px;
	background-color: @black;
	text-transform: uppercase;
	color: @white;
	background-repeat: no-repeat;
	background-position: center top 60px;
	background-image: url('../images/svg/plus-white.svg');
	background-size: 20px;

	span {
		padding-top: 40px;
		display: block;
	}
}

.btn-remove {
	.font-size(0);
	background-repeat: no-repeat;
	background-position: center;
	background-image: url('../images/svg/delete-white.svg');
	background-size: 13px;
	width: 20px;
	height: 20px;
}

.btn-vote-subgenre {
	.font-size(10);
	border: 2px solid @black;
	color: @black;
	text-transform: uppercase;
	letter-spacing: 2px;
	height: 30px;
	padding: 0 12px 0 0;
	position: relative;
	width: 110px;
	text-align: right;

	&.active {
		background-color: @black;
		color: @white;
	}

	strong {
		position: absolute;
		left: 12px;
	}
}

.btn-circle {
	.font-size(0);
	.rounded-corners(50%);
	width: 40px;
	height: 40px;
	color: @white;
	background-position: center;
	background-repeat: no-repeat;
	background-size: 40px;

	&.google {
		background-image: url('../images/svg/google-circle.svg');
		
	}

	&.facebook {
		background-image: url('../images/svg/facebook-circle.svg');
	}
}

.btn-square {
	.font-size(0);
	width: 100px;
	height: 52px;
	color: @white;
	background-position: center;
	background-repeat: no-repeat;
	background-color: @black;

	&.google {
		background-image: url('../images/svg/google-white.svg');
		background-size: 18px;
	}

	&.facebook {
		background-image: url('../images/svg/facebook-white.svg');
		background-size: 11px;
	}

}

.btn-enter {
	.font-size(12);
	width: 100%;
	height: 40px;
	color: @black;
	background-position: left 12px center;
	background-repeat: no-repeat;
	padding: 0 50px;
	background-color: #F6F6F6;
	background-size: 20px;
	line-height: 1;
	letter-spacing: 0.5px;

	@media @bp_768 {
		.font-size(14);
		height: 50px;
		background-size: 25px;
	}

	&.google {
		background-image: url('../images/svg/google-color.svg');
	}

	&.facebook {
		background-image: url('../images/svg/facebook-color-square.svg');
	}

	&.viberate {
		background-color: @red;
		color: @white;
		text-transform: uppercase;
		letter-spacing: 2px;
		padding: 0 5px;

		@media @bp_768 {
			.font-size(15);
			letter-spacing: 3px;
		}

		&:hover,
		&:active {
			background-color: #FE5671;
		}
	}

	&:hover,
	&:active {
		background-color: #e2e2e2;
	}
}

.btn-footer-menu-toggle {
	.font-size(20);
	color: @white;
	font-weight: 500;

	&.open {
		.font-size(30);

		&:before {
			margin-right: -3px;
			content: "-";
		}
	}

	&:before {
		content: "+";
	}
}

.btn-blue {
	background-color: @blue;
	color: @white;
	padding: 4px 12px;

	@media @bp_1200 {
		letter-spacing: 2.5px;
	}
}

.btn-enable-for-you {
	.font-size(10);
	.rotate(90deg);
	.transform-origin(left bottom);
	padding: 5px 10px 5px 25px;
	font-weight: bold;
	position: fixed;
	left: 0;
	top: 50%;
	border: 2px solid @red;
	text-transform: uppercase;
	color: @red;
	margin-left: -68px;
	letter-spacing: 2px;
	line-height: 1;

	@media @bp_768 {
		.font-size(12);
		padding: 8px 15px 8px 35px;
		margin-left: -82px;
	}

	@media @bp_1200 {
		.font-size(14);
		padding: 12px 15px 12px 35px;
		margin-left: -86px;
	}

	&.active {

		&:before {
			background-color: @red;
		}
	}

	&:before {
		.box-sizing();
		content: "";
		width: 12px;
		height: 12px;
		border: 2px solid @red;
		position: absolute;
		left: 5px;
		top: 50%;
		margin-top: -6px;

		@media @bp_768 {
			left: 10px;
		}
	}
}

a.btn-toolbar {

	&:before {
		background-position: center top 8px;

		@media @bp_768 {
			//background-position: center top 15px;
		}

		@media @bp_1024 {
			background-position: center top 25px;
		}
	}

	span {

		@media @bp_768 {
			//padding-top: 45px;
		}

		@media @bp_1024 {
			padding-top: 55px;
		}
	}

}

.btn-toolbar {
	.font-size(8);
	line-height: 19px;
	font-weight: 500;
	position: relative;
	text-align: center;
	text-transform: uppercase;
	color: @grey-1;
	height: 50px;
	vertical-align: middle;
	letter-spacing: 0.5px;

	@media @bp_768 {
		//.font-size(10);
		//line-height: 19px;
		//font-weight: 500;
		//height: 70px;
	}

	@media @bp_1024 {
		height: 90px;
	}

	&:disabled {
		.opacity(0.2);

		&:hover {
			color: @grey-1;
		}
	}

	&.btn-close {
		.font-size(0);
		background-size: 22px;
		width: 50px;

		@media @bp_768 {
			width: 70px;
		}

		@media @bp_1024 {
			width: 90px;
		}
	}

	&.trigger {
		color: @black;
		text-transform: none;
		height: 50px;
		width: auto;

		@media @bp_768 {
			.font-size(24);
			line-height: 31px;
			height: 70px;
			width: auto;
		}

		@media @bp_1024 {
			height: 90px;
		}

		&.left {

			&:before {
				left: 0;
				right: auto;
			}

			span {
				vertical-align: middle;
				text-align: left;
				padding-left: 50px;

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

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

		&.right {

			&:before {
				right: 0;
				left: auto;
			}

			span {
				text-align: right;
				padding-right: 50px;

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

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

		&:before {
			background-position: center;
			width: 50px;
			height: 50px;

			@media @bp_768 {
				height: 70px;
				width: 70px;
			}

			@media @bp_1024 {
				height: 90px;
				width: 90px;
			}
		}

		span {
			padding: 0;
		}
	}

	&.active,
	&:hover {
		color: @black;
	}

	&.btn-filter {
		
		&:before {
			background-image: url('../images/svg/toolbar-filter.svg');
		}
	}

	&.btn-pro-charts {

		/*
		text-align: center;
		padding: 5px 0 0 0;

		@media @bp_768 {
			padding-top: 13px;
		}

		@media @bp_1024 {
			padding-top: 18px;
		}

		&:before {
			display: none;
		}

		span {
			.font-size(7);
			.rounded-corners(50%);
			background-color: @blue;
			color: @white;
			padding: 0;
			width: 40px;
			height: 40px;
			display: flex;
			justify-content: center;
			align-items: center;
			line-height: 12px;

			@media @bp_768 {
				.font-size(8);
				height: 45px;
				width: 45px;
			}

			@media @bp_1024 {
				//.font-size(10);
				height: 50px;
				width: 50px;
			}
		}*/
	}

	&.btn-display-pro-charts {
		
		&.active,
		&:hover {

			&:before {
				background-image: url('../images/svg/toolbar-charts-view-active.svg');
			}
		}
		
		&:before {
			background-size: 30px;
			background-position: center top 5px;
			background-image: url('../images/svg/toolbar-charts-view.svg');

			@media @bp_768 {
				background-size: 26px;
			}
		}
	}

	&.btn-display-analytics {
		
		&.active,
		&:hover {

			&:before {
				background-image: url('../images/svg/toolbar-analytics-view-active.svg');
			}
		}
		
		&:before {
			background-image: url('../images/svg/toolbar-analytics-view.svg');
		}
	}

	&.btn-display-beatport {
		
		&.active,
		&:hover {

			&:before {
				background-image: url('../images/svg/toolbar-beatport-view-active.svg');
			}
		}
		
		&:before {
			background-image: url('../images/svg/toolbar-beatport-view.svg');
		}
	}

	&.btn-display-page {
		
		&.active,
		&:hover {

			&:before {
				background-image: url('../images/svg/toolbar-page-view-active.svg');
			}
		}
		
		&:before {
			background-image: url('../images/svg/toolbar-page-view.svg');
		}
	}

	&.btn-display-options {

		&.active {

			&:not('.trigger') {

				span {
					display: none;
				}
			}
		}
		
		&:before {
			background-image: url('../images/svg/toolbar-display-options.svg');
		}
	}

	&.btn-display-overview {
		//background-size: 24px;

		&.active,
		&:hover {

			&:before {
				background-image: url('../images/svg/toolbar-overview-view-active.svg');
			}
		}
		
		&:before {
			background-image: url('../images/svg/toolbar-overview-view.svg');
		}
	}

	&.btn-display-grid {

		&.active,
		&:hover {

			&:before {
				background-image: url('../images/svg/toolbar-grid-view-active.svg');
			}
		}
		
		&:before {
			background-image: url('../images/svg/toolbar-grid-view.svg');
		}
	}

	&.btn-display-list {

		&.active,
		&:hover {

			&:before {
				background-image: url('../images/svg/toolbar-list-view-active.svg');
			}
		}
		
		&:before {
			background-image: url('../images/svg/toolbar-list-view.svg');
		}
	}

	&.btn-display-map {

		&.active,
		&:hover {

			&:before {
				background-image: url('../images/svg/toolbar-map-view-active.svg');
			}
		}
		
		&:before {
			background-image: url('../images/svg/toolbar-map-view.svg');
		}
	}

	&.btn-display-audience {

		&.active,
		&:hover {

			&:before {
				background-image: none;
			}
		}
		
		&:before {
			background-image: none;
		}

		span {

			@media @bp_1024 {
				padding-left: 0 !important;
			}
		}
	}

	&.disabled,
	&:disabled {
		.opacity(0.6);
	}

	&:before {
		content: "";
		background-repeat: no-repeat;
		position: absolute;
		display: block;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		height: 50px;
		background-position: center top 8px;

		@media @bp_768 {
			height: 70px;
			background-position: center top 20px;
		}

		@media @bp_1024 {
			height: 90px;
			background-position: center top 30px;
		}
	}

	em {
		.font-size(9);
		font-weight: 500;
		font-style: normal;
		color: @white;
		line-height: 1;
		padding: 3px 4px;
		margin-left: 4px;
		top: -8px;
		position: relative;
		display: none;

		@media @bp_1024 {
			display: inline-block;
		}

		&.new {
			background-color: @red;
		}

		&.soon {
			background-color: @grey-1;
		}
	}

	span {
		display: block;
		text-align: center;
		padding-top: 32px;

		@media @bp_768 {
			padding-top: 40px;
		}

		@media @bp_1024 {
			padding-top: 50px;
		}
	}
}

.btn-filter-entity {
	position: relative;
	width: 100%;
	display: block;
	text-align: left;
	padding: 3px 12px;
	font-weight: 500;

	&.active {
		padding-left: 30px;

		&:before {
			content: "";
			position: absolute;
			left: 12px;
			top: 50%;
			margin-top: -4px;
			height: 8px;
			width: 8px;
			background-color: @white;
		}
	}

	&:hover {
		background-color: #111;
	}

	&:disabled {
		.opacity(0.2);
	}
}

.btn-password-toggle {
	.font-size(0);
	.opacity(0.15);
	background-position: center;
	background-repeat: no-repeat;
	background-size: 24px;
	background-image: url('../images/svg/toggle-password.svg');
	width: 40px;
	height: 40px;
	background-color: transparent;

	@media @bp_768 {
		height: 50px;
		width: 50px;
	}

	&.active {
		.opacity(1);
	}
}

.btn-clear-selection {
	.font-size(12);
	display: block;
	text-align: left;
	height: 32px;
	font-weight: 500;
	letter-spacing: 2px;
	text-transform: uppercase;
}

.btn-activity-points {
	border: 2px solid @grey;
	width: 86px;
	padding: 3px 0;

	&:hover,
	&:active,
	&.active {
		background-color: @black;
		color: @white;
		border-color: @black;
	}

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

.btn-media-player-toggle {
	.rounded-corners(50%);
	background-color: @black;
	width: 40px;
	height: 40px;
	position: fixed;
	bottom: 20px;
	left: 20px;

	&.playing {

		.play {
			.scale(0);
		}

		.animation {
			.play-animation(9);

			.line {
				.opacity(1);
				position: absolute;
				width: 2px;
				background-color: @white;

				&:nth-child(3),
				&:nth-child(7) {
					height: 32px;
					margin-top: -16px;
				}

				&:nth-child(2),
				&:nth-child(4),
				&:nth-child(6),
				&:nth-child(8) {
					height: 18px;
					margin-top: -9px;
				}

				&:nth-child(1),
				&:nth-child(5),
				&:nth-child(9) {
					height: 8px;
					margin-top: -4px;
				}
			}
		}
	}

	.play {
		.transition(all, 300ms, ease-out);
		.scale(1);
		display: block;
		width: 40px;
		height: 40px;
		background-position: center;
		background-repeat: no-repeat;
		background-size: 12px;
		background-image: url('../images/svg/play-white.svg');

		@media @bp_768 {
			background-size: 15px;
			width: 70px;
			height: 70px;
		}

		@media @bp_1200 {
			background-size: 18px;
			width: 90px;
			height: 90px;
		}
	}

	.play-animation (@i) when (@i > 0) {
		span:nth-child(@{i}) {
			animation: pulsate .6s ease-in-out infinite;
			animation-delay: @i * 0.1s;
			left: 6px * @i;
		}
		.play-animation(@i - 1);
	}

	.stop-animation (@i) when (@i > 0) {
		span:nth-child(@{i}) {
			.opacity(0);
		}
		.stop-animation(@i - 1);
	}

	.animation {
		//.stop-animation(9);
		position: absolute;
		display: block;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;

		@media @bp_768 {
			left: 4px;
		}

		@media @bp_1200 {
		}

		.line {
			.transition(all, 100ms, linear);
			.transform-origin(50%, 50%);
			.opacity(0);
			position: absolute;
			width: 0px;
			left: 50%;
			top: 50%;
			background-color: @black;

			&:nth-child(3),
			&:nth-child(7) {
				height: 32px;
				margin-top: -16px;
			}

			&:nth-child(2),
			&:nth-child(4),
			&:nth-child(6),
			&:nth-child(8) {
				height: 18px;
				margin-top: -9px;
			}

			&:nth-child(1),
			&:nth-child(5),
			&:nth-child(9) {
				height: 8px;
				margin-top: -4px;
			}
		}
	}

	@media @bp_768 {
		width: 70px;
		height: 70px;
	}
	

	@media @bp_1200 {
		width: 90px;
		height: 90px;
		left: 30px;
		bottom: 30px;
	}	
}

.btn-pagination {
	.font-size(12);
	text-align: center;
	min-width: 30px;
	height: 30px;
	border-bottom: 2px solid #D2D2D2;
	display: inline-block;
	vertical-align: middle;
	margin: 0 2px;

	@media @bp_768 {
		.font-size(14);
		width: 35px;
		height: 40px;
	}

	@media @bp_1024 {
		width: 45px;
	}

	&:not(:disabled) {
		
		&:hover {
			border-color: @black;
		}
	}

	&.active {
		border-color: @black;
	}

	&.next,
	&.prev {
		.font-size(0);
		background-position: center;
		background-size: 8px;
		background-repeat: no-repeat;
	}

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

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

	&:disabled {
		.opacity(.25);
	}
}

.btn-border {
	.box-sizing();
	.font-size(14);
	letter-spacing: 3px;
	line-height: 16px;
	color: @black;
	background-color: @white;
	text-transform: uppercase;
	font-weight: 500;
	flex: 1;
	border: 2px solid @black;
	padding: 10px 35px;

	&:disabled {
		color: @grey;
		border-color: @white-1;
	}
}

.btn-select {
	.font-size(12);
	position: relative;
	width: 100%;
	display: block;
	text-align: left;
	padding: 3px 12px 3px 30px;
	font-weight: 500;
	color: @grey-1;

	&.active {
		color: @black;

		&:before {
			background-color: @black;
		}
	}

	&:hover {
		color: @black;
		background-color: #eee;
	}

	&:disabled {
		.opacity(0.2);
	}
	
	&:before {
		content: "";
		position: absolute;
		left: 12px;
		top: 50%;
		margin-top: -6px;
		height: 8px;
		width: 8px;
		border: 2px solid @black;
	}
}

.btn-blue-floater-cta {
	display: flex;
	justify-content: center;
	align-items: center;

	&.dynamic {
		.transition(transform, 300ms, ease-out);
		.translate(0,100px);
	}
}

.btn-blue-floater-cta,
.btn-request-access-cta,
.btn-contact-us-cta {
	.transition(opacity, 200ms, linear);
	.opacity(0);
	.font-size(14);
	.prevent-click();
	line-height: 12px;
	font-weight: 500;
	text-align: center;
	text-transform: uppercase;
	display: inline-block;
	background-color: @blue;
	color: @white;
	width: 100%;
	//height: 52px;
	padding: 21px 12px;
	letter-spacing: 3px;

	@media @bp_768 {
		.rounded-corners(50%);
		.font-size(10);
		width: 68px;
		height: 68px;
		font-weight: 500;
		line-height: 15px;
		letter-spacing: 1px;
		padding: 0;
	}

	@media @bp_1024 {
		width: 90px;
		height: 90px;
		letter-spacing: 2px;
	}

	&.btn-get-started {

		@media @bp_768 {
			display: none;
		}
	}

	&.show {
		.enable-click();
		.opacity(1);
	}

	&.fixed {
		position: fixed;
		bottom: 0;
		left: 0;
		right: 0;
		z-index: 2;

		@media @bp_768 {
			left: auto;
			bottom: auto;
			top: 90px;
			right: 20px;
		}

		@media @bp_1200 {
			top: 110px;
		}
	}

	br {
		display: none;

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

.btn-play-tutorial {
	.font-size(10);
	height: 32px;
	font-weight: 600;
	background-position: center;
	background-repeat: no-repeat;
	background-size: 16px;
	background-image: url('../images/svg/play-tutorial.svg');
	vertical-align: middle;
	text-transform: uppercase;
	text-align: left;
	padding-left: 24px;
	line-height: 13px;
	background-position: left 1px center;

	@media @bp_768 {
		padding-right: 24px;
		padding-left: 0;
		line-height: 13px;
		max-width: 110px;
		background-position: right 1px center;
		margin-left: 12px;
	}

	&:hover {
		background-image: url('../images/svg/play-tutorial-roll.svg');
	}
}

.btn-how-to-use-this {
	.font-size(10);
	height: 32px;
	font-weight: 600;
	background-position: center;
	background-repeat: no-repeat;
	background-size: 16px;
	background-image: url('../images/svg/how-to-use-this.svg');
	vertical-align: middle;
	text-transform: uppercase;
	text-align: left;
	padding-left: 24px;
	line-height: 13px;
	background-position: left 1px center;

	&:hover {
		background-image: url('../images/svg/how-to-use-this-roll.svg');
	}

	@media @bp_768 {
		padding-right: 24px;
		padding-left: 0;
		line-height: 13px;
		background-position: right 1px center;
		margin-left: 12px;
	}
}

.btn-outside-link {
	.font-size(10);
	line-height: 1;
	letter-spacing: 2px;
	color: inherit;
	text-transform: uppercase;
	font-weight: 500;

	&:after {
		content: "";
		background-image: url('../images/svg/icon-link-black.svg');
		background-size: 32px;
		background-repeat: no-repeat;
		background-position: center;
		width: 16px;
		height: 16px;
		display: inline-block;
		vertical-align: middle;
		margin-left: 6px;
	}
}

.btn-copy-link {
	.font-size(14);
	line-height: 12px;
	font-weight: 500;
	text-align: center;
	text-transform: uppercase;
	display: inline-block;
	background-color: @blue;
	color: @white;
	width: 100%;
	height: 52px;
	letter-spacing: 3px;

	@media @bp_1024 {
		.font-size(12);
		border: 2px solid @blue;
		font-weight: 500;
		height: 32px;
		letter-spacing: 1px;
		border-color: @blue;
		color: @blue;
		background-color: transparent;

		&:hover {
			background-color: @blue;
			color: @white;
		}
	}

	.msg {
		.transition(opacity, 300ms, ease-out);
		.opacity(0);
		.prevent-click();
		display: inline-block;
		position: absolute;
		top: -25px;
		left: 0;
		right: 0;
		padding: 7px;
		text-align: center;
		z-index: -1;
		background-color: @white;

		@media @bp_768 {
			top: auto;
			bottom: -25px;
			padding: 0;
			background-color: transparent;
		}

		&.msg-success {
			.opacity(1);
			color: @black;
		}

		&.msg-fail {
			.opacity(1);
			color: @red;
		}
	}
}

.btn-learn-back {
	.font-size(12);
	background-position: left center;
	background-repeat: no-repeat;
	background-size: 14px;
	background-image: url('../images/svg/arrow-left-blue.svg');
	font-weight: 500;
	text-transform: uppercase;
	padding-left: 20px;
	color: @black;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.btn-rate-article {
	background-position: left center;
	background-repeat: no-repeat;

	&.yes {
		background-image: url('../images/svg/rate-article-yes.svg');
		background-size: 16px;
		padding-left: 20px;
	}

	&.no {
		background-image: url('../images/svg/rate-article-no.svg');
		background-size: 12px;
		padding-left: 16px;
	}
}

/////////////////////
///// PRO /////
/////////////////////

.btn {

	&.btn-pro {
		.font-size(12);
		line-height: 1;
		background-color: @blue;
		color: @white;
		text-transform: uppercase;
		padding: 10px 24px;
		letter-spacing: 2px;

		&.black {
			background-color: @black;
			color: @white;
		}

		&.red {
			background-color: @red;
			color: @white;

			&:hover,
			&:active {
				background-color: @red-roll;
				color: @white;
			}
		}

		&.white {
			background-color: @white;
			color: @black;
		}

		&.small {
			.font-size(12);
			padding-top: 8px;
			padding-bottom: 8px;
			line-height: 1;
		}

		&.border {
			background-color: transparent;
			color: @blue;
			border: 1px solid @blue;
			padding-top: 9px;
			padding-bottom: 9px;

			&.black {
				color: @black;
				border-color: @black;

				&:hover,
				&:active {
					background-color: transparent;
					color: @black-roll;
					border-color: @black-roll;
				}
			}

			&:hover,
			&:active {
				background-color: transparent;
				color: @blue-roll;
				border-color: @blue-roll;
			}
		}

		&.active {
			background-color: transparent;
			color: @blue;
			border: 1px solid @blue;
			padding-top: 9px;
			padding-bottom: 9px;

			&:hover,
			&:active {
				background-color: transparent;
				color: @blue-roll;
				border-color: @blue-roll;
			}
		}

		&:hover,
		&:active {
			background-color: @blue-roll;
			color: @white;
		}

		&:disabled,
		&.disabled {
			.prevent-click();
			color: @white;
			background-color: #D9D9D9;
		}
	}

	&.btn-pro-txt {
		.font-size(10);
		letter-spacing: 2px;
		font-weight: 600;
		color: @blue;
		text-transform: uppercase;
	}

	&.btn-contact-user {
		.font-size(0);
		background-position: center;
		background-repeat: no-repeat;
		background-size: 16px;
		width: 16px;
		height: 14px;
		background-image: url('../images/svg/icon-envelope.svg');

		&:hover {
			background-image: url('../images/svg/icon-envelope-roll.svg');
		}
	}
}

.btn-pro-filter-trigger {
	position: fixed;
	z-index: 4;
	right: 0;
	bottom: 40px;
	width: 56px;
	height: 56px;
	background-color: @blue;
	background-position: center;
	background-repeat: no-repeat;
	background-image: url('../images/svg/icon-filter.svg');
	background-size: 24px;

	@media @bp_768 {
		display: none;
	}

	.counter {
		.rounded-corners(50%);
		.font-size(8);
		position: absolute;
		right: 8px;
		top: 8px;
		color: @blue;
		text-align: center;
		line-height: 16px;
		width: 16px;
		height: 16px;
		background-color: @white;
		display: inline-block;
	}
}

.btn-play-track {
	.rounded-corners(50%);
	.font-size(0);
	border: 1px solid @blue;
	position: relative;
	color: @blue;
	text-transform: uppercase;
	width: 32px;
	height: 32px;
	min-width: 32px;
	font-weight: 600;
	letter-spacing: 2px;
	background-color: @white;

	&.active {
		//background-color: @blue;

		&:before,
		&:after {
			content: "";
			margin: -6px -4px 0 0;
			width: 3px;
			height: 12px;
			border: 0;
			background-color: @blue;
		}

		&:after {
			right: auto;
			left: 50%;
			margin: -6px 0 0 -4px;
		}

		&:hover {
			//background-color: @blue-roll;
			
			&:before,
			&:after {
				background-color: @blue-roll;
			}
		}
	}

	&.medium {
		min-width: 24px;
		width: 24px;
		height: 24px;

		&.active {

			&:before,
			&:after {
				margin: -4px -3px 0 0;
				width: 2px;
				height: 8px;
			}

			&:after {
				margin: -4px 0 0 -3px;
			}
		}

		&:before {
			border-width: 4px 0 4px 6px;
			margin: -4px -4px 0 0;
		}

		span {
			left: 20px;
			line-height: 16px;
		}
	}

	&.small {
		min-width: 16px;
		width: 16px;
		height: 16px;

		&.active {

			&:before,
			&:after {
				margin: -3px -3px 0 0;
				width: 2px;
				height: 6px;
			}

			&:after {
				margin: -3px 0 0 -3px;
			}
		}

		&:before {
			border-width: 3px 0 3px 5px;
			margin: -3px -3px 0 0;
		}

		span {
			left: 20px;
			line-height: 16px;
		}
	}

	&.show-text {
		margin-right: 54px;

		span {
			.font-size(12);
		}
	}

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

		&:before {
			border-color: transparent transparent transparent @blue-roll;
		}
	}

	&:before,
	&:after {
		content: "";
		position: absolute;
		top: 50%;
		right: 50%;
	}

	&:before {
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 6px 0 6px 9px;
		border-color: transparent transparent transparent @blue;
		margin: -6px -6px 0 0;
	}

	&:after {
		content: none;
	}

	span {
		overflow: visible;
		position: absolute;
		left: 36px;
		top: 0;
		line-height: 32px;
		width: 50px;
		text-align: left;
	}
}

.btn-buy-track {
	.rounded-corners(50%);
	.font-size(0);
	border: 1px solid @blue;
	position: relative;
	color: @blue;
	text-transform: uppercase;
	width: 32px;
	height: 32px;
	font-weight: 600;
	letter-spacing: 2px;

	&.small {
		width: 16px;
		height: 16px;

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

		span {
			overflow: visible;
			left: 20px;
			line-height: 16px;
		}
	}

	&.show-text {
		margin-right: 34px;

		span {
			.font-size(12);
		}
	}

	&:hover {
		background-color: @blue;

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

	&:before {
		content: "";
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		background-image: url('../images/svg/buy-blue.svg');
		background-repeat: no-repeat;
		background-position: center;
		background-size: 24px;
	}

	span {
		position: absolute;
		left: 36px;
		top: 0;
		line-height: 32px;
		width: 30px;
		text-align: left;
	}
}

.btn-pro-content-nav {
	.font-size(12);
	line-height: 16px;
	text-transform: uppercase;
	background-position: left center;
	background-repeat: no-repeat;
	color: inherit;
	font-weight: 500;
	letter-spacing: 1px;
	min-height: 16px;
	color: @grey-1;
	white-space: nowrap;

	@media @bp_768 {
		letter-spacing: 2px;
	}
	
	&.page,
	&.basic,
	&.map,
	&.list,
	&.grid,
	&.charts,
	&.analytics,
	&.overview {
		background-size: 16px;
		padding-left: 24px;
		background-image: url('../images/svg/logo-v.svg');
	}

	&.airplay {
		background-size: 16px;
		padding-left: 24px;
		background-image: url('../images/svg/airplay-color.svg');
	}

	&.audience {
		background-size: 16px;
		padding-left: 24px;
		background-image: url('../images/svg/audience-color.svg');
	}

	&.beatport {
		background-size: 16px;
		padding-left: 24px;
		background-image: url('../images/svg/beatport-square.svg');
	}

	&.youtube {
		background-size: 16px;
		padding-left: 24px;
		background-image: url('../images/svg/youtube-color.svg');
	}

	&.playlists {
		background-size: 16px;
		padding-left: 24px;
		background-image: url('../images/svg/spotify-color.svg');
	}

	&.spotify {
		background-size: 16px;
		padding-left: 24px;
		background-image: url('../images/svg/spotify-color.svg');
	}

	&.locked {
		padding-right: 12px;
		overflow: visible;

		&:after {
			content: "";
			position: absolute;
			right: 0;
			top: -4px;
			width: 8px;
			height: 10px;
			display: inline-block;
			background-position: center;
			background-size: 8px;
			background-image: url('../images/svg/lock.svg');
			background-repeat: no-repeat;
		}
	}

	&.soon {
		padding-right: 38px;
		overflow: visible;

		&.page,
		&.list,
		&.grid,
		&.charts,
		&.analytics {
			background-size: 16px;
			padding-left: 24px;
			background-image: url('../images/svg/logo-v-disabled.svg');
		}

		&.playlists {
			background-size: 16px;
			padding-left: 24px;
			background-image: url('../images/svg/spotify-disabled.svg');
		}

		&.beatport {
			background-size: 16px;
			padding-left: 24px;
			background-image: url('../images/svg/beatport-square-disabled.svg');
		}

		&.spotify {
			background-size: 16px;
			padding-left: 24px;
			background-image: url('../images/svg/spotify-disabled.svg');
		}

		&.youtube {
			background-size: 16px;
			padding-left: 24px;
			background-image: url('../images/svg/youtube-disabled.svg');
		}

		&.airplay {
			background-size: 16px;
			padding-left: 24px;
			background-image: url('../images/svg/airplay-disabled.svg');
		}

		&.audience {
			background-size: 16px;
			padding-left: 24px;
			background-image: url('../images/svg/audience-disabled.svg');
		}

		&:hover {
			color: @grey-1;
		}

		&:after {
			.font-size(9);
			font-weight: 500;
			content: "Soon";
			text-transform: uppercase;
			position: absolute;
			right: 0;
			top: -4px;
			display: inline-block;
			padding: 2px;
			line-height: 1;
			color: @white;
			background-color: @grey-1;
			letter-spacing: 0.5px;
		}
	}

	&.new {
		padding-right: 30px;
		overflow: visible;

		&:after {
			.font-size(9);
			font-weight: 500;
			content: "New";
			text-transform: uppercase;
			position: absolute;
			right: 0;
			top: -4px;
			display: inline-block;
			padding: 2px;
			line-height: 1;
			color: @white;
			background-color: @red;
			letter-spacing: 0.5px;
		}
	}

	&.disabled,
	&:disabled {

		&.page,
		&.basic,
		&.map,
		&.list,
		&.grid,
		&.charts,
		&.analytics,
		&.overview,
		&.audience {
			background-size: 16px;
			padding-left: 24px;
			background-image: url('../images/svg/logo-v-disabled.svg');
		}

		&.playlists {
			background-size: 16px;
			padding-left: 24px;
			background-image: url('../images/svg/spotify-disabled.svg');
		}

		&.beatport {
			background-size: 16px;
			padding-left: 24px;
			background-image: url('../images/svg/beatport-square-disabled.svg');
		}

		&.spotify {
			background-size: 16px;
			padding-left: 24px;
			background-image: url('../images/svg/spotify-disabled.svg');
		}

		&:hover {
			color: @grey-1;
		}
		
	}

	&:hover {
		color: @blue;
	}
}

a.btn-pro-search {
	color: @blue;
	border: 2px solid @blue;
	height: auto;
	padding: 10px 12px;
	line-height: 1;

	span {
		padding: 0;
	}

	&:before {
		content: none;
	}

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

.btn-locator-small {
	.font-size(0);
	width: 12px;
	height: 12px;
	background-position: center;
	background-size: 11px;
	background-image: url('../images/svg/location-blue.svg');
	background-repeat: no-repeat;
	margin-left: 4px;
	background-size: 8px;
	vertical-align: middle;

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

/////////////////////
///// DASHBOARD /////
/////////////////////

.btn {

	&.btn-primary {
		.font-size(14);
		line-height: 20px;
		background-color: @primary-btn-color;
		color: @white;
		text-transform: uppercase;
		padding: 10px 24px;
		letter-spacing: 2px;

		&.blue {
			background-color: @blue;
			color: @white;
		}

		&.black {
			background-color: @black;
			color: @white;
		}

		&.white {
			background-color: @white;
			color: @black;
		}

		&.small {
			.font-size(12);
			padding-top: 8px;
			padding-bottom: 8px;
		}

		&.border {
			color: @primary-btn-color;
			border: 1px solid @primary-btn-color;
			background-color: @white;
			padding: 9px 23px;

			&.small {
				.font-size(12);
				padding-top: 7px;
				padding-bottom: 7px;
			}

			&:hover,
			&:active {
				color: @blue-roll;
				border-color: @blue-roll;
				background-color: @white;
			}

			&:disabled,
			&.disabled {
				.prevent-click();
				color: #808080;
				border-color: #cccccc;
			}
		}

		&:hover,
		&:active {
			background-color: @blue-roll;
			color: @white;
		}

		&:disabled,
		&.disabled {
			.prevent-click();
			color: @white;
			background-color: #D9D9D9;
		}
	}

	&.btn-secondary {
		.font-size(12);
		line-height: 18px;
		border: 1px solid @primary-btn-color;
		color: @primary-btn-color;
		text-transform: uppercase;
		padding: 7px 24px;
		letter-spacing: 1px;

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

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

		&.white {
			border-color: @white;
			color: @white;
		}

		&.small {
			.font-size(10);
			font-weight: 500;
			line-height: 12px;
			padding: 6px 22px;
		}

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

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

	&.btn-terciary {
		.font-size(11);
		line-height: 20px;
		color: @primary-btn-color;
		text-transform: uppercase;
		letter-spacing: 1px;

		&.blue {
			color: @blue;
		}

		&.black {
			color: @black;
		}

		&:hover,
		&:active {
			color: @black;
			.text-decoration-ink;
		}

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

	&.btn-txt {
		.font-size(11);
		line-height: 18px;
		color: @primary-btn-color;
		text-transform: uppercase;
		letter-spacing: 1px;
		color: @black;

		&.small {
			.font-size(10);
			line-height: 12px;
			font-weight: 500;
		}

		&.blue {
			color: @blue;

			&:hover,
			&:active {
				color: @blue-roll;
			}
		}

		&.black {
			color: @black;
		}

		&:hover,
		&:active {
			color: inherit;
			.text-decoration-ink;
		}
	}
}

.btn-dashboard-edit {
	.font-size(0);
	line-height: 1;

	&:before {
		content: url('../images/svg/dashboard-edit.svg');
	}
}

.btn-dashboard-close {
	.font-size(0);
	line-height: 1;

	&:before {
		content: url('../images/svg/dashboard-x.svg');
	}
}

.btn-view {
	.font-size(0);
	width: 16px;
	height: 16px;
	background-repeat: no-repeat;
	background-size: 100%;
	background-position: center;

	&.btn-view-list {
		background-image: url('../images/svg/icon-view-list.svg');

		&.active,
		&:hover {
			background-image: url('../images/svg/icon-view-list-active.svg');
		}
	}

	&.btn-view-grid {
		background-image: url('../images/svg/icon-view-grid.svg');

		&.active,
		&:hover {
			background-image: url('../images/svg/icon-view-grid-active.svg');
		}
	}
}

.btn-follow {
	.font-size(0);
	.rounded-corners(50%);
	width: 24px;
	height: 24px;
	background-color: @blue;
	background-image: url('../images/svg/icon-plus-white.svg');
	background-size: 8px;
	background-repeat: no-repeat;
	background-position: center;
	border: 1px solid @blue;

	&.active {
		background-color: @white;
		background-image: url('../images/svg/icon-checkmark-blue.svg');
		background-size: 14px;

		&:hover,
		&:active {
			background-image: url('../images/svg/icon-checkmark-blue-roll.svg');
			background-color: @white;
		}
	}

	&:hover,
	&:active {
		background-color: @blue-roll;
		border-color: @blue-roll;
	}
}

.btn {
	
	&.pro-tag {
		.pro-tag;
	}
}

.btn-toggle-city-search {
	color: @blue;

	&:hover {
		color: @blue-roll;

		&:before {
			background-image: url('../images/svg/search-pro-table-blue-roll.svg');
		}
	}

	&:before {
		content: "";
		display: inline-block;
		vertical-align: middle;
		background-repeat: no-repeat;
		background-position: right center;
		background-image: url('../images/svg/search-pro-table-blue.svg');
		background-size: 16px;
		width: 16px;
		height: 16px;
		margin-right: 8px;
		height: 24px;
	}
}

.btn-back-to-charts {
	.font-size(10);
	letter-spacing: 2px;
	line-height: 14px;
	font-weight: 500;
	text-transform: uppercase;
	color: @blue;
	display: flex;
	justify-content: flex-start;
	align-items: center;

	&:hover {
		color: @blue-roll;

		&:before {
			background-image: url('../images/svg/arrow-left-blue-roll.svg');
		}
	}

	&:before {
		content: "";
		display: inline-block;
		vertical-align: middle;
		background-repeat: no-repeat;
		background-position: center;
		background-image: url('../images/svg/arrow-left-blue.svg');
		background-size: 11px;
		width: 12px;
		height: 8px;
		margin-right: 8px;
		height: 8px;
	}
}

.btn-back-to-compared-entity {
	.font-size(10);
	letter-spacing: 2px;
	line-height: 14px;
	font-weight: 500;
	text-transform: uppercase;
	color: @blue;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: visible;

	&:hover {
		color: @blue-roll;

		&:before {
			background-image: url('../images/svg/arrow-left-blue-roll.svg');
		}
	}

	&:before {
		content: "";
		display: inline-block;
		vertical-align: middle;
		background-repeat: no-repeat;
		background-position: center;
		background-image: url('../images/svg/arrow-left-blue.svg');
		background-size: 11px;
		width: 12px;
		margin-right: 8px;
		white-space: nowrap;
		height: 8px;
		min-width: 12px;
		margin-left: 2px;
	}
}