@import url("https://fonts.googleapis.com/css?family=Source+Sans+Pro");html {
    font-family: sans-serif;
    line-height: 1.15;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%
}

body {
  font-family: "Source Sans Pro", -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

#main > .card {
  margin-bottom: 2rem;
}

/* 行動裝置的表格排版工具 */
@media only screen and (max-width: 767.9px) { /* size md */
  table.custom-responsive-table-md,
  table.custom-responsive-table-md thead,
  table.custom-responsive-table-md tbody,
  table.custom-responsive-table-md th,
  table.custom-responsive-table-md td,
  table.custom-responsive-table-md tr {
    display: block;
  }

  table.custom-responsive-table-md thead tr {
    display: none;
  }

  table.custom-responsive-table-md tr {
    border: 2px solid;
    border-color: inherit;
  }

  table.custom-responsive-table-md td {
    border: none;
    border-bottom: 1px solid;
    border-color: inherit;
    position: relative;
    padding-left: 35%;
    white-space: normal;
  }

  table.custom-responsive-table-md td:last-child {
    border-bottom: none;
  }

  table.custom-responsive-table-md td:before {
    content: attr(data-title);
    position: absolute;
    left: 4px;
    white-space: nowrap;
    text-align: left;
    font-weight: bold;
  }

  table.custom-responsive-table-md tr.default-content {
    border: none;
  }

  table.custom-responsive-table-md tr.default-content td {
    padding-left: 0;
  }
}

/* navbar 使用者ID顯示 */
#nav > .navbar-brand.dropdown:first-of-type {
  max-width: calc(100% - 4rem);
}
@media only screen and (min-width: 992px) {
  #nav > .navbar-brand.dropdown:first-of-type {
    max-width: calc(100% - 36rem);
  }
}
@media only screen and (max-width: 991px) {
  #nav > .navbar-brand.dropdown:first-of-type {
    max-width: calc(100% - 4rem);
  }
}

/* 在必要的輸入的label上加上asterisk */
[data-required]:after {
  font-size: 0.75rem;
  content: '＊';
  vertical-align: super;
}

.media-body.row {
  overflow: hidden;
}

/* 暗色主題 */
.container-dark .bg-info .media-body {
  color: #ffffff;
}
.container-dark .bg-info .media-body a {
  color: #000000;
}
.container-dark .table-success a {
  color: #000000;
}
.container-dark .modal-content {
  border: 1px solid #dddddd;
}
.container-dark .modal-header {
  border-bottom: 1px solid #dddddd;
}
.container-dark .modal-footer {
  border-top: 1px solid #dddddd;
}
.container-dark .company-card {
  border: 1px solid #000;
  box-shadow: 6px 6px 6px rgba(0,0,0,1);
}
.container-dark .company-card-default {
  background: rgb(0, 43, 54);
}
.container-dark .company-card-default .row {
  color: #839496;
}
.container-dark .company-card-default .row-info p {
  color: #839496;
}
.container-dark .company-card-default .row-info small {
  color: #839496;
}
.container-dark .company-card-default .btn-tab {
  color: #839496;
}
.container-dark pre code {
  color: #839496
}

.btn {
  cursor: pointer;
}

.btn-favorite {
  color: #f00;
  margin-left: auto;
  margin-right: 1rem;
  cursor: pointer;
}

.pointer {
  cursor: pointer;
}

.border-grid-body {
  border-top: 1px solid #dddddd;
  border-left: 1px solid #dddddd;
}
.border-grid {
  border-bottom: 1px solid #dddddd;
  border-right: 1px solid #dddddd;
}

/* XXX 暫時性修正使用 panelFolder 時舊的 border-grid 的邊框樣式 */
.border-grid-body.temp-fix {
  margin-left: -1rem;
  margin-right: calc(-1rem - 0.5px);
  margin-bottom: -1px;
}

.nav-dropdown-menu {
  max-height: 300px;
  overflow-y: auto;
}

.company-description,
.agenda-description {
  word-break: break-all;
  padding: 5px 15px;
}

.company-description {
  height: 300px;
  overflow-y: auto;
}

.markdown-container h1 {
  font-size: 1.5rem;
}

.markdown-container h2 {
  font-size: 1.3rem;
}

.markdown-container h3 {
  font-size: 1.15rem;
}

.markdown-container h4,
.markdown-container h5,
.markdown-container h6 {
  font-size: 1rem;
}

.markdown-container blockquote {
  font-weight: bold;
  font-style: italic;
  margin-left: 1rem;
  border-left: 2px solid #999;
  padding-left: 1rem;
}

.markdown-container pre {
  white-space: pre-wrap;       /* Since CSS 2.1 */
  white-space: -moz-pre-wrap;  /* Mozilla, since 1999 */
  white-space: -pre-wrap;      /* Opera 4-6 */
  white-space: -o-pre-wrap;    /* Opera 7 */
  word-wrap: break-word;       /* Internet Explorer 5.5+ */
}

.markdown-container table {
  margin-bottom: 0.5em;
}

.markdown-container table th, .markdown-container table td {
  border: 1px solid;
  padding: 0.25em;
}


.account-card {
  color: #000;
  padding: 0px;
  max-width: 600px;
  max-height: 600px;
  border: 1px solid #dddddd;
  border-radius: 5px;
  box-shadow: 6px 6px 6px rgba(0,0,0,0.23);
}
.account-card-default {
  background: #fff;
}
.account-card-super-admin {
  background: #a80000;
  background: -webkit-linear-gradient(160deg, #fffbd5, #a80000 100%);
  background: -o-linear-gradient(160deg, #fffbd5, #a80000 100%);
  background: -moz-linear-gradient(160deg, #fffbd5, #a80000 100%);
  background: linear-gradient(160deg, #fffbd5, #a80000 100%);
}
.account-card-general-manager {
  background: #a80000;
  background: -webkit-linear-gradient(160deg, #fffbd5, #a80000 100%);
  background: -o-linear-gradient(160deg, #fffbd5, #a80000 100%);
  background: -moz-linear-gradient(160deg, #fffbd5, #a80000 100%);
  background: linear-gradient(160deg, #fffbd5, #a80000 100%);
}
.account-card-developer {
  background: #39c5bb;
  background: -webkit-linear-gradient(160deg, #fffbd5, #39c5bb 120%);
  background: -o-linear-gradient(160deg, #fffbd5, #39c5bb 120%);
  background: -moz-linear-gradient(160deg, #fffbd5, #39c5bb 120%);
  background: linear-gradient(160deg, #fffbd5, #39c5bb 120%);
}
.account-card-planner {
  background: #ff1493;
  background: -webkit-linear-gradient(160deg, #fffbd5, #ff1493 100%);
  background: -o-linear-gradient(160deg, #fffbd5, #ff1493 100%);
  background: -moz-linear-gradient(160deg, #fffbd5, #ff1493 100%);
  background: linear-gradient(160deg, #fffbd5, #ff1493 100%);
}
.account-card-fsc {
  background: #f1c40f;
  background: -webkit-linear-gradient(160deg, #fffbd5, #f1c40f 100%);
  background: -o-linear-gradient(160deg, #fffbd5, #f1c40f 100%);
  background: -moz-linear-gradient(160deg, #fffbd5, #f1c40f 100%);
  background: linear-gradient(160deg, #fffbd5, #f1c40f 100%);
}

.account-card .picture img {
  width: 100%;
  max-width: 100%;
  max-height: 500px;
  object-fit: cover;
  border-radius: 10%;
}


.company-card {
  padding: 0px;
  max-width: 270px;
  border: 1px solid #dddddd;
  border-radius: 5px;
  box-shadow: 6px 6px 6px rgba(0,0,0,0.23);
}
.company-card-default {
  background: #fff;
}
.company-card-chairman {
  background: #f8b500;
  background: -webkit-linear-gradient(135deg, #fceabb, #f8b500);
  background: -o-linear-gradient(135deg, #fceabb, #f8b500);
  background: -moz-linear-gradient(135deg, #fceabb, #f8b500);
  background: linear-gradient(135deg, #fceabb, #f8b500);
}
.company-card-manager {
  background: #b20a2c;
  background: -webkit-linear-gradient(225deg, #fffbd5, #b20a2c);
  background: -o-linear-gradient(225deg, #fffbd5, #b20a2c);
  background: -moz-linear-gradient(225deg, #fffbd5, #b20a2c);
  background: linear-gradient(225deg, #fffbd5, #b20a2c);
}
.company-card-founder {
  background: #39c5bb;
  background: -webkit-linear-gradient(225deg, #fffbd5, #39c5bb);
  background: -o-linear-gradient(225deg, #fffbd5, #39c5bb);
  background: -moz-linear-gradient(225deg, #fffbd5, #39c5bb);
  background: linear-gradient(225deg, #fffbd5, #39c5bb);
}
.company-card-holder {
  background: #8e9eab;
  background: -webkit-linear-gradient(135deg, #eef2f3, #8e9eab);
  background: -o-linear-gradient(135deg, #eef2f3, #8e9eab);
  background: -moz-linear-gradient(135deg, #eef2f3, #8e9eab);
  background: linear-gradient(135deg, #eef2f3, #8e9eab);
}
.company-card .picture img {
  width: 150px;
  height: 150px;
  object-fit: cover;
}
.company-card .title {
  background: #000; /* For browsers that do not support gradients */
  background: -webkit-linear-gradient(left, transparent, #000 5%, #000 95%, transparent); /* Safari */
  background: -o-linear-gradient(left, transparent, #000 5%, #000 95%, transparent); /* Opera 11.6 to 12.0 */
  background: -moz-linear-gradient(left, transparent, #000 5%, #000 95%, transparent); /* Firefox 3.6 to 15 */
  background: linear-gradient(left, transparent, #000 5%, #000 95%, transparent); /* Standard syntax */
  font-size: 1.5rem;
}
.company-card .title a {
  color: #fff;
  margin: 0 5%;
  overflow: hidden;
  white-space: nowrap;
  text-align: center;
  text-overflow: ellipsis;
  display: block;
}
.company-card .title-starter {
  background: #f8b500;
  background: -webkit-linear-gradient(left, transparent, #f8b500 5%, #f8b500 95%, transparent);
  background: -o-linear-gradient(left, transparent, #f8b500 5%, #f8b500 95%, transparent);
  background: -moz-linear-gradient(left, transparent, #f8b500 5%, #f8b500 95%, transparent);
  background: -linear-gradient(left, transparent, #f8b500 5%, #f8b500 95%, transparent);
  font-size: 1.5rem;
}
.company-card .title-starter a {
  color: #000;
  margin: 0 5%;
  overflow: hidden;
  white-space: nowrap;
  text-align: center;
  text-overflow: ellipsis;
  display: block;
}
.company-card .illegal-description {
  background: #ff0000;
  background: -webkit-linear-gradient(left, transparent, #ff0000 5%, #ff0000 95%, transparent);
  background: -o-linear-gradient(left, transparent, #ff0000 5%, #ff0000 95%, transparent);
  background: -moz-linear-gradient(left, transparent, #ff0000 5%, #ff0000 95%, transparent);
  background: -linear-gradient(left, transparent, #ff0000 5%, #ff0000 95%, transparent);
}
.company-card .row {
  color: #000;
  vertical-align: middle;
  margin: 0px;
}
.company-card .row .user-info {
  max-width: 100%;
}
.company-card .row-info p {
  color: #000;
  margin: 0.1rem 1rem;
}
.company-card .row-cover {
  padding: 0.3rem 0px;
}
.company-card .btn-tab {
  color: #000;
  background: transparent;
  font-family: -apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}
.company-card .btn-tab:focus {
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
}
.company-card button.accordion {
  width: 100%;
  text-align: left;
  transition: 0.4s;
}
.company-card div.order-panel {
  padding: 0 1rem;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.2s ease-out;
}
.company-card div.member-panel {
  max-width: 135px;
}
.company-card div.description {
  font-size: 0.8rem;
  white-space: pre-wrap;
  word-break: break-all;
}

@media only screen and (max-width: 525px) {
  .media.company-summary-item {
    display: block;
  }
}

@media only screen and (max-width: 525px) {
  .media.company-summary-item .row-title {
    padding-left: 0px;
    padding-right: 8px;
  }
}

.company-summary-item {
  margin-top: 15px;
}

.company-summary-item .picture {
  width: 115px;
  padding-right: 15px;
  text-align: center;
}
.company-summary-item .picture img {
  width: 100px;
  height: 100px;
  object-fit: cover;
}

/* 公司資訊頁大圖 */
.company-detail .picture {
  width: 300px;
  height: 300px;
  margin-right: 15px;
  text-align: center;
}

@media only screen and (max-width: 767.9px) {
  .company-detail .picture {
    margin-left: -15px;
    margin-right: -15px;
  }
}

/* 公司資訊頁大圖在螢幕寬度過小情況下，隨著螢幕寬度作等比縮小 */
@media only screen and (max-width: 341px) {
  .company-detail .media {
    margin-right: -30px;
  }
  .company-detail .picture {
    position: relative;
    width: 100%;
  }
  .company-detail .picture:before {
    content: "";
    display: block;
    padding-top: 100%;
  }
  .company-detail .picture img {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
  }
}

.company-detail .picture img {
  width: 100%;
  height: 100%;
  object-fit: scale-down;
}

/* grid system 風格的表格排版 */
@media only screen and (min-width: 768px) {
  .grid-table .grid-table-hidden-title {
    display: none !important;
  }
}

@media only screen and (max-width: 767.9px) {
  .grid-table .grid-table-head {
    display: none !important;
  }
  .grid-table .grid-table-hidden-title {
    padding-left: 15px;
    width: 35%;
  }
  .grid-table .grid-table-content {
    width: 65%;
  }
  .grid-table .grid-table-row {
    border-bottom: 1px dashed;
  }
  .grid-table .grid-table-row:last-of-type {
    border-bottom: none;
  }
}

/* 公司資訊 > VIP 名冊 的 VIP 表格樣式*/
.container-dark .company-vip-table .vip-level-5 {
  background-color: rgba(192, 96, 96, 0.5);
  color: white;
  font-weight: bold;
}

.container-dark .company-vip-table .vip-level-5 a {
  color: yellow;
}

.container-light .company-vip-table .vip-level-5 {
  background-color: rgba(255, 175, 175, 0.5);
  color: black;
  font-weight: bold;
}

.container-light .company-vip-table .vip-level-5 a {
  color: rgb(2, 117, 215);
}

/* 經營管理介面 > 角色大圖預覽 */
.big-picture-preivew.modal {
  visibility: hidden;
}

.big-picture-preivew.modal.show {
  visibility: visible;
}

.big-picture-preivew.modal.fade {
  transition: visibility 0s linear .15s, opacity .15s linear;
}

/* 經營管理介面 > 產品管理 移動端排版 */
@media only screen and (max-width: 767.9px) {
  table.company-next-season-product td {
    padding-left: 20%;
  }
}

table.company-next-season-product .product-name,
table.company-next-season-product .product-description {
  word-break: break-all;
  overflow-y: auto;
}

table.company-next-season-product .product-name {
  max-height: 3rem;
}

table.company-next-season-product .product-description {
  max-height: 3.5rem;
}

table.company-next-season-product .product-editing-badge {
  animation: fade-loop 2s linear infinite
}

@keyframes fade-loop {
  0% { opacity: 1; }
  50% { opacity: 0; }
  100% { opacity: 1; }
}

/* 產品卡 */
.product-card .product-description {
  word-break: break-all;
  overflow-y: auto;
  max-height: 3.5rem;
}

/* 產品中心 (賽季) */
table.product-list-by-season .product-name,
table.product-list-by-season .product-description {
  word-break: break-all;
  overflow-y: auto;
}

table.product-list-by-season .product-name {
  max-height: 3rem;
}

table.product-list-by-season .product-description {
  max-height: 3.5rem;
}

/* 產品中心 (公司) */
table.product-list-by-company .product-name,
table.product-list-by-company .product-description {
  word-break: break-all;
  overflow-y: auto;
}

table.product-list-by-company .product-name {
  max-height: 3rem;
}

table.product-list-by-company .product-description {
  max-height: 3.5rem;
}

/* 廣告中心 移動端排版 */
@media only screen and (max-width: 767.9px) {
  table.advertisement-list td.anti-block-ad-message {
    word-break: break-all;
    max-height: 9rem;
    overflow-y: auto;
  }
}

/* 修正 IE 上顯示 */
/*@media screen and (min-width:0\0) {
  .input-group-btn > .btn {
    flex-basis: auto !important;
  }
}*/

.stone-icon {
  width: 1rem;
  height: 1rem;
}

.stone-icon-2x {
  width: 2rem;
  height: 2rem;
}

/* 遊戲規則 */
.tutorial-main ul,
.tutorial-main ol {
  padding-left: 1rem;
}

/* 置底廣告 */
.footer-message-container {
  position: relative;
  word-break: break-all;
}

.footer-message {
  max-height: 200px;
  overflow-y: auto;
}

.footer-message-close-button {
  margin-top: auto;
}

.violation-case-card {
  box-shadow: 6px 6px 6px rgba(0, 0, 0, 0.25);
}

.violation-case-card.unread {
  border-color: rgba(255, 0, 0, 0.5);
  box-shadow: 6px 6px 6px rgba(255, 0, 0, 0.25);
}

.violation-case-action-reason {
  border: 1px solid #999999;
  border-radius: 1rem;
  border-top-left-radius: 0;
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
  padding: 0.5rem 1rem;
}

.violation-case-action-reason p:last-child {
  margin-bottom: 0;
}

.user-validate-type-mark {
  font-size: 60%;
  vertical-align: top;
}

.cursor-pointer {
  cursor: pointer;
}
