@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: .50;
  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: .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; }

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

.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; }

.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: .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: 180px;
  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; }

/* 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: .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: .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; } }
