body,
html {
    margin: 0;
    padding: 0;
    height: 100%;
    width: 100%;

    /* Chrome 56 flexbox compatibility */
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;

    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;

    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    justify-content: center;

    background: #f0f0f0;

    font-family: "Open Sans", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    font-variation-settings:
        "wdth" 100;
}

.scaled-container {
  width: 624px;
  height: 416px;
  background: #ECECEC;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
  transform-origin: top left;
  position: relative;
}
#alert-message {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  background-color: #F9B200;
  color: #003972;
  padding: 8px;
  box-sizing: border-box;
  text-align: center;
  font-size: 14px;
}

.slot {
    /* Fallback + vendor prefixes for older flexbox specs (Chrome 56 compatible) */
    display: inline-block;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex !important;

    /* Flex direction: column */
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;

    /* Space between children */
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between;

    width: 80px;
    height: 90px;
    background-color: #003972;
    color: white;
    border-radius: 10px;
    margin: 5px;
    z-index: 1;
}

.slot-text {
    /* Make the P clearly larger across browsers (explicit px for consistency on Chrome 56) */
    font-size: 56px;
    line-height: 1;
}

.slot-number {
    font-size: 28px;
    text-align: center;
    margin-left: 6px;
}

.slot-info {
    /* Vendor-prefixed flexbox for Chrome 56 */
    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;

    /* Align children on their text baselines (so P and number share baseline) */
    -webkit-box-align: baseline;
    -ms-flex-align: baseline;
    -webkit-align-items: baseline;
    align-items: baseline;

    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    justify-content: center;

    /* Keep items on one line for stable baseline calculation */
    white-space: nowrap;

    /* Size to content and vertically center the whole group in the slot via auto margins */
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 auto;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    margin-top: auto;
    margin-bottom: auto;
    padding: 5px;
}

/* Help baseline alignment behave consistently across Chrome 56 */
.slot-info > .slot-text,
.slot-info > .slot-number {
    display: inline-block;
    line-height: 1;
    vertical-align: baseline;
}

.status {
    display: inline-block;
    text-align: center;
    color: white;
    padding: 5px;
    border-radius: 10px;
}
.status-open {
    background-color: #1FB852;
}

.status-closed {
    background-color: #FF2A00;
}

.self-service {
    font-size: 10px;
    font-style: italic;
    margin-top: -5px;
}

#slot-1 {
    position: absolute;
    bottom: 65px;
    left: 15px;
}

#slot-2 {
    position: absolute;
    bottom: 65px;
    left: 155px;
}

#slot-2::before {
    content: "";
    position: absolute;
    top: 5px;
    left: 55px;
    width: 20px;
    height: 20px;
    background-image: url(../img/skifahrer.png);
    background-size: 20px 20px;
    background-repeat: no-repeat;
    z-index: 1;
}

#slot-3 {
    position: absolute;
    bottom: 178px;
    left: 270px;
}

#slot-3::before {
    content: "";
    position: absolute;
    top: 5px;
    left: 55px;
    width: 20px;
    height: 20px;
    background-image: url(../img/sessellift.png);
    background-size: 20px 20px;
    background-repeat: no-repeat;
    z-index: 1;
}

#slot-4::before {
    content: "";
    position: absolute;
    top: 5px;
    left: 55px;
    width: 20px;
    height: 20px;
    background-image: url(../img/sessellift.png);
    background-size: 20px 20px;
    background-repeat: no-repeat;
    z-index: 1;
}

#slot-5::before {
    content: "";
    position: absolute;
    top: 5px;
    left: 55px;
    width: 20px;
    height: 20px;
    background-image: url(../img/sessellift.png);
    background-size: 20px 20px;
    background-repeat: no-repeat;
    z-index: 1;
}

#distance-3 {
    position: absolute;
    left: 294px;
    bottom: 151px;
}

#duxer-4::before {
    content: "";
    position: absolute;
    top: -20px;
    left: 0px;
    width: 80px;
    height: 13px;
    background-image: url(../img/spar.png);
    background-size: 80px 13px;
    background-repeat: no-repeat;
    z-index: 1;
}

#duxer-4 {
    position: absolute;
    bottom: 328px;
    left: 403px;
    width: 71px;
    font-size: 10px;
    height: 13px;
}


#slot-4 {
    position: absolute;
    bottom: 227px;
    left: 400px;
}


#distance-4 {
    position: absolute;
    left: 425px;
    bottom: 200px;
}

#duxer-5 {
    position: absolute;
    bottom: 372px;
    left: 533px;
    width: 69px;
    font-size: 10px;
    height: 25px;
}

#slot-5 {
    position: absolute;
    bottom: 272px;
    left: 530px;
}


#distance-5 {
    position: absolute;
    bottom: 244px;
    left: 547px;
}


#line-1 {
    position: absolute;
    height: 10px;
    width: 100px;
    background-color: #F9B200;
    left: 100px;
    bottom: 115px;
}

#line-2 {
    position: absolute;
    height: 100px;
    width: 10px;
    background-color: #F9B200;
    left: 126px;
    bottom: 67px;
}

#line-3 {
    position: absolute;
    height: 500px;
    width: 10px;
    background-color: #F9B200;
    left: 359px;
    bottom: -2px;
    transform: rotate(70deg);
}

#qrcode {
    position: absolute;
    top: 0px;
    left: 0px;
    margin: 10px;
    width: 200px;
}

#dot-1 {
    position: absolute;
    width: 20px;
    height: 20px;
    background-color: #FF2A00;
    border-radius: 50%;
    left: 121px;
    bottom: 59px;
}

.kassa {
    position: absolute;
    width: 75px;
    height: 20px;
    border-radius: 10px;
    border: 1px solid #003972;
    color: #003972;
    padding: 5px;
    text-align: center;
}

.kassa::before {
    content: "";
    position: absolute;
    top: -6px;
    left: -6px;
    width: 20px;
    height: 20px;
    background-image: url(../img/tickets.png);
    background-size: 20px 20px;
    background-repeat: no-repeat;
    z-index: 1;
}

.duxer {
    position: absolute;
    width: 75px;
    height: 20px;
    border-radius: 10px;
    border: 1px solid #003972;
    color: #003972;
    padding: 5px;
    text-align: center;
}

.kassa-1 {
    left: 78px;
    bottom: 189px;
}

.kassa-2 {
    left: 401px;
    bottom: 163px;
}

.kassa-3 {
    left: 531px;
    bottom: 196px;
    height: 30px;
}

.distance {
    color: #003972;
    position: absolute
}