/************* Fonts *************/

@import url("https://fast.fonts.net/t/1.css?apiType=css&projectid=83d96a08-6810-4adc-904a-0044d0ec286c");

@font-face {
    font-family:"FrutigerNextW01-BoldCn";
    src:url("../webfonts/497c3588-4b93-4f85-bcbc-52af2bdf03df.eot?#iefix");
    src:url("../webfonts/497c3588-4b93-4f85-bcbc-52af2bdf03df.eot?#iefix") format("eot"),url("../webfonts/78cb2356-22e7-4eae-bbb7-f947f2384d4b.woff") format("woff"),url("../webfonts/ac1fbae2-c358-43bd-8789-791cd09a114d.ttf") format("truetype"),url("../webfonts/0000e0ba-ee2d-4a44-b4cf-63512287a48c.svg#0000e0ba-ee2d-4a44-b4cf-63512287a48c") format("svg");
}

@font-face {
    font-family:"FrutigerNextW01-Regular";
    src:url("../webfonts/4cef6d85-d22a-4541-b469-da13751862aa.eot?#iefix");
    src:url("../webfonts/4cef6d85-d22a-4541-b469-da13751862aa.eot?#iefix") format("eot"),url("../webfonts/d74de079-587d-4049-9cca-50ba02a536f9.woff") format("woff"),url("../webfonts/07749504-e72d-4fc9-a58d-5b853dd51fc7.ttf") format("truetype"),url("../webfonts/8178e4eb-8ce0-4c15-a701-4a102b204c0e.svg#8178e4eb-8ce0-4c15-a701-4a102b204c0e") format("svg");
}

body.portal
{
	margin: 0;
	font-family: FrutigerNextW01-Regular, Arial, sans-serif;
}

/************* Background *************/

body {
	background: url("../img/background.jpg") no-repeat center center fixed;
	background-size: cover;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
}

body #gradient {
	background: linear-gradient(top, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 10%, rgba(255, 255, 255, 0) 40%);
	background: -webkit-linear-gradient(top, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 10%, rgba(255, 255, 255, 0) 40%);
	background: -moz-linear-gradient(top, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 10%, rgba(255, 255, 255, 0) 40%);
	background: -o-linear-gradient(top, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 10%, rgba(255, 255, 255, 0) 40%);
	background: -ms-linear-gradient(top, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 10%, rgba(255, 255, 255, 0) 40%);
	filter: progid:DXImageTransform.Microsoft.Gradient(startColorstr='#ffffff', endColorstr='#00ffffff',GradientType=0);
	position: absolute;
	left: 0px;
	top: 0px;
	right: 0px;
	bottom: 0px;
}

body #content {
	background-color: rgba(255, 255, 255, 0.5);
	position: absolute;
	left: 30px;
	top: 0px;
	right: 30px;
	bottom: 30px;
	padding-top: 90px; /* 30 px + header (50px) + 10 px */
	padding-bottom: 66px; /* 10 px + footer (56px) */
	padding-left: 30px;
	padding-right: 30px;
}

/************* Header *************/

.portal #header {
	height: 50px;
	margin-top: -50px;
}

.portal #header #background {
	background-color: #d51317;
	color: white;
	height: 50px;
	font-size: 20pt;
	text-align: right;
	line-height: 55px;
	position: absolute;
	top: 30px;
	left: 30px;
	right: 30px;
}

.portal #header #logo {
	float: left;
	width: 158px;
	height: 50px;
	background-image: url("../img/logo.gif");
}

.portal #header #navsection #toggleMenu {
	display: none;
}

.portal #header #tabs div {
	float: right;
	
	height: 50px;
	padding: 0 10px;
	border-left: 2px solid white;
	
	text-transform: uppercase;
	font-family: 'FrutigerNextW01-BoldCn', Arial, Sans-Serif;
	font-size: 18px;
	line-height: 50px;
		
	background: linear-gradient(to right, rgba(0,0,0,1) 0%, rgba(0,0,0,1) 70%, rgba(153,153,153,1) 100%);
	background: -webkit-linear-gradient(left, rgba(0,0,0,1) 0%, rgba(0,0,0,1) 70%, rgba(153,153,153,1) 100%);
	background: -moz-linear-gradient(left, rgba(0,0,0,1) 0%, rgba(0,0,0,1) 70%, rgba(153,153,153,1) 100%);
	background: -o-linear-gradient(left, rgba(0,0,0,1) 0%, rgba(0,0,0,1) 70%, rgba(153,153,153,1) 100%);
	background: -ms-linear-gradient(left, rgba(0,0,0,1) 0%, rgba(0,0,0,1) 70%, rgba(153,153,153,1) 100%);
	
	cursor: pointer;
}

.portal #header #tabs div.current,
.portal #header #tabs div:hover {
	background: #d51317;
}

/************* Footer *************/

.portal #footer {
	background-color: white;
	width: 100%;
	height: 56px;
	position: absolute;
	left: 0;
	bottom: 0;
	font-size: 0; /* hack to remove the space between the inline block children */
}

.portal #footer .left {
	float: left;
	padding-left: 25px;
}

.portal #footer .right {
	float: right;
	padding-right: 25px;
}

.portal #footer .text a {
	padding: 0 10px;
	font-family: 'FrutigerNextW01-BoldCn', Arial, Sans-Serif;
	font-size: 13px;
	line-height: 56px;
	color: black;
	background-color: white;
	text-decoration: none;
	text-transform: uppercase;
	display: inline-block;
}

.portal #footer .text a:hover {
	color: white;
	background-color: #d51317;
}

.portal #footer .image a {
	background-image: url("../img/links.png");
	background-repeat: no-repeat;
	display: inline-block;
	height: 56px;
	text-decoration: none;
	width: 35px;
	float: left;
	margin-left: 13px;
}

.portal #footer .image #rss {
	background-position: -160px 0px;
}

.portal #footer .image #youtube {
	background-position: -120px 0px;
}

.portal #footer .image #twitter {
	background-position: -80px 0px;
}

.portal #footer .image #instagram {
	background-position: -40px 0px;
}

.portal #footer .image #facebook {
	background-position: 0px 0px;
}

.portal #footer .image #rss:hover {
	background-position: -160px -144px;
}

.portal #footer .image #youtube:hover {
	background-position: -120px -144px;
}

.portal #footer .image #twitter:hover {
	background-position: -80px -144px;
}

.portal #footer .image #instagram:hover {
	background-position: -40px -144px;
}

.portal #footer .image #facebook:hover {
	background-position: 0px -144px;
}

/************* Map *************/

.portal #main {
	height: 100%;
}

.portal #outermapwrapper {
	float: left;
	width: 100%;
}

.portal #innermapwrapper {
	margin-right: 320px;
}

.portal #map {
	border: 2px solid white;
}

.portal #map #IWOverlayLayer_0 {
	opacity: 0.75;
}

.portal #map #buttons {
	position: absolute;
	top: 10px;
	right: 10px;
	z-index: 10;
}

.portal #map #buttons div {
	width: 46px;
	text-align: center;
	border: 1px solid #959595;
	background-color: white;
	float: left;
	margin-left: 5px;
	padding: 3px 8px;
	font-size: 14px;
	line-height: 18px;
	cursor: pointer;
	box-shadow: 1px 2px 10px rgba(0, 0, 0, 0.2);
}

.portal #map #buttons div.active {
	color: #d51317;
	font-family: 'FrutigerNextW01-BoldCn', Arial, Sans-Serif;
}

.portal #map #buttons div.inactive {
	color: black;
	font-family: 'FrutigerNextW01-Regular', Arial, Sans-Serif;
}

.portal #map .IWSliderControl {
	width: 38px;
	height: 173px;
}

.portal #map .IWSliderControl .zoomIn {
	left: 9px;
	top: 4px;
	width: 27px;
	height: 24px;
	cursor: pointer;
}

.portal #map .IWSliderControl .zoomOut {
	left: 9px;
	top: 144px;
	width: 27px;
	height: 24px;
	cursor: pointer;
}

.portal #map .IWSliderControl .zoomClick {
	left: 9px;
	top: 28px;
	width: 27px;
	height: 116px; 
}

.portal #map .IWSliderControl .button {
	left: 13px;
	top: 28px;
	width: 20x;
	height: 6px;
}

.portal #map .IWMarker {
	cursor: pointer !important; /* m( */
}

.portal #map .mapRenderer text {
	cursor: pointer;
}

/************* Tabs *************/

.portal #sidebar input,
.portal #sidebar select,
.portal #sidebar label {
	cursor: pointer;
}

.portal #sidebar {
	float: left;
	width: 300px;
	height: 100%;
	border: 2px solid white;
 	background-color: #dadada;
	margin-left: -304px; /* width + border */
	overflow: auto;
}

.portal #sidebar .section {
	margin: 10px;
	color: black;
	background-color: white;
	overflow: hidden;
	max-height: 2000px;
}

.portal #sidebar .collapsed {
	max-height: 28px;
}

.portal #sidebar .section .header {
	padding-left: 10px;
	padding-right: 10px;
	padding-top: 7px;
	padding-bottom: 5px;
	font-family: 'FrutigerNextW01-BoldCn', Arial, Sans-Serif;
	font-size: 18px;
	line-height: 18px;
	text-transform: uppercase;
	color: white;
	background-color: #d51317;
}

.portal #sidebar .section .collapsable {
	background-image: url("../img/pfeil_accordion.png");
	background-position: 95% 7px;
	background-repeat: no-repeat;
	cursor: pointer;
}

.portal #sidebar .collapsed .collapsable {
	background-position: 95% -127px;
}

.portal #sidebar .section .content {
	margin: 10px;
}

.portal #sidebar select {
	width: 100%;
	padding: 6px 10px;
}

.portal #sidebar input[type="text"] {
	padding: 3px;
	margin-bottom: 10px;
	width: 100%;
	border: 1px solid #aaaaaa;
}

.portal #sidebar input[type="button"] {
	color: white;
	background-color: black;
	border-width: 0;
	padding-left: 15px;
	padding-right: 15px;
	padding-top: 10px;
	padding-bottom: 8px;
	font-family: 'FrutigerNextW01-BoldCn', Arial, Sans-Serif;
	font-size: 16px;
	line-height: 16px;
	text-transform: uppercase;
}

.portal #sidebar input[type="button"].wide {
	width: 100%;
}


.portal #sidebar label,
.portal #sidebar #lineStationList,
.portal #sidebar .hitlist {
	font-size: 14px;
}

.portal #sidebar #showLines li.separated {
	border-top: 1px dotted rgb(169, 169, 169);
	padding-top: 5px;
	margin-top: 5px;
}

/**************** POI List *****************/

.portal #sidebar #poiMenu {
	margin-top: 5px;
}

.portal #sidebar #poiMenu .inactive > ul {
	display: none;
}

.portal #sidebar #poiMenu ul {
	margin: 0px;
}

.portal #sidebar #poiMenu li {
	margin-left: 35px;
}

/* clear, float and width to align multiline labels in the POI tree */
.portal #sidebar #poiMenu .clear {
	clear: left;
}

.portal #sidebar #poiMenu div > .arrow,
.portal #sidebar #poiMenu div > input,
.portal #sidebar #poiMenu div > label {
	float: left;	
}

.portal #sidebar #poiMenu div > label {
	width: 200px;
}

.portal #sidebar #poiMenu ul input,
.portal #sidebar #poiMenu ul label {
	float: left;	
}

.portal #sidebar #poiMenu ul label {
	width: 165px;
}

.portal #sidebar #poiMenu .arrow {
	width: 15px;
	height: 15px;
	float: left;
	background-image: url("../img/arrow_tree.png");
	background-size: 15px;
	background-repeat: no-repeat;
	cursor: pointer;
}

.portal #sidebar #poiMenu .active .arrow {
	background-position: 0px -14px;
}

.portal #sidebar #poiMenu .inactive .arrow {
	background-position: 0px 1px;
}

.portal #sidebar #poiMenu label.category {
	background-repeat: no-repeat;
	background-size: 16px;
	padding-left: 20px;
}

/**************** Station Types List *****************/

.portal #sidebar ul {
	padding: 0;
	list-style: none;
}

.portal #sidebar .stationTypes ul {
	padding-left: 20px;
}

/**************** Station List **********************/

.portal #sidebar #buttonSelectAllLines {
	margin-top: 10px;
}

.portal #sidebar #buttonSelectAllLines.hidden {
	display: none;
}

ul#lineStationList {
	padding: 0;
	list-style: none;
}

ul#lineStationList li {
	padding-left: 5px;
	border-bottom: 1px solid #dfdecb;
}

ul#lineStationList li span {
	display: block;
	background-color: white;
	padding: 2px 0px 2px 5px;
	cursor: pointer;
}

/**************** Station Details **********************/

.portal #sidebar #stations #linesAtStation {
	margin-top: 10px;
}

.portal #sidebar #stations #linesAtStation div {
	min-height: 32px;
	padding-left: 40px;
	line-height: 40px;
	background-repeat: no-repeat;
	font-family: 'FrutigerNextW01-BoldCn', Arial, Sans-Serif;
}

.portal #sidebar #stations #linesAtStation .hidden {
	display: none;
}

.portal #sidebar #stations #linesAtStation #sbahnLinesAtStation {
	background-image: url("../../../img/sbahn/sbahn.png");
	margin-bottom: 5px;
}

.portal #sidebar #stations #linesAtStation #subwayLinesAtStation {
	background-image: url("../../../img/subway/large.png");
}

.portal #sidebar #stations #linesAtStation #tramLinesAtStation {
	background-image: url("../../../img/tram/large.png");
}

.portal #sidebar #stations #linesAtStation #busLinesAtStation {
	background-image: url("../../../img/bus/large.png");
}

.portal #sidebar #stations #stationInfrastructure {
	margin-top: 20px;
	overflow: hidden;
}

.portal #sidebar #stations #stationInfrastructure div,
.portal .cms #preview div
{
	width: 48px;
	height: 48px;
	display: none;
	float: left;
	margin-right: 6px;
	margin-bottom: 6px;
	background-image: url("../../../img/infrastructure/infrastructure.png?d=20160128");
}

.portal #sidebar #stations #stationInfrastructure .Aufzug,
.portal .cms #preview .Aufzug {
	background-position: 0px 0px;
	display: block;
}

.portal #sidebar #stations #stationInfrastructure .barrierearmausgebaut,
.portal .cms #preview .barrierearmausgebaut {
	background-position: -48px 0px;
	display: block;
}

.portal #sidebar #stations #stationInfrastructure .behindertengerechteToilette,
.portal .cms #preview .behindertengerechteToilette {
	background-position: -96px 0px;
	display: block;
}

.portal #sidebar #stations #stationInfrastructure .BikeAndRide,
.portal .cms #preview .BikeAndRide {
	background-position: -144px 0px;
	display: block;
}

.portal #sidebar #stations #stationInfrastructure .Fahrkartenautomat,
.portal .cms #preview .Fahrkartenautomat {
	background-position: -192px 0px;
	display: block;
}

.portal #sidebar #stations #stationInfrastructure .Fahrradbox,
.portal .cms #preview .Fahrradbox {
	background-position: -240px 0px;
	display: block;
}

.portal #sidebar #stations #stationInfrastructure .VAG_RadStation,
 .portal .cms #preview .VAG_RadStation {
	background-position: -288px 0px;
	display: block;
}

.portal #sidebar #stations #stationInfrastructure .ParkAndRide,
.portal .cms #preview .ParkAndRide {
	background-position: -336px 0px;
	display: block;
}

.portal #sidebar #stations #stationInfrastructure .Taxistand,
.portal .cms #preview .Taxistand {
	background-position: -384px 0px;
	display: block;
}

.portal #sidebar #stations #stationInfrastructure .Umsteigemöglichkeit,
.portal .cms #preview .Umsteigemöglichkeit {
	background-position: -432px 0px;
	display: block;
}

.portal #sidebar #stations #stationInfrastructure .Verkaufsstelle,
.portal .cms #preview .Verkaufsstelle {
	background-position: -480px 0px;
	display: block;
}

.portal #sidebar #stations #stationInfrastructure .Toilette,
.portal .cms #preview .Toilette {
	background-position: -528px 0px;
	display: block;
}

.portal #sidebar #stations #stationInfrastructure .Aufzuginaktiv,
.portal .cms #preview .Aufzuginaktiv {
	background-position: -576px 0px;
	display: block;
}

.portal #sidebar #stations #stationInfrastructure .Aufzügeteilweiseinaktiv,
.portal .cms #preview .Aufzügeteilweiseinaktiv {
	background-position: -624px 0px;
	display: block;
}

.portal #sidebar #stations #additionalInformation ul {
	font-family: 'FrutigerNextW01-BoldCn', Arial, Sans-Serif; 
	font-size: 16px;
	border: 2px dashed #d51317;
	padding-left: 10px;
	padding-right: 10px;
}

.portal #sidebar #stations #additionalInformation li {
	margin-top: 10px;
	margin-bottom: 10px;
}

/**************** Search Tab **********************/

.portal #sidebar .hitlist li {
	padding: 2px 6px;
}

.portal #sidebar .hitlist li.even {
	background-color: white;
}

.portal #sidebar .hitlist li.odd {
	background-color: #eeeeee;
}

.portal #sidebar .hitlist a {
	color: black;
	text-decoration: none;
}

.portal #sidebar .hitlist a:hover {
	text-decoration: underline;
}

/************* Popups *************/

.portal .publictransport .IWInfoBalloon .searchHit .name {
	font-family: 'FrutigerNextW01-BoldCn', Arial, Sans-Serif;
	font-size: 14px; 
}

.portal .publictransport .IWInfoBalloon .searchHit .street,
.portal .publictransport .IWInfoBalloon .searchHit .city {
	font-family: 'FrutigerNextW01-Regular', Arial, Sans-Serif;
	font-size: 14px;
}

.portal .publictransport .IWInfoBalloon .station .timetable th {
	font-family: 'FrutigerNextW01-BoldCn', Arial, Sans-Serif;
	font-weight: normal;
}

.portal .publictransport .IWInfoBalloon .station .timetable td {
	font-family: 'FrutigerNextW01-Regular', Arial, Sans-Serif;
	font-weight: normal;
}

.portal .publictransport .IWInfoBalloon .connections > span {
	font-family: FrutigerNextW01-BoldCn, Arial, sans-serif;
	font-weight: normal;
}

.portal .publictransport .IWInfoBalloon .vehicle .header {
	font-family: 'FrutigerNextW01-BoldCn', Arial, Sans-Serif;
	font-weight: normal;
}

.portal .publictransport .IWInfoBalloon .vehicle .timetable td {
	font-family: 'FrutigerNextW01-Regular', Arial, Sans-Serif;
}

.portal .publictransport .IWInfoBalloon .headline .station {
	font-family:"FrutigerNextW01-BoldCn";
	font-weight: normal;
}

/************ Line labels ***********/

.publictransport .mapRenderer svg text {
	/* !important is required to overwrite the element style */
	font-family: FrutigerNextW01-BoldCn, Arial, sans-serif !important;
}

/****** Smartphone and Tablet ******/

@media only screen and (max-width: 960px) {
	
	.portal {
		background-image: none !important;
	}
	
	.portal #content {
		padding: 40px 0 0 0 !important;
		left: 0 !important;
		right: 0 !important;
		top: 0 !important;
		bottom: 0 !important;
		padding-top: 50px;
		padding-bottom: 0;
		overflow: hidden; /* menu */
	}
	
	.portal #main {
		margin: 0 !important;
	}
	
	.portal #header {
		height: 30px;
		margin-top: -30px;
		background-color: white;
	}
	
	.portal #header #background {
		top: 0;
		left: 0;
		right: 0;
		height: 30px;
		background-color: white;
		padding: 5px;
		box-shadow: 0px 3px 5px 0px rgba(50, 50, 50, 0.75);
		z-index: 25;
	}
	
	.portal #header #logosection {
		background-color: #d51317;
		width: 50%;
		height: 30px;
		float: left;
	}
	
	.portal #header #navsection {
		color: white;
		background-color: black;
		width: 49.5%;
		height: 30px;
		float: right;
	}
	
	.portal #header #navsection #tabs {
		display: none;
	}
	
	.portal #header #navsection #toggleMenu {
		display: block;
		font-family: FrutigerNextW01-BoldCn,Arial,Sans-Serif;
		font-size: 18px;
		line-height: 30px;
		text-align: center;
		cursor: pointer;
	}
	
	.portal #header #logo {
		width: 95px;
		height: 30px;
		background-size: 95px 30px;
	}
	
	.portal #header #tabs {
		display: none;
	}
	
	.portal #footer {
		display: none;
		width: 0;
		height: 0;
		border-width: 0;
		margin: 0;
	}
	
	.portal #innermapwrapper {
		margin-right: 0px;
	}
	
	.portal #map {
		border-width: 0;
	}
	
	.portal #sidebar {
		display: block;
		position: absolute;
		right: -110%;
		transition: right 0.5s ease-out;
		width: 100%;
		height: 100%;
		z-index: 20;
		background: linear-gradient(to right, rgba(22,22,22,1) 0%,rgba(123,123,123,1) 100%);
	}
	
	.portal #sidebar .sidebarwrapper {
		left: 0;
		right: 20px;
		position: absolute;
		/*border: 1px dashed blue;*/
		overflow: hidden;
	}
	
	.portal #sidebar.visible {
		right: -20px;
	}
	
	.portal #sidebar #tabset_1,
	.portal #sidebar #tabset_2,
	.portal #sidebar #tabset_3 {
		display: block !important;
	}
	
	.portal #map .IWSliderControl {
		display: none;
	}
	
	.portal #map .IWInfoBalloon .close {
		display: none;
	}
	
	.portal #sidebar .section {
		margin: 0;
		color: #fff !important;
		padding: 0;
		background: none;
	}
	
	.portal #sidebar .collapsed {
		max-height: 40px;
	}
	
	.portal #sidebar .section .header {
		border-top: 1px solid #E4E4E4;
		background-color: #636363;
		height: 40px;
		padding: 0;
	}
	
	.portal #sidebar .section .collapsable {
		background-image: none;
	}
	
	.portal #sidebar .section .header .text {
		font-size: 20px;
		line-height: 20px;
		padding-top: 11px;
		padding-bottom: 9px;
		padding-left: 20px;
		text-transform: none;
		float: left;
	}
	
	.portal #sidebar .section .header .arrow {
		background-color: #000000;
		width: 40px;
		height: 40px;
		background-image: url("../img/pfeil_accordion.png");
		background-position: 10px 10px;
		background-repeat: no-repeat;
		cursor: pointer;
		float: right;
	}
	
	.portal #sidebar .collapsed .header .arrow {
		background-position: 10px -120px;
	}
	
	.portal #sidebar .section .content {
		border-top: 1px solid #E4E4E4;
		background: linear-gradient(to right, rgba(71,71,71,1) 0%,rgba(0,0,0,1) 100%);
		margin: 0;
		padding: 10px 20px;
	}
	
	.portal #sidebar .section#lines select,
	.portal #sidebar .section#stations select,
	.portal #sidebar .section#geocoding .search,
	.portal #sidebar .section#geocoding .button,
	.portal #sidebar .section#search .search,
	.portal #sidebar .section#search .button {
		line-height: 20px;
		font-size: 20px;
		height: 36px;
		border-width: 0;
		font-family: FrutigerNextW01-Regular, Arial, sans-serif;
	}
	
	.portal #sidebar .section .button {
		text-transform: capitalize;
	}
	
	.portal #sidebar .section select,
	.portal #sidebar .section .search,
	.portal #sidebar .section .button
	 {
		margin-top: 10px;	
	}
	
	.portal #sidebar .section#geocoding .wrapper,
	.portal #sidebar .section#search .wrapper {
		float: left;
		width: 100%;
	}
	
	.portal #sidebar .section#geocoding .wrapper > div,
	.portal #sidebar .section#search .wrapper > div {
		margin-right: 120px; /* 100px for the search button and 20 for the padding */
	}
	
	.portal #sidebar .section#geocoding .wrapper .search,
	.portal #sidebar .section#search .wrapper .search {
		width: 100%;
	}
	
	.portal #sidebar .section#geocoding .button,
	.portal #sidebar .section#search .button {
		width: 100px;
		margin-left: -100px;
		float: left;
	}
	
	.portal #sidebar .section#geocoding .hitlist,
	.portal #sidebar .section#search .hitlist {
		clear: left;
	}
		
	.portal #sidebar .section#search .content label {
		display: none;
	}
	
	.portal #sidebar .section#geocoding .search,
	.portal #sidebar .section#search .search {
		padding: 0 10px;
		width: auto;
	}
	
	.portal #sidebar .section#geocoding .button,
	.portal #sidebar .section#search .button {
		border-radius: 0;
		width: auto;
	}
	
	.portal #sidebar .section#geocoding input,
	.portal #sidebar .section#search input {
		-webkit-appearance: none;
		-webkit-border-radius: 0; 
		border-radius: 0;
	}
	
	.portal #sidebar .section#lines select,
	.portal #sidebar .section#stations select {
		background-color: white;
		-webkit-border-radius: 0;
	}
	
	.portal #sidebar .section#showLines input[type=checkbox],
	.portal #sidebar .section#pois input[type=checkbox] {
		width: 24px;
		height: 24px;
		display: inline-block;
		background-color: white;
		-webkit-border-radius: 0; 
		border-radius: 0;
		vertical-align: middle;
	}
	
	.portal #sidebar .section#showLines label,
	.portal #sidebar .section#pois label {
		font-size: 20px;
		line-height: 30px;
		vertical-align: middle;
	}
	
	.portal #sidebar .section#lines #lineStationList li {
		padding-left: 10px;
		color: black;
		font-size: 18px;
	}
	
	.portal #sidebar .section#pois div > label {
		display: inline-block;
		width: calc(100% - 85px);
	}
	
	.portal #sidebar .section#pois li > label {
		display: inline-block;
		width: calc(100% - 85px);
	}
	
	.portal #sidebar .section#pois div > label {
		margin-left: 6px; /* poi group labels */
	}
	
	.portal #sidebar .section#pois .content .arrow {
		width: 26px;
		height: 26px;
		margin-top: 1px;
		margin-right: 3px;
		background-image: url("../img/arrow.png");
		background-size: 26px;
		background-position: 0px -78px;
	}
	
	.portal #sidebar .section#pois #poiMenu .inactive .arrow {
		background-position: 0px 0px;
	}
	
	.portal #sidebar .section#pois #poiMenu ul {
		margin-left: 40px;
	}
	
	.portal #sidebar #poiMenu label.category {
		margin-left: 6px; /* distance between checkbox and image */
		padding-left: 36px; /* distance between image and label */
		background-size: 25px; /* image size */
		background-position: 0px 4px; 
	}
	
	.portal #sidebar .hitlist li {
		font-size: 18px;
	}
	
	.portal #sidebar .hitlist li.even {
		background-color: black;
	}
	
	.portal #sidebar .hitlist li.odd {
		background-color: #222222;
	}
}

/************* Station CMS *************/

.portal .cms {
	height: 100%;
	overflow-y: auto;
}

.portal #header #user {
	float: right;
	height: 50px;
	line-height: 25px;
	font-size: 16px;
	margin-right: 10px;
}

.portal #header #user span,
.portal #header #user a {
	color: white;
	
	float: right;
	clear: both;
	
}

.portal .cms section {
	background-color: white;
	padding: 10px;
	margin: 25px 10px;
}

.portal .cms select {
	padding: 6px 10px;
}

.portal .cms ul {
	 list-style-type: none;
	 margin: 0;
	 margin-left: -1em;
}

.portal .cms li {
	 margin: 5px 0px;
}

.portal .cms ul label {
	 margin-left: 8px;
}

.portal .cms .bold {
	font-family: 'FrutigerNextW01-BoldCn', Arial, Sans-Serif;
}

.portal .cms input[type="button"] {
	color: white;
	background-color: black;
	border-width: 0;
	padding-left: 15px;
	padding-right: 15px;
	padding-top: 10px;
	padding-bottom: 8px;
	font-family: 'FrutigerNextW01-BoldCn', Arial, Sans-Serif;
	font-size: 16px;
	line-height: 16px;
	text-transform: uppercase;
	transition: background-color 0.2s ease-out;
}

.portal .cms input[type="button"]:hover {
	background-color: #d51317;
}

.portal .cms input[type="button"].inactive,
.portal .cms input[type="button"].inactive:hover {
	background-color: #dadada;
}

.portal .cms ul#infrastructure {
	float: left;
}

.portal .cms #preview {
	float: right;
	width: 250px;
}

/************* Login screen *************/

.portal .login {
	display: flex;
	justify-content: center;
	align-items: center;
}

.portal .login section {
	background-color: white;
	padding-left: 30px;
	padding-right: 30px;
}

.portal .login .message {
	color: red;
	font-weight: bold;
}

.portal .login label, 
.portal .login a {
	float: left;
	clear: both;
	width: 10em;
	margin-bottom: 20px;
}

.portal .login input[type="button"] {
	float: right;
	clear: both;
	margin-bottom: 20px;
}

.portal .login input {
	float: left;
}

/* cookie consent dialog */
.cc-revoke, .cc-window {
    font-family: FrutigerNextW01-Regular, Arial, sans-serif;
    font-size: 14px;
    line-height: 1.5em;
}
.cc-color-override--1939425341 .cc-link, .cc-color-override--1939425341 .cc-link:active, .cc-color-override--1939425341 .cc-link:visited {
    color: #b80012 !important;
}
.cc-btn {
    font-size: 1em;   
}
/* cookie consent dialog */