
@media( max-width: 680px ) {

	.lineup .page-content {
		padding-top: 0;
	}

}

.lineup .tns-controls button,
.lineup .timetable-nav {
	position: absolute;
	top: 50%;
	left: -80px;
	background: var(--color-white);
	border: 0;
	color: transparent;
	overflow: hidden;
	box-shadow: 0 0 20px rgba(0,0,0,.2);
	border-radius: 50%;
	width: 80px;
	height: 80px;
	margin-top: -20px;
	cursor: pointer;
	-webkit-transition: background-color 200ms ease-in-out;
	-o-transition: background-color 200ms ease-in-out;
	transition: background-color 200ms ease-in-out;
}

	.lineup .timetable-nav {
		left: 20px;
	}

		body.transition .lineup .timetable-nav {
			-webkit-transition: all 200ms ease-in-out;
			-o-transition: all 200ms ease-in-out;
			transition: all 200ms ease-in-out;
		}

		.lineup .timetable-nav.hidden {
			opacity: 0;
			pointer-events: none;
		}

	.lineup .tns-controls button:before,
	.lineup .tns-controls button:after,
	.lineup .timetable-nav:before,
	.lineup .timetable-nav:after {
		content: "";
		left: 0;
		top: 0;
		position: absolute;
		width: 100%;
		height: 100%;
		background: url(../img/icons/arrow-left_green.svg) no-repeat center center / 60% auto;

		-moz-transform: unset;
		-webkit-transform: unset;
		-o-transform: unset;
		-ms-transform: unset;
		transform: unset;

		-webkit-transition: opacity 200ms ease-in-out;
		-o-transition: opacity 200ms ease-in-out;
		transition: opacity 200ms ease-in-out;
	}

		.lineup .tns-controls button:before,
		.lineup .timetable-nav:before {
			opacity: 0;
			background-image: url(../img/icons/arrow-left_white.svg) !important;
		}

		.lineup .timetable-nav:after {
			background-image: url(../img/icons/arrow-left_highlight.svg);
		}

	.lineup .tns-controls button + button,
	.lineup .timetable-nav.next {
		left: unset;
		right: -80px;
	}

		.lineup .timetable-nav.next {
			right: 20px;
		}

		.lineup .tns-controls button + button:before,
		.lineup .timetable-nav.next:before {
			opacity: 0;
			background-image: url(../img/icons/arrow-right_white.svg) !important;
		}

		.lineup .tns-controls button + button:after {
			background-image: url(../img/icons/arrow-right_green.svg);
		}

		.lineup .timetable-nav.next:after {
			background-image: url(../img/icons/arrow-right_highlight.svg);
		}

	.lineup .tns-controls button:hover {
		background-color: var(--color-green);
	}

	.lineup .timetable-nav:hover {
		background-color: var(--color-highlight);
	}
	
		.lineup .tns-controls button:hover:before,
		.lineup .timetable-nav:hover:before {
			opacity: 1;
		}

		.lineup .tns-controls button:hover:after,
		.lineup .timetable-nav:hover:after {
			opacity: 0;
		}

	.lineup .category-family-fun .tns-controls button:after {
		background-image: url(../img/icons/arrow-left_B1DCDA.svg);
	}

		.lineup .category-family-fun .tns-controls button + button:after {
			background-image: url(../img/icons/arrow-right_B1DCDA.svg);
		}

		.lineup .category-family-fun .tns-controls button:hover {
			background-color: #B1DCDA;
		}

	.lineup .category-master-talents .tns-controls button:after {
		background-image: url(../img/icons/arrow-left_73C2BE.svg);
	}

		.lineup .category-master-talents .tns-controls button + button:after {
			background-image: url(../img/icons/arrow-right_73C2BE.svg);
		}

		.lineup .category-master-talents .tns-controls button:hover {
			background-color: #73C2BE;
		}

	.lineup .category-thrills-chills .tns-controls button:after {
		background-image: url(../img/icons/arrow-left_3BA8A3.svg);
	}

		.lineup .category-thrills-chills .tns-controls button + button:after {
			background-image: url(../img/icons/arrow-right_3BA8A3.svg);
		}

		.lineup .category-thrills-chills .tns-controls button:hover {
			background-color: #3BA8A3;
		}

.lineup .intro {
}

	.lineup .intro .content {
		text-align: center;
	}

.lineup .categories {
}

	.lineup .categories .category {
		position: relative;
		padding-bottom: 80px;
	}

	.lineup .categories .category + .category {
		margin-top: 120px;
	}

	.lineup .categories h3 {
		text-align: center;
		margin-bottom: 40px;
	}

		.lineup .categories h3 img {
			width: auto;
			height: 100px;
			margin: 0 auto;
		}

	.lineup .categories .category-films {
		display: block;
		text-align: center;
		white-space: nowrap;
		max-width: 100%;
		overflow: hidden;
	}

		.lineup .categories .category-films.inited {
			overflow: unset;
			white-space: unset;
			max-width: unset;
		}

		.lineup .categories .category .tns-nav {
			position: absolute;
			bottom: -20px;
			left: 0;
			width: 100%;
			text-align: center;
		}

			.lineup .categories .category .tns-nav button {
				display: inline-block;
				width: 10px;
				height: 10px;
				background: var(--color-highlight);
				border-radius: 50%;
				border: 0;
				padding: 0;
				box-shadow: 0;
				cursor: pointer;
				margin: 0 2px;
			}

				.lineup .categories .category .tns-nav button:after {
					display: none;
				}
				
				.lineup .categories .category .tns-nav button:hover,
				.lineup .categories .category .tns-nav button.tns-nav-active {
					background: var(--color-black);
				}
		
		.lineup .categories .category-films:not(.inited) {
			overflow: auto;
		}

		.lineup .categories .category-films li {
			display: inline-block;
			width: 300px;
		}

			.lineup .categories .category-films:not(.inited) li {
				margin: 10px;
			}

			.lineup .categories .category-films li img {
				width: 100%;
				height: auto;
			}

		.lineup .categories .category-films li a {
			display: block;
			position: relative;
		}

			.lineup .categories .category-films li a:before {
				content: "";
				display: block;
				width: 100%;
				height: 100%;
				background: linear-gradient(0deg, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 100%);
				z-index: 5;
				position: absolute;
				top: 0;
				left: 0;
				opacity: 0;
				-webkit-transition: opacity 200ms ease-in-out;
				-o-transition: opacity 200ms ease-in-out;
				transition: opacity 200ms ease-in-out;
			}

			.lineup .categories .category-films li a:after {
				content: "";
				display: block;
				width: 100%;
				height: 100%;
				background: url(../img/icons/arrow-right_white.svg) no-repeat center bottom 40px / auto 40px;
				z-index: 6;
				position: absolute;
				top: 0;
				left: 0;
				opacity: 0;
				-webkit-transition: opacity 200ms ease-in-out;
				-o-transition: opacity 200ms ease-in-out;
				transition: opacity 200ms ease-in-out;
			}

			.lineup .categories .category-films li a:hover:before,
			.lineup .categories .category-films li a:hover:after {
				opacity: 1;
			}

	@media ( max-width: 1300px ) {

		.lineup .category-films-wrapper {
			max-width: calc(100% - 180px);
			margin-left: auto;
			margin-right: auto;
			position: relative;
		}
		
		.lineup .tns-controls button {
			left: -100px;
		}

		.lineup .tns-controls button + button {
			right: -100px;
		}

	}

	@media ( max-width: 1140px ) {

		.lineup .categories .category-films:not(.inited) li {
			width: calc(100% / 3);
			margin: 5px;
		}

	}

	@media ( max-width: 880px ) {

		.lineup .categories .category-films:not(.inited) li {
			width: calc(100% / 2 - 7px);
			margin: 2px;
		}

		.lineup .category-films-wrapper {
			max-width: calc(100% - 10px);
		}

		.lineup .tns-controls button {
			width: 40px;
			height: 40px;
			margin-top: -20px;
			left: -20px;
		}

		.lineup .tns-controls button + button {
			right: -20px;
		}

		.lineup .categories .category + .category {
			margin-top: 40px;
		}

	}

	@media ( max-width: 680px ) {

		.lineup .categories {
			padding-top: 20px;
		}
		
		.lineup .categories .category {
			padding-bottom: 60px;
		}

	}

.lineup .timetable {

}

	.timetable-wrapper {
		position: relative;
		margin-top: 100px;
	}

	.timetable-container {
		overflow: auto;
		padding-bottom: 40px;
		scroll-behavior: smooth;
	}

	.lineup .timetable-days {
		display: flex;
		justify-content: space-between;
		align-items: stretch;
		padding: 0;
		margin: 0 auto;
	}

		.lineup .timetable-days > li {
			padding: 0;
			margin: 0;
			flex-shrink: 0;
			width: 300px;
			box-sizing: border-box;
			border-right: 2px solid var(--color-highlight);
		}

			.lineup .timetable-days > li.spacer {
				width: 130px;
			}

				.lineup .timetable-days > li.spacer:last-child {
					border-right: 0;
				}

		.lineup .timetable-days .date {
			padding: 0 20px;
			box-sizing: border-box;
		}

		.lineup .timetable-days .timeslots li {
			padding: 10px 20px;
			background: var(--color-grey-light);
			height: 8em;
			box-sizing: border-box;
			display: flex;
			align-items: center;
		}

			.lineup .timetable-days .timeslots li .datetime:before {
				content: "→ ";
			}
		
			.lineup .timetable-days .timeslots li:nth-child(2n) {
				background-color: var(--color-white);
			}

			.lineup .timetable-days .timeslots li p {
				margin: 0;
			}

				.lineup .timetable-days .timeslots li p.subtitle {
					color: var(--color-highlight);
				}

	@media ( max-width: 680px ) {

		.lineup .timetable-days > li {
			width: 260px;
		}

			.lineup .timetable-days > li.spacer {
				width: 60px;
			}

		.lineup .timetable {
			padding: 0;
		}

			.lineup .timetable .timetable-days .timeslots li {
				font-size: 0.8em;
			}

		.lineup .timetable-nav {
			width: 40px;
			height: 40px;
		}

			.lineup .timetable-nav.prev {
				left: 5px;
			}

			.lineup .timetable-nav.next {
				right: 5px;
			}

	}

.lineup .current-lineup {
}

	.lineup .current-lineup .content {
		text-align: center;
	}

	.lineup .current-lineup .button {
		margin-top: 1em;
	}

.lineup .further {
}

	.lineup .further .content {
		text-align: center;
	}

	.lineup .further .content .button + .button {
		margin-left: 40px;
	}

	@media ( max-width: 680px ) {

		.lineup .further {
			max-width: 320px;
			margin-left: auto;
			margin-right: auto;
		}

		.lineup .further .content .button + .button {
			margin: 20px 0;
		}

	}

.overlay-box {
	position: fixed;
	left: 0;
	top: 0;
	width: 100vw;
	height: 100vh;
	background: rgba(200,200,200,.9);
	z-index: 3000;
	display: flex;
	justify-content: center;
	align-items: center;
}

	.overlay-box.hidden {
		opacity: 0;
		pointer-events: none;
	}

	body.transition .overlay-box {
		-webkit-transition: opacity 200ms ease-in-out;
		-o-transition: opacity 200ms ease-in-out;
		transition: opacity 200ms ease-in-out;
	}

	.overlay-box:after {
		content: "×";
		display: block;
		width: 40px;
		height: 40px;
		font-size: 60px;
		color: var(--color-white);
		position: absolute;
		right: 10px;
		top: 0;
		cursor: pointer;
	}

	.overlay-box-content {
		max-width: 800px;
		width: 100%;
		padding: 80px;
		position: relative;
		background: var(--color-white) url(../img/corners/right-top-1.png) no-repeat right top / 150px auto;
	}

		.overlay-box-content .close-button {
			position: absolute;
			right: 20px;
			top: 20px;
			width: 20px;
			height: 20px;
			cursor: pointer;
			background: url(../img/icons/overlay-close.svg) no-repeat center center / contain;
		}

		.overlay-box-content:after {
			content: "";
			opacity: 0;
			position: absolute;
			dispaly: block;
			left: 0;
			top: 0;
			width: 100%;
			height: 100%;
			background: rgba(255,255,255,.9) url(../img/icons/loading.svg) no-repeat center center / 40px auto;
			pointer-events: none;
			z-index: 50;

			-webkit-transition: opacity 200ms ease-in-out;
			-o-transition: opacity 200ms ease-in-out;
			transition: opacity 200ms ease-in-out;
		}

			.overlay-box.loading .overlay-box-content:after {
				opacity: 1;
				pointer-events: all;
			}


	@media ( max-width: 1080px ) {

		.overlay-box {
			padding: 0 20px;
			box-sizing: border-box;
		}

		.overlay-box-content {
			padding: 20px;
			background-size: 100px auto;
		}

	}

	@media ( max-width: 640px ) {

		.overlay-box-content {
			background-image: url();
		}

		.overlay-box-content .close-button {
			top: 5px;
			right: 5px;
		}

	}

.pdf-generator-overlay {

}

	.pdf-generator-overlay h3 + p {
		margin-top: 0;
	}

	.pdf-generator-overlay .films-list {
		text-align: left;
		display: block;
	}

		.pdf-generator-overlay .films-list li {
			position: relative;
			border-bottom: 1px solid var(--color-black);
			padding: 6px 0 0;
			text-transform: uppercase;
		}
	
		.pdf-generator-overlay label {
			display: block;
		}

			.pdf-generator-overlay label input {
				float: right;
				vertical-align: middle;
				margin-left: 10px;
				margin-top: 4px;
			}

		.pdf-generator-overlay .check-all {
			padding-top: 10px;
			text-align: right;
		}

	@media ( max-width: 640px ) {

		.pdf-generator-overlay .films-list,
		.pdf-generator-overlay .check-all {
			font-size: 0.8em;
		}

		.pdf-generator-overlay label input {
			margin-top: 0;
		}

	}
