/* EVAG Anpassungen */
/* Headlines */
h1,
h2 {
	font-size: 26px;
	line-height: 30px;
	font-weight: bold;
	margin-bottom: 10px;
}

@media (min-width: 600px) {

	h1,
	h2 {
		font-size: 36px;
		line-height: 38px;
		margin-bottom: 20px;
	}
}

@media (min-width: 750px) {

	h1,
	h2 {
		font-size: 45px;
		line-height: 47px;
		margin-bottom: 30px;
	}
}


.main__left {
	margin-bottom: 0px;
}

@media (max-width: 400px) {
	.main__right {
		margin-top: 15px;
		padding-right: 0px;
	}

	.main__left {
		padding-right: 0px;
	}
}


@media (max-width: 299px) {
	.fahne {
		right: 10px;
	}
}


#evag_news_news a {
	color: #ffffff;
}

#dse_right {
	margin-left: 25px;
}

#sitemap_container {
	overflow: hidden;
	margin-left: 50px;
	margin-top: 50px;
}

#sitemap_container div {
	float: left;
	margin: 20px;
}

#HFS label.front,
#HFS ul#intermodalChoice .featureBox label {
	vertical-align: top !important;
}

#HFS ul#intermodalChoice li>label {
	margin-top: -15px;
}

#HFS .itemProduct {
	text-align: left;
	padding-top: 0px;
}

#HFS .itemProduct .textCenter label {
	padding: 3px 0px 0px 3px;
}

#HFS .locationButtonHolder .geoLocateButtonHolder .mapButton {
	margin-top: -15px;
}

#HFS.evag {
	font-family: BrauerNeue, Arial, sans-serif !important;
}

#HFS.evag h2 {
	font-family: BrauerNeue, Arial, sans-serif !important;
	font-weight: 700 !important;
}

#HFS.evag input,
#HFS.evag select,
#HFS.evag textarea,
#HFS.evag .itemProduct .textCenter label {
	font-family: BrauerNeue, Arial, sans-serif !important;
	font-size: 16px !important;
	line-height: 24px !important;
	width: unset;
}

#HFSContent {
	font-size: 16px !important;
}

/*.footer h5 {*/
/*	font-family: 'BrauerNeue' !important;*/
/*}*/

.footer__headline {
	font-size: 19px;
	line-height: 24px;
	font-weight: bold;
	margin-bottom: 15px;
}


.footer__list img.app--img {
	margin-top: 0px;
	margin-bottom: 0px;
}

.footer__list__item:last-child>.footer__list {
	margin-bottom: 15px;
}

.footer_bottomline .footer__list li {
	display: inline;
}

.news--entry h5,
.news--entry h5+span {
	color: #183d4e;
}

#evag_news_news a:hover {
	color: #183d4e;
}


#fahrplanrechner .radiowrap.evag_fahrplanauskunft_anab {
	top: -60px;
	position: relative;
}

@media (max-width: 699px) {
	#fahrplanrechner .radiowrap.evag_fahrplanauskunft_anab {
		position: static;
		margin-left: 90px;
	}
}

#fahrplanrechner .formline:last-child button.button {
	width: -webkit-calc(100% - 40px);
	width: -moz-calc(100% - 40px);
	width: calc(100% - 40px);
}

#evag_newsletter input[type="checkbox"],
#evag_contactForm input[type="checkbox"],
#evag_subscription input[type="checkbox"] {
	display: inline-block;
	width: 18px;
	height: 18px;
	float: left;
	border: 1px solid #a0a0a0;
	margin-top: 5px;
}

#evag_newsletter label::before,
#evag_contactForm label::before,
#evag_subscription label::before {
	display: none;
}

.footer__list li {
	letter-spacing: -0.3px;
}

.footer_bottomline li::after {
	content: " | "
}

.footer_bottomline li:last-child::after {
	content: ""
}

.evag_home_right_button {
	bottom: 32px !important;
}

.evag_newsletter_abmeldebutton {
	float: left;
}

.news-carousel__item .news--image {
	padding: 0 20px;
}

@media screen and (max-width: 350px) {
	.accordeon article h4 {
		font-size: 20px;
	}
}

/* Fahrplan�nderungen */
#swe_fp {
	border-bottom: 5px solid #df003a;
	display: flex;
}

#swe_fp_tram,
#swe_fp_bus {
	padding-left: 20px;
	width: -webkit-fill-available;
}

.horizontal-tabs__navigation2 {
	border-bottom: none;
}

.horizontal-tabs__navigation2>li>img {
	padding-right: 0.3em;
}

.horizontal-tabs__navigation2>li.spacer {
	padding-left: 0px;
	margin-right: 0.2em;
}

.tab_content_remove {
	position: relative;
	top: auto;
	right: auto;
}

.tab_content_remove button {
	background-color: transparent;
}

.horizontal-tabs__content2 {
	margin-top: -5px;
}

@media (max-width: 699px) {
	#swe_fp {
		display: block;
	}

	#swe_fp_tram,
	#swe_fp_bus {
		padding-left: 0px;
	}

	.horizontal-tabs__navigation2 {
		padding-bottom: 0px
	}

	.tab_content_remove {
		position: absolute;
		top: 25px;
		right: 30px;
	}
}

/* Slider 
@media (min-width: 750px) {
  .slides__pagination {
    bottom: 10px !important;
  }
}
  .banner--subbanner .slides__pagination {
    bottom: 10px !important;
  } */

/* Kopfbild mit Text */
.banner--header {
	min-height: 300px;
}

/* Image */
.basecontent-image {
	width: 100%;
	margin-bottom: 20px;
}

/* iFrames */
#fb-player,
.embed-iframe,
#player {
	margin-bottom: 20px;
}

/* tab table */
.horizontal-tabs__content,
.inner table {
	margin-bottom: 20px;
}

/* Ticket Box */
.text__badge__content {
	padding: 10px;
}

.text__badge__content .icon__open {
	bottom: 5px;
	right: 10px;
}

.text__badge__content p.ticketpreis {
	margin-top: auto;
}

/*.text__badge__item:hover .infobox--slideout {*/
/*    max-height: 750px;*/
/*}*/

/* Ende Ticket Box */


#evag_popup {
	background: #ffffff;
	display: none;
	border: 1px solid #b0b0b0;
	box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.5);
	border-radius: 4px;
	z-index: 99999 !important;
	position: relative !important;
	padding: 20px;
}

#evag_popup h1 div,
#evag_popup h2 div,
#evag_popup h3 div,
#evag_popup h4 div,
#evag_popup h5 div {
	text-align: left;
}

#evag_popup .button__icon__close {
	float: right;
	margin: -15px;
	cursor: pointer;
	border-radius: 4px;
}

#evag_popup .button__icon__close:hover {
	background-color: #e6e6e6;
	color: #595e89;
}

#evag_popup .button__icon__close:focus,
#evag_popup .button__icon__close:active {
	background-color: #e6e6e6;
}

@media only screen and (max-width: 700px) {
	.hideMobile {
		display: none;
		visibility: hidden;
	}
}

@media only screen and (min-width: 700px) {
	.hideDektop {
		display: none;
		visibility: hidden;
	}
}

.klein {
	font-size: 13px;
	float: left;
	margin: 10px 0px 20px -25px;
}


.footer__bottom img {
	height: 70px !important;
}

#evag_newsletter .checkbox_line a,
#evag_newsletter .checkbox_line a:visited {
	color: #fff;
}

.submenu__list .submenu__header>a {
	border-bottom: 0px;
}

.sidebar__item--bright>.ad__header {
	color: #df003a;
}

.sidebar__ad>p.bright {
	color: #183d4e;
}

#evag_newsletter .right-box a,
#evag_newsletter .right-box a:visited {
	color: #183d4e;
}

.evag_newsletter_checkbox {
	float: right;
}

.evag_newsletter_checkbox label {
	text-align: left;
	float: left;
}

.thumbnail__list__image {
	border-radius: 0;
}

.image__badge__slideout__wrapper.is--animated .image__badge__slideout {
	margin-bottom: 30px;
}

@media (min-width: 750px) {
	.image__badge__slideout__wrapper.is--animated .image__badge__slideout {
		margin-bottom: 30px;
	}
}


h4+h5 {
	margin-top: 0px;
}

@media (min-width: 700px) {
	h4+h5 {
		margin-top: 0px;
		font-weight: bold;
	}
}

@media (min-width: 750px) {
	.section--much-spaced {
		padding: 30px 0;
	}
}

.swe_table {
	padding: 0px 3px 0px 3px;
}

.evag_hplan2_hs {
	display: none;
}

.evag_hplan2_lv,
.evag_hplan2_lf {
	width: 50%;
}

.evag_hplan2_lf h5 {
	text-align: left !important;
}

/* Subscription Form */
.check-data-grid {
	background-color: #fff;
	color: #183d4e;
	padding-bottom: 25px;
	margin-bottom: 25px;
	box-shadow: 0px 0px 15px 0px rgb(0 0 0 / 15%);
	margin-left: 0px;
}

.check-data-grid p {
	margin: 0;
	}

.check-data-grid h2,
.check-data-grid h3,
.check-data-grid h4,
.check-data-grid h5,
.check-data-grid h6 {
	color: #183d4e;
}

.check-data-button {
	margin-right: 25px;
}

#check-price {
	font-size: larger;
}

input[type=file]::file-selector-button,
input[type=file]::-webkit-file-upload-button {
	font-family: 'BrauerNeue';
	padding: .2em .4em;
	transition: 1s;
}

.icon {
	fill: #000;
	height: 2em;
	width: 2em;
	overflow: hidden;
	margin-right: 2px;
}

.overlay {
	display: none; /* Overlay ist standardm��ig versteckt */
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.7);
	z-index: 999;
}


.modal {
	display:none;
	position: fixed;
	top: 50%;
	left: 50%;
	background-color: white;
	transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	/*    width: 33.3333333333%;*/
	max-width: 500px;
	max-height: 90vh;
	padding: 35px 20px 20px 20px;
	text-align: center;
	overflow: auto;
	z-index: 1000;
}

.modal-open .modal,
.modal-open .overlay {
	display: block;
}

.modal h3 {
	margin-bottom: 20px;
}

.modal img {
	margin-bottom: 20px;
}

.modal p {
	margin-bottom: 20px;
}

.modal ul {
	text-align: left;
}


/*
.modal .button {
	margin-left: 20px;
}

.modal .button.button--large.button--bright, .button.button--large.button--bright:hover {
    border: 1px solid #df003a;
} */

.modal .icon--cancel:before {
	font-size: 150%;
	color: #797272;
}

.modal .icon--cancel:hover::before {
	color: #df003a;
}

.modal button:focus {
	outline: none;
}

.modal button:focus-visible .icon--cancel::before,
.modal .icon--cancel:focus-visible::before,
.modal .icon--cancel:active::before {
	color: #df003a;
}

.modal button {
	float: right;
	margin: -25px -15px 0px;
	cursor: pointer;
	border-radius: 4px;
	background-color: #fff;
}

/*
.modal [class^="icon--"]:before, [class*=" icon--"]:before {
	font-size: 120%;
} */

@media (max-width: 1023px) {
	.modal h3 {
		margin-bottom: 10px;
	}

	.modal img {
		margin-bottom: 10px;
	}

	.modal p {
		margin-bottom: 10px;
	}

	.modal {
		top: 20px;
		transform: translate(-50%, 0%);
		-ms-transform: translate(-50%, 0%);
		width: 90%;
	}
}

@media (max-width: 413px) {
	.modal {
		padding: 10px;
	}

	.modal button {
		margin: 0px;
	}

	.modal .button__icon__close {
		margin: 0px;
	}
}

.video__wrapper iframe {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	padding: 10px;
	background: #fff;
	box-shadow: 2px 2px 3px -2px rgba(0, 0, 0, 0.4);
	border-top-left-radius: 2px;
	border-top-right-radius: 2px;
	border-bottom-left-radius: 2px;
	border-bottom-right-radius: 2px;
}

.uc-embedding-wrapper {
	width: 500px;
	max-width: calc(100% - 70px);
	max-height: calc(100% - 35px);
	background: #FFF;
	border-radius: 0px;
	box-shadow: 0 3px 6px rgb(0 0 0 / 50%);
	position: absolute;
	padding: 24px;
	top: 50%;
	left: 50%;
	text-align: center;
	font-size: inherit;
	line-height: inherit;
	transform: translateX(-50%) translateY(-50%);
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	flex-direction: column;
	overflow: auto;
	font-family: inherit;
}

.uc-embedding-buttons button {
	margin: 0px 20px;
}

.uc-embedding-buttons .button.button--large.button--bright {
	border: 1px solid #df003a;
}

.video__wrapper {
	margin-bottom: 20px;
}

#HFS.evag h1,
#HFS.evag h3,
#HFS.evag h4,
#HFS.evag h5,
#HFS.evag h6,
#HFS.evag .Hbutton,
#HFS.evag .btn-link,
#HFS.evag h3.sepHeader,
#HFS.evag .headerHint,
#layerMapWrap.layerMap .menuHeadline,
#HFS.evag #HFSResult .resultTable .connectionStation,
#HFS.evag #HFSResult .resultTable td.platform .platformLabel,
#HFS.evag #HFSResult .resultTable td.timetable a.linkToStation,
#HFS.evag #HFSResult .resultTable td.timetable .stopArrival,
#HFS.evag #HFSResult .resultTable td.timetable .stopArrival a.linkToStation,
#HFS.evag #HFSResult .resultTable tr.tpOverview td.station,
#HFS.evag #HFSResult .tableResultTrainRoute .pearl .hideInterDot,
#HFS.evag #HFSResult .tableResultTrainRoute .pearl .showInterDot,
#HFS.evag #HFSResult .detailsTable .pearl .hideInterDot,
#HFS.evag #HFSResult .detailsTable .pearl .showInterDot,
#HFS.evag #HFSResult #tq_trainroute_content_table_alteAnsicht .prognosis,
#HFS.evag #HFSResult .mapDetails .ajaxMapConnection .prognosis,
#HFS.evag #HFSResult .detailsTable .realTime .prognosis,
#HFS.evag #HFSResult .detailsContent .textualDescription p .resultTextual,
#HFS.evag #HFSResult .detailsContent table.ajaxMapConnection tr.durRow td,
#HFS.evag .wrapTASuggestions .ta_slider li .taSimpleActive,
#HFS.evag .wrapTASuggestions div.taSuggestion table thead th,
#HFS.evag .wrapTASuggestions div.taSuggestion table thead th,
#HFS.evag .wrapTASuggestions div.taSuggestion table tbody td.cardPrice,
#HFS.evag .wrapTASuggestions div.taSuggestion table tbody td.taStrong,
#HFS.evag .wrapWizardSteps,
#HFS.evag .errormessage,
#HFS.evag .labelContainer {
	font-family: BrauerNeue, Open Sans, Arial, sans-serif !important;
}

.banner--quote {
	padding: 30px 0px 0px;
}

.banner--quote .slide__content {
	width: 1000px;
	padding: 50px;
	text-shadow: none;
}

.quote__image img {
	left: 20px !important;
	top: -20px !important;
	height: auto !important;
	width: 200px !important;
}

.quote__content {
	margin-left: 150px;
}

.quote__text {
	padding: 20px;
}

.quote__quote {
	font-style: italic;
	text-align: left;
}

.quote__quote::before {
	background-image: url(../img/quote.svg);
	content: '';
	width: 2em;
	height: 2em;
	display: inline-block;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center center;
	margin-right: -20px;
}

.quote__source {
	text-align: right;
	text-transform: uppercase;
	font-weight: 600;
	color: #797272;
	font-size: smaller;
}

@media (max-width: 550px) {
	.quote__content {
		margin-left: 0px;
	}

	.quote__image img {
		display: none !important;
	}

	.banner--quote {
		padding: 0px;
	}

	.banner--quote .slide__content {
		padding: 0px;
	}
}

@media (max-width: 380px) {
	.banner--quote .slides__wrapper__inner {
		min-height: 400px;
	}
}

.hafas_webapp_iframe {
	min-width: 100% !important;
}

#hfs-widget .lyr_floatingLabel label {
	left: 10px;

}

#hfs-widget .lyr_floatingLabel input {
	padding-left: 10px;
}

.slick-slider.slick-dotted {
	margin-bottom: unset;
}

.slide-container {
	position: relative;
	display: inline-block;
	height: 330px;
	overflow: hidden;
}

@media (max-width: 749px) {
	.slide-container {
		height: 240px;
	}
}

.slide-container img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;

}

.slide-text-container {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.5);
	display: flex;
	justify-content: center;
	align-items: end;
	padding-bottom: 20px;
}

.slide-text-content {
	color: white;
	padding: 10px;
	text-align: center;
	position: absolute;
}

/** Autoplay toggle button in the top left corner */
.slick-autoplay-toggle-button {
	left: 10px;
	bottom: auto;
}

/** Custom previous and next arrows in the top right corner */
.custom-next-button {
	right: 10px;
	float: left;
}

.custom-prev-button {
	right: 50px;
	float: left;
}

.custom-prev-button:hover,
.custom-next-button:hover {
	opacity: 1;
}

.slick-autoplay-toggle-button,
.custom-prev-button,
.custom-next-button {
	position: absolute;
	top: 10px;
	z-index: 10;
	display: block;
	opacity: 0.75;
	background: #fff;
	color: #df003a;
	border: 0;
	padding: 0;
	margin: 0;
	font-size: 32px;
	cursor: pointer;

	&:hover {
		background-color: rgba(223, 0, 58, 0.05);
		opacity: 1;
	}

	&:focus {
		background-color: rgba(223, 0, 58, 0.7);
		color: white;
		opacity: 1;
	}
}

/** Default slide navigation dots */
.slick-dots {
	bottom: 20px;
}

@font-face {
	font-family: 'Line Awesome Free';
	font-style: normal;
	font-weight: 900;
	font-display: auto;
	src: url(../fonts/la-solid-900.eot);
	src: url(../fonts/la-solid-900.eot?#iefix) format("embedded-opentype"), url(../fonts/la-solid-900.woff2) format("woff2"), url(../fonts/la-solid-900.woff) format("woff"), url(../fonts/la-solid-900.ttf) format("truetype"), url(../fonts/la-solid-900.svg#lineawesome) format("svg")
}

.la,
.lab,
.lad,
.lal,
.lar,
.las {
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	display: inline-block;
	font-style: normal;
	font-variant: normal;
	text-rendering: auto;
	line-height: 1;
}

.la,
.las {
	font-family: 'Line Awesome Free';
	font-weight: 900;
}

.la-angle-right:before {
	content: "\f105";
}

.la-angle-left:before {
	content: "\f104";
}

.la-pause:before {
	content: "\f04c";
}

.la-play:before {
	content: "\f04b";
}

.focus {
	border: 3px solid #df003a;
}

.slick-sr-only {
	border: 0 !important;
	clip: rect(1px, 1px, 1px, 1px) !important;
	-webkit-clip-path: inset(50%) !important;
	clip-path: inset(50%) !important;
	height: 1px !important;
	margin: -1px !important;
	overflow: hidden !important;
	padding: 0 !important;
	position: absolute !important;
	width: 1px !important;
	white-space: nowrap !important
}

/* Allgemeines Styling f�r die Skip Links */
.skip-element, .skip-nav {
    position: fixed;
    top: -130px; /* Versteckt den Link oberhalb des sichtbaren Bereichs */
    left: 0;
    background: #df003a;
    color: #fff;
    text-align: center;
    padding: 8px;
    text-decoration: none;
    z-index: 100;
    transition: top 0.3s;
}

/* Sichtbarkeit, wenn der Skip Link den Fokus hat */
.skip-element:focus {
    top: 0px;
    position: relative;
    display: block;
}

.skip-nav {
	
}

.skip-nav:focus {
height: 40px;
    z-index: 1000;
    top: 0;
    left: 0;
    right: 0;
    text-align: center;	
}

.skip-nav:focus + .nav {
	top: 40px;
	
}

.row-container {
	margin-bottom: 12px;
	display: grid;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	gap: 0;
	align-items: start;
}

row-container img {
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	/* Bild bekommt 1/3 Breite */
	grid-column: span 1;
}

row-container p {
  /* Text bekommt 2/3 */
  grid-column: span 2;
}

@media (min-width: 750px) {
    row-container {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 20px;
        margin-bottom: 22px;
    }
}
@media (min-width: 700px) {
    row-container {
        margin-bottom: 15px;
    }
}
		
:is( a, button, input, textarea, select, summary ):focus-visible {
    outline: 2px solid #df003a;
    outline-offset: 2px;
}

:is(menu a, menu button):focus-visible {
  outline: 2px solid #ffffff;
  outline-offset: 0;
}