.pro-section {
	padding: 32px 0;
	overflow: visible;

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

	&.blue-grey {
		position: relative;
		background-color: @blue-grey;

		&:before {
			.prevent-click;
			content: "";
			position: absolute;
			z-index: -1;
			top: 0;
			bottom: 0;
			left: -2000px;
			right: -2000px;
			background-color: @blue-grey;
		}
	}

	&.blue-grey-dark {
		position: relative;
		background-color: @blue-grey-dark;

		&:before {
			.prevent-click;
			content: "";
			position: absolute;
			z-index: -1;
			top: 0;
			bottom: 0;
			left: -2000px;
			right: -2000px;
			background-color: @blue-grey-dark;
		}

		.pro-section-header {

			&.side-header {

				h2 {
					color: @white;

					&:before {
						background: @white;
					}
				}
			}
		}
	}

	.pro-section-header {
		
		@media @bp_1024_max {
			position: relative;
			z-index: 2;
		}

		&.side-header {

			h2 {
				padding-bottom: 16px;

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

				&:before {
					content: "";
					position: absolute;
					left: 0;
					bottom: 0;
					height: 4px;
					width: 48px;
					background: @viberate;
				}
			}
		}
		
		.row {
			display: flex;
			justify-content: space-between;
			align-items: center;
			//flex-wrap: wrap;
			align-items: center;
			margin-bottom: 24px;

			@media @bp_768 {
				margin-bottom: 32px;
			}

			.left {
				padding-right: 12px;

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

			.right {
				text-align: right;
			}
		}

		h2 {
			.font-size(22);
			line-height: 28px;
			font-weight: 500;
			position: relative;

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

			&.channel {
				padding-left: 40px;

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

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

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

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

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

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

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

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

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

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

				&:before {
					content: "";
					position: absolute;
					left: 0;
					top: 0;
					width: 40px;
					height: 28px;
					background-position: left center;
					background-repeat: no-repeat;
					background-size: 22px;

					@media @bp_768 {
						background-size: 24px;
						height: 34px;
					}
				}
			}

			small {
				.font-size(12);
				color: @grey-1;
				font-weight: 400;
				vertical-align: bottom;
				line-height: 18px;
				display: block;

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

				@media @bp_1024 {
					padding-left: 8px;
					display: inline;
				}
			}
		}
	}

	.pro-section-content {

		@media @bp_1024_max {
			position: relative;
			z-index: 1;
		}
	}

	.pro-section-list-entities {
			
		.item {
			padding-top: 8px;

			&:first-child {
				padding-top: 0;
			}
		}

		.entity-list-item-v2 {
			.box-shadow(0 2px 8px 0 rgba(0,0,0,0.08));
			padding: 8px;

			.column-primary {
				padding-left: 0;
			}
		}
	}

	.pro-section-list-entities-footer {
		padding-top: 24px;
		display: flex;
		justify-content: space-between;
		align-items: center;

		.btn-text {
			letter-spacing: 2px;
			font-weight: 500;
		}

		.btn-solid {
			.font-size(10);
			border-width: 1px;
			padding: 4px 24px;
			min-width: 0;
		}
	}

	.pro-section-content-side-filter {
		position: relative;

		&.open {

			.pro-section-content-side-filter-selected {
				
				&:after {
					.rotate(180deg);
				}
			}
		}

		.pro-section-content-side-filter-selected {
			.font-size(10);
			.text-overflow;
			.box-sizing;
			color: @blue;
			text-transform: uppercase;
			text-align: right;
			padding-right: 12px;
			text-align: right;
			position: relative;
			line-height: 1;
			z-index: 1;
			margin: 0 8px;
			cursor: pointer;
			max-width: 200px;

			@media @bp_1024 {
				display: none;
			}

			&:after {
				content: "";
				position: absolute;
				top: 50%;
				right: 0px;
				background: none;
				width: 0;
				height: 0;
				border-left: 4px solid transparent;
				border-right: 4px solid transparent;
				border-top: 4px solid #4e63ce;
				margin-top: -3px;
			}
		}

		.pro-section-content-side-filter-options {
			.font-size(0);			

			&.open {
				display: block;
			}

			@media @bp_1024_max {
				.box-shadow(0 0 15px 0 rgba(0,0,0,0.08));
				position: absolute;
				top: -16px;
				right: 0px;
				background-color: @white;
				z-index: 0;
				padding: 36px 20px 12px 12px;
				display: none;
			}

			@media @bp_1024 {
				display: block;
			}

			&:before {

				@media @bp_1024_max {
					.prevent-click;
					content: "";
					position: absolute;
					top: 34px;
					display: inline-block;
					left: 12px;
					z-index: 1;
					right: 12px;
					height: 1px;
					background-color: @blue;
				}
			}
		}

		.pro-tag {
			margin-left: 8px;

			&.tag-timeframe {

				@media @bp_1024_max {
					.text-overflow;
					border: 0;
					background-color: transparent;
					padding-left: 0;
					padding-right: 0;
					color: @black;
					display: block;
					text-align: right;
					width: 100%;
					max-width: 180px;
				}

				&.active {

					@media @bp_1024_max {
						background-color: transparent;
						color: @blue;
					}

					&:hover,
					&:active {
						
						@media @bp_1024_max {
							background-color: transparent;
							color: @blue;
						}
					}
				}

				&:hover,
				&:active {
					
					@media @bp_1024_max {
						background-color: transparent;
						color: @blue;
					}
				}
			}
		}
	}
}


//PRO SECTIONS
.pro-section {

	&.pro-section-channel-top-tracks {

		.pro-section-list-entities-footer {

			@media @bp_768 {
				margin-top: -50px;
			}
		}
	}

	&.pro-section-side-title {

		@media @bp_1024 {
			display: flex;
		}

		.pro-section-header {
			
			@media @bp_1024 {
				width: 25%;
				max-width: 25%;
			}
		}

		.pro-section-content {

			@media @bp_1024 {
				.box-sizing;
				width: 75%;
				margin-left: 24px;
			}
		}
	}

	&.pro-section-videos {

		.pro-section-swiper {

			.swiper-slide {

				@media @bp_768_max {
					min-width: 260px;
					width: 260px;
				}
			}
		}
	}

	&.pro-section-future-and-past-events {

		.entity-list-item-v2 {

			.entity {

				h3 {
					min-height: 23px;
					
					@media @bp_768_max {
						.font-size(12);
					}

					@media @bp_768 {
						margin-bottom: 1px;
					}

					a {

						@media @bp_1024_max {
							.clamp-lines(2);
						}
					}
				}

				.artist {

					@media @bp_768_max {
						.font-size(12);
					}

					@media @bp_768 {
						margin-top: 1px;
					}
				}
			}
			
			.column-secondary {

				@media @bp_1024_max {
					display: none;
				}

				@media @bp_1024_max {
					border-top: 1px solid #E8ECED;
					margin-top: 12px;
					padding-top: 8px;
					padding-left: 104px;
					justify-content: space-between;
				}

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

		.pro-event-date-calendar {

			@media @bp_768_max {
				width: 70px;
				height: 50px;

				.day {
					.font-size(20);
					line-height: 22px;
				}

				.year {
					.font-size(8);
					line-height: 12px;
				}

				.month {
					.font-size(10);
					line-height: 14px;
				}
			}
		}

		.pro-section-list-entities-footer {

			.right {

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

	&.pro-section-appears-on-charts {

		.list-charts {

			@media @bp_768 {
				margin: -12px;
				display: flex;
				flex-wrap: wrap;
				flex: 1;
			}

			.item {
				padding-top: 8px;

				@media @bp_768 {
					.box-sizing;
					display: flex;
					padding: 12px;
					width: 50%;
				}

				@media @bp_1280 {
					width: 25%;
				}

				&:first-child {
					padding-top: 0;

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

		.chart-square {
			.box-shadow(0 0 15px 0 rgba(0,0,0,0.08));
			color: @white;
			display: flex;
			padding: 16px;
			display: flex;
			align-items: center;
			flex: 1;

			@media @bp_768 {
				flex-direction: column;
				align-items: flex-start;
				padding: 16px;
			}

			@media @bp_1400 {
				padding: 24px;
			}

			&.instagram {
				background-color:  @instagram-low;
			}

			&.twitter {
				background-color:  @twitter-low;
			}

			&.tiktok {
				background-color:  @tiktok-low;
			}

			&.soundcloud {
				background-color:  @soundcloud-low;

				.icon-channel {
					background-color: @white;
				}
			}

			&.youtube {
				background-color:  @youtube-low;
			}

			&.bandsintown {
				background-color:  @bandsintown-low;
			}

			&.shazam {
				background-color:  @shazam-low;
			}

			&.tiktok {
				background-color:  @tiktok-low;
			}

			&.spotify {
				background-color:  @spotify-low;

				.icon-channel {
					background-color: @white;
				}
			}

			&.deezer {
				background-color:  @deezer-low;
			}

			&.beatport {
				background-color:  @beatport-low;
			}

			.chart-square-title {
				.box-sizing;
				.font-size(12);
				line-height: 15px;
				display: flex;
				align-items: center;
				flex: 1;
				font-weight: 500;

				@media @bp_768 {
					.font-size(22);
					line-height: 30px;
					flex-direction: column;
					align-items: flex-start;
				}

				strong {
					.font-size(26);
					line-height: 32px;
					white-space: nowrap;
					font-weight: 500;
					padding-right: 8px;

					@media @bp_768 {
						.font-size(56);
						line-height: 56px;
						padding-right: 0;
						padding-bottom: 6px;
					}

					sup {
						.font-size(14);
						top: 0;
						vertical-align: 12px;

						@media @bp_768 {
							.font-size(22);
							vertical-align: 32px;
						}
					}
				}

				span {
					display: flex;
					flex: 1;
					align-items: 1;
					font-weight: 400;
				}
			}

			.icons {
				white-space: nowrap;
				position: relative;
				z-index: 1;
				display: flex;
				align-items: center;

				@media @bp_768 {
					margin-top: auto;
					justify-content: flex-end;
					width: 100%;
				}
			}

			.icon {
				.box-shadow(0 0 15px 0 rgba(0,0,0,0.08));
				.rounded-corners(50%);
				.box-sizing;
				width: 24px;
				height: 24px;
				overflow: hidden;
				border: 2px solid @white;
				position: relative;
				z-index: 5;

				@media @bp_768 {
					width: 40px;
					height: 40px;
					border-width: 4px;
				}

				&.icon-country {

					img {
						position: absolute;
						top: 0;
						left: 50%;
						margin-left: -15px;
						width: 30px;
						height: 20px;
						max-width: none;

						@media @bp_768 {
							width: 54px;
							margin-left: -27px;
							height: 36px;
						}
					}
				}

				&.icon-channel {

					img {
						position: absolute;
						top: 0;
						left: 50%;
						margin-left: -10px;
						width: 20px;
						height: 20px;
						max-width: none;

						@media @bp_768 {
							width: 32px;
							height: 32px;
							margin-left: -16px;
						}
					}
				}

				& + .icon {
					z-index: 4;
					margin-left: -15px;

					@media @bp_768 {
						margin-left: -20px;
					}

					& + .icon {
						z-index: 3;

						& + .icon {
							z-index: 2;

							& + .icon {
								z-index: 1;
							}
						}
					}
				}
			}
		}
	}

	&.pro-section-artist-pick {

		.pro-card-featured {
			.box-shadow(0 0 15px 0 rgba(0,0,0,0.08));

			@media @bp_768 {
				flex-direction: row;
			}

			> figure {

				@media @bp_768 {
					padding: 0;
					width: 44.33%;
				}

				&:after {

					@media @bp_768 {
						.prevent-click;
						content: "";
						position: relative;
						padding-top: 56.6%;
						width: 100%;
						display: block;
					}
				}
			}

			> article {

				@media @bp_768 {
					display: flex;
					flex-direction: column;
					width: 55.66%;
					justify-content: center;
				}
			}
		}

		.pro-card-stats {

			@media @bp_768 {
				.box-sizing;
				width: calc(~'44.33% - 16px');
			}
		}
	}

	&.pro-section-featured-event {
		display: none;

		@media @bp_768 {
			display: flex;
			flex-direction: column;
		}

		@media @bp_1024 {
			flex-direction: row;
		}

		.pro-card-featured {
			.box-shadow(0 0 15px 0 rgba(0,0,0,0.08));

			@media @bp_768 {
				flex-direction: row;
			}

			> figure {

				@media @bp_768 {
					padding: 0;
					width: 44.44%;
					min-height: 270px;
				}
			}

			> article {

				@media @bp_768 {
					display: flex;
					flex-direction: column;
					width: 66.66%;
					justify-content: space-between;
				}
			}

			.article-top,
			.article-bottom {

				@media @bp_1400 {
					flex-direction: row;
				}

				.tags {

					@media @bp_1400 {
						.box-sizing;
						align-self: center;
						display: flex;
						align-items: center;
						justify-content: flex-end;
						flex: 1 0 auto;
						flex-wrap: wrap;
						max-width: 180px;
						padding-left: 40px;
						padding-top: 0;
						text-align: right;
					}

					.pro-tag {

					}
				}
			}

			.pro-event-date-calendar {

				@media @bp_768_max {
					width: 50px;
					height: 50px;

					.day {
						.font-size(20);
						line-height: 22px;
					}

					.year {
						.font-size(8);
						line-height: 12px;
					}

					.month {
						.font-size(10);
						line-height: 14px;
					}
				}
			}
		}
	}

	&.pro-section-exposed-article {
		display: none;

		@media @bp_768 {
			display: flex;
		}

		.pro-card-featured {
			.box-shadow(0 0 15px 0 rgba(0,0,0,0.08));

			@media @bp_768 {
				flex-direction: row;
			}

			> figure {

				@media @bp_768 {
					padding: 0;
					width: 44.44%;
					min-height: 270px;
				}
			}

			> article {

				@media @bp_768 {
					display: flex;
					flex-direction: column;
					width: 66.66%;
				}
			}
		}
	}

	&.pro-section-media-mentions {

		@media @bp_768_max {
			padding-top: 0;
		}

		.item {

			@media @bp_768_max {

				.entity-list-item-v2 {

					figure {
						width: 130px;
						height: 90px;
					}

					.entity {

						.article-info {
							flex-wrap: wrap;
							align-items: center;

							.source {
								display: flex;
								order: 2;
								margin-right: 8px;
							}

							time {
								display: flex;
								width: 100%;
								order: 1;
								margin-left: 0;
							}
							
							.pro-tag {
								display: none;
							}
						}

						h3 {
							.font-size(12);
							margin-top: 8px;
							line-height: 18px;
						}
					}
				}
			}
		}
	}

	&.pro-section-discover-recommended-artists {

		@media @bp_1024 {
			flex-wrap: wrap;
		}

		@media @bp_1200 {
			flex-wrap: nowrap;
		}

		.pro-section-header {
		
			@media @bp_1024 {
				width: 100%;
			}

			@media @bp_1200 {
				width: 33.33%;
				max-width: 33.33%;
			}
		}

		.pro-section-content {

			@media @bp_1024 {
				width: 100%;
				margin-left: 0;
			}

			@media @bp_1200 {
				.box-sizing;
				width: 66.33%;
				min-width: 66.33%;
				margin-left: 0;
				padding-left: 24px;
			}
		}

		.pro-entity-card {
			.box-shadow(0 0 15px 0 rgba(0,0,0,0.08));
		}
	}

	&.pro-section-geo-popularity {

		.pro-section-header {
			z-index: 1;
			position: relative;
		}

		.geo-sidebar {
			.box-shadow(0 2px 8px 0 rgba(0,0,0,0.08));
			background-color: @white;
			padding: 24px;
			position: relative;
			z-index: 1;

			@media @bp_768 {
				display: flex;
				flex-wrap: wrap;
			}

			@media @bp_1024 {
				padding: 24px;
				width: 25%;
				flex-direction: column;
				flex-wrap: nowrap;
			}

			.col {

				@media @bp_768 {
					.box-sizing;
					width: 50%;
				}

				@media @bp_1024 {
					width: 100%;
				}

				&.col-1 {

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

					@media @bp_1024 {
						padding: 0;
					}
				}

				&.col-2 {
					padding-top: 24px;

					@media @bp_768 {
						padding-top: 0;
						padding-left: 12px;
					}

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

			h3 {
				.font-size(15);
				line-height: 24px;
				font-weight: 500;
			}

			.list {

				& + h3 {
					padding-top: 24px;
				}

				.item {
					.font-size(12);
					.clamp-lines(1);
					color: @grey-1;
					padding-top: 6px;
				}
			}
		}

		.geo-map {
			margin-top: 24px;
			width: 100%;
			position: relative;
			padding-top: 70%;

			@media @bp_1024 {
				margin-top: 0;
				position: absolute;
				left: 0;
				right: 0;
				top: 0;
				bottom: 0;
				z-index: 0;
			}

			.map-embed {
				position: absolute;
				top: 0;
				left: 0;
				right: 0;
				bottom: 0;
			}

			.placeholder {
				background-image: url('../images/placeholders/placeholder-map-new.png');
				background-size: cover;
				background-position: center;
				background-repeat: no-repeat;
				position: absolute;
				top: 0;
				left: 0;
				right: 0;
				bottom: 0;
			}
		}
	}

	&.pro-section-channel-top-tracks {

		.beatport-embed-track-details {

			@media @bp_768_max {
				display: none;
			}
		}

		.pro-section-swiper {

			&.is-selectable {

				.swiper-container {

					@media @bp_768_max {
						padding-bottom: 0;
					}
				}

				.swiper-slide {

					@media @bp_768_max {
						padding-top: 0;
					}
				}
			}
		}
	}
}

.pro-section-swiper {

	&.has-pagination-and-navigation {

		&.swiper-main {

			.swiper-container {

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

	&.is-selectable {

		&.swiper-main {

			.swiper-container {
				padding-bottom: 52px;
			}
		}

		.swiper-slide {
			padding-top: 30px;
		}
	}

	&.swiper-main {
		margin: 0;

		.swiper-container {
			padding: 0;
			overflow: visible;

			@media @bp_768 {
				overflow: hidden;
			}
		}

		.swiper-wrapper {
			padding: 0;
		}

		.swiper-pagination {
			width: 348px;
			display: flex;
			flex-wrap: nowrap;
			margin: 0 -4px;

			@media @bp_768_max {
				display: none;
			}

			.swiper-pagination-bullet {
				.box-shadow(0 2px 8px 0 rgba(0,0,0,0.08));
				height: 4px;
				width: auto;
				display: flex;
				flex: 1;
				border: 0;
				background-color: @white;
				position: relative;

				&:before {
					.transition(all, 200ms, ease-out);
					content: "";
					position: absolute;
					left: 0;
					top: 0;
					bottom: 0;
					width: 0%;
					background-color: @blue;
				}

				&.swiper-pagination-bullet-active {

					&:before {
						width: 100%;
					}
				}
			}
		}
	}

	.swiper-slide {
		height: auto;
		display: flex;
		flex-direction: column;
		min-width: 204px;
		width: 204px;

		@media @bp_768 {
			width: auto;
			min-width: 0;
		}
	}

	.pro-card {
		.box-shadow(0 2px 8px 0 rgba(0,0,0,0.08));
		display: flex;
		height: 100%;
		position: relative;

		&.show-details {
			.box-shadow(none);
		}
	}

	.swiper-button-prev,
	.swiper-button-next {
		.box-shadow(0 2px 8px 0 rgba(0,0,0,0.08));
		.rounded-corners(50%);
		width: 24px;
		height: 24px;
		background-color: @white;
		background-repeat: no-repeat;
		background-size: 8px;

		@media @bp_768_max {
			display: none;
		}

		&.swiper-button-disabled {
			.opacity(.2);
		}

		&:before {
			content: none;
		}

		&:after { //PRELOAD ROLLOVER IMAGES
			position: absolute;
			width: 0;
			height: 0;
			overflow: hidden;
			z-index: -1;
			content: url(../images/svg/chevron-left-blue-roll.svg)
					 url(../images/svg/chevron-right-blue-roll.svg); 
		}
	}

	.swiper-button-prev {
		background-position: left 7px center;
		background-image: url('../images/svg/chevron-left-blue.svg');
		left: 372px;

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

	.swiper-button-next {
		background-position: right 7px center;
		background-image: url('../images/svg/chevron-right-blue.svg');
		left: 412px;

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

.beatport-embed-track-details {
	.box-shadow(0 2px 8px 0 rgba(0,0,0,0.08));
	padding: 16px;
	background-color: @white;

	@media @bp_768 {
		padding: 24px;
	}
	
	@media @bp_1024 {
		display: flex;
	}

	.col {
		.box-sizing;
	}

	.col-1 {

		@media @bp_1024 {
			width: 33.33%;
		}
	}

	.col-2 {

		@media @bp_1024 {
			width: 66.66%;
			margin-left: 24px;
		}
	}

	.track-title {
		.font-size(22);
		line-height: 30px;
		font-weight: 500;
	}

	.artist {
		.font-size(15);
		line-height: 24px;
		color: @grey-1;
		display: block;

		span {
			.clamp-lines(1);
		}
	}

	.genres {
		.font-size(15);
		line-height: 24px;
		color: @grey-1;
		display: block;

		span {
			.clamp-lines(1);
		}
	}
}

.beatport-embed {
	//height: 60px;
	overflow: hidden;
	width: 100%;

	iframe {
		width: 100%;
		filter: invert();
		max-width: 1023px;
		//margin-top: -90px;

		@media @bp_1440 {
			//
		}
	}
}

.soundcloud-embed {
	.box-shadow(0 2px 8px 0 rgba(0,0,0,0.08));
	padding: 4px;
	background-color: @white;
}

.soundcloud-embed-list {
	
	.item {
		padding-top: 16px;

		&:first-child {
			padding-top: 0;
		}
	}
}