:root {
  color-scheme: light dark;
  --body-bg-color: #e3e3ea;
  --toolbar-bg-color: #ffffff;
  --toolbar-border-color: #e4e6ec;
  --main-color: #1b1d23;
  --toolbar-icon-bg-color: #4b505b;
  --toolbar-icon-hover-bg-color: #14161b;
  --sidebar-bg-color: #f5f6f9;
  --field-bg-color: #ffffff;
  --field-color: #1b1d23;
  --field-border-color: #d4d7de;
  --button-hover-color: rgba(127, 127, 127, 0.14);
}

@media (prefers-color-scheme: dark) {
  :root {
    --body-bg-color: #1a1a1e;
    --toolbar-bg-color: #121214;
    --toolbar-border-color: #2a2e37;
    --main-color: #e8e9ef;
    --toolbar-icon-bg-color: #c2c7d2;
    --toolbar-icon-hover-bg-color: #ffffff;
    --sidebar-bg-color: #181a20;
    --field-bg-color: #24272f;
    --field-color: #e8e9ef;
    --field-border-color: #363b45;
  }
}

.toolbar {
  border-bottom: 1px solid var(--toolbar-border-color);
}

#editorModeButtons {
  display: none !important;
}

#contactButton::before {
  -webkit-mask-image: url(images/toolbarButton-contact.svg);
  mask-image: url(images/toolbarButton-contact.svg);
}
#rotateCcwButton::before {
  -webkit-mask-image: url(images/toolbarButton-rotate.svg);
  mask-image: url(images/toolbarButton-rotate.svg);
}

button.toolbarButton,
a.toolbarButton,
.secondaryToolbarButton,
.dropdownToolbarButton select,
#scaleSelect,
#fitToggleButton,
#rotateCcwButton,
#contactButton,
.contactItem {
  cursor: pointer !important;
}

.toolbarButton,
.contactItem,
.dropdownToolbarButton select,
#scaleSelect {
  transition: background-color 0.14s ease, color 0.14s ease;
}
.toolbarButton::before {
  transition: background-color 0.14s ease, opacity 0.14s ease;
}
.toolbarButton.toggled:active {
  background-color: var(--button-hover-color) !important;
}
@media (prefers-reduced-motion: reduce) {
  .toolbarButton,
  .toolbarButton::before,
  .contactItem,
  .dropdownToolbarButton select,
  #scaleSelect {
    transition: none;
  }
}
#fitToggleButton[data-fit="width"]::before {
  -webkit-mask-image: url(images/toolbarButton-fitWidth.svg);
  mask-image: url(images/toolbarButton-fitWidth.svg);
}
#fitToggleButton[data-fit="page"]::before {
  -webkit-mask-image: url(images/toolbarButton-fitPage.svg);
  mask-image: url(images/toolbarButton-fitPage.svg);
}

#viewer {
  transition: opacity 0.22s ease;
}
#viewer.cvLoading {
  opacity: 0;
  transition: none;
}
@media (prefers-reduced-motion: reduce) {
  #viewer {
    transition: none;
  }
}

#toolbarViewer {
  position: relative;
}
#toolbarViewerLeft {
  margin-inline-end: auto;
}
#zoomGroup {
  margin-inline-start: 0;
}
#pageNumber {
  width: 17px !important;
  min-width: 0 !important;
  font-size: 11.5px !important;
  line-height: 15px !important;
  padding-block: 2px;
  padding-inline: 1px;
  background-color: light-dark(rgb(20 22 27 / 0.022), rgb(255 255 255 / 0.038)) !important;
  border-color: var(--toolbar-border-color) !important;
}
#previous,
#next {
  width: 23px !important;
  min-width: 0 !important;
}
#pageNumberGroup {
  margin-inline-start: 5px;
}
#scaleSelectContainer {
  width: max-content !important;
  min-width: 100px !important;
  margin-inline: 3px !important;
  background-color: light-dark(rgb(20 22 27 / 0.022), rgb(255 255 255 / 0.038)) !important;
  border-color: var(--toolbar-border-color) !important;
}
#scaleSelect,
#scaleSelectContainer > select {
  width: max-content !important;
  min-width: inherit !important;
  padding-inline: 6px 28px !important;
  background-color: transparent !important;
  -webkit-user-select: auto !important;
  user-select: auto !important;
}
@media (max-width: 1070px) {
  #outerContainer .hiddenMediumView {
    display: none !important;
  }
  #outerContainer .visibleMediumView:not(.hidden, [hidden]) {
    display: inline-block !important;
  }
}

#findbar,
#viewsManager {
  border-radius: 10px !important;
  box-shadow: 0 11px 30px rgba(0, 0, 0, 0.2) !important;
}
#viewsManager {
  --button-hover-bg: rgba(127, 127, 127, 0.14);
  --button-active-bg: rgba(127, 127, 127, 0.22);
}
@media (prefers-reduced-motion: no-preference) {
  #outerContainer.viewsManagerMoving #viewsManager[hidden] {
    display: flex !important;
    inset-inline-start: calc(-1 * var(--sidebar-width) - 1px) !important;
  }
}
#viewsManagerSelectorButton {
  cursor: pointer !important;
}
#viewsManager #viewsManagerSelectorButton[aria-expanded="true"] {
  background-color: rgba(127, 127, 127, 0.14) !important;
}
#viewsManagerSelectorOptions {
  --menu-bg: var(--toolbar-bg-color);
  --menu-border-color: var(--toolbar-border-color);
  --menu-box-shadow: 0 11px 30px rgba(0, 0, 0, 0.2);
  --menuitem-hover-bg: rgba(127, 127, 127, 0.14);
  --menuitem-active-bg: rgba(127, 127, 127, 0.14);
  --menuitem-focus-bg: rgba(127, 127, 127, 0.14);
  --menuitem-focus-outline-color: transparent;
  --menuitem-border-radius: 7px;
  border-radius: 10px;
  transform-origin: top left;
  transition: opacity 0.16s ease, transform 0.16s ease, visibility 0s;
}
#viewsManagerSelectorOptions button {
  cursor: pointer !important;
}
#viewsManagerSelectorOptions > button:hover,
#viewsManagerSelectorOptions > button:focus-visible {
  background-color: rgba(127, 127, 127, 0.14) !important;
  outline: none !important;
}
#viewsManagerSelectorButton[aria-expanded="false"] + #viewsManagerSelectorOptions {
  opacity: 0;
  transform: translateY(-6px) scale(0.97);
  transition: opacity 0.16s ease, transform 0.16s ease, visibility 0s linear 0.16s;
}
#viewsManagerSelectorButton[aria-expanded="true"] + #viewsManagerSelectorOptions {
  opacity: 1;
  transform: none;
}
@media (prefers-reduced-motion: reduce) {
  #viewsManagerSelectorOptions,
  #viewsManagerSelectorButton[aria-expanded="false"] + #viewsManagerSelectorOptions {
    transition: none;
  }
}
#findbar {
  border: 1px solid var(--toolbar-border-color) !important;
  padding: 4px !important;
  min-width: 0 !important;
  min-height: 0 !important;
  gap: 2px !important;
}
#findInput {
  width: 220px !important;
  height: 24px !important;
  margin-block: 0 !important;
  padding-block: 2px !important;
  padding-inline: 8px !important;
  font-size: 12.5px !important;
  line-height: 16px !important;
  box-sizing: border-box !important;
  align-self: center !important;
}
#findbar .toolbarLabel,
#findbar .toggleButton label {
  font-size: 11.5px !important;
}
#findInputContainer {
  align-items: center !important;
}
#findInputContainer .loadingInput {
  margin-inline-end: 5px !important;
}
#findPreviousButton,
#findNextButton {
  width: 24px !important;
  height: 24px !important;
  min-width: 0 !important;
  min-height: 0 !important;
  align-self: center !important;
}
#findbar .splitToolbarButtonSeparator {
  display: none !important;
}
#findbar .toggleButton,
#findbar .toggleButton input,
#findbar .toggleButton label {
  cursor: pointer !important;
}
#findbar .toggleButton {
  display: inline-flex !important;
  align-items: center !important;
  padding: 4px 8px !important;
  border-radius: 6px !important;
  transition: background-color 0.14s ease, color 0.14s ease !important;
}
#findbar .toggleButton:has(> input:checked) {
  background-color: rgba(59, 111, 208, 0.18) !important;
  color: var(--main-color) !important;
}
@media (hover: hover) {
  #findbar .toggleButton:hover {
    background-color: var(--button-hover-color) !important;
    color: var(--main-color) !important;
  }
  #findbar .toggleButton:has(> input:checked):hover {
    background-color: rgba(59, 111, 208, 0.26) !important;
  }
}
#findbar::before,
#findbar::after {
  display: none !important;
}
#findbar {
  transform-origin: top left;
  transition: opacity 0.16s ease, transform 0.16s ease, visibility 0s;
  will-change: opacity, transform;
}
#findbar.hidden {
  display: flex !important;
  opacity: 0;
  transform: translateY(-6px) scale(0.97);
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.16s ease, transform 0.16s ease, visibility 0s linear 0.16s;
}
@media (prefers-reduced-motion: reduce) {
  #findbar,
  #findbar.hidden {
    transition: none;
  }
}
#viewsManager {
  --sidebar-bg-color: var(--toolbar-bg-color) !important;
  --header-bg: var(--toolbar-bg-color) !important;
  --sidebar-narrow-bg-color: var(--toolbar-bg-color) !important;
  --button-focus-outline-color: light-dark(#3b6fd0, #6a9bf4) !important;
  --image-current-border-color: #3b6fd0 !important;
  --image-current-page-number-fg: #fff !important;
}

#documentPropertiesDialog {
  width: -moz-max-content;
  width: max-content !important;
  max-width: 92vw !important;
  padding: 16px 20px !important;
  border: 1px solid var(--toolbar-border-color) !important;
  border-radius: 12px !important;
  background: var(--toolbar-bg-color) !important;
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.28) !important;
  color: var(--main-color) !important;
  font: 400 12.5px/1.4 system-ui, -apple-system, "Apple SD Gothic Neo", "Segoe UI", sans-serif !important;
  opacity: 0;
  transform: translateY(-8px) scale(0.97);
  transition: opacity 0.18s ease, transform 0.18s ease,
    overlay 0.18s ease allow-discrete, display 0.18s ease allow-discrete;
}
#documentPropertiesDialog[open] {
  display: grid !important;
  grid-template-columns: max-content max-content !important;
  column-gap: 36px !important;
  row-gap: 7px !important;
  justify-content: start !important;
  align-content: start !important;
  opacity: 1;
  transform: translateY(0) scale(1);
}
@starting-style {
  #documentPropertiesDialog[open] {
    opacity: 0;
    transform: translateY(-8px) scale(0.97);
  }
}
#documentPropertiesDialog::backdrop {
  background: rgba(0, 0, 0, 0);
  backdrop-filter: blur(0px);
  transition: background-color 0.18s ease, backdrop-filter 0.18s ease,
    overlay 0.18s ease allow-discrete, display 0.18s ease allow-discrete;
}
#documentPropertiesDialog[open]::backdrop {
  background: rgba(0, 0, 0, 0.38);
  backdrop-filter: blur(2px);
}
@starting-style {
  #documentPropertiesDialog[open]::backdrop {
    background: rgba(0, 0, 0, 0);
    backdrop-filter: blur(0px);
  }
}
#documentPropertiesDialog .row {
  display: flex !important;
  align-items: baseline !important;
  gap: 10px !important;
  margin: 0 !important;
}
#documentPropertiesDialog .separator,
#documentPropertiesDialog .buttonRow {
  grid-column: 1 / -1 !important;
}
#documentPropertiesDialog .row > span {
  flex: 0 0 116px !important;
  width: 116px !important;
  white-space: nowrap !important;
  color: #8b909b !important;
  font-weight: 500 !important;
  margin: 0 !important;
  padding: 0 !important;
}
#documentPropertiesDialog .row > p {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  max-width: 210px !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
  overflow-wrap: anywhere !important;
  color: var(--main-color) !important;
  font-weight: 500 !important;
}
#documentPropertiesDialog .separator {
  border-top: 1px solid var(--toolbar-border-color) !important;
  margin: 5px 0 !important;
  height: 0 !important;
}
#documentPropertiesDialog .buttonRow {
  margin-top: 12px !important;
  text-align: center !important;
}
#documentPropertiesDialog .dialogButton {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 60px !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 9px 16px !important;
  border-radius: 9px !important;
  border: 1px solid var(--toolbar-border-color) !important;
  background: var(--toolbar-bg-color) !important;
  color: var(--main-color) !important;
  font: 600 12.5px/1 system-ui, -apple-system, "Apple SD Gothic Neo", sans-serif !important;
  cursor: pointer !important;
  transition: background-color 0.14s ease !important;
}
#documentPropertiesDialog .dialogButton > span {
  color: var(--main-color) !important;
  line-height: 1 !important;
}
#documentPropertiesDialog .dialogButton:is(:hover, :focus-visible) {
  background: rgba(127, 127, 127, 0.14) !important;
}
#documentPropertiesDialog .dialogButton:is(:hover, :focus-visible) > span {
  color: var(--main-color) !important;
}
@media (prefers-reduced-motion: reduce) {
  #documentPropertiesDialog,
  #documentPropertiesDialog::backdrop {
    transition: none !important;
  }
}
@media (max-width: 600px) {
  #documentPropertiesDialog[open] {
    grid-template-columns: max-content !important;
  }
}

#zoomFitGroup {
  margin-inline-end: 0;
}
#toolbarViewerRight .verticalToolbarSeparator {
  display: block;
  float: none;
  align-self: center;
  width: 1px;
  min-width: 1px;
  height: 18px;
  margin-inline: 8px;
  padding: 0;
  background-color: var(--toolbar-border-color);
  border: none;
}
.splitToolbarButtonSeparator {
  height: 18px !important;
  border-left-color: var(--toolbar-border-color) !important;
  margin-inline: 6px !important;
}
#toolbarViewerLeft .splitToolbarButtonSeparator {
  margin-inline: 11px !important;
}
#toolbarViewerRight #contactControl {
  margin-inline-start: 0;
}
#toolbarViewerRight #secondaryToolbarToggle {
  margin-inline-start: 2px;
}
#toolbarViewerMiddle {
  position: absolute;
  left: 50%;
  top: 0;
  bottom: 0;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  max-width: 32%;
  pointer-events: none;
  z-index: 1;
}
#cvTitleLabel {
  font: 600 13px/1 system-ui, -apple-system, "Apple SD Gothic Neo", sans-serif;
  color: var(--main-color);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
  padding: 0 8px;
  opacity: 0.92;
  pointer-events: auto;
  cursor: text;
  -webkit-user-select: text;
  user-select: text;
}

#contactControl {
  position: relative;
}
#contactMenu {
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  z-index: 30;
  min-width: 220px;
  padding: 5px;
  background: var(--toolbar-bg-color);
  border: 1px solid var(--toolbar-border-color);
  border-radius: 10px;
  box-shadow: 0 11px 30px rgba(0, 0, 0, 0.2);
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.contactItem {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 7px 10px;
  border-radius: 7px;
  color: var(--main-color);
  text-decoration: none;
}
.contactItem:hover {
  background: rgba(127, 127, 127, 0.14);
}
.contactIcon {
  width: 17px;
  height: 17px;
  flex: none;
  opacity: 0.9;
}
.contactText {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
}
.contactLabel {
  font: 600 13px/1.2 system-ui, -apple-system, "Apple SD Gothic Neo", sans-serif;
  color: var(--main-color);
}
.contactSub {
  font: 400 11px/1.2 system-ui, -apple-system, "Apple SD Gothic Neo", sans-serif;
  color: #8b909b;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

#secondaryToolbar {
  width: 244px;
  padding: 6px;
  border-radius: 10px;
  border: 1px solid var(--toolbar-border-color);
  background: var(--toolbar-bg-color);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.2);
}
#secondaryToolbar::before,
#secondaryToolbar::after {
  display: none;
}
#secondaryToolbar .menu,
#secondaryToolbarButtonContainer {
  padding: 0;
}
#secondaryToolbar .toolbarButton.labeled {
  min-height: var(--menuitem-height);
  margin: 1px 0;
  padding-block: 4px;
  padding-inline: 10px;
  gap: 11px;
  border-radius: 7px;
  color: var(--main-color);
  font: 600 13px/1.25 system-ui, -apple-system, "Apple SD Gothic Neo", "Segoe UI", sans-serif;
}
#secondaryToolbar .toolbarButton.labeled > span {
  font: inherit;
}
#secondaryToolbar .toolbarButton.labeled:is(:hover, :focus-visible) {
  background-color: rgba(127, 127, 127, 0.14);
  color: var(--main-color);
}
#secondaryToolbar .horizontalToolbarSeparator {
  height: 1px;
  margin: 6px 0;
  background: var(--toolbar-border-color);
  border: none;
}

#contactMenu,
#secondaryToolbar {
  transform-origin: top right;
  transition: opacity 0.16s ease, transform 0.16s ease, visibility 0s;
}
#contactMenu.hidden,
#secondaryToolbar.hidden {
  display: flex !important;
  opacity: 0;
  transform: translateY(-6px) scale(0.97);
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.16s ease, transform 0.16s ease, visibility 0s linear 0.16s;
}
@media (prefers-reduced-motion: reduce) {
  #contactMenu,
  #secondaryToolbar,
  #contactMenu.hidden,
  #secondaryToolbar.hidden {
    transition: none;
  }
}

@media (hover: none) {
  button.toolbarButton:not(.toggled):hover,
  a.toolbarButton:not(.toggled):hover,
  .secondaryToolbarButton:not(.toggled):hover,
  #secondaryToolbar .toolbarButton.labeled:not(.toggled):hover,
  .contactItem:hover {
    background-color: transparent !important;
  }
  button.toolbarButton:not(.toggled):hover::before,
  a.toolbarButton:not(.toggled):hover::before {
    background-color: var(--toolbar-icon-bg-color) !important;
  }
  button.toolbarButton:not(.toggled):active,
  a.toolbarButton:not(.toggled):active {
    background-color: var(--button-hover-color) !important;
  }
  .toolbarButton.toggled {
    background-color: var(--button-hover-color) !important;
  }
  #viewsManager {
    --button-hover-bg: var(--button-bg);
  }
  #viewsManagerSelectorOptions > button:hover {
    background-color: transparent !important;
  }
  #viewsManagerSelectorOptions > button:active {
    background-color: rgba(127, 127, 127, 0.14) !important;
  }

  html,
  body {
    height: auto;
  }
  body {
    min-height: 100vh;
  }
  #outerContainer {
    height: auto;
  }
  #mainContainer {
    position: static;
    inset: auto;
    display: block;
    height: auto;
    min-width: 0;
  }
  #mainContainer > .toolbar {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 100;
  }
  #viewerContainer {
    padding-top: 34px;
  }
  #viewerContainer {
    position: static;
    inset: auto;
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-x: contain;
    height: auto;
  }
  .pdfViewer .page {
    scroll-margin-top: calc(var(--toolbar-height) + 4px);
  }
  #viewerContainer .canvasWrapper {
    transform: translateZ(0);
  }
  #viewsManager {
    height: calc(100vh - var(--toolbar-height) - 24px) !important;
    height: calc(100dvh - var(--toolbar-height) - 24px) !important;
  }
  #viewsManager,
  #viewsManagerContent,
  #contactMenu,
  #secondaryToolbar,
  #findbar {
    overscroll-behavior: contain;
  }
}

@media (max-width: 768px) {
  #cvTitleLabel { font-size: 12px; }
  #toolbarViewerLeft .splitToolbarButtonSeparator { display: none !important; }
  #pageNumber { width: 23px !important; height: 23px !important; box-sizing: border-box !important; padding-inline: 2px !important; }
  #pageNumberGroup { margin-inline-start: 6px; }
  #toolbarViewerMiddle { max-width: calc(100vw - 264px); }
  #toolbarViewer #toolbarViewerLeft { margin-inline-start: 7px !important; }
  #toolbarViewerRight { padding-inline-end: 4px; }
  #toolbarViewerRight #contactControl { margin-inline-start: 5px; }
  #toolbarViewerRight #secondaryToolbarToggle { margin-inline-start: 1px; }
  .pdfViewer .page {
    border-inline-width: 0 !important;
    border-block-width: 6px !important;
  }
}
