.edit-form {
	display: block;

	&.entity-festival {
		
		.modal-aside {

			.card-entity {
				
				@media @bp_800_height_max {
					display: none;
				}
			}
		}
	}

	form {
		position: relative;
		display: flex;
		flex: 1;
		flex-direction: column;
	}

	.btn-close {
		width: 30px;
		height: 30px;
		background-size: 30px;
	}

	.modal-header {
		position: fixed;
		top: 0;
		right: 0;
		left: 0;
		z-index: 2;
		padding: 40px 0 0 250px;

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

		@media @bp_1200 {
			padding-left: 380px;
		}

		h1 {
			.font-size(12);
			line-height: 16;
			letter-spacing: 3px;
			color: @grey-1;
			text-transform: uppercase;
			font-family: @suiss-int-mono;
			font-weight: bold;
			line-height: 1;
			padding: 0;
		}
	}

	.btn-submit-form {
		position: fixed;
		bottom: 66px;
		right: 30px;
		z-index: 5;

		@media @bp_768 {
			right: 180px;
			bottom: 28px;
		}

		/*&:disabled {
			.opacity(.15);
			filter: brightness(100%);
		}*/

		.msg {
			.transition(opacity, 300ms, ease-out);
			.opacity(0);
			.prevent-click();
			display: inline-block;
			position: absolute;
			bottom: -25px;
			left: 4px;
			right: 0;
			text-align: center;
			z-index: -1;

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

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

	.modal-scroller {
		//overflow-y: scroll;
		//ONLY IN OFFLINE MODE
		overflow: hidden;
	}

	.modal-main {
		margin-left: 220px;
		
		@media @bp_1200 {
			margin-left: 320px;
		}
	}

	.modal-aside {
		.box-sizing();
		background-color: @black;
		color: @white;
		position: fixed;
		left: 0;
		top: 0;
		bottom: 0;
		width: 220px;
		z-index: 1;
		padding: 120px 20px 30px 20px;
		max-width: 320px;
		overflow: hidden;
		overflow-y: auto;

		@media @bp_1200 {
			width: 320px;
		}

		.aside-page {
			max-width: 205px;
			margin: 0 auto;
		}

		h2 {
			.font-size(42);
			line-height: 49;
			font-weight: 500;
			line-height: 49px;
			padding-bottom: 24px;
			word-break: break-word;
		}

		p {
			.font-size(12);
			line-height: 18px;
			padding-top: 20px;
		}

		.btn-learn-more {
			margin-top: 50px;
		}

		.card-entity {
			max-width: 185px;

			figure {
				background-color: rgba(0,0,0,0.9);
				
				figcaption {
					display: none;
				}
			}

			article {
				display: none;
			}
		}
	}
	
	.chapter {
		.box-sizing();
		//height: 100%;
		//min-height: 100%;
		width: 100%;
		height: 100vh;
		min-height: 100vh;
		position: relative;
		overflow: hidden;
		display: none;
		clear: both;
		
		&.flex {
			display: flex;
			justify-content: center;
			flex-direction: column;
			flex: 1;
		}

		&.hidden {
			display: none;
		}

		&.active {
			//display: table;
			display: flex;
			flex-direction: column;

			> .page {
				//display: flex;
				//flex-direction: column;
			}
		}

		> .page {
			width: 100%;
			min-height: 100%;
			padding-top: 120px;
			padding-bottom: 0;

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

	.form-navigation {
		.clearfix;
		.font-size(12);
		.transition(transform, 300ms, ease-out);
		line-height: 16;
		letter-spacing: 3px;
		color: @grey-1;
		text-transform: uppercase;
		font-family: @suiss-int-mono;
		font-weight: bold;
		line-height: 1;
		padding: 10px 0;

		span {
			display: block;
			margin-top: 20px;
			position: relative;
			cursor: pointer;

			&.active {
				color: @white;

				&.locked {

					&:after {
						.opacity(1);
					}
				}
			}

			&.has-error {
				color: @red;
			}

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

			&.locked {

				&:after {
					.opacity(0.4);
					content: "";
					background-image: url('../images/svg/lock-white.svg');
					background-position: right center;
					background-repeat: no-repeat;
					position: absolute;
					right: 0;
					top: 50%;
					width: 10px;
					height: 14px;
					margin-top: -7px;
				}
			}

			&:hover {
				color: @white;

				&:after {
					.opacity(1);
				}
			}
		}
	}

	.form-article {
		.clearfix;
		.box-sizing();
		max-width: 840px;
		//NEW
		max-height: calc(~'100% - 130px');
		overflow: hidden;
		overflow-y: auto;
		//flex-grow: 1;

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

		h2 {
			.font-size(24);
			line-height: 30px;
			font-weight: 500;
			padding: 0 0 20px 0;
		}
	}

	.description-for-disabled {
		.font-size(14);
		line-height: 18px;
		padding-bottom: 30px;
		//margin-top: -20px;
		position: absolute;
		top: 80px;
	}

	.row {
		.clearfix;

		.col-1,
		.col-2 {
			width: 42.8%;
			float: left;

			.custom-input,
			.custom-select,
			input[type="text"],
			input[type="number"],
			input[type="email"],
			input[type="password"],
			input[type="tel"] {
				max-width: 290px;
			}
		}

		.col-2 {
			float: right;
		}
	}

	.row + .row {
		margin-top: 70px;
	}

	.artist-profile,
	.place-profile {

		.upload-image {
			max-width: 290px;

			figure {
				height: 290px;
			}
		}
	}

	.place-info {

		.form-article {

			.row {

				&:first-child {
					position: relative;
					z-index: 2;
				}
			}
		}

		h2 + .form-row {
			z-index: 1;
		}
	}

	.festival-basic {

		.form-row + h2 {
			padding-top: 40px;
		}
	}

	.festival-basic,
	.place-profile {

		.gmaps-embed {
			max-width: 290px;
			height: 290px;
			margin-bottom: 45px;
		}

		.btn-card-add {
			max-width: 290px;
		}
	}

	.new-edition {

		h2 {
			padding: 20px 0 0 0;

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

			br {
				display: none;

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

		strong {
			font-weight: 500;
		}

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

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

		.row {
			padding-top: 30px;

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

		.form-row {
			max-width: 290px;
		}

		small {
			line-height: 16px;
			display: block;
			color: @grey-1;
		}
	}

	.artist-events,
	.event-basic,
	.place-events,
	.event-lineup,
	.event-lineup-add,
	.festival-lineup-add {
		background-color: @white-1;
	}

	.artist-events,
	.event-lineup,
	.event-lineup-add,
	.festival-lineup-add,
	.place-events {

		.search-results-inline {

			.grid {
				padding-left: 0;
			}
		}

		.results-description {
			padding-left: 80px;
			
			@media @bp_1200 {
				padding-left: 110px;
			}

			span {
				left: 0;
				top: 0;
			}
		}
	}

	.artist-links {

		.col-1 {
			width: 62.5%;
			float: left;

			.col {
				.box-sizing();
				width: 50%;
				float: left;
				padding-right: 15px;
			}

			.col + .col {
				padding-left: 15px;
				padding-right: 0;
			}
		}

		.col-2 {
			width: 25%;
			float: right;
		}

	}

	.event-lineup-add,
	.festival-lineup-add {

		&.v2 {
			
			.inline-scroller {
				bottom: 350px;
			}

			@media @bp_1300 {
				bottom: 280px;
			}
		}

		.inline-scroller {
			top: 230px;
			bottom: 230px;
			//bottom: 350px;

			@media @bp_1300 {
				bottom: 160px;
				//bottom: 280px;
			}
		}

		.no-lineup {
			display: none;
			position: absolute;
			bottom: 180px;
			z-index: 2;

			&.active {
				display: block;
			}
		}

		.pagination {
			position: absolute;
			bottom: 220px;
			left: 0;
			right: 0;
			max-width: 970px;

			@media @bp_1300 {
				bottom: 150px;
			}
		}
	}

	.coming-soon {

		&.active {
			padding-top: 0;
			//display: flex;
			//align-items: flex-start;
			//flex-direction: column;
			//justify-content: center;
		}

		> .page {
			//padding-top: 0;
			//min-height: 0;
		}

		h2 {
			.font-size(80);
			line-height: 90px;
			padding-top: 10px;
		}

		p {
			.font-size(12);
			line-height: 18px;
		}

		.btn-card-add {
			margin-top: 70px;
			max-width: 290px;
		}
	}

	.place-beer-price,
	.festival-beer-price {

		h2 {
			.font-size(80);
			line-height: 90px;
			padding-top: 10px;
			padding-bottom: 0;
			width: 100%;
		}

		.beer-price {
			.font-size(80);
			position: relative;
			clear: both;
			display: inline-block;
			line-height: 1;
			font-family: @suiss-int-mono;
			margin: 40px 0 20px 0;
			max-width: 385px;

			em {
				.font-size(42);
				font-style: normal;
				display: inline-block;
				padding-right: 10px;
			}

			sup {
				.font-size(42);
				line-height: 1;
				position: absolute;
				top: 0;
				left: 100%;
				vertical-align: top;
			}
		}

		.price-slider {
			margin-bottom: 40px;
			max-width: 385px;
		}

		.range-filter {
			color: @black;

			.btn,
			.btn-range-slider {
				color: @black;
				font-family: @suiss-int-mono;
			}
		}

		.rangeslider-horizontal {
			border-color: @black;
			color: @black;

			.rangeslider__handle {
				background-color: @black;
			}
		}

		.disclaimer {
			.font-size(12);
			line-height: 18px;
			max-width: 385px;
		}
	}

	.place-photos-and-video,
	.festival-photos-and-video {

		.col-1 {
			width: 50%;
		}

		.col-2 {
			display: none;
			margin-top: -5px;
			float: left;
			position: relative;

			&.active {
				display: block;
			}

			.form-row {
				padding-top: 0;
			}

			.btn-upload-video {
				margin-top: 20px;
				float: right;
			}

			.error-msg {
				position: absolute;
				left: 0;
				bottom: 3px;
				right: 150px;
			}
		}

		.inline-scroller {
			position: relative;
			top: 0;
			right: 0;
			bottom: 0;
			left: 0;
		}

		.add-media {
			display: inline-block;
			margin-right: 22px;
			cursor: pointer;

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

		.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;
			font-family: @suiss-int-mono;
			display: inline-block;

			span {
				padding-top: 55%;
				display: block;
			}
		}
	}

	.inline-scroller {
		overflow: hidden;
		overflow-y: auto;
		position: absolute;
		top: 120px;
		bottom: 130px;
		left: 30px;
		right: 30px;
		max-width: 970px;

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

		@media @bp_1024 {
			left: 60px;
			right: 60px;
		}
	}

	.strip-bottom {
		position: absolute;
		bottom: 0;
		left: 0;
		right: 0;
		background-color: @white;
	}

	.media {

		label {
			.font-size(12);
			line-height: 16px;
			color: @grey-1;
			font-weight: 500;
			letter-spacing: 2px;
			text-transform: uppercase;
		}

		.tag {
			.font-size(10);
			background-color: @red;
			color: @white;
			height: auto;
			padding: 2px 6px;
			letter-spacing: 0.3px;
			font-weight: bold;
			line-height: 13px;
			position: absolute;
			right: 5px;
			top: 5px;
		}

		.inline-scroller {
			max-width: 760px;
			height: 210px;
			margin-top: 20px;
		}


		.media-item {
			padding: 15px;
			float: left;
			position: relative;

			&.selected {

				figcaption {
					display: flex;
				}

				.btn-text {
					.prevent-click();
				}

				.btn-remove {
					display: none;
				}

				&:hover {

					.btn-remove {
						display: block;
					}
				}
			}

			figure {
				position: relative;
				background-position: center;
				background-repeat: no-repeat;
				background-size: cover;
				width: 120px;
				height: 120px;
				text-align: center;
				flex-direction: column;
				justify-content: center;
				align-items: center;
				flex: 1;
				display: flex;

				&:hover {

					&:before {
						content: none;
					}

					figcaption {
						display: flex;
					}
				}
			}

			figcaption {
				display: none;
				flex: 1;
				z-index: 3;
				flex-direction: column;
				justify-content: center;
				align-items: center;
				background-color: rgba(0,0,0,0.3);
				width: 100%;
			}

			.btn-text {
				.font-size(10);
				color: @white;
				line-height: 13px;
				letter-spacing: 1.5px;

				&:after {
					content: none;
				}
			}

			button + button {
				margin-top: 20px;
				position: relative;

				&:before {
					content: "";
					width: 30px;
					height: 1px;
					background-color: @grey; 
					position: absolute;
					top: -10px;
					left: -5px;
				}
			}


		}
	}

	.entity-name-wrapper {
		position: relative;
		max-width: 700px;
	}

	.entity-name-input {
		.font-size(40);
		line-height: 50px;
		caret-color: @red;
		background-color: transparent;
		font-weight: 500;
		padding: 0;
		height: 70px;
	}

	.entity-name-submit {
		position: absolute;
		right: 0;
		top: 40px;
		color: #c4c4c4;

		&:hover {
			color: @black;
		}
	}

	.results-description {
		.font-size(24);
		position: relative;
		line-height: 30px;
		font-weight: 500;

		span {
			.font-size(52);
			font-weight: normal;
			letter-spacing: -1px;
			position: absolute;
			right: calc(~'100% + 5px');
			top: -2px;
			line-height: 1;
			font-family: @suiss-int-mono;

			@media @bp_1200 {
				.font-size(72);
			}
		}
	}

	.search-results-inline {
		display: none;

		&.active {
			display: block;
		}

		.card-entity {
			width: 100%;
		}

		.grid {
			.clearfix;
			.box-sizing();
			//padding-left: 80px;

			@media @bp_1200 {
				//padding-left: 100px;
			}

			.grid-item {
				.box-sizing();
				float: left;
				width: 100%;
				padding: 15px;
				max-width: 320px;
				clear: both;

				@media @bp_768 {
					clear: none;
					width: 50%;
				}

				@media @bp_1400 {
					width: 33.33%;
				}

				&:nth-child(3n+1) {
					clear: none;

					@media @bp_1400 {
						clear: both;
					}
				}

				&:nth-child(2n+1) {

					@media @bp_768 {
						clear: both;
					}
					
					@media @bp_1400 {
						clear: none;
					}
				}
			}
		}
	}

	.card-entity {

		.btn-save {
			display: none;
		}
	}

	.genres,
	.subgenres,
	.selected-genres {

		label {
			padding-bottom: 10px;
		}
	}

	.subgenres {
		padding-top: 40px;
	}

	.list-genres {

		.btn-filter-lineup {
			white-space: nowrap;
			margin: 8px 30px 8px 0;
		}
	}

	.opening-hours-item {
		.clearfix;
		display: table;
		position: relative;

		&.disabled {

			.day {
				.opacity(0.4);
			}

			.status {
				.opacity(0.2);
			}
		}

		.col {
			vertical-align: bottom;
			display: table-cell;

			&.day {
				width: 30%;
			}

			&.time {
				padding-right: 30px;
			}

			&.status {

				label {
					margin-bottom: -6px;
				}
			}
		}

		.btn-apply-to-all {
			position: absolute;
			left: 100%;
			top: 50%;
			white-space: nowrap;
			margin-left: 20px;

			&:disabled {
				color: #e5e5e5;

				&:hover {

					&:after {
						content: none;
					}
				}
			}
		}

		h3 {
			.font-size(24);
			color: #ccc;
			line-height: 30px;
			font-weight: 500;
		}

		time {
			

			input {
				width: 108px;
				vertical-align: middle;
			}

			.divider {
				.opacity(0.2);
				width: 10px;
				display: inline-block;
				vertical-align: middle;
				background-color: @black;
				height: 2px;
				margin: 8px 30px 0 30px;
			}
		}

		.button {
			margin-bottom: -10px;

		}
	}

	.list-subgenres {
		height: 80px;
		overflow: hidden;
		overflow-y: auto;

		.btn-subgenre {
			white-space: nowrap;
			margin: 8px 12px 0 0;
		}
	}

	.selected-subgenres,
	.selected-artists {
		position: absolute;
		left: 0;
		right: 0;
		bottom: 0;
		background-color: @white;
		z-index: 1;
		padding-right: 0;

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

		@media @bp_1300 {
			padding-right: 420px;
			padding-bottom: 0;
		}

		.page {
			.box-sizing();
			padding-top: 20px;
			padding-bottom: 22px;
			height: 160px;
			display: flex;
			flex-direction: column;
			justify-content: flex-start;
			width: 100%;
			padding-right: 0;

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

			@media @bp_1300 {
				padding-bottom: 50px;
				padding-right: 0;
			}
		}

		label {
			padding-bottom: 10px;
		}
	}

	.selected-artists {
		.transition(transform, 300ms, ease-out);
		.translate(0,300px);

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

	label {
		.font-size(12);
		line-height: 16px;
		text-transform: uppercase;
		color: @black-1;
		letter-spacing: 2px;
		font-weight: 500;
		display: block;
	}

	.btn-scroll-down,
	.btn-scroll-up {
		position: absolute;
		right: 3px;
		bottom: 30px;
		background-size: 25px;
		z-index: 2;

		@media @bp_1024 {
			right: 12px;
			background-size: 30px;
		}

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

	.genres-voting {

		.genres-filter {
			width: 35%;
			float: left;

			@media @bp_1024 {
				width: 37.5%;
				max-width: 290px;
			}

			label {
				.opacity(0.2);
				color: @black;
				padding-bottom: 20px;
			}

			li {
				padding: 2px 0;
			}
			
			.btn {
				.transition(opacity, 200ms, linear);
				.font-size(16);
				.opacity(0.2);
				font-weight: 500;
				line-height: 20px;

				&.selected {
					.opacity(1);
				}

				&.all {
					.opacity(0.4);
				}

				&:hover {

					&:not(.selected) {
						.opacity(0.6);
					}
				}
			}
		}

		.subgenres-filter {
			float: left;
			width: 65%;

			@media @bp_1024 {
				width: auto;
			}

			h2 {
				.font-size(42);
				line-height: 49px;
				padding-bottom: 30px;
			}

			ul {
				.box-sizing();
				max-height: 400px;
				max-width: 400px;
				overflow: hidden;
				overflow-y: auto;
				padding-right: 20px;
				position: relative;
				padding-bottom: 40px;
			}

			.list-wrapper {
				position: relative;

				&:before {
					.vertical-flip(rgba(255,255,255,1), rgba(255,255,255,0.2));
					content: "";
					position: absolute;
					bottom: 0;
					left: 0;
					right: 0;
					height: 40px;
					z-index: 2;
				}
			}

			li {
				border-bottom: 2px solid #f6f6f6;
				padding: 20px 0;

				&:first-child {
					border-top: 2px solid #f6f6f6;
				}
			}

			.teaser {
				.font-size(12);
				font-weight: 500;

				img {
					width: 30px;
					padding-right: 10px;
				}
			}
		}

		.selected-subgenres {
			background-color: @white-1;
			height: 160px;
		}
	}

	.subgenre-item {
		.font-size(12);
		line-height: 18px;
		position: relative;
		padding-right: 130px;
		text-transform: uppercase;
		font-weight: 500;

		button {
			position: absolute;
			right: 0;
			top: 50%;
			margin-top: -15px;
		}
	}

	.grid {
		.clearfix;
		margin: -15px;

		.grid-item {
			.box-sizing();
			padding: 15px;
			float: left;

			@media @bp_768 {
				width: 50%;		
			}

			@media @bp_1440 {
				width: 33.33%;
			}

			&:nth-child(2n+1) {

				@media @bp_768 {
					clear: both;
				}

				@media @bp_1440 {
					clear: none;
				}
			}

			&:nth-child(3n+1) {

				@media @bp_1440 {
					clear: both;
				}
			}
		}
	}
	
	.error-msg {

		&.general {
			position: absolute;
			left: @page_spacer_tablet;
			bottom: 60px;

			@media @bp_1024 {
				left: @page_spacer_tablet_landscape;
			}

			@media @bp_1200 {
				left: 60px;
			}
		}
	}

	.backend-error {
		.font-size(12);
		position: fixed;
		right: 30px;
		bottom: 115px;
		color: @red;
		z-index: 5;
	}

	.upload-image {
		.clearfix;
		height: auto;
		position: relative;
		margin-top: 10px;

		> label {
			color: unset;
			text-transform: none;
			cursor: pointer;
			display: flex;
			flex-direction: column;
			flex: 1;
			.clearfix;
		}

		> label + label {
			height: 150px;
			justify-content: space-between;
		}

		&.has-image {
			
			figure {

				&:before {
					background-image: url('../images/svg/plus-white.svg');
					background-size: 20px;
					background-repeat: no-repeat;
					background-position: center;
				}
				
				span,
				figcaption {
					display: none;
				}
			}
		}

		&.optional {

			figure {
				background-color: @grey-1;

				figcaption {
					line-height: 14px;
				}
			}
		}

		figure {
			position: relative;
			width: 100%;
			height: 300px;
			background-color: @black;
			background-repeat: no-repeat;
			background-position: center;
			background-size: cover;
			flex-direction: column;
			justify-content: center;
			display: flex;
			font-family: @suiss-int-mono;

			&:before {
				content: "";
				position: absolute;
				left: 0;
				top: 0;
				right: 0;
				bottom: 0;
				background-color: rgba(0,0,0,0.3);
			}

			&.dragover {

				&:before {
					content: "";
					position: absolute;
					left: 0;
					top: 0;
					right: 0;
					bottom: 0;
					background-color: rgba(255,255,255,0.2);
				}
			}

			span {
				.font-size(12);
				line-height: 20px;
				font-weight: bold;
				letter-spacing: 2px;
				color: @white;
				text-transform: uppercase;
				text-align: center;
				display: block;
				position: absolute;
				top: 50%;
				left: 10px;
				right: 10px;
			}

			figcaption {
				.font-size(12);
				line-height: 20px;
				position: absolute;
				bottom: 20px;
				text-align: center;
				color: @grey-1;
				left: 10px;
				right: 10px;
			}
		}

		h3 {
			.font-size(25);
			line-height: 30px;
			font-weight: 500;
			padding-top: 15px;
		}

		article {
			padding-left: 180px;
			display: flex;
			flex-direction: column;
			justify-content: space-between;
			flex: 1;
		}

		.bottom {
			align-self: flex-end;
		}

		.disclaimer {
			.font-size(10);
			line-height: 13px;
			color: @grey-1;
			clear: both;
			display: block;
			padding-top: 20px;
		}

		.error-msg {
			color: @red;
			padding: 10px 0;
		}
	}
}
