#fullscreenmenu {
	background-color: #ffffff;
	display: block;
	font-weight: 400;
	height: 100%;
	left: 0;
	overflow: hidden;
	position: fixed;
	right: 0;
	top: -100%;
	-webkit-transition: top 0.5s;
	-moz-transition: top 0.5s;
	-ms-transition: top 0.5s;
	-o-transition: top 0.5s;
	transition: top 0.5s;
	width: 100%;
	z-index: 1000;
}
body.menuopen #fullscreenmenu {
	top: 0;
}

#fullscreenmenu .scrollcontainer {
	height: 100%;
	overflow: auto;
	position: relative;
}
#fullscreenmenu .half {
	float: left;
	min-height: 100%;
	padding: 200px 85px 85px;
	width: 50%;
}
#fullscreenmenu .half + .half {
	position: -webkit-sticky;
	position: sticky;
	right: 0;
	top: 0;
}
#fullscreenmenu .half:last-child {
	background-color: #000;
}
#fullscreenmenu .half:last-child * {
	color: #fff !important;
}
#fullscreenmenu .half a.menutoggle {
	display: block;
	font-size: 17px;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 34px;
	position: absolute;
	right: 80px;
	text-transform: uppercase;
	top: 60px;
}
#fullscreenmenu .half a.menutoggle span[class^="icon-"] {
	font-size: 16px;
	margin-right: 10px;
	vertical-align: -1px;
}

#fullscreenmenu .menulogo {
	left: 80px;
	position: absolute;
	top: 60px;
}

#fullscreenmenu .block {
	margin-top: 85px;
}
#fullscreenmenu .block .row + .row{
	margin-top: 10px;
}
#fullscreenmenu .title {
	margin-bottom: 30px;
}
#fullscreenmenu .subtitle {
	margin-bottom: 13px;
}
#fullscreenmenu p {
	font-size: 17px;
	line-height: 31px;
	font-weight: 400;
	letter-spacing: -0.01em;
	margin-bottom: 20px;
}

#fullscreenmenu #mainmenu {
	position: relative;
	padding-top: 30px;
	counter-reset: section;
	z-index: 1;
}
#fullscreenmenu #mainmenu a:not(.btn), #fullscreenmenu #mainmenu nav > ul > li.arrival > span {
	display: block;
	font-size: 28px;
	font-weight: bold;
	/*
	line-height: 75px;
	*/
	line-height: normal;
	padding: 21px 0;
}
#fullscreenmenu #mainmenu nav > ul > li {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-webkit-flex-direction: row;
	-ms-flex-direction: row;
	flex-direction: row;
	-webkit-box-align: stretch;
	-webkit-align-items: stretch;
	-ms-flex-align: stretch;
	align-items: stretch;
	opacity: 0;
	-webkit-transform: scale(0.9);
	-moz-transform: scale(0.9);
	-ms-transform: scale(0.9);
	-o-transform: scale(0.9);
	transform: scale(0.9);
	-webkit-transform-origin: left;
	-moz-transform-origin: left;
	-ms-transform-origin: left;
	-o-transform-origin: left;
	transform-origin: left;
	-webkit-transition: opacity 0s 0.5s, transform 0s 0.5s;
	-moz-transition: opacity 0s 0.5s, transform 0s 0.5s;
	-ms-transition: opacity 0s 0.5s, transform 0s 0.5s;
	-o-transition: opacity 0s 0.5s, transform 0s 0.5s;
	transition: opacity 0s 0.5s, transform 0s 0.5s;
	position: relative;
	width: 50%;
}
#fullscreenmenu #mainmenu nav > ul > li::before {
	counter-increment: section;
	content: '0' counter(section);
	font-size: 15px;
	opacity: 0.25;
	position: absolute;
	left: -6px;
	top: 7px;
}
body.menuopen #fullscreenmenu #mainmenu nav > ul > li {
	-webkit-transform: scale(1);
	-moz-transform: scale(1);
	-ms-transform: scale(1);
	-o-transform: scale(1);
	transform: scale(1);
	-webkit-transition: opacity 1s 0.5s, transform 1s 0.5s;
	-moz-transition: opacity 1s 0.5s, transform 1s 0.5s;
	-ms-transition: opacity 1s 0.5s, transform 1s 0.5s;
	-o-transition: opacity 1s 0.5s, transform 1s 0.5s;
	transition: opacity 1s 0.5s, transform 1s 0.5s;
	opacity: 1;
}
#fullscreenmenu #mainmenu ul li ul {
	opacity: 0;
	padding-top: 25px;
	pointer-events: none;
	position: absolute;
	right: -100%;
	top: 0;
	-webkit-transition: opacity 0.5s, z-index 0s 0.5s;
	-moz-transition: opacity 0.5s, z-index 0s 0.5s;
	-ms-transition: opacity 0.5s, z-index 0s 0.5s;
	-o-transition: opacity 0.5s, z-index 0s 0.5s;
	transition: opacity 0.5s, z-index 0s 0.5s;
	width: 100%;
	z-index: -1;
}
#fullscreenmenu #mainmenu nav > ul > li.hover > ul {
	opacity: 1;
	pointer-events: all;
	-webkit-transition: opacity 0.5s;
	-moz-transition: opacity 0.5s;
	-ms-transition: opacity 0.5s;
	-o-transition: opacity 0.5s;
	transition: opacity 1s;
	z-index: 10;
}
#fullscreenmenu #mainmenu nav > ul > li:not(.arrival) > span {
	display: inline-block;
	-webkit-box-flex: 1;
	-webkit-flex: 1 1 auto;
	-ms-flex: 1 1 auto;
	flex: 1 1 auto;
	height: 2px;
	margin: 39px 50px 0;
	opacity: 0;
	position: relative;
	-webkit-transition: opacity 0.5s;
	-moz-transition: opacity 0.5s;
	-ms-transition: opacity 0.5s;
	-o-transition: opacity 0.5s;
	transition: opacity 0.5s;
}
#fullscreenmenu #mainmenu nav > ul > li.hover > span {
	opacity: 1;
}
#fullscreenmenu #mainmenu nav > ul > li > span:after {
	background-color: #fff;
	bottom: 0;
	content: '';
	display: block;
	left: 0;
	position: absolute;
	top: 0;
	-webkit-transition: width 0.5s;
	-moz-transition: width 0.5s;
	-ms-transition: width 0.5s;
	-o-transition: width 0.5s;
	transition: width 0.5s;
	width: 0;
}
#fullscreenmenu #mainmenu nav > ul > li.hover > span:after {
	width: 100%;
}
#fullscreenmenu #mainmenu ul li ul li a:not(.btn) {
	display: inline-block;
	font-weight: 400;
	font-size: 18px;
	line-height: 24px;
	padding: 3px 10px;
	position: relative;
}
#fullscreenmenu #mainmenu ul li ul li a:after {
	background-color: #fff;
	content: '';
	width: 100%;
	height: 1px;
	display: block;
	opacity: 0;
	-webkit-transition: opacity 0.2s;
	-moz-transition: opacity 0.2s;
	-ms-transition: opacity 0.2s;
	-o-transition: opacity 0.2s;
	transition: opacity 0.2s;
}
#fullscreenmenu #mainmenu ul li ul li a:hover:after, #fullscreenmenu #mainmenu ul li ul li.hover a:after {
	opacity: 1;
}

#fullscreenmenu #mainmenu ul li ul li ul li a {
	padding-left: 30px;
	font-size: 16px;
	line-height: 26px;
}

#fullscreenmenu .col-md-6 > .dropdown {
	display: block;
	margin-right: 0;
}
#fullscreenmenu .col-md-6 > .customdropdown.select > button .icon-arrow-down {
	float: right;
	line-height: 30px;
}
#fullscreenmenu .col-md-4 > .customdropdown > button > span[class^="icon-"] {
	margin-right: 10px;
	vertical-align: -3px;
}

#fullscreenmenu .scrolllink {
	display: none;
}

/* Anreise in Navigation */
#fullscreenmenu #mainmenu li.arrival {
	display: block;
	margin-top: 40px;
	padding-bottom: 200px;
}
#fullscreenmenu #mainmenu li.arrival > a.btn {
	display: table;
}

#fullscreenmenu #menumap {
	position: absolute;
	display: block;
	bottom: 0;
	right: 0;
	width: 70%;
	height: auto;
	overflow: hidden;
	z-index: 0;
}
#fullscreenmenu #menumap > a, #fullscreenmenu #menumap > span {
	text-decoration: none;
	display: block;
}
#fullscreenmenu #menumap > a::after, #fullscreenmenu #menumap > span::after {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 120%;
	height: 120%;
	background: rgb(0,0,0);
	background: -moz-radial-gradient(circle, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 64%, rgba(0,0,0,0.8) 70%, rgba(0,0,0,1) 80%, rgba(0,0,0,1) 100%);
	background: -webkit-radial-gradient(circle, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 64%, rgba(0,0,0,0.8) 70%, rgba(0,0,0,1) 80%, rgba(0,0,0,1) 100%);
	background: radial-gradient(circle, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 64%, rgba(0,0,0,0.8) 70%, rgba(0,0,0,1) 80%, rgba(0,0,0,1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#000000",endColorstr="#000000",GradientType=1);
}
#fullscreenmenu #menumap img, #fullscreenmenu #menumap svg {
	display: block;
	width: 100%;
	height: auto;
	margin-bottom: -22%;
}


@media (max-width: 1600px) {
	#fullscreenmenu .half {
		padding-left: 40px;
		padding-right: 40px;
	}
	#fullscreenmenu .menulogo {
		left: 40px;
	}
	#fullscreenmenu .half a.menutoggle {
		right: 40px;
	}

	#fullscreenmenu .shortrequest .col-md-4 > .customdropdown {
		margin-right: 20px;
	}
	#fullscreenmenu #menumap {
		width: 76%;
	}
}
@media (min-width: 1441px) and (max-height: 850px), (max-width: 1440px) {
	#fullscreenmenu .menulogo {
		margin-bottom: 50px;
		position: static;
	}
	#fullscreenmenu .half {
		padding-top: 50px;
	}
	#fullscreenmenu .half + .half {
		padding-top: 156px;
	}
	#fullscreenmenu .half a.menutoggle {
		top: 20px;
	}
}


/* Desktop */
@media (max-width: 1440px) {
	#fullscreenmenu .half {
		padding: 50px 40px;
	}
	#fullscreenmenu .half + .half {
		padding-top: 130px;
	}
	#fullscreenmenu .block {
		margin-top: 60px;
	}
	#fullscreenmenu .half a.menutoggle {
		font-size: 14px;
		right: 50px;
		top: 40px;
	}
	#fullscreenmenu #menumap {
		width: 84%;
	}

	#fullscreenmenu .menulogo {
		margin-bottom: 45px;
		max-width: 170px;
	}
	#fullscreenmenu .menulogo svg {
		height: auto;
		width: 100%;
	}
	#fullscreenmenu .title {
		margin-bottom: 15px;
	}
	#fullscreenmenu .shortrequest .col-md-4 {
		width: auto;
	}
	#fullscreenmenu .shortrequest .col-md-4 > .customdropdown {
		margin-right: 0;
	}

	#fullscreenmenu #mainmenu {
		padding-top: 35px;
	}
	#fullscreenmenu #mainmenu a:not(.btn), #fullscreenmenu #mainmenu nav > ul > li.arrival > span {
		/*font-size: 24px;
		line-height: 65px;*/
	}

	#fullscreenmenu #mainmenu nav > ul > li {
		width: 60%;
	}
	#fullscreenmenu #mainmenu nav > ul > li:not(.arrival) > span {
		margin-left: 30px;
		margin-right: 20px;
	}
	#fullscreenmenu #mainmenu ul li ul {
		right: -200px;
		width: 200px;
	}
}

@media (max-width: 1200px) {
	#fullscreenmenu #menumap {
		width: 80%;
	}
}

/* Tablet */
@media (max-width: 1080px) {
	#fullscreenmenu {
		background-color: #000;
	}
	#fullscreenmenu .half {
		background-color: #fff;
		float: none;
		min-height: 0;
		padding: 30px 30px 40px;
		position: static !important;
		width: 100%;
	}
	#fullscreenmenu .half + .half {
		padding: 45px 30px 30px;
	}
	#fullscreenmenu .half:after {
		clear: both;
		content: '';
		display: table;
	}
	#fullscreenmenu .block {
		float: left;
		margin-top: 35px;
		padding-right: 10px;
		width: 50%;
	}
	#fullscreenmenu .block + .block {
		padding-left: 10px;
		padding-right: 0;
	}
	#fullscreenmenu .block .col-md-6 {
		margin-bottom: 10px;
	}
	#fullscreenmenu .block .row + .row{
		margin-top: 0;
	}
	#fullscreenmenu .half a.menutoggle {
		color: #000 !important;
		right: 30px;
		top: 30px;
	}
	#fullscreenmenu .half a.menutoggle span {
		color: #000 !important;
	}
	#fullscreenmenu .shortrequest .col-md-4 {
		-webkit-box-flex: 1;
		-webkit-flex: 1 1 auto;
		-ms-flex: 1 1 auto;
		flex: 1 1 auto;
	}
	#fullscreenmenu #mainmenu {
		max-width: 600px;
	}
	#mainmenu li {
	}
	#mainmenu:after {
		content: '';
		display: table;
		clear: both;
	}

	/* Anreise */
	#fullscreenmenu #mainmenu li.arrival {
		padding-bottom: 0;
	}
	#fullscreenmenu #menumap {
		position: relative;
		left: auto;
		bottom: auto;
		margin: -18% -30px -30px -30px;
		float: right;
	}
}


/* Smartphone */
@media (max-width: 640px) {
	#fullscreenmenu .half {
		padding: 10px 20px 45px;
	}
	#fullscreenmenu .half + .half {
		padding: 45px 20px 30px;
	}
	#fullscreenmenu .block, #fullscreenmenu .block + .block {
		float: none;
		padding: 0;
		width: 100%;
	}
	#fullscreenmenu .block .row:after {
		clear: none;
		display: none;
	}
	#fullscreenmenu .title {
		font-size: 28px;
	}
	#fullscreenmenu .half + .half .title {
		text-align: center;
	}
	#fullscreenmenu .btn {
		display: block;
	}
    #fullscreenmenu #mainmenu li.arrival > a.btn {
		margin: 0 auto;
	}
	/*#fullscreenmenu .half a.menutoggle {
		font-size: 12px;
		line-height: 30px;
		top: 25px;additionalinfos
	}*/
	#fullscreenmenu .half a.menutoggle {
		background-color: rgba(255, 255, 255, 0.85);
		border: 1px solid #ccc;
		-webkit-border-radius: 50%;
		border-radius: 50%;
		bottom: auto;
		display: block;
		font-size: 24px;
		font-weight: 400;
		height: 30px;
		left: auto;
		letter-spacing: 0;
		line-height: 28px;
		opacity: 1;
		position: fixed;
		right: 20px;
		text-align: center;
		top: -30px;
		-webkit-transition: top 0.5s;
		-moz-transition: top 0.5s;
		-ms-transition: top 0.5s;
		-o-transition: top 0.5s;
		transition: top 0.5s;
		width: 30px;
		/*z-index: 10000;*/
		z-index: 9998;
	}
	body.menuopen #fullscreenmenu .half a.menutoggle {
		top: 10px;
		-webkit-transition: top 0.5s 0.5s;
		-moz-transition: top 0.5s 0.5s;
		-ms-transition: top 0.5s 0.5s;
		-o-transition: top 0.5s 0.5s;
		transition: top 0.5s 0.5s;
	}
	#fullscreenmenu .half a.menutoggle:before {
		content: "×";
	}
	#fullscreenmenu .half a.menutoggle span {
		display: none;
	}

	/*#fullscreenmenu .menulogo {
		overflow: hidden;
		width: 55px;
	}
	#fullscreenmenu .menulogo #logo {
		display: none;
	}*/
	#fullscreenmenu .menulogo svg {
		width: 150px
	}

	#fullscreenmenu .shortrequest .col-xs-9 {
		width: 75%;
	}
	#fullscreenmenu .shortrequest .col-xs-3 {
		width: 25%;
	}

	#fullscreenmenu #mainmenu {
		padding: 20px 0;
		text-align: center;
	}
	#fullscreenmenu #mainmenu a:not(.btn), #fullscreenmenu #mainmenu nav > ul > li.arrival > span {
		font-size: 22px;
		padding: 11px 0;
		/*
		line-height: 50px;
		white-space: nowrap;
		*/
	}
	#fullscreenmenu #mainmenu nav > ul > li {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-webkit-flex-direction: column;
		-ms-flex-direction: column;
		flex-direction: column;
		width: 100%;
	}
	#fullscreenmenu #mainmenu nav > ul > li/*:not(.arrival)*/::before {
		font-size: 13px;
		display: none;
	}

	#fullscreenmenu #mainmenu nav > ul > li:not(.arrival) > span {
		height: 0;
		margin: -5px auto 0;
		position: relative;
		top: 0;
		-webkit-transition: height 0.5s;
		-moz-transition: height 0.5s;
		-ms-transition: height 0.5s;
		-o-transition: height 0.5s;
		transition: height 0.5s;
		width: 2px;
	}
	#fullscreenmenu #mainmenu nav > ul > li.hover > span {
		height: 30px;
	}
	#fullscreenmenu #mainmenu ul li ul {
		display: none;
		margin-bottom: 20px;
		padding-top: 10px;
		position: static;
		width: 100%;
	}
	#fullscreenmenu #mainmenu nav > ul > li > ul.showonmobile {
		display: block;
	}

	/* Anreise */
	#fullscreenmenu #mainmenu li.arrival {
		margin-top: 30px;
	}
	#fullscreenmenu #menumap {
		float: none;
		width: auto;
		margin: -8% -20px -30px -20px;
	}
	#fullscreenmenu #menumap img, #fullscreenmenu #menumap svg {
		width: auto;
		margin: -2% -12% -30% -26%;
	}
	#fullscreenmenu #menumap > a::after, #fullscreenmenu #menumap > span::after {
		width: 100%;
	}


	#fullscreenmenu .col-md-6 > .customdropdown.select > button .icon-arrow-down {
		line-height: 22px;
	}


	#fullscreenmenu .scrolllink {
		bottom: 5px;
		display: block;
		font-size: 14px;
		left: 0;
		margin: 0 auto -40px;
		opacity: 0;
		padding: 5px 25px;
		position: sticky;
		right: auto;
		-webkit-transition: opacity 0.2s;
		-moz-transition: opacity 0.2s;
		-ms-transition: opacity 0.2s;
		-o-transition: opacity 0.2s;
		transition: opacity 0.2s;
		text-align: center;
		width: 100%;
		z-index: 9;
	}
	#fullscreenmenu .scrolllink.is-sticky {
		opacity: 1;
	}
	#fullscreenmenu .scrolllink a {
		background-color: #fff;
		display: inline-block;
	}
	#fullscreenmenu .scrolllink a:hover, #fullscreenmenu .scrolllink a:active, #fullscreenmenu .scrolllink a:focus {
		background-color: #333333;
	}
}
