.booking-container { max-width:1000px; margin:0 auto; position:relative; }
.booking-container iframe { width:100%; height:600px; transition: height 0.5s ease; }
.booking-container .show-full-button { display:none; }

.booking-container .dots { display:inline-block; animation: pulse 1s infinite; }
@keyframes pulse {0%,100%{transform:scale(1);}50%{transform:scale(1.3);}}

.booking-container .loading-error a { color:#fff; text-decoration:underline; }

.booking-container .booking-overlay {
    position:absolute;
    top:0; left:0; right:0; bottom:0;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    background: rgba(0,0,0,0.7);
    color:#fff;
    text-align:center;
    padding:20px;
    box-sizing:border-box;
    opacity:0;
    transform:translateY(20px);
    transition: opacity 0.5s ease, transform 0.5s ease;
}

.booking-container .booking-overlay.active {
    opacity:1;
    transform:translateY(0);
}

.booking-container .loading-text {
    font-size:18px;
    margin-bottom:20px;
    transform:translateY(20px);
    opacity:0;
    transition: all 0.5s ease;
}

.booking-container .retry-button {
    display:none;
    margin-top:15px;
    padding:8px 16px;
    font-size:14px;
    cursor:pointer;
    border:none;
    border-radius:4px;
    background:#810002;
    color:#fff;
	text-transform: uppercase;
}

.booking-container .loading-error {
    display:none;
    font-size:16px;
    line-height:1.5;
    opacity:0;
    transition: opacity 0.5s ease;
}
