html {
	/* height: 100%; */
}

body {
	height: 100%;
	font-size: 1em;
}

/*
------------------------------------------------------------------------------
FONTS
------------------------------------------------------------------------------
*/

@font-face {
    font-display: swap;
    font-family: 'Instrument Serif';
    font-weight: 400;
    src: url('/fonts/instrument-serif-v5-latin-regular.woff2') format('woff2')
}

@font-face {
    font-display: swap;
    font-family: 'Cabin';
    font-weight: 400;
    src: url('/fonts/cabin-v35-latin-regular.woff2') format('woff2')
}

@font-face {
    font-display: swap;
    font-family: 'Cabin';
    font-weight: 500;
    src: url('/fonts/cabin-v35-latin-500.woff2') format('woff2')
}

@font-face {
    font-display: swap;
    font-family: 'Cabin';
    font-weight: 600;
    src: url('/fonts/cabin-v35-latin-600.woff2') format('woff2')
}

@font-face {
    font-display: swap;
    font-family: 'Cabin';
    font-weight: 700;
    src: url('/fonts/cabin-v35-latin-700.woff2') format('woff2')
}

:root {
    --puelm-font-instrument: Instrument Serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Noto Sans, Ubuntu, Cantarell, Helvetica Neue, Helvetica, Arial, sans-serif;
    --puelm-font-cabin: Cabin, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Noto Sans, Ubuntu, Cantarell, Helvetica Neue, Helvetica, Arial, sans-serif;
}

/* Schriften */
.schriftart-standard,
.ui-datepicker,
.buchung-tabelle-rahmen td,
.buchung-sublabel,
.buchung-select,
.buchung-information-modal,
.ui-dialog-titlebar a,
.buchung-unterbringung-zeile,
.buchung-teilnehmer-abschnitt,
.buchung-zahlung-container {
	font-family: var(--puelm-font-cabin);
	line-height: 1.3em;
	font-size: 1em;
}

.schriftart-header,
.ui-dialog-titlebar,
.buchung-tabelle-rahmen th,
.buchung-label,
.konto_vorgang_tabelle th {
	font-family: var(--puelm-font-cabin);
	font-weight: bold;
	line-height: 1.4em;
	font-size: 1em;
}

.schriftart-header {
	font-family: var(--puelm-font-instrument);
	font-size: 1.5em;
	font-weight: 400;
	color: var(--color-plm-grey);
}

/* Steuerelemente ----------------------------------------------------------------------------------------------------------------------- */

.ui-helper-hidden {
	display: none;
}

.ui-helper-hidden-accessible {
	position: absolute !important;
	clip: rect(1px 1px 1px 1px);
	clip: rect(1px, 1px, 1px, 1px);
}

.ui-icon {
	background-image: url(grfx/ui-icons_ffffff_256x240.png);
	width: 16px;
	height: 16px;
}

.ui-icon-circle-triangle-e {
	background-position: -48px -192px;
}

.ui-icon-circle-triangle-w {
	background-position: -80px -192px;
}

.ui-icon-triangle-1-e {
	background-position: -32px -16px;
}

.ui-icon-triangle-1-s {
	background-position: -64px -16px;
}

/* Datumseingabe */
#ui-datepicker-div {
	display: none;
}

.ui-datepicker-header {
	text-align: center;
	padding: 5px 0px;
}

.ui-datepicker-prev {
	float: left;
}

.ui-datepicker .ui-icon {
	display: block;
}

.ui-datepicker-next {
	float: right;
}

.ui-datepicker td {
	text-align: right;
	padding: 2px;
}

.ui-datepicker td a {
	display: block;
	width: 1.5em;
	padding: 2px;
}

.ui-datepicker a {
	text-decoration: none;
}

/* Accordion */
.ui-accordion {
	width: 100%;
}

.ui-accordion .ui-accordion-header {
	cursor: pointer;
	position: relative;
}

.ui-accordion .ui-accordion-header a {
	display: block;
	padding-left: 2em;
	text-decoration: none;
}

.ui-accordion .ui-accordion-header .ui-icon {
	position: absolute;
	left: .5em;
	top: 50%;
	margin-top: -8px;
}

/*	Dialog */
.ui-resizable {
	position: relative;
}

.ui-resizable-handle {
	position: absolute;
	font-size: 0.1px;
	z-index: 99999;
	display: block;
}

.ui-resizable-disabled .ui-resizable-handle,
.ui-resizable-autohide .ui-resizable-handle {
	display: none;
}

.ui-resizable-n {
	cursor: n-resize;
	height: 7px;
	width: 100%;
	top: -5px;
	left: 0;
}

.ui-resizable-s {
	cursor: s-resize;
	height: 7px;
	width: 100%;
	bottom: -5px;
	left: 0;
}

.ui-resizable-e {
	cursor: e-resize;
	width: 7px;
	right: -5px;
	top: 0;
	height: 100%;
}

.ui-resizable-w {
	cursor: w-resize;
	width: 7px;
	left: -5px;
	top: 0;
	height: 100%;
}

.ui-resizable-se {
	cursor: se-resize;
	width: 12px;
	height: 12px;
	right: 1px;
	bottom: 1px;
}

.ui-resizable-sw {
	cursor: sw-resize;
	width: 9px;
	height: 9px;
	left: -5px;
	bottom: -5px;
}

.ui-resizable-nw {
	cursor: nw-resize;
	width: 9px;
	height: 9px;
	left: -5px;
	top: -5px;
}

.ui-resizable-ne {
	cursor: ne-resize;
	width: 9px;
	height: 9px;
	right: -5px;
	top: -5px;
}

.ui-dialog-titlebar a {
	display: block;
	float: right;
	background: url(grfx/x.png) no-repeat;
	width: 20px;
	height: 20px;
}

/*.ui-dialog { position: absolute; padding: .2em; width: 300px; overflow: hidden; }
.ui-dialog .ui-dialog-titlebar { padding: .4em 1em; position: relative;  }
.ui-dialog .ui-dialog-title { float: left; margin: .1em 16px .1em 0; } 
.ui-dialog .ui-dialog-titlebar-close { position: absolute; right: .3em; top: 50%; width: 19px; margin: -10px 0 0 0; padding: 1px; height: 18px; }
.ui-dialog .ui-dialog-titlebar-close span { display: block; margin: 1px; }
.ui-dialog .ui-dialog-titlebar-close:hover, .ui-dialog .ui-dialog-titlebar-close:focus { padding: 0; }*/
.ui-dialog .ui-dialog-content {
	position: relative;
	border: 0;
	padding: .5em 1em;
	background: none;
	overflow: auto;
	zoom: 1;
}

/*.ui-dialog .ui-dialog-buttonpane { text-align: left; border-width: 1px 0 0 0; background-image: none; margin: .5em 0 0 0; padding: .3em 1em .5em .4em; }
.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset { float: right; }
.ui-dialog .ui-dialog-buttonpane button { margin: .5em .4em .5em 0; cursor: pointer; }
.ui-dialog .ui-resizable-se { width: 14px; height: 14px; right: 3px; bottom: 3px; }
.ui-draggable .ui-dialog-titlebar { cursor: move; }*/

/*       Button */
.ui-button {
	display: inline-block;
	position: relative;
	padding: 0 !important;
	text-decoration: none !important;
	cursor: pointer;
	text-align: center;
	zoom: 1;
	overflow: visible;
}

.ui-button .ui-button-text {
	display: block;
	line-height: 1.4;
}

.ui-button-text-only .ui-button-text {
	padding: .4em 1em;
}

input.ui-button {
	padding: .4em 1em;
}

.ui-buttonset {
	margin-bottom: 10px;
	text-align: center;
}

.ui-buttonset .ui-button {
	margin-left: 0;
	margin-right: -.3em;
}

button.ui-button::-moz-focus-inner {
	border: 0;
	padding: 0;
}

.ui-buttonset .ui-state-default {
	-webkit-border-radius: 0px;
	-moz-border-radius: 0px;
	border-radius: 0px;
}

.ui-buttonset .ui-corner-left {
	-webkit-border-top-left-radius: 4px;
	-webkit-border-bottom-left-radius: 4px;
	-moz-border-radius-topleft: 4px;
	-moz-border-radius-bottomleft: 4px;
}

.ui-buttonset .ui-corner-right {
	border-radius: 0px;
	-webkit-border-top-right-radius: 4px;
	-webkit-border-bottom-right-radius: 4px;
	-moz-border-radius-topright: 4px;
	-moz-border-radius-bottomright: 4px;
}

.ui-widget-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: url(grfx/overlay.png) repeat;
}

/* .ui-widget-shadow { margin: -7px 0 0 -7px; padding: 7px; background: #cccccc url(images/ui-bg_flat_30_cccccc_40x100.png) 50% 50% repeat-x; opacity: .60;filter:Alpha(Opacity=60); -moz-border-radius: 8px; -khtml-border-radius: 8px; -webkit-border-radius: 8px; border-radius: 8px; } */


.zahl-eingabe {
	text-align: right;
}

/* Reisesuche --------------------------------------------------------------------------------------------------------------------------- */
/* #Suchergebnis */

.RSUeberschrift {
	margin: 5px 0px;
	font-size: 1.1em;
}

.RSEinleitung {
	margin: 5px 0px;
}

.RSPreis {
	clear: both;
	font-size: 1.2em;
	font-weight: bold;
	float: left;
	width: 150px;
}

.RSPreisHinweis {
	font-size: .6em;
	font-weight: normal;
	line-height: 1.1em;
}

.RSBeschreibung {
	float: right;
}


/* #Suche */

.RSSucheUeberschrift {
	font-size: 1.1em;
}

.RSTipp {
	width: 40px;
	height: 200px;
	overflow: hidden;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1000;
}


#KSDetails {
	display: none;
}

#KSFooter {
	margin: 10px auto;
	clear: both;
	text-align: center;
}

#KSFooterLink {
	text-decoration: none;
	font-size: .9em;
}

#KSFooterLink:hover {
	text-decoration: underline;
}

.RBDarstellung ul {
	list-style: disc;
}

.RBDarstellung li {
	margin-left: 3em;
}

#TermineTab {
	width: 100%;
}

#TermineTab th {
	text-align: left;
	padding-left: 3px;
	line-height: 1.8em;
	vertical-align: middle;
}

#TermineTab td {
	vertical-align: middle;
	padding: 5px 3px;
}

#KSWarten {
	width: 250px;
	height: 150px;
	box-sizing: border-box;
	padding: 8px;
	text-align: center;
	background-image: url(grfx/ks_warten.gif);
	background-repeat: no-repeat;
	background-position: center bottom 85%;
	position: fixed;
	top: 200px;
	border-radius: 12px;
	display: none;
	background-color: var(--color-plm-gold-5);
	font-family: var(--puelm-font-cabin);
	font-size: 1em;
	line-height: 1em;
	box-shadow: 1px 1px 5px #303D4855;
}

#suchspalte #KSWarten {
	width: 100px;
	height: 100px;
}

.reisekalender-header {
	margin: 10px;
	font-size: 2em;
}

.reisekalender-spalte {
	width: 380px;
	float: left;
	margin-left: 10px;
}

.reisekalender-spalte table td {
	padding: 3px;
}

.reisekalender-td-status,
.reisekalender-td-datum,
.reisekalender-td-bezeichnung,
.reisekalender-td-preis,
.reisekalender-td-auswahl {
	vertical-align: middle;
}

.reisekalender-td-preis {
	text-align: right;
}