/**
 * Clay 3.165.0
 *
 * SPDX-FileCopyrightText: © 2020 Liferay, Inc. <https://liferay.com>
 * SPDX-FileCopyrightText: © 2020 Contributors to the project Clay <https://github.com/liferay/clay/graphs/contributors>
 *
 * SPDX-License-Identifier: BSD-3-Clause
 */
/**
 * Bootstrap v4.4.1
 *
 * SPDX-FileCopyrightText: © 2019 Twitter, Inc. <https://twitter.com>
 * SPDX-FileCopyrightText: © 2019 The Bootstrap Authors <https://getbootstrap.com/>
 *
 * SPDX-License-Identifier: LicenseRef-MIT-Bootstrap
 */
/**
 * Clay 3.165.0
 *
 * SPDX-FileCopyrightText: © 2020 Liferay, Inc. <https://liferay.com>
 * SPDX-FileCopyrightText: © 2020 Contributors to the project Clay <https://github.com/liferay/clay/graphs/contributors>
 *
 * SPDX-License-Identifier: BSD-3-Clause
 */
/**
 * Bootstrap v4.4.1
 *
 * SPDX-FileCopyrightText: © 2019 Twitter, Inc. <https://twitter.com>
 * SPDX-FileCopyrightText: © 2019 The Bootstrap Authors <https://getbootstrap.com/>
 *
 * SPDX-License-Identifier: LicenseRef-MIT-Bootstrap
 */
@import url("https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,400&family=Fraunces:ital,opsz,wght@0,9..144,300;0,9..144,400;0,9..144,500;0,9..144,600;0,9..144,700;0,9..144,800;1,9..144,400;1,9..144,700&family=Inter+Tight:ital,wght@0,400;0,500;0,600;0,700;1,400&family=JetBrains+Mono:wght@400;500&family=Source+Serif+4:ital,opsz,wght@0,8..60,400;0,8..60,500;0,8..60,600;1,8..60,400&display=swap");
.quick-access-nav {
  position: fixed;
  z-index: 999;
}

.sr-only {
  border: 0;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.sr-only-focusable:active, .sr-only-focusable:focus {
  clip: auto;
  height: auto;
  overflow: visible;
  position: static;
  white-space: normal;
  width: auto;
}

.lfr-asset-column-details .lfr-asset-categories {
  color: #7d7d7d;
}
.lfr-asset-column-details .lfr-asset-categories .lfr-asset-category {
  color: #555;
}
.lfr-asset-column-details .lfr-asset-description {
  color: #444;
  font-style: italic;
  margin: 0.5em auto 2em;
  -ms-hyphens: none;
  -webkit-hyphens: none;
  hyphens: none;
}
.lfr-asset-column-details .lfr-asset-icon {
  border-right: 1px solid transparent;
  color: #999;
  float: left;
  line-height: 1em;
  margin-right: 10px;
  padding-right: 10px;
}
.lfr-asset-column-details .lfr-asset-icon.last {
  border-width: 0;
}
.lfr-asset-column-details .lfr-asset-tags {
  color: #7d7d7d;
}
.lfr-asset-column-details .lfr-asset-tags .tag {
  color: #555;
}
.lfr-asset-column-details .lfr-asset-metadata {
  clear: both;
  margin-bottom: 1.5em;
  padding-bottom: 1.5em;
}
.lfr-asset-column-details .lfr-panel {
  clear: both;
  margin-bottom: 0.2em;
}
.lfr-asset-column-details .lfr-panel.lfr-extended {
  border: 1px solid #ccc;
  margin-bottom: 0;
}
.lfr-asset-column-details .taglib-custom-attributes-list label,
.lfr-asset-column-details .lfr-asset-field label {
  display: block;
}
.lfr-asset-column-details .taglib-custom-attributes-list {
  margin-bottom: 1em;
}

.overlay {
  position: absolute;
}

.overlay-hidden,
.overlaymask-hidden {
  display: none;
}

.lfr-form-row {
  border-bottom: 1px solid #ccc;
  margin-bottom: 10px;
  margin-top: 10px;
  padding: 1px 5px 25px;
  position: relative;
}
.lfr-form-row:after {
  clear: both;
  content: "";
  display: block;
  height: 0;
}
.lfr-form-row:hover {
  border: solid #ccc;
  border-width: 1px 0;
  padding-top: 0;
}
.lfr-form-row.lfr-form-row-inline .form-group {
  margin-right: 5px;
}
.lfr-form-row legend .field-label {
  float: left;
  margin-right: 10px;
}
.lfr-form-row .handle-sort-vertical {
  background: url(../images/application/handle_sort_vertical.png) no-repeat 0 50%;
  cursor: move;
  padding-left: 20px;
}
.lfr-form-row fieldset {
  border-width: 0;
  margin: 0;
  padding: 0;
}

.lfr-autorow-controls {
  bottom: 5px;
  position: absolute;
  right: 5px;
}

.datepicker-popover-content .popover-content {
  padding: 0.75rem 1rem;
}

.dropdown.open > .dropdown-menu, .overlay-content .open > .dropdown-menu {
  display: block;
}

.user-avatar-link {
  display: block;
  position: relative;
}
.panel-notifications-count, html:not(#__):not(#___) .cadmin .panel-notifications-count {
  border-radius: 50rem;
  display: flex;
  margin: 0;
  max-width: none;
  position: absolute;
  right: calc(100% - 0.7rem);
  top: -0.4rem;
}

.badge, html:not(#__):not(#___) .cadmin .badge {
  margin: 0.25rem;
}

.user-avatar-link .text-default {
  align-items: center;
  display: flex;
}
.user-avatar-link .text-default .user-full-name {
  margin-left: 0.5rem;
}
@media (max-width: 575.98px) {
  .user-avatar-link .text-default .user-full-name {
    display: none;
  }
}

.user-personal-bar .fieldset {
  position: relative;
}
.user-personal-bar .user-avatar-link .panel-notifications-count {
  right: calc(100% - 1rem);
  top: -0.6rem;
}

.form-control-inline {
  background-color: transparent;
  font-size: 1.125rem;
  font-weight: 700;
}
.form-control-inline:not(:hover) {
  border-color: transparent;
}
.form-control-inline::placeholder {
  color: #a9afb5;
  font-style: italic;
}

.form-search .input-group {
  position: relative;
}
.form-search .input-group.advanced-search .search-query {
  padding-left: 40px;
  z-index: 0;
}
.form-search .input-group.advanced-search .toggle-advanced {
  cursor: pointer;
  left: 0;
  line-height: 1;
  padding: 8px 10px;
  position: absolute;
  top: 0;
}
.form-search .input-group.advanced-search .toggle-advanced .caret {
  margin-top: 7px;
}
.form-search .input-group.advanced-search .toggle-advanced .icon-search {
  font-size: 14px;
}
@media (max-width: 991.98px) {
  .form-search .input-group {
    width: 100%;
  }
  .form-search .input-group .btn {
    clip: rect(0, 0, 0, 0);
    left: -9999px;
    position: absolute;
  }
  .form-search .input-group input.search-query {
    width: 100%;
  }
}

.lfr-table {
  border-collapse: collapse;
  clear: both;
}
.lfr-table > tbody > tr > td,
.lfr-table > tbody > tr > th,
.lfr-table > thead > tr > td,
.lfr-table > thead > tr > th,
.lfr-table > tfoot > tr > td,
.lfr-table > tfoot > tr > th {
  padding: 0 5px;
  overflow-wrap: break-all;
  word-wrap: break-all;
}
.lfr-table > tbody > tr > td:first-child, .lfr-table > tbody > tr > td.first-child,
.lfr-table > tbody > tr > th:first-child,
.lfr-table > tbody > tr > th.first-child,
.lfr-table > thead > tr > td:first-child,
.lfr-table > thead > tr > td.first-child,
.lfr-table > thead > tr > th:first-child,
.lfr-table > thead > tr > th.first-child,
.lfr-table > tfoot > tr > td:first-child,
.lfr-table > tfoot > tr > td.first-child,
.lfr-table > tfoot > tr > th:first-child,
.lfr-table > tfoot > tr > th.first-child {
  padding-left: 0;
}
.lfr-table > tbody > tr > td:last-child, .lfr-table > tbody > tr > td.last-child,
.lfr-table > tbody > tr > th:last-child,
.lfr-table > tbody > tr > th.last-child,
.lfr-table > thead > tr > td:last-child,
.lfr-table > thead > tr > td.last-child,
.lfr-table > thead > tr > th:last-child,
.lfr-table > thead > tr > th.last-child,
.lfr-table > tfoot > tr > td:last-child,
.lfr-table > tfoot > tr > td.last-child,
.lfr-table > tfoot > tr > th:last-child,
.lfr-table > tfoot > tr > th.last-child {
  padding-right: 0;
}
.lfr-table > tbody > tr > th,
.lfr-table > thead > tr > th,
.lfr-table > tfoot > tr > th {
  font-weight: bold;
}

.lfr-pagination:after {
  clear: both;
  content: "";
  display: block;
  height: 0;
  visibility: hidden;
}
.lfr-pagination .dropdown-menu {
  display: none;
}
.lfr-pagination .dropdown-toggle .icon-caret-down {
  margin-left: 5px;
}
.lfr-pagination .lfr-pagination-controls {
  float: left;
}
.lfr-pagination .lfr-pagination-controls .search-results {
  display: inline-block;
  margin-left: 10px;
  margin-top: 5px;
  top: 10px;
}
.lfr-pagination .lfr-pagination-controls li .lfr-pagination-link {
  border-width: 0;
  clear: both;
  color: #333;
  display: block;
  font-weight: normal;
  line-height: 20px;
  padding: 3px 20px;
  text-align: left;
  white-space: nowrap;
  width: 100%;
}
.lfr-pagination .lfr-pagination-delta-selector {
  float: left;
}
@media (max-width: 991.98px) {
  .lfr-pagination .lfr-pagination-delta-selector .lfr-icon-menu-text {
    display: none;
  }
}
.lfr-pagination .pagination-content {
  float: right;
}

.lfr-panel.lfr-extended {
  border: 1px solid transparent;
  border-color: #dedede #bfbfbf #bfbfbf #dedede;
}
.lfr-panel.lfr-extended.lfr-collapsible .lfr-panel-button {
  display: block;
}
.lfr-panel.lfr-extended.lfr-collapsed .lfr-panel-titlebar {
  border-bottom-width: 0;
}
.lfr-panel.panel-default .panel-heading {
  border-bottom-width: 0;
}
.lfr-panel .toggler-header {
  cursor: pointer;
}

.sidebar-sm .sheet-subtitle {
  font-size: 0.75rem;
  margin-bottom: 1rem;
}
.sidebar-sm .form-control[type=file] {
  padding: 0;
}
.sidebar-sm .article-content-description .input-localized.input-localized-editor .input-group-item .wrapper .form-control {
  min-height: auto;
  padding: 0.285rem 0.75rem;
}
.sidebar-sm .list-group-item-flex {
  padding: 0.5rem 0.25rem;
}
.sidebar-sm .list-group-item-flex .autofit-col {
  padding-left: 0.25rem;
  padding-right: 0.25rem;
}

.lfr-translation-manager {
  border-radius: 4px;
  display: inline-block;
  margin-top: 0.5em;
  min-height: 1.8em;
}
.lfr-translation-manager .lfr-translation-manager-content .lfr-translation-manager-default-locale {
  display: inline-block;
  width: auto;
}
.lfr-translation-manager .lfr-translation-manager-content .lfr-translation-manager-icon-menu {
  float: none;
  padding: 0.4em 0;
}
.lfr-translation-manager .lfr-translation-manager-content .lfr-translation-manager-icon-menu li,
.lfr-translation-manager .lfr-translation-manager-content .lfr-translation-manager-icon-menu li strong {
  display: inline;
}
.lfr-translation-manager .lfr-translation-manager-content .lfr-translation-manager-translations-message {
  margin: 10px 0;
}
.lfr-translation-manager .lfr-translation-manager-available-translations {
  white-space: normal;
}
.lfr-translation-manager .lfr-translation-manager-available-translations .lfr-translation-manager-available-translations-links {
  line-height: 1;
}
.lfr-translation-manager .lfr-translation-manager-translation {
  border: 1px solid transparent;
  border-radius: 4px;
  cursor: pointer;
  display: inline-block;
  margin: 0.2em;
  padding: 0.4em 0.3em 0.4em 0.5em;
  text-decoration: none;
}
.lfr-translation-manager .lfr-translation-manager-translation * {
  vertical-align: middle;
}
.lfr-translation-manager .lfr-translation-manager-translation img {
  margin-right: 0.3em;
}
.lfr-translation-manager .lfr-translation-manager-translation:hover {
  background-color: #d1e5ef;
}
.lfr-translation-manager .lfr-translation-manager-translation.lfr-translation-manager-translation-editing {
  background-color: #598bec;
  border-color: #224fa8;
  color: #fff;
}
.lfr-translation-manager .lfr-translation-manager-change-default-locale {
  margin: 0 0.4em;
}
.lfr-translation-manager .lfr-translation-manager-delete-translation {
  display: inline-block;
  padding: 0 2px;
}
.lfr-translation-manager .lfr-translation-manager-delete-translation svg {
  pointer-events: none;
}

.lfr-tree a {
  text-decoration: none;
}
.lfr-tree li {
  margin-bottom: 2px;
  padding-left: 0;
}
.lfr-tree li ul li, .lfr-tree li.tree-item {
  padding-left: 0;
}
.lfr-tree li.tree-item {
  padding-left: 5px;
}
.lfr-tree li.tree-item li {
  padding-left: 20px;
}
.lfr-tree li.tree-item ul {
  margin-left: 0;
  margin-top: 5px;
}

.lfr-upload-container {
  margin-bottom: 1rem;
}
.lfr-upload-container .upload-target {
  border: 3px dashed #e5e7e9;
  margin-bottom: 1rem;
  min-height: 2rem;
  padding: 2rem 0;
  position: relative;
  text-align: center;
}
.upload-drop-intent .lfr-upload-container .upload-target {
  z-index: 100;
}
.upload-drop-active .lfr-upload-container .upload-target {
  background-color: #92e5a5;
  border-color: #69db83;
}
.lfr-upload-container .upload-target .drop-file-text {
  font-weight: normal;
}
.mobile .lfr-upload-container .upload-target .drop-file-text {
  display: none;
}
.lfr-upload-container .upload-target .small {
  display: block;
  margin: 5px 0;
  text-transform: lowercase;
}
.lfr-upload-container .manage-upload-target {
  padding-top: 5px;
  position: relative;
}
.lfr-upload-container .manage-upload-target .select-files {
  float: left;
  line-height: 0;
  margin: 0 1.125rem 1.125rem;
  padding: 0 0 0 5px;
}
.lfr-upload-container .cancel-uploads,
.lfr-upload-container .clear-uploads {
  background-repeat: no-repeat;
  float: right;
}
.lfr-upload-container .cancel-uploads {
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAnFBMVEX////4YWP/dXjyS07/dXj9bXD6a234YWP4XWD2WVv2VFfsOTzoLzHmKSvkISP2VFf0TE/vREftPT/iHB72WVvvREf0TE//hon/gYX/fYD/e33/dXj/cXP9bXD/a236a23/Zmb4YWP4XWD/Wl32WVv/VVj2VFf3VFb0TE/yS072SUvvREfuQELtPT/sOTzrMzXoLzHnLC/mKSvkISPh2jkWAAAAF3RSTlMAESIiMzMzMzMzMzMzMzNERERERHd3qtw8lzkAAACOSURBVHjaZcjZDsIgEIXhcd+tu5YBKUixttS6vP+7OQKJTfxvTr4D7Tpxu/2w410SjDjwVvLQ805TPiRryfQeKM6OTI68K/BJPHGlJZJjSqSMofEOGXbJecsTgzkds58V5+J8refBU7Jx9yIrmkW0sA6gqbLyuaRjZZWtgXq58rEFan0jf3uTfRuIkf/7AO8DDcVPSSG3AAAAAElFTkSuQmCC);
  margin-right: 0;
}
.lfr-upload-container .clear-uploads {
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAdVBMVEX///+6QwTEVx65RQPEVx3EWB64RQPDVxq5RAO5RAO5RQPATQ65RQO5RQO5RQPRczjJZCW9TQTLay28QgTdZAHhaAPmdyHqeQXrikDudgDvfxj0nWP1qHL2tY33tY34dgD+za7+1rj/dxH/fxj/hiH/kk3///9TM3sUAAAAFHRSTlMAbXd4eHh6gN3e3+Hi4+T5+/z8/mIsq5IAAABHSURBVBjTY2CgGWDlFuZhRuIz8cspyggxIgQ4ZFWVVCQ4EQLCCmpqalLCCAFeaWV5SVE+hAC7gJi4iCAbkqksXMK8bNRzNADCOQN++eLhCQAAAABJRU5ErkJggg==);
  padding-left: 16px;
}
.lfr-upload-container .upload-file.upload-complete.file-saved {
  padding-left: 25px;
}
.lfr-upload-container .upload-file .file-title {
  display: inline-block;
  max-width: 95%;
  overflow: hidden;
  padding-right: 16px;
  text-overflow: ellipsis;
  vertical-align: middle;
  white-space: nowrap;
}
.lfr-upload-container .upload-file .icon-file {
  font-size: 40px;
}
.lfr-upload-container .upload-list-info {
  margin: 1em 0 0.5em;
}
.lfr-upload-container .upload-list-info .h4,
.lfr-upload-container .upload-list-info h4 {
  font-size: 1.3em;
}
.lfr-upload-container .cancel-button {
  color: #6c757d;
  margin-top: 1px;
  position: absolute;
  right: 5px;
  top: 50%;
  white-space: nowrap;
}
.lfr-upload-container .cancel-button .cancel-button-text {
  display: none;
  margin-left: 5px;
}
.lfr-upload-container .cancel-button:hover .cancel-button-text {
  display: inline;
}
.lfr-upload-container .cancel-button .lexicon-icon {
  height: 12px;
}
.lfr-upload-container .delete-button {
  color: #6c757d;
}
.lfr-upload-container .delete-button-col {
  padding-right: 10px;
}
.lfr-upload-container .file-added .success-message {
  float: right;
  font-weight: normal;
}
.lfr-upload-container .upload-error {
  opacity: 1;
  padding-left: 25px;
}
.lfr-upload-container .upload-complete .cancel-button,
.lfr-upload-container .delete-button,
.lfr-upload-container .upload-complete.file-saved .delete-button,
.lfr-upload-container .upload-complete.upload-error .delete-button {
  display: none;
}
.lfr-upload-container .multiple-files .upload-error {
  background: #f5c4c9 url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAJPSURBVDjLpZPLS5RhFMYfv9QJlelTQZwRb2OKlKuINuHGLlBEBEOLxAu46oL0F0QQFdWizUCrWnjBaDHgThCMoiKkhUONTqmjmDp2GZ0UnWbmfc/ztrC+GbM2dXbv4ZzfeQ7vefKMMfifyP89IbevNNCYdkN2kawkCZKfSPZTOGTf6Y/m1uflKlC3LvsNTWArr9BT2LAf+W73dn5jHclIBFZyfYWU3or7T4K7AJmbl/yG7EtX1BQXNTVCYgtgbAEAYHlqYHlrsTEVQWr63RZFuqsfDAcdQPrGRR/JF5nKGm9xUxMyr0YBAEXXHgIANq/3ADQobD2J9fAkNiMTMSFb9z8ambMAQER3JC1XttkYGGZXoyZEGyTHRuBuPgBTUu7VSnUAgAUAWutOV2MjZGkehgYUA6O5A0AlkAyRnotiX3MLlFKduYCqAtuGXpyH0XQmOj+TIURt51OzURTYZdBKV2UBSsOIcRp/TVTT4ewK6idECAihtUKOArWcjq/B8tQ6UkUR31+OYXP4sTOdisivrkMyHodWejlXwcC38Fvs8dY5xaIId89VlJy7ACpCNCFCuOp8+BJ6A631gANQSg1mVmOxxGQYRW2nHMha4B5WA3chsv22T5/B13AIicWZmNZ6cMchTXUe81Okzz54pLi0uQWp+TmkZqMwxsBV74Or3od4OISPr0e3SHa3PX0f3HXKofNH/UIG9pZ5PeUth+CyS2EMkEqs4fPEOBJLsyske48/+xD8oxcAYPzs4QaS7RR2kbLTTOTQieczfzfTv8QPldGvTGoF6/8AAAAASUVORK5CYII=) no-repeat 5px 5px;
  border-color: #bd2130;
  color: #bd2130;
  font-weight: normal;
  margin-bottom: 16px;
  padding: 8px 8px 8px 24px;
}
.lfr-upload-container .multiple-files .upload-error .error-message {
  display: block;
}
.lfr-upload-container .multiple-files .upload-complete.file-saved .form-check-middle-left .card-body,
.lfr-upload-container .multiple-files .upload-complete.upload-error .form-check-middle-left .card-body {
  padding-left: 1rem;
}
.lfr-upload-container .multiple-files .upload-complete.file-saved .form-check-middle-left .custom-control-label,
.lfr-upload-container .multiple-files .upload-complete.upload-error .form-check-middle-left .custom-control-label {
  display: none;
}
.lfr-upload-container .single-file .upload-error {
  list-style: none;
  margin-top: 1em;
}
.lfr-upload-container .single-file .upload-error .upload-error-message {
  margin-bottom: 0.5em;
}
.lfr-upload-container .upload-complete {
  padding-left: 5px;
}
.lfr-upload-container .upload-complete .error-message,
.lfr-upload-container .upload-complete .success-message {
  font-weight: bold;
  margin-left: 1em;
}
.lfr-upload-container .upload-complete .delete-button {
  display: inline-block;
}
.lfr-upload-container .upload-complete .select-file:disabled + .custom-control-label {
  display: none;
}
.lfr-upload-container .progress {
  display: none;
  margin-top: 0.5rem;
}
.lfr-upload-container .file-uploading .progress {
  display: flex;
}

.lfr-alert-container {
  left: 0;
  position: absolute;
  right: auto;
  top: auto;
  width: 100%;
  z-index: 430;
}
.lfr-alert-container.inline-alert-container {
  position: relative;
}
.lfr-alert-container.inline-alert-container .lfr-alert-wrapper {
  padding: 0;
}
.lfr-alert-container .lfr-alert-wrapper {
  margin-bottom: 5px;
  overflow: hidden;
}

.lfr-search-container td .overlay.entry-action {
  position: static;
}
.lfr-search-container td .overlay.entry-action .btn a {
  display: block;
  padding: 4px 12px;
}

.contextual-sidebar {
  height: calc(
		100vh - var(--control-menu-container-height) - 49px
	);
  pointer-events: none;
  position: fixed;
  right: 0;
  top: calc(var(--control-menu-container-height) + 49px);
  transform: translateX(100%);
  transition: transform ease 0.5s;
  visibility: hidden;
  width: 320px;
  will-change: transform;
}
.contextual-sidebar.contextual-sidebar-visible {
  pointer-events: auto;
  transform: translateX(0);
  visibility: visible;
}

@media (min-width: 768px) {
  .contextual-sidebar {
    height: calc(
			100vh - var(--control-menu-container-height) - 64px
		);
    top: calc(
			var(--control-menu-container-height) + 64px
		);
  }
  .contextual-sidebar-content {
    transition: padding ease 0.5s;
    will-change: padding;
  }
  .contextual-sidebar-visible .contextual-sidebar-content,
  .contextual-sidebar-visible + .contextual-sidebar-content {
    padding-right: 320px;
  }
}
.taglib-discussion {
  font-size: 0.875rem;
  margin-top: 1rem;
}
.taglib-discussion .actions-menu .component-action {
  display: inline-flex;
}
.taglib-discussion .button-holder {
  margin: 1rem 0;
}
.taglib-discussion .comment-container {
  margin-bottom: 1.5rem;
}
.taglib-discussion .lfr-discussion .lfr-discussion-form-edit .alloy-editor-placeholder {
  border-left-color: #dbdde1;
}
.taglib-discussion .lfr-discussion-body {
  font-size: 1rem;
}
@media (min-width: 576px) {
  .taglib-discussion .lfr-discussion-body {
    padding-left: 3.5rem;
  }
}
@media (min-width: 576px) {
  .taglib-discussion .lfr-discussion-details .taglib-user-display {
    word-wrap: break-word;
  }
}
.taglib-discussion .lfr-discussion-details .taglib-user-display .user-details .user-name {
  font-weight: bold;
  text-decoration: none;
}
.taglib-discussion .lfr-discussion-details .taglib-user-display .user-details .user-name:hover {
  text-decoration: underline;
}
.taglib-discussion .lfr-discussion-details .taglib-user-display .user-profile-image .avatar {
  background-size: 50px;
}
.taglib-discussion .lfr-discussion-container {
  border-bottom: 1px solid #e7e7ed;
  margin-bottom: 1.5rem;
}
.taglib-discussion .lfr-discussion-container:first-of-type {
  border-top: 1px solid #e7e7ed;
  padding-top: 1.5rem;
}
.taglib-discussion .lfr-discussion-container:last-of-type {
  border-bottom: 0;
}
.taglib-discussion .lfr-discussion-container .lfr-discussion {
  padding-left: 1rem;
}
.taglib-discussion .lfr-discussion-container .lfr-discussion .lfr-discussion .lfr-discussion .lfr-discussion {
  padding-left: 0;
}
@media (min-width: 576px) {
  .taglib-discussion .lfr-discussion-container .lfr-discussion {
    padding-left: 3.5rem;
  }
}
.taglib-discussion .lfr-discussion-parent-link {
  color: #67678c;
  font-weight: 600;
  margin-left: 1em;
}
@media (max-width: 767.98px) {
  .taglib-discussion .lfr-discussion-parent-link {
    display: block;
    margin-left: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}
.taglib-discussion .lfr-discussion-controls .autofit-col:first-of-type > .btn-outline-borderless {
  margin-left: -0.75rem;
}
.taglib-discussion .lfr-discussion-more-comments {
  border-top: 1px solid #e7e7ed;
  margin-top: 1.5rem;
  padding-top: 1.5rem;
  text-align: center;
}
.taglib-discussion .username {
  color: #272833;
  font-weight: 600;
}
.taglib-discussion .taglib-workflow-status {
  margin-left: 0.5rem;
}
.taglib-discussion .workflow-value {
  text-transform: uppercase;
}
@media (min-width: 576px) {
  .taglib-discussion .actions-menu {
    display: none;
  }
  .taglib-discussion .comment-container:hover .actions-menu,
  .taglib-discussion .actions-menu:focus,
  .taglib-discussion .actions-menu.open {
    display: inline-block;
  }
}

.drop-zone {
  min-height: 80px;
  padding: 20px;
  text-align: center;
}
.drop-zone.drop-enabled {
  outline: 2px dashed transparent;
}
.drop-zone.drop-enabled:not(.no-border) {
  outline-color: rgba(176, 180, 187, 0.5);
}
.drop-zone p {
  margin: 10px auto 0;
  max-width: 75%;
}

.drop-here-info {
  font-size: 25px;
  height: 100%;
  left: 0;
  min-height: 100px;
  opacity: 0;
  position: absolute;
  text-align: center;
  top: 0;
  visibility: hidden;
  width: 100%;
  transition: all 0.2s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .drop-here-info {
    transition: none;
  }
}
.drop-here-info {
  transition: none;
}

.drop-here-info .drop-here-indicator {
  height: 115px;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translate(0, -50%);
}
.drop-here-info .drop-icons {
  display: inline-block;
  position: relative;
  width: 160px;
  transition: all 0.2s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .drop-here-info .drop-icons {
    transition: none;
  }
}
.drop-here-info .drop-icons {
  transition: none;
}

.drop-here-info .drop-icons span {
  border-radius: 3px;
  position: absolute;
  text-align: center;
  transition: all 0.3s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .drop-here-info .drop-icons span {
    transition: none;
  }
}
.drop-here-info .drop-icons span {
  transition: none;
}

.drop-here-info .drop-icons span:nth-of-type(1) {
  box-shadow: 5px 4px 0 0 rgba(0, 0, 0, 0.08);
  height: 60px;
  left: 0;
  line-height: 60px;
  opacity: 0;
  top: 10px;
  transform: rotate(25deg);
  width: 60px;
}
.drop-here-info .drop-icons span:nth-of-type(2) {
  background: #00c2ff;
  color: #fff;
  height: 80px;
  left: 40px;
  line-height: 80px;
  width: 80px;
  z-index: 2;
}
.drop-here-info .drop-icons span:nth-of-type(3) {
  box-shadow: -5px 4px 0 0 rgba(0, 0, 0, 0.08);
  display: block;
  font-size: 45px;
  height: 70px;
  left: 90px;
  line-height: 70px;
  opacity: 0;
  position: relative;
  top: 8px;
  transform: rotate(-25deg);
  width: 70px;
  z-index: 1;
}
.drop-here-info .drop-icons span:nth-of-type(1), .drop-here-info .drop-icons span:nth-of-type(3) {
  background: #e8e6e8;
  color: #a5a6ac;
}
.drop-here-info .drop-text {
  color: #fff;
  display: block;
  font-size: 20px;
  margin-left: 0;
  margin-top: 20px;
}
.drop-active .drop-here-info {
  background-color: rgba(0, 0, 0, 0.6);
  opacity: 1;
  visibility: visible;
  z-index: 100;
}
.drop-active .drop-here-info .drop-icons span:nth-of-type(1), .drop-active .drop-here-info .drop-icons span:nth-of-type(3) {
  opacity: 1;
}
.drop-active .drop-here-info span:nth-of-type(1) {
  transform: rotate(-20deg);
}
.drop-active .drop-here-info span:nth-of-type(2) {
  transform: scale(1);
}
.drop-active .drop-here-info span:nth-of-type(3) {
  transform: rotate(15deg);
}

.taglib-empty-result-message.sheet {
  margin-bottom: 24px;
}
.taglib-empty-result-message .taglib-empty-result-message-description {
  color: #6c757d;
  margin-top: 8px;
}
.taglib-empty-result-message .taglib-empty-result-message-header,
.taglib-empty-result-message .taglib-empty-result-message-header-has-plus-btn,
.taglib-empty-result-message .taglib-empty-search-result-message-header {
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100%;
  margin-left: auto;
  margin-right: auto;
}
.taglib-empty-result-message .taglib-empty-result-message-header,
.taglib-empty-result-message .taglib-empty-result-message-header-has-plus-btn {
  max-width: 200px;
  padding-top: 250px;
}
.taglib-empty-result-message .taglib-empty-result-message-header,
.taglib-empty-result-message .taglib-empty-result-message-header-has-plus-btn {
  background-image: url(../images/states/empty_state.svg);
}
@media (prefers-reduced-motion: reduce) {
  .taglib-empty-result-message .taglib-empty-result-message-header,
  .taglib-empty-result-message .taglib-empty-result-message-header-has-plus-btn {
    background-image: url(../images/states/empty_state_reduced_motion.svg);
  }
}
.c-prefers-reduced-motion .taglib-empty-result-message .taglib-empty-result-message-header,
.c-prefers-reduced-motion .taglib-empty-result-message .taglib-empty-result-message-header-has-plus-btn {
  background-image: url(../images/states/empty_state_reduced_motion.svg);
}
.taglib-empty-result-message .taglib-empty-search-result-message-header {
  background-image: url(../images/states/search_state.svg);
  max-width: 210px;
  padding-top: 232px;
}
@media (prefers-reduced-motion: reduce) {
  .taglib-empty-result-message .taglib-empty-search-result-message-header {
    background-image: url(../images/states/search_state_reduced_motion.svg);
  }
}
.c-prefers-reduced-motion .taglib-empty-result-message .taglib-empty-search-result-message-header {
  background-image: url(../images/states/search_state_reduced_motion.svg);
}
.taglib-empty-result-message .taglib-empty-state {
  background-image: url(../images/states/empty_state.svg);
  margin: auto;
  max-width: 250px;
  padding-top: 250px;
}
@media (prefers-reduced-motion: reduce) {
  .taglib-empty-result-message .taglib-empty-state {
    background-image: url(../images/states/empty_state_reduced_motion.svg);
  }
}
.c-prefers-reduced-motion .taglib-empty-result-message .taglib-empty-state {
  background-image: url(../images/states/empty_state_reduced_motion.svg);
}
.taglib-empty-result-message .taglib-success-state {
  background-image: url(../images/states/success_state.svg);
  margin: auto;
  max-width: 250px;
  padding-top: 250px;
}
@media (prefers-reduced-motion: reduce) {
  .taglib-empty-result-message .taglib-success-state {
    background-image: url(../images/states/success_state_reduced_motion.svg);
  }
}
.c-prefers-reduced-motion .taglib-empty-result-message .taglib-success-state {
  background-image: url(../images/states/success_state_reduced_motion.svg);
}
.taglib-empty-result-message .taglib-search-state {
  background-image: url(../images/states/search_state.svg);
  margin: auto;
  max-width: 250px;
  padding-top: 250px;
}
@media (prefers-reduced-motion: reduce) {
  .taglib-empty-result-message .taglib-search-state {
    background-image: url(../images/states/search_state_reduced_motion.svg);
  }
}
.c-prefers-reduced-motion .taglib-empty-result-message .taglib-search-state {
  background-image: url(../images/states/search_state_reduced_motion.svg);
}
.taglib-empty-result-message .taglib-empty-result-message-title {
  font-size: 1rem;
  margin-top: 48px;
}
.taglib-empty-result-message .taglib-empty-result-message-description {
  font-size: 0.875rem;
}
.taglib-empty-result-message .taglib-empty-result-message-header + .taglib-empty-result-message-title,
.taglib-empty-result-message .taglib-empty-search-result-message-header + .taglib-empty-result-message-title,
.taglib-empty-result-message .taglib-empty-state + .taglib-empty-result-message-title,
.taglib-empty-result-message .taglib-success-state + .taglib-empty-result-message-title,
.taglib-empty-result-message .taglib-search-state + .taglib-empty-result-message-title {
  font-size: 1.25rem;
  font-weight: bold;
  text-align: center;
}
.taglib-empty-result-message .taglib-empty-result-message-header ~ .taglib-empty-result-message-description, .taglib-empty-result-message .taglib-empty-result-message-header ~ .taglib-empty-result-message-actions,
.taglib-empty-result-message .taglib-empty-search-result-message-header ~ .taglib-empty-result-message-description,
.taglib-empty-result-message .taglib-empty-search-result-message-header ~ .taglib-empty-result-message-actions,
.taglib-empty-result-message .taglib-empty-state ~ .taglib-empty-result-message-description,
.taglib-empty-result-message .taglib-empty-state ~ .taglib-empty-result-message-actions,
.taglib-empty-result-message .taglib-success-state ~ .taglib-empty-result-message-description,
.taglib-empty-result-message .taglib-success-state ~ .taglib-empty-result-message-actions,
.taglib-empty-result-message .taglib-search-state ~ .taglib-empty-result-message-description,
.taglib-empty-result-message .taglib-search-state ~ .taglib-empty-result-message-actions {
  font-size: 1rem;
  text-align: center;
}

.field-wrapper.form-inline .control-label {
  display: inline-block;
}

.field-wrapper-html .input-localized .input-group-item {
  flex-wrap: nowrap;
}

.taglib-header {
  border-bottom: 1px solid #c8c9ca;
  color: #555;
  margin-bottom: 1em;
  padding-bottom: 10px;
}
.taglib-header .header-title {
  display: inline-block;
  margin: 0.1em;
  max-width: 100%;
  text-overflow: ellipsis;
  vertical-align: middle;
  white-space: nowrap;
  word-wrap: normal;
}
.taglib-header .header-back-to {
  display: inline-block;
  vertical-align: middle;
}
.taglib-header .header-back-to a {
  display: block;
  font-weight: bold;
  padding: 0 0.3em 0 0;
  text-decoration: none;
}

.taglib-icon {
  text-decoration: none;
}
.taglib-icon:not(.btn):hover .taglib-text, .taglib-icon:not(.btn):focus .taglib-text {
  text-decoration: underline;
}
.taglib-icon[lang] > img {
  vertical-align: baseline;
  width: 16px;
}

.taglib-icon-help {
  color: #6c757d !important;
}
.taglib-icon-help:hover, .taglib-icon-help:active {
  color: #343a40 !important;
}

.icon-monospaced {
  color: inherit;
  display: inline-block;
  height: 2rem;
  line-height: 34px;
  text-align: center;
  width: 2rem;
}
.icon-monospaced.lexicon-icon {
  padding: 8px;
}

.taglib-icon-list li {
  float: left;
  margin-right: 1em;
}
.taglib-icon-list:after {
  clear: both;
  content: "";
  display: block;
  height: 0;
  visibility: hidden;
}

.lfr-icon-menu .lfr-icon-menu-icon {
  max-width: none;
}
@media (max-width: 767.98px) {
  .table-cell.last .lfr-icon-menu .dropdown-toggle {
    text-align: center;
  }
  .table-cell.last .lfr-icon-menu .dropdown-toggle > img,
  .table-cell.last .lfr-icon-menu .dropdown-toggle .lfr-icon-menu-text {
    display: none;
  }
}

.lfr-menu-list {
  float: none;
  overflow-y: auto;
  position: relative;
}
.lfr-menu-list.direction-right {
  margin: 0 2px;
}
.lfr-menu-list.dropdown-menu {
  float: none;
  position: relative;
}
@media (max-width: 991.98px) {
  .lfr-menu-list.dropdown-menu > li > a {
    font-size: 22px;
    line-height: 40px;
    white-space: normal;
  }
  .lfr-menu-list.dropdown-menu > li > a img {
    margin-bottom: 3px;
  }
}
.lfr-menu-list.dropdown-menu .search-panel {
  margin-bottom: 0;
}
.lfr-menu-list.dropdown-menu .search-panel .form-group {
  margin: 0 16px;
}
.lfr-menu-list.dropdown-menu .search-panel .menu-item-filter {
  width: auto;
}
body > .lfr-menu-list ul {
  border-radius: 4px;
}

.lfr-icon-menu-open:after {
  clear: both;
  content: "";
  display: table;
}
.lfr-icon-menu-open .dropdown-menu {
  position: static;
}

.input-localized.input-localized-editor .form-control {
  border-width: 0;
  height: 100%;
  padding: 0;
}
.input-localized .input-group-item {
  flex-direction: column;
}
.input-localized .input-localized-content {
  margin-left: 6px;
}
.input-group .input-localized .input-localized-content {
  margin-top: 3px;
}
.input-localized .lfr-input-localized .lfr-input-localized-state {
  background-color: #ddd;
}
.input-localized .lfr-input-localized .lfr-input-localized-state.lfr-input-localized-state-error {
  background-color: #ff0047;
}
.input-localized .lfr-input-localized-default a {
  margin-right: 14px;
}
.input-localized .lfr-input-localized-state {
  height: 4px;
  margin: 3px 5px;
  width: 4px;
}
.input-localized .palette-item-inner .lfr-input-localized-flag {
  font-size: 16px;
  opacity: 0.5;
}
.input-localized .palette-item,
.input-localized .palette-item-hover,
.input-localized .palette-item-hover .palette-item-inner {
  border-color: transparent;
}
.input-localized .palette-item-inner {
  border-color: #666;
  display: block;
  height: 16px;
  width: 16px;
}
.input-localized .palette-item-selected .lfr-input-localized-state {
  background: #27c1f2;
}

.input-localized-palette-container .palette-items-container {
  font-size: 0;
  margin: 0;
  white-space: normal;
}
.input-localized-palette-container .palette-item {
  border-width: 0;
  padding: 0.5rem 1.25rem;
}
.input-localized-palette-container .palette-item-inner {
  border: 1px solid;
  margin-right: 4px;
  width: 16px;
}
.input-localized-palette-container .palette-item-inner img {
  display: block;
}

.taglib-move-boxes {
  margin-bottom: 1em;
}
.taglib-move-boxes label {
  border-bottom: 1px solid transparent;
  display: block;
  margin-bottom: 5px;
  padding: 5px;
}
.taglib-move-boxes .toolbar {
  text-align: center;
}
.taglib-move-boxes .arrow-button img {
  border-width: 0;
  height: 16px;
  width: 16px;
}
.taglib-move-boxes .choice-selector {
  width: 100%;
}
.taglib-move-boxes .choice-selector label {
  background: #ebf1f9;
  border-bottom-color: #8db2f3;
}
.taglib-move-boxes .field-content {
  margin-bottom: 0;
}
.taglib-move-boxes .move-arrow-buttons {
  margin-top: 5em;
}
.taglib-move-boxes .move-arrow-buttons .arrow-button {
  display: block;
}
.taglib-move-boxes .sortable-container {
  margin-top: 10px;
}
.taglib-move-boxes .sortable-container .btn.edit-selection {
  margin-bottom: 10px;
}
.taglib-move-boxes .sortable-container .move-option {
  background-color: transparent;
  border-top: 1px solid #ddd;
  display: none;
  margin: 2px 0;
  padding: 2px;
  position: relative;
}
.taglib-move-boxes .sortable-container .move-option.selected {
  display: block;
}
.taglib-move-boxes .sortable-container .move-option.move-option-dragging {
  background-color: #fafafa;
}
.taglib-move-boxes .sortable-container .move-option .checkbox,
.taglib-move-boxes .sortable-container .move-option .handle {
  position: absolute;
}
.taglib-move-boxes .sortable-container .move-option .checkbox {
  display: none;
  margin: 7px 0 0 5px;
}
.taglib-move-boxes .sortable-container .move-option .handle {
  color: #999;
  cursor: pointer;
  font-size: 1.5em;
  padding: 6px;
}
.taglib-move-boxes .sortable-container .move-option .title {
  font-size: 1.2em;
  margin: 1px 0 1px 30px;
}
.taglib-move-boxes .sortable-container.edit-list-active .move-option {
  display: block;
}
.taglib-move-boxes .sortable-container.edit-list-active .move-option .checkbox {
  display: inline-block;
}
.taglib-move-boxes .sortable-container.edit-list-active .move-option .handle {
  display: none;
}
.mobile .taglib-move-boxes .selector-container {
  display: none;
}

.item-selector .card-row > .autofit-col-expand {
  padding-top: 4px;
}
.item-selector .drop-zone {
  background-color: #f1f2f5;
  margin-top: 1rem;
}
.item-selector .input-file {
  height: 0.1px;
  opacity: 0;
  overflow: hidden;
  position: absolute;
  width: 0.1px;
  z-index: -1;
}
.item-selector .input-file + label {
  position: relative;
}
.item-selector .input-file + label::before {
  border-radius: 4px;
  bottom: -2px;
  content: "";
  display: block;
  left: -2px;
  position: absolute;
  right: -2px;
  top: -2px;
  transition: box-shadow 0.15s ease-in-out;
}
.item-selector .input-file:focus + label::before {
  box-shadow: 0 0 0 2px #fff, 0 0 0 4px #75b8ff;
}
.item-selector .item-selector-list-row:hover {
  background-color: #e5f2ff;
  cursor: pointer;
}

.lfr-map {
  border: 1px solid #ccc;
  min-height: 400px;
  width: 100%;
}
.lfr-map .home-button {
  margin: 5px;
}
@media (max-width: 575.98px) {
  .lfr-map .home-button {
    height: 35px;
    width: 45px;
  }
}
.lfr-map .search-controls {
  font-size: 15px;
  margin-top: 5px;
  width: 100%;
}
@media (min-width: 576px) {
  .lfr-map .search-controls {
    width: 50%;
  }
}
.lfr-map .search-controls .search-input {
  width: 100%;
}

.navbar .navbar-collapse {
  max-height: none;
}
.navbar .navbar-collapse:after, .navbar .navbar-collapse:before {
  display: inline;
}
@media (max-width: 767.98px) {
  .navbar .navbar-search {
    background-color: #f3f3f3;
    border-top-width: 0;
    width: 100%;
  }
}
.navbar .navbar-search .form-search {
  margin: 8px 0;
}
@media (min-width: 768px) {
  .navbar .navbar-search .form-search {
    float: right;
    max-width: 275px;
  }
}
@media (max-width: 767.98px) {
  .navbar .navbar-search .form-search .input-group {
    width: 100%;
  }
}
@media (max-width: 991.98px) {
  .navbar .container .navbar-btn,
  .navbar .container-fluid .navbar-btn {
    margin-bottom: 5px;
    width: 45px;
  }
  .navbar .container .navbar-collapse.open,
  .navbar .container-fluid .navbar-collapse.open {
    border-width: 0;
    display: block;
    height: auto;
    overflow: visible;
  }
}

.taglib-portlet-preview.show-borders {
  border: 1px solid #828f95;
  margin-bottom: 1em;
  padding: 3px 3px 1em;
}
.taglib-portlet-preview.show-borders .title {
  background-color: #d3dadd;
  font-size: 1.4em;
  font-weight: bold;
  padding: 0.5em;
}
.taglib-portlet-preview .preview {
  margin: 1em;
  min-height: 90px;
}

.lfr-search-container .entry-action {
  width: 1px;
}
.lfr-search-container .entry-action .taglib-icon {
  white-space: nowrap;
}

.lfr-search-container-wrapper.lfr-search-container-fixed-first-column {
  position: relative;
}
@media (min-width: 576px) {
  .lfr-search-container-wrapper.lfr-search-container-fixed-first-column .table-responsive {
    margin-left: 375px;
    width: auto;
  }
}
.lfr-search-container-wrapper.lfr-search-container-fixed-first-column .table-responsive .table {
  position: static;
}
.lfr-search-container-wrapper.lfr-search-container-fixed-first-column .table-responsive .table .lfr-search-iterator-fixed-header {
  left: 12px;
  position: fixed;
  right: 12px;
  top: -1px;
  z-index: 989;
}
.lfr-search-container-wrapper.lfr-search-container-fixed-first-column .table-responsive .table .lfr-search-iterator-fixed-header > th {
  display: block;
  padding: 0;
}
.lfr-search-container-wrapper.lfr-search-container-fixed-first-column .table-responsive .table .lfr-search-iterator-fixed-header > th .lfr-search-iterator-fixed-header-inner-wrapper {
  overflow-x: hidden;
}
@media (min-width: 576px) {
  .lfr-search-container-wrapper.lfr-search-container-fixed-first-column .table-responsive .table .lfr-search-iterator-fixed-header > th .lfr-search-iterator-fixed-header-inner-wrapper {
    margin-left: 375px;
  }
}
.lfr-search-container-wrapper.lfr-search-container-fixed-first-column .table-responsive .table .lfr-search-iterator-fixed-header > th .lfr-search-iterator-fixed-header-inner-wrapper table {
  border-collapse: collapse;
  width: 100%;
}
.lfr-search-container-wrapper.lfr-search-container-fixed-first-column .table-responsive .table .lfr-search-iterator-fixed-header > th .lfr-search-iterator-fixed-header-inner-wrapper table th {
  border-radius: 0;
}
.lfr-search-container-wrapper.lfr-search-container-fixed-first-column .table-responsive .table td,
.lfr-search-container-wrapper.lfr-search-container-fixed-first-column .table-responsive .table th {
  width: auto;
}
@media (min-width: 576px) {
  .lfr-search-container-wrapper.lfr-search-container-fixed-first-column .table-responsive .table td:first-child,
  .lfr-search-container-wrapper.lfr-search-container-fixed-first-column .table-responsive .table th:first-child {
    background-color: #fff;
    left: 0;
    position: absolute;
    right: 15px;
  }
}
.lfr-search-container-wrapper.lfr-search-container-fixed-first-column .table-responsive .table th {
  height: auto;
}
.lfr-search-container-wrapper a:not(.btn):not(.component-action):not(.page-link) {
  color: #495057;
  font-weight: 500;
  text-decoration: underline;
}
.lfr-search-container-wrapper a:not(.btn):not(.component-action):not(.page-link):focus, .lfr-search-container-wrapper a:not(.btn):not(.component-action):not(.page-link):hover {
  color: #000;
}
.lfr-search-container-wrapper .dropdown-action .dropdown-toggle {
  color: #6c757d;
}
.lfr-search-container-wrapper .dropdown-action .dropdown-toggle:hover {
  color: #343a40;
}
.lfr-search-container-wrapper .lfr-icon-menu > .dropdown-toggle {
  color: #6c757d;
}
.lfr-search-container-wrapper .lfr-icon-menu > .dropdown-toggle:active, .lfr-search-container-wrapper .lfr-icon-menu > .dropdown-toggle:focus, .lfr-search-container-wrapper .lfr-icon-menu > .dropdown-toggle:hover {
  background-color: #f7f8f9;
  border-radius: 4px;
  color: #343a40;
}
.lfr-search-container-wrapper .lfr-search-container-list .list-group:first-child dt:not(.list-group-header) + .list-group-item {
  border-top-left-radius: 0.25rem;
  border-top-right-radius: 0.25rem;
}
.lfr-search-container-wrapper .lfr-search-container-list .list-group:last-child .list-group-item:nth-last-child(2) {
  border-bottom-left-radius: 0.25rem;
  border-bottom-right-radius: 0.25rem;
}
.lfr-search-container-wrapper .lfr-search-container-list + .taglib-search-iterator-page-iterator-bottom {
  margin-top: 20px;
}
.lfr-search-container-wrapper .list-group {
  margin-bottom: 0;
}
.lfr-search-container-wrapper .list-group + .list-group .list-group-header:first-child,
.lfr-search-container-wrapper .list-group + .list-group .list-group-item:first-child {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}
.lfr-search-container-wrapper .list-group .list-group-item .h4,
.lfr-search-container-wrapper .list-group .list-group-item h4 {
  font-size: 0.875rem;
  line-height: 1.5;
  margin-bottom: 0;
}
.lfr-search-container-wrapper .list-group .list-group-item .h5,
.lfr-search-container-wrapper .list-group .list-group-item .h6,
.lfr-search-container-wrapper .list-group .list-group-item h5,
.lfr-search-container-wrapper .list-group .list-group-item h6 {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.5;
  margin-bottom: 0;
}
.lfr-search-container-wrapper .list-group .list-group-item span + h2.h5 {
  font-weight: 600;
}
.lfr-search-container-wrapper .list-group .list-group-item .h6 + .h5,
.lfr-search-container-wrapper .list-group .list-group-item h6 + h5 {
  font-weight: 600;
}
.lfr-search-container-wrapper .table-list tbody tr:nth-last-child(2) td:first-child,
.lfr-search-container-wrapper .table-list tbody tr:nth-last-child(2) th:first-child {
  border-bottom-left-radius: 0.25rem;
}
.lfr-search-container-wrapper .table-list tbody tr:nth-last-child(2) td:last-child,
.lfr-search-container-wrapper .table-list tbody tr:nth-last-child(2) th:last-child {
  border-bottom-right-radius: 0.25rem;
}

.user-info {
  display: flex;
}
.user-info .sticker {
  align-self: center;
}
.user-info .user-details {
  margin-left: 1rem;
}
.user-info .user-name {
  color: #343a40;
  font-weight: 600;
}
.user-info .date-info {
  color: #6c757d;
}

.user-status-tooltip .user-status-avatar {
  float: left;
  margin-right: 5px;
}
.user-status-tooltip .user-status-avatar .user-status-avatar-image {
  width: 27px;
}
.user-status-tooltip .user-status-info {
  display: inline-block;
  overflow: hidden;
}
.user-status-tooltip .user-status-info .user-status-date {
  font-size: 11px;
}

.lfr-search-container {
  margin-top: 1.5em;
  overflow: auto;
}
@media (max-width: 767.98px) {
  .lfr-search-container .selector-button {
    width: auto;
  }
}
.touch .lfr-search-container {
  -webkit-overflow-scrolling: touch;
}
.touch .lfr-search-container .searchcontainer-content .table {
  max-width: none;
}

.taglib-page-iterator {
  clear: both;
  height: auto;
  width: auto;
}
.taglib-page-iterator .lfr-pagination-buttons {
  float: right;
  margin: 0;
}
@media (max-width: 991.98px) {
  .taglib-page-iterator .lfr-pagination-buttons {
    width: 100%;
  }
}
@media (max-width: 991.98px) and (max-width: 767.98px) {
  .taglib-page-iterator .lfr-pagination-buttons {
    float: none;
    margin-top: 20px;
  }
}
@media (max-width: 991.98px) {
  .taglib-page-iterator .lfr-pagination-buttons > li {
    display: inline-block;
    width: 50%;
  }
  .taglib-page-iterator .lfr-pagination-buttons > li.first, .taglib-page-iterator .lfr-pagination-buttons > li.last {
    display: none;
  }
  .taglib-page-iterator .lfr-pagination-buttons > li > a {
    line-height: 20px;
    padding: 11px 19px;
  }
}
.taglib-page-iterator .lfr-pagination-config {
  float: left;
  line-height: 46px;
}
@media (max-width: 767.98px) {
  .taglib-page-iterator .lfr-pagination-config {
    float: none;
  }
  .taglib-page-iterator .lfr-pagination-config .current-page-menu {
    display: block;
  }
  .taglib-page-iterator .lfr-pagination-config .current-page-menu .btn {
    display: block;
  }
}
.taglib-page-iterator .lfr-pagination-config .lfr-pagination-delta-selector,
.taglib-page-iterator .lfr-pagination-config .lfr-pagination-page-selector {
  display: inline;
}
.taglib-page-iterator .lfr-pagination-config .lfr-pagination-delta-selector {
  float: none;
}
@media (max-width: 991.98px) {
  .taglib-page-iterator .lfr-pagination-config .lfr-pagination-delta-selector {
    display: none;
  }
}
.taglib-page-iterator .search-results {
  float: left;
  line-height: 46px;
  margin-left: 10px;
}
@media (max-width: 991.98px) {
  .taglib-page-iterator .search-results {
    display: none;
  }
}

@media (max-width: 991.98px) {
  ul.pagination ul.inline-scroller {
    max-height: inherit;
  }
}
.taglib-search-toggle .form-search {
  position: relative;
}
.taglib-search-toggle .form-search .input-group-btn {
  position: absolute;
}
@media (min-width: 992px) {
  .taglib-search-toggle .form-search .input-group-btn {
    position: static;
  }
}
.taglib-search-toggle .toggle-advanced {
  color: inherit;
  margin-left: 10px;
  position: absolute;
  top: 8px;
}
.taglib-search-toggle .toggle-advanced, .taglib-search-toggle .toggle-advanced:hover, .taglib-search-toggle .toggle-advanced:focus {
  text-decoration: none;
}

.taglib-search-toggle-advanced-wrapper .taglib-search-toggle-advanced {
  background-color: #fcfcfc;
  border: solid #ddd;
  border-width: 0 1px 1px;
  margin-top: 0;
  padding: 15px 15px 0;
}
.navbar-search .taglib-search-toggle-advanced-wrapper .taglib-search-toggle-advanced {
  border-width: 1px 0 0;
}
.taglib-search-toggle-advanced-wrapper .taglib-search-toggle-advanced .taglib-search-toggle-advanced-content {
  position: relative;
}
.taglib-search-toggle-advanced-wrapper .taglib-search-toggle-advanced .taglib-search-toggle-advanced-content .match-fields {
  margin-bottom: 0;
}
.taglib-search-toggle-advanced-wrapper .taglib-search-toggle-advanced .taglib-search-toggle-advanced-content .match-fields-legend {
  color: #999;
  font-size: 13px;
}
.taglib-search-toggle-advanced-wrapper .btn.close {
  margin-right: 5px;
  position: relative;
  z-index: 1;
}

.taglib-user-display {
  padding: 0.5em;
}
.taglib-user-display .avatar {
  background: no-repeat center;
  background-size: 60px;
  display: block;
  height: 60px;
  margin: 0 auto;
  width: 60px;
}
.taglib-user-display .avatar.author:after {
  background: rgba(50, 168, 230, 0.5);
  border-radius: 50%;
  content: "";
  display: block;
  height: 100%;
  width: 100%;
}
.taglib-user-display .user-details {
  margin-top: 1em;
}
.taglib-user-display .user-name {
  font-size: 1.1em;
  font-weight: bold;
}
.taglib-user-display a .user-name {
  text-decoration: underline;
}
.taglib-user-display.display-style-1 .user-profile-image {
  float: left;
  margin-right: 24px;
}
.taglib-user-display.display-style-1 .user-name {
  display: inline-block;
  margin-top: 10px;
}
.taglib-user-display.display-style-1 .user-details {
  margin-top: 0;
}
.taglib-user-display.display-style-2 .user-profile-image,
.taglib-user-display.display-style-2 .user-name {
  clear: both;
  display: block;
  min-height: 20px;
  text-align: center;
}
.taglib-user-display.display-style-3 {
  padding: 0;
}
.taglib-user-display.display-style-3 .user-profile-image {
  display: inline-block;
  vertical-align: middle;
}

.taglib-workflow-status .workflow-id,
.taglib-workflow-status .workflow-version,
.taglib-workflow-status .workflow-status {
  color: #999;
}
.table-cell .taglib-workflow-status {
  margin: 0;
}
.table-cell .taglib-workflow-status .workflow-status {
  padding-left: 0;
}

.lfr-autocomplete-input-list .yui3-aclist-list {
  margin: 0;
}

.portal-popup .sheet > .lfr-nav {
  margin-top: -24px;
}
.portal-popup .contacts-portlet .portlet-configuration-container .form {
  position: static;
}
.portal-popup .lfr-form-content {
  padding: 24px 12px;
}
.portal-popup .portlet-body,
.portal-popup .portlet-boundary,
.portal-popup .portlet-column,
.portal-popup .portlet-layout {
  height: 100%;
}
.portal-popup .portlet-column {
  position: static;
}
.portal-popup .dialog-body > .container-fluid-max-xl,
.portal-popup .dialog-body .container-view,
.portal-popup .export-dialog-tree > .container-fluid-max-xl,
.portal-popup .export-dialog-tree .container-view,
.portal-popup .lfr-dynamic-uploader > .container-fluid-max-xl,
.portal-popup .lfr-dynamic-uploader .container-view,
.portal-popup .lfr-form-content > .container-fluid-max-xl,
.portal-popup .lfr-form-content .container-view,
.portal-popup .portlet-configuration-body-content > .container-fluid-max-xl,
.portal-popup .portlet-configuration-body-content .container-view,
.portal-popup .process-list > .container-fluid-max-xl,
.portal-popup .process-list .container-view,
.portal-popup .roles-selector-body > .container-fluid-max-xl,
.portal-popup .roles-selector-body .container-view {
  padding-top: 20px;
}
.portal-popup .dialog-body > .container-fluid-max-xl .nav-tabs-underline,
.portal-popup .dialog-body .container-view .nav-tabs-underline,
.portal-popup .export-dialog-tree > .container-fluid-max-xl .nav-tabs-underline,
.portal-popup .export-dialog-tree .container-view .nav-tabs-underline,
.portal-popup .lfr-dynamic-uploader > .container-fluid-max-xl .nav-tabs-underline,
.portal-popup .lfr-dynamic-uploader .container-view .nav-tabs-underline,
.portal-popup .lfr-form-content > .container-fluid-max-xl .nav-tabs-underline,
.portal-popup .lfr-form-content .container-view .nav-tabs-underline,
.portal-popup .portlet-configuration-body-content > .container-fluid-max-xl .nav-tabs-underline,
.portal-popup .portlet-configuration-body-content .container-view .nav-tabs-underline,
.portal-popup .process-list > .container-fluid-max-xl .nav-tabs-underline,
.portal-popup .process-list .container-view .nav-tabs-underline,
.portal-popup .roles-selector-body > .container-fluid-max-xl .nav-tabs-underline,
.portal-popup .roles-selector-body .container-view .nav-tabs-underline {
  margin-left: -15px;
  margin-right: -15px;
  margin-top: -20px;
}
.portal-popup .dialog-body > .lfr-nav + .container-fluid-max-xl,
.portal-popup .export-dialog-tree > .lfr-nav + .container-fluid-max-xl,
.portal-popup .lfr-dynamic-uploader > .lfr-nav + .container-fluid-max-xl,
.portal-popup .lfr-form-content > .lfr-nav + .container-fluid-max-xl,
.portal-popup .portlet-configuration-body-content > .lfr-nav + .container-fluid-max-xl,
.portal-popup .process-list > .lfr-nav + .container-fluid-max-xl,
.portal-popup .roles-selector-body > .lfr-nav + .container-fluid-max-xl {
  padding-top: 0;
}
.portal-popup .login-container {
  padding: 1rem;
}
.portal-popup .navbar ~ .portlet-configuration-setup,
.portal-popup .portlet-export-import-container {
  height: calc(100% - 48px);
  position: relative;
}
@media (min-width: 576px) {
  .portal-popup .navbar ~ .portlet-configuration-setup,
  .portal-popup .portlet-export-import-container {
    height: calc(100% - 48px);
  }
}
.portal-popup .panel-group .panel {
  border-left-width: 0;
  border-radius: 0;
  border-right-width: 0;
}
.portal-popup .panel-group .panel + .panel {
  border-top-width: 0;
  margin-top: 0;
}
.portal-popup .panel-heading {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}
.portal-popup .portlet-configuration-setup .lfr-nav {
  margin-left: auto;
  margin-right: auto;
  max-width: 1280px;
  padding-left: 3px;
  padding-right: 3px;
}
@media (min-width: 576px) {
  .portal-popup .portlet-configuration-setup .lfr-nav {
    padding-left: 8px;
    padding-right: 8px;
  }
}
.portal-popup .lfr-dynamic-uploader,
.portal-popup .process-list {
  bottom: 0;
  display: block;
  left: 0;
  overflow: auto;
  position: absolute;
  right: 0;
  top: 48px;
  -webkit-overflow-scrolling: touch;
}
@media (min-width: 576px) {
  .portal-popup .lfr-dynamic-uploader,
  .portal-popup .process-list {
    top: 48px;
  }
}
.portal-popup .portlet-export-import-publish-processes {
  top: 0;
}
.portal-popup .dialog-footer {
  background-color: #fff;
  border-top: 1px solid #dee2e6;
  bottom: 0;
  display: flex;
  flex-direction: row-reverse;
  left: 0;
  margin: 0;
  padding: 10px 24px;
  width: 100%;
  z-index: 989;
}
@media (min-width: 768px) {
  .portal-popup .dialog-footer {
    position: fixed;
  }
}
.portal-popup .dialog-footer .btn {
  margin-left: 1rem;
  margin-right: 0;
}
.portal-popup .dialog-footer.dialog-footer-not-reverse {
  flex-direction: initial;
  justify-content: flex-end;
}
@media (min-width: 768px) {
  .portal-popup .dialog-body:not(:last-child),
  .portal-popup .lfr-dynamic-uploader:not(:last-child),
  .portal-popup .lfr-form-content:not(:last-child),
  .portal-popup .portlet-configuration-body-content:not(:last-child),
  .portal-popup .roles-selector-body:not(:last-child) {
    padding-bottom: 60px;
  }
}
.portal-popup .lfr-dynamic-uploader {
  display: table;
  table-layout: fixed;
  width: 100%;
}
.portal-popup .lfr-dynamic-uploader.hide-dialog-footer {
  bottom: 0;
}
.portal-popup .lfr-dynamic-uploader.hide-dialog-footer + .dialog-footer {
  display: none;
}
.portal-popup .portlet-configuration-edit-permissions .portlet-configuration-body-content {
  display: flex;
  flex-direction: column;
  overflow: visible;
}
.portal-popup .portlet-configuration-edit-permissions .portlet-configuration-body-content > form {
  flex-grow: 1;
  max-width: none;
  overflow: auto;
}
.portal-popup .portlet-configuration-edit-templates .portlet-configuration-body-content {
  bottom: 0;
}
.portal-popup:not(.article-preview) #main-content,
.portal-popup:not(.article-preview) #wrapper {
  bottom: 0;
  left: 0;
  overflow: auto;
  padding: 0;
  position: absolute;
  right: 0;
  top: 0;
  -webkit-overflow-scrolling: touch;
}
@media print {
  .portal-popup:not(.article-preview) #main-content,
  .portal-popup:not(.article-preview) #wrapper {
    position: initial;
  }
}
.portal-popup .columns-max > .portlet-layout.row {
  margin-left: 0;
  margin-right: 0;
}
.portal-popup .columns-max > .portlet-layout.row > .portlet-column {
  padding-left: 0;
  padding-right: 0;
}

html:not(#__):not(#___) .portlet-layout.dragging {
  border-collapse: separate;
}
html:not(#__):not(#___) .drop-area {
  background-color: #d3dadd;
}
html:not(#__):not(#___) .active-area {
  background: #ffc;
}
html:not(#__):not(#___) .portlet-boundary.yui3-dd-dragging {
  opacity: 0.6;
}
html:not(#__):not(#___) .portlet-boundary.yui3-dd-dragging .portlet {
  border: 2px dashed #ccc;
}
html:not(#__):not(#___) .sortable-layout-proxy {
  opacity: 1;
}
html:not(#__):not(#___) .sortable-layout-proxy .portlet-topper {
  background-image: none;
}
html:not(#__):not(#___) .proxy {
  cursor: move;
  opacity: 0.65;
  position: absolute;
}
html:not(#__):not(#___) .proxy.generic-portlet {
  height: 200px;
  width: 300px;
}
html:not(#__):not(#___) .proxy.generic-portlet .portlet-title {
  padding: 10px;
}
html:not(#__):not(#___) .proxy.not-intersecting .forbidden-action {
  background: url(../images/application/forbidden_action.png) no-repeat;
  display: block;
  height: 32px;
  position: absolute;
  right: -15px;
  top: -15px;
  width: 32px;
}
html:not(#__):not(#___) .resizable-proxy {
  border: 1px dashed #828f95;
  position: absolute;
  visibility: hidden;
}
html:not(#__):not(#___) .sortable-proxy {
  background: #727c81;
  margin-top: 1px;
}
html:not(#__):not(#___) .sortable-layout-drag-target-indicator {
  margin: 2px 0;
}
html:not(#__):not(#___) .yui3-dd-proxy {
  z-index: 1110 !important;
}

.portlet-layout.dragging {
  border-collapse: separate;
}

.drop-area {
  background-color: #d3dadd;
}

.active-area {
  background: #ffc;
}

.portlet-boundary.yui3-dd-dragging {
  opacity: 0.6;
  transform: scale(0.8);
  transition: transform 0.3s ease;
}
@media (prefers-reduced-motion: reduce) {
  .portlet-boundary.yui3-dd-dragging {
    transition: none;
  }
}
.c-prefers-reduced-motion .portlet-boundary.yui3-dd-dragging {
  transition: none;
}
.portlet-boundary.yui3-dd-dragging .portlet {
  border: 2px dashed #ccc;
}

.sortable-layout-proxy {
  opacity: 1;
}
.sortable-layout-proxy .portlet-topper {
  background-image: none;
}

.proxy {
  cursor: move;
  opacity: 0.65;
  position: absolute;
}
.proxy.generic-portlet {
  height: 200px;
  width: 300px;
}
.proxy.generic-portlet .portlet-title {
  padding: 10px;
}
.proxy.not-intersecting .forbidden-action {
  background: url(../images/application/forbidden_action.png) no-repeat;
  display: block;
  height: 32px;
  position: absolute;
  right: -15px;
  top: -15px;
  width: 32px;
}

.resizable-proxy {
  border: 1px dashed #828f95;
  position: absolute;
  visibility: hidden;
}

.sortable-proxy {
  background: #727c81;
  margin-top: 1px;
}

.sortable-layout-drag-target-indicator {
  margin: 2px 0;
}

.yui3-dd-proxy {
  z-index: 1110 !important;
}

.portlet-column-content.empty {
  padding: 50px;
}

.lfr-portlet-title-editable {
  margin-top: 0;
  z-index: 9999;
}
.lfr-portlet-title-editable .lfr-portlet-title-editable-content {
  padding: 0;
}
.lfr-portlet-title-editable .lfr-portlet-title-editable-content .field-input {
  margin-bottom: 0;
}
.lfr-portlet-title-editable .lfr-portlet-title-editable-content .textfield-label {
  display: none;
}
.lfr-portlet-title-editable .lfr-portlet-title-editable-content .btn-toolbar-content {
  display: inline-block;
  vertical-align: bottom;
}
.lfr-portlet-title-editable .lfr-portlet-title-editable-content .btn-group {
  margin-top: 0;
}
.lfr-portlet-title-editable .lfr-portlet-title-editable-content .btn {
  display: inline-block;
  float: none;
  margin-top: 0;
  width: auto;
}

.lfr-source-editor {
  border: solid 0 #ccc;
  border-bottom-width: 2px;
  position: relative;
}
.lfr-source-editor .ace_editor {
  height: 100%;
}
.lfr-source-editor .lfr-source-editor-toolbar li > .btn {
  background-color: #fff;
  border: transparent;
  color: #717383;
  outline: 0;
}
.lfr-source-editor .lfr-source-editor-code {
  background-color: #fff;
  color: #2b4259;
}
.lfr-source-editor .lfr-source-editor-code .ace_gutter {
  background-color: #ededef;
  color: #868896;
  overflow: hidden;
}
.lfr-source-editor .lfr-source-editor-code .ace_gutter .ace_fold-widget {
  font-family: fontawesome-alloy;
  text-align: center;
  vertical-align: middle;
}
.lfr-source-editor .lfr-source-editor-code .ace_gutter .ace_fold-widget.ace_open, .lfr-source-editor .lfr-source-editor-code .ace_gutter .ace_fold-widget.ace_closed {
  background-image: none;
}
.lfr-source-editor .lfr-source-editor-code .ace_gutter .ace_fold-widget.ace_open:before {
  content: "▾";
}
.lfr-source-editor .lfr-source-editor-code .ace_gutter .ace_fold-widget.ace_closed:before {
  content: "▸";
}
.lfr-source-editor .lfr-source-editor-code .ace_gutter .ace_gutter-active-cell {
  color: #fff;
}
.lfr-source-editor .lfr-source-editor-code .ace_gutter .ace_gutter-active-line {
  background-color: #717383;
}
.lfr-source-editor .lfr-source-editor-code .ace_gutter .ace_gutter-layer {
  border-right: solid 1px #ccc;
}
.lfr-source-editor .lfr-source-editor-code .ace_gutter .ace_info {
  background-image: none;
}
.lfr-source-editor .lfr-source-editor-code .ace_content .ace_active-line {
  background-color: #ededef;
}
.lfr-source-editor .lfr-source-editor-code .ace_content .ace_constant {
  color: #34adab;
}
.lfr-source-editor .lfr-source-editor-code .ace_content .ace_tag {
  color: #1d5ec7;
}
.lfr-source-editor .lfr-source-editor-code .ace_content .ace_string {
  color: #ff6c58;
}
.lfr-source-editor .lfr-source-editor-code .ace_content .ace_string.ace_regex {
  color: #f00;
}
.lfr-source-editor.ace_dark .lfr-source-editor-code {
  background-color: #47474f;
  color: #fff;
}
.lfr-source-editor.ace_dark .lfr-source-editor-code .ace_gutter {
  background: #54555e;
  color: #fff;
}
.lfr-source-editor.ace_dark .lfr-source-editor-code .ace_gutter .ace_gutter-active-line {
  background-color: #009aed;
}
.lfr-source-editor.ace_dark .lfr-source-editor-code .ace_content .ace_active-line {
  background-color: #11394e;
}
.lfr-source-editor.ace_dark .lfr-source-editor-code .ace_content .ace_cursor {
  color: #fff;
}
.lfr-source-editor.ace_dark .lfr-source-editor-code .ace_content .ace_tag {
  color: #4d91ff;
}

.lfr-fullscreen-source-editor {
  height: 100%;
  overflow: hidden;
}
.lfr-fullscreen-source-editor .lfr-fullscreen-source-editor-header {
  height: 40px;
  margin-right: 4px;
  margin-top: 4px;
  min-height: 40px;
}
.lfr-fullscreen-source-editor .lfr-fullscreen-source-editor-content {
  height: 95%;
  position: relative;
}
.lfr-fullscreen-source-editor .lfr-fullscreen-source-editor-content .panel-splitter {
  border: 1px solid #ccc;
  position: absolute;
}
.lfr-fullscreen-source-editor .lfr-fullscreen-source-editor-content .preview-panel {
  display: inline-block;
  overflow-y: auto;
  padding-left: 20px;
}
.lfr-fullscreen-source-editor .lfr-fullscreen-source-editor-content .source-panel {
  display: inline-block;
}
.lfr-fullscreen-source-editor .lfr-fullscreen-source-editor-content.vertical .source-panel,
.lfr-fullscreen-source-editor .lfr-fullscreen-source-editor-content.vertical .preview-panel {
  height: 100%;
  width: 50%;
}
.lfr-fullscreen-source-editor .lfr-fullscreen-source-editor-content.vertical .panel-splitter {
  height: 100%;
  left: 50%;
  top: 0;
}
.lfr-fullscreen-source-editor .lfr-fullscreen-source-editor-content.horizontal .source-panel,
.lfr-fullscreen-source-editor .lfr-fullscreen-source-editor-content.horizontal .preview-panel {
  height: 50%;
  width: 100%;
}
.lfr-fullscreen-source-editor .lfr-fullscreen-source-editor-content.horizontal .panel-splitter {
  top: 50%;
  width: 100%;
}
.lfr-fullscreen-source-editor .lfr-fullscreen-source-editor-content.simple .panel-splitter,
.lfr-fullscreen-source-editor .lfr-fullscreen-source-editor-content.simple .preview-panel {
  display: none;
}
.lfr-fullscreen-source-editor .lfr-fullscreen-source-editor-content.simple .source-panel {
  height: 100%;
  width: 100%;
}

.lfr-fulscreen-source-editor-dialog .modal-footer {
  text-align: left;
}

.file-icon-color-0 {
  background-color: #fff;
  color: #6c757d;
}

.file-icon-color-1 {
  background-color: #fff;
  color: #6c757d;
}

.file-icon-color-2 {
  background-color: #fff;
  color: #24a892;
}

.file-icon-color-3 {
  background-color: #fff;
  color: #ff4d4d;
}

.file-icon-color-4 {
  background-color: #fff;
  color: #ff6200;
}

.file-icon-color-5 {
  background-color: #fff;
  color: #bf66ff;
}

.file-icon-color-6 {
  background-color: #fff;
  color: #0099e6;
}

.file-icon-color-7 {
  background-color: #fff;
  color: #ff4db2;
}

.lfr-item-viewer.uploading > div:not(.progress-container) {
  opacity: 0.3;
}
.lfr-item-viewer.uploading > .progress-container {
  visibility: visible;
}
.lfr-item-viewer .aspect-ratio a.item-preview {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  height: 100%;
  position: absolute;
  width: 100%;
}
.lfr-item-viewer .image-viewer-base-image-list {
  padding-top: 35px;
}
.lfr-item-viewer .item-preview:hover {
  cursor: pointer;
}
.lfr-item-viewer .progress-container {
  background-color: #fff;
  left: 0;
  margin: 0 auto;
  padding: 20px 30px;
  position: absolute;
  right: 0;
  text-align: center;
  top: 50%;
  transform: translateY(-50%);
  visibility: hidden;
  width: 80%;
  z-index: 1000;
}
.lfr-item-viewer .progress-container a {
  position: absolute;
  right: 30px;
}
.lfr-item-viewer .progress-container .progress {
  margin-top: 10px;
}
.lfr-item-viewer .search-info {
  background-color: #d3e8f1;
}
.lfr-item-viewer .search-info .keywords {
  font-size: 1.4em;
  font-weight: bold;
}
.lfr-item-viewer .search-info .change-search-folder {
  font-size: 0.8em;
  font-weight: normal;
}
.lfr-item-viewer .upload-view {
  display: table;
  height: 400px;
  margin-top: 20px;
  width: 100%;
}
.lfr-item-viewer .upload-view > div {
  display: table-cell;
  vertical-align: middle;
}
.lfr-item-viewer .yui3-widget-bd {
  position: relative;
}

.lfr-menu-expanded li a:focus {
  background-color: #5b677d;
  color: #fff;
  text-shadow: -1px -1px #2c2f34;
}

.lfr-url-error {
  display: inline-block;
  white-space: normal;
  overflow-wrap: break-all;
  word-wrap: break-all;
}

.lfr-page-layouts {
  padding: 0;
}
.lfr-page-layouts input[type=radio] {
  opacity: 0;
  position: absolute;
}
.lfr-page-layouts input[type=radio]:checked + .card-horizontal {
  cursor: default;
}
.lfr-page-layouts input[type=radio]:checked + .card-horizontal::after {
  bottom: calc(0.0625rem * -1);
  content: "";
  left: calc(0.0625rem * -1);
  position: absolute;
  right: calc(0.0625rem * -1);
  transition: height 0.15s ease-out;
}
@media (prefers-reduced-motion: reduce) {
  .lfr-page-layouts input[type=radio]:checked + .card-horizontal::after {
    transition: none;
  }
}
.lfr-page-layouts input[type=radio]:checked + .card-horizontal::after {
  transition: none;
}

.lfr-page-layouts .card-horizontal {
  cursor: pointer;
  outline: 0;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .lfr-page-layouts .card-horizontal {
    transition: none;
  }
}
.lfr-page-layouts .card-horizontal {
  transition: none;
}

.lfr-page-layouts .card-horizontal::after {
  border-radius: 0rem 0rem 0.25rem 0.25rem;
  bottom: calc(0.0625rem * -1);
  content: "";
  height: 0rem;
  left: calc(0.0625rem * -1);
  position: absolute;
  right: calc(0.0625rem * -1);
  transition: height 0.15s ease-out;
}
@media (prefers-reduced-motion: reduce) {
  .lfr-page-layouts .card-horizontal::after {
    transition: none;
  }
}
.lfr-page-layouts .card-horizontal::after {
  transition: none;
}

.modal-body.dialog-iframe-bd {
  overflow: hidden;
  padding: 0;
}

.modal-dialog:not(.dialog-iframe-modal):not(.modal-full-screen) {
  position: relative;
}
.modal-dialog.dialog-iframe-modal {
  max-width: none;
}
.modal-dialog.modal-dialog-sm {
  max-width: 500px;
}
.modal-dialog .yui3-resize-handles-wrapper {
  pointer-events: all;
}
.modal-dialog .yui3-resize-handles-wrapper .yui3-resize-handle-inner-br {
  bottom: 0;
  right: 0;
}

.modal-open .modal {
  display: block;
}

.sheet > .panel-group .sheet-footer {
  margin-bottom: 0;
}

.sheet-footer .btn {
  margin-right: calc(1rem * 0.5);
}
.sheet-footer .btn:last-child {
  margin-right: 0;
}

.tag-items {
  list-style: none;
  margin: 0 1em 0 0;
  padding: 0 1em 0.5em;
  white-space: normal;
}
.tag-items li {
  display: inline-block;
  margin: 0 1em 0 0;
  max-width: 100%;
}

.tag-selected {
  color: #000;
  font-weight: bold;
  text-decoration: none;
}

.tag-cloud .tag-popularity-1 {
  font-size: 1em;
}
.tag-cloud .tag-popularity-2 {
  font-size: 1.3em;
}
.tag-cloud .tag-popularity-3 {
  font-size: 1.6em;
}
.tag-cloud .tag-popularity-4 {
  font-size: 1.9em;
}
.tag-cloud .tag-popularity-5 {
  font-size: 2.2em;
}
.tag-cloud .tag-popularity-6 {
  font-size: 2.5em;
}

.lfr-portal-tooltip {
  display: inline-flex;
}
.lfr-portal-tooltip,
.lfr-portal-tooltip a {
  -webkit-touch-callout: none;
  -moz-user-select: none;
  -ms-user-select: none;
  -webkit-user-select: none;
  user-select: none;
}

.tree-node .icon-check {
  padding-right: 2px;
}
.tree-node .tree-node-checked .icon-check {
  padding-right: 0;
}
.tree-node [class^=icon-] {
  margin-right: 5px;
}
.tree-node .tree-node-checkbox-container {
  margin-right: 0;
}
.tree-node .tree-node-selected .tree-label {
  background: none;
}

.tree-node-content .tree-hitarea {
  color: #999;
  font-size: 10px;
  padding-right: 6px;
}
.tree-node-content .tree-label {
  margin-left: 3px;
}
.tree-node-content .tree-node-hidden-hitarea {
  visibility: hidden;
}

.tree-node-selected .tree-label {
  background-color: transparent;
}

.tree-view li.tree-node .tree-node-content svg.lexicon-icon {
  pointer-events: none;
}

.user-icon-color-0 {
  background-color: #fff;
  box-shadow: 0 0 0 1px #dee2e6;
  color: #6c757d;
}

.user-icon-color-1 {
  background-color: #fff;
  box-shadow: 0 0 0 1px #dee2e6;
  color: #66abff;
}

.user-icon-color-2 {
  background-color: #fff;
  box-shadow: 0 0 0 1px #dee2e6;
  color: #ff6200;
}

.user-icon-color-3 {
  background-color: #fff;
  box-shadow: 0 0 0 1px #dee2e6;
  color: #ff4d4d;
}

.user-icon-color-4 {
  background-color: #fff;
  box-shadow: 0 0 0 1px #dee2e6;
  color: #24a892;
}

.user-icon-color-5 {
  background-color: #fff;
  box-shadow: 0 0 0 1px #dee2e6;
  color: #ff4db2;
}

.user-icon-color-6 {
  background-color: #fff;
  box-shadow: 0 0 0 1px #dee2e6;
  color: #53a117;
}

.user-icon-color-7 {
  background-color: #fff;
  box-shadow: 0 0 0 1px #dee2e6;
  color: #bf66ff;
}

.user-icon-color-8 {
  background-color: #fff;
  box-shadow: 0 0 0 1px #dee2e6;
  color: #b38900;
}

.user-icon-color-9 {
  background-color: #fff;
  box-shadow: 0 0 0 1px #dee2e6;
  color: #0099e6;
}

.collapse.open {
  display: block;
}

.navbar-toggler-icon {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20class='lexicon-icon-outline'%20d='M15%203H1a1%201%200%200%201%200-2h14a1%201%200%200%201%200%202Zm0%206H1a1%201%200%200%201%200-2h14a1%201%200%200%201%200%202ZM1%2015h14a1%201%200%200%200%200-2H1a1%201%200%200%200%200%202Z'%20fill='%23212529'/%3E%3C/svg%3E");
  height: 1em;
  width: 1em;
}

.navbar-nav .nav-item.hover:after {
  bottom: -0.125rem;
  content: "";
  height: 0.125rem;
  left: 0;
  position: absolute;
  width: 100%;
}

.navbar .navbar-toggler .c-inner {
  max-width: none;
}

html:not(#__):not(#___) .cadmin.portlet-topper {
  position: relative;
}
html:not(#__):not(#___) .cadmin.portlet-topper .portlet-topper-toolbar .portlet-icon-back {
  background: url(../images/arrows/12_left.png) no-repeat 0 50%;
  padding: 5px 5px 5px 18px;
}
html:not(#__):not(#___) .cadmin.portlet-topper .portlet-topper-toolbar .portlet-options .lfr-icon-menu-text {
  display: none;
}
html:not(#__):not(#___) .cadmin .component-action.portlet-options {
  color: white;
}

body.portlet {
  border-width: 0;
}

.portlet-icon-back {
  margin-top: -2px;
}
.portlet-topper .portlet-topper-toolbar .portlet-icon-back {
  background: url(../images/arrows/12_left.png) no-repeat 0 50%;
  padding: 5px 5px 5px 18px;
}

.portlet-options-dropdown {
  z-index: 1035;
}

.portlet-topper {
  position: relative;
}
.portlet-topper .portlet-topper-toolbar .portlet-options .lfr-icon-menu-text {
  display: none;
}
.portlet-draggable .portlet-topper {
  cursor: move;
}

.portlet-title-editable {
  cursor: pointer;
}

.portlet-title-text {
  display: inline-block;
  margin-top: 0;
  max-width: 95%;
  overflow: hidden;
  text-overflow: ellipsis;
  vertical-align: top;
  white-space: nowrap;
}
.panel-page-body .portlet-title-text, .panel-page-content .portlet-title-text {
  cursor: auto;
}

.portlet-minimized .portlet-content {
  padding: 0;
}

.portlet-nested-portlets .portlet-boundary {
  left: 0 !important;
  position: relative !important;
  top: 0 !important;
}

.portlet-layout .portlet-header {
  margin-bottom: calc(1rem);
}

@media (min-width: 576px) {
  .portlet .visible-interaction {
    display: none;
  }
}
@media (max-width: 767.98px) {
  .controls-hidden .portlet .visible-interaction {
    display: none;
  }
}
.portlet:hover .visible-interaction, .portlet.open .visible-interaction, .portlet.focus .visible-interaction {
  display: block;
}

.controls-hidden .lfr-meta-actions,
.controls-hidden .lfr-configurator-visibility {
  display: none;
}
.controls-hidden .portlet-title-editable {
  pointer-events: none;
}
.controls-hidden .portlet-topper {
  display: none !important;
}
.controls-hidden .portlet-topper-toolbar {
  display: none !important;
}

html:not(#__):not(#___) .cadmin.portlet-topper {
  background-color: #f7f7f7;
  border-color: transparent;
  border-radius: 0 0;
  border-style: solid;
  border-width: 1px 1px 1px 1px;
  color: rgba(0, 0, 0, 0.5);
  display: box;
  display: flex;
  height: 28px;
  padding: 3px 12px 3px 24px;
  position: relative;
}
html:not(#__):not(#___) .cadmin.portlet-topper .lexicon-icon {
  height: 12px;
  width: 12px;
}
html:not(#__):not(#___) .cadmin.portlet-topper .lexicon-icon.lexicon-icon-drag {
  height: 16px;
  width: 16px;
}
html:not(#__):not(#___) .portlet > .cadmin.portlet-topper {
  display: none;
}
@media (min-width: 768px) {
  html:not(#__):not(#___) .portlet > .cadmin.portlet-topper {
    display: flex;
    left: 0;
    opacity: 0;
    position: absolute;
    right: 0;
    transform: translateY(-97%);
    transition: opacity 0.15s;
    top: 0;
  }
}
@media (min-width: 768px) and (prefers-reduced-motion: reduce) {
  html:not(#__):not(#___) .portlet > .cadmin.portlet-topper {
    transition: none;
  }
}
@media (min-width: 768px) {
  html:not(#__):not(#___) .portlet > .c-prefers-reduced-motion .cadmin.portlet-topper {
    transition: none;
  }
}
html:not(#__):not(#___) .cadmin .portlet-actions {
  float: right;
}
html:not(#__):not(#___) .cadmin .portlet-options {
  display: inline-block;
}
html:not(#__):not(#___) .cadmin .portlet-title-menu {
  flex: 0 1 auto;
}
html:not(#__):not(#___) .cadmin .portlet-title-menu > span > a {
  display: inline-block;
  text-decoration: none;
}
html:not(#__):not(#___) .cadmin .portlet-topper-toolbar {
  margin: 0;
  padding-left: 0;
}
html:not(#__):not(#___) .cadmin .portlet-topper-toolbar > a,
html:not(#__):not(#___) .cadmin .portlet-topper-toolbar > span > a,
html:not(#__):not(#___) .cadmin .portlet-topper-toolbar .lfr-icon-menu > a {
  color: rgba(0, 0, 0, 0.5);
}
html:not(#__):not(#___) .cadmin .portlet-topper-toolbar > a:focus, html:not(#__):not(#___) .cadmin .portlet-topper-toolbar > a:hover {
  text-decoration: none;
}
html:not(#__):not(#___) .cadmin .portlet-name-text {
  font-size: 12px;
  font-weight: 600;
  margin-left: 4px;
}
html:not(#__):not(#___) .cadmin .portlet-title-default {
  flex: 1 1 auto;
  line-height: 2;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
@media (min-width: 576px) {
  html:not(#__):not(#___) .lfr-configurator-visibility .portlet:hover .portlet-topper, html:not(#__):not(#___) .lfr-configurator-visibility .portlet.focus .portlet-topper, html:not(#__):not(#___) .lfr-configurator-visibility .portlet.open .portlet-topper {
    opacity: 0.5;
  }
}
@media (min-width: 768px) {
  html:not(#__):not(#___) .controls-visible .portlet:hover > .portlet-content-editable, html:not(#__):not(#___) .controls-visible .portlet.open > .portlet-content-editable, html:not(#__):not(#___) .controls-visible .portlet.focus > .portlet-content-editable {
    border-color: transparent;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
  }
}
@media (min-width: 768px) {
  html:not(#__):not(#___) .controls-visible .portlet:hover > .cadmin.portlet-topper, html:not(#__):not(#___) .controls-visible .portlet.open > .cadmin.portlet-topper, html:not(#__):not(#___) .controls-visible .portlet.focus > .cadmin.portlet-topper {
    opacity: 1;
  }
}
@media (min-width: 768px) {
  html:not(#__):not(#___) .controls-visible .portlet.open > .cadmin.portlet-topper {
    transition-duration: 0ms;
  }
}
@media (max-width: 767.98px) {
  html:not(#__):not(#___) .controls-visible .cadmin.portlet-topper {
    align-items: center;
    display: box;
    display: flex;
  }
}
html:not(#__):not(#___) .controls-visible .cadmin .portlet-topper-toolbar {
  display: block;
}

.portlet {
  margin-bottom: 10px;
  position: relative;
}
@media (min-width: 768px) {
  .controls-visible .portlet:hover > .portlet-content-editable, .controls-visible .portlet.open > .portlet-content-editable, .controls-visible .portlet.focus > .portlet-content-editable {
    border-color: transparent;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
  }
}
@media (min-width: 768px) {
  .controls-visible .portlet:hover > .portlet-topper, .controls-visible .portlet.open > .portlet-topper, .controls-visible .portlet.focus > .portlet-topper {
    opacity: 1;
  }
}
@media (min-width: 576px) {
  .lfr-configurator-visibility .portlet:hover .portlet-topper, .lfr-configurator-visibility .portlet.focus .portlet-topper, .lfr-configurator-visibility .portlet.open .portlet-topper {
    opacity: 0.5;
  }
}

.portlet-content-editable {
  border-color: transparent;
  border-radius: 0 0;
  border-style: solid;
  border-width: 2px 2px 2px 2px;
  transition: border-color 0.15s ease;
}
.portlet > .portlet-content-editable {
  border-color: transparent;
}
@media (max-width: 767.98px) {
  .controls-visible .portlet-content-editable {
    border-color: transparent;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
  }
}

.portlet-options {
  display: inline-block;
}

.portlet-title-default {
  flex: 1 1 auto;
  line-height: 2;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.portlet-title-menu {
  flex: 0 1 auto;
}
.portlet-title-menu > span > a {
  display: inline-block;
  text-decoration: none;
}

.portlet-topper {
  background-color: #f7f7f7;
  border-color: transparent;
  border-radius: 0 0;
  border-style: solid;
  border-width: 1px 1px 1px 1px;
  color: rgba(0, 0, 0, 0.5);
  display: box;
  display: flex;
  padding: 3px 12px 3px 24px;
  position: relative;
}
.portlet > .portlet-topper {
  display: none;
}
@media (min-width: 768px) {
  .portlet > .portlet-topper {
    display: flex;
    left: 0;
    opacity: 0;
    position: absolute;
    right: 0;
    transition: opacity 0.15s;
    top: 0;
  }
}
@media (min-width: 768px) and (prefers-reduced-motion: reduce) {
  .portlet > .portlet-topper {
    transition: none;
  }
}
@media (min-width: 768px) {
  .portlet > .portlet-topper {
    transition: none;
  }
}
@media (max-width: 767.98px) {
  .controls-visible .portlet-topper {
    display: box;
    display: flex;
  }
}

.portlet-topper-toolbar {
  margin: 0;
  padding-left: 0;
}
.portlet-topper-toolbar > a,
.portlet-topper-toolbar > span > a,
.portlet-topper-toolbar .lfr-icon-menu > a {
  color: rgba(0, 0, 0, 0.5);
}
.portlet-topper-toolbar > a:focus, .portlet-topper-toolbar > a:hover {
  text-decoration: none;
}
.controls-visible .portlet-topper-toolbar {
  display: block;
}

.lfr-panel-page .portlet-title {
  font-size: 13px;
}

.portlet-borderless .portlet-content {
  padding: calc(1rem);
}
.portlet-decorate .portlet-content {
  background: #fff;
  border-color: transparent;
  border-style: solid;
  border-width: 2px 2px 2px 2px;
  padding: calc(1rem);
  word-wrap: break-word;
}
.portlet-barebone .portlet-content {
  padding: 0;
}

.portlet-dynamic-data-lists-display .lfr-ddm-field-group,
.portlet-dynamic-data-lists .lfr-ddm-field-group {
  margin-bottom: 10px;
  margin-top: 10px;
  padding: 28px 24px;
}

.breadcrumb.breadcrumb-vertical {
  display: inline-block;
  text-align: center;
}
.breadcrumb.breadcrumb-vertical li {
  display: block;
}
.breadcrumb.breadcrumb-vertical li.last, .breadcrumb.breadcrumb-vertical li.only {
  background: none;
}
.breadcrumb.breadcrumb-vertical .divider {
  background: url(../images/arrows/07_down.png) no-repeat 50% 100%;
  display: block;
  height: 10px;
  overflow: hidden;
  text-indent: 101%;
  white-space: nowrap;
}

.navbar form {
  margin: 0;
}

:not(.inline-item) > .loading-animation {
  margin-bottom: 20px;
  margin-top: 20px;
}
.product-menu .loading-animation {
  margin-top: 160px;
}

@keyframes lfr-drop-active {
  0% {
    background-color: #ebebeb;
    border-color: #ddd;
  }
  50% {
    background-color: #ddedde;
    border-color: #7d7;
    transform: scale(1.1);
  }
  75% {
    background-color: #ddedde;
    border-color: #7d7;
  }
  100% {
    background-color: #ebebeb;
    border-color: #ddd;
  }
}
.lfr-upload-container .progress-bar,
.lfr-upload-container .progress {
  border-radius: 10px;
}
.lfr-upload-container .upload-file,
.lfr-upload-container .upload-target {
  border-radius: 5px;
}
.upload-drop-active .lfr-upload-container .upload-target {
  animation: none;
}
.upload-drop-intent .lfr-upload-container .upload-target {
  animation: lfr-drop-active 1s ease 0.2s infinite;
}

.select-files {
  border-radius: 5px;
}

.taglib-form-navigator > .form-steps > ul.form-navigator.list-group {
  box-shadow: none;
}
.taglib-form-navigator > .form-steps > ul.form-navigator.list-group .tab .tab-label:hover .number, .taglib-form-navigator > .form-steps > ul.form-navigator.list-group .tab .tab-label:focus .number {
  box-shadow: 0 0 5px 0 #333;
  transition-duration: 0.25s;
  transition-property: box-shadow;
  transition-timing-function: ease-out;
}
.taglib-form-navigator > .form-steps > ul.form-navigator.list-group .tab .tab-label .number {
  border-radius: 50%;
}

@keyframes progress-bar-stripes {
  from {
    background-position: 40px 0;
  }
  to {
    background-position: 0 0;
  }
}
.lfr-progress-active .progress-bar-status,
.lfr-upload-container .file-uploading .progress-bar .progress {
  animation: progress-bar-stripes 0.5s linear infinite;
  background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.3) 25%, rgba(255, 255, 255, 0) 25%, rgba(255, 255, 255, 0) 50%, rgba(255, 255, 255, 0.3) 50%, rgba(255, 255, 255, 0.3) 75%, rgba(255, 255, 255, 0) 75%, rgba(255, 255, 255, 0));
  background-size: 40px 40px;
  transition: width, 0.5s, ease-out;
}
@media (prefers-reduced-motion: reduce) {
  .lfr-progress-active .progress-bar-status,
  .lfr-upload-container .file-uploading .progress-bar .progress {
    transition: none;
  }
}
.c-prefers-reduced-motion .lfr-progress-active .progress-bar-status,
.c-prefers-reduced-motion .lfr-upload-container .file-uploading .progress-bar .progress {
  transition: none;
}

@keyframes highlight-animation {
  from {
    background-color: #ffc;
  }
  to {
    background-color: transparent;
  }
}
.highlight-animation {
  animation: highlight-animation 0.7s;
}

.portlet-options.btn-group .dropdown-toggle, .portlet-options.btn-group.open .dropdown-toggle {
  box-shadow: none;
}

.form-group.form-inline.input-boolean-wrapper label, .form-group.form-inline.input-checkbox-wrapper label {
  gap: 0.3125rem;
}

/**
 * InfoAxon 2026 — "Warm Authority" Theme CSS Client Extension
 * Liferay DXP 7.4 U44+ (Theme-less Architecture)
 *
 * CRITICAL: This CSS must override Liferay's default #fff backgrounds,
 * Clay/Lexicon base variables, and target all Liferay-specific wrappers.
 *
 * Tokens defined in frontend-token-definition.json are exposed as
 * CSS custom properties (e.g. --surface, --primary, --font-heading).
 * This file sets fallback values and maps them to Liferay/Clay variables.
 */
/* ================================================================
   1. GOOGLE FONTS
   ================================================================ */
/* ================================================================
   2. DESIGN TOKENS — FALLBACK VALUES
   Style Book admin UI overrides these via frontend-token-definition.json.
   ================================================================ */
:root {
  /* ── Brand Colors ── */
  --primary: #1A1A30;
  --primary-light: #2D2D45;
  --accent: #F2A500;
  --accent-hover: #D4952E;
  --accent-soft: rgba(242, 165, 0, 0.08);
  --highlight: #E85D4A;
  --ai-blue: #4F8FFF;
  --ai-blue-soft: rgba(79, 143, 255, 0.08);
  --network: #FFD78D;
  /* ── Surface Colors ── */
  --surface: #FAF8F5;
  --surface-white: #FFFFFF;
  --footer-bg: #13132A;
  /* ── Text Colors ── */
  --text: #1A1A30;
  --text2: #5A5A72;
  --text3: #8E8E9E;
  /* ── Border Colors ── */
  --border: #E8E4DE;
  --border-light: #F0ECE6;
  /* ── Typography ── */
  --font-heading: "Fraunces", Georgia, serif;
  --font-body: "Inter Tight", "Helvetica Neue", Arial, sans-serif;
  --font-ui: "DM Sans", "Helvetica Neue", Arial, sans-serif;
  --font-mono: "JetBrains Mono", "Fira Code", monospace;
  /* editorial serif for long-form body / hero lead / pull-quotes (Source Serif 4).
     Opt-in via .ia-prose-serif or var(--font-body-serif) — does NOT change the
     global UI/body font (DM Sans / Inter Tight stay the default). */
  --font-body-serif: "Source Serif 4", Georgia, "Times New Roman", serif;
  /* ── Heading Sizes (Fluid) ── */
  --heading-hero: clamp(2.2rem, 4.5vw, 3.4rem);
  --heading-section: clamp(1.75rem, 3vw, 2.5rem);
  --heading-cta: clamp(1.75rem, 3.5vw, 2.75rem);
  --heading-card: 1.2rem;
  --body-large: 1.05rem;
  --body-default: 15px;
  --body-small: 13px;
  --body-xs: 12px;
  /* ── 2026 / AI-age additions (design-system/2026-ai-design-direction.md) ── */
  /* fluid oversized display scale for editorial heroes/sections */
  --display-1: clamp(2.6rem, 1.6rem + 4.4vw, 5rem);
  --display-2: clamp(2rem, 1.4rem + 2.6vw, 3.4rem);
  /* gradient-text accent for the headline emphasis word (extends the gold em) */
  --gradient-text-accent: linear-gradient(90deg, var(--accent) 0%, var(--ai-blue) 100%);
  /* infinite-canvas dot-grid background */
  --grid-dot: rgba(26, 26, 48, 0.07);
  --bg-dot-grid: radial-gradient(var(--grid-dot) 0.7px, transparent 0.7px);
  --bg-dot-grid-size: 28px 28px;
  /* full-bleed layout helpers (Section C) */
  --container-wide: 1440px;
  --page-gutter: max(24px, calc((100vw - 1320px) / 2));
  /* ── Font Weights ── */
  --weight-regular: 400;
  --weight-medium: 500;
  --weight-semibold: 600;
  --weight-bold: 700;
  /* ── Line Heights ── */
  --lh-heading-tight: 1.12;
  --lh-heading: 1.2;
  --lh-body: 1.7;
  --lh-body-relaxed: 1.8;
  /* ── Spacing Scale ── */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 48px;
  --space-8: 64px;
  --space-9: 80px;
  --space-10: 100px;
  /* ── Layout ── */
  --container-max: 1200px;
  --container-padding: 32px;
  --container-padding-mobile: 16px;
  --nav-height: 76px;
  --nav-height-tablet: 64px;
  --nav-height-mobile: 56px;
  /* ── Border Radius ── */
  --r: 12px;
  --rl: 20px;
  --r-pill: 100px;
  /* ── Effects ── */
  --t: 300ms ease;
  --shadow-card: 0 8px 24px rgba(26, 26, 48, 0.06);
  --shadow-card-elevated: 0 12px 32px rgba(26, 26, 48, 0.08);
  --shadow-button: 0 8px 24px rgba(26, 26, 48, 0.15);
  --shadow-nav-cta: 0 8px 30px rgba(242, 165, 0, 0.25);
  /* ── Dark Overlays (composable) ── */
  --overlay-dark-1: rgba(26, 26, 48, 0.7);
  --overlay-dark-2: rgba(26, 26, 48, 0.8);
  --overlay-dark-3: rgba(26, 26, 48, 0.9);
  --overlay-dark-4: rgba(26, 26, 48, 0.3);
  --ai-banner-bg-1: rgba(26, 26, 48, 0.85);
  --ai-banner-bg-2: rgba(31, 31, 58, 0.85);
  --global-cta-end: #1F1F3A;
  /* ── Alpha-on-Dark Scale ── */
  --white-04: rgba(255, 255, 255, 0.04);
  --white-06: rgba(255, 255, 255, 0.06);
  --white-08: rgba(255, 255, 255, 0.08);
  --white-30: rgba(255, 255, 255, 0.30);
  --white-35: rgba(255, 255, 255, 0.35);
  --white-40: rgba(255, 255, 255, 0.40);
  --white-50: rgba(255, 255, 255, 0.50);
  --white-60: rgba(255, 255, 255, 0.60);
  --white-70: rgba(255, 255, 255, 0.70);
  --white-80: rgba(255, 255, 255, 0.80);
  --white-85: rgba(255, 255, 255, 0.85);
  /* ── Glows ── */
  --ai-blue-glow: rgba(79, 143, 255, 0.5);
  --accent-glow: rgba(242, 165, 0, 0.5);
  --accent-glow-soft: rgba(242, 165, 0, 0.25);
  --accent-glow-card: rgba(242, 165, 0, 0.08);
  /* ── Animation Durations ── */
  --ticker-duration: 25s;
  --pulse-duration: 2s;
  /* ── Z-Index Scale ── */
  --z-nav: 100;
  --z-industry-nav: 50;
  --z-noise: 9998;
  /* ── Gradients (canonical + semantic aliases) ── */
  --gradient-primary-band: linear-gradient(135deg, var(--primary) 0%, var(--primary-light) 100%);
  --gradient-rule: linear-gradient(90deg, var(--accent) 0%, var(--ai-blue) 50%, var(--highlight) 100%);
  --gradient-ai-banner: linear-gradient(135deg, var(--ai-banner-bg-1) 0%, var(--ai-banner-bg-2) 100%);
  --gradient-global-cta: linear-gradient(135deg, var(--primary) 0%, var(--global-cta-end) 100%);
  --gradient-hero-visual: linear-gradient(135deg, var(--overlay-dark-1) 0%, var(--overlay-dark-2) 100%);
  --gradient-ticker: var(--gradient-primary-band);
  --gradient-cta-container: var(--gradient-primary-band);
  --gradient-stack-item: linear-gradient(135deg, rgba(242, 165, 0, 0.15) 0%, rgba(79, 143, 255, 0.08) 100%);
  --gradient-stack-item-hover: linear-gradient(135deg, rgba(242, 165, 0, 0.25) 0%, rgba(79, 143, 255, 0.15) 100%);
  --gradient-clients: linear-gradient(135deg, var(--surface-white) 0%, rgba(242, 165, 0, 0.02) 100%);
  /* ── Texture ── */
  --noise-svg-url: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="200" height="200"><filter id="n"><feTurbulence type="fractalNoise" baseFrequency="0.65" numOctaves="3" stitchTiles="stitch"/></filter><rect width="200" height="200" filter="url(%23n)" opacity="0.025"/></svg>');
}

/* ================================================================
   3. MAP TOKENS → LIFERAY CLAY / LEXICON VARIABLES
   Clay reads these variables for its base component styling.
   This is what actually makes the Style Book work end-to-end.
   ================================================================ */
:root,
.cadmin {
  /* ── Body ── */
  --body-bg: var(--surface);
  --body-color: var(--text);
  /* ── Text ── */
  --headings-color: var(--text);
  --text-color: var(--text);
  --secondary-text-color: var(--text2);
  --muted-text-color: var(--text3);
  /* ── Links ── */
  --link-color: var(--accent);
  --link-hover-color: var(--accent-hover);
  /* ── Clay Primary Theme Color ── */
  --clay-primary: var(--primary);
  --clay-primary-l: var(--primary-light);
  --clay-secondary: var(--text2);
  --clay-success: #4CAF50;
  --clay-warning: var(--accent);
  --clay-danger: var(--highlight);
  --clay-info: var(--ai-blue);
  --clay-light: var(--surface);
  --clay-dark: var(--primary);
  /* ── Clay Buttons ── */
  --btn-primary-bg: var(--primary);
  --btn-primary-border-color: var(--primary);
  --btn-primary-color: #FFFFFF;
  --btn-primary-hover-bg: var(--primary-light);
  --btn-primary-hover-border-color: var(--primary-light);
  --btn-primary-active-bg: var(--primary);
  --btn-secondary-bg: transparent;
  --btn-secondary-color: var(--text);
  --btn-secondary-border-color: var(--border);
  /* ── Clay Cards ── */
  --card-bg: var(--surface-white);
  --card-border-color: var(--border);
  --card-border-radius: var(--rl);
  /* ── Clay Inputs ── */
  --input-bg: var(--surface-white);
  --input-border-color: var(--border);
  --input-color: var(--text);
  --input-placeholder-color: var(--text3);
  --input-focus-border-color: var(--accent);
  --input-border-radius: var(--r);
  /* ── Clay Dropdowns / Popovers ── */
  --dropdown-bg: var(--surface-white);
  --dropdown-border-color: var(--border);
  --dropdown-link-color: var(--text);
  --dropdown-link-hover-bg: var(--surface);
  /* ── Clay Modals ── */
  --modal-bg: var(--surface-white);
  --modal-header-bg: var(--surface-white);
  /* ── Clay Navigation ── */
  --nav-link-color: var(--text);
  --nav-link-hover-color: var(--accent);
  --navbar-bg: var(--surface-white);
  /* ── Clay Pagination ── */
  --pagination-bg: var(--surface-white);
  --pagination-border-color: var(--border);
  --pagination-color: var(--text);
  --pagination-active-bg: var(--primary);
  --pagination-active-color: #FFFFFF;
  /* ── Clay Alerts ── */
  --alert-primary-bg: var(--accent-soft);
  --alert-primary-color: var(--accent);
  /* ── Page Content ── */
  --white: var(--surface-white);
  --gray-100: var(--surface);
  --gray-200: var(--border-light);
  --gray-300: var(--border);
  --gray-600: var(--text2);
  --gray-900: var(--text);
}

/* ================================================================
   4. GLOBAL RESETS & PAGE BACKGROUND
   CRITICAL: Override Liferay's white background at every level.
   Liferay wraps content in multiple nested containers.
   ================================================================ */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  background-color: var(--surface);
}

body {
  font-family: var(--font-body);
  font-size: var(--body-default);
  color: var(--text);
  background-color: var(--surface) !important;
  line-height: var(--lh-body);
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  margin: 0;
}

/* Force warm background on ALL Liferay wrappers */
#wrapper,
#main-content,
.portlet-layout,
.portlet-column,
.portlet-boundary,
.layout-content,
.sheet,
.container-fluid,
.lfr-layout-structure-item-container,
.lfr-layout-structure-item-basic-component,
.page-editor__layout,
.page-editor__layout__content,
.control-menu-container + .container-fluid,
.portlet-body-container {
  background-color: var(--surface);
}

/* Liferay's content pages use these for the main page body */
.lfr-layout-structure-item-container[style*=background-color],
.page-editor__layout .lfr-layout-structure-item-container {
  /* Only override if no explicit inline style is set */
}

/* Fragment containers that should inherit the warm background */
.lfr-layout-structure-item-container:not([style*=background]) {
  background-color: transparent;
}

/* Subtle paper texture overlay */
body::after {
  content: "";
  position: fixed;
  inset: 0;
  background: var(--noise-svg-url);
  pointer-events: none;
  z-index: var(--z-noise);
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

/* ================================================================
   5. TYPOGRAPHY — GLOBAL OVERRIDES
   Override Liferay's default font stack everywhere.
   ================================================================ */
/* Body text in all Liferay content areas */
.portlet-body,
.journal-content-article,
.web-content-article,
.lfr-layout-structure-item-basic-component,
.fragment-entry-link-content,
.page-editor__layout p,
.portlet p,
p {
  font-family: var(--font-body);
  font-size: var(--body-default);
  line-height: var(--lh-body);
  color: var(--text);
}

/* Headings — Fraunces for all heading levels */
h1, .h1,
.portlet-title-text,
.clay-site-title {
  font-family: var(--font-heading);
  font-size: var(--heading-hero);
  font-weight: var(--weight-bold);
  line-height: var(--lh-heading-tight);
  letter-spacing: -0.02em;
  color: var(--text);
  margin-top: 0;
}

h2, .h2 {
  font-family: var(--font-heading);
  font-size: var(--heading-section);
  font-weight: var(--weight-bold);
  line-height: var(--lh-heading);
  letter-spacing: -0.02em;
  color: var(--text);
  margin-top: 0;
}

h3, .h3 {
  font-family: var(--font-heading);
  font-size: var(--heading-card);
  font-weight: var(--weight-semibold);
  line-height: 1.3;
  color: var(--text);
  margin-top: 0;
}

h4, .h4,
h5, .h5,
h6, .h6 {
  font-family: var(--font-ui);
  font-weight: var(--weight-semibold);
  color: var(--text);
  margin-top: 0;
}

/* UI text — navigation, labels, buttons, sidebar */
.nav,
.navbar,
.navbar-nav,
.nav-link,
.dropdown-menu,
.dropdown-item,
.list-group-item,
.breadcrumb,
.pagination,
label,
.form-text,
.btn,
.badge,
.label,
.tag,
.sidebar,
.control-menu-nav,
.user-personal-bar {
  font-family: var(--font-ui);
}

/* Monospace — code blocks, pre, tags */
code, pre, kbd, samp,
.label-item,
.tag-item {
  font-family: var(--font-mono);
}

/* ================================================================
   6. LINKS
   ================================================================ */
a {
  color: var(--accent);
  text-decoration: none;
  transition: color var(--t);
}

a:hover,
a:focus {
  color: var(--accent-hover);
  text-decoration: none;
}

/* Liferay-specific link overrides */
.portlet-body a,
.journal-content-article a,
.web-content-article a {
  color: var(--accent);
}

.portlet-body a:hover,
.journal-content-article a:hover {
  color: var(--accent-hover);
}

/* ================================================================
   7. BUTTONS — CLAY OVERRIDES
   ================================================================ */
/* Primary Button — Dark navy pill */
.btn-primary,
.btn.btn-primary {
  font-family: var(--font-ui);
  background-color: var(--primary);
  color: #FFFFFF;
  border: none;
  padding: 14px 32px;
  border-radius: var(--r-pill);
  font-weight: var(--weight-semibold);
  font-size: var(--body-default);
  line-height: 1.4;
  transition: all var(--t);
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  cursor: pointer;
}

.btn-primary:hover,
.btn.btn-primary:hover,
.btn-primary:focus,
.btn.btn-primary:focus {
  background-color: var(--primary-light);
  color: #FFFFFF;
  transform: translateY(-2px);
  box-shadow: var(--shadow-button);
}

.btn-primary:active,
.btn.btn-primary:active {
  transform: translateY(0);
  box-shadow: none;
}

/* Secondary Button — Outlined pill */
.btn-secondary,
.btn.btn-secondary,
.btn-outline-secondary {
  font-family: var(--font-ui);
  background: transparent;
  color: var(--text);
  border: 1px solid var(--border);
  padding: 14px 32px;
  border-radius: var(--r-pill);
  font-weight: var(--weight-semibold);
  font-size: var(--body-default);
  transition: all var(--t);
  cursor: pointer;
}

.btn-secondary:hover,
.btn.btn-secondary:hover,
.btn-outline-secondary:hover {
  border-color: var(--accent);
  color: var(--accent);
  background: var(--accent-soft);
}

/* Accent Button — Amber solid */
.btn-accent,
.btn.btn-accent,
.btn-warning {
  font-family: var(--font-ui);
  background-color: var(--accent);
  color: var(--primary);
  border: none;
  padding: 14px 32px;
  border-radius: var(--r-pill);
  font-weight: var(--weight-semibold);
  font-size: var(--body-default);
  transition: all var(--t);
  cursor: pointer;
}

.btn-accent:hover,
.btn.btn-accent:hover,
.btn-warning:hover {
  background-color: var(--accent-hover);
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(242, 165, 0, 0.3);
}

/* Link Button */
.btn-link {
  color: var(--accent);
  font-weight: var(--weight-medium);
  text-decoration: none;
}

.btn-link:hover {
  color: var(--accent-hover);
}

/* Small buttons */
.btn-sm {
  padding: 8px 20px;
  font-size: var(--body-small);
}

/* ================================================================
   8. CARDS — CLAY OVERRIDES
   ================================================================ */
.card,
.clay-card,
.sheet {
  background-color: var(--surface-white);
  border: 1px solid var(--border);
  border-radius: var(--rl);
  transition: all var(--t);
  overflow: hidden;
}

.card:hover,
.clay-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-card-elevated);
}

.card-body {
  padding: var(--space-5);
}

.card-title {
  font-family: var(--font-heading);
  font-weight: var(--weight-semibold);
  color: var(--text);
}

.card-text,
.card-subtitle {
  color: var(--text2);
  font-size: var(--body-default);
}

/* ================================================================
   9. FORM CONTROLS
   ================================================================ */
.form-control,
.form-control:not(.form-control-hidden),
input[type=text],
input[type=email],
input[type=tel],
input[type=password],
input[type=number],
input[type=url],
input[type=search],
textarea,
select,
.input-group .form-control {
  font-family: var(--font-ui);
  font-size: var(--body-default);
  border: 1px solid var(--border);
  border-radius: var(--r);
  padding: 14px var(--space-4);
  color: var(--text);
  background-color: var(--surface-white);
  transition: border-color var(--t), box-shadow var(--t);
  line-height: 1.4;
}

.form-control:focus,
input:focus,
textarea:focus,
select:focus {
  border-color: var(--accent);
  box-shadow: 0 0 0 3px var(--accent-soft);
  outline: none;
  background-color: var(--surface-white);
}

.form-control::placeholder,
input::placeholder,
textarea::placeholder {
  color: var(--text3);
}

.form-label,
.control-label {
  font-family: var(--font-ui);
  font-weight: var(--weight-medium);
  font-size: var(--body-small);
  color: var(--text);
  margin-bottom: var(--space-2);
}

.form-group {
  margin-bottom: var(--space-5);
}

/* ================================================================
   10. BADGES, LABELS, TAGS
   ================================================================ */
.badge,
.label,
.label-item {
  font-family: var(--font-ui);
  font-size: var(--body-xs);
  font-weight: var(--weight-semibold);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  border-radius: var(--r-pill);
  padding: 4px 12px;
}

.badge-primary,
.label-primary {
  background-color: var(--primary);
  color: #FFFFFF;
}

.badge-accent,
.badge-warning,
.label-warning {
  background-color: var(--accent-soft);
  color: var(--accent);
  border: 1px solid rgba(242, 165, 0, 0.2);
}

.badge-ai,
.badge-info,
.label-info {
  background-color: var(--ai-blue-soft);
  color: var(--ai-blue);
  border: 1px solid rgba(79, 143, 255, 0.15);
}

.badge-danger,
.label-danger {
  background-color: rgba(232, 93, 74, 0.08);
  color: var(--highlight);
}

.badge-success,
.label-success {
  background-color: rgba(76, 175, 80, 0.08);
  color: #4CAF50;
}

/* ================================================================
   11. TABLES
   ================================================================ */
.table,
table {
  font-family: var(--font-ui);
  font-size: var(--body-default);
  color: var(--text);
  border-color: var(--border-light);
}

.table thead th {
  font-weight: var(--weight-semibold);
  color: var(--text);
  background-color: var(--surface);
  border-bottom-color: var(--border);
  font-size: var(--body-small);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: var(--space-3) var(--space-4);
}

.table td {
  padding: var(--space-3) var(--space-4);
  border-color: var(--border-light);
  vertical-align: middle;
}

.table-striped tbody tr:nth-of-type(odd) {
  background-color: rgba(250, 248, 245, 0.5);
}

.table-hover tbody tr:hover {
  background-color: var(--surface);
}

/* ================================================================
   12. NAVIGATION & NAVBAR
   ================================================================ */
.navbar,
.navbar-classic,
.portlet-header {
  font-family: var(--font-ui);
  background-color: var(--surface-white);
  border-bottom: 1px solid var(--border-light);
}

.navbar .nav-link,
.navbar-nav .nav-link {
  font-family: var(--font-ui);
  font-weight: var(--weight-medium);
  font-size: var(--body-default);
  color: var(--text);
  padding: var(--space-2) var(--space-4);
  transition: color var(--t);
}

.navbar .nav-link:hover,
.navbar-nav .nav-link:hover,
.navbar .nav-link:focus {
  color: var(--accent);
}

.navbar .nav-link.active,
.navbar-nav .nav-link.active {
  color: var(--accent);
  font-weight: var(--weight-semibold);
}

/* Breadcrumbs */
.breadcrumb {
  font-family: var(--font-ui);
  font-size: var(--body-small);
  background-color: transparent;
  padding: var(--space-3) 0;
}

.breadcrumb-item a {
  color: var(--text3);
}

.breadcrumb-item a:hover {
  color: var(--accent);
}

.breadcrumb-item.active {
  color: var(--text);
}

/* ================================================================
   13. DROPDOWNS & MENUS
   ================================================================ */
.dropdown-menu {
  font-family: var(--font-ui);
  background-color: var(--surface-white);
  border: 1px solid var(--border-light);
  border-radius: var(--r);
  box-shadow: var(--shadow-card);
  padding: var(--space-2) 0;
}

.dropdown-item {
  font-size: var(--body-default);
  color: var(--text);
  padding: var(--space-2) var(--space-4);
  transition: background-color var(--t);
}

.dropdown-item:hover,
.dropdown-item:focus {
  background-color: var(--surface);
  color: var(--text);
}

.dropdown-item.active,
.dropdown-item:active {
  background-color: var(--accent-soft);
  color: var(--accent);
}

/* ================================================================
   14. PAGINATION
   ================================================================ */
.pagination {
  font-family: var(--font-ui);
  gap: var(--space-1);
}

.page-link {
  color: var(--text);
  background-color: var(--surface-white);
  border: 1px solid var(--border);
  border-radius: var(--r);
  padding: var(--space-2) var(--space-3);
  font-size: var(--body-small);
  transition: all var(--t);
}

.page-link:hover {
  background-color: var(--surface);
  color: var(--accent);
  border-color: var(--accent);
}

.page-item.active .page-link {
  background-color: var(--primary);
  border-color: var(--primary);
  color: #FFFFFF;
}

/* ================================================================
   15. ALERTS & TOASTS
   ================================================================ */
.alert {
  font-family: var(--font-ui);
  border-radius: var(--r);
  border-width: 1px;
  padding: var(--space-4);
}

.alert-info {
  background-color: var(--ai-blue-soft);
  border-color: rgba(79, 143, 255, 0.2);
  color: var(--ai-blue);
}

.alert-warning {
  background-color: var(--accent-soft);
  border-color: rgba(242, 165, 0, 0.2);
  color: var(--accent-hover);
}

.alert-danger {
  background-color: rgba(232, 93, 74, 0.08);
  border-color: rgba(232, 93, 74, 0.2);
  color: var(--highlight);
}

.alert-success {
  background-color: rgba(76, 175, 80, 0.08);
  border-color: rgba(76, 175, 80, 0.2);
  color: #4CAF50;
}

/* ================================================================
   16. LIST GROUPS & PANELS
   ================================================================ */
.list-group-item {
  font-family: var(--font-ui);
  background-color: var(--surface-white);
  border-color: var(--border-light);
  color: var(--text);
  padding: var(--space-4);
}

.list-group-item:hover {
  background-color: var(--surface);
}

.list-group-item.active {
  background-color: var(--accent-soft);
  border-color: var(--accent);
  color: var(--accent);
}

.panel,
.panel-default {
  border-color: var(--border);
  border-radius: var(--r);
}

.panel-heading {
  background-color: var(--surface);
  border-bottom-color: var(--border);
  font-family: var(--font-ui);
  font-weight: var(--weight-semibold);
}

/* ================================================================
   17. MODALS
   ================================================================ */
.modal-content {
  background-color: var(--surface-white);
  border: 1px solid var(--border-light);
  border-radius: var(--rl);
  box-shadow: 0 20px 60px rgba(26, 26, 48, 0.15);
}

.modal-header {
  border-bottom-color: var(--border-light);
  padding: var(--space-5) var(--space-6);
}

.modal-title {
  font-family: var(--font-heading);
  font-weight: var(--weight-semibold);
  color: var(--text);
}

.modal-body {
  padding: var(--space-5) var(--space-6);
}

.modal-footer {
  border-top-color: var(--border-light);
  padding: var(--space-4) var(--space-6);
}

.modal-backdrop {
  background-color: var(--primary);
}

/* ================================================================
   18. TABS & NAVS
   ================================================================ */
.nav-tabs .nav-link {
  font-family: var(--font-ui);
  font-weight: var(--weight-medium);
  color: var(--text2);
  border: none;
  border-bottom: 2px solid transparent;
  padding: var(--space-3) var(--space-4);
  transition: all var(--t);
}

.nav-tabs .nav-link:hover {
  color: var(--text);
  border-bottom-color: var(--border);
}

.nav-tabs .nav-link.active {
  color: var(--accent);
  border-bottom-color: var(--accent);
  background-color: transparent;
  font-weight: var(--weight-semibold);
}

/* Pills */
.nav-pills .nav-link {
  font-family: var(--font-ui);
  border-radius: var(--r-pill);
  color: var(--text2);
  padding: var(--space-2) var(--space-4);
}

.nav-pills .nav-link.active {
  background-color: var(--primary);
  color: #FFFFFF;
}

/* ================================================================
   19. INFOAXON CUSTOM COMPONENTS
   For Fragment Compositions built on the prototypes.
   ================================================================ */
/* --- Container --- */
.ia-container {
  max-width: var(--container-max);
  margin: 0 auto;
  padding: 0 var(--container-padding);
}

/* --- Section --- */
.ia-section {
  padding: var(--space-10) 0;
}

.ia-section--white {
  background-color: var(--surface-white);
}

.ia-section--dark {
  background-color: var(--primary);
  color: #FFFFFF;
}

.ia-section--dark h2,
.ia-section--dark h3,
.ia-section--dark p {
  color: #FFFFFF;
}

.ia-section--dark .ia-section__desc {
  color: rgba(255, 255, 255, 0.7);
}

/* --- Section Header --- */
.ia-section__label {
  font-family: var(--font-ui);
  font-size: var(--body-small);
  font-weight: var(--weight-semibold);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--accent);
  margin-bottom: var(--space-4);
  display: flex;
  align-items: center;
  gap: 10px;
}

.ia-section__label::before {
  content: "";
  width: 24px;
  height: 2px;
  background: var(--accent);
  flex-shrink: 0;
}

.ia-section__title {
  font-family: var(--font-heading);
  font-size: var(--heading-section);
  font-weight: var(--weight-bold);
  letter-spacing: -0.02em;
  margin-bottom: var(--space-3);
  line-height: var(--lh-heading);
}

.ia-section__desc {
  font-size: var(--body-large);
  color: var(--text2);
  line-height: var(--lh-body-relaxed);
}

.ia-section__head {
  max-width: 620px;
  margin-bottom: var(--space-8);
}

.ia-section__head--center {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}

/* --- Cards --- */
.ia-card {
  background-color: var(--surface-white);
  border: 1px solid var(--border);
  border-radius: var(--rl);
  padding: 36px;
  transition: all var(--t);
  position: relative;
  overflow: hidden;
}

.ia-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(242, 165, 0, 0.03) 0%, transparent 100%);
  pointer-events: none;
}

.ia-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-card-elevated);
}

.ia-card__icon {
  font-size: 36px;
  margin-bottom: var(--space-4);
}

.ia-card__label {
  font-family: var(--font-ui);
  font-size: 11px;
  font-weight: var(--weight-semibold);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--highlight);
  margin-bottom: var(--space-3);
}

.ia-card__title {
  font-family: var(--font-heading);
  font-size: var(--heading-card);
  font-weight: var(--weight-semibold);
  margin-bottom: var(--space-3);
  line-height: 1.3;
}

.ia-card__text {
  font-size: 0.92rem;
  color: var(--text2);
  line-height: var(--lh-body);
}

.ia-card__solution {
  font-family: var(--font-ui);
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: var(--body-small);
  font-weight: var(--weight-semibold);
  color: var(--accent);
  padding: 6px 14px;
  border-radius: var(--r-pill);
  background: var(--accent-soft);
  margin-top: var(--space-5);
}

/* --- Grid Layouts --- */
.ia-grid-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-5);
}

.ia-grid-2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--space-5);
}

/* --- CTA Banner --- */
.ia-cta {
  background: linear-gradient(135deg, var(--primary) 0%, var(--primary-light) 100%);
  border-radius: var(--rl);
  padding: var(--space-8);
  text-align: center;
  color: #FFFFFF;
}

.ia-cta__title {
  font-family: var(--font-heading);
  font-size: var(--heading-cta);
  font-weight: var(--weight-bold);
  color: #FFFFFF;
  margin-bottom: var(--space-4);
  line-height: var(--lh-heading);
}

.ia-cta__title em {
  font-style: italic;
  color: var(--accent);
}

.ia-cta__text {
  color: rgba(255, 255, 255, 0.7);
  max-width: 600px;
  margin: 0 auto var(--space-6);
  line-height: var(--lh-body-relaxed);
}

/* --- Trust Strip --- */
.ia-trust {
  padding: 40px 0;
  border-bottom: 1px solid var(--border);
  display: flex;
  justify-content: center;
  align-items: center;
  gap: var(--space-7);
  flex-wrap: wrap;
}

.ia-trust__item {
  font-family: var(--font-ui);
  font-size: 14px;
  font-weight: var(--weight-semibold);
  color: var(--text3);
  letter-spacing: 0.04em;
  transition: color var(--t);
}

.ia-trust__item:hover {
  color: var(--text2);
}

/* --- AI Badge --- */
.ia-badge-ai {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(79, 143, 255, 0.1);
  border: 1px solid rgba(79, 143, 255, 0.15);
  padding: 3px 12px;
  border-radius: var(--r-pill);
  color: var(--ai-blue);
  font-family: var(--font-ui);
  font-weight: var(--weight-medium);
  font-size: 11px;
}

.ia-badge-ai__pulse {
  width: 5px;
  height: 5px;
  background: var(--ai-blue);
  border-radius: 50%;
  animation: ia-pulse 2s infinite;
}

@keyframes ia-pulse {
  0%, 100% {
    box-shadow: 0 0 0 0 rgba(79, 143, 255, 0.3);
  }
  50% {
    box-shadow: 0 0 0 6px rgba(79, 143, 255, 0);
  }
}
/* ================================================================
   20. LIFERAY ADMIN / CONTROL MENU OVERRIDE
   Don't break the admin UI — scope admin overrides carefully.
   ================================================================ */
/* Keep control menu with its own styling */
.control-menu-container {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

/* Portlet topper (edit mode) */
.portlet-topper {
  font-family: var(--font-ui);
  background-color: var(--surface);
  border-color: var(--border);
}

/* Asset publisher / web content display */
.asset-entry .asset-content,
.journal-article-body {
  font-family: var(--font-body);
  line-height: var(--lh-body);
  color: var(--text);
}

/* ================================================================
   21. RESPONSIVE BREAKPOINTS
   ================================================================ */
/* Tablet (1024px) */
@media (max-width: 1024px) {
  .ia-grid-3 {
    grid-template-columns: repeat(2, 1fr);
  }
  .ia-section {
    padding: var(--space-9) 0;
  }
}
/* Mobile-Tablet (768px) */
@media (max-width: 768px) {
  :root {
    --container-padding: var(--container-padding-mobile);
  }
  .ia-grid-3 {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }
  .ia-grid-2 {
    grid-template-columns: 1fr;
  }
  .ia-section {
    padding: var(--space-8) var(--container-padding-mobile);
  }
  .ia-card {
    padding: 28px;
  }
  .ia-cta {
    padding: var(--space-7);
  }
  .btn-primary,
  .btn-secondary,
  .btn-accent {
    padding: 12px 24px;
    font-size: 14px;
  }
}
/* Mobile (480px) */
@media (max-width: 480px) {
  .ia-grid-3 {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .ia-section {
    padding: var(--space-7) 12px;
  }
  .ia-card {
    padding: 20px;
  }
  .ia-card__icon {
    font-size: 28px;
  }
  .ia-card__title {
    font-size: 1rem;
  }
  .ia-cta {
    padding: 40px 12px;
  }
  .modal-content {
    border-radius: var(--r);
    margin: var(--space-3);
  }
  .modal-header,
  .modal-body,
  .modal-footer {
    padding-left: var(--space-4);
    padding-right: var(--space-4);
  }
}
/* ================================================================
   22. PRINT STYLES
   ================================================================ */
@media print {
  body {
    background: #fff !important;
    color: #000 !important;
    font-family: "Georgia", serif;
  }
  .ia-section--dark {
    background: #f0f0f0 !important;
    color: #000 !important;
  }
  .btn,
  .ia-badge-ai,
  .ia-card::before,
  body::after {
    display: none !important;
  }
  a {
    color: #000 !important;
    text-decoration: underline;
  }
}
/* ============================================================
   Search results page — harmonised typography (Warm Authority)
   Scoped to the search portlets so other list-groups are untouched.
   ============================================================ */
.portlet-search-results,
.portlet-search-bar,
.portlet-search-facets {
  font-family: var(--font-ui);
  color: var(--text);
}

/* "Search Results" page heading */
.portlet-search-results .portlet-title-text {
  font-family: var(--font-heading);
  font-size: 30px;
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: -0.01em;
  color: var(--primary);
  margin: 0 0 4px;
}

/* "N Results for X" summary line */
.search-total-label {
  font-family: var(--font-ui);
  font-size: 15px;
  font-weight: 400;
  color: var(--text2);
  margin: 6px 0 22px !important;
}

.search-total-label strong {
  font-weight: 600;
  color: var(--primary);
}

/* result list — clean rows with faint dividers */
#search-results-display-list.list-group,
.portlet-search-results .list-group {
  border: 0;
  border-radius: 0;
}

#search-results-display-list .list-group-item,
.portlet-search-results .list-group-item {
  padding: 20px 0;
  border: 0;
  border-bottom: 1px solid var(--border-light);
  border-radius: 0;
  background: transparent;
}

#search-results-display-list .list-group-item:hover,
.portlet-search-results .list-group-item:hover,
.portlet-search-results .list-group-item.active {
  background: transparent;
}

#search-results-display-list .list-group-item:last-child {
  border-bottom: 0;
}

/* result title */
.portlet-search-results .list-group-title {
  margin: 0 0 6px !important;
}

.portlet-search-results .list-group-title a {
  font-family: var(--font-ui);
  font-size: 17px;
  font-weight: 600;
  line-height: 1.4;
  color: var(--primary);
  text-decoration: none;
}

.portlet-search-results .list-group-title a:hover {
  color: var(--accent);
}

/* metadata / snippet text */
.portlet-search-results .search-results-metadata {
  margin-top: 2px;
}

.portlet-search-results .list-group-subtext {
  font-family: var(--font-ui);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.6;
  color: var(--text2);
  margin: 4px 0 !important;
}

.portlet-search-results .list-group-subtext a {
  color: var(--text2);
}

/* matched-term highlight → soft brand amber (not default harsh yellow) */
.portlet-search-results .highlight,
.portlet-search-results mark,
.portlet-search-results .mark {
  background: var(--accent-soft);
  color: inherit;
  padding: 0 2px;
  border-radius: 3px;
  font-weight: 600;
}

/* result thumbnail */
.portlet-search-results .sticker,
.portlet-search-results .sticker-img {
  border-radius: 10px;
  overflow: hidden;
}

/* on-page Search Bar + facets + pagination — keep the same UI font */
.portlet-search-bar input[type=text],
.portlet-search-bar input[type=search],
.portlet-search-bar .form-control {
  font-family: var(--font-ui);
  font-size: 15px;
  color: var(--primary);
}

/* ---- On-page Search Bar → match the InfoAxon Header search pill (req #3) ----
   Make the input-group a rounded pill with a borderless input and a subtle
   icon button, mirroring .ia-hdr__search (44px, radius 100px, amber focus). */
.portlet-search-bar .input-group {
  max-width: 620px;
  height: 44px;
  align-items: center;
  border: 1px solid var(--border, #E8E4DE);
  border-radius: 100px !important;
  overflow: hidden;
  background: var(--surface-white, #fff);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.portlet-search-bar .input-group:focus-within {
  border-color: var(--accent, #F2A500);
  box-shadow: 0 0 0 4px rgba(242, 165, 0, 0.12);
}

.portlet-search-bar .search-bar-keywords-input,
.portlet-search-bar input.form-control {
  height: 100% !important;
  border: 0 !important;
  border-radius: 100px !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 10px 0 22px !important;
  font-family: var(--font-ui) !important;
  font-size: 15px !important;
  color: var(--primary) !important;
}

.portlet-search-bar .search-bar-keywords-input::placeholder {
  color: var(--text3, #8E8E9E);
}

/* the inset/append search button → subtle round icon on the right (like header) */
.portlet-search-bar .input-group-inset-item .btn,
.portlet-search-bar .input-group-append .btn,
.portlet-search-bar .input-group-item-after .btn,
.portlet-search-bar button[type=submit] {
  border: 0 !important;
  background: none !important;
  color: var(--text2, #5A5A72) !important;
  border-radius: 50% !important;
  width: 34px;
  height: 34px;
  min-width: 34px;
  padding: 0 !important;
  margin-right: 5px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: color 0.2s ease, background 0.2s ease;
}

.portlet-search-bar .input-group-inset-item .btn:hover,
.portlet-search-bar .input-group-append .btn:hover,
.portlet-search-bar button[type=submit]:hover {
  color: var(--accent, #F2A500) !important;
  background: rgba(242, 165, 0, 0.12) !important;
}

.portlet-search-bar .input-group-inset-item .btn .lexicon-icon,
.portlet-search-bar button[type=submit] .lexicon-icon {
  width: 16px;
  height: 16px;
}

/* result title → make the primary clickable title the on-brand heading */
.portlet-search-results .list-group-title a,
#search-results-display-list .list-group-title a {
  font-family: var(--font-ui);
  font-weight: 600;
  font-size: 17px;
  color: var(--primary);
}

.search-total-label {
  font-family: var(--font-ui);
}

/* ============================================================
   BREADCRUMB (SiteNavigationBreadcrumbPortlet in the master)
   Align to the page content measure, on-brand type, accent hover.
============================================================ */
.portlet-breadcrumb .breadcrumb {
  max-width: 1200px;
  margin: 0 auto;
  padding: 12px 32px;
  background: none;
  border: 0;
  border-radius: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0;
  font-family: var(--font-ui, "DM Sans", sans-serif);
  font-size: 13px;
  letter-spacing: 0.01em;
}

.portlet-breadcrumb .breadcrumb-item {
  display: inline-flex;
  align-items: center;
  font-family: var(--font-ui, "DM Sans", sans-serif);
}

.portlet-breadcrumb .breadcrumb-item a {
  color: var(--text2, #5A5A72);
  text-decoration: none;
  transition: color 0.2s ease;
}

.portlet-breadcrumb .breadcrumb-item a:hover,
.portlet-breadcrumb .breadcrumb-item a:focus {
  color: var(--accent, #F2A500);
  text-decoration: none;
}

.portlet-breadcrumb .breadcrumb-item .active,
.portlet-breadcrumb .breadcrumb-item.active,
.portlet-breadcrumb .breadcrumb-item span.active {
  color: var(--primary, #1A1A30);
  font-weight: 600;
}

/* separator → subtle chevron, replacing Clay's default "/" */
.portlet-breadcrumb .breadcrumb-item + .breadcrumb-item::before {
  content: "›"; /* › */
  color: var(--text3, #8E8E9E);
  padding: 0 10px;
  font-weight: 400;
}

@media (max-width: 767px) {
  .portlet-breadcrumb .breadcrumb {
    padding-inline: 16px;
    font-size: 12px;
  }
}
.portlet-search-facets .panel-title,
.portlet-search-facets .sidebar-header,
.portlet-search-facets .list-group-item {
  font-family: var(--font-ui);
}

.portlet-search-facets .panel-title,
.portlet-search-facets .sidebar-header {
  font-size: 13px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--text2);
}

.portlet-search-results .pagination,
.portlet-search-results .pagination-bar,
.portlet-search-results .management-bar {
  font-family: var(--font-ui);
}

/* ---- Polish pass (loop Section A item 3) ----
   The facet widgets are separate portlets: portlet-{type|folder|user|modified}-facet
   (NOT portlet-search-facets). Their H2.portlet-title-text inherited the theme's
   54px Fraunces display heading -> huge serif titles ("Type Facet", "Modified F…"
   truncating). Shrink them to small mono eyebrow labels. */
[class*=-facet] .portlet-title-text {
  font-family: var(--font-mono) !important;
  font-size: 11px !important;
  font-weight: 600;
  line-height: 1.3;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--text3);
  margin: 0 0 10px;
}

/* the on-page Search Bar's "Search Bar" title is redundant (the input is right
   there) — hide it */
.portlet-search-bar .portlet-title-text {
  display: none;
}

/* facet sidebar: tighter rhythm + consistent option type */
[class*=-facet] .portlet-content-container {
  margin-bottom: 28px;
}

[class*=-facet] .list-group-item,
[class*=-facet] .facet-value,
[class*=-facet] label {
  font-family: var(--font-ui);
  font-size: var(--body-small);
  color: var(--text2);
}

[class*=-facet] .badge,
[class*=-facet] .facet-count {
  color: var(--text3);
  font-weight: 500;
}

/* ---- Facets: fix "only the heading shows" + de-duplicate the heading ----
   Each facet renders TWO labels: the portlet title ("Type Facet") and the panel
   header ("Type"). Keep one. And guarantee the option list is visible even if
   the Clay collapse panel loses its `show` state (which leaves just the header). */
[class*=-facet] .portlet-title-text {
  display: none !important;
} /* drop "X Facet"; panel header labels it */
[class*=-facet] .panel-collapse,
[class*=-facet] .panel-collapse.collapse {
  display: block !important;
  height: auto !important;
  visibility: visible !important;
  overflow: visible !important;
}

/* the panel header becomes the single, on-brand facet label */
[class*=-facet] .panel-header,
[class*=-facet] .panel-title,
[class*=-facet] a.collapse-icon {
  font-family: var(--font-mono);
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--text2);
  text-decoration: none;
}

/* term rows: readable, branded, with counts */
[class*=-facet] .facet-term,
[class*=-facet] .term-name {
  font-family: var(--font-ui);
  font-size: 14px;
  color: var(--text);
}

[class*=-facet] .facet-term-frequency,
[class*=-facet] .list-group-subtext {
  color: var(--text3);
  font-size: 12px;
}

/* result rows: tighter, consistent vertical rhythm */
.portlet-search-results .list-group-item {
  padding-top: 16px;
  padding-bottom: 16px;
}

.portlet-search-results .list-group-subtext + .list-group-subtext {
  margin-top: 2px !important;
}

/* result thumbnail: contained, rounded, consistent size */
.portlet-search-results .sticker,
.portlet-search-results .sticker-overlay {
  width: 44px;
  height: 44px;
}

.portlet-search-results .sticker-img {
  width: 44px;
  height: 44px;
  object-fit: cover;
  border-radius: 8px;
}

/* pagination: brand the active page */
.portlet-search-results .page-item.active .page-link {
  background: var(--primary);
  border-color: var(--primary);
  color: #fff;
}

.portlet-search-results .page-link {
  color: var(--text2);
}

/* ============================================================
   2026 / AI-age utilities (design-system/2026-ai-design-direction.md)
   ============================================================ */
/* gradient-text headline accent — wrap the emphasis word:
   <span class="ia-text-gradient">other 93%</span> */
.ia-text-gradient {
  background: var(--gradient-text-accent);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}

/* fluid display headings */
.ia-display-1 {
  font-family: var(--font-heading);
  font-weight: 600;
  font-size: var(--display-1);
  line-height: 1.04;
  letter-spacing: -0.015em;
}

.ia-display-2 {
  font-family: var(--font-heading);
  font-weight: 600;
  font-size: var(--display-2);
  line-height: 1.08;
  letter-spacing: -0.01em;
}

/* full-bleed: break a fragment out of the page container, edge to edge */
.ia-full-bleed {
  width: 100vw;
  max-width: 100vw;
  margin-inline: calc(50% - 50vw);
}

/* pad inner content back to a comfortable measure inside a full-bleed section */
.ia-bleed-pad {
  padding-inline: var(--page-gutter);
}

/* reusable dot-grid background layer */
.ia-dotgrid {
  background-image: var(--bg-dot-grid);
  background-size: var(--bg-dot-grid-size);
}

/* Rich-text editables must sit on a <div>, never a <p> (CKEditor inserts block
   content — <p>-in-<p> is invalid, splits the DOM, and breaks inline editing).
   Once edited, the content is wrapped in <p>; make that inner paragraph
   transparent so it inherits the fragment's own type styling instead of the
   theme's default <p> font/size, and collapse its stray margins. */
[data-lfr-editable-type=rich-text] > p {
  margin: 0;
  font: inherit;
  color: inherit;
}

[data-lfr-editable-type=rich-text] > p + p {
  margin-top: 0.7em;
}

/* ============================================================
   DROP-ZONE GRID/FLEX FLATTEN (live fix for placed instances)
   Liferay renders <lfr-drop-zone id="x"> as a plain <div id="x"> — it matches
   neither `lfr-drop-zone` nor `[data-lfr-drop-zone]`, so it stays a SINGLE
   grid/flex cell and the dropped items collapse to one column. Flatten that
   container (published only, so the editor keeps a real droppable box) so the
   dropped fragment wrappers become the grid tracks / flex items. Served
   site-wide → fixes already-placed Logo Strip / Card Grid / Stat Bar / etc.
   WITHOUT re-adding them. (Kinetic Carousel positions its slides directly, so
   it's intentionally excluded here.)
   ============================================================ */
body:not(.has-edit-mode-menu) .ia-logostrip__zone > *:not([data-layout-structure-item-id]),
body:not(.has-edit-mode-menu) .ia-cardgrid__zone > *:not([data-layout-structure-item-id]),
body:not(.has-edit-mode-menu) .ia-statbar__zone > *:not([data-layout-structure-item-id]),
body:not(.has-edit-mode-menu) .ia-carousel__track > *:not([data-layout-structure-item-id]),
body:not(.has-edit-mode-menu) .ia-pills > *:not([data-layout-structure-item-id]),
body:not(.has-edit-mode-menu) .ia-tl__track > *:not([data-layout-structure-item-id]),
body:not(.has-edit-mode-menu) .ia-acc__items > *:not([data-layout-structure-item-id]),
body:not(.has-edit-mode-menu) .ia-aib__caps > *:not([data-layout-structure-item-id]) {
  display: contents;
}

/* EDITOR: grid drop-zone fragments must also SHOW their configured columns while
   editing. Published uses the flatten above; in edit mode the drop zone must keep
   its box (display:contents there breaks dropping), so make the rendered
   container (<div id>) the grid instead → cards/logos/stats lay out in columns in
   the editor too. Live via theme = fixes already-placed instances with no re-add. */
body.has-edit-mode-menu .ia-cardgrid__zone,
body.has-edit-mode-menu .ia-statbar__zone,
body.has-edit-mode-menu .ia-logostrip--grid .ia-logostrip__zone {
  display: block;
}

body.has-edit-mode-menu .ia-cardgrid__zone > *,
body.has-edit-mode-menu .ia-statbar__zone > *,
body.has-edit-mode-menu .ia-logostrip--grid .ia-logostrip__zone > * {
  display: grid;
  gap: 20px;
  align-items: center;
}

body.has-edit-mode-menu .ia-cardgrid__zone--cols-2 > *,
body.has-edit-mode-menu .ia-statbar__zone--cols-2 > *,
body.has-edit-mode-menu .ia-logostrip__zone--cols-2 > * {
  grid-template-columns: repeat(2, 1fr);
}

body.has-edit-mode-menu .ia-cardgrid__zone--cols-3 > *,
body.has-edit-mode-menu .ia-statbar__zone--cols-3 > *,
body.has-edit-mode-menu .ia-logostrip__zone--cols-3 > * {
  grid-template-columns: repeat(3, 1fr);
}

body.has-edit-mode-menu .ia-cardgrid__zone--cols-4 > *,
body.has-edit-mode-menu .ia-statbar__zone--cols-4 > *,
body.has-edit-mode-menu .ia-logostrip__zone--cols-4 > * {
  grid-template-columns: repeat(4, 1fr);
}

/* Carousel: show the per-view slides side-by-side (wrapping) in the editor
   instead of a single stacked column; container becomes the flex row. */
body.has-edit-mode-menu .ia-carousel__track {
  display: block;
  overflow: visible;
}

body.has-edit-mode-menu .ia-carousel__track > * {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
}

body.has-edit-mode-menu .ia-carousel__track--2 > * > * {
  flex: 0 0 calc((100% - 24px) / 2);
}

body.has-edit-mode-menu .ia-carousel__track--3 > * > * {
  flex: 0 0 calc((100% - 48px) / 3);
}

/* Pills: wrap the pills in the editor (container becomes the flex-wrap row). */
body.has-edit-mode-menu .ia-pills {
  display: block;
}

body.has-edit-mode-menu .ia-pills > * {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 12px;
}

/* Rich-text editables can't live on <h1>/<h2> (block-in-heading breaks CKEditor),
   so fragment titles use <div role="heading" aria-level="N">. Give those a
   zero-specificity heading fallback (mirrors the native h1/h2) so a heading div
   still reads as a heading even if its fragment class doesn't set the font. Each
   fragment's own `.x__title` class always wins (:where() = 0 specificity). */
:where([role=heading][aria-level="1"]) {
  font-family: var(--font-heading);
  font-size: var(--heading-hero);
  font-weight: var(--weight-bold);
  line-height: var(--lh-heading-tight);
}

:where([role=heading][aria-level="2"]) {
  font-family: var(--font-heading);
  font-size: var(--heading-section);
  font-weight: var(--weight-bold);
  line-height: var(--lh-heading);
}

/* editorial serif body — opt-in for long-form/article copy, hero leads,
   pull-quotes. Add .ia-prose-serif to a content wrapper. */
.ia-prose-serif,
.ia-prose-serif p,
.ia-prose-serif li,
.ia-prose-serif blockquote {
  font-family: var(--font-body-serif);
  font-size: 18px;
  line-height: 1.6;
}

/* ============================================================
   SECTION WIDTH OVERRIDES  (apply to the site, no rebuild needed)
   Every InfoAxon section already spans full width; only its inner content
   wrapper (`*__c`, a few use `.ia-sh` / `.ia-pills` / `.component-tabs`) caps
   the content at ~1200px. Add ONE of these classes to a section in the page
   editor — Fragment → Styles → "CSS Classes" (or the Custom CSS class field) —
   to widen that section's content. Lives in the theme (served site-wide, live)
   so it affects already-placed instances with NO re-add.
     ia-w-wide  → content to --container-wide (1440px)
     ia-w-full  → content edge-to-edge, padded by --page-gutter
   ============================================================ */
.ia-w-wide [class$=__c],
.ia-w-wide .ia-sh, .ia-w-wide .ia-pills, .ia-w-wide .component-tabs,
.ia-w-wide.ia-sh, .ia-w-wide.ia-pills, .ia-w-wide .ia-sec__c {
  max-width: var(--container-wide, 1440px) !important;
}

.ia-w-full [class$=__c],
.ia-w-full .ia-sh, .ia-w-full .ia-pills, .ia-w-full .component-tabs,
.ia-w-full.ia-sh, .ia-w-full.ia-pills, .ia-w-full .ia-sec__c {
  max-width: none !important;
  padding-inline: var(--page-gutter) !important;
}