:root {
  /*blue*/
  --widget-color-primary10: #120068;
  --widget-color-primary20: #00238A;
  --widget-color-primary30: #0035BE;
  --widget-color-primary40: #584EBE;
  --widget-color-primary80: #B7C4FF;
  --widget-color-primary90: #DCE1FF;
  --widget-color-primary100: #FFF;
  /*purple*/
  --widget-color-tertiary20: #28168D;
  --widget-color-tertiary30: #4034A5;
  --widget-color-tertiary40: #704FB5;
  --widget-color-tertiary80: #C6BFFF;
  --widget-color-tertiary90: #E5DFFF;
  /* Light: 40 90 100 10 vs Dark: 80 30 20 90 */
  --widget-color-primary: var(--widget-color-primary80);
  --widget-color-primaryContainer: var(--widget-color-primary30);
  --widget-color-onPrimary: var(--widget-color-primary20);
  --widget-color-onPrimaryContainer: var(--widget-color-primary90);
  --widget-color-secondary: #FC845E;
  --widget-color-onSecondary: #FFF;
  --widget-color-tertiary: var(--widget-color-tertiary80);
  --widget-color-tertiaryContainer: var(--widget-color-tertiary30);
  --widget-color-onTertiary: var(--widget-color-tertiary20);
  --widget-color-onTertiaryContainer: var(--widget-color-tertiary90);
  --widget-font-family: "Open Sans", arial, x-locale-body, sans-serif;

  --widget-color-light-bg: #e6e6e6;
  --widget-color-slider-bg: var(--widget-color-primary40);
}

html {
  font-size: 16px;
}

@media only screen and (max-device-width: 1024px) and (min-device-width: 321px) {
  html {
    font-size: 24px;
  }
}

@media only screen and (max-device-width: 320px) {
  html {
    font-size: 30px;
  }
}

.ov-form,
.ov-color-form {
  border-collapse: collapse;
}

.ov-property-panel .ov-form {
  width: 100%;
}

.ov-property-panel .ov-form td {
  border-bottom: 1px solid rgba(85, 85, 85, 0.5);
  width: 50%;
  padding: 0;
  font-family: var(--widget-font-family);
}

.ov-color-form td {
  border: 1px solid rgba(85, 85, 85, 0.5);
  width: 50%;
  padding: 0;
  font-family: var(--widget-font-family);
}

.ov-form td:first-child {
  color: #FFF;
  text-align: right;
  padding-right: 0.5em;
  cursor: default;
  -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.ov-form input,
.ov-form select,
.ov-color-form input {
  width: 100%;
  box-sizing: border-box;
}

.ov-form input[type="range"] {
  margin-left: 5%;
  width: 90%;
}

.ov-menu {
  top: 0px;
  left: 0px;
  padding: 10px;
  width: 320px;
  height: 100%;
  position: absolute;
  background: rgba(0, 0, 0, 0.55);
  border-right: 1px solid rgba(85, 85, 85, 0.45);
  box-sizing: border-box;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  z-index: 1;
}

.ov-list-panel {
  top: 0px;
  left: 0px;
  padding: 10px;
  width: 100%;
  height: calc(50% - 0.3125rem);
  border: 1px solid rgba(85, 85, 85, 0.7);
  box-sizing: border-box;
  overflow: auto;
  margin-bottom: 10px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border-radius: 3px;
  background: rgba(0, 0, 0, 0.4);
  box-shadow: 0 0 0.3125rem 0 rgba(0, 0, 0, 0.6);
}

.ov-property-panel {
  top: 0px;
  left: 0px;
  width: 100%;
  height: calc(50% - 0.3125rem);
  border: 1px solid rgba(85, 85, 85, 0.7);
  box-sizing: border-box;
  overflow: hidden;
  margin-bottom: 10px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border-radius: 3px;
  box-shadow: 0 0 0.3125rem 0 rgba(0, 0, 0, 0.6);
}

.ov-panel-button {
  opacity: 0.5;
  transition: opacity 0.3s, text-shadow 0.3s;
}

.ov-panel-button:hover {
  cursor: pointer;
  opacity: 1;
  text-shadow: 0px 0px 1px #FFF;
}

.ov-panel-button:active {
  color: #AAA;
}

.ov-property-panel-title {
  cursor: default;
  -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
  color: #FFF;
  font-family: var(--widget-font-family);
  background: rgba(0, 0, 0, 0.4);
  min-height: 1.5em;
  box-sizing: border-box;
  padding: 0.2em;
  padding-left: 0.5em;
  padding-right: 0.5em;
  border-bottom: 1px solid rgba(85, 85, 85, 0.5);
  overflow: hidden;
}

.ov-property-panel-body {
  height: calc(100% - 1.5em);
  overflow: auto;
}

.ov-property-panel .ov-form td:first-child {
  background: rgba(0, 0, 0, 0.4);
  border-right: 1px solid rgba(85, 85, 85, 0.5);
}

.ov-list-item {
  color: #FFF;
  overflow: auto;
  overflow-x: hidden;
}

.ov-list-item-head {
  -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.ov-icon {
  display: inline-flex;
  vertical-align: top;
  cursor: default;
  font-size: 1em;
  margin-right: 0.3em;
}

.ov-icon-right {
  float: right;
  cursor: default;
  font-size: 1em;
  margin-left: 0.3em;
}

.ov-list-item-title {
  padding-left: 0.3em;
  padding-right: 0.3em;
  cursor: pointer;
  font-family: var(--widget-font-family);
  display: inline-block;
  max-width: calc(100% - 1em);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  transition: background-color 0.2s;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border-radius: 3px;
}

.ov-list-item-title:hover {
  background-color: rgba(255, 255, 255, 0.15);
  box-shadow: inset 0 0 2px 0px white;
}

.ov-list-item-sub {
  padding-left: 1.2em;
  box-sizing: border-box;
}

.ov-dialog {
  -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
  box-sizing: border-box;
  font-family: var(--widget-font-family);
  position: absolute;
  min-width: 20em;
  background: rgba(0, 0, 0, 0.5);
  border: 2px solid #555;
  border-bottom: 2px solid #222;
  border-left: 2px solid #333;
  box-shadow: 0 0 3px 1px rgba(0, 0, 0, 0.5);
  -webkit-border-radius: 6px;
  -moz-border-radius: 6px;
  border-radius: 6px;
  overflow: hidden;
  transform: translate(-50%, -50%);
  top: 50%;
  left: 50%;
  z-index: 100;
}

.ov-color-dialog {
  min-width: 10em;
  transform: none;
  top: 30%;
  left: 21em;
}

.ov-dialog-body {
  box-sizing: border-box;
  min-height: 5em;
  padding: 1.5em;
  padding-top: 0.5em;
  padding-bottom: 0.5em;
  box-shadow: inset 0 0 20px 20px rgba(0, 0, 0, 0.5);
  -webkit-border-bottom-right-radius: 6px;
  -webkit-border-bottom-left-radius: 6px;
  -moz-border-radius-bottomright: 6px;
  -moz-border-radius-bottomleft: 6px;
  border-bottom-right-radius: 6px;
  border-bottom-left-radius: 6px;
}

.ov-dialog-head {
  cursor: default;
  box-sizing: border-box;
  color: #FFF;
  background: rgba(0, 0, 0, 0.5);
  padding: 0.5em;
  -webkit-border-top-left-radius: 6px;
  -webkit-border-top-right-radius: 6px;
  -moz-border-radius-topleft: 6px;
  -moz-border-radius-topright: 6px;
  border-top-left-radius: 6px;
  border-top-right-radius: 6px;
}

.ov-dialog-body>.ov-form {
  width: 100%;
  margin: 0 auto;
}

.ov-dialog-body .ov-form td {
  padding-top: 0.5em;
  padding-bottom: 0.5em;
}

.ov-dialog-body .ov-form td:first-child::after {
  content: ":";
}

.ov-dialog-body .ov-form input,
.ov-dialog-body .ov-form select {
  background: rgba(0, 0, 0, 0);
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border-radius: 3px;
  padding: 4px;
  border: 1px solid #AAA;
  color: #FFF;
  transition: border 0.5s, box-shadow 0.5s;
}

.ov-property-panel .ov-form input,
.ov-property-panel .ov-form select,
.ov-color-form input {
  font-weight: normal;
  background-color: rgba(0, 0, 0, 0);
  padding: 4px;
  border: 0;
  color: #FFF;
  transition: box-shadow 0.3s, background-color 0.3s;
}

.ov-color-form input {
  width: 6em;
}

.ov-dialog-body .ov-form input[type="color"],
.ov-color-form input[type="color"] {
  padding: 0px;
}

.ov-dialog-body .ov-form select option,
.ov-property-panel .ov-form select option {
  color: #000;
}

.ov-dialog-body .ov-form input:focus,
.ov-dialog-body .ov-form select:focus {
  outline: 0px;
  box-shadow: inset 0px 0px 0.3125rem rgba(255, 255, 255, 0.5), 0px 0px 0.3125rem 1px rgba(255, 255, 255, 0.5);
  border: 1px solid #FFF;
}

.ov-property-panel .ov-form input:focus,
.ov-property-panel .ov-form select:focus,
.ov-color-form input:focus {
  background-color: rgba(255, 255, 255, 0.1);
  outline: 0px;
  box-shadow: inset 0px 0px 2px rgba(255, 255, 255, 1.0);
}

.ov-dialog-buttonBar {
  overflow: auto;
  padding-bottom: 0;
}

.ov-dialog-buttonBar button {
  box-shadow: inset 0px 1px 8px 0px #1f1e1e;
  background: linear-gradient(to bottom, #4a4a4a 5%, #363434 100%) !important;
  background-color: #ffffff;
  -moz-border-radius: 4px;
  -webkit-border-radius: 4px;
  border-radius: 4px;
  border: 1px solid #777;
  display: inline-block;
  color: #ffffff;
  text-decoration: none;
  text-shadow: 0px 1px 0px #000000;
  margin: 0.5em;
  padding: 0.2em;
  min-width: 5em;

  transition: border 0.5s;
}

.ov-form input[type="button"] {
  background: rgba(0, 0, 0, 0.4);
  display: inline-block;
  text-decoration: none;
  text-shadow: 0px 1px 0px #000000;
  color: #FFF;

  transition: box-shadow 0.3s;
}

.ov-form input[type="button"]:hover,
.ov-form input[type="button"]:focus {
  background: rgba(0, 0, 0, 0.5);
  box-shadow: inset 0px 0px 2px rgba(255, 255, 255, 1.0);
}

.ov-dialog-buttonBar button:hover {
  border: 1px solid #CCC;
}

.ov-color-preview div {
  -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
  padding: 0.1em;
  text-shadow: 1px 1px 0px black, 1px -1px 0px black, -1px 1px 0px black, -1px -1px 0px black, 0px 1px 0px black, 0px -1px 0px black, 1px 0px 0px black, -1px 0px 0px black;
  text-align: center;
  color: white;
}

.ov-mask {
  top: 0;
  left: 0;
  z-index: 99;
  height: 100%;
  width: 100%;
  background: rgba(0, 0, 0, 0.5);
  position: absolute;
}

.ov-ui {
  box-shadow: 0 1px 4px black;
  background: #FFF;
}

.ov-ui-title {
  background: #FFF;
  position: relative;
  left: 0px;
  top: 0px;
  width: auto;
  text-align: center;
  border-bottom: 1px solid #c0c0c0;
  padding: 0.5em;
  box-sizing: border-box;
  line-height: calc(2.5em - 0.5em * 2 - 1px);
  /*跟文字所在的範圍同高*/
  display: flex;
}

.ov-ui-disable {
  display: none !important;
}

.ov-ui-content {
  height: 100%;
  width: 100%;
  box-sizing: border-box;
  overflow: auto;
  background: #FFF;
  position: relative;
}

.ov-ui-title:not(.ov-ui-disable)+.ov-ui-content {
  height: calc(100% - 2.5em);
}

.ov-ui-button {
  top: 0px;
  left: 0px;
  float: right;
  height: 1.5rem;
}

.ov-ui-button button {
  padding: 0;
  background: rgba(0, 0, 0, 0);
  color: var(--widget-color-onPrimary);
  border: 0;
}

.ov-ui-disableMouseEvent {
  pointer-events: none;
}

.ov-ui-bubble-arrow {
  background-color: #FFF;
  box-shadow: 0 1px 4px black;
}

.ov-ui-bubble-backgroundfill {
  background-color: #FFF;
}

.ov-ui-draggable {
  cursor: move;
  -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.ov-ui-flex-row {
  display: flex;
  flex-direction: row;
}

.ov-ui-textVerticalCenter {
  top: 50%;
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}

.ov-ui-message {
  color: white;
  position: fixed;
  left: 0;
  opacity: 0;
  bottom: 20px;
  margin: 10px;
  border-radius: 8px;
  padding: 10px 30px;
  max-width: calc(100% - 15px);
  height: auto;
  border-width: 3px;
  border-style: solid;
  z-index: 999999;
}

.ov-ui-message p {
  margin: 0;
  display: inline;
}

.ov-ui-message.ov-ui-messageNormal {
  background: rgba(0, 87, 146, 0.8);
  border-color: rgba(0, 187, 255, 0.6);
}

.ov-ui-message.ov-ui-messageError {
  background: rgba(170, 30, 50, 0.8);
  border-color: rgba(255, 0, 0, 0.6);
}

.ov-ui-message.ov-ui-messageInfo {
  background: rgba(0, 255, 80, 0.8);
  border-color: rgba(0, 255, 80, 0.6);
}

.ov-ui-message.ov-ui-messageConfirm {
  background: rgba(0, 87, 146, 0.8);
  border-color: rgba(0, 187, 255, 0.6);
}

.ov-ui-messageConfirm .ov-ui-messageBtn {
  color: #0F0;
  display: inline;
  margin-left: 10px;
  cursor: pointer;
}

.ov-widget-corner {
  border-radius: 0.3125rem;
  overflow: auto;
}

.ov-widget-header {
  width: 100%;
  line-height: normal;
  font-size: 1.125rem;
  background: var(--widget-color-onPrimaryContainer);
  text-align: left;
  color: var(--widget-color-onPrimary);
  border-radius: 0.28571rem 0.28571rem 0 0;
  box-sizing: border-box;
  padding-left: 0.5rem;
}

.ov-widget-hideScrollBar::-webkit-scrollbar {
  display: none;
}

.ov-widget-scrollBar::-webkit-scrollbar {
  border-radius: 100px;
  width: 0.5rem;
}

.ov-widget-scrollBar::-webkit-scrollbar-track {
  background-color: rgba(88, 78, 190, 0.12);
  border-radius: 100px;
}

.ov-widget-scrollBar::-webkit-scrollbar-thumb {
  background-color: var(--widget-color-primary40);
  border-radius: 100px;
}

.ov-widget-inputContainer {
  width: 100%;
  display: flex;
  font-size: 0.875rem;
}

.ov-widget-inputTitle {
  display: inline-flex;
  flex: 0 0 auto;
  padding: 0.5833em 0.833em;
  background: #f0f0f0;
  font-size: inherit;
  border: 1px solid #e9e9e9;
  color: #5e5e5e;
  border-top-left-radius: 0.28571rem;
  border-bottom-left-radius: 0.28571rem;
  text-align: center;
  font-weight: 500;
}

.ov-widget-inputItem {
  display: inline-block;
  width: 100%;
  height: auto;
  border: 1px solid #e9e9e9;
  outline: none;
  border-top-right-radius: 0.28571rem;
  border-bottom-right-radius: 0.28571rem;
}

.ov-widget-select {
  display: block;
  width: 100%;
  transition: box-shadow .1s ease-in-out;
  line-height: 1.2142em;
  border: 1px solid #e9e9e9;
  padding: 0.7857em 1em;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  border-radius: 0.28571rem;
  background-size: 0.8em;
  background-repeat: no-repeat;
  background-position: right 1em center;
  background-color: #fff;
  color: #5a5a5a;
  outline: none;
  font-size: 0.875rem;
  background-image: url("data:image/svg+xml;charset=utf8,<svg xmlns='http://www.w3.org/2000/svg' x='0px' y='0px' width='54.7px' height='26.3px' fill='%235a5a5a'><polygon points='54.7,0 27.3,26.3 0,0'/></svg>");
}

.ov-widget-icon {
  cursor: pointer;
  box-shadow: 2px 2px 2px rgba(20%, 20%, 40%, 0.6), 4px 4px 6px rgba(20%, 20%, 40%, 0.4), 6px 6px 12px rgba(20%, 20%, 40%, 0.4)
}

.ov-widget-icon:hover,
.ov-widget-icon.active {
  border: 2px solid white;
}

.ov-widget-btn {
  display: inline-block;
  padding: 0.78571em 1.5em;
  background-color: #442D97;
  color: white;
  border-radius: 0.3125rem;
  cursor: pointer;
  width: 100%;
  text-align: center;
  font-weight: 700;
  font-size: 0.875rem;
  flex: 1;
  border: none;
}

.ov-widget-btn:not([disabled]):active {
  background-color: #704FB5;
}

.ov-widget-btn2 {
  display: inline-block;
  padding: 0.78571em 1.5em;
  background-color: var(--widget-color-secondary);
  color: white;
  border-radius: 0.3125rem;
  margin: 0 0 0 0.625rem;
  cursor: pointer;
  width: 100%;
  text-align: center;
  font-weight: 700;
  font-size: 0.875rem;
  flex: 1;
  border: none;
}

.ov-widget-btn2:not([disabled]):active {
  background-color: #CB685A;
}

.ov-widget-smallBtn {
  float: right;
  margin-right: 0.25rem;
  border-radius: 0.875rem;
  border: none;
  cursor: pointer;
  width: 1.75rem;
  height: 1.75rem;
}

.ov-widget-locateBtn {
  color: var(--widget-color-onPrimaryContainer);
  background: var(--widget-color-tertiaryContainer) center no-repeat url("data:image/svg+xml;charset=utf8,<svg width='14' height='19' viewBox='0 0 14 19' fill='white' xmlns='http://www.w3.org/2000/svg'><path fill-rule='evenodd' clip-rule='evenodd' d='M6.47776 0H7.50187C8.51903 0.0816317 9.50647 0.382468 10.3964 0.881845C11.2862 1.38122 12.0575 2.0673 12.6571 2.89296C13.2904 3.81088 13.7136 4.85702 13.8968 5.95702C14.08 7.05702 14.0187 8.18388 13.7171 9.25748C13.1449 11.1814 12.2144 12.98 10.9746 14.5585C9.88286 16.1091 8.59238 17.5097 7.1362 18.7244H6.84574C4.81434 17.0094 3.09487 14.956 1.76339 12.655C0.459242 10.4413 -0.818292 7.00791 0.666376 3.9541C1.20728 2.84636 2.02788 1.89894 3.04708 1.20547C4.06628 0.512004 5.24879 0.0964919 6.47776 0ZM4.17496 4.31399C3.47866 5.04358 3.0864 6.01099 3.07795 7.01948C3.0785 7.64647 3.22943 8.26418 3.51805 8.82078C3.80668 9.37739 4.22459 9.85665 4.73672 10.2184C5.24885 10.5801 5.84026 10.8137 6.46133 10.8996C7.08241 10.9855 7.71503 10.9212 8.30611 10.7121C9.0749 10.4413 9.73886 9.93528 10.2037 9.26579C10.6686 8.5963 10.9108 7.79738 10.8959 6.98245C10.9013 6.45875 10.7985 5.93957 10.5941 5.45738C10.3897 4.97519 10.0879 4.54037 9.7078 4.18011C9.32766 3.81985 8.87727 3.54189 8.38481 3.36362C7.89235 3.18536 7.36841 3.11062 6.84574 3.14407C5.83729 3.17223 4.87941 3.59182 4.17496 4.31399Z'/></svg>");
  background-size: 0.875rem 1.1875rem;
}

.ov-widget-showBtn {
  color: var(--widget-color-onPrimaryContainer);
  background: var(--widget-color-tertiaryContainer) center no-repeat;
  background-image: url("data:image/svg+xml;charset=utf8,<svg width='28' height='22' viewBox='0 0 28 22' fill='white' xmlns='http://www.w3.org/2000/svg' ><path d='M23.625 21.4998C23.5101 21.5 23.3963 21.4774 23.2901 21.4334C23.1839 21.3893 23.0876 21.3247 23.0065 21.2433L3.75648 1.9933C3.59931 1.82787 3.51298 1.60759 3.51591 1.37942C3.51883 1.15126 3.61076 0.933257 3.77212 0.771906C3.93347 0.610555 4.15147 0.518618 4.37963 0.515697C4.6078 0.512776 4.82808 0.599101 4.99351 0.756269L24.2435 20.0063C24.3658 20.1286 24.4491 20.2845 24.4828 20.4542C24.5165 20.6239 24.4992 20.7997 24.433 20.9596C24.3668 21.1194 24.2547 21.256 24.1109 21.3522C23.9671 21.4483 23.798 21.4997 23.625 21.4998ZM13.9814 17.9998C11.7124 17.9998 9.52437 17.3282 7.47796 16.0037C5.61476 14.8006 3.93749 13.0774 2.62718 11.0271V11.0227C3.71765 9.46033 4.91203 8.13908 6.195 7.07376C6.2066 7.06406 6.21607 7.05206 6.2228 7.03851C6.22953 7.02496 6.23337 7.01016 6.23409 6.99505C6.23481 6.97994 6.23239 6.96485 6.22698 6.95072C6.22157 6.93659 6.21328 6.92374 6.20265 6.91298L5.11328 5.82525C5.09392 5.80573 5.06792 5.79422 5.04046 5.793C5.01299 5.79179 4.98608 5.80096 4.96507 5.81869C3.60226 6.96712 2.33734 8.37587 1.18726 10.0252C0.98939 10.3092 0.880416 10.6456 0.874184 10.9917C0.867952 11.3378 0.964743 11.6779 1.15226 11.9688C2.59656 14.2291 4.45538 16.1327 6.52695 17.4731C8.85937 18.9841 11.3695 19.7498 13.9814 19.7498C15.3912 19.7454 16.7911 19.5131 18.1267 19.0618C18.1443 19.0558 18.1601 19.0455 18.1726 19.0317C18.1851 19.0179 18.1939 19.0011 18.1981 18.983C18.2023 18.9649 18.2019 18.946 18.1967 18.9281C18.1916 18.9102 18.182 18.8939 18.1688 18.8808L16.9887 17.7006C16.9615 17.6741 16.9279 17.6551 16.8912 17.6456C16.8545 17.636 16.8159 17.6361 16.7792 17.6459C15.8652 17.8813 14.9252 18.0002 13.9814 17.9998ZM26.8428 10.0482C25.3958 7.8104 23.5184 5.90947 21.414 4.55048C19.0859 3.04549 16.5156 2.24978 13.9814 2.24978C12.5865 2.25226 11.202 2.48945 9.88586 2.95142C9.86832 2.95753 9.85263 2.96799 9.84025 2.98183C9.82788 2.99568 9.81923 3.01244 9.81513 3.03055C9.81103 3.04866 9.8116 3.06752 9.8168 3.08534C9.822 3.10317 9.83165 3.11937 9.84484 3.13244L11.0234 4.31095C11.0508 4.33792 11.0849 4.35718 11.1221 4.36678C11.1594 4.37638 11.1985 4.37599 11.2355 4.36564C12.1308 4.12347 13.054 4.00046 13.9814 3.99978C16.2066 3.99978 18.3881 4.67955 20.4646 6.02322C22.3628 7.24822 24.0598 8.96978 25.3734 10.9998C25.3743 11.001 25.3749 11.0026 25.3749 11.0042C25.3749 11.0057 25.3743 11.0073 25.3734 11.0085C24.4198 12.5097 23.2366 13.8518 21.8668 14.9859C21.8551 14.9956 21.8455 15.0076 21.8387 15.0212C21.8318 15.0348 21.8279 15.0496 21.8271 15.0648C21.8264 15.08 21.8288 15.0952 21.8342 15.1094C21.8396 15.1236 21.8479 15.1365 21.8586 15.1473L22.9469 16.235C22.9661 16.2545 22.992 16.266 23.0193 16.2673C23.0467 16.2686 23.0735 16.2596 23.0945 16.2421C24.5569 15.0108 25.8227 13.5635 26.8483 11.9502C27.0296 11.666 27.1254 11.3356 27.1244 10.9984C27.1235 10.6613 27.0257 10.3315 26.8428 10.0482Z'/><path d='M14.00001 5.750001C13.60676 5.749788 13.21474 5.793815 12.83134 5.88125C12.81197 5.885272 12.79406 5.894469 12.7795 5.907862C12.76495 5.921256 12.7543 5.938346 12.74869 5.957312C12.74308 5.976278 12.74272 5.99641 12.74764 5.01557C12.75256 6.03472 12.76259 6.05218 12.77665 6.06609L18.9339 12.22172C18.9478 12.23578 18.9653 12.24581 18.9844 12.25073C19.0036 12.25565 19.0237 12.25529 19.0427 12.24968C19.0617 12.24406 19.0788 12.23342 19.0921 12.21886C19.1055 12.20431 19.1147 12.1864 19.1188 12.16703C19.2941 11.39815 19.2939 10.59965 19.1183 9.83084C18.9426 9.06203 18.5961 8.34266 18.1043 7.72616C17.61254 7.10965 16.9882 6.61186 16.27765 6.26975C15.56711 5.927631 14.78862 5.749985 14.00001 5.750001ZM9.0661 9.77828C9.05219 9.76422 9.03473 9.7542 9.01557 9.74927C8.996417 9.74435 8.976285 9.74471 8.957319 9.75032C8.938353 9.75594 8.921263 9.76659 8.907869 9.78114C8.894476 9.79569 8.885279 9.8136 8.881257 9.83297C8.682931 10.69941 8.707835 11.60202 8.953634 12.45621C9.19943 13.31039 9.65808 14.08819 10.28659 14.7167C10.9151 15.3452 11.6929 15.8039 12.54708 16.0497C13.40127 16.2955 14.30388 16.3204 15.17032 16.122C15.18968 16.118 15.2076 16.1088 15.22215 16.0954C15.2367 16.082 15.24735 16.0649 15.25296 16.046C15.25857 16.027 15.25894 16.0069 15.25402 16.9877C15.24909 15.9686 15.23907 15.9511 15.22501 15.9372L9.0661 9.77828Z'/></svg>");
  background-size: contain;
}

.ov-widget-configBtn {
  color: var(--widget-color-onPrimaryContainer);
  background: var(--widget-color-tertiaryContainer) center no-repeat;
  background-size: 1.25rem 1.25rem;
  background-image: url("data:image/svg+xml;charset=utf8,<svg width='14' height='14' viewBox='0 0 14 14' xmlns='http://www.w3.org/2000/svg'><path fill='%23ffffff' d='M6.6846 0.699215C6.49691 0.709214 6.4023 0.716907 6.39384 0.722292C6.38307 0.728445 6.32845 1.04229 6.2423 1.58845C6.18614 1.94075 6.11999 2.34075 6.09307 2.47921C6.08922 2.49921 6.08461 2.51845 6.0823 2.52075C6.07999 2.52306 6.04538 2.53152 6.00614 2.53921C5.4723 2.64845 4.91615 2.87691 4.4423 3.18306C4.37846 3.2246 4.35538 3.23537 4.34538 3.22998C4.31923 3.21691 3.83538 2.8746 3.51154 2.64152C3.33 2.50998 3.11231 2.35537 3.02769 2.29614C2.88308 2.19537 2.87462 2.18998 2.85769 2.20075C2.81308 2.22845 2.59539 2.42691 2.44154 2.58075C2.28077 2.74152 2.17462 2.85691 2.07077 2.98383L2.02385 3.04152L2.0377 3.06075C2.14385 3.21383 2.26077 3.37768 2.46923 3.66537C2.68077 3.95691 2.96154 4.35152 3.05154 4.4846L3.07538 4.51998L3.01462 4.61537C2.70154 5.10768 2.5 5.60306 2.36769 6.20383L2.35769 6.24998L2.18077 6.28229C2.08385 6.29998 1.93462 6.32537 1.85 6.33844C1.52154 6.38921 0.827699 6.50152 0.696161 6.52537L0.5577 6.54998L0.552315 6.59998C0.536931 6.75614 0.529238 7.03152 0.533085 7.28691C0.536931 7.51537 0.549238 7.78152 0.5577 7.79075C0.563085 7.79691 1.0277 7.87537 1.50385 7.94998C1.79308 7.99537 2.10539 8.04768 2.29308 8.08152L2.36 8.09383L2.36923 8.14152C2.37385 8.16691 2.39308 8.25075 2.41154 8.32691C2.53385 8.82767 2.74231 9.31075 3.01923 9.73614L3.07538 9.82152L3.04769 9.86306C2.98692 9.95383 2.70077 10.3584 2.51231 10.6192C2.40231 10.7715 2.24769 10.9892 2.16769 11.1031L2.02308 11.3092L2.05923 11.3531C2.28 11.6154 2.54616 11.8846 2.78077 12.0815C2.83769 12.1292 2.87231 12.1531 2.87846 12.1492C2.91154 12.13 3.26615 11.8784 3.54615 11.6769C4.02 11.3361 4.34538 11.1077 4.35846 11.1077C4.36153 11.1077 4.40615 11.1354 4.45846 11.1692C4.80538 11.3946 5.22846 11.5884 5.63845 11.7108C5.76307 11.7477 5.94461 11.7923 6.0323 11.8084C6.07384 11.8161 6.08461 11.8208 6.08768 11.8338C6.09768 11.8746 6.1823 12.3769 6.23461 12.7077C6.29153 13.0669 6.38307 13.6161 6.38691 13.62C6.40922 13.6423 7.32845 13.6523 7.52691 13.6323C7.58152 13.6269 7.62768 13.6215 7.62845 13.62C7.63306 13.6154 7.71691 13.1169 7.79152 12.6423C7.86614 12.1708 7.92614 11.8238 7.93229 11.82C7.93383 11.8192 7.98691 11.8077 8.04998 11.7938C8.56229 11.6854 9.11075 11.4577 9.55998 11.1669C9.61767 11.13 9.65844 11.1077 9.66613 11.1108C9.68536 11.1184 10.12 11.4246 10.4461 11.6615C10.8077 11.9238 10.9361 12.0154 11.0523 12.0954L11.1392 12.1554L11.1938 12.11C11.4015 11.9408 11.6769 11.6723 11.8707 11.4508C11.9661 11.3408 11.99 11.31 11.9846 11.3C11.9715 11.2761 11.7054 10.8984 11.4923 10.6038C11.3769 10.4431 11.2046 10.2015 11.1107 10.0669L10.9392 9.82306L11.0031 9.7246C11.2069 9.41306 11.3869 9.03537 11.51 8.65768C11.5592 8.50614 11.6177 8.28921 11.6423 8.16152C11.65 8.12537 11.6561 8.09537 11.6569 8.0946C11.6607 8.09075 12.1854 8.00229 12.5154 7.94998C12.8715 7.89306 13.4077 7.80383 13.4423 7.79537C13.4577 7.79152 13.46 7.7846 13.4646 7.73229C13.4915 7.41383 13.4907 6.85152 13.463 6.59691L13.4577 6.54998L13.4038 6.53998C13.2484 6.51152 12.8523 6.44614 12.4346 6.38075C12.1769 6.33998 11.8961 6.29383 11.8123 6.27844L11.6584 6.24998L11.63 6.12306C11.5469 5.75152 11.4223 5.40152 11.2531 5.06152C11.1684 4.89229 11.0538 4.69152 10.9738 4.57229L10.9392 4.52075L10.9823 4.45844C11.1777 4.17921 11.3107 3.99229 11.5 3.73075C11.7631 3.36691 11.8546 3.23998 11.933 3.12537L11.9923 3.03998L11.9446 2.98306C11.8315 2.85075 11.6907 2.70075 11.5377 2.54998C11.3784 2.39383 11.1754 2.21075 11.1469 2.19768C11.1315 2.19075 11.0238 2.26383 10.6615 2.52537C10.1961 2.86306 10.09 2.93845 9.90229 3.07075C9.79152 3.14845 9.69075 3.21768 9.67921 3.2246C9.65767 3.23691 9.65767 3.23691 9.56152 3.17614C9.08998 2.87691 8.57383 2.66229 8.05768 2.55075C8.00691 2.53921 7.95768 2.52845 7.94845 2.52691C7.93614 2.52383 7.92999 2.5146 7.9246 2.48691C7.90152 2.37921 7.86306 2.15229 7.80383 1.77691C7.7346 1.33691 7.67229 0.955368 7.6446 0.809215C7.63075 0.73383 7.62691 0.722292 7.61229 0.719214C7.52845 0.701523 6.89922 0.688445 6.6846 0.699215ZM7.30306 5.74921C7.52152 5.79998 7.74152 5.90152 7.8946 6.02383C7.95922 6.07537 8.07537 6.19075 8.13845 6.26537C8.26383 6.41383 8.36844 6.62691 8.42537 6.85229L8.44998 6.94998V7.16537C8.44998 7.36229 8.44844 7.38768 8.43229 7.45998C8.38075 7.68844 8.26768 7.92614 8.13229 8.08614C8.06998 8.15998 7.96229 8.26614 7.89768 8.31768C7.73768 8.44537 7.48691 8.55767 7.26845 8.60075C7.15153 8.62383 6.87537 8.62614 6.76537 8.6046C6.42614 8.53844 6.1123 8.36075 5.91076 8.12075C5.79076 7.97844 5.69076 7.80075 5.63153 7.62614C5.57461 7.45844 5.56768 7.41768 5.56384 7.21306C5.55922 7.01152 5.56461 6.95691 5.59999 6.81844C5.70922 6.39614 6.00845 6.03537 6.39768 5.85614C6.52691 5.79768 6.68999 5.74768 6.80999 5.73075C6.83614 5.72691 6.93768 5.72537 7.0346 5.72614C7.19614 5.72844 7.21999 5.72998 7.30306 5.74921Z'/></svg>");
}

.ov-widget-showBtn.active {
  background-image: url("data:image/svg+xml;charset=utf8,<svg width='28' height='18' viewBox='0 0 28 18' fill='none' xmlns='http://www.w3.org/2000/svg' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M13.9814 1.125C9.71911 1.125 5.34685 3.59195 1.90482 8.52586C1.80657 8.66824 1.75273 8.83655 1.7501 9.00952C1.74747 9.18249 1.79617 9.35236 1.89005 9.49766C4.53474 13.6375 8.84848 16.875 13.9814 16.875C19.0586 16.875 23.461 13.6277 26.1106 9.47852C26.2023 9.33606 26.251 9.17023 26.251 9.00082C26.251 8.83141 26.2023 8.66558 26.1106 8.52312C23.455 4.42156 19.0203 1.125 13.9814 1.125Z'/><circle cx='14' cy='9' r='4'/></svg>");
  background-size: contain;
}

.ov-widget-resetBtn {
  color: var(--widget-color-onPrimaryContainer);
  background: var(--widget-color-tertiaryContainer) center no-repeat;
  background-size: 1.875rem 2.5rem;
  background-image: url("data:image/svg+xml;charset=utf8,<svg xmlns='http://www.w3.org/2000/svg' width='30px' height='40px' stroke-width='2' fill='%23FFFFFF' stroke='%23FFFFFF' stroke-linejoin='round'><path d='M20 12 L12 20 L20 28 Z'/><path d='M10 10 L10 30'/></svg>");
}

.ov-widget-fastForwardBtn {
  color: var(--widget-color-onPrimaryContainer);
  background: var(--widget-color-tertiaryContainer) center no-repeat;
  background-image: url("data:image/svg+xml;charset=utf8,<svg class='svg-icon' style='width: 16px; height: 16px;vertical-align: middle;fill: %23ffffff;overflow: hidden;' viewBox='0 0 500 500' version='1.1' xmlns='http://www.w3.org/2000/svg'><path d='M277 384l182 -128l-182 -128v256zM85 128v256l182 -128z' />/></svg>");
  background-size: 1rem;
}

.ov-widget-deleteBtn {
  color: var(--widget-color-onSecondary);
  background: var(--widget-color-secondary) center no-repeat;
  background-image: url("data:image/svg+xml;charset=utf8,<svg viewBox='0 0 14 14' stroke='white' xmlns='http://www.w3.org/2000/svg'><path stroke-width='3' d='M0 0 L14 14 M0 14 L14 0' /></svg>");
  background-size: 0.875rem;
}

.ov-widget-slider {
  width: 100%;
  height: 0.3125rem;
  border: none;
  background: linear-gradient(45deg, rgb(59, 173, 277) 0%, rgb(87, 111, 230) 25%, rgb(152, 68, 183) 51%, rgb(255, 53, 127) 100%);
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
  outline: none;
}

.ov-widget-tabs {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  flex-wrap: wrap;
  padding: 0.14285rem;
  border-radius: 0.28571rem;
}

.ov-widget-tabs-label {
  text-align: center;
  background: var(--widget-color-tertiaryContainer);
  color: #fff;
  box-sizing: border-box;
  cursor: pointer;
  min-width: 3.125rem;
  margin: 0px 1px 0px 0px;
  padding: 0.3125rem 0;
  flex: 1;
}

.ov-widget-tabs-labelFirst {
  border-top-left-radius: 0.375rem;
}

.ov-widget-tabs-labelLast {
  margin-right: 0;
  border-top-right-radius: 0.375rem;
}

.ov-widget-tabs-radio {
  display: none;
}

.ov-widget-tabs-content {
  order: 1;
  width: 100%;
  border-top: 2px solid var(--widget-color-primary40);
  display: none;
  padding: 0.875rem;
  box-sizing: border-box;
  max-height: calc(95vh - 130px);
  overflow: auto;
}

.ov-widget-tabs-radio:checked+.ov-widget-tabs-label {
  border-bottom: none;
  filter: opacity(0.85);
  box-shadow: inset 0px 4px 4px rgb(0 0 0 / 25%);
}

.ov-widget-tabs-radio:checked+.ov-widget-tabs-label+.ov-widget-tabs-content {
  display: initial;
}

.ov-widget-flexColumnContainer {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
}

.ov-widget-table {
  width: 100%;
  background: #fff;
  margin: 1em 0em;
  border: none;
  border-radius: 0.28em;
  text-align: center;
  color: #5a5a5a;
  border-collapse: separate;
  border-spacing: 0px;
  font-size: 0.875rem;
}

.ov-widget-table-thead {
  background: var(--widget-color-primaryContainer);
  color: var(--widget-color-onPrimaryContainer);
}

.ov-widget-table-th {
  border: 1px solid var(--widget-color-onPrimary);
  padding: 0.78571em 0.5em;
  overflow: hidden;
  font-weight: 400;
}

.ov-widget-table-tr:hover {
  background-color: #ddd;
}

.ov-widget-table-tr.active {
  background-color: #c6e5fa;
  box-shadow: inset 0 0 0.625rem 1px var(--widget-color-onPrimaryContainer);
}

.ov-widget-divider {
  font-size: 1rem;
  border-bottom: 1px solid #e9e9e9;
  margin: 1rem 0rem;
  line-height: 1;
  height: 0;
  font-weight: 500;
  letter-spacing: .05em;
  color: #919191;
}

@media (max-width: 1024px) {
  .ov-widget-divider {
    margin: 0.5rem 0rem;
  }
}

.ov-widget-summary {
  display: flex;
  outline: none;
  padding: 0.3em 0.5em;
}

.ov-widget-summary-title {
  flex: auto;
}

.ov-widget-details {
  position: relative;
  margin: 0.3125rem;
  background: #FFEDE7;
  box-shadow: 0px 0.25rem 0.25rem rgba(0, 0, 0, 0.25);
  border-radius: 10px;
}

input[type="checkbox"].ov-widget-switch {
  font-size: 1.125rem;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 2.5em;
  height: 0.8em;
  background: #A8A0FF;
  border-radius: 3em;
  position: relative;
  cursor: pointer;
  outline: none;
  -webkit-transition: all .2s ease-in-out;
  transition: all .2s ease-in-out;
}

input[type="checkbox"].ov-widget-switch:after {
  position: absolute;
  content: "";
  width: 1.2em;
  height: 1.2em;
  border-radius: 50%;
  background: var(--widget-color-secondary);
  -webkit-box-shadow: 0 0 .25em rgba(0, 0, 0, .3);
  box-shadow: 0 0 .25em rgba(0, 0, 0, .3);
  left: 0;
  top: -0.25em;
  -webkit-transition: all .2s ease-in-out;
  transition: all .2s ease-in-out;
}

input[type="checkbox"].ov-widget-switch:checked {
  background: #FFB59D;
}

input[type="checkbox"].ov-widget-switch:checked:after {
  left: calc(100% - 1.2em);
}

.ov-widget-basemap {
  width: 2rem;
  height: 2rem;
  font-family: var(--widget-font-family);
  line-height: normal;
  font-size: 1.375rem;
}

.ov-widget-basemap:before {
  content: "\1F5FA";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%) translateZ(0);
  text-align: center;
  height: auto;
  width: auto;
  overflow: hidden;
}

.ov-widget-basemap_list {
  display: flex;
  flex-flow: column nowrap;
  padding-inline-start: 5px;
  padding-inline-end: 5px;
}

.ov-widget-basemap_item {
  display: flex;
  padding: 12px;
  cursor: pointer;
}

.ov-widget-basemap_item:hover {
  background-color: lightgrey;
}

.ov-widget-basemap_item:hover .ov-widget-basemap_item-img {
  animation-name: enhance;
  animation-duration: 1.5s;
  animation-iteration-count: infinite;
  animation-direction: alternate;
  animation-timing-function: ease-in;
}

@keyframes enhance {
  from {
    transform: scale(1.0);
  }

  to {
    transform: scale(1.1);
  }
}

.ov-widget-basemap_item.active {
  background-color: #c6e5fa;
  box-shadow: inset 0 0 10px 1px var(--widget-color-onPrimaryContainer);
}

.ov-widget-basemap_item-title {
  padding: 0 8px;
  font-size: 0.8125rem;
  display: flex;
  align-items: center;
}

.ov-widget-fadeOut {
  animation-duration: 0.3s;
  animation-name: fade;
  animation-direction: reverse;
}

.ov-widget-fadeIn {
  animation-duration: 0.3s;
  animation-name: fade;
}

@keyframes fade {
  0% {
    opacity: 0.0;
  }

  100% {
    opacity: 1.0;
  }
}

.ov-widget-timeline {
  --bar-background: #00000000;
  --bar-labelColor: #fff;
  --pin-background: var(--widget-color-secondary);
  --pin-labelColor: var(--widget-color-onSecondary);
  bottom: 0;
  /*指定*/
  left: 0;
  /*指定*/
  position: absolute;
  width: 100%;
  height: 2rem;
  font-family: var(--widget-font-family);
  line-height: normal;
  overflow: unset;
  background-color: rgba(0, 0, 0, 0);
}

.ov-widget-timeline-bar {
  position: absolute;
  left: 0;
  bottom: 0;
  cursor: pointer;
  width: 100%;
  height: 100%;
  background: var(--bar-background);
}

.ov-widget-timeline-bar-labelContainer {
  width: 100%;
  height: 100%;
  position: relative;
  overflow-x: hidden;
  pointer-events: none;
}

.ov-widget-timeline-thickLine {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 2px;
  background: #FFF;
  height: 100%;
}

.ov-widget-timeline-text {
  position: absolute;
  color: var(--bar-labelColor);
  font-size: 80%;
  width: auto;
  white-space: nowrap;
  pointer-events: none;
}

.ov-widget-timeline-pin {
  top: -2.3rem;
  cursor: grab;
  position: absolute;
  background: var(--pin-background);
  border-top-color: var(--pin-background);
  color: var(--pin-labelColor);
  display: table-cell;
  height: 1.5rem;
  white-space: nowrap;
  text-align: center;
  border-radius: .5em;
  box-shadow: 0 0 0.25rem 0 black;
  margin: 0;
  padding: 0px 0.3125rem 0px 0.3125rem;
  font-size: 1rem;
}

.ov-widget-timeline-pinNeedle {
  top: 100%;
  border: solid transparent;
  position: absolute;
  content: '';
  height: 0;
  width: 0;
  border-top-color: inherit;
  border-width: 0.3125rem;
}

.ov-widget-timeline-progress {
  position: absolute;
  cursor: pointer;
  height: 0.5rem;
  background-clip: padding-box;
  border-right: none;
  border-left: none;
  border-radius: 0.25rem;
  top: -0.5rem;
  transition: width ease-in-put .7s;
  background-color: #78767A;
  overflow: hidden;
  width: 100%;
}

.ov-widget-timeline-played {
  height: 0.5rem;
  background-color: #7168D8;
  position: relative;
  border-radius: 0.25rem;
  width: 0%;
}

.ov-widget-timeline-deadline {
  position: absolute;
  height: 100%;
  background-color: red;
  width: 3px;
  left: -999px;
  top: 0;
}

.ov-widget-timeline-block {
  position: absolute;
  height: 100%;
}

.ov-widget-timeline-block-tag {
  color: #DD3730;
  background: white;
  font-size: 1px;
  right: 1px;
  border-radius: 0.625rem;
  width: 0.8125rem;
  height: 0.8125rem;
  text-align: center;
  top: 1px;
  position: absolute;
}


.ov-widget-timeline-block-tooltip {
  position: absolute;
  text-align: center;
  bottom: 150%;
  left: 50%;
  transform: translate(-50%, 0);
  -webkit-transform: translate(-50%, 0);
  -moz-transform: translate(-50%, 0);
  -ms-transform: translate(-50%, 0);
  opacity: 0;
  transition: opacity 0.3s;
  border-radius: 0.1875rem;
  background-color: #FFF;
  width: max-content;
}

.ov-widget-timeline-block-tooltip.active {
  opacity: 1;
}

.ov-widget-timelinePlayer {
  bottom: 0;
  /*指定*/
  left: 0%;
  /*指定*/
  position: absolute;
  width: auto;
  height: auto;
  line-height: normal;
  border-radius: 0.3125rem;
  background: rgba(0, 0, 0, 0);
  overflow: unset;
}

.ov-widget-timelinePlayer-speedInputContainer::after {
  position: absolute;
  right: 0.25rem;
  transition: all 0.1s ease-in-out;
  content: "x";
}

.ov-widget-timelinePlayer-speedInputContainer:hover::after,
.ov-widget-timelinePlayer-speedInputContainer:focus-within::after {
  right: 0.875rem;
}

@supports (-moz-appearance: none) {
  .ov-widget-timelinePlayer-speedInputContainer::after {
    right: 0.875rem;
  }
}

.ov-widget-timelinePlayer-speedInput {
  width: 3.5rem;
  border: 1px solid #e9e9e9;
  outline: none;
  border-radius: 0.28571rem;
  font-size: 0.875rem;
}

.ov-widget-timelinePlayer-playBtn {
  margin: 0.3125rem auto;
  position: absolute;
  bottom: 0.8125rem;
  left: 0.8125rem;
  font-size: 1.5625rem;
  width: 1.625rem;
  height: 1.625rem;
  border-radius: 1.2em;
  box-shadow: 0.125rem 0.125rem 0.25rem 0 #000;
  text-align: center;
  background: #fff center no-repeat;
}

.ov-widget-timelinePlayer-playBtn>svg {
  stroke: var(--widget-color-secondary);
  fill: var(--widget-color-secondary);
  vertical-align: top;
}

.ov-widget-timelinePlayer-configBtn {
  position: relative;
  font-size: 0.875rem;
  width: 1.125rem;
  height: 1.125rem;
  border-radius: 1.2em;
  box-shadow: 0.125rem 0.125rem 0.25rem 0 #000;
  background: #fff;
}

.ov-widget-timelinePlayer-configBtn>svg {
  stroke: var(--widget-color-secondary);
  fill: var(--widget-color-secondary);
  vertical-align: top;
}

.ov-widget-timelinePlayer-sliderContainer {
  position: absolute;
  background-color: rgba(255, 255, 255, 0.1);
  color: #fff;
  text-align: center;
  top: -5rem;
  left: 0.75rem;
  width: 10rem;
  height: 2.1875rem;
  border-radius: 0.375rem;
  padding: 0.3125rem;
  box-sizing: content-box;
}

.ov-widget-timelinePlayer-slider {
  width: 100%;
  height: 0.3125rem;
  border: 1px solid #c4c4c4;
  appearance: none;
  -webkit-appearance: none;
  border-radius: 0.2rem;
  cursor: pointer;
  outline: none;
  box-sizing: content-box;
}

.ov-widget-timelinePlayer-slider::-webkit-slider-thumb {
  width: 0.8125rem;
  height: 0.8125rem;
  appearance: none;
  -webkit-appearance: none;
  background-color: var(--widget-color-secondary);
  border-radius: 0.4375rem;
}

.ov-widget-calendar {
  position: absolute;
  font-family: var(--widget-font-family);
  line-height: normal;
  background-color: rgba(128, 128, 128, 0.5);
  border-radius: 0.625rem;
  display: flex;
  flex-direction: column;
}


.ov-widget-calendar-header {
  display: flex;
  justify-content: space-between;
  font-weight: 700;
  padding: 0.625rem;
}

.ov-widget-calendar-body {
  pad: 0.625rem;
}
.ov-widget-calendar-week-days {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  font-weight: 600;
  cursor: pointer;
  background-color: #999;
}
.ov-widget-calendar-week-days div:hover {
  color:black;
  transform: scale(1.2);
  transition: all .2s ease-in-out;
}

.ov-widget-calendar-week-days div {
  display: grid;
  place-items: center;
  color: black;
  height: 3.125rem;
}
.ov-widget-calendar-days {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 2px;
  color: var(--color-txt);
}
.ov-widget-calendar-days div {
  width: 2.25rem;
  height: 2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.3125rem;
  position: relative;
  cursor: pointer;
}
.ov-widget-calendar-month {
  padding: 0.3125rem 0.625rem;
  border-radius: 0.625rem;
  cursor: pointer;
}

.ov-widget-calendar-year-picker {
  display: flex;
  align-items: center;
}
.ov-widget-calendar-year-change {
  height: 1.875rem;
  width: 1rem;
  border-radius: 50%;
  display: grid;
  place-items: center;
  margin: 0px 0.625rem;
  cursor: pointer;
}
.ov-widget-calendar-year-change:hover {
  background-color: var(--light-btn);
  transition:all .2s ease-in-out ;
  transform: scale(1.12);
}

.ov-widget-calendar-year-change:hover pre {
  color: var(--bg-body);
}

.ov-widget-calendar-days div span {
  position: absolute;
}

.ov-widget-calendar-days div:hover {
  transition: width 0.2s ease-in-out, height 0.2s ease-in-out;
  background-color: #fbc7d4;
  border-radius: 20%;
}
.ov-widget-calendar-days div.current-date {
  background-color: var(--widget-color-onPrimaryContainer);
  border-radius: 20%;
}

.ov-widget-attributes {
  top: 50px;
  left: 50px;
  position: absolute;
  font-family: var(--widget-font-family);
  line-height: normal;
  background-color: rgba(128, 128, 128, 0.5);
  border-radius: 0.625rem;
  display: flex;
  flex-direction: column;
  padding-bottom: 0.3125rem;
}

.ov-widget-attributesHeader {
  line-height: normal;
  font-size: 1.25rem;
  color: white;
  background: linear-gradient(to bottom, #4ca4f1, #0389ff 10%, #136ad5);
  border-radius: 0.3125rem 0.3125rem 0 0;
  box-sizing: border-box;
  padding: 0 0.625rem 0 0.625rem;
  border: none;
  height: auto;
}

.ov-widget-attributesContentContainer {
  background-color: white;
  border-radius: 0.625rem;
  display: flex;
  margin: 0.3125rem;
  word-wrap: break-word;
  padding-right: 0.3125rem;
  padding-left: 0.3125rem;
}

.ov-widget-attributesContentLabel {
  color: #136ad5;
  border-top-left-radius: 0.625rem;
  border-bottom-left-radius: 0.625rem;
  text-align: right;
  padding-right: 0.625rem;
}

.ov-widget-satellite {
  --satellite-content-background: white;
  top: 50px;
  left: 50px;
  position: absolute;
  font-family: var(--widget-font-family);
  line-height: normal;
  background-color: white;
  border-radius: 0.28571rem;
  width: 465px;
}

.ov-widget-satellite-speedHeader {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
}

.ov-widget-satellite-speedTitle {
  flex: 1;
}

.ov-widget-satellite-speedLabel {
  flex: 1;
  text-align: right;
}

.ov-widget-satellite-extraContentContainer {
  background-color: var(--satellite-content-background);
  box-sizing: border-box;
  width: 100%;
}

.ov-widget-satellite-footer {
  border-radius: 0.625rem;
  display: flex;
}

.ov-widget-satellite-importBtn {
  margin-right: 0.875rem;
}

.ov-widget-satellite-importBtn:after {
  content: "匯入";
}

.ov-widget-satellite-map2DBtn:after {
  content: "2D展示";
}

.ov-widget-satellite-exportBtn {
  margin-right: 0.875rem;
}

.ov-widget-satellite-exportBtn:after {
  content: "匯出";
}

.ov-widget-satellite-okBtn:after {
  content: "新增衛星";
}

.ov-widget-satellite-okBtn.active:after {
  content: "確認修改";
}

.ov-widget-satellite-deleteBtn {
  margin-left: 0.875rem;
}

.ov-widget-satellite-deleteBtn:after {
  content: "刪除衛星";
}

.ov-widget-satellite-resetBtn {
  margin-right: 0.875rem;
}

.ov-widget-satellite-resetBtn:after {
  content: "回復預設";
}

.ov-widget-satellite-clearBtn {
  margin-right: 0.875rem;
}

.ov-widget-satellite-clearBtn:after {
  content: "清除路徑";
}

.ov-widget-satellite-calcBtn {
  margin-right: 0.875rem;
}

.ov-widget-satellite-downloadBtn:after {
  content: "下載結果";
}

.ov-widget-satellite-calcBtn:after {
  content: "計算過頂";
}

.ov-widget-fps {
  line-height: normal;
  font-size: 1.25rem;
  color: var(--widget-color-onPrimaryContainer);
  background: var(--widget-color-primaryContainer);
  border-radius: 0.3125rem;
  box-sizing: border-box;
  padding: 0 0.625rem 0 0.625rem;
  border: none;
  height: auto;
  z-index: 1;
  position: absolute;
  white-space: nowrap;
  font-family: var(--widget-font-family);
  width: 5.5rem;
}

.ov-widget-DTM-ul {
  display: flex;
  font-size: 1rem;
}

.ov-widget-DTM-li {
  width: 50%;
  text-align: center;
  border: 1px solid #333;
  border-top-right-radius: 5em;
}

.ov-widget-DTM-li.active {
  border-bottom: none;
}

.ov-widget-DTM-DrawTypeSelect {
  flex: 0 0 auto;
  display: block;
  width: 50%;
  transition: box-shadow .1s ease-in-out;
  line-height: 1.2142em;
  border: 1px solid #e9e9e9;
  padding: 0.7857em 1em;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  border-radius: 0.28571rem;
  background-size: 0.8em;
  background-repeat: no-repeat;
  padding-right: calc(1em +0.8em*1.2);
  background-position: right 1em center;
  background-color: #fff;
  color: #5a5a5a;
  outline: none;
  font-size: 0.875rem;
  background-image: url("data:image/svg+xml;charset=utf8,<svg xmlns='http://www.w3.org/2000/svg' x='0px' y='0px' width='54.7px' height='26.3px' fill='%235a5a5a'><polygon points='54.7,0 27.3,26.3 0,0'/></svg>");
}

.ov-widget-DTM {
  font-family: var(--widget-font-family);
  line-height: normal;
  max-height: 88%;
  width: 26.5rem;
  border-radius: 0.28571rem;
}

.ov-widget-DTM-resultContentContainer {
  background: #eee;
}

.ov-widget-DTM-commandContainer {
  padding: 1em 0;
}

.ov-widget-DTM-commandFooterContainer {
  padding: 1em 0 0;
  border-top: 1px solid #e9e9e9;
}

.ov-widget-DTM-resultContainer {
  overflow: auto;
  background-color: #F3EFF4;
  width: 100%;
  height: 100%;
}

.ov-widget-DTM-image {
  max-height: 100%;
  max-width: 100%;
}

.ov-widget-unselectable {
  -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.ov-widget-DTM-DrawBtn::after {
  content: "繪製範圍";
}

.ov-widget-DTM-DrawBtn.active::after {
  content: "結束繪製";
}

.ov-widget-DTM-exportBtn {
  position: relative;
  width: 2.25rem;
  height: 1.75rem;
  margin: 0.9375rem;
  border-radius: 0.875rem;
  cursor: pointer;
  background: var(--widget-color-primaryContainer) center no-repeat url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 512 512'><title>Cloud Download</title><path d='M320 336h76c55 0 100-21.21 100-75.6s-53-73.47-96-75.6C391.11 99.74 329 48 256 48c-69 0-113.44 45.79-128 91.2-60 5.7-112 35.88-112 98.4S70 336 136 336h56M192 400.1l64 63.9 64-63.9M256 224v224.03' stroke='%23FFFFFF' stroke-linecap='round' stroke-linejoin='round' stroke-width='32'/></svg>");
}

.ov-widget-DTM-ResultContent {
  max-height: 25rem;
  width: 100%;
  overflow-y: auto;
  overflow-x: hidden;
  line-height: normal;
  border: 1px solid #e9e9e9;
}

.ov-widget-DTM-ResultContentContainer {
  background: #FFF;
}

.ov-widget-DTM-ResultContentDiv {
  padding: 0.8em;
  overflow-y: auto;
}

.ov-widget-DTM-ResultHeaderDiv {
  max-height: 25rem;
  width: 100%;
  overflow: auto;
  line-height: normal;
  border: 1px solid #e9e9e9;
  display: inline-flex;
}

.ov-widget-DTM-ResultHeaderText {
  width: 100%;
  font-size: 1.0625rem;
  margin: 0.125rem;
  padding: 0.9em 0.4em;
}

.ov-widget-DTM-dialogDiv {
  position: fixed;
  display: flex;
  width: 0;
  height: 0;
  left: 0;
  top: 0;
}

.ov-widget-DTM-dialog {
  position: relative;
  display: block;
  top: 100px;
  left: 100px;
}

.ov-widget-DTM-dialogHeader {
  cursor: move;
  font-size: 1.25rem;
  border-bottom: 1px solid #e9e9e9;
}

.ov-widget-DTM-dialogP {
  color: var(--widget-color-primaryContainer);
}

.ov-widget-DTM-dialogCloseBtn {
  position: absolute;
  right: 0;
  top: 0.3em;
  float: right;
  margin-right: 0.25rem;
  border-radius: 0.5rem;
  cursor: pointer;
}

.ov-widget-DTM-dialogCloseBtn:before {
  content: "\2716";
  font-family: var(--widget-font-family);
}

.ov-widget-trackWidget {
  font-family: var(--widget-font-family);
  line-height: normal;
  max-height: 88%;
  overflow-y: hidden;
  border-radius: 0.28571rem;
  width: 25rem;
}

.ov-widget-trackWidget-resultRecord {
  border: 1px #000 dashed;
  height: 1.875rem;
}

.ov-widget-trackWidget-targetInput {
  width: 5rem;
  margin-left: 0.625rem;
}

.ov-widget-seabed {
  font-family: var(--widget-font-family);
  line-height: normal;
  max-height: 88%;
  overflow-y: hidden;
  border-radius: 0.28571rem;
  width: 12.5rem;
}

.ov-widget-seabed-bubble {
  border-radius: 0.25rem;
}

.ov-widget-seabed-bubble-content {
  border-radius: 0.25rem;
  text-align: center;
}

.ov-widget-sensorthings-ResultContent {
  max-height: 25rem;
  width: 100%;
  overflow: auto;
  line-height: normal;
  border: 1px solid #e9e9e9;
  display: block;
}

.ov-widget-sensorthings-ResultContent-count {
  text-align: left;
}

.ov-widget-sensorthings-ResultContent-progress {
  width: 50%;
}

.ov-widget-pipeline {
  font-family: var(--widget-font-family);
  line-height: normal;
  width: 25rem;
  overflow-y: hidden;
  border-radius: 0.28571rem;
  color: var(--widget-color-onTertiary);
  box-sizing: content-box;
}

.ov-widget-pipeline-switch {
  top: 0.5rem;
  left: 15rem;
}

.ov-widget-pipeline-sliderContainer {
  text-align: center;
  width: 100%;
  height: 2.25rem;
  border-radius: 0.375rem;
  padding: 0.3125rem;
  box-sizing: border-box;
}

.ov-widget-pipeline-layerListLabel {
  background-color: var(--widget-color-primary40);
  color: #fff;
  height: 2.1875rem;
  font-size: 1.5625rem;
  padding-left: 0.3125rem;
}

.ov-widget-pipeline-layerListContainer {
  background-color: #F3EFF4;
}

.ov-widget-pipeline-layerTitle {
  height: 1.25rem;
}

.ov-widget-pipeline-layerContainer {
  background-color: #FFEDE7;
  border-radius: 0.375rem;
  height: 1.875rem;
  padding: 0.3125rem;
  margin: 0.3125rem;
  font-size: 1.25rem;
  box-shadow: 0 0.25rem 0.25rem rgba(0, 0, 0, 0.25);
  position: relative;
  box-sizing: content-box;
}

.ov-widget-bestCommentatorPlayer {
  font-family: var(--widget-font-family);
  line-height: normal;
  overflow-y: hidden;
  border-radius: 0.28571rem;
  width: 28rem;
}

.ov-widget-bestCommentatorPlayer-chapterNameBox {
  font-size: 1.5rem;
  background: #001258;
  color: white;
  border: 1px solid black;
  padding: 1rem 1rem 0.5rem 1rem;
  border-bottom: none;
}

.ov-widget-bestCommentatorPlayer-descriptionBox {
  font-size: 1rem;
  color: white;
  max-height: 30%;
  min-height: 30vh;
  overflow-y: auto;
  line-break: anywhere;
  margin-bottom: 0.3125rem;
  background: #001258;
  border: 1px solid black;
  border-top: none;
  padding: 0 1rem 1rem 1rem;
}


.ov-widget-bestCommentatorPlayer-detailContainer {
  width: 100%;
  max-height: calc(100% - 2.584rem);
  display: flex;
  flex-direction: column;
}

.ov-widget-bestCommentatorPlayer-progress {
  position: relative;
  cursor: pointer;
  height: 0.5rem;
  background-clip: padding-box;
  border-right: none;
  border-left: none;
  border-radius: 0.25rem;
  transition: width ease-in-put .7s;
  background-color: #78767A;
}

.ov-widget-bestCommentatorPlayer-played {
  height: 0.5rem;
  background-color: var(--widget-color-secondary);
  position: relative;
  border-radius: 0.25rem;
  width: 0%;
}

.ov-widget-bestCommentatorPlayer-infoCmdContainer {
  width: 100%;
  background-color: var(--widget-color-tertiaryContainer);
  margin: 0.3125rem 0;
}

.ov-widget-bestCommentatorPlayer-btn {
  display: inline-block;
  background: white center no-repeat;
  border-radius: 1.25rem;
  cursor: pointer;
  width: 2rem;
  height: 2rem;
  border: none;
  margin: 0.584rem;
  padding: 0px;
}

.ov-widget-bestCommentatorPlayer-prevBtn {
  margin-left: 7.5rem;
}

.ov-widget-bestCommentatorPlayer-btn>svg {
  fill: var(--widget-color-tertiaryContainer);
  stroke: var(--widget-color-tertiaryContainer);
  vertical-align: top;
}

.ov-widget-bestCommentatorPlayer-playBtn {
  margin-left: 1.875rem;
}

.ov-widget-bestCommentatorPlayer-nextBtn {
  margin-left: 1.875rem;
}

.ov-widget-bestCommentatorPlayer-autoPlayNextInput {
  margin-left: 3.25rem;
}

.ov-widget-bestCommentatorPlayer-summary-title {
  flex: auto;
  color: var(--widget-color-tertiaryContainer);
  font-weight: bolder;
  font-size: 1.125rem;
}

.ov-widget-bestCommentatorPlayer-table-thead {
  background: var(--widget-color-tertiaryContainer);
  color: var(--widget-color-onPrimaryContainer);
}

.ov-widget-bestCommentatorPlayer-table-th {
  border: 1px solid var(--widget-color-onPrimary);
  padding: 0.78571em 0.5em;
  overflow: hidden;
  font-weight: 400;
}

.ov-widget-bestCommentatorPlayer-table-tr {
  color: var(--widget-color-tertiaryContainer);
}

.ov-widget-bestCommentatorPlayer-table-tr:hover {
  background-color: #ddd;
}

.ov-widget-bestCommentatorPlayer-table-tr.active {
  background-color: #ffdbcf;
}

.ov-widget-memoryInfo-contentPadding {
  padding: 0;
}

.ov-widget-memoryInfo-contentMargin {
  margin: 0;
}

.ov-widget-memoryInfo-label {
  text-align: center;
  background: var(--widget-color-tertiaryContainer);
  color: #fff;
  box-sizing: border-box;
  width: 100%;
  margin: 0;
}

.ov-widget-memoryInfo-table {
  width: 100%;
  background: #fff;
  margin: 0;
  border: none;
  border-radius: 0.28em;
  text-align: center;
  color: #5a5a5a;
  border-collapse: separate;
  border-spacing: 0px;
}

.ov-widget-memoryInfo-table-th th {
  border: 1px solid var(--widget-color-onPrimary);
  padding: 0.78571em 0.5em;
  overflow: hidden;
  font-size: 0.875rem;
  background-color: var(--widget-color-primary40);
  color: #fff;
}

.ov-widget-memoryInfo-table-tr tr:hover {
  background-color: #ddd;
}

/* @license C3.js v0.7.20 | (c) C3 Team and other contributors | http://c3js.org/ */
.c3 svg {
  font: 10px sans-serif;
  -webkit-tap-highlight-color: transparent
}

.c3 line,
.c3 path {
  fill: none;
  stroke: #000
}

.c3 text {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none
}

.c3-bars path,
.c3-event-rect,
.c3-legend-item-tile,
.c3-xgrid-focus,
.c3-ygrid {
  shape-rendering: crispEdges
}

.c3-chart-arc path {
  stroke: #fff
}

.c3-chart-arc rect {
  stroke: #fff;
  stroke-width: 1
}

.c3-chart-arc text {
  fill: #fff;
  font-size: 13px
}

.c3-grid line {
  stroke: #aaa
}

.c3-grid text {
  fill: #aaa
}

.c3-xgrid,
.c3-ygrid {
  stroke-dasharray: 3 3
}

.c3-text.c3-empty {
  fill: grey;
  font-size: 2em
}

.c3-line {
  stroke-width: 1px
}

.c3-circle {
  fill: currentColor
}

.c3-circle._expanded_ {
  stroke-width: 1px;
  stroke: #fff
}

.c3-selected-circle {
  fill: #fff;
  stroke-width: 2px
}

.c3-bar {
  stroke-width: 0
}

.c3-bar._expanded_ {
  fill-opacity: 1;
  fill-opacity: .75
}

.c3-target.c3-focused {
  opacity: 1
}

.c3-target.c3-focused path.c3-line,
.c3-target.c3-focused path.c3-step {
  stroke-width: 2px
}

.c3-target.c3-defocused {
  opacity: .3 !important
}

.c3-region {
  fill: #4682b4;
  fill-opacity: .1
}

.c3-region text {
  fill-opacity: 1
}

.c3-brush .extent {
  fill-opacity: .1
}

.c3-legend-item {
  font-size: 12px
}

.c3-legend-item-hidden {
  opacity: .15
}

.c3-legend-background {
  opacity: .75;
  fill: #fff;
  stroke: #d3d3d3;
  stroke-width: 1
}

.c3-title {
  font: 14px sans-serif
}

.c3-tooltip-container {
  z-index: 10
}

.c3-tooltip {
  border-collapse: collapse;
  border-spacing: 0;
  background-color: #fff;
  empty-cells: show;
  -webkit-box-shadow: 7px 7px 12px -9px #777;
  -moz-box-shadow: 7px 7px 12px -9px #777;
  box-shadow: 7px 7px 12px -9px #777;
  opacity: .9
}

.c3-tooltip tr {
  border: 1px solid #ccc
}

.c3-tooltip th {
  background-color: #aaa;
  font-size: 14px;
  padding: 2px 5px;
  text-align: left;
  color: #fff
}

.c3-tooltip td {
  font-size: 13px;
  padding: 3px 6px;
  background-color: #fff;
  border-left: 1px dotted #999
}

.c3-tooltip td>span {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin-right: 6px
}

.c3-tooltip .value {
  text-align: right
}

.c3-area {
  stroke-width: 0;
  opacity: .2
}

.c3-chart-arcs-title {
  dominant-baseline: middle;
  font-size: 1.3em
}

.c3-chart-arcs .c3-chart-arcs-background {
  fill: #e0e0e0;
  stroke: #fff
}

.c3-chart-arcs .c3-chart-arcs-gauge-unit {
  fill: #000;
  font-size: 16px
}

.c3-chart-arcs .c3-chart-arcs-gauge-max {
  fill: #777
}

.c3-chart-arcs .c3-chart-arcs-gauge-min {
  fill: #777
}

.c3-chart-arc .c3-gauge-value {
  fill: #000
}

.c3-chart-arc.c3-target g path {
  opacity: 1
}

.c3-chart-arc.c3-target.c3-focused g path {
  opacity: 1
}

.c3-drag-zoom.enabled {
  pointer-events: all !important;
  visibility: visible
}

.c3-drag-zoom.disabled {
  pointer-events: none !important;
  visibility: hidden
}

.c3-drag-zoom .extent {
  fill-opacity: .1
}

.ov-widget-columnAttributes-contentContainer {
  background: transparent;
  border-radius: 0px 0px 10px 10px;
  display: flex;
  flex-direction: column;
  margin: auto;
  word-wrap: break-word;
  padding-right: 0.3125rem;
  padding-left: 0.3125rem;
}

.ov-widget-columnAttributes-attributeContainer {
  padding: 0.3125rem;
}

.ov-widget-columnAttributes-header {
  line-height: normal;
  font-size: 1.25rem;
  color: white;
  background: linear-gradient(to bottom, #4ca4f1, #0389ff 10%, #136ad5);
  border-radius: 0.3125rem 0.3125rem 0 0;
  box-sizing: border-box;
  padding: 0 0.625rem 0 0.625rem;
  border: none;
  height: auto;
}

.ov-widget-columnAttributes-content {
  line-height: normal;
  font-size: 1.25rem;
  color: #0389ff;
  background: white;
  border-radius: 0 0 0.3125rem 0.3125rem;
  box-sizing: border-box;
  padding: 0 0.625rem 0 0.625rem;
  border: none;
  height: auto;
}

.ov-widget-KML-main {
  font-family: var(--widget-font-family);
  line-height: normal;
  background-color: rgba(128, 128, 128, 0.5);
  border-radius: 0.625rem;
  display: flex;
  flex-direction: column;
  width: 25rem;
}

.ov-widget-KML-content {
  order: 1;
  width: 100%;
  padding: 0.875rem;
  box-sizing: border-box;
  max-height: calc(95vh - 130px);
  overflow: auto;
  color: #000000;
}

.ov-widget-KML-attribute {
  order: 1;
  width: 100%;
  padding: 0.875rem;
  box-sizing: border-box;
  max-height: calc(95vh - 130px);
  overflow: auto;
  color: #000000;
  display: flex;
}

.ov-widget-KML-attribute-checkbox {
  display: inline-block;
  width: 75%;
  height: 75%;
  border: 1px solid #e9e9e9;
  outline: none;
  border-top-right-radius: 0.28571rem;
  border-bottom-right-radius: 0.28571rem;
  margin: auto;
}

.ov-widget-KML-list {
  overflow: auto;
  background-color: #F3EFF4;
  color: #000000;
  width: 100%;
  height: 100%;
  border-radius: 0px 0px 0.625rem 0.625rem;
}

.ov-widget-KML-list-entity {
  margin: 0.3125rem;
  background: #FFEDE7;
  box-shadow: 0 0.25rem 0.25rem rgba(0, 0, 0, 0.25);
  border-radius: 0.625rem;
}

.ov-widget-ogcLayer-main {
  width: 25rem;
}

.ov-widget-ogcLayer-addOGCLayerContainer {
  padding: 0.625rem;
}

.ov-widget-ogcLayer-ogcLayerListContainer {
  overflow: auto;
  background-color: #F3EFF4;
  color: #000000;
  width: 100%;
  height: 100%;
  border-radius: 0 0 0.625rem 0.625rem;
}

.ov-widget-ogcLayer-urlContainer {
  display: flex;
}

.ov-widget-ogcLayer-urlText {
  padding-left: 0;
  font-size: inherit;
  width: 100%;
}

.ov-widget-ogcLayer-summary-title {
  flex: auto;
  height: 1.875rem;
}

.ov-widget-ogcLayer-summary-icon {
  width: 1.75rem;
  height: 1.75rem;
  float: right;
  background-image: url("data:image/svg+xml;charset=utf8,<svg xmlns='http://www.w3.org/2000/svg' x='0px' y='0px' width='28px' height='28px' stroke='white' stroke-width='2'><path d='M 0 0 H 28 M 0 14 H 28 M 0 28 H 28'/></svg>");
  background-repeat: no-repeat;
}

.ov-widget-ogcLayer-optionContainer {
  height: 1.875rem;
  padding: 0.3em 0.5em;
}

.ov-widget-ogcLayer-opacitySlider {
  width: 9.375rem;
  height: 0.3125rem;
  border: 1px solid #c4c4c4;
  appearance: none;
  -webkit-appearance: none;
  border-radius: 3px;
  cursor: pointer;
  outline: none;
  box-sizing: content-box;
}

.ov-widget-readilyAvailableHouse-main {
  width: 34.375rem;
}

.ov-widget-readilyAvailableHouse-content {
  padding: 0.625rem;
}

.ov-widget-readilyAvailableHouse-fileText {
  width: 70%;
}

.ov-widget-readilyAvailableHouse-selectFileLabel {
  margin-left: 0.625rem;
}

.ov-widget-readilyAvailableHouse-checkLabel {
  padding: 0.5833em 0.5833em;
}

.ov-widget-readilyAvailableHouse-checkContainer {
  border: 1px solid #e9e9e9;
}

.ov-widget-readilyAvailableHouse-error {
  color: #fff;
  background: #ff0000 center no-repeat url("data:image/svg+xml;charset=utf8,<svg width='14' height='14' viewBox='0 0 14 14' stroke='white' xmlns='http://www.w3.org/2000/svg'><path stroke-width='3' d='M0 0 L14 14 M0 14 L14 0' /></svg>");
}

.ov-widget-readilyAvailableHouse-success {
  color: #fff;
  background: #00ff00 center no-repeat url("data:image/svg+xml;charset=utf8,<svg width='14' height='14' viewBox='0 0 14 14' stroke='white' xmlns='http://www.w3.org/2000/svg'><path stroke-width='3' d='M0 7 L7 14 M7 14 L14 0' /></svg>");
}

.ov-widget-gmlPipeline-main {
  font-family: var(--widget-font-family);
  line-height: normal;
  overflow-y: hidden;
  border-radius: 0.28571rem;
  width: 31.25rem;
}

.ov-widget-gmlPipeline-container {
  order: 1;
  width: 100%;
  border-top: 0.125rem solid var(--widget-color-primary40);
  padding: 1rem;
  box-sizing: border-box;
  min-height: 5vh;
  max-height: 50vh;
  overflow: auto;
}

.ov-widget-gmlPipeline-inputItem {
  padding: 0.5833em 0.833em;
}

.ov-widget-gmlPipeline-inputContainerNonFirst {
  padding-top: 0.5833em;
}

.ov-widget-gmlPipeline-tableContainer {
  max-height: 40vh;
  overflow: auto;
}

.ov-widget-gmlPipeline-table {
  margin: 0;
}

.ov-widget-gmlPipeline-thead-tr {
  background-color: inherit;
}

.ov-widget-gmlPipeline-thead-th {
  background-color: inherit;
  position: sticky;
  top: 0;
  z-index: 1;
}

.ov-widget-gmlPipeline-smallBtn-green {
  background-color: lightgreen;
}

.ov-widget-gmlPipeline-smallBtn-red {
  background-color: pink;
}

.ov-widget-gmlPipeline-textarea {
  resize: none;
  width: 100%;
  box-sizing: border-box;
}

.ov-widget-gmlPipeline-progress {
  width: 100%;
  height: 1.875rem;
  margin-left: 0.625rem;
}

.ov-widget-gmlPipeline-Button:disabled {
  background-color: #848484;
}

.ov-widget-gmlPipeline-Button:disabled:hover {
  cursor: not-allowed;
}

.ov-widget-gmlPipeline-copyButton {
  border: none;
  border-radius: 0.3125rem;
  background-color: #442D97;
  color: white;
  text-align: center;
  padding: 0.3125rem;
  width: 2.1875rem;
  margin-left: 0.125rem;
}

.ov-widget-photogrammetryModelLayerToI3S-main {
  font-family: var(--widget-font-family);
  line-height: normal;
  overflow-y: hidden;
  border-radius: 0.28571rem;
  width: 34.375rem;
}

.ov-widget-photogrammetryModelLayerToI3S-copyButton {
  border: none;
  border-radius: 0.3125rem;
  background-color: #442D97;
  color: white;
  text-align: center;
  padding: 0.3125rem;
  width: 2.1875rem;
  margin-left: 0.125rem;
}

.ov-widget-photogrammetryModelLayerToI3S-copyButton:hover {
  cursor: pointer;
}

.ov-widget-photogrammetryModelLayerToI3S-progress {
  width: 100%;
  height: 1.875rem;
  margin-left: 0.625rem;
}

.ov-widget-photogrammetryModelLayerToI3S-textarea {
  resize: vertical;
}

.ov-widget-multiWindow-main {
  font-family: var(--widget-font-family);
  line-height: normal;
  overflow-y: hidden;
  border-radius: 0.28571rem;
  width: 21.875rem;
}

.ov-widget-multiWindow-contentDiv {
  padding: 0.625rem;
  overflow: hidden;
}

.ov-widget-multiWindow-viewsBox {
  display: flex;
  flex-wrap: wrap;
}

.ov-widget-multiWindow-activeView {
  box-sizing: border-box;
  position: relative;
  pointer-events: none;
  width: 100%;
  height: 100%;
  border: 0.375rem #ff000073 solid;
  z-index: 2;
  top: -100%;
  left: 0;
}

.ov-widget-multiWindow-mapSwip {
  height: 100%;
  width: 0%;
  position: relative;
  z-index: 1;
}

.ov-widget-multiWindow-mapSwipBar {
  width: 0.3125rem;
  height: 100%;
  border-left: 1px solid #848484;
  border-right: 1px solid #848484;
  background: rgba(218, 218, 218, 0.6);
  z-index: 1;
}

.ov-widget-multiWindow-swipButton {
  position: relative;
  background: grey;
  line-height: 3rem;
  width: 5.875rem;
  height: 3rem;
  top: -30%;
  left: -45px;
  border-radius: 1rem;
  z-index: 2;
  cursor: pointer;
}

.ov-widget-multiWindow-swipButton::after {
  content: "keyboard_arrow_left";
  padding-left: 0.625rem;
  float: left;
}

.ov-widget-multiWindow-swipButton::before {
  content: "keyboard_arrow_right";
  padding-right: 0.625rem;
  float: right;
}

.ov-widget-BuildingOverlay-main {
  font-family: var(--widget-font-family);
  line-height: normal;
  overflow-y: hidden;
  border-radius: 0.28571rem;
  width: 34.375rem;
}

.ov-widget-BuildingOverlay-contentDiv {
  padding: 0.625rem;
  overflow: hidden;
}

.ov-widget-BuildingOverlay-button {
  width: 29%;
  margin-left: 2%;
  margin-right: 2%;
}

.ov-widget-BuildingOverlay-v-center {
  display: flex;
  justify-content: center;
}

.ov-widget-LandApi-tab-box {
  display: flex;
  width: 100%;
}

.ov-widget-LandApi-tab-button:first-child {
  border-top-left-radius: 0.3125rem;
}

.ov-widget-LandApi-tab-button:last-child {
  border-top-right-radius: 0.3125rem;
}

.ov-widget-LandApi-tab-button {
  width: 100%;
  background-color: var(--widget-color-tertiaryContainer);
  margin-left: 1px;
  color: #fff;
  padding: 0.3125rem;
  text-align: center;
  cursor: pointer;
}

.ov-widget-LandApi-tab-contain {
  padding: 1.25rem;
  display: none;
  border: #aaaaaa 1px solid;
  border-radius: 0 0 0.3125rem 0.3125rem;
  max-height: 37.5rem;
  overflow-x: auto;
}

.ov-widget-LandApi-content {
  max-height: 37.5rem;
  overflow-x: auto;
  padding: 1.25rem;
}

.ov-widget-LandApi-messagebox::before {
  content: "提示訊息:";
  text-align: center;
}

.ov-widget-LandApi-warningBox {
  color: red;
}

.ov-widget-LandApi-InputButton {
  width: 3.125rem;
}

.ov-widget-LandApi-table {
  border-collapse: collapse;
  margin-bottom: 0.625rem;
  width: 100%;
  font-size: 0.25rem;
}

.ov-widget-LandApi-table thead {
  border-bottom: #000 0.125rem solid;
}

.ov-widget-LandApi-table tbody tr {
  border-bottom: #000 1px solid;
}


.ov-widget-LandApi-table tbody tr:nth-of-type(odd) {
  background-color: rgba(0, 0, 0, 0.05);
}

.ov-widget-LandApi-table td {
  padding: 0.3125rem;
}

.ov-widget-LandApi-colTable {
  border-collapse: collapse;
  margin-bottom: 0.625rem;
  width: 100%;
  font-size: 0.25rem;
  table-layout: fixed;
}

.ov-widget-LandApi-colTable thead {
  background-color: #EDE8F8;
  padding: 0.125rem;
}

.ov-widget-LandApi-colTable tbody tr td:nth-of-type(odd) {
  background-color: rgba(0, 0, 0, 0.05);
}

.ov-widget-LandApi-colTable tbody tr td {
  border: #ddd 1px solid;
}

.ov-widget-LandApi-main {
  font-family: var(--widget-font-family);
  line-height: normal;
  overflow-y: hidden;
  border-radius: 0.28571rem;
  width: 43.75rem;
}

.ov-widget-Projector-main {
  font-family: var(--widget-font-family);
  line-height: normal;
  overflow-y: hidden;
  border-radius: 0.28571rem;
  width: 25rem;
}

.ov-widget-Projector-discBox {
  background-color: white;
  width: 8.75rem;
  height: 8.75rem;
  position: relative;
  padding: 0;
  margin: 0;
  --size: 4.0625rem;
  --hover: grey;
  clip-path: circle(49%);
}

.ov-widget-Projector-discBox>*:nth-child(1) {
  width: var(--size);
  height: calc(var(--size)*2);
  position: absolute;
  border: 0;
  top: 0.3125rem;
  clip-path: polygon(0% 0%, 0% 100%, 100% 50%);
}

.ov-widget-Projector-discBox>*:nth-child(2) {
  width: var(--size);
  height: calc(var(--size)*2);
  ;
  position: absolute;
  right: 0px;
  top: 0.3125rem;
  border: 0;
  clip-path: polygon(100% 0%, 100% 100%, 0% 50%);
}

.ov-widget-Projector-discBox>*:nth-child(3) {
  height: var(--size);
  width: calc(var(--size)*2);
  ;
  position: absolute;
  top: 0px;
  left: 0.3125rem;
  border: 0;
  clip-path: polygon(100% 0%, 50% 100%, 0% 0%);
}

.ov-widget-Projector-discBox>*:nth-child(4) {
  height: var(--size);
  width: calc(var(--size)*2);
  ;
  bottom: 0;
  left: 0.3125rem;
  position: absolute;
  border: 0;
  clip-path: polygon(0% 100%, 50% 0%, 100% 100%);
}

.ov-widget-Projector-discBox>button:active {
  box-shadow: 0 0 5.625rem var(--widget-color-onPrimary) inset;
  color: white;
}

.ov-widget-Projector-discBox>button {
  background-color: white;
  color: black;
  box-shadow: 0 0 5.625rem var(--widget-color-primary) inset;
  transition: 0.1s;
  border: 0;
  cursor: pointer;
}

.ov-widget-Projector-discBox>div {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  left: 50px;
  top: 50px;
  position: absolute;
  background-color: white;
}

.ov-widget-Projector-controlsBox {
  display: flex;
}

.ov-widget-Projector-controlsBoxChild {
  margin: 0.3125rem;
}

.ov-widget-Projector-controlsBoxChild>span {
  color: black;
  text-align: center;
  display: block;
  padding: 0.25rem;
}

.ov-widget-Projector-heightBox {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 8.75rem;
  width: 5.3125rem;
}

.ov-widget-Projector-heightBox>button {
  box-shadow: 0 0 5.625rem var(--widget-color-primary) inset;
  color: black;
  transition: 0.1s;
  border: 0;
  border-radius: 0.3125rem;
  padding: 0.75rem;
  cursor: pointer;
}

.ov-widget-Projector-heightBox>button:nth-child(2) {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  margin-top: 0.1875rem;
}

.ov-widget-Projector-heightBox>button:nth-child(1) {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  margin-bottom: 0.1875rem;
}

.ov-widget-Projector-heightBox>button:active {
  box-shadow: 0px 0px 90px var(--widget-color-onPrimary) inset;
  color: white;
}

.ov-widget-Projector-switch {
  margin-top: 0.3125rem !important;
}

.ov-widget-Projector-bottomFlex {
  display: flex;
  flex-wrap: wrap;
  margin: 0.1em;
}

.ov-widget-Projector-listItem {
  padding-bottom: 0.3125rem;
}

.ov-widget-Projector-btn {
  margin: 0.3125rem;
  margin-left: 0.125rem;
  margin-bottom: 0.25rem;
  display: inline-block;
  padding: 0.78571em 1.5em;
  background-color: #442D97;
  color: white;
  border-radius: 0.3125rem;
  cursor: pointer;
  width: 100%;
  text-align: center;
  font-weight: 700;
  font-size: 0.875rem;
  flex: 1;
  border: none;
}

.ov-widget-Projector-btn:first-child {
  margin-left: 0.3125rem;
}

.ov-widget-Projector-btn:not([disabled]):active {
  background-color: #704FB5;
}

.ov-widget-los-infoBox {
  padding: 0.3em;
  border: 1px solid #bfb2cc;
  background-color: #f5f4f5;
  border-radius: 0.4em;
  margin-top: 0.2em;
  color: black;
}

.ov-widget-los-btn {
  margin: 0.3125rem;
  margin-left: 0.125rem;
  margin-bottom: 0.25rem;
  display: inline-block;
  padding: 0.78571em 1.5em;
  background-color: #e6e6e6;
  color: #5a5a5a;
  border-radius: 0.3125rem;
  cursor: pointer;
  width: 100%;
  text-align: center;
  font-weight: 700;
  font-size: 0.875rem;
  flex: 1;
  border: none;
}

.ov-widget-los-btn:hover {
  background-color: lightslategrey;
  color: white;
}

.ov-widget-los-btn:active {
  background-color: rgb(94, 107, 121);
  color: white;
}