.card-entity {
	position: relative;
	display: block;
	background-color: @white;
	color: @black;
	width: 100%;
	overflow: hidden;

	&.active {

		article {
			color: @white;
			background-color: @black;

			a {
				color: @white;
			}
		}

		.country {
			color: @white;
		}

		.btn-filter-tag {
			color: @white;

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

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

			&:disabled {
				border-color: transparent;
				color: @white;
			}

			&:not(:disabled) {

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

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

					&:after {
						background-image: url(../images/svg/plus.svg);
					}
				}
			}
		}
	}

	&.claimed,
	&.trending {

		h3 {

			&:before {
				content: none;
			}

			&:after {
				content: "";
				display: inline-block;
				height: 16px;
				width: 12px;
				background-position: right bottom;
				background-size: 16px;
				background-repeat: no-repeat;
				padding-left: 6px;
				vertical-align: top;
			}
		}
	}

	&.claimed {

		h3 {

			&:after {
				background-image: url('../images/svg/checkbox-claim.svg');
				background-size: 17px;
				width: 17px;
			}
		}
	}

	&.trending {

		h3 {

			&:after {
				background-image: url('../images/svg/hot.svg');
				background-size: 12px;
			}
		}
	}

	&.trending.claimed {

		h3 {

			&:after {
				background-image: url('../images/svg/hot-claimed.svg');
				background-size: 35px;
				width: 35px;
			}
		}
	}

	&.no-hover {

		&:hover {

			figcaption {
				display: none;
			}
		}
	}

	&.big {

		figure {
			height: 290px;
		}

		article {
			height: 80px;
		}

		h3 {
			.font-size(24);
			.clamp-lines(1);
			line-height: 30px;
		}

		.bottom {
			display: none;
		}

		.sponsored {
			.font-size(12);
			position: absolute;
			right: 25px;
			bottom: 15px;
			color: @grey-1;
		}
	}

	&.huge {
		position: relative;

		&.event {

			h3 {
				height: 62px;
				max-height: 62px;
				.clamp-lines(2);
			}

			article {
				height: 130px;
			}
		}

		h3 {
			.font-size(24);
			.clamp-lines(1);
			line-height: 30px;
		}

		article {
			justify-content: flex-start;
		}

		.tag {
			.font-size(10);
			background-color: @red;
			position: absolute;
			top: 10px;
			right: 10px;
			z-index: 1;
			font-weight: bold;
			padding: 8px 20px;
			height: auto;
			font-family: @suiss-int;
		}

		.day {

			@media @bp_480 {
				.font-size(80);
				line-height: 86px;
			}
		}

		.month {

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

		.time {

			@media @bp_480 {
				.font-size(21);
				line-height: 27px;
				padding-top: 10px;
			}
		}

		.type,
		.origin {
			.font-size(12);
			color: @grey-1;
		}
	}

	&.horizontal {
		width: 290px;
		height: 150px;

		figure {
			width: 150px;
			height: 150px;

			time {

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

				.month {
					.font-size(16);
				}

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

		article {
			position: absolute;
			top: 0;
			right: 0;
			bottom: 0;
			left: 150px;
			padding-left: 12px;
			padding-right: 20px;
			height: auto;
			justify-content: flex-end;
		}

		picture {

			img {
				max-width: 100%;
				height: 150px;
			}
		}

		.top {
			padding-bottom: 10px;
		}

		.bottom {
			min-height: 51px;
			display: flex;
			flex-direction: column;
			justify-content: flex-end;
		}
	
		.slide-up {
			padding-left: 12px;
			padding-right: 20px;
			left: 150px;
		}

		.btn-save {
			left: 114px;
		}
	}

	&.selected {

		figure {

			figcaption {
				.opacity(1);
			}
		}
	}

	&:hover {

		.slide-up {
			.translate(0,0);
		}

		figure {

			figcaption {
				.opacity(1);
				.enable-click();
			}
		}
	}

	.verified {
		.font-size(10);
		color: @grey-1;
		text-transform: none !important;

		&:after {
		    content: "";
		    display: inline-block;
		    width: 14px;
		    height: 8px;
		    background-image: url(../images/svg/checkmark-grey.svg);
		    background-position: right bottom;
		    background-repeat: no-repeat;
		    background-size: 9px;
		    vertical-align: middle;
		}
	}

	.lineup {
		.clamp-lines(1);
		.font-size(10);
		display: block;
		height: 15px;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
		overflow: hidden;
		width: 100%;
	}

	.btn-save {
		position: absolute;
		top: 0;
		right: 0;
		z-index: 2;
	}

	.country {
		.font-size(10);
		color: @black;
		text-transform: uppercase;
		padding-top: 4px;

		img {
			margin-right: 1px;
		}
	}

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

		&.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;
			}
		}

		&.remove {
			background-size: 8px;
			padding-right: 24px;

			&:not(:disabled) {

				&:after {
					content: none;
				}
			}
		}

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

		&:not(:disabled) {

			&.event-this-week {

				&:after {
					background-image: url('../images/svg/plus-blue.svg');
				}
			}

			&:after {
				content: "";
				background-size: 8px;
				background-position: right center;
				background-repeat: no-repeat;
				background-image: url('../images/svg/plus.svg');
				display: inline-block;
				width: 14px;
				height: 8px;
				//vertical-align: middle;
			}

			&:hover {

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

		&:disabled {
			.opacity(1);
			.prevent-click();
			border-color: @white;
			color: @black;
		}

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

		span {
			max-width: 140px;
			display: inline-block;
			white-space: nowrap;
			text-overflow: ellipsis;
			overflow: hidden;
			vertical-align: middle;
		}
	}

	.origin {
		.font-size(10);
		line-height: 15px;
		color: @grey-1;
		text-overflow: ellipsis;
		white-space: nowrap;
		overflow: hidden;
	}

	.type {
		.font-size(10);
		line-height: 13px;
		display: block;
		padding-top: 5px;
		text-overflow: ellipsis;
		white-space: nowrap;
		overflow: hidden;
	}

	.sub-genre,
	.genre {
		.font-size(10);
		.clamp-lines(1);
		display: block;
		line-height: 15px;
		text-transform: uppercase;
		font-weight: 500;
		height: 15px;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
		overflow: hidden;
	}

	.following {
		cursor: normal;
	}

	.entity-badge {
		display: none;
		position: absolute;
		right: 0;
		bottom: 0;
	}

	.social-list {
		.clearfix;
		display: flex;
		flex-direction: row;
		justify-content: space-between;
		flex: 1;
		margin: 0 -5px;
		padding-top: 10px;
	}

	.social-icon {
		.opacity(0.1);
		.font-size(0);
		height: 25px;
		padding: 0 5px;

		&.active {
			opacity: 1;
		}

		&.facebook {
			width: 10px;
			background-size: 10px;
		}

		&.twitter {
			background-size: 16px;
			width: 16px;
		}

		&.instagram {
			background-size: 16px;
			width: 16px;
		}

		&.soundcloud {
			background-size: 24px;
			width: 24px;
		}

		&.youtube {
			background-size: 21px;
			width: 21px;
		}
	}

	.slide-up {
		.transition(transform, 200ms, ease-out);
		.translate(0,100px);
		.box-sizing();
		.font-size(10);
		display: flex;
		flex-direction: column;
		justify-content: flex-end;
		line-height: 14px;
		position: absolute;
		height: 90px;
		right: 0;
		bottom: 0;
		left: 0;
		background-color: @white;
		padding: 0 15px 20px 15px;
	}

	.swiper-container {
		width: 100%;
		height: 100%;
		margin: 0;
		padding: 0;

		&:hover {

			.swiper-button-prev,
			.swiper-button-next {
				display: block;
			}
		}

		.swiper-slide {
			width: 100%;
			height: 100%;
			background-size: cover;
			background-repeat: no-repeat;
			background-position: center;
		}

		.swiper-button-prev,
		.swiper-button-next {
			display: none;
			width: 20px;
			top: 0;
			bottom: 0;
			height: auto;
			background-color: transparent;

			&:before {
				background-size: 8px;
				top: 0;
				bottom: 0;
				left: 0;
				right: 0;
				width: auto;
				height: auto;
				margin: 0;
			}
		}

		.swiper-button-prev {
			left: 0;
			right: auto;
			
			&:before {
				background-image: url('../images/svg/chevron-left-white.svg');
			}
		}

		.swiper-button-next {
			right: 0;
			left: auto;
			
			&:before {
				background-image: url('../images/svg/chevron-right-white.svg');
			}
		}

		.swiper-pagination-bullet {
			width: 8px;
			height: 8px;
		}
	}

	a {
		color: @black;
	}

	h3 {
		.font-size(14);
		.clamp-lines(2);
		line-height: 18px;
		font-weight: 500;
		max-height: 36px;
		white-space: normal;
		word-break: break-word;
	}

	article {
		.box-sizing();
		height: 140px;
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		position: relative;
		padding: 15px 15px 20px 15px;
		color: @black;
	}

	picture {
		object-fit: cover;

		img {
			object-fit: cover;
			position: absolute;
			top: 0;
			right: 0;
			bottom: 0;
			left: 0;
			max-width: none;
			max-height: 100%;
		}
	}

	figure {
		background-position: center;
		background-size: cover;
		background-repeat: no-repeat;
		position: relative;
		height: 185px;
		background-color: @black;
		color: @white;
		display: flex;
		flex-direction: column;

		button {
			.font-size(12);
			position: absolute;
			top: 0;
			right: 0;
			bottom: 0;
			left: 0;
			width: 100%;
			height: 100%;
			color: @white;
			text-transform: uppercase;
			font-family: @suiss-int-mono;
			letter-spacing: 3px;
			font-weight: bold;
			text-align: center;

			&.btn-visit,
			&.btn-edit {

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

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

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

		time {
			display: flex;
			flex-direction: column;
			justify-content: center;
			align-items: center;
			text-transform: uppercase;
			flex: 1;

			&.date {
				.box-sizing();
				padding-top: 4px;
				background-color: @black;
				color: @white;
				position: absolute;
				bottom: 10px;
				left: 10px;
				display: block;
				text-align: center;
				width: 55px;
				height: 55px;
				font-weight: 500;

				span {
					display: block;
					color: @white;
				}

				.day {
					.font-size(21);
					line-height: 28px;
					font-weight: 500;
					color: @white;
				}

				.month {
					.font-size(12);
					line-height: 16px;
					color: @white;
				}
			}

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

			.month {
				.font-size(26);
				line-height: 33px;
			}

			.time {
				.font-size(14);
				line-height: 18px;
				letter-spacing: 2px;
			}
		}

		time + figcaption {
			background-color: @black;
		}
	}

	figcaption {
		.transition(opacity, 200ms, linear);
		.opacity(0);
		.prevent-click();
		background-color: rgba(0,0,0,0.65);
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		display: flex;
		flex-direction: column;
	}
}
