h2, h3 {
  margin: 0;
  max-width: 100%;
}

a {
  color: #0077B5;
}

hr {
  width: 100%;
}

.large-text {
  font-size: 20px;
}

.hidden {
  display: none !important;
}

.inline {
  display: inline;
}

.cross-button {
  color: #ff0000;
  cursor: pointer;
}

.top-nav {
  display: flex;
  position: relative;
  z-index: 20000;
  box-sizing: border-box;
  padding: 10px;
  justify-content: space-between;
  align-items: center;
  height: 50px;
  gap: 10px;
  background-color: #DDF0FF;
}

.top-nav > * {
  height: 100%;
}

.top-nav a {
  display: flex;
  align-items: center;
}

.top-nav .logo-link {
  gap: 10px;
}

.top-nav img, .top-nav a {
  height: 100%;
}

.top-nav h2 {
  padding: 0;
  margin: 0;
  color: #0077B5;
}

.top-nav-links-container {
  display: flex;
  gap: 15px;
}

.include-company-column-header {
  display: flex;
  gap: 5px;
  justify-content: center;
  align-items: center;
}

.include-all-company-input input {
  display: block;
}

.company-row {
  display: flex;
  gap: 10px;
}

.person-row {
  display: flex;
  gap: 10px;
}

collection-viewer {
  align-content: space-between;
  flex-grow: 1;
}

.company-bar {
  display: flex;
  justify-content: space-between;
}

.company-view-selector, .employee-view-selector {
  width: 100px;
  height: 22px;
}

.company-view-selector select, .employee-view-selector select {
  width: 100%;
  height: 100%;
  padding: 1px;
  font-size: 16px;
}

.company-page-count {
  height: 18px;
}

.company-viewer {
  min-height: 695px;
}

.tag-viewer-table {
  width: 100%;
}

.company-selection-app-router {
  width: 100%;
}

.company-section-viewport {
  min-height: 695px;
}

.dashboard-summary-content .company-section-viewport {
  min-height: 0;
}

.company-section-viewport .company-bar .table-title {
  min-width: 232px;
}

.company-table-viewport {
  width: 100%;
  gap: 10px;
}

.company-table-viewport .bordered-table-row td, .company-table-viewport .bordered-table-row th {
  height: 30px;
  box-sizing: border-box;
}

.company-selection-viewer-modal .company-selection-viewer {
  height: 695px;
}

.company-app-router {
  margin-bottom: 8px;
}

.person-viewport {
  width: 100%;
  gap: 10px;
}

.search-section {
  display: flex;
  box-sizing: border-box;
  gap: 10px;
}

.side-bar {
  width: 30%;
  flex-shrink: 0;
}

.flex-container {
  display: flex;
}

.flex-no-shrink {
  flex-shrink: 0;
}

.flex-grow {
  flex-grow: 1;
}

.content-section {
  width: 70%;
}

table.data-table {
  display: table;
  border-spacing: 0;
  border-collapse: collapse;
  table-layout: fixed;
}

.bordered-table-row td, .bordered-table-row th {
  border: 1px solid #CCCCCC;
  height: 30px;
  box-sizing: border-box;
  line-height: 25px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 200px;
  padding-left: 5px;
  padding-right: 5px;
  padding-top: inherit;
  padding-bottom: inherit;
}

.bordered-table-row td model-text {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.bordered-table-row td model-text br {
  display: none;
}

.bordered-table-row td br {
  display: none;
}

.loading-spinner-container {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 631px;
  box-sizing: border-box;
}

.loading-spinner-container-short {
  height: 150px;
}

.loading-spinner-container .spinning {
  font-size: 60px;
}

.loading-spinner-container-small {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 45px;
}

.loading-spinner-container-small.padded-small {
  padding-left: 5px;
  padding-right: 5px;
}

.loading-spinner-container-small .spinning {
  font-size: 24px;
}

.employee-matched-count .spinning {
  font-size: 18px;
}

.empty-company-result {
  text-align: center;
  height: 600px;
}

.empty-employee-result {
  text-align: center;
  height: 600px;
}

.company-filters-area {
  padding-left: 1px;
  padding-right: 1px;
}

.person-filters-area {
  padding-left: 1px;
  padding-right: 1px;
}

.company-filters-area input-provider input, .person-filters-area input-provider input, .company-filters-area input-provider select, .person-filters-area input-provider select {
  padding: 6px;
}

.company-filters-area input-provider select, .person-filters-area input-provider select {
  padding-left: 0;
  padding-right: 0;
}

.company-filters-area input-provider select.empty-input, .person-filters-area input-provider select.empty-input {
  color: #777777;
}

select option.select-default-option {
  color: #777777;
}

select option:not(.select-default-option) {
  color: #000000;
}

.include-company-input, .exclude-company-input {
  display: flex;
  justify-content: center;
}

input[type=button].input-filter-button {
  flex-shrink: 0;
  width: 100px;
  height: 35px;
  padding: 5px;
}

.delete-checked-companies-link {
  cursor: pointer;
  flex-shrink: 1;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  height: 22px;
}

.filter-multi-input {
  display: flex;
  justify-content: space-between;
  gap: 5px;
}

.filter-multi-input input-provider {
  flex-grow: 1;
}

.fixed-width-cell {
  width: 200px;
}

.page-number-input {
  max-width: 100px;
}

.small-icon-link {
  display: block;
  width: 18px;
  height: 18px;
  line-height: 18px;
}

.small-icon-link img {
  width: 100%;
  height: 100%;
}

.small-icon {
  width: 18px;
  height: 18px;
}

.centered-block {
  margin-left: auto;
  margin-right: auto;
}

.centered-cell {
  text-align: center;
}

.small-cell {
  width: 70px;
  max-width: 70px;
  overflow: hidden;
}

.medium-small-cell {
  width: 100px;
  max-width: 100px;
  overflow: hidden;
}

.medium-cell {
  width: 152px;
  max-width: 152px;
  overflow: hidden;
}

.large-cell {
  width: 200px;
  max-width: 200px;
  overflow: hidden;
}

.padded-cell-small {
  padding: 5px;
}

.padded-bottom-medium {
  padding-bottom: 10px;
}

input-combiner, input-transformer {
  display: none;
}

overlay-modal {
  z-index: 30000;
}

overlay-modal [slot=content] {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 30px;
}

overlay-modal.manage-data-group-modal > [slot=content] {
  align-items: flex-start;
}

.manage-data-group-modal .seed-project-result-item {
  min-height: 25px;
}

.manage-data-group-modal input[type=checkbox] {
  display: block;
}

overlay-modal [slot=content] input[type=button] {
  width: auto;
}

overlay-modal [slot=content].justify-content-flex-start {
  justify-content: flex-start;
}

overlay-modal [slot=content].align-items-flex-start {
  align-items: flex-start;
}

.align-items-flex-start {
  align-items: flex-start;
}

.google-log-in-button {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  padding: 10px;
  border: 1px solid #AAAAAA;
  color: #000000;
  border-radius: 5px;
}

.table-title {
  display: flex;
  align-items: baseline;
  gap: 5px;
}

.generate-longlist-button {
  max-width: 200px;
}

.generate-longlist-spinner {
  width: 100%;
}

input.longlist-button {
  width: auto;
  flex-grow: 1;
}

.candidate-viewer,.employer-viewer {
  height: 400px;
}

.company-employee-viewer {
  height: 615px;
}

.company-employee-viewer .bordered-table-row td, .company-employee-viewer .bordered-table-row th {
  height: 51px;
}

.candidate-viewer-viewport,.employer-viewer-viewport,.company-employee-viewer-viewport {
  width: 100%;
}

.longlist-unavailable-container {
  border: 1px solid #CCCCCC;
}

.experience-select-container {
  max-width: 350px;
}

.candidate-status-input select {
  max-width: 140px;
  width: 100%;
  padding: 0;
}

.employer-status-input select {
  max-width: 140px;
  width: 100%;
  padding: 0;
}

.icons-container {
  display: flex;
  align-items: center;
  gap: 15px;
}

.share-button {
  padding-bottom: 3px;
}

.pencil-button {
  display: flex;
  transform: scaleX(-1);
  cursor: pointer;
  font-size: 15px;
  align-items: center;
  padding-bottom: 3px;
}

.delete-button {
  display: flex;
  cursor: pointer;
  width: 20px;
  height: 20px;
  align-items: center;
}

.card {
  display: flex;
  flex-direction: column;
  border: 1px solid #CCE0EE;
}

.card-shared {
  border: 1px solid #CCEEE0;
}

.card-shared .card-title {
  background-color: #DDFFF0;
}

.card-title {
  display: flex;
  justify-content: space-between;
  padding: 5px;
  background-color: #DDF0FF;
  gap: 5px;
}

.card-content {
  padding: 5px;
}

.taxonomy-modal {
  --modal-width: 1000px;
  --modal-min-height: 220px;
}

overlay-modal::part(title-bar) {
  color: #0077B5;
  background-color: #DDF0FF;
}

overlay-modal::part(content) {
  overflow-y: auto;
  max-height: calc(100vh - 120px);
}

.full-modal::part(content) {
  height: calc(100vh - 120px);
}

input.add-to-longlist-submit-button {
  flex-shrink: 0;
  width: 70px;
  height: 30px;
  padding: 4px;
}

.add-to-longlist-name {
  display: block;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  flex-shrink: 1;
}

.add-to-longlist-modal .loading-spinner-container {
  height: 510px;
}

.longlist-add-to-list-viewport {
  height: 510px;
  overflow: auto;
}

.longlist-list-viewport a {
  line-height: 1em;
}

.labeled-checkbox-row {
  display: flex;
  gap: 10px;
  align-self: flex-start;
  line-height: 20px;
}

.labeled-select-row {
  display: flex;
  gap: 10px;
}

.labeled-select-row input-provider {
  flex-grow: 1;
}

.labeled-select-row .label-medium-text {
  display: flex;
  align-items: center;
  width: 36px;
}

.labeled-select-row .label-large-text {
  display: flex;
  align-items: center;
  width: 70px;
}

.crawler-label {
  width: 80px;
  flex-shrink: 0;
}

.crawler-label-large {
  width: 130px;
  flex-shrink: 0;
}

fieldset {
  border: 1px solid #CCCCCC;
  border-radius: 5px;
  padding: 15px;
}

.labeled-select-row .label-extra-large-text {
  display: flex;
  align-items: center;
  width: 80px;
}

.limited-width-label {
  justify-content: flex-start;
  width: fit-content;
}

.onboarding-page {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: calc(100vh - 50px);
  background-color: #DDF0FF;
  padding-bottom: 50px;
}

.onboarding-container {
  width: 100%;
  height: 100%;
  max-width: 800px;
  max-height: 400px;
  border-radius: 8px;
  padding: 64px;
  overflow-y: auto;
  background-color: #FFFFFF;
}

.limited-size-container {
  width: 100%;
  height: 100%;
  max-width: 800px;
}

.company-employee-filter-button, .clear-company-selection-button {
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

.main-app-map {
  width: 100%;
  height: 685px;
}

.main-app-stats {
  width: 100%;
  height: 600px;
}

.dashboard-button {
  display: flex;
  justify-content: center;
  text-align: center;
  padding: 10px;
  border-radius: 10px;
  border: 2px solid #0077B5;
  color: #0077B5;
  font-size: 20px;
  width: 100%;
  max-width: 450px;
  background-color: #FFFFFF;
}

.dashboard-button.disabled {
  opacity: 0.25;
  cursor: default;
}

.dashboard-top-nav {
  display: flex;
  box-sizing: border-box;
  width: 100%;
  justify-content: space-between;
  padding: 20px 10px 10px 10px;
  gap: 15px;
}

.dashboard-nav-button-container {
  display: flex;
  gap: 15px;
}

.dashboard-nav-button {
  display: flex;
  justify-content: center;
  flex-shrink: 0;
  align-items: center;
  width: 52px;
  height: 52px;
  border: 2px #000000 solid;
  border-radius: 50%;
  color:#000000;
  background-color: #FFFFFF;
}

.dashboard-nav-button[disabled] {
  cursor: default;
  opacity: 0.8;
}

.dashboard-nav-button.inactive[disabled] {
  opacity: 0.3;
}

.dashboard-nav-button img {
  width: 25px;
  height: 25px;
}

.dashboard-nav-button .icon {
  width: 25px;
  height: 25px;
  background-size: contain;
}

.icon.left {
  background-image: url(assets/icons/left-triangle.png);
}

.icon.double-left {
  background-image: url(assets/icons/left-double-triangle.png);
}

.icon.right {
  background-image: url(assets/icons/right-triangle.png);
}

.icon.double-right {
  background-image: url(assets/icons/right-double-triangle.png);
}

.nav-button {
  cursor: pointer;
  user-select: none;
}

.nav-button[disabled] {
  pointer-events: none;
  cursor: default;
}

.disabled-button {
  cursor: default !important;
  opacity: 0.3 !important;
}

input[disabled] {
  opacity: 0.7;
}

.main-app-stats {
  max-width: 100%;
  box-sizing: border-box;
}

.apexcharts-canvas, .apexcharts-inner, .apexcharts-graphical, .apexcharts-canvas svg {
  width: 100% !important;
  max-width: 100% !important;
  overflow: hidden;
}

.dashboard-app-router .company-view-selector {
  display: none;
}

.employee-view-type-seniority-stats .exclude-empty-companies-control, .employee-view-type-education-stats .exclude-empty-companies-control {
  display: none;
}

.employee-view-type-table .employee-section-viewport {
  min-height: 710px;
}

.dashboard-summary-content .employee-view-type-table .employee-section-viewport {
  min-height: 0;
}

.employee-view-type-seniority-stats .employee-stats-app-router, .employee-view-type-education-stats .employee-stats-app-router {
  width: 100%;
  height: 600px;
}

.generate-buttons-container {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  width: auto;
}

.dashboard-companies-main-container {
  padding-bottom: 20px;
}

.dashboard-summary-content {
  max-width: 600px;
}

.dashboard-summary-content .employee-matched-count {
  font-size: 20px;
}

.dashboard-summary-content .company-viewer {
  min-height: auto;
}

.summary-generate-section-container {
  min-height: 88px;
}

.summary-generate-section-container .person-counter {
  min-height: 23px;
}

.top-nav .log-in-link > span {
  display: inline-block;
}

.excluded-companies-app-router {
  width: 100%;
  max-width: 300px;
}

.popup-content {
  background-color: #FFFFFF;
  padding: 5px;
  border-radius: 5px;
  opacity: .9;
}

.company-selection-status {
  display: flex;
  align-items: center;
  font-size: 22px;
}

.company-selection-status-text.ready {
  color: #008800;
}

.company-selection-status-text.empty {
  color: #FF0000;
}

.company-selection-status-text a {
  color: inherit;
  text-decoration: underline;
}

.company-info-modal, .person-info-modal {
  --modal-width: 1200px;
}

.company-info-modal confirm-modal {
  --modal-width: initial;
}

.company-info-modal ul, .person-info-modal ul {
  padding-left: 0;
  margin: 0;
}

.company-info-modal ul li, .person-info-modal ul li {
  margin-left: 1em;
}

.company-info-modal::part(content), .person-info-modal::part(content) {
  word-break: break-word;
}

.nav-tab-container {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}

.nav-first-container {
  display: flex;
  align-items: center;
  gap: 15px;
}

.dashboard-top-nav .nav-first-container {
  flex-grow: 1;
}

.company-quick-search-input {
  flex-grow: 1;
  max-width: 500px;
  height: 39px;
}

.project-search-input {
  flex-grow: 1;
  max-width: 500px;
  height: 39px;
}

.tab-button {
  border-color: #0077B5;
  border-style: solid;
  border-width: 1px 1px 0 1px;
  border-radius: 10px 10px 0 0;
  padding: 10px;
  background-color: #DDF0FF;
  cursor: pointer;
}

.tab-button {
  border-left-width: 0;
}

.tab-button:first-child {
  border-left-width: 1px;
}

.tab-button.active {
  background-color: inherit;
  cursor: default;
}

.data-group-adder .collection-adder-form-content {
  flex-direction: row;
}

.data-group-adder .collection-adder-form-content input {
  width: auto;
}

.manage-data-group-modal .collection-adder-form {
  display: flex;
}

.manage-data-group-modal .data-group-collection-viewer, .manage-data-group-modal .data-group-share-modal {
  --modal-width: 600px;
}

.importer-viewer {
  width: 100%;
}

.importer-viewer .data-group-collection-viewport {
  width: 100%;
}

.data-group-reducer {
  width: 100%;
  height: 36px;
  padding-bottom: 20px;
}

.data-group-importer-container {
  width: fit-content;
}

.crawl-result-container {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.importer-discovered-employees-container, .importer-discovered-companies-container {
  display: flex;
  max-height: 110px;
  flex-direction: column-reverse;
  overflow: auto;
}

.company-details-container, .person-details-container {
  width: 100%;
}

.company-details-container .include-company-input, .company-details-container .exclude-company-input {
  justify-content: flex-start;
}

.full-width {
  width: 100%;
}

.xs-show-row {
  display: none !important;
}

.sm-show-row {
  display: none !important;
}

.md-show-row {
  display: none !important;
}

.lg-show-row {
  display: none !important;
}

.employer-status-filter-selector select {
  font-weight: bold;
}

.candidate-status-filter-selector select {
  font-weight: bold;
}

.employee-profile-image-small {
  display: block;
  width: 40px;
  border-radius: 50%;
  margin-left: auto;
  margin-right: auto;
  margin-top: 5px;
  margin-bottom: 5px;
}

.company-employees-apply-filter-input input[type=checkbox] {
  display: block;
}

.container-space-between-main {
  justify-content: space-between;
}

overlay-modal .relative-modal-content {
  position: relative;
}

overlay-modal .modal-prev-button, overlay-modal .modal-next-button {
  position: fixed;
  width: 70px;
  height: 70px;
  top: calc(50% - 35px);
  cursor: pointer;
  background-size: cover;
  filter: invert(1);
}

overlay-modal .modal-prev-button {
  left: calc(50% - 670px);
}

overlay-modal .modal-next-button {
  right: calc(50% - 670px);
}

.manage-data-group-modal .data-group-adder-error-message:empty, .manage-data-group-modal .data-group-adder-success-message:empty {
  display: none;
}

.manage-data-group-modal app-router:not(:has(*:not(:empty))) {
  display: none;
}

.container-horizontal.container-partial-width {
  width: initial;
}

.delete-checked-employees-link {
  line-height: 1em;
  cursor: pointer;
}

input.employee-list-checkbox, input.employee-table-checkbox, .include-all-candidate-input input[type=checkbox], .include-employee-input input[type=checkbox], .include-candidate-input input[type=checkbox] {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.include-all-employee-input input[type=checkbox]{
  display: block;
}

@media (max-width: 1400px) {
  .lg-hidden {
    display: none !important;
  }

  .lg-show-row {
    display: table-row !important;
  }

  .full-modal::part(dialog) {
    max-width: 850px;
  }

  overlay-modal .modal-prev-button {
    left: calc(50% - 495px);
  }
  
  overlay-modal .modal-next-button {
    right: calc(50% - 495px);
  }
}

@media (max-width: 1000px) {
  .data-group-collection-viewport input-provider, .data-group-collection-viewport input[type=text] {
    flex-grow: 1;
  }

  .dashboard-top-nav {
    flex-direction: column-reverse;
  }

  .company-selection-status {
    justify-content: center;
  }

  .dashboard-nav-button-container {
    justify-content: center;
  }

  .search-section {
    flex-direction: column;
  }

  .side-bar {
    width: 100%;
  }

  .content-section {
    width: 100%;
  }

  .md-hidden {
    display: none !important;
  }

  .lg-show-row {
    display: none !important;
  }

  .md-show-row {
    display: table-row !important;
  }

  overlay-modal [slot=content] {
    padding: 0
  }

  overlay-modal .modal-prev-button, overlay-modal .modal-next-button {
    display: none !important;
  }

  overlay-modal::part(content) {
    padding: 30px;
  }

  .full-modal {
    height: 100vh;
  }

  .full-modal::part(dialog) {
    height: 100%;
    width: 100%;
    max-width: 100%;
  }

  .full-modal::part(content) {
    height: auto;
    max-height: inherit;
    padding: 10px;
  }

  .full-modal [slot=content] {
    padding: 0;
  }

  .container-vertical-md {
    flex-direction: column;
  }

  .data-group-adder .collection-adder-form-content {
    flex-direction: column;
    width: 100%;
  }

  .data-group-collection-viewport {
    width: 100%;
  }

  .data-group-selector {
    flex-grow: 1;
  }

  .data-group-importer-container {
    width: 100%;
  }

  overlay-modal [slot=content] .data-group-importer-container input[type=button] {
    width: 100%;
  }

  overlay-modal.manage-data-group-modal [slot=content] {
    align-items: stretch;
    max-width: 400px;
    margin-left: auto;
    margin-right: auto;
  }
}

@media (max-width: 800px) {
  .data-group-collection-viewport input-provider {
    flex-grow: 1;
  }
  
  .flex-grow-sm {
    flex-grow: 1;
  }
  
  .sm-hidden {
    display: none !important;
  }

  .md-show-row {
    display: none !important;
  }

  .sm-show-row {
    display: table-row !important;
  }

  .bordered-table-row td, .bordered-table-row th {
    max-width: 80px;
  }

  .container-vertical-sm {
    flex-direction: column;
  }

  .generate-longlist-button {
    max-width: none;
  }

  .top-nav-links-container {
    font-size: 16px;
  }

  .generate-buttons-container {
    width: 100%;
  }

  .company-selection-status {
    font-size: 18px;
    height: 21px;
  }
}

@media (max-width: 500px) {
  .top-nav .app-logo-text {
    height: 25px;
  }
}

@media (max-width: 450px) {
  .sm-show-row {
    display: none !important;
  }

  .xs-show-row {
    display: table-row !important;
  }

  .top-nav-links-container {
    font-size: 14px;
  }

  .xs-hidden {
    display: none !important;
  }

  .main-app-map {
    height: 500px;
  }
}

@media (max-width: 350px) {
  .top-nav h2 {
    font-size: 14px;
  }

  .top-nav-links-container {
    font-size: 13px;
    gap: 8px;
  }

  .xxs-hidden {
    display: none !important;
  }

  .bordered-table-row td, .bordered-table-row th {
    max-width: 50px;
  }
}

