/* Galaxy 4: common action colours, visible keyboard focus and home artwork. */
body.oh-theme{--oh-action:#6450c7;--oh-action-hover:#503cad;--oh-focus:#9279e6}
body.oh-theme :focus-visible{outline:3px solid var(--oh-focus);outline-offset:3px}
body.oh-theme input:focus-visible,body.oh-theme select:focus-visible,body.oh-theme textarea:focus-visible{outline-color:var(--oh-focus)!important}
body.oh-theme .form-control:focus,body.oh-theme .field:focus,body.oh-theme input:focus,body.oh-theme select:focus,body.oh-theme textarea:focus{border-color:#9279e6;box-shadow:0 0 0 3px #9279e62b}
body.oh-theme input[type=checkbox],body.oh-theme input[type=radio]{accent-color:#6450c7}
body.oh-theme #main-body .btn-success,body.oh-theme #main-body .btn-primary,body.oh-theme .modal .btn-primary,body.oh-theme .modal .btn-success{color:#fff!important;background:linear-gradient(115deg,#7055d3,#4263c8)!important;border-color:#7563ce!important;box-shadow:0 5px 15px #5f50bb22}
body.oh-theme #main-body .btn-success:hover,body.oh-theme #main-body .btn-success:focus,body.oh-theme #main-body .btn-primary:hover,body.oh-theme #main-body .btn-primary:focus,body.oh-theme .modal .btn-primary:hover{background:linear-gradient(115deg,#5f43c0,#3553b2)!important;border-color:#6551bb!important;color:#fff!important}
body.oh-theme #main-body .list-group-item.active,body.oh-theme #main-body .list-group-item.active:hover,body.oh-theme #main-body .list-group-item.active:focus{background:#6050ad;border-color:#6050ad;color:#fff!important}
body.oh-theme .has-success .form-control,body.oh-theme .has-success .input-group-addon{border-color:#8475c8}
body.oh-theme .has-success .form-control:focus{border-color:#7055d3;box-shadow:0 0 0 3px #9279e62b}
body.oh-theme .has-success .control-label,body.oh-theme .has-success .help-block,body.oh-theme .text-success{color:#6350a9!important}
body.oh-theme .alert-success{color:#443774;background:#eeeafa;border-color:#d3c9ed}
body.oh-theme .label-success,body.oh-theme .badge-success,body.oh-theme .bg-success,body.oh-theme .progress-bar-success{background-color:#6a58b8!important;color:#fff}
body.oh-theme .panel-success{border-color:#d3c9ed}body.oh-theme .panel-success>.panel-heading{background:#eeeafa;color:#443774;border-color:#d3c9ed}
body.oh-theme .panel-accent-green{border-top-color:#8475c8!important}
body.oh-theme .btn-default{border-color:#d5cee9;background:#faf9fe;color:#4c426e}
body.oh-theme .btn-default:hover,body.oh-theme .btn-default:focus{border-color:#aa9bcd;background:#eeebf8;color:#493b71}
body.oh-theme .has-success .input-group-addon{background:#eeeafa;color:#6350a9}
body.oh-theme .icheckbox_square-green,body.oh-theme .iradio_square-green{filter:hue-rotate(130deg) saturate(.65)}
/* Orbit art is decorative. Main text never depends on JS or an animation. */
.oh-home .oh-infrastructure{overflow:hidden}
.oh-orbital-system{position:absolute;inset:8% -6%;transform:rotate(-24deg) scaleY(.54);pointer-events:none;z-index:1}
.oh-orbital-track{position:absolute;inset:0;border:1px solid #bca8ff38;border-radius:50%;animation:oh-revolve 28s linear infinite}
.oh-orbital-track i{position:absolute;left:50%;top:-4px;width:8px;height:8px;background:#d4c1ff;border-radius:50%;box-shadow:0 0 16px #a395ff}
.oh-orbital-track-secondary{inset:13%;border-style:dashed;border-color:#8dd3ff24;animation-duration:38s;animation-direction:reverse}
.oh-orbital-track-secondary i{background:#9bdfff;box-shadow:0 0 16px #67b7ed}
.oh-launch-path{position:absolute;inset:0;pointer-events:none;z-index:1;overflow:hidden}
.oh-launch-path span{position:absolute;width:3px;height:3px;background:#bbdcff;border-radius:50%;bottom:4%;left:19%;opacity:0;animation:oh-data-launch 9s ease-in infinite}
.oh-launch-path span:nth-child(2){left:71%;animation-delay:-3s;animation-duration:11s}.oh-launch-path span:nth-child(3){left:45%;animation-delay:-6s;animation-duration:13s}
.oh-server-stack{z-index:2}.oh-server-scan{position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,transparent,#c0e6ffbb,transparent);box-shadow:0 0 15px #78c1ff44;pointer-events:none;z-index:4;animation:oh-scan 8s ease-in-out infinite;opacity:0}
.oh-signal-wave{position:absolute;right:15%;bottom:12%;width:65px;height:65px;pointer-events:none;opacity:.5}
.oh-signal-wave span{position:absolute;inset:0;border:1px solid #ae9ae6;border-radius:50%;animation:oh-signal 6s ease-out infinite;opacity:0}.oh-signal-wave span:nth-child(2){animation-delay:2s}.oh-signal-wave span:nth-child(3){animation-delay:4s}
.oh-flight-trail{position:absolute;left:-25%;top:14%;width:130px;height:1px;background:linear-gradient(90deg,transparent,#c2b1ff);transform:rotate(25deg);animation:oh-flight 18s ease-in infinite;opacity:0;pointer-events:none}
.oh-home .oh-hero h1>span{background-size:220% 100%;animation:oh-heading-colour 14s ease-in-out infinite}
.oh-home .oh-workspace{position:relative;isolation:isolate;overflow:hidden}
.oh-network-art{position:absolute;inset:0;z-index:-1;opacity:.18;pointer-events:none}
.oh-network-art svg{width:100%;height:100%}.oh-network-line{fill:none;stroke:#a6b6fa;stroke-width:1;stroke-dasharray:8 12;animation:oh-data-stream 26s linear infinite}.oh-network-nodes{fill:#bae4ff;animation:oh-network-pulse 7s ease-in-out infinite alternate}
@keyframes oh-revolve{to{transform:rotate(360deg)}}
@keyframes oh-data-launch{0%,12%{transform:translate3d(0,20px,0);opacity:0}25%{opacity:.6}75%{opacity:.4}100%{transform:translate3d(24px,-330px,0);opacity:0}}
@keyframes oh-scan{0%,15%,100%{top:0;opacity:0}25%{opacity:.6}75%{top:90%;opacity:.45}85%{top:95%;opacity:0}}
@keyframes oh-signal{0%{transform:scale(.4);opacity:0}20%{opacity:.5}100%{transform:scale(1.6);opacity:0}}
@keyframes oh-flight{0%,78%{translate:0 0;opacity:0}81%{opacity:.7}94%,100%{translate:680px 170px;opacity:0}}
@keyframes oh-heading-colour{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@keyframes oh-data-stream{to{stroke-dashoffset:-200}}
@keyframes oh-network-pulse{from{opacity:.35}to{opacity:1}}
.oh-page-hidden .oh-orbital-track,.oh-page-hidden .oh-launch-path span,.oh-page-hidden .oh-server-scan,.oh-page-hidden .oh-signal-wave span,.oh-page-hidden .oh-flight-trail,.oh-page-hidden .oh-hero h1>span,.oh-page-hidden .oh-network-line,.oh-page-hidden .oh-network-nodes{animation-play-state:paused!important}
@media(max-width:767px){.oh-orbital-system{inset:12% 0}.oh-launch-path span:nth-child(3),.oh-flight-trail{display:none}.oh-signal-wave{width:45px;height:45px}.oh-network-art{opacity:.1}}
@media(prefers-reduced-motion:reduce){.oh-orbital-track,.oh-launch-path span,.oh-server-scan,.oh-signal-wave span,.oh-flight-trail,.oh-home .oh-hero h1>span,.oh-network-line,.oh-network-nodes{animation:none!important}.oh-launch-path,.oh-server-scan,.oh-signal-wave,.oh-flight-trail{display:none}.oh-network-nodes{opacity:.7}}
@media print{.oh-orbital-system,.oh-launch-path,.oh-server-scan,.oh-signal-wave,.oh-flight-trail,.oh-network-art{display:none}}
