@charset "UTF-8";
.hv-chat-message {
  border-radius: 12px;
}

.hv-chat-typing-indicator__dot {
  width: 6px;
  height: 6px;
  background-color: currentColor;
  transition: opacity 0.3s, transform 0.3s;
  opacity: 0.3;
  transform: scale(0.7);
  animation: hv-chat-typing-indicator-blink 1.4s infinite both;
}
.hv-chat-typing-indicator__dot:nth-child(2) {
  animation-delay: 0.2s;
}
.hv-chat-typing-indicator__dot:nth-child(3) {
  animation-delay: 0.4s;
}

.hv-chat-typing-indicator__height-helper::before {
  content: "";
  display: inline-block;
}

@keyframes hv-chat-typing-indicator-blink {
  0%, 80%, 100% {
    transform: scale(0.7);
    opacity: 0.3;
  }
  40% {
    transform: scale(1);
    opacity: 1;
  }
}
.hv-phone-field .hv-phone-field__input-container {
  margin-bottom: 0px; /* Workaround för att minska höjd på inputfält */
}

.iti .iti__search-input {
  border-radius: 12px;
  border: 1px solid var(--mud-palette-lines-default, #eeedea);
  padding: 8px 28px 8px 30px;
  font-family: inherit;
  font-size: inherit;
  outline: none;
}
.iti .iti__search-input:focus {
  border-color: var(--mud-palette-primary, #003b5b);
  border-width: 2px;
  padding: 7px 27px 7px 29px;
}

.hv-main-app-bar {
  background-color: #fff;
  z-index: 1200;
  padding-top: 5px;
  padding-bottom: 0.625rem;
}
.hv-main-app-bar--with-language-selector {
  top: 40px !important;
}

.hv-language-app-bar {
  background-color: #003b5b;
  height: 40px;
  z-index: 1300;
}
.hv-language-app-bar__content {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-left: auto;
  margin-right: 5px;
}
.hv-language-app-bar__icon {
  width: 1.25rem;
  height: 1.25rem;
  font-size: 1.25rem;
}
.hv-language-app-bar__language-button {
  min-width: auto;
  padding: 0;
  text-decoration: none;
  text-underline-offset: 0.15em;
}
.hv-language-app-bar__language-button:hover, .hv-language-app-bar__language-button:focus-visible {
  text-decoration: underline;
}
.hv-language-app-bar__language-button:hover .mud-typography, .hv-language-app-bar__language-button:focus-visible .mud-typography {
  text-decoration: underline;
}

.hv-main-layout--with-language-selector {
  padding-top: 40px;
}

.hv-nav-item__row {
  display: flex;
  align-items: center;
}
.hv-nav-item__row--active {
  background-color: #e4f1f8;
}

.hv-nav-link {
  height: 40px;
  flex: 1;
}
.hv-nav-link--active {
  background-color: #e4f1f8;
}

.hv-nav-item__toggle {
  flex: 0 0 40px;
  height: 40px;
  border-radius: 0;
}

.hv-nav-item__children .hv-nav-link {
  display: flex;
  width: 100%;
  box-sizing: border-box;
}
.hv-nav-item__children .hv-nav-link__sub-text {
  padding-left: 24px;
}

.hv-drawer {
  top: 0px;
}

.hv-main-logo {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}

.mud-table-cell {
  font-size: 0.875rem !important;
}

.hv-ellipsis-text {
  display: block;
  max-width: 50rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.qr-code-sticky {
  --qr-code-size: min(18rem, calc(100vw - 2rem), calc(100vh - 5rem));
  position: sticky;
  z-index: 1;
  top: 1rem;
  width: var(--qr-code-size);
  background: var(--mud-palette-surface);
}

.qr-code-button {
  display: block;
  width: var(--qr-code-size);
  height: var(--qr-code-size);
  padding: 0;
  border: 0;
  background: #fff;
  cursor: zoom-in;
}
.qr-code-button:focus-visible {
  outline: 3px solid var(--mud-palette-primary, #003b5b);
  outline-offset: 3px;
}

.qr-code-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.qr-code-fullscreen {
  position: fixed;
  z-index: var(--mud-zindex-dialog);
  inset: 0;
  display: grid;
  place-items: center;
  padding: 4rem 1rem 1rem;
  background: #fff;
}

.qr-code-close {
  position: absolute;
  top: 1rem;
  right: 1rem;
}

.qr-code-fullscreen-image {
  display: block;
  width: 90vw;
  height: auto;
  max-width: calc(100vh - 6rem);
  max-height: calc(100vh - 6rem);
  object-fit: contain;
}

@media (max-height: 30rem) {
  .qr-code-sticky {
    position: static;
  }
}
@font-face {
  font-family: "Scout";
  src: url("fonts/fcf2421d-44df-4df4-8d25-632664539d1e-2.eot");
  src: url("fonts/fcf2421d-44df-4df4-8d25-632664539d1e-2.eot?") format("embedded-opentype"), url("fonts/fcf2421d-44df-4df4-8d25-632664539d1e-3.woff") format("woff"), url("fonts/fcf2421d-44df-4df4-8d25-632664539d1e-1.ttf") format("truetype");
  font-style: normal;
  font-weight: 500;
}
@font-face {
  font-family: "Scout";
  src: url("fonts/bf3ba5f2-a1f6-4f66-8a8f-08983e24fe77-2.eot");
  src: url("fonts/bf3ba5f2-a1f6-4f66-8a8f-08983e24fe77-2.eot?") format("embedded-opentype"), url(fonts/bf3ba5f2-a1f6-4f66-8a8f-08983e24fe77-3.woff) format("woff"), url("fonts/bf3ba5f2-a1f6-4f66-8a8f-08983e24fe77-1.ttf") format("truetype");
  font-style: normal;
  font-weight: 700;
}
@font-face {
  font-family: "Scout";
  src: url("fonts/Scout-Light.otf");
  font-style: normal;
  font-weight: 200;
}
@font-face {
  font-family: "ScoutCond";
  src: url("fonts/fadb4dd9-92f7-4815-a72f-eb244c11d939-2.eot");
  src: url("fonts/fadb4dd9-92f7-4815-a72f-eb244c11d939-2.eot?") format("embedded-opentype"), url("fonts/fadb4dd9-92f7-4815-a72f-eb244c11d939-3.woff") format("woff"), url("fonts/fadb4dd9-92f7-4815-a72f-eb244c11d939-1.ttf") format("truetype");
  font-style: normal;
  font-weight: 500;
}
@font-face {
  font-family: "ScoutCond";
  src: url("fonts/ScoutCond-Bold.otf");
  font-style: normal;
  font-weight: 700;
}
@font-face {
  font-family: "ScoutCond";
  src: url("fonts/ScoutCond-Light.otf");
  font-style: normal;
  font-weight: 300;
}
@font-face {
  font-family: "Material Symbols Outlined";
  font-style: normal;
  src: url("fonts/material-symbols.woff") format("woff");
}
.font-scout {
  font-family: Scout;
}

.hv-material-symbol {
  font-family: "Material Symbols Outlined";
  vertical-align: bottom;
}

.text-xs {
  font-size: 0.75rem;
  line-height: 1rem;
}

.text-sm {
  font-size: 0.875rem;
  line-height: 1.25rem;
}

.text-base {
  font-size: 1rem;
  line-height: 1.5rem;
}

.text-lg {
  font-size: 1.125rem;
  line-height: 1.75rem;
}

.text-xl {
  font-size: 1.25rem;
  line-height: 1.75rem;
}

.text-2xl {
  font-size: 1.5rem;
  line-height: 2rem;
}

.text-3xl {
  font-size: 1.875rem;
  line-height: 2.25rem;
}

.text-4xl {
  font-size: 2.25rem;
  line-height: 2.5rem;
}

html, body {
  font-family: Scout;
  margin: 0;
}

.hv-skip-link {
  background: #fff;
  color: #003b5b;
  left: 1rem;
  padding: 0.75rem 1rem;
  position: fixed;
  top: 0;
  transform: translateY(-150%);
  transition: transform 0.2s ease-in-out;
  z-index: 1500;
}
.hv-skip-link:focus-visible {
  transform: translateY(1rem);
  outline: 3px solid #003b5b;
  outline-offset: 3px;
}

.hv-file-mud-link__activator {
  align-items: center;
  background: transparent;
  border: 0;
  cursor: pointer;
  display: inline-flex;
  padding: 0;
}

h1, h2, h3 {
  font-weight: normal;
}

h1 {
  font-size: 2.25rem;
  line-height: 2.5rem;
}

h2 {
  font-size: 1.5rem;
  line-height: 2rem;
}

h3 {
  font-size: 1.125rem;
  line-height: 1.75rem;
}

label {
  font-size: 1rem;
  line-height: 1.5rem;
}

.mud-input-control > .mud-input-control-input-container > .mud-input-label-inputcontrol {
  line-height: 1.5rem;
}

.mud-input-control > .mud-input-control-input-container > .mud-input-label-outlined.mud-input-label-inputcontrol {
  line-height: 1.5rem;
}

.mud-alert a {
  color: var(--mud-palette-primary, #003b5b);
  text-decoration: underline;
  text-underline-offset: 0.15em;
}

.hidden {
  display: none;
}

.hv-height-100 {
  height: 100% !important;
}

.hv-border-radius .mud-input-outlined-border {
  border-radius: 12px !important;
}

.hv-bg-primary {
  background-color: #003b5b;
}

.hv-text-primary {
  color: #003b5b;
}

.hv-bg-primary-light {
  background-color: #4f89b3;
}

.hv-text-primary-light {
  color: #4f89b3;
}

.hv-bg-secondary {
  background-color: #202020;
}

.hv-text-secondary {
  color: #202020;
}

.hv-bg-accent {
  background-color: #2f7f8e;
}

.hv-text-accent {
  color: #2f7f8e;
}

.hv-bg-accent-dark {
  background-color: #1c4c55;
}

.hv-text-accent-dark {
  color: #1c4c55;
}

.hv-bg-text {
  background-color: #202020;
}

.hv-text-text {
  color: #202020;
}

.hv-bg-text-muted {
  background-color: #666;
}

.hv-text-text-muted {
  color: #666;
}

.hv-bg-text-disabled {
  background-color: #8f8f8f;
}

.hv-text-text-disabled {
  color: #8f8f8f;
}

.hv-bg-surface {
  background-color: #fff;
}

.hv-text-surface {
  color: #fff;
}

.hv-bg-surface-subtle {
  background-color: #f6f6f6;
}

.hv-text-surface-subtle {
  color: #f6f6f6;
}

.hv-bg-surface-active {
  background-color: #e4f1f8;
}

.hv-text-surface-active {
  color: #e4f1f8;
}

.hv-bg-surface-portal {
  background-color: #eeedea;
}

.hv-text-surface-portal {
  color: #eeedea;
}

.hv-bg-surface-portal-dark {
  background-color: #dad7d2;
}

.hv-text-surface-portal-dark {
  color: #dad7d2;
}

.hv-bg-border {
  background-color: #d8d8d8;
}

.hv-text-border {
  color: #d8d8d8;
}

.hv-bg-border-light {
  background-color: #ccc;
}

.hv-text-border-light {
  color: #ccc;
}

.hv-bg-info-surface {
  background-color: #dfeff6;
}

.hv-text-info-surface {
  color: #dfeff6;
}

.hv-bg-success {
  background-color: #247c36;
}

.hv-text-success {
  color: #247c36;
}

.hv-bg-success-surface {
  background-color: #e3efd1;
}

.hv-text-success-surface {
  color: #e3efd1;
}

.hv-bg-warning {
  background-color: #886602;
}

.hv-text-warning {
  color: #886602;
}

.hv-bg-warning-surface {
  background-color: #fcebc7;
}

.hv-text-warning-surface {
  color: #fcebc7;
}

.hv-bg-error {
  background-color: #c61c2c;
}

.hv-text-error {
  color: #c61c2c;
}

.hv-bg-error-surface {
  background-color: #f9deda;
}

.hv-text-error-surface {
  color: #f9deda;
}

.hv-bg-status-orange {
  background-color: #d27e26;
}

.hv-text-status-orange {
  color: #d27e26;
}

.hv-bg-status-pink {
  background-color: #c10078;
}

.hv-text-status-pink {
  color: #c10078;
}

.hv-bg-status-purple {
  background-color: #49116a;
}

.hv-text-status-purple {
  color: #49116a;
}

.hv-bg-status-brown {
  background-color: #7e7363;
}

.hv-text-status-brown {
  color: #7e7363;
}

.hv-guestaccount-progress-bar {
  display: none;
}

.hv-guestaccount-progress-bar-container {
  width: 100%;
  display: block;
}

.hv-guestaccount-progressbar {
  counter-reset: step;
  display: flex;
  width: 100%;
  justify-content: space-around;
}

.hv-guestaccount-progress-bar-nav-item > span {
  text-decoration-line: none;
  color: #fff;
}

@media screen and (max-width: 768px) {
  .hv-guestaccount-progress-bar-container {
    display: none !important;
  }
  .hv-guestaccount-progress-bar {
    display: flex;
    justify-content: space-around;
    max-width: 100%;
    flex-wrap: wrap;
  }
  .hv-guestaccount-progress-bar-nav-item {
    visibility: visible;
    background: #666;
    width: 10vw;
    height: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 15px;
  }
  .hv-guestaccount-progress-bar-nav-item.finished {
    background: #247c36;
  }
  .hv-guestaccount-progress-bar-nav-item.failed {
    background: #c61c2c;
  }
  .hv-guestaccount-progress-bar-activated {
    background: #2f7f8e;
  }
  .hv-guestaccount-progress-bar-nav-item > span {
    text-decoration-line: none;
    color: #fff;
  }
  .hv-guestaccount-progress-bar-activated > span {
    color: #fff;
  }
}
.hv-guestaccount-progressbar li {
  display: flex;
  flex-direction: column-reverse;
  width: 100%;
  position: relative;
  text-align: center;
  font-size: min(20px, 4.5vw) !important;
  color: #202020;
}

.hv-guestaccount-progressbar li:before {
  display: flex !important;
  justify-content: center;
  align-items: center;
  content: "";
  counter-increment: step;
  width: 50px;
  height: 50px;
  line-height: 30px;
  border: 1px solid #d8d8d8;
  border-radius: 100%;
  display: block;
  text-align: center;
  margin: 0 auto 10px auto;
  background-color: #666;
}

.hv-guestaccount-progressbar li:after {
  content: "";
  position: absolute;
  width: 100%;
  height: 20px;
  background-color: #666;
  top: 50%;
  left: -50%;
}

.hv-guestaccount-progressbar li:first-child:after {
  content: none;
}

.hv-guestaccount-progressbar li.active {
  color: #2f7f8e;
}

.hv-guestaccount-progressbar li.active:before {
  border-color: #2f7f8e;
  background-color: #2f7f8e;
}

.hv-guestaccount-progressbar li.active + li:after {
  background: linear-gradient(to right, #2f7f8e 50%, #666 50%);
}

.hv-guestaccount-progressbar li.fully-active + li:after {
  background: #2f7f8e !important;
}

.hv-guestaccount-progressbar li.finished + li:after {
  background: #247c36 !important;
}

.hv-guestaccount-progressbar li.finished:before {
  background-color: #247c36;
  border-color: #247c36;
}

.hv-guestaccount-progressbar li.finished {
  color: #247c36;
}

.hv-guestaccount-progressbar li.failed + li:after {
  background: #c61c2c !important;
}

.hv-guestaccount-progressbar li.failed:before {
  background-color: #c61c2c;
  border-color: #c61c2c;
}

.hv-guestaccount-progressbar li.failed {
  color: #c61c2c;
}

.hv-hvisa-start-page-sections {
  align-items: flex-start;
}

.hv-hvisa-start-page-sections__section {
  width: fit-content;
  max-width: 100%;
}

.hv-hvisa-start-page-service-statuses-grid {
  display: grid;
  grid-template-columns: repeat(2, max-content);
  grid-template-rows: repeat(3, auto);
  grid-auto-flow: column;
  gap: 1rem;
  align-items: start;
  width: fit-content;
  max-width: 100%;
}

.hv-hvisa-start-page-service-statuses-grid__item {
  max-width: 100%;
}

@media (max-width: 1100px) {
  .hv-hvisa-start-page-service-statuses-grid {
    grid-template-columns: max-content;
    grid-template-rows: none;
    grid-auto-flow: row;
  }
}
.hv-hvisa-start-page-service-statuses__log-created {
  display: inline-block;
  width: 19ch;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

.hv-hvisa-start-page-link {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
}