@media (min-width: 767px) {
  .sidebar {
    margin-top: 91px;
  }
}

@media (max-width: 350px) {
  .navbar-brand img {
    width: 150px;
  }
}
@media (max-width: 767px) {
  .navbar-brand img {
    width: 90px;
  }
}

.stb-impersonated-container {
  position: fixed;
  top: 0;
  left: 50%;
  right: 50%;
  background-color: #337ab7;
  width: 250px;
  height: 30px;
  border-bottom-left-radius: 20px;
  border-bottom-right-radius: 20px;
}
.stb-impersonated-container div {
  text-align: center;
  color: #fff;
  padding-top: 5px;
}
.stb-impersonated-container .impersonated-close {
  position: relative;
  right: 20px;
  top: 3px;
}

@media (max-width: 350px) {
  .stb-shared-showsmall {
    display: block !important;
  }
}

.header-small-icons {
  position: absolute;
  top: 7px;
  right: 15px;
  display: none;
}
.header-small-icons li {
  display: inline-block;
}
@media (max-width: 350px) {
  .header-small-icons {
    display: block;
    right: 15px;
  }
}
@media (max-width: 768px) {
  .header-small-icons {
    display: block;
  }
}

.navbar-top-links {
  position: relative;
  top: 20px;
  right: 35px;
}
.navbar-top-links li {
  padding-left: 10px;
}
@media (max-width: 768px) {
  .navbar-top-links {
    display: none;
  }
}

.navbar {
  min-height: 86px;
}
@media (max-width: 767px) {
  .navbar {
    height: 50px;
    min-height: 50px;
  }
}

@media (max-width: 400px) {
  .stb-shared-header-icon i {
    font-size: 35px;
  }
}

@media (max-width: 400px) {
  .stb-shared-header-text div {
    font-size: 22px;
    margin-top: 3px;
  }
}

.stb-spacer-top {
  padding-top: 10px;
}

.stb-spacer-top-20 {
  padding-top: 20px;
}

.stb-margin-top {
  margin-top: 10px;
}

.stb-margin-top-20 {
  margin-top: 20px;
}

.huge {
  font-size: 35px;
}

.loadmask {
  z-index: 9999;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  -moz-opacity: 0.5;
  opacity: 0.5;
  filter: alpha(opacity=40);
  background-color: #222;
  width: 100%;
  height: 100%;
  zoom: 1;
}

.loadmask-msg {
  z-index: 20001;
  position: absolute;
  left: 0;
  right: 0;
  top: 43%;
  margin-left: auto;
  margin-right: auto;
  width: 128px;
  height: 128px;
}

.loadmask-msg div {
  font-size: 20px;
  color: #fff;
}

.icon-button {
  cursor: pointer;
}
.icon-button:hover {
  opacity: 0.5;
}

.cursor-pointer {
  cursor: pointer;
}

.nav, .pagination, .carousel, .panel-title a {
  cursor: pointer;
}

.fontsize-16 {
  font-size: 16px;
}

.fontsize-17 {
  font-size: 17px;
}

.fontsize-18 {
  font-size: 18px;
}

.fontsize-19 {
  font-size: 19px;
}

.fontsize-20 {
  font-size: 20px;
}

.sidebar ul li a.active {
  background-color: transparent;
}

.stb-signage-menu-active a {
  background-color: #eee !important;
}

.center {
  float: none;
  margin-left: auto;
  margin-right: auto;
  display: block;
  margin: 0 auto;
}

.form-group {
  margin-bottom: 5px;
}

.element-panel-body {
  padding-bottom: 0;
  padding-top: 0;
  padding-left: 0;
  padding-right: 0;
}

.sign-action-button {
  position: absolute;
  right: 15px;
  bottom: 35px;
  cursor: pointer;
}
@media (max-width: 470px) {
  .sign-action-button {
    right: 20px;
    bottom: 15px;
  }
  .sign-action-button span {
    display: none;
  }
}
@media (max-width: 1200px) and (min-width: 470px) {
  .sign-action-button {
    bottom: 18px;
  }
}

.ellipses {
  overflow: hidden;
  white-space: nowrap;
  -ms-text-overflow: ellipsis;
  -o-text-overflow: ellipsis;
  text-overflow: ellipsis;
}

.dont-break-out {
  /* These are technically the same, but use both */
  overflow-wrap: break-word;
  -ms-word-wrap: break-word;
  word-wrap: break-word;
  -ms-word-break: break-all;
  /* This is the dangerous one in WebKit, as it breaks things wherever */
  word-break: break-all;
  /* Instead use this non-standard one: */
  word-break: break-word;
}

.stb-draggable-element {
  cursor: all-scroll;
}
.stb-draggable-element:hover {
  box-shadow: 0 0 15px #2EC8D9;
  background: #fff;
}

.stb-cursor-question:hover {
  cursor: help;
}

.stb-pointer {
  cursor: pointer;
}

.cruiseline-names-popup {
  font-size: 12px;
}

.hover-highlight:hover {
  background-color: lightyellow;
}

.stb-charactercount {
  height: 15px;
  width: 55px;
  position: relative;
  float: right;
  top: 2px;
}
.stb-charactercount .count-status {
  font-size: 10px;
  top: 14px;
  color: #fff;
  text-align: center;
}
.stb-charactercount .count-spinner {
  position: absolute;
  top: 0;
  left: -20px;
}

.search-update-inprogress {
  height: 250px;
}
.search-update-inprogress img {
  top: 15%;
  position: relative;
}

.search-number-count {
  position: relative;
  margin: 20px 0;
  padding-right: 20px;
}

.create-sign-button {
  position: relative;
  margin-left: 20px;
}

.filter-selected {
  color: yellow;
}

@media (max-width: 945px) {
  .search-template {
    display: none;
  }
}
@media (max-width: 510px) {
  .search-date {
    display: none;
  }
  .search-category {
    display: none;
  }
}
.search-filter-container {
  max-height: 300px;
  overflow: auto;
}

.search-row:hover {
  background-color: lightyellow;
}

.popover-inner {
  overflow: hidden;
}

.bulk-actions {
  padding-right: 10px;
}

.shared-user-info-container {
  /*&:hover {
      background-color: #c3e8fb;
  }*/
}
.shared-user-info-container .user-image {
  height: 65px;
  position: relative;
  top: -9px;
  float: right;
}
.shared-user-info-container .user-name {
  float: right;
  font-size: 14px;
  overflow: hidden;
}
.shared-user-info-container .user-more-options {
  position: relative;
  right: 10px;
  top: 15px;
  font-size: 20px;
}

.stb-template-container {
  padding: 5px;
  position: relative;
  border: 1px solid #e2e6ea;
}
.stb-template-container .stb-template-thumbnail {
  padding-bottom: 5px;
}
@media (max-width: 1300px) and (min-width: 1200px) {
  .stb-template-container .stb-template-thumbnail {
    max-width: 84%;
  }
}
.stb-template-container .stb-template-thumbnail-sign {
  padding-bottom: 5px;
}
@media (max-width: 380px) and (min-width: 350px) {
  .stb-template-container .stb-template-thumbnail-sign {
    max-width: 76%;
  }
}
@media (max-width: 13850px) and (min-width: 120px) {
  .stb-template-container .stb-template-thumbnail-sign {
    max-width: 72%;
  }
}
.stb-template-container .stb-template-body hr {
  margin-top: 0;
  margin-bottom: 0;
}
@media (max-width: 405px) {
  .stb-template-container .stb-template-body .template-sign-selection {
    display: none;
  }
}
@media (max-width: 405px) {
  .stb-template-container .stb-template-body .fa-check-square {
    position: relative;
    left: -2px;
  }
}
.stb-template-container .stb-template-body .template-name {
  padding-top: 10px;
  width: 98%;
  overflow: hidden;
  white-space: nowrap;
}
@media (max-width: 350px) {
  .stb-template-container .stb-template-body .template-name {
    width: 80%;
  }
}
.stb-template-container .stb-template-body .action-items {
  position: absolute;
  top: 10px;
  right: 10px;
}
.stb-template-container .stb-template-body .action-items div {
  padding-bottom: 10px;
}
@media (max-width: 350px) {
  .stb-template-container .stb-template-body .action-items {
    display: none;
  }
}
.stb-template-container .stb-template-body .stb-template-canvas {
  background-color: #eff9fe;
}
.stb-template-container .stb-template-body .stb-template-canvas.inactive {
  background-color: #808080;
}
.stb-template-container .stb-template-body .stb-template-canvas .canvas-width {
  position: relative;
  top: 3px;
  font-size: 12px;
  padding-bottom: 3px;
}
.stb-template-container .stb-template-body .stb-template-canvas .action-items-small {
  position: absolute;
  bottom: 3px;
  right: 5px;
  display: none;
}
.stb-template-container .stb-template-body .stb-template-canvas .action-items-small i {
  font-size: 17px;
  padding-left: 5px;
  position: relative;
}
@media (max-width: 350px) {
  .stb-template-container .stb-template-body .stb-template-canvas .action-items-small {
    display: block;
  }
}

.sort-icons {
  display: inline-block;
  margin-left: 5px;
}

.sort-icons i {
  display: block;
  line-height: 7px;
  cursor: pointer;
  font-size: 14px;
}

.sort-icons i.text-primary {
  color: #337ab7;
}

.sort-icons i.fa-sort {
  color: #ccc;
}

.sort-icons i.fa-caret-up {
  color: green;
}

.sort-icons i.fa-caret-down {
  color: red;
}

.filter-row {
  margin-bottom: 15px;
}

.filter-indicators {
  display: inline-block;
  margin-top: 5px;
}

.active-filter-count {
  margin-left: 5px;
  font-style: italic;
  color: #666;
}

.icon-button {
  margin-right: 5px;
  cursor: pointer;
}

.icon-button:hover {
  color: #337ab7;
}

.sort-icons {
  display: inline-block;
  margin-left: 5px;
}

.sort-icons i {
  display: block;
  line-height: 7px;
  cursor: pointer;
  font-size: 14px;
}

.sort-icons i.text-primary {
  color: #337ab7;
}

.sort-icons i.fa-sort {
  color: #ccc;
}

.sort-icons i.fa-caret-up {
  color: green;
}

.sort-icons i.fa-caret-down {
  color: red;
}

.filter-row {
  margin-bottom: 15px;
}

.filter-indicators {
  display: inline-block;
  margin-top: 5px;
}

.active-filter-count {
  margin-left: 5px;
  font-style: italic;
  color: #666;
}

.icon-button {
  margin-right: 5px;
  cursor: pointer;
}

.icon-button:hover {
  color: #337ab7;
}

.report-title-header {
  font-size: 20px;
  top: 10px;
  position: relative;
}

.user-card {
  margin-top: 5px;
  height: 102px;
  width: 100%;
  border: solid #bce8f1 1px;
  position: relative;
}
.user-card .photo {
  float: left;
  position: relative;
  top: 2px;
  left: 5px;
}
.user-card .details {
  float: left;
  padding-left: 30px;
  position: relative;
  top: 40px;
  font-size: 16px;
}
.user-card .details .name {
  font-size: 16px;
}
.user-card .action-share-button {
  float: right;
  padding-right: 5px;
  position: relative;
  top: 30px;
}
.user-card.small-card {
  height: 40px;
}
.user-card.small-card .details {
  top: 10px;
  font-size: 14px;
  padding-left: 20px;
}
.user-card.small-card .photo {
  top: 0;
}
.user-card.small-card .photo img {
  height: 38px;
}
.user-card.small-card .action-share-button {
  top: 5px;
}

.report-title-header {
  font-size: 20px;
  top: 10px;
  position: relative;
}

@media (max-width: 350px) {
  .stb-new-tempalte-btn {
    left: 25%;
    position: relative;
  }
}

@media (max-width: 1200px) {
  .template-one-action-button {
    display: none;
  }
}
@media (min-width: 1200px) {
  .template-one-action-button {
    display: block;
  }
}

@media (max-width: 1200px) {
  .template-one-action-button-small {
    display: block;
  }
}
@media (min-width: 1200px) {
  .template-one-action-button-small {
    display: none;
  }
}

@media (max-width: 577px) and (min-width: 390px) {
  .huge {
    font-size: 25px;
  }
}
@media (max-width: 310px) {
  .huge {
    font-size: 15px !important;
    margin-top: 8px !important;
  }
}

.preview-button {
  position: absolute;
  right: 15px;
  bottom: 35px;
  cursor: pointer;
}
@media (max-width: 470px) {
  .preview-button {
    right: 20px;
    bottom: 15px;
  }
  .preview-button span {
    display: none;
  }
}
@media (max-width: 1200px) and (min-width: 470px) {
  .preview-button {
    bottom: 18px;
  }
}
.preview-button:hover {
  opacity: 0.5;
}

.template-action-buttons-smalls {
  display: none;
}
@media (max-width: 1200px) {
  .template-action-buttons-smalls {
    display: block;
  }
}

@media (max-width: 1200px) {
  .template-action-buttons {
    display: none;
  }
}

.template-info-panel {
  position: absolute;
  left: 280px;
  top: 0;
}
.template-info-panel hr {
  margin-top: 5px;
  margin-bottom: 5px;
}
.template-info-panel .info {
  font-weight: bold;
}
.template-info-panel ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.template-info-panel ul li {
  padding-bottom: 5px;
}
.template-info-panel .capsule-status-inactive {
  background: #ffe066;
  padding: 2px 10px;
  border-radius: 999px;
  color: #333;
  display: inline-block;
  font-weight: bold;
}
.template-info-panel .capsule-status-active {
  background: #4cff00;
  padding: 2px 10px;
  border-radius: 999px;
  color: #333;
  display: inline-block;
  font-weight: bold;
}

/* modal-custom.css */
.modal-image {
  max-width: 100%; /* Restrict image width to modal width */
  max-height: 60vh; /* Restrict image height to 60% of viewport height */
  object-fit: contain; /* Maintain image aspect ratio */
}

/* Optional: Center align image within modal */
.text-center .modal-image {
  margin: 0 auto;
}

.element-arrow-order-container {
  position: relative;
  width: 30px;
}
.element-arrow-order-container div {
  top: 0;
  left: 0;
  height: 36px;
  width: 30px;
  position: absolute;
  cursor: pointer;
}
.element-arrow-order-container div .element-more-options {
  position: absolute;
  height: 36px;
  width: 20px;
  top: 0;
}
.element-arrow-order-container div .element-more-options .order-asc {
  position: absolute;
  height: 18px;
  width: 20px;
  top: 10px;
  left: 5px;
  width: 0;
  height: 0;
  border-left: 7px solid transparent;
  border-right: 7px solid transparent;
  border-bottom: 7px solid #413f3f;
}
.element-arrow-order-container div .element-more-options .order-asc:hover {
  opacity: 0.5;
}
.element-arrow-order-container div .element-more-options .order-desc {
  position: absolute;
  height: 18px;
  width: 20px;
  top: 22px;
  left: 5px;
  width: 0;
  height: 0;
  border-left: 7px solid transparent;
  border-right: 7px solid transparent;
  border-top: 7px solid #413f3f;
}
.element-arrow-order-container div .element-more-options .order-desc:hover {
  opacity: 0.5;
}
.element-arrow-order-container div .element-more-options .asc-last {
  top: 14px;
}
.element-arrow-order-container div .element-more-options .desc-first {
  top: 14px;
}

.element-order-container {
  position: relative;
  width: 40px;
  height: 80px;
  font-size: 35px;
}
.element-order-container .order-asc {
  position: absolute;
  top: 0;
  background: green;
  width: 0;
  height: 0;
  border-left: 20px solid transparent;
  border-right: 20px solid transparent;
  border-bottom: 20px solid grey;
}
.element-order-container .order-desc {
  position: absolute;
  top: 40px;
  background: blue;
  width: 0;
  height: 0;
  border-left: 20px solid transparent;
  border-right: 20px solid transparent;
  border-top: 20px solid #f00;
}

@media (max-width: 1200px) {
  .element-arrow-pointer {
    display: none;
  }
}