@media (min-width: 1600px) {
    .col-xxl-6 {
        flex: 0 0 50%;
        max-width: 50%;
    }
}
.col-xxl, .col-xxl-auto, .col-xxl-6 {
    position: relative;
    width: 100%;
    padding-right: 0.75rem;
    padding-left: 0.75rem;
}

.custom-highlight {
    background-color: transparent !important;
    opacity: 1 !important;
}

header.masthead {
    padding-top: 6.5rem;
    padding-bottom: 6rem;
}

@media (min-width: 768px) {
    header.masthead .masthead-heading {
        font-size: 3.5rem;
        font-weight: 700;
        line-height: 1;
        margin-bottom: 2rem;
    }
}

.btn-lg, .btn-group-lg > .btn {
    font-size: 1.2rem;
}

#myVideo {
    position: fixed;
    right: 0;
    top: 0;
    width: 100%;
    max-height: 100%;
}

.content {
    position: fixed;
    top: 50%;
    left: 0;
    background: rgba(255, 255, 255, 1);
    color: #0a0a0a;
    width: 100%;
    padding: 20px;
    height: 190px;
    margin-top: -95px;
    text-align: center;
}

/*
.btn {
    box-shadow: 0 0 0 0.14rem var(--brand-color) !important;
}
*/

.btn.btn-rectangle {
    box-shadow: 0 0 0 0.14rem var(--brand-color) !important;
}

.container.cover-img {      
    /* background-color: rgba(0, 247, 216, 0.8); */
    /* background-color: rgba(96, 125, 139, 0.8); */ /* #607D8B */
    background-color: rgb(20 20 20 / 80%);
    width: 100%;
    /* height: 100%; */
    height: unset;
}

a {
    color: var(--brand-color);
}

.card-header {
    background-color: white;
}

.loader {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 9999;
    background: url(assets/img/loading-2.gif) 50% 50% no-repeat #f9f9f9;
    opacity: 1;
}

#side-by-side-panel {
    margin-bottom: 40px;
}

/* SM Small Device :320px. */
@media only screen and (min-width: 280px) and (max-width: 1024px) {

  span.link {
    display: none;
  } 

  #side-by-side-panel {
    /* margin-bottom: 60px; */
  }

  #panel-inner-row {
    height: unset !important;
  }
}

@media only screen and (max-width: 896px) and (orientation: landscape) {
  .col-md-6.panel {
    height: 100vh !important;
    overflow-y: auto !important;
  }

  .row.flex-row {
    flex-wrap: nowrap !important;
  }

  .sticky-top {
    position: relative;
  }

  #side-by-side-panel {
    margin-bottom: 60px;
  }

  #panel-inner-row {
    height: unset !important;
  }
}

ion-icon {
    font-size: 20px;
}

.card-body {
  max-height: 600px;
  overflow-y: auto;
}

.blue-hover:hover,
.btn-outline-secondary:hover {
  /*
  background-color: #3F51B5 !important;
  color: white !important;
  */
}

button.nav-link.active {
    background: linear-gradient(to top right, #b91d73, #f953c6);
    color: white !important;
    /* border: solid 2px yellow !important; */
}

#wiki-list-1 img {
    width: 170px;
    height: 170px;
    object-fit: cover;
    margin: 5px;
}

.description {
    color: #525252;
    font-size: 16.69px;
}

.card.shadow {
    box-shadow: none !important;
}

#depth-panel {
    background-color: #fafafa;
}

.introjs-helperLayer {
    border: 1px solid rgb(255 255 255 / 87%) !important;
}

.introjs-overlay {
    opacity: .85 !important;
}

.introjs-tooltiptext {
    font-size: 14px;
    line-height: calc(var(--line-height-unit) * 1.4) !important;
}



.nav-tabs .nav-link {
    border: 1px solid #cbcbcb;
}

.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {
    border-color: #cbcbcb;
}

.category-link:hover {
    color: var(--brand-hover-color);
}

.bright-link-hover:hover {
    color: var(--brand-hover-color);
}

.category-no-link {
    color: grey;
    text-decoration: none;
}

.category-no-link:hover {
    color: grey;
    text-decoration: none;
    cursor: text;
}

.form-control:focus {
    box-shadow: 0 0 0 0.2rem var(--brand-color);
}

/*
.modal .card {
    border: none;
}
*/

/* #shot { opacity: 0; transition: opacity .25s ease; } */
/* #shot[src*="screenshot?"] { opacity: 1; } */      /* once set */
/* #shot[src$=".svg"] { opacity: 1; } */             /* fallback */




/*

.popover-header {
    display: none;
}

.popover-body {
    background: linear-gradient(to top right, #b91d73, #f953c6);
    color: white;
    border: solid 2px yellow;
    font-family: 'Open Sans', sans-serif;
    line-height: 1.22;
}

.popover-body strong {
    color: yellow;
}

.popover-body img {
    object-fit: cover;
    object-position: center top;
    width: 100%;
    height: 200px;
    text-align: center;
}

*/

/* === Knowledge Card Popover (Google-like) ======================= */
.popover {
  --gkp-w: 340px;
  --gkp-radius: 7px;
  --gkp-border: #e5e7eb;            /* slate-200 */
  --gkp-text: #111827;              /* slate-900 */
  --gkp-muted: #6b7280;             /* slate-500 */
  --gkp-shadow: 0 10px 24px rgba(0,0,0,.08), 0 2px 6px rgba(0,0,0,.06);

  width: var(--gkp-w);
  max-width: var(--gkp-w);
  background: #fff;
  color: var(--gkp-text);
  border: 1px solid var(--gkp-border);
  border-radius: var(--gkp-radius);
  box-shadow: var(--gkp-shadow);
  padding: 0;                       /* we’ll handle inner spacing */
  overflow: hidden;                 /* round the image corners */
}

/* Arrow matches card */
.popover .popover-arrow::before,
.popover .popover-arrow::after {
  border-color: transparent;
}
.popover.bs-popover-top.has-knowledge-card .popover-arrow::after { border-top-color: #fff; }
.popover.bs-popover-bottom.has-knowledge-card .popover-arrow::after { border-bottom-color: #fff; }
.popover .popover-arrow { filter: drop-shadow(0 2px 6px rgba(0,0,0,.06)); }

/* Media (top image) */
.popover .gkp__media {
  width: 100%;
  aspect-ratio: 16 / 10;            /* tidy Google-ish aspect */
  background: #f3f4f6;              /* slate-100 placeholder */
  overflow: hidden;
}
/* Hide the media block when there’s no <img> */
.popover .gkp__media:empty,
.popover .gkp__media:not(:has(img)) {
  display: none;
}
.popover .gkp__media img {
  width: 100%; height: 100%;
  object-fit: cover; display: block;
}

/* Body */
.popover .popover-body {
  padding: 12px 14px 14px;
}

/* Title + Meta row */
.popover .gkp__title {
  font-size: 27px; font-weight: 700; line-height: 1.2;
  margin: 7px 0 2px;
}
.popover .gkp__meta {
  font-size: 12px; font-weight: 600;
  color: var(--gkp-muted);
  margin-bottom: 6px;
}

/* Description (clamped like Google) */
.popover .gkp__desc {
  font-size: 14px; line-height: 1.45; color: #374151;   /* slate-700 */
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical;
  overflow: hidden;
  margin-bottom: 8px;
}

/* Source link */
.popover .gkp__source {
  display: inline-block;
  font-size: 12px; color: var(--gkp-muted);
  text-decoration: none;
}
.popover .gkp__source:hover { text-decoration: underline; }

/* Compact option (if you need a smaller card) */
.popover.gkp--compact { --gkp-w: 300px; }

/* Dark mode polish (optional) */
@media (prefers-color-scheme: dark) {
  .popover {
    background: #111827; color: #e5e7eb; border-color: #1f2937;
    box-shadow: 0 10px 24px rgba(0,0,0,.35);
  }
  .popover .gkp__desc { color: #d1d5db; }
  .popover .gkp__meta,
  .popover .gkp__source { color: #9ca3af; }
}

/*
.sn-favicon {
    margin-right: 0.35rem;
}
*/

.badge .pub-favicon {
    width: 16px;
    height: 16px;
    border-radius: 4px;
    object-fit: contain;
}

.scroll-badge {
    font-size: .77rem;
}

/* Loader container */

.analytics-loader{
  border:1px solid #eee;
  border-radius:12px;
  padding:16px;
}

/* Header */

.loader-header{
  display:flex;
  align-items:center;
  font-size:.95rem;
  margin-bottom:12px;
}

/* Skeleton grid */

.analytics-skeleton{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
}

/* Skeleton card */

.sk-card{
  height:70px;
  border-radius:10px;
  border:1px solid #eee;
  background: linear-gradient(
      90deg,
      #f1f1f1 25%,
      #fafafa 50%,
      #f1f1f1 75%
  );
  background-size:200% 100%;
  animation: sk-shimmer 1.3s infinite linear;
}

@keyframes sk-shimmer{
  0% { background-position:200% 0; }
  100% { background-position:-200% 0; }
}

/* Emotional Reaction (CSS chart) */
.sn-emo{
  display:flex;
  flex-direction:column;
  gap:.6rem;
}

.sn-emo-row{
  display:grid;
  grid-template-columns: 90px 1fr 52px;
  gap:.75rem;
  align-items:center;
}

.sn-emo-label{
  font-size:.9rem;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.sn-emo-val{
  font-size:.85rem;
  opacity:.75;
  text-align:right;
  font-variant-numeric: tabular-nums;
}

.sn-emo-bar{
  height:12px;
  border-radius:999px;
  background:#f1f3f5;
  border:1px solid #eee;
  overflow:hidden;
  position:relative;
}

.sn-emo-fill{
  display:block;
  height:100%;
  width: var(--v, 0%);
  border-radius:999px;
  background: linear-gradient(90deg, #00bfa6, #7ee7d7);
  transition: width 220ms ease;
}

@media (prefers-reduced-motion: reduce){
  .sn-emo-fill{ transition:none; }
}

/* Optional: make "angry" stand out a bit */
.sn-emo-row[data-emo="angry"] .sn-emo-fill{
  background: linear-gradient(90deg, #ff6b6b, #ffd6d6);
}