.appointment-dialog .dialog-body.appointment-dialog-loading{position:relative}.appointment-dialog .dialog-body.appointment-dialog-loading iframe{opacity:0;visibility:hidden;transition:opacity .3s ease-out,visibility 0s linear .3s}.appointment-dialog .dialog-body.appointment-dialog-loading.appointment-dialog-ready iframe{opacity:1;visibility:visible;transition:opacity .3s ease-out}.appointment-dialog-loader{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background-color:var(--white);color:var(--brand-500);pointer-events:none;transition:opacity .3s ease-out,visibility 0s linear .3s}.appointment-dialog-ready .appointment-dialog-loader{opacity:0;visibility:hidden}.appointment-dialog-loader__ring{position:absolute;width:72px;height:72px;border:3px solid var(--brand-50);border-top-color:var(--brand-500);border-radius:50%;animation:appointment-dialog-loader-spin .9s cubic-bezier(.5,.15,.5,.85) infinite}.appointment-dialog-loader__icon{animation:appointment-dialog-loader-pulse 1.8s ease-in-out infinite}@keyframes appointment-dialog-loader-spin{to{transform:rotate(360deg)}}@keyframes appointment-dialog-loader-pulse{0%,to{opacity:.55;transform:scale(.92)}50%{opacity:1;transform:scale(1)}}@media(prefers-reduced-motion:reduce){.appointment-dialog-loader__ring{animation-duration:2.4s}.appointment-dialog-loader__icon{animation:none}}
