* { -webkit-tap-highlight-color: rgba(0,0,0,0); } body, html { height: 100%; width: 100%; margin: 0px; padding: 0px; overflow: hidden; } body.loading { opacity: 0; } body { -webkit-touch-callout: none; /* prevent callout to copy image, etc when tap to hold */ -webkit-text-size-adjust: none; /* prevent webkit from resizing text to fit */ -webkit-user-select: none; /* prevent copy paste, to allow, change 'none' to 'text' */ background: #fff; font-family: pfd, sans-serif; font-size: 0.875rem; padding-top: constant(safe-area-inset-top); } a, a:visited { color: #000; } .loader { z-index: 2; width: 80px; height: 80px; position: absolute; top: 50vh; left: 50%; margin-top: -60px; margin-left: -40px; display: none; } .loader:before { content: ''; border-radius: 50%; border-top: 3px solid #999; border-right: 3px solid transparent; animation: loading .5s linear infinite; -webkit-animation: loading .5s linear infinite; width: 80px; height: 80px; display: block; } .loading .loader { display: block; } @keyframes loading { to {transform: rotate(360deg)} } @-webkit-keyframes loading { to {-webkit-transform: rotate(360deg)} } .scroll { position: absolute; width: 100%; } .error_hilite { color: red !important; border-color: red !important; } .error_hilite ~ span.err { display: flex; } span.err { display: none; text-align: center; justify-content: center; align-items: center; font-size: 0.875rem; height: 48px; color: red !important; }