@charset "UTF-8";
.concertLogo {
  height: 56px;
  cursor: pointer;
}

#backToAllDatesIcon {
  font-size: 40px;
  width: 45px;
  height: 45px;
}

@media (max-width: 480px) {
  .card .body .grid-row {
    padding-right: 10px;
    padding-left: 10px;
  }
  #backToAllDatesIcon {
    font-size: 30px;
    width: 35px;
    height: 35px;
  }
  #your-message {
    margin-bottom: 7em;
  }
  .concertLogo {
    height: 42px;
  }
  /* Bei der Seatselection wird der Ticket- und Preisinfo Button angezeigt und dann ist kein Platz für den Timer */
  .applicationControllerseatselection .bookingtimerContainer {
    display: none;
  }
}
@media (max-width: 992px) {
  .bottomBarButton .flex-layout .flex-item {
    text-align: center;
  }
  .rebate-details-container {
    font-size: 11px;
  }
  .basket .filled-basket-container .apply-rebate {
    font-size: 11px;
  }
  /* Smaller elements on mobile */
  .card .body .grid-col {
    margin-bottom: 0px;
  }
  .field-group {
    margin-left: 5px;
    margin-right: 5px;
    margin-bottom: 5px;
  }
  .modal .modal-header {
    padding: 6px 25px 6px 25px;
  }
  div.modal-body h4 {
    border-bottom: none;
    border: 1px solid #ddd;
    background-color: #ddd;
    color: #000;
    margin-bottom: 0px;
  }
}
@media (max-width: 850px) {
  .fix-tickets-height {
    height: calc(100dvh - 140px);
  }
}
@media (min-width: 1024px) {
  .rebate-details-container {
    font-size: 11px;
  }
  .basket .filled-basket-container .apply-rebate {
    font-size: 11px;
  }
}
/* https://codepen.io/James-Bovis/pen/pozKNEB */
.bottom-menu {
  display: flex;
  justify-content: space-evenly;
  align-items: center;
  position: fixed;
  bottom: 0;
  width: 100%;
  margin: 0;
  height: 75px;
  margin-bottom: calc(0rem + env(safe-area-inset-bottom));
}
.bottom-menu .btn-group {
  display: flex;
  margin: 0;
  justify-content: space-around;
  width: 100%;
  height: 100%;
}
.bottom-menu .btn-group .btn-block .flex-layout.flex-just-center {
  flex-direction: column;
}
.bottom-menu .btn-group .btn {
  margin: 0;
  white-space: break-spaces;
  align-items: center;
}
@media (max-width: 480px) {
  .bottom-menu .btn-group .btn {
    font-size: 14px;
    padding: 5px;
  }
}
.bottom-menu .btn-group .btn .btn-icon {
  display: block;
}

.viewRoot {
  height: 100%;
}

.no-padding {
  padding: 0 !important;
}
.no-padding .viewRootCardBody .grid-col {
  margin-bottom: 0;
}

@media (max-width: 850px) {
  .viewRootCard .header {
    padding: 5px 1px;
  }
}
.viewRootCard > .header {
  height: 48px;
  border-bottom: unset;
}
@media (min-width: 480px) {
  .viewRootCard > .header {
    height: 80px;
  }
  .viewRootCard > .header h2 {
    text-align: center;
    font-size: 2em;
  }
  .viewRootCard > .header h2 small {
    font-size: 0.7em;
  }
}
.viewRootCard .body {
  padding-bottom: 48px;
}
@media (max-width: 850px) {
  .viewRootCard .body {
    padding-top: 5px;
    padding-left: 1px;
    padding-right: 1px;
    padding-bottom: 68px;
  }
}

#rootCard {
  height: 100%;
}
#rootCard #seatselection-view {
  height: 100%;
}
#rootCard #seatselection-view .body {
  padding: 4px;
  height: calc(100% - 48px + 0px);
  scroll-behavior: smooth;
}
@media (max-width: 1200px) {
  #rootCard #seatselection-view .body {
    overflow: auto;
  }
}

@media (max-width: 480px) {
  .modal {
    margin-left: 5px;
    margin-right: 5px;
    margin-top: 0px;
    width: calc(100% - 10px);
  }
  .modal:not([class*=-sheet]) {
    top: 5px;
  }
}
@media (min-width: 480px) {
  .modal:not([class*=-sheet]) {
    max-width: 500px;
  }
  .modal:not([class*=-sheet]) .modal-dialog {
    margin-left: auto;
    margin-right: auto;
  }
}
.concertinfo {
  color: #000;
}

#seatPlanContainer {
  position: relative;
  height: 60vh;
}
@media (min-width: 1024px) {
  #seatPlanContainer {
    width: calc(100% - 400px);
    float: left;
    height: 99%;
  }
}
#seatPlanContainer #floorplan {
  margin: 10px 25px 5px 25px;
  border: 1px solid black;
  width: calc(100vw - 50px);
  position: absolute;
  overscroll-behavior: none;
  height: 58vh;
}
@media (min-width: 1024px) {
  #seatPlanContainer #floorplan {
    height: calc(100% - 20px);
    width: calc(100% - 50px);
  }
}

#zoomControls {
  position: relative;
  width: 100px;
  top: 20px;
  left: 25px;
  z-index: 3;
  float: left;
}

#seatSelectionRoot {
  height: calc(100% - 40px);
  background-color: #FFF;
}
#ticketAndPriceInfoModal {
  width: 100%;
}

#application-versioninfo {
  text-align: right;
  font-size: xx-small;
  color: lightgray;
}

.seats-plan-cntnr .seats-svg {
  height: 100%;
  width: 100%;
}

.tickets-menu-content {
  height: calc(100dvh - 48px - 75px + 0px);
}
@media (min-width: 480px) {
  .tickets-menu-content {
    height: calc(100dvh - 80px - 75px + 0px);
  }
}

.tickets-menu-content {
  position: relative;
  bottom: 0px;
  max-height: calc(100dvh - 25%);
  background-color: #dedede;
  left: 0px;
  border-bottom: 1px solid #c0c0c0;
  box-shadow: 0px -4px 6px -1px rgba(77, 77, 77, 0.38);
  transition: height 200ms ease-in-out;
  height: calc(100dvh - 211px);
}

#btnCloseTicketAndPriceInfo {
  background-color: #615e5e;
}

.note {
  background: #efefef;
  padding: 10px 20px;
  border-radius: 5px;
}

.card.basketposition {
  border-bottom: 1px solid black;
  margin-top: 3px;
}

.ticket {
  padding: 2px;
  border-radius: 5px;
}
.ticket .price-container {
  width: 100%;
}
.ticket .price-container hr {
  margin-bottom: 2px;
  margin-top: 2px;
}
.ticket .price-container .price-item p {
  font-size: 12px;
  margin: 0 0 2px;
}
@media (min-width: 480px) {
  .ticket .price-container .price-item p {
    font-size: 15px;
  }
}
.ticket .price-container .price-item p.price-label {
  padding-right: 2em;
}
.ticket .price-container .price-item p.price-amount {
  font-weight: bold;
}

#payment-view .body ::-webkit-scrollbar {
  -webkit-appearance: none;
  width: 7px;
}
#payment-view .body ::-webkit-scrollbar-thumb {
  border-radius: 4px;
  background-color: rgba(0, 0, 0, 0.5);
  box-shadow: 0 0 1px rgba(255, 255, 255, 0.5);
}

#paymentviewRoot {
  margin-bottom: 2em;
}
#paymentviewRoot .card .body {
  padding: 10px;
}
#paymentviewRoot .field-group.lined.d-checkbox .field-cntr {
  padding: 2px;
}
#paymentviewRoot #your-tickets {
  margin-bottom: 80px;
}
#paymentviewRoot #your-tickets .tickets-container {
  max-width: unset;
}
#paymentviewRoot #your-tickets .tickets-container .ticket .logo {
  display: none;
}
#paymentviewRoot #your-tickets .tickets-container .ticket .header-actions {
  display: none;
}
#paymentviewRoot .tickets-container .grid-row {
  padding-right: 0;
  padding-left: 0;
}
#paymentviewRoot .tickets-container .grid-row .grid-col {
  margin-bottom: 5px;
}
#paymentviewRoot .tickets-container .grid-row .grid-col .card.ticket {
  padding: 2px;
  margin-bottom: 5px;
}
#paymentviewRoot .tickets-container .grid-row .grid-col .card.ticket .header {
  padding: 5px;
}
#paymentviewRoot .tickets-container .grid-row .grid-col .card.ticket .body {
  padding: 5px;
}
#paymentviewRoot #btnApplyRebateCode {
  background-color: #9e9e9e;
  width: 100%;
}

#seatSelectionRoot #basketBottomArea {
  margin-bottom: 10em;
}
#seatSelectionRoot #basketBottomArea #bottomPriceBox {
  padding: 10px 5px 5px 5px;
  margin: 5px 1px 5px 1px;
  box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
}
#seatSelectionRoot #basketBottomArea #bottomPriceBox #totalPriceBox {
  font-weight: bold;
  font-size: 1.4em;
}
#seatSelectionRoot #basketBottomArea #bottomPriceBox #totalTicketBox {
  float: right;
}
#seatSelectionRoot #basketBottomArea #bottomPriceBox p {
  font-size: 0.8em;
}
@media (min-width: 1024px) {
  #seatSelectionRoot #basketBottomArea {
    margin-bottom: 0;
    bottom: 30px;
    width: 345px;
    height: 145px;
    position: absolute;
  }
  #seatSelectionRoot #basketBottomArea .info-box {
    margin-bottom: 10px;
    height: 70px;
  }
  #seatSelectionRoot #basketBottomArea .info-box .info-content {
    padding: 0 10px;
  }
  #seatSelectionRoot .basketView ::-webkit-scrollbar {
    -webkit-appearance: none;
    width: 7px;
  }
  #seatSelectionRoot .basketView ::-webkit-scrollbar-thumb {
    border-radius: 4px;
    background-color: rgba(0, 0, 0, 0.5);
    box-shadow: 0 0 1px rgba(255, 255, 255, 0.5);
  }
  #seatSelectionRoot .basketView .filled-basket-container {
    height: calc(100dvh - 145px - 75px - 80px - 40px);
    overflow: scroll;
  }
  #seatSelectionRoot .basketView .empty-basket-container {
    height: 100%;
  }
}
#seatSelectionRoot .empty-basket-container .media-left i.material-icons {
  font-size: 40px;
  padding-top: 0.3em;
}
#seatSelectionRoot #basketContainer {
  background-color: white;
  border-radius: 20px 20px 0 0;
  padding: 0.5em 1em 0.2em 1em;
  height: calc(40vh - 48px);
}
@media (min-width: 1024px) {
  #seatSelectionRoot #basketContainer {
    height: calc(100% - 28px);
    margin-top: 1em;
    margin-right: 2em;
    width: calc(400px - 2em);
    float: right;
    box-shadow: 6px 8px 20px 5px rgba(0, 0, 0, 0.3019607843);
    border-radius: 20px;
  }
  #seatSelectionRoot #basketContainer .scroll-down-container {
    display: none;
  }
}
#seatSelectionRoot #basketContainer .basketposition .header div.chip {
  margin-top: 0;
}
#seatSelectionRoot #basketContainer .basketposition .header h2 {
  font-size: 16px;
  font-weight: bold;
}
#seatSelectionRoot #basketContainer .basketposition .field-group {
  margin-bottom: 0;
}
#seatSelectionRoot #basketContainer .basketposition .field-group.radio-group .radio-option {
  margin-bottom: 0px;
  margin-top: 2px;
}
#seatSelectionRoot #basketContainer .basketposition .field-group.radio-group .field-cntr {
  padding-top: 0;
}
#seatSelectionRoot #basketContainer .basketposition p.ticketSelectLabel {
  margin: 0;
  text-align: right;
  font-size: 0.8em;
}
#seatSelectionRoot #basketContainer .basketposition .d-select .field-cntr {
  background-color: #d1d2d4;
  border-radius: 0;
}
#seatSelectionRoot #basketContainer .basketposition .d-select .field-cntr .field-mandatory-addon i {
  width: 44px;
}
#seatSelectionRoot #basketContainer .basketposition .d-select .field-cntr .field-mandatory-addon .mdi-24px.mdi:before {
  font-size: 56px;
  line-height: 20px;
}
#seatSelectionRoot #basketContainer .basketposition .d-list.bordered .d-list-item {
  border: none;
}
#seatSelectionRoot #basketContainer .basketposition .d-list {
  margin-bottom: 4px;
}
#seatSelectionRoot #basketContainer .basketposition .quantity-select-flexitem {
  min-width: 80px;
}
#seatSelectionRoot #basketContainer .basketposition .openseating-tickets-flexlayout {
  align-items: center;
}
#seatSelectionRoot #basketContainer .basketposition .ticketname-flexitem {
  margin-right: auto;
  margin-left: 0.2em;
}
#seatSelectionRoot #basketContainer .basketposition .ticketname-flexitem .tickethint {
  font-size: 0.8em;
  color: grey;
}
@media (min-width: 1024px) {
  #seatSelectionRoot #basketContainer .basketposition .ticketname-flexitem {
    max-width: 210px;
  }
}
@media (max-width: 480px) {
  #seatSelectionRoot #basketContainer .basketposition .ticketname-flexitem {
    max-width: 205px;
  }
}
#seatSelectionRoot #basketContainer .basketposition .has-info {
  width: 24px;
  margin-right: 0.5em;
}
#seatSelectionRoot #basketContainer .basketposition.card .header {
  background-color: unset;
  padding: 4px;
  border-bottom: unset;
}
#seatSelectionRoot .scroll-down-container {
  min-height: 30px;
}
#seatSelectionRoot .scroll-down-container .mdi-24px.mdi:before {
  font-size: 40px;
}
#seatSelectionRoot .tickets-container {
  max-width: 550px;
  margin-left: auto;
  margin-right: auto;
}
#seatSelectionRoot .tickets-container .chip-value {
  font-weight: bold;
}
#seatSelectionRoot .tickets-container .grid-row {
  padding-right: 2px !important;
  padding-left: 2px !important;
}
#seatSelectionRoot .tickets-container .grid-row .grid-col {
  margin-bottom: 5px;
}
#seatSelectionRoot .tickets-container .grid-row .grid-col .card.ticket {
  padding: 2px;
  margin-bottom: 5px;
}
#seatSelectionRoot .tickets-container .grid-row .grid-col .card.ticket .header {
  padding: 2px;
}

.ticketDownloadDiv {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.ticketDownloadDiv p {
  margin: 0;
}
.ticketDownloadDiv img {
  width: 180px;
}
.ticketDownloadDiv:not(:last-child) {
  margin-bottom: 20px;
}

.pdfDownloadButton {
  margin-top: 10px;
  margin-bottom: 10px;
  margin-left: auto;
  margin-right: auto;
  padding: 10px 20px;
  background-color: #000;
  color: white;
  display: block;
  border-radius: 15px;
  cursor: pointer;
  transition: background-color 0.3s;
}
.pdfDownloadButton.btn.md {
  font-size: 1.4em;
}
.pdfDownloadButton:hover {
  background-color: #007700;
}

.googleWalletTicketButton,
.appleWalletTicketButton {
  cursor: pointer;
  border: none;
  font-size: 1.2em;
}

#pinchToZoomInfo {
  display: none;
}

@media (hover: none) and (pointer: coarse) {
  #pinchToZoomInfo {
    display: block;
    width: 200px;
    height: 200px;
    background-image: url("zoom-fingers.gif");
    background-size: cover;
    position: fixed;
    background-color: white;
    z-index: 1;
    border: 1px solid black;
    border-radius: 20px;
    padding: 10px;
    top: 30%;
    left: calc(50% - 100px);
  }
}
.select-value {
  color: black;
}

#btnApplyRebateCode .dui-btn-text {
  color: #000;
}
#btnApplyRebateCode .btn-icon {
  color: #000;
}

button {
  color: #000;
}

body {
  overscroll-behavior-y: contain;
}

.tooltip-content {
  width: 300px;
}

.break-spaces {
  white-space: break-spaces !important;
}

#schubec-shell {
  min-height: max-content;
  height: 100%;
}

/*@include TABLET_AND_UP {
	#schubec-shell {
		height: 100%;
	}
}*/
.scrollableModal {
  max-height: 95%;
}

.radio-option label p {
  font-size: 12px;
  color: grey;
}

.field-group.radio-group .radio-option {
  margin-bottom: 2px;
}

.navbar-header {
  padding-top: 0;
  min-height: unset;
}

section.content {
  margin-top: 60px;
  margin-left: 5px;
  margin-right: 5px;
  padding-bottom: 30px;
}

@media (max-width: 850px) {
  .card {
    margin-bottom: 5px;
    min-height: unset;
    -webkit-box-shadow: unset;
    box-shadow: unset;
  }
}
.fill-height {
  height: 100%;
}

.card .body .grid-row.main-layout-row {
  padding: 0;
  height: 100%;
  grid-auto-rows: minmax(min-content, max-content);
  grid-template-rows: auto;
}

.btn.primary {
  background-color: #4d9710;
}

.btn.primary:hover,
.btn.primary:active {
  background-color: #57b20d;
}

.subcard {
  box-shadow: unset;
  -webkit-box-shadow: unset;
}
.subcard .body:not([class*=bg-]) {
  background-color: unset;
}

.field-group.lined:not([class*=focused]):not([class*=readonly]):not([class*=error]) .field-cntr {
  border: unset;
}

hr.productDivider {
  margin-bottom: unset;
  margin-top: unset;
  border: unset;
}

.bookingtimerContainer {
  display: inline;
}
.bookingtimerContainer .timerChip {
  margin-bottom: 5px;
}

/* Notwendig, sonst hat die Selectbox einen komischen Rand unten */
.field-cntr .flex-layout {
  background-color: unset;
}

.openTermsButton {
  cursor: pointer;
  margin-left: 0;
  padding-left: 0;
  text-decoration: underline;
}

.mousepointer {
  cursor: pointer;
}

@media (max-height: 900px) {
  .card .header {
    padding: 4px;
  }
  .card .header h2 {
    font-size: 16px;
    font-weight: bold;
  }
}
@media (max-height: 754px) {
  .modal .modal-content .modal-body {
    margin: 2px;
    padding: 6px;
  }
  #viewReferralSource .field-cntr {
    padding-top: 2px;
  }
  #viewReferralSource .field-group.radio-group .radio-option {
    margin-bottom: 2px;
  }
  #viewReferralSource .radio-option {
    margin-top: 2px;
  }
  #viewReferralSource #buttonCloseReferralSource {
    width: 100%;
    margin-bottom: 4px;
  }
}
@media (max-height: 640px) {
  .modal .modal-content .modal-body {
    margin: 0;
    padding: 4px;
  }
  #viewReferralSource .field-cntr {
    padding-top: 1px;
  }
  #viewReferralSource .field-group.radio-group .radio-option {
    margin-bottom: 0px;
  }
  #viewReferralSource .radio-option {
    margin-top: 0px;
  }
  #viewReferralSource #buttonCloseReferralSource {
    width: 100%;
    margin-bottom: 4px;
  }
}

/*# sourceMappingURL=booking.nocache.css.map */
