@font-face { font-family: inc-font; src: url('inconsolata.woff2') format('woff2'); }
.ovo_font { font-family: inc-font, DengXian, PingFangSC-Light, -apple-system, BlinkMacSystemFont, STXihei, Microsoft JhengHei, LiSong Pro Light, STHeiti Light, Helvetica Neue, mi-font, sans-serif !important; }

.ant_icon { cursor: pointer; font-weight: normal; font-style: normal; font-size: 24px; line-height: 1; letter-spacing: normal; text-transform: none; display: inline-block; white-space: nowrap; word-wrap: normal; direction: ltr; -webkit-font-feature-settings: 'liga'; -webkit-font-smoothing: antialiased; }
[class^="ri-"], [class*=" ri-"] { font-weight: normal; }

* { margin: 0; padding: 0; }
*, :after, :before { box-sizing: border-box; }
html, body { overscroll-behavior-y: none; }
body { margin: 0; color: rgba(0, 0, 0, .65); background: white; }
body, input, textarea { font-size: 14px; font-family: -apple-system, BlinkMacSystemFont, Segoe UI, PingFang SC, Hiragino Sans GB, Microsoft YaHei, Helvetica Neue, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol; font-variant: tabular-nums; line-height: 1.5; background-color: #fff; font-feature-settings: "tnum"; }

a { color: #333; text-decoration: none; cursor: pointer; }
a:hover { text-decoration: none; cursor: pointer; }
a.underline { text-decoration: underline; }
a { color: #4885ed; text-decoration: none; background-color: transparent; outline: none; cursor: pointer; transition: color .3s; -webkit-text-decoration-skip: objects; }
b, .bold { font-weight: bold; }
cite { font-style: normal;}
img { border: none; }
input[type='button'] { cursor: pointer; }
::placeholder { color: #aaa; opacity: 0.6; }
[contenteditable] { outline: 0px solid transparent; }
.bg_holder { background: #f9f5f1; }
/* .bg_holder { background: #fff; } */
.hidden_ele { font-size: 0px; width: 0px; height: 0px; position: absolute; opacity: 0; }

/* .dev img, .dev video { filter: hue-rotate(240deg); } */
.theme_dark img, .theme_dark video { filter: invert(105%) hue-rotate(260deg) !important; }
.inv { filter: invert(90%) hue-rotate(180deg); }
.inv img, .inv video { filter: invert(90%) hue-rotate(180deg) !important; }

textarea { border-style: none; }
textarea:focus { outline: none; }

.prim_bg { background: #4885ed !important; border-color: #4885ed !important;}
.prim_color { color: #4885ed !important; }

.center_inline { display: inline-flex; align-items: center; justify-content: center; }
.center_block { display: flex; align-items: center; justify-content: center; }
.flex { display: flex; }
.flex_grow { flex-grow: 1; }
.sep { flex-grow: 1; }
.hand { cursor: pointer; }
.clear { clear: both; height: 0; line-height: 0; font-size: 0; visibility: hidden; overflow: hidden; }
.ellipsis { white-space: nowrap; text-overflow: ellipsis; overflow: hidden; }

.ml1 { margin-left: 4px; }
.ml2 { margin-left: 8px; }
.ml3 { margin-left: 12px; }
.mr1 { margin-right: 4px; }
.mr2 { margin-right: 8px; }
.mr3 { margin-right: 12px; }
.mt1 { margin-top: 4px; }
.mt2 { margin-top: 8px; }
.mt3 { margin-top: 12px; }
.mb1 { margin-bottom: 4px; }
.mb2 { margin-bottom: 8px; }
.mb3 { margin-bottom: 12px; }

.layer_bg { align-items: center; z-index: 1000; background: rgba(0, 0, 0, 0.3); position: fixed; left: -1px; right: -1px; top: -1px; bottom: -1px; justify-content: center; display: flex; }
.fill_window { position: fixed; top: 0; left: 0; right: 0; bottom: 0; }
.fill_parent { width: 100%; height: 100%; }
.ovo_dock_layout { width: 100%; height: 100%; }

.page_title_bar { padding: 8px 20px; display: flex; align-items: center; justify-content: space-between; }
.page_title_header { font-size: 24px; color: #444; }
.content_panel { padding: 8px 20px; background: white; margin-bottom: 15px; }
.content_title_bar { display: flex; justify-content: space-between; align-items: center; margin-top: 2px; }
.content_title { padding: 5px 0; font-weight: bold; font-size: 16px; color: #444; }
.content_blank { color: #aaa; padding: 10px 0; }
.prop_sep { width: 100%; border-bottom: solid 1px #eee; }

.ovo_btn { cursor: pointer; border: solid 0px #4885ed; font-size: 14px; outline: none; background: #4885ed; display: inline-flex; align-items: center; padding: 5px 15px; min-width: 80px; justify-content: center; color: white; border-radius: 3px; transition: all 0.3s ease-out; }
.ovo_btn:hover { background: #4885edcc; transition: all 0.3s ease-out; }
.ovo_btn_slim { cursor: pointer; border: solid 1px #4885ed; font-size: 14px; outline: none; display: inline-flex; align-items: center; padding: 4px 10px; min-width: 80px; justify-content: center; color: #4885ed; border-radius: 3px; transition: all 0.3s ease-out;}
.ovo_btn_slim:hover { background: #4885ed22; transition: all 0.3s ease-out; }

.loading_holder { z-index: 500; display: flex; align-items: center; justify-content: center; position: fixed; top: 0; bottom: 0; left: 0; right: 0; }
.loading { width: 40px; height: 40px; margin: 100px auto; background-color: #88888888; border-radius: 100%;  -webkit-animation: sk-scaleout 1.0s infinite ease-in-out; animation: sk-scaleout 1.0s infinite ease-in-out; }
@-webkit-keyframes sk-scaleout { 0% { -webkit-transform: scale(0) } 100% { -webkit-transform: scale(1.0); opacity: 0; } }
@keyframes sk-scaleout { 0% { -webkit-transform: scale(0); transform: scale(0); } 100% { -webkit-transform: scale(1.0); transform: scale(1.0); opacity: 0; } }

body { overflow: overlay; }
body::-webkit-scrollbar { height: 0px; width: 0px; background-color: transparent; }
body::-webkit-scrollbar-track { background-color: transparent; }
body::-webkit-scrollbar-thumb { background-color: #88888866; border: 0; } 

.hide_scroll { overflow: auto;}
.hide_scroll::-webkit-scrollbar { height: 0px; width: 0px; background-color: transparent; }
.hide_scroll::-webkit-scrollbar-track { background-color: transparent; }
.hide_scroll::-webkit-scrollbar-thumb { background-color: #88888866; border: 0; }

.scroll { overflow: auto;}
.scroll::-webkit-scrollbar { height: 8px; width: 8px; background-color: transparent; }
.scroll::-webkit-scrollbar-track { background-color: transparent; }
.scroll::-webkit-scrollbar-thumb { background-color: #88888833; border: 0; }

.fade_in { -webkit-animation: fadein 0.3s; animation: fadein 0.3s; }
@keyframes fadein { from { opacity: 0.01; } to { opacity: 1; } } 
@-webkit-keyframes fadein { from { opacity: 0.01; } to { opacity: 1; } }
.f-enter-active, .f-leave-active { transition: opacity 0.3s; }
.f-enter, .f-leave-to { opacity: 0; }

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active { -webkit-box-shadow: 0 0 0 30px white inset !important; }

.diff_holder { width: calc(90vw); height: calc(90vh - 80px); }
.diff_holder .d2h-file-header { display: none; }
.diff_holder .d2h-file-list-header { display: none; }
.diff_holder .d2h-icon { display: none; }
.diff_holder .d2h-file-stats { display: none; }
.diff_holder .d2h-file-list-wrapper { display: none; }
.diff_holder .d2h-file-collapse, .diff_holder .d2h-file-wrapper { border: none !important; }

@keyframes rotate {
  0% { -webkit-transform: rotate(0); }
  25% { -webkit-transform: rotate(90deg); }
  50% { -webkit-transform: rotate(180deg); }
  75% { -webkit-transform: rotate(270deg); }
  100% { -webkit-transform: rotate(360deg); }
}
.rotate {
  -webkit-animation: rotate 1s linear infinite;
  animation: rotate 1s linear infinite;
}
