/* Connecting fonts */

@font-face {
  font-family: "ApercuPro";
  src: url("fonts/ApercuPro.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "ApercuPro";
  src: url("fonts/ApercuPro-Italic.woff2") format("woff2");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "ApercuPro";
  src: url("fonts/ApercuPro-Medium.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "ApercuPro";
  src: url("fonts/ApercuPro-Medium-Italic.woff2") format("woff2");
  font-weight: 500;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "ApercuPro";
  src: url("fonts/ApercuPro-Bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "ApercuPro";
  src: url("fonts/ApercuPro-Bold-Italic.woff2") format("woff2");
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}

/* Connecting fonts */

:root {
  --primary: #00509e;
  --secondary: #262b36;
  --accent: #0069b4;
  --text-dark: #04294d;
  --text-light: #666;
  --background: #ffffff;
  --border-light: #e5e5e5;
  --shadow: rgba(0, 0, 0, 0.1);
}

/* Animations */

@keyframes back-forth {
  0% {
    transform: translateX(0);
  }

  15% {
    transform: translateX(0);
  }

  50% {
    transform: translateX(5px);
  }

  92% {
    transform: translateX(0);
  }

  100% {
    transform: translateX(0);
  }
}

/* Resetting Styles */

*,
*:before,
*:after {
  box-sizing: border-box;
}

* {
  margin: 0;
  padding: 0;
}

:focus {
  box-shadow: none !important;
  outline: none;
}

html,
body {
  height: 100%;
}

body {
  font-family: "Arial", sans-serif;
  font-size: 16px;
  line-height: 28px;
  color: var(--secondary);
}

*:before,
*:after,
img,
video,
svg,
input,
textarea,
button,
iframe {
  display: block;
}

a {
  text-decoration: none;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
ul {
  margin: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 500;
}

h1 {
  font-size: 32px;
  line-height: 38px;
}

h2 {
  font-size: 26px;
  line-height: 36px;
}

h3 {
  font-size: 22px;
  line-height: 32px;
}

h4 {
  font-size: 20px;
  line-height: 30px;
}

h5 {
  font-size: 18px;
  line-height: 28px;
}

h6 {
  font-size: 16px;
  line-height: 26px;
}

p:not(:last-child) {
  margin-bottom: 30px;
}

p a {
  display: inline;
}

ul,
ol {
  list-style: none;
}

b,
strong {
  font-weight: 700;
}

small {
  font-size: 14px;
}

big {
  font-size: 22px;
}

img,
video,
svg,
iframe {
  max-width: 100%;
}

input,
textarea,
button {
  font-family: inherit;
  font-size: inherit;
}

input,
textarea {
  width: 100%;
}

input[type="checkbox"],
input[type="radio"],
input[type="submit"],
button {
  cursor: pointer;
}

textarea {
  resize: none;
}

label {
  margin-bottom: 10px;
  line-height: 1.2;
}

iframe {
  border: none;
}

/* Header */

header {
  width: 100%;
  height: 80px;
  position: relative;
}

header:before {
  content: "";
  width: 184px;
  height: 48px;
  position: absolute;
  top: 50%;
  left: 15px;
  transform: translateY(-50%);
  background: url(img/logo.svg) center no-repeat;
  background-size: contain;
}

header:not(:last-child) {
  margin-bottom: 50px;
}

header > * {
  display: none;
}

/* Buttons */

.btn {
  display: block;
  width: fit-content;
  width: -moz-fit-content;
  background-color: var(--secondary);
  border: 2px solid var(--secondary);
  border-radius: 22px;
  font-weight: 400;
  font-size: 18px;
  line-height: 28px;
  color: #fff;
  text-decoration: none;
  cursor: pointer;
  transition: background-color 0.1s, color 0.1s;
  padding: 6px 18px;
}

.btn:hover {
  background-color: #fff;
  border-color: var(--secondary);
  color: var(--primary);
  text-decoration: none;
}

.btn:hover {
  background-color: #fff;
  border-color: var(--secondary);
  color: var(--primary);
  text-decoration: none;
}

.btn-primary,
.btn-primary:hover {
  border-color: var(--primary);
}

.btn-primary {
  background-color: var(--primary);
}

.page-title .btn,
.btn.help-btn,
.btn.addGroup,
.btn.removeGroup {
  justify-content: center;
  align-items: center;
  background-color: var(--secondary);
  border: none;
  font-size: 14px;
  transition: all 0.2s ease;
  padding: 6px 12px;
  min-width: auto;
}

.page-title .btn,
.btn.addGroup,
.btn.removeGroup {
  display: inline-flex;
  width: auto;
  height: 28px;
  min-width: 28px;
  border-radius: 4px;
  font-size: 12px;
  padding: 4px 8px;
  gap: 4px;
}

.page-title .btn:hover,
.btn.help-btn:hover,
.btn.addGroup:hover,
.btn.removeGroup:hover {
  background-color: var(--primary);
  transform: translateY(-1px);
  color: #fff;
  box-shadow: 0 2px 8px rgba(0, 80, 158, 0.3);
}

.page-title .btn:before,
.btn.help-btn:before,
.btn.addGroup:before,
.btn.removeGroup:before {
  content: "";
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  width: 14px;
  height: 14px;
  margin-right: 4px;
}

.page-title .btn:hover:after,
.btn.help-btn:hover:before,
.btn.addGroup:hover:before,
.btn.removeGroup:hover:before {
  filter: unset;
}

.btn.addGroup:before {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAxNCAxNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTcgMFYxNE0wIDdIMTQiIGZpbGw9IndoaXRlIi8+Cjwvc3ZnPg==);
}

.btn.removeGroup:before {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAxNCAxNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTAgN0gxNCIgc3Ryb2tlPSJ3aGl0ZSIgc3Ryb2tlLXdpZHRoPSIyIi8+Cjwvc3ZnPg==);
}

.btn.help-btn {
  display: inline-flex;
  width: 24px;
  height: 24px;
  min-width: 24px;
  border-radius: 50%;
  font-size: 0;
  padding: 0;
}

.btn.help-btn:not(:first-child) {
  position: relative;
  top: -2px;
}

.btn.help-btn:before {
  width: 24px;
  height: 24px;
  background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAxNCAxNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTUuNiAxLjRDNS42IDEuMDI4NyA1Ljc0NzUgMC42NzI2MDEgNi4wMTAwNSAwLjQxMDA1MUM2LjI3MjYgMC4xNDc1IDYuNjI4NjkgMCA3IDBDNy4zNzEzIDAgNy43Mjc0IDAuMTQ3NSA3Ljk4OTk1IDAuNDEwMDUxQzguMjUyNSAwLjY3MjYwMSA4LjQgMS4wMjg3IDguNCAxLjRDOC40IDEuNzcxMyA4LjI1MjUgMi4xMjc0IDcuOTg5OTUgMi4zODk5NUM3LjcyNzQgMi42NTI1IDcuMzcxMyAyLjggNyAyLjhDNi42Mjg2OSAyLjggNi4yNzI2IDIuNjUyNSA2LjAxMDA1IDIuMzg5OTVDNS43NDc1IDIuMTI3NCA1LjYgMS43NzEzIDUuNiAxLjRaTTQuMiA1LjZDNC4yIDUuMDgzNzUgNC42MTcwOCA0LjY2NjY3IDUuMTMzMzMgNC42NjY2N0g3QzcuNTE2MjUgNC42NjY2NyA3LjkzMzMzIDUuMDgzNzUgNy45MzMzMyA1LjZWMTIuMTMzM0g4Ljg2NjY2QzkuMzgyOTEgMTIuMTMzMyA5LjggMTIuNTUwNCA5LjggMTMuMDY2N0M5LjggMTMuNTgyOSA5LjM4MjkxIDE0IDguODY2NjYgMTRINS4xMzMzM0M0LjYxNzA4IDE0IDQuMiAxMy41ODI5IDQuMiAxMy4wNjY3QzQuMiAxMi41NTA0IDQuNjE3MDggMTIuMTMzMyA1LjEzMzMzIDEyLjEzMzNINi4wNjY2NlY2LjUzMzMzSDUuMTMzMzNDNC42MTcwOCA2LjUzMzMzIDQuMiA2LjExNjI1IDQuMiA1LjZaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K);
  background-size: 12px;
  margin-right: 0;
}

.btn.addGroup:before {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAxOCAxOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTEwLjM4NDYgMS4zODQ2MkMxMC4zODQ2IDAuNjE4NzUgOS43NjU4NyAwIDkgMEM4LjIzNDEzIDAgNy42MTUzOCAwLjYxODc1IDcuNjE1MzggMS4zODQ2MlY3LjYxNTM4SDEuMzg0NjJDMC42MTg3NSA3LjYxNTM4IDAgOC4yMzQxMyAwIDlDMCA5Ljc2NTg3IDAuNjE4NzUgMTAuMzg0NiAxLjM4NDYyIDEwLjM4NDZINy42MTUzOFYxNi42MTU0QzcuNjE1MzggMTcuMzgxMyA4LjIzNDEzIDE4IDkgMThDOS43NjU4NyAxOCAxMC4zODQ2IDE3LjM4MTMgMTAuMzg0NiAxNi42MTU0VjEwLjM4NDZIMTYuNjE1NEMxNy4zODEzIDEwLjM4NDYgMTggOS43NjU4NyAxOCA5QzE4IDguMjM0MTMgMTcuMzgxMyA3LjYxNTM4IDE2LjYxNTQgNy42MTUzOEgxMC4zODQ2VjEuMzg0NjJaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K);
}

.btn.removeGroup:before {
  width: 20px;
  height: 20px;
  background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjAgMCAyMCAyMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTE1LjkxMTEgMy40MDEySDQuMDg3NzJDMy40ODcyMyAzLjQwMTIgMyAzLjg5NjggMyA0LjUwNzZWNS4zMzU2SDE3VjQuNTA3NkMxNyAzLjg5NjggMTYuNTEyOCAzLjQwMTIgMTUuOTEyMyAzLjQwMTJIMTUuOTExMVoiIGZpbGw9IndoaXRlIi8+CjxwYXRoIGQ9Ik04LjA1NTE4IDIuNjc3NkM4LjA1NTE4IDIuMTY1MiA4LjUyMzU0IDEuNzQ4OCA5LjEwMDQ0IDEuNzQ4OEgxMC44OTcyQzExLjQ3NDEgMS43NDg4IDExLjk0MjQgMi4xNjUyIDExLjk0MjQgMi42Nzc2VjMuMDczNkgxMi43ODZWMi42Nzc2QzEyLjc4NiAxLjc1MjQgMTEuOTM4OSAxIDEwLjg5NzIgMUg5LjEwMDQ0QzguMDU4NzIgMSA3LjIxMTY3IDEuNzUyNCA3LjIxMTY3IDIuNjc3NlYzLjA3MzZIOC4wNTUxOFYyLjY3NzZaIiBmaWxsPSJ3aGl0ZSIvPgo8cGF0aCBkPSJNNC43NTc4IDE3Ljg2MTJDNC44MTY3OSAxOC41MDY4IDUuMzQ4ODUgMTkgNS45ODU5MSAxOUgxNC4wMTI5QzE0LjY0OTkgMTkgMTUuMTgyIDE4LjUwNjggMTUuMjQxIDE3Ljg2MTJMMTYuMzU1OCA1LjY1ODRIMy42NDI5NEw0Ljc1NzggMTcuODYxMlpNMTIuMTkwMiAxNS45MjU2TDEyLjY4OTIgOC42NzA0QzEyLjcwNTcgOC40Mzg4IDEyLjg5NDUgOC4yNTg4IDEzLjEyMzQgOC4yNTg4SDEzLjQ2NzhDMTMuNTg4MiA4LjI1ODggMTMuNzAzOCA4LjMwOTIgMTMuNzg2NCA4LjM5OTJDMTMuODY5IDguNDg5MiAxMy45MTAyIDguNjA5MiAxMy45MDIgOC43MzE2TDEzLjQwMyAxNS45ODY4QzEzLjM4NjQgMTYuMjE4NCAxMy4xOTc3IDE2LjM5ODQgMTIuOTY4OCAxNi4zOTg0SDEyLjYyNDNDMTIuNTA0IDE2LjM5ODQgMTIuMzg4NCAxNi4zNDggMTIuMzA1OCAxNi4yNThDMTIuMjIzMiAxNi4xNjggMTIuMTgxOSAxNi4wNDggMTIuMTkwMiAxNS45MjU2Wk05LjM5MTgzIDguNzAxNkM5LjM5MTgzIDguNDU2OCA5LjU4NjQ5IDguMjU4OCA5LjgyNzE1IDguMjU4OEgxMC4xNzRDMTAuNDE0NyA4LjI1ODggMTAuNjA5MyA4LjQ1NjggMTAuNjA5MyA4LjcwMTZWMTUuOTU2OEMxMC42MDkzIDE2LjIwMTYgMTAuNDE0NyAxNi4zOTk2IDEwLjE3NCAxNi4zOTk2SDkuODI3MTVDOS41ODY0OSAxNi4zOTk2IDkuMzkxODMgMTYuMjAxNiA5LjM5MTgzIDE1Ljk1NjhWOC43MDE2Wk02LjIxNDc4IDguMzk5MkM2LjI5NzM2IDguMzA5MiA2LjQxMTggOC4yNTg4IDYuNTMzMzEgOC4yNTg4SDYuODc3OEM3LjEwNjY3IDguMjU4OCA3LjI5NTQzIDguNDM4OCA3LjMxMTk0IDguNjcwNEw3LjgxMDk3IDE1LjkyNTZDNy44MTkyMyAxNi4wNDggNy43Nzc5NCAxNi4xNjggNy42OTUzNiAxNi4yNThDNy42MTI3OCAxNi4zNDggNy40OTgzNCAxNi4zOTg0IDcuMzc2ODMgMTYuMzk4NEg3LjAzMjM0QzYuODAzNDcgMTYuMzk4NCA2LjYxNDcxIDE2LjIxODQgNi41OTgyIDE1Ljk4NjhMNi4wOTkxNyA4LjczMTZDNi4wOTA5MSA4LjYwOTIgNi4xMzIyIDguNDg5MiA2LjIxNDc4IDguMzk5MloiIGZpbGw9IndoaXRlIi8+Cjwvc3ZnPgo=);
}

.btn.removeGroup:hover:before {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjAgMCAyMCAyMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTQuNzU3OCAxNy44NjExQzQuODE2NzkgMTguNTA2NyA1LjM0ODg1IDE4Ljk5OTkgNS45ODU5MSAxOC45OTk5SDE0LjAxMjlDMTQuNjQ5OSAxOC45OTk5IDE1LjE4MiAxOC41MDY3IDE1LjI0MSAxNy44NjExTDE2LjM1NTggNS42NTgyOUgzLjY0Mjk0TDQuNzU3OCAxNy44NjExWk0xMi4xOTAyIDE1LjkyNTVMMTIuNjg5MiA4LjY3MDI5QzEyLjcwNTcgOC40Mzg2OSAxMi44OTQ1IDguMjU4NjkgMTMuMTIzNCA4LjI1ODY5SDEzLjQ2NzhDMTMuNTg4MiA4LjI1ODY5IDEzLjcwMzggOC4zMDkxIDEzLjc4NjQgOC4zOTkxQzEzLjg2OSA4LjQ4OTEgMTMuOTEwMiA4LjYwOTA5IDEzLjkwMiA4LjczMTQ5TDEzLjQwMyAxNS45ODY3QzEzLjM4NjQgMTYuMjE4MyAxMy4xOTc3IDE2LjM5ODMgMTIuOTY4OCAxNi4zOTgzSDEyLjYyNDNDMTIuNTA0IDE2LjM5ODMgMTIuMzg4NCAxNi4zNDc5IDEyLjMwNTggMTYuMjU3OUMxMi4yMjMyIDE2LjE2NzkgMTIuMTgxOSAxNi4wNDc5IDEyLjE5MDIgMTUuOTI1NVpNOS4zOTE4MyA4LjcwMTQ5QzkuMzkxODMgOC40NTY2OSA5LjU4NjQ5IDguMjU4NjkgOS44MjcxNSA4LjI1ODY5SDEwLjE3NEMxMC40MTQ3IDguMjU4NjkgMTAuNjA5MyA4LjQ1NjY5IDEwLjYwOTMgOC43MDE0OVYxNS45NTY3QzEwLjYwOTMgMTYuMjAxNSAxMC40MTQ3IDE2LjM5OTUgMTAuMTc0IDE2LjM5OTVIOS44MjcxNUM5LjU4NjQ5IDE2LjM5OTUgOS4zOTE4MyAxNi4yMDE1IDkuMzkxODMgMTUuOTU2N1Y4LjcwMTQ5Wk02LjIxNDc4IDguMzk5MUM2LjI5NzM2IDguMzA5MSA2LjQxMTggOC4yNTg2OSA2LjUzMzMxIDguMjU4NjlINi44Nzc4QzcuMTA2NjcgOC4yNTg2OSA3LjI5NTQzIDguNDM4NjkgNy4zMTE5NCA4LjY3MDI5TDcuODEwOTcgMTUuOTI1NUM3LjgxOTIzIDE2LjA0NzkgNy43Nzc5NCAxNi4xNjc5IDcuNjk1MzYgMTYuMjU3OUM3LjYxMjc4IDE2LjM0NzkgNy40OTgzNCAxNi4zOTgzIDcuMzc2ODMgMTYuMzk4M0g3LjAzMjM0QzYuODAzNDcgMTYuMzk4MyA2LjYxNDcxIDE2LjIxODMgNi41OTgyIDE1Ljk4NjdMNi4wOTkxNyA4LjczMTQ5QzYuMDkwOTEgOC42MDkwOSA2LjEzMjIgOC40ODkxIDYuMjE0NzggOC4zOTkxWiIgZmlsbD0id2hpdGUiLz4KPC9zdmc+Cg==);
}

.btn[name="removeUploadedFile"] {
  margin-left: auto;
}

.btn[name="removeUploadedFile"]:not(:first-child) {
  margin-top: 20px;
}

/* Form control */

.form-control {
  height: 50px;
  border: 1px solid rgba(38, 43, 54, 0.2);
  border-radius: 25px;
  font-size: 22px;
  line-height: 1.4;
  color: var(--text-dark);
  transition: all 0.2s ease;
  padding: 12px 18px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
  background-color: #fff;
  max-width: 100%;
}

.form-control:focus {
  border-color: var(--primary);
  box-shadow: 0 0 0 2px rgba(0, 80, 158, 0.1);
  outline: none;
}

.form-control::placeholder {
  color: var(--text-light);
  opacity: 1;
}

/* Custom file */

.custom-file {
  display: block;
  width: 100%;
  height: 64px;
}

.custom-file-input,
.custom-file-label {
  display: none;
}

.input-group {
  position: initial;
}

.input-group > .input-group-append > .btn {
  display: flex;
  align-items: center;
  width: 100%;
  height: 100%;
  overflow: hidden;
  border: 2px solid var(--secondary);
  border-radius: 32px;
  text-align: center;
  font-size: 18px;
  line-height: 30px;
  color: #04294d;
  white-space: nowrap;
  text-overflow: ellipsis;
  cursor: pointer;
  transition: border-color 0.1s;
  margin: 0;
  padding: 0 0 0 16px;
  background: transparent;
  font-size: 0;
  position: absolute;
}

.input-group > .input-group-append > .btn:hover,
.input-group > .input-group-append > .btn:focus {
  border-color: var(--primary);
}

.input-group-append {
  flex: 0 0 100%;
  margin-left: 0;
}

.custom-file.is-invalid ~ .invalid-feedback {
  float: left;
}

.btn[name="removeUploadedFile"] {
  float: right;
}

.input-group > .input-group-append > .btn::before {
  content: "";
  width: 96px;
  height: calc(100% - 4px);
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  z-index: 1;
  background-color: #fff;
  border-radius: 0 28px 28px 0;
}

.input-group > .input-group-append > .btn::after {
  content: "" !important;
  width: 64px;
  height: 48px;
  top: 50%;
  right: 14px;
  transform: translateY(-50%);
  z-index: 2;
  background-color: var(--secondary);
  background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjIiIGhlaWdodD0iMjIiIHZpZXdCb3g9IjAgMCAyMiAyMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTIuNDQ0NDYgMi43NUMyLjQ0NDQ2IDEuMjMzMiAzLjcyMzM0IDAgNS4yOTYzMSAwSDEyLjQyNTlWNS41QzEyLjQyNTkgNi4yNjA1NSAxMy4wNjMxIDYuODc1IDEzLjg1MTkgNi44NzVIMTkuNTU1NlYxOS4yNUMxOS41NTU2IDIwLjc2NjggMTguMjc2NyAyMiAxNi43MDM3IDIySDUuMjk2MzFDMy43MjMzNCAyMiAyLjQ0NDQ2IDIwLjc2NjggMi40NDQ0NiAxOS4yNVYyLjc1Wk0xOS41NTU2IDUuNUgxMy44NTE5VjBMMTkuNTU1NiA1LjVaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 22px;
  border: none;
  border-radius: 24px;
  transition: background-color 0.1s;
  padding: 0;
  position: absolute;
}

.custom-file-label:hover,
.custom-file-input:focus ~ .custom-file-label {
  border-color: var(--primary);
}

.custom-file-input:focus ~ .custom-file-label {
  box-shadow: none;
}

.custom-file-input.is-invalid ~ .custom-file-label {
  border-color: #ff0000;
}

.custom-file.is-invalid ~ .invalid-feedback,
.form-check.is-invalid ~ .invalid-feedback,
.datePickerElement ~ .invalid-feedback,
.form-control.is-invalid ~ .invalid-feedback {
  color: #ff0000;
  display: block !important;
}

/* .custom-file[uploaded="yes"] .input-group-append {
    display: none;
  } */

.custom-file[uploaded="yes"] .custom-file-label {
  display: flex;
  position: absolute;
  left: 0;
  top: 0;
  align-items: center;
  width: 100%;
  height: 100%;
  overflow: hidden;
  border: 2px solid var(--secondary);
  border-radius: 32px;
  font-size: 18px;
  line-height: 30px;
  color: #04294d;
  white-space: nowrap;
  text-overflow: ellipsis;
  cursor: pointer;
  transition: border-color 0.1s;
  margin: 0;
  padding: 0 0 0 16px;
  background: transparent;
}

.custom-file-label:before {
  content: "";
  width: 96px;
  height: calc(100% - 4px);
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  z-index: 1;
  background-color: #fff;
  border-radius: 0 28px 28px 0;
}

.custom-file-label:after {
  content: "" !important;
  width: 64px;
  height: 48px;
  top: 50%;
  right: 14px;
  transform: translateY(-50%);
  z-index: 2;
  background-color: var(--secondary);
  background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjIiIGhlaWdodD0iMjIiIHZpZXdCb3g9IjAgMCAyMiAyMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTIuNDQ0NDYgMi43NUMyLjQ0NDQ2IDEuMjMzMiAzLjcyMzM0IDAgNS4yOTYzMSAwSDEyLjQyNTlWNS41QzEyLjQyNTkgNi4yNjA1NSAxMy4wNjMxIDYuODc1IDEzLjg1MTkgNi44NzVIMTkuNTU1NlYxOS4yNUMxOS41NTU2IDIwLjc2NjggMTguMjc2NyAyMiAxNi43MDM3IDIySDUuMjk2MzFDMy43MjMzNCAyMiAyLjQ0NDQ2IDIwLjc2NjggMi40NDQ0NiAxOS4yNVYyLjc1Wk0xOS41NTU2IDUuNUgxMy44NTE5VjBMMTkuNTU1NiA1LjVaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 22px;
  border: none;
  border-radius: 24px;
  transition: background-color 0.1s;
  padding: 0;
}

.custom-file-label:hover:after {
  background-color: var(--primary);
}

.custom-file ~ small {
  display: block;
  width: fit-content;
  width: -moz-fit-content;
  position: relative;
  top: -42px;
  left: 14px;
  z-index: 1;
  font-size: 18px;
  line-height: 18px;
}

.custom-file[uploaded="yes"] ~ small {
  display: none;
}

/* Custom input & radio */

.form-check-inline {
  margin-right: 20px;
}

.form-check {
  position: relative;
  padding: 0;
}

.form-check:not(:last-child) {
  margin-bottom: 15px;
}

.form-check input[type="checkbox"],
.form-check input[type="checkbox"] + label:before,
.form-check input[type="radio"],
.form-check input[type="radio"] + label:before {
  width: 24px;
  height: 24px;
  position: absolute !important;
  top: 4px;
  left: 0;
}

.form-check input[type="checkbox"],
.form-check input[type="radio"] {
  z-index: 1;
  opacity: 0;
  cursor: pointer;
  margin: 0;
}

.form-check input[type="checkbox"] + label,
.form-check input[type="radio"] + label {
  padding-left: 40px;
  /* font-size: 16px; */
  /* line-height: 1.5; */
  color: var(--text-dark);
  font-weight: 500;
  cursor: pointer;
  transition: all 0.3s ease;
}

.form-check input[type="checkbox"] + label:before,
.form-check input[type="radio"] + label:before {
  content: "";
  background-color: #fff;
  border: 2px solid var(--border-light);
  transition: all 0.3s ease;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

.form-check input[type="radio"] + label:before {
  border-radius: 50%;
}

.form-check input[type="checkbox"]:checked + label:before,
.form-check input[type="radio"]:checked + label:before {
  background-color: var(--primary);
}

.form-check input[type="checkbox"] + label:after,
.form-check input[type="radio"] + label:after {
  content: "";
  position: absolute;
  opacity: 0;
  transition: opacity 0.1s;
}

.form-check input[type="checkbox"] + label:after {
  width: 6px;
  height: 11px;
  top: 9px;
  left: 9px;
  transform: rotate(45deg);
  border: 3px solid #fff;
  border-width: 0 3px 3px 0;
}

.form-check input[type="radio"] + label:after {
  width: 10px;
  height: 10px;
  top: 11px;
  left: 7px;
  background-color: #fff;
  border-radius: 50%;
}

.form-check input[type="checkbox"]:checked ~ label:after,
.form-check input[type="radio"]:checked ~ label:after {
  opacity: 1;
}

/* Custom select */

form .select2-container .select2-selection--single {
  height: 50px;
}

form .select2-container--default .select2-selection--single {
  border: 1px solid rgba(38, 43, 54, 0.2);
  border-radius: 25px;
  background-color: #fff;
  transition: all 0.2s ease;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

form .select2-container--default .select2-selection--single:hover,
form .select2-container--default.select2-container--open.select2-container--above .select2-selection--single,
form .select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple {
  border-color: var(--primary);
}

form .select2-container .select2-selection--single .select2-selection__rendered {
  font-size: 22px;
  line-height: 50px;
  color: var(--text-dark);
  padding: 0 65px 0 18px;
}

form .select2-container--default .select2-selection--single .select2-selection__arrow {
  content: "" !important;
  width: 54px;
  height: 36px;
  top: 50%;
  right: 7px;
  transform: translateY(-50%);
  z-index: 2;
  background-color: var(--secondary);
  background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjIiIGhlaWdodD0iMjIiIHZpZXdCb3g9IjAgMCAyMiAyMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTkuODkwNTUgMTYuNTYwNkMxMC41MDQyIDE3LjE0NjUgMTEuNTAwNyAxNy4xNDY1IDEyLjExNDQgMTYuNTYwNkwyMS41Mzk4IDcuNTYyMzlDMjIuMTUzNCA2Ljk3NjU3IDIyLjE1MzQgNi4wMjUxOSAyMS41Mzk4IDUuNDM5MzdDMjAuOTI2MSA0Ljg1MzU0IDE5LjkyOTYgNC44NTM1NCAxOS4zMTYgNS40MzkzN0wxMSAxMy4zNzg0TDIuNjg0MDMgNS40NDQwNUMyLjA3MDQgNC44NTgyMyAxLjA3Mzg2IDQuODU4MjMgMC40NjAyMjUgNS40NDQwNUMtMC4xNTM0MDggNi4wMjk4OCAtMC4xNTM0MDggNi45ODEyNSAwLjQ2MDIyNSA3LjU2NzA4TDkuODg1NjQgMTYuNTY1M0w5Ljg5MDU1IDE2LjU2MDZaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 18px;
  border: none;
  border-radius: 22px;
  transition: background-color 0.1s;
  padding: 0;
  position: absolute;
}

form .select2-container--default .select2-selection--single:hover .select2-selection__arrow,
form .select2-container--default.select2-container--open.select2-container--above .select2-selection--single .select2-selection__arrow,
form .select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple .select2-selection__arrow {
  background-color: var(--primary);
}

form .select2-container--default .select2-selection--single .select2-selection__arrow * {
  display: none;
}

span.select2-container--default .select2-results__option,
span.select2-container--default .select2-results__option[aria-selected="true"] {
  font-size: 18px;
  line-height: 30px;
}

span.select2-container--default .select2-results__option[aria-selected="true"] {
  background-color: rgba(38, 43, 54, 0.2);
  color: var(--secondary);
}

span.select2-container--default .select2-results__option--highlighted[aria-selected] {
  background-color: var(--primary);
  color: #fff;
}

span.select2-container--default .select2-search--dropdown .select2-search__field {
  height: 50px;
  background-color: #fff;
  border: 1px solid rgba(38, 43, 54, 0.2);
  border-radius: 30px;
  font-size: 22px;
  line-height: 22px;
  color: var(--secondary);
  padding: 0 18px;
}

/* Alerts */

.alert,
.invalid-feedback {
  width: fit-content;
  width: -moz-fit-content;
  background-color: #fff;
  border-radius: 20px;
  font-size: 18px;
  line-height: 30px;
  margin: 0 auto;
  padding: 5px 20px;
}

.alert-danger,
.invalid-feedback {
  color: #ff0000;
}

.alert {
  border: none;
}

.alert:not(:first-child),
.invalid-feedback:not(:first-child) {
  margin-top: 15px;
}

.alert:not(:last-child),
.invalid-feedback:not(:last-child) {
  margin-bottom: 15px;
}

/* Welcome screen */

.jumbotron {
  background-color: var(--primary);
  border-radius: 15px;
  color: #fff;
  padding: 25px;
  margin-bottom: 50px;
}

.jumbotron > hr {
  display: none;
}

.jumbotron p:not(:last-child) {
  margin-bottom: 30px !important;
}

.jumbotron form[name="enterWorkFlow"]:not(:last-child) {
  margin-bottom: 30px;
}

.jumbotron .form-inline {
  display: block;
  position: relative;
  max-width: 600px;
  margin: 0 auto;
}

.jumbotron .form-inline .form-control[name="newReferenceNumber"] {
  display: block;
  width: 100%;
  height: 54px;
  background-color: #fff;
  border: none;
  border-radius: 27px;
  font-size: 18px;
  color: var(--secondary);
  padding: 0 89px 0 15px;
  margin-right: 0 !important;
}

.jumbotron .form-inline .form-control[name="newReferenceNumber"]::-webkit-input-placeholder {
  color: var(--secondary);
}

.jumbotron .form-inline .btn[name="byPassFrontPage"] {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 59px;
  height: 44px;
  position: absolute;
  top: 5px;
  right: 15px;
  background-color: var(--secondary);
  border: none;
  border-radius: 22px;
  font-size: 0;
  transition: background-color 0.1s;
  padding: 0;
}

.jumbotron .form-inline .btn[name="byPassFrontPage"]:after {
  content: "";
  width: 20px;
  height: 20px;
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0NDggNTEyIiBmaWxsPSIjZmZmZmZmIj48cGF0aCBkPSJNNDM4LjYgMjc4LjZjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNsLTE2MC0xNjBjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwcy0xMi41IDMyLjggMCA0NS4zTDMzOC44IDIyNCAzMiAyMjRjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMzA2LjcgMEwyMzMuNCAzOTMuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMGwxNjAtMTYweiIvPjwvc3ZnPg==);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}

.jumbotron .form-inline .btn[name="byPassFrontPage"]:hover {
  background-color: var(--primary);
}

.jumbotron .languageSelectionSection:not(:first-child) {
  margin-top: 30px;
}

.jumbotron .languageSelectionSection > div,
.jumbotron .languageSelectionSection .formElementItem {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 20px;
}

.jumbotron .languageSelectionSection > div {
  align-items: center;
}

.jumbotron .languageSelectionSection .btn {
  background-color: var(--secondary);
  border: 2px solid #fff;
  border-radius: 19px;
  font-size: 18px;
  line-height: 18px;
  color: #fff;
  transition: background-color 0.1, color 0.1;
  padding: 8px 16px;
}

.jumbotron .languageSelectionSection .btn:not(.language-selected):hover {
  background-color: #fff;
  color: var(--primary);
}

.jumbotron .languageSelectionSection .btn.language-selected {
  position: relative;
  pointer-events: none;
  padding-right: 46px;
}

.jumbotron .languageSelectionSection .btn.language-selected:after {
  content: "";
  width: 14px;
  height: 14px;
  position: absolute;
  top: 50%;
  right: 16px;
  transform: translateY(-50%);
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0NDggNTEyIiBmaWxsPSIjZmZmZmZmIj48cGF0aCBkPSJNNDM4LjYgMTA1LjRjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNsLTI1NiAyNTZjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwbC0xMjgtMTI4Yy0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM3MzMi44LTEyLjUgNDUuMyAwTDE2MCAzMzguNyAzOTMuNCAxMDUuNGMxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMHoiLz48L3N2Zz4=);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}

.jumbotron .btn-primary {
  background-color: var(--secondary);
  border-color: #fff;
}

.jumbotron .btn-primary:hover {
  background-color: #fff;
}

.jumbotron .btn {
  margin: 0 auto;
}

.jumbotron .btn#byPassFrontPage {
  margin: 30px auto 0;
}

/* Authorization menu */

.form-authentication-methods {
  background-color: #fff;
  padding: 20px;
}

.form-authentication-methods > li {
  width: 100%;
  max-width: 400px;
  margin: 0 auto;
}

.form-authentication-methods .btn {
  width: 100%;
  position: relative;
  background-color: transparent;
  border: none;
  border-bottom: 1px solid var(--secondary);
  border-radius: 0;
  font-size: 18px;
  line-height: 30px;
  color: var(--secondary);
  text-align: left;
  white-space: unset;
  padding: 17px 17px 17px 56px;
  transition: background-color 0.1s, box-shadow 0.1s;
}

.form-authentication-methods .btn:hover {
  background-color: #bef5ff;
  box-shadow: 0 3px 0 0 var(--secondary);
}

.form-authentication-methods .btn:before {
  content: "";
  width: 26px;
  height: 26px;
  position: absolute;
  top: 21px;
  left: 15px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}

.form-authentication-methods .btn:hover:before {
  animation: back-forth 0.7s ease-in-out forwards;
}

.form-authentication-methods .btn[value="IDPortenOIDCConfig"]:before {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzAiIGhlaWdodD0iMzAiIHZpZXdCb3g9IjAgMCAzMCAzMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTI4LjY1MTcgMEgxLjM0ODI4QzAuNjAzNjQ1IDAgMCAwLjYwMzY0NSAwIDEuMzQ4MjhWMjguNjUxN0MwIDI5LjM5NjQgMC42MDM2NDUgMzAgMS4zNDgyOCAzMEgyOC42NTE3QzI5LjM5NjQgMzAgMzAgMjkuMzk2NCAzMCAyOC42NTE3VjEuMzQ4MjhDMzAgMC42MDM2NDUgMjkuMzk2NCAwIDI4LjY1MTcgMFoiIGZpbGw9IiNEMEQyQ0UiLz4KPHBhdGggZD0iTTEyLjg2MDkgMTkuMTMzMkw5LjEzNzYgMTMuNjg1OUM4Ljc4MDAzIDEyLjgzMTQgOS44MTk5NCAxMi4zOTUxIDkuODkyMTEgMTIuMzczOFYxMS4yMjU2SDQuMzEzNjVWMTYuMTU3OEg0LjMzODI2QzQuNzQzNCAxNi4xNzc1IDQuOTQxODYgMTYuMjg3NCA1LjEzNTQxIDE2LjU4NTlDNS4yNDE3OSAxNi43NDUyIDUuMjk4ODQgMTYuOTMyMyA1LjI5OTQ0IDE3LjEyMzlWMjAuNzQ1NUM1LjMwODQ1IDIwLjg3NiA1LjI5MDAxIDIxLjAwNjggNS4yNDUzIDIxLjEyOTdDNS4yMDA1OSAyMS4yNTI2IDUuMTMwNjEgMjEuMzY0NyA1LjAzOTg3IDIxLjQ1ODhDNC45NDkxNCAyMS41NTMgNC44Mzk2NyAyMS42MjcgNC43MTg1NCAyMS42NzYyQzQuNTk3NCAyMS43MjU0IDQuNDY3MjkgMjEuNzQ4NyA0LjMzNjYyIDIxLjc0NDRINC4zMTIwMVYyNS45ODQ1QzQuMzEzMzEgMjYuMDgwMiA0LjM1MjI0IDI2LjE3MTUgNC40MjAzOSAyNi4yMzg4QzQuNDg4NTQgMjYuMzA2IDQuNTgwNDIgMjYuMzQzNyA0LjY3NjE1IDI2LjM0MzdIOS45MDAzMVYyNS4xOTU1QzkuODAzNTQgMjUuMTU3OCA4Ljg3NjggMjQuNjg3IDkuMzYyMzEgMjMuNzc4M0wxMi44NjkxIDE5LjEzODFMMTIuODYwOSAxOS4xMzMyWiIgZmlsbD0iIzJEMkYzMiIvPgo8cGF0aCBkPSJNMTcuMTM4OCAxOS4xMzMyTDIwLjg2MjIgMTMuNjg1OUMyMS4yMTk4IDEyLjgzMTQgMjAuMTgxNSAxMi4zOTUxIDIwLjEwOTMgMTIuMzczOEgyMC4xMDExVjExLjIyNTZIMjUuNjkxMVYxNi4xNTc4SDI1LjY2NjVDMjUuMjYzIDE2LjE3NzUgMjUuMDYyOSAxNi4yODc0IDI0Ljg2OTMgMTYuNTg1OUMyNC43NjI5IDE2Ljc0NTIgMjQuNzA1OSAxNi45MzIzIDI0LjcwNTMgMTcuMTIzOVYyMC43NDU1QzI0LjY5NjMgMjAuODc2IDI0LjcxNDcgMjEuMDA2OCAyNC43NTk0IDIxLjEyOTdDMjQuODA0MSAyMS4yNTI2IDI0Ljg3NDEgMjEuMzY0NyAyNC45NjQ4IDIxLjQ1ODhDMjUuMDU1NiAyMS41NTMgMjUuMTY1IDIxLjYyNyAyNS4yODYyIDIxLjY3NjJDMjUuNDA3MyAyMS43MjU0IDI1LjUzNzQgMjEuNzQ4NyAyNS42NjgxIDIxLjc0NDRIMjUuNjkyN1YyNS45ODQ1QzI1LjY5MTQgMjYuMDgwMiAyNS42NTI1IDI2LjE3MTUgMjUuNTg0MyAyNi4yMzg4QzI1LjUxNjIgMjYuMzA2IDI1LjQyNDMgMjYuMzQzNyAyNS4zMjg2IDI2LjM0MzdIMjAuMDk2MlYyNS4xOTU1SDIwLjEwNkMyMC4yMDI4IDI1LjE1NzggMjEuMTI5NiAyNC42ODcgMjAuNjQ0IDIzLjc3ODNMMTcuMTM3MiAxOS4xMzgxTDE3LjEzODggMTkuMTMzMloiIGZpbGw9IiMyRDJGMzIiLz4KPHBhdGggZD0iTTI1LjY4NjMgNC44NjM0M0MyNS42ODgxIDQuNTQ2NTggMjUuNTY0IDQuMjQxOTkgMjUuMzQxMyA0LjAxNjU3QzI1LjExODcgMy43OTExNCAyNC44MTU2IDMuNjYzMyAyNC40OTg4IDMuNjYxMTNIMjEuNzM5OVY2LjI4NTUySDE3LjQ2NTRDMTcuNDIwOSA2LjI5MTgxIDE3LjM3NTUgNi4yODc2NSAxNy4zMzI4IDYuMjczMzlDMTcuMjkwMiA2LjI1OTEzIDE3LjI1MTQgNi4yMzUxNCAxNy4yMTk2IDYuMjAzMzNDMTcuMTg3OCA2LjE3MTUyIDE3LjE2MzggNi4xMzI3NSAxNy4xNDk1IDYuMDkwMDhDMTcuMTM1MyA2LjA0NzQyIDE3LjEzMTEgNi4wMDIwMiAxNy4xMzc0IDUuOTU3NDdWMy42NjExM0gxMi44NjI5TDEyLjg3MjggNS45NzA1OUMxMi44NzI4IDYuMTkyMDIgMTIuNzc2IDYuMjkwNDQgMTIuNTU5NSA2LjI5MDQ0SDguMjYwNDFWMy42NjExM0g1LjM2MDQ3QzUuMDY5ODcgMy42OTg0IDQuODAyOTcgMy44NDA3OCA0LjYxMDE3IDQuMDYxMzhDNC40MTczNyA0LjI4MTk4IDQuMzEyMDEgNC41NjU1NCA0LjMxMzk5IDQuODU4NTFWOS4yNDEyM0gyNS42ODYzVjQuODYzNDNaIiBmaWxsPSIjMkQyRjMyIi8+Cjwvc3ZnPgo=);
}

.form-authentication-methods .btn[value="BankIDOIDCConfig"]:before {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzAiIGhlaWdodD0iMzAiIHZpZXdCb3g9IjAgMCAzMCAzMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTI4LjY1MTcgMEgxLjM0ODI4QzAuNjAzNjQ1IDAgMCAwLjYwMzY0NSAwIDEuMzQ4MjhWMjguNjUxN0MwIDI5LjM5NjQgMC42MDM2NDUgMzAgMS4zNDgyOCAzMEgyOC42NTE3QzI5LjM5NjQgMzAgMzAgMjkuMzk2NCAzMCAyOC42NTE3VjEuMzQ4MjhDMzAgMC42MDM2NDUgMjkuMzk2NCAwIDI4LjY1MTcgMFoiIGZpbGw9IiMzOTEzNEMiLz4KPHBhdGggZD0iTTkuMTU1NzcgMTAuMTE3NUg1LjI1OTY3QzQuNzQwMTkgMTAuMTE3NSA0LjI4NTY0IDkuNjYyOTQgNC4yODU2NCA5LjE0MzQ2QzQuMjg1NjQgOC42MjM5OCA0Ljc0MDE5IDguMTY5NDMgNS4yNTk2NyA4LjE2OTQzSDkuMTU1NzdDOS42NzUyNSA4LjE2OTQzIDEwLjEyOTggOC42MjM5OCAxMC4xMjk4IDkuMTQzNDZDMTAuMTI5OCA5LjY2Mjk0IDkuNjc1MjUgMTAuMTE3NSA5LjE1NTc3IDEwLjExNzVaIiBmaWxsPSJ3aGl0ZSIvPgo8cGF0aCBkPSJNOS4xNTU3NyAxNy45MDk1SDUuMjU5NjdDNC43NDAxOSAxNy45MDk1IDQuMjg1NjQgMTcuNDU0OSA0LjI4NTY0IDE2LjkzNTVDNC4yODU2NCAxNi40MTYgNC43NDAxOSAxNS45NjE0IDUuMjU5NjcgMTUuOTYxNEg5LjE1NTc3QzkuNjc1MjUgMTUuOTYxNCAxMC4xMjk4IDE2LjQxNiAxMC4xMjk4IDE2LjkzNTVDMTAuMTI5OCAxNy40NTQ5IDkuNjc1MjUgMTcuOTA5NSA5LjE1NTc3IDE3LjkwOTVaIiBmaWxsPSJ3aGl0ZSIvPgo8cGF0aCBkPSJNOS4xNTU3NyAyMS44MDZINS4yNTk2N0M0Ljc0MDE5IDIxLjgwNiA0LjI4NTY0IDIxLjM1MTQgNC4yODU2NCAyMC44MzE5QzQuMjg1NjQgMjAuMzEyNSA0Ljc0MDE5IDE5Ljg1NzkgNS4yNTk2NyAxOS44NTc5SDkuMTU1NzdDOS42NzUyNSAxOS44NTc5IDEwLjEyOTggMjAuMzEyNSAxMC4xMjk4IDIwLjgzMTlDMTAuMTI5OCAyMS4zNTE0IDkuNjc1MjUgMjEuODA2IDkuMTU1NzcgMjEuODA2WiIgZmlsbD0id2hpdGUiLz4KPHBhdGggZD0iTTE2Ljk0NzggMTQuMDEzNUgxMy4wNTE3QzEyLjUzMjIgMTQuMDEzNSAxMi4wNzc2IDEzLjU1ODkgMTIuMDc3NiAxMy4wMzk1QzEyLjA3NzYgMTIuNTIgMTIuNTMyMiAxMi4wNjU0IDEzLjA1MTcgMTIuMDY1NEgxNi45NDc4QzE3LjQ2NzIgMTIuMDY1NCAxNy45MjE4IDEyLjUyIDE3LjkyMTggMTMuMDM5NUMxNy45MjE4IDEzLjU1ODkgMTcuNDY3MiAxNC4wMTM1IDE2Ljk0NzggMTQuMDEzNVoiIGZpbGw9IndoaXRlIi8+CjxwYXRoIGQ9Ik0xNi45NDc4IDE3LjkwOTVIMTMuMDUxN0MxMi41MzIyIDE3LjkwOTUgMTIuMDc3NiAxNy40NTQ5IDEyLjA3NzYgMTYuOTM1NUMxMi4wNzc2IDE2LjQxNiAxMi41MzIyIDE1Ljk2MTQgMTMuMDUxNyAxNS45NjE0SDE2Ljk0NzhDMTcuNDY3MiAxNS45NjE0IDE3LjkyMTggMTYuNDE2IDE3LjkyMTggMTYuOTM1NUMxNy45MjE4IDE3LjQ1NDkgMTcuNDY3MiAxNy45MDk1IDE2Ljk0NzggMTcuOTA5NVoiIGZpbGw9IndoaXRlIi8+CjxwYXRoIGQ9Ik0yNC43NDAyIDEwLjExNzVIMjAuODQ0MUMyMC4zMjQ3IDEwLjExNzUgMTkuODcwMSA5LjY2Mjk0IDE5Ljg3MDEgOS4xNDM0NkMxOS44NzAxIDguNjIzOTggMjAuMzI0NyA4LjE2OTQzIDIwLjg0NDEgOC4xNjk0M0gyNC43NDAyQzI1LjI1OTcgOC4xNjk0MyAyNS43MTQzIDguNjIzOTggMjUuNzE0MyA5LjE0MzQ2QzI1LjcxNDMgOS42NjI5NCAyNS4yNTk3IDEwLjExNzUgMjQuNzQwMiAxMC4xMTc1WiIgZmlsbD0id2hpdGUiLz4KPHBhdGggZD0iTTI0Ljc0MDIgMTQuMDEzNUgyMC44NDQxQzIwLjMyNDcgMTQuMDEzNSAxOS44NzAxIDEzLjU1ODkgMTkuODcwMSAxMy4wMzk1QzE5Ljg3MDEgMTIuNTIgMjAuMzI0NyAxMi4wNjU0IDIwLjg0NDEgMTIuMDY1NEgyNC43NDAyQzI1LjI1OTcgMTIuMDY1NCAyNS43MTQzIDEyLjUyIDI1LjcxNDMgMTMuMDM5NUMyNS43MTQzIDEzLjU1ODkgMjUuMjU5NyAxNC4wMTM1IDI0Ljc0MDIgMTQuMDEzNVoiIGZpbGw9IndoaXRlIi8+CjxwYXRoIGQ9Ik0yNC43NDAyIDIxLjgwNkgyMC44NDQxQzIwLjMyNDcgMjEuODA2IDE5Ljg3MDEgMjEuMzUxNCAxOS44NzAxIDIwLjgzMTlDMTkuODcwMSAyMC4zMTI1IDIwLjMyNDcgMTkuODU3OSAyMC44NDQxIDE5Ljg1NzlIMjQuNzQwMkMyNS4yNTk3IDE5Ljg1NzkgMjUuNzE0MyAyMC4zMTI1IDI1LjcxNDMgMjAuODMxOUMyNS43MTQzIDIxLjM1MTQgMjUuMjU5NyAyMS44MDYgMjQuNzQwMiAyMS44MDZaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K);
}

.form-authentication-methods .btn[value="VippsConfig"]:before {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzAiIGhlaWdodD0iMzAiIHZpZXdCb3g9IjAgMCAzMCAzMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTI4LjY1MTcgMEgxLjM0ODI4QzAuNjAzNjQ1IDAgMCAwLjYwMzY0NSAwIDEuMzQ4MjhWMjguNjUxN0MwIDI5LjM5NjQgMC42MDM2NDUgMzAgMS4zNDgyOCAzMEgyOC42NTE3QzI5LjM5NjQgMzAgMzAgMjkuMzk2NCAzMCAyOC42NTE3VjEuMzQ4MjhDMzAgMC42MDM2NDUgMjkuMzk2NCAwIDI4LjY1MTcgMFoiIGZpbGw9IiNGRjVCMjQiLz4KPHBhdGggZD0iTTE1LjUwMTMgMTkuNTY5M0MxOC42Mjc0IDE5LjU2OTMgMjAuNDAxNiAxOC4wNDg1IDIyLjA5MTQgMTUuODUxOEMyMy4wMjA4IDE0LjY2OSAyNC4yMDM2IDE0LjQxNTUgMjUuMDQ4NSAxNS4wOTE0QzI1Ljg5MzQgMTUuNzY3MyAyNS45Nzc5IDE3LjAzNDcgMjUuMDQ4NSAxOC4yMTc1QzIyLjU5ODMgMjEuNDI4MSAxOS40NzIzIDIzLjM3MTMgMTUuNTAxMyAyMy4zNzEzQzExLjE5MjQgMjMuMzcxMyA3LjM5MDM5IDIxLjAwNTYgNC43NzEyNCAxNi44NjU3QzQuMDEwODUgMTUuNzY3MyA0LjE3OTgzIDE0LjU4NDUgNS4wMjQ3IDEzLjk5MzFDNS44Njk1OSAxMy40MDE3IDcuMTM2OTIgMTMuNjU1IDcuODk3MzEgMTQuODM4QzkuNzU2MDYgMTcuNjI2MSAxMi4yOTA3IDE5LjU2OTMgMTUuNTAxMyAxOS41NjkzWk0yMS4zMzEgOS4xNzcyM0MyMS4zMzEgMTAuNjk4IDIwLjE0ODIgMTEuNzExOSAxOC43OTYzIDExLjcxMTlDMTcuNDQ0NSAxMS43MTE5IDE2LjI2MTcgMTAuNjk4IDE2LjI2MTcgOS4xNzcyM0MxNi4yNjE3IDcuNjU2NDUgMTcuNDQ0NSA2LjY0MjU4IDE4Ljc5NjMgNi42NDI1OEMyMC4xNDgyIDYuNjQyNTggMjEuMzMxIDcuNzQwOTIgMjEuMzMxIDkuMTc3MjNaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K);
}

.form-authentication-methods .btn > .btn {
  display: none;
}

/* Navigation */

.nav {
  width: 100%;
  background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
  border-radius: 12px;
  padding: 24px;
  padding: 30px 24px !important;
  /* box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08); */
  /* border: 1px solid var(--border-light); */
  position: relative;
  gap: 24px;
}

.nav:before {
  content: "";
  position: absolute;
  left: 40px;
  top: 34px;
  bottom: 34px;
  width: 2px;
  background: linear-gradient(180deg, rgba(0, 80, 158, 0.3) 0%, var(--primary) 20%, var(--primary) 80%, rgba(0, 80, 158, 0.3) 100%);
  border-radius: 1px;
}

.nav li {
  counter-increment: nav-bar-counter;
  position: relative;
  padding-left: 50px;
  margin-bottom: 0px;
  min-height: 34px;
}

.nav li:not(:first-child) {
  margin-top: 0;
}

.nav li:before,
.nav li:not(.active) a:not([href="#"]):before {
  width: 36px;
  height: 36px;
  position: absolute;
  top: 0;
  left: 0;
  border-radius: 50%;
}

.nav li:before {
  content: counter(nav-bar-counter);
  display: flex;
  justify-content: center;
  align-items: center;
  background: linear-gradient(135deg, #fff 0%, #f8f9fa 100%);
  border: 3px solid var(--primary);
  font-weight: 700;
  font-size: 16px;
  line-height: 16px;
  color: var(--primary);
  box-shadow: 0 2px 8px rgba(0, 80, 158, 0.15);
  transition: all 0.3s ease;
}

.nav li.active:before {
  background: linear-gradient(135deg, var(--primary) 0%, var(--accent) 100%);
  color: #fff;
  box-shadow: 0 4px 12px rgba(0, 80, 158, 0.3);
}

.nav li:not(.active) a:not([href="#"]):before {
  content: "";
  background-color: var(--primary);
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0NDggNTEyIiBmaWxsPSIjZmZmZmZmIj48IS0tISBGb250IEF3ZXNvbWUgUHJvIDYuNC4wIGJ5IEBmb250YXdlc29tZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tIExpY2Vuc2UgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbS9saWNlbnNlIChDb21tZXJjaWFsIExpY2Vuc2UpIENvcHlyaWdodCAyMDIzIEZvbnRpY29ucywgSW5jLiAtLT48cGF0aCBkPSJNNDM4LjYgMTA1LjRjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNsLTI1NiAyNTZjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwbC0xMjgtMTI4Yy0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM3MzMi44LTEyLjUgNDUuMyAwTDE2MCAzMzguNyAzOTMuNCAxMDUuNGMxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMHoiLz48L3N2Zz4=);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 46%;
  transition: opacity 0.1s;
}

.nav li:not(.active):hover a:not([href="#"]):before {
  opacity: 0;
}

.nav a {
  display: flex;
  align-items: center;
  gap: 5px;
  font-weight: 500;
  line-height: 1.5;
  color: var(--secondary);
  padding: 0;
  font-size: 18px;
  min-height: 34px;
  transition: all 0.3s ease;
}

.nav a[href="#"] {
  pointer-events: none;
  color: var(--text-light);
}

.nav li.active a {
  color: var(--primary);
  font-weight: 700;
}

.nav li.completed a {
  color: #28a745;
}

/* Respondent navigation */

.respondent-navigation {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}

.respondent-navigation .btn[name="dataDeleteConfirmed"] {
  order: 4;
  background-color: #ff0000;
  border-color: #ff0000;
  color: #fff;
}

.respondent-navigation .btn[name="dataDeleteConfirmed"]:hover {
  background-color: #fff;
  color: #ff0000;
}

.respondent-navigation .btn[name="storeSession"] {
  order: 3;
}

.respondent-navigation .btn[name="showPrev"],
.respondent-navigation .btn[name="showNext"] {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: var(--primary);
  border-color: var(--primary);
}

.respondent-navigation .btn[name="showPrev"]:hover,
.respondent-navigation .btn[name="showNext"]:hover {
  background-color: #fff;
}

.respondent-navigation .btn[name="showPrev"] {
  order: 1;
}

.respondent-navigation .btn[name="showNext"] {
  order: 2;
}

.respondent-navigation .btn[name="showPrev"]:before,
.respondent-navigation .btn[name="showNext"]:after {
  content: "";
  width: 18px;
  height: 18px;
  background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjIiIGhlaWdodD0iMjIiIHZpZXdCb3g9IjAgMCAyMiAyMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTE2LjU2MDYgOS44OTA1NUMxNy4xNDY1IDEwLjUwNDIgMTcuMTQ2NSAxMS41MDA3IDE2LjU2MDYgMTIuMTE0NEw3LjU2MjM5IDIxLjUzOThDNi45NzY1NyAyMi4xNTM0IDYuMDI1MTkgMjIuMTUzNCA1LjQzOTM3IDIxLjUzOThDNC44NTM1NCAyMC45MjYxIDQuODUzNTQgMTkuOTI5NiA1LjQzOTM3IDE5LjMxNkwxMy4zNzg0IDExTDUuNDQ0MDUgMi42ODQwM0M0Ljg1ODIzIDIuMDcwNCA0Ljg1ODIzIDEuMDczODYgNS40NDQwNSAwLjQ2MDIyNUM2LjAyOTg4IC0wLjE1MzQwOCA2Ljk4MTI1IC0wLjE1MzQwOCA3LjU2NzA4IDAuNDYwMjI1TDE2LjU2NTMgOS44ODU2NEwxNi41NjA2IDkuODkwNTVaIiBmaWxsPSIjMDA2OUI0Ii8+Cjwvc3ZnPgo=);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  filter: brightness(0) invert(1);
  transition: transform 0.3s, filter 0.1s;
}

.respondent-navigation .btn[name="showPrev"]:before {
  transform: rotate(180deg);
  margin-right: 10px;
}

.respondent-navigation .btn[name="showPrev"]:hover:before {
  transform: rotate(180deg) translateX(5px);
  filter: unset;
}

.respondent-navigation .btn[name="showNext"]:after {
  margin-left: 10px;
}

.respondent-navigation .btn[name="showNext"]:hover:after {
  transform: translateX(5px);
  filter: unset;
}

/* Structure for form */

form .row {
  margin: 0;
}

form .col,
form .col-1,
form .col-10,
form .col-11,
form .col-12,
form .col-2,
form .col-3,
form .col-4,
form .col-5,
form .col-6,
form .col-7,
form .col-8,
form .col-9,
form .col-auto,
form .col-lg,
form .col-lg-1,
form .col-lg-10,
form .col-lg-11,
form .col-lg-12,
form .col-lg-2,
form .col-lg-3,
form .col-lg-4,
form .col-lg-5,
form .col-lg-6,
form .col-lg-7,
form .col-lg-8,
form .col-lg-9,
form .col-lg-auto,
form .col-md,
form .col-md-1,
form .col-md-10,
form .col-md-11,
form .col-md-12,
form .col-md-2,
form .col-md-3,
form .col-md-4,
form .col-md-5,
form .col-md-6,
form .col-md-7,
form .col-md-8,
form .col-md-9,
form .col-md-auto,
form .col-sm,
form .col-sm-1,
form .col-sm-10,
form .col-sm-11,
form .col-sm-12,
form .col-sm-2,
form .col-sm-3,
form .col-sm-4,
form .col-sm-5,
form .col-sm-6,
form .col-sm-7,
form .col-sm-8,
form .col-sm-9,
form .col-sm-auto,
form .col-xl,
form .col-xl-1,
form .col-xl-10,
form .col-xl-11,
form .col-xl-12,
form .col-xl-2,
form .col-xl-3,
form .col-xl-4,
form .col-xl-5,
form .col-xl-6,
form .col-xl-7,
form .col-xl-8,
form .col-xl-9,
form .col-xl-auto {
  padding: 0;
}

form > .row > .col-sm-3,
form > .row > .col-md-9 {
  -ms-flex: 0 0 100%;
  flex: 0 0 100%;
  max-width: 100%;
}

form > .row > .col-md-9 > .form-group.row {
  display: flex;
}

.form-group:not(:last-child) {
  margin-bottom: 20px !important;
}

form > .row > .col-md-9 > *:not(:last-child),
.groupListContainer > *:not(:last-child) {
  margin-bottom: 40px;
}

.form-row,
.form-group.row {
  margin: 0 -10px;
}

.form-row > * {
  width: 100%;
}

.form-row > .col,
.form-row > [class*="col-"],
.form-group.row > * {
  padding: 0 10px;
}

form > .row > .col-md-9 > .row > .container {
  padding: 0;
}

/* Structure for table */

.table {
  background-color: #f2f5f7;
  border: none;
  border-radius: 15px;
  padding: 10px;
}

.table th,
.table td {
  border: none;
  padding: 20px;
}

.table thead th,
.table-bordered td,
.table-bordered th {
  border: none;
}

.table .container {
  padding: 0;
}

/* Confirmation group */

.question-group.show-layout {
  background-color: #f2f5f7;
  border-radius: 15px;
  padding: 20px;
}

.confirmation-group {
  background-color: #f2f5f7;
  border-radius: 15px;
  overflow: hidden;
}

.confirmation-group:not(:last-child) {
  margin-bottom: 40px;
}

.confirmation-group .confirmation-group,
.confirmation-group .table {
  background-color: #fff;
  border-radius: 15px;
}

.confirmation-group .table {
  margin: 0;
}

.confirmation-group .container {
  padding: 0;
}

.confirmation-group .confirmation-group {
  padding: 20px;
}

.confirmation-group > .container {
  padding: 0 20px 20px;
}

.confirmation-group .row {
  margin: 0 -10px;
}

.confirmation-group .row > * {
  padding: 0 10px;
}

.confirmation-group .page-title-row {
  display: flex;
  justify-content: center;
  background-color: var(--primary);
  color: #fff;
  padding: 15px;
  margin: 0 -20px;
}

.confirmation-group .row:not(:last-child) {
  margin-bottom: 30px;
}

.confirmation-group a {
  color: var(--primary);
}

/* Page title */

.page-title,
.group-title-row span {
  display: flex;
}

.page-title {
  justify-content: space-between;
  align-items: center;
}

.group-title-row span {
  justify-content: flex-end;
  gap: 30px;
}

.group-title-row:not(:last-child),
.group-title:not(:last-child) {
  margin-bottom: 15px;
}

.group-title > * {
  margin: 0 !important;
}

/* Authorization */

.auth-info {
  display: flex;
  align-items: center;
  position: absolute;
  top: 36px;
  right: 15px;
  background-color: #fff;
  border-radius: 3px;
  font-size: 16px;
  line-height: 18px;
  padding: 5px;
}

.auth-info .auth-info-badge {
  height: 18px;
}

.auth-info .auth-info-badge.BANKID {
  background-image: url("img/logos.png");
  background-position: 0 700px;
  height: 20px;
  width: 70px;
}

.auth-info .auth-info-badge.IDPORTEN {
  background-image: url("img/logos.svg");
  background-position: -115px -514px;
  width: 80px;
}

.auth-info .auth-info-badge.VIPPS {
  background-image: url("img/logos.svg");
  background-position: -115px -561px;
  width: 71px;
}

.auth-info .auth-info-badge.BANKID_OIDC {
  background-image: url("img/logos.svg");
  background-position: -115px -514px;
  width: 71px;
}

.auth-info .auth-info-badge.IDPORTEN_OIDC {
  background-image: url("img/logos.svg");
  background-position: -115px -463px;
  width: 71px;
}

.auth-info .auth-info-badge.AZURE_AD {
  background-image: url("img/logos.svg");
  background-position: -115px -613px;
  width: 71px;
}

.workflow-title {
  display: none !important;
}

.workflow-title-top {
  margin-bottom: 30px;
}

.tag-text-center {
  text-align: center;
}

/* Footer */

footer {
  min-height: 65px;
  margin-top: 35px;
}

/* Media queries */

@media screen and (min-width: 576px) {
  .auth-info {
    right: calc((100% - 510px) / 2);
  }
  header {
    max-width: 540px;
    margin: 0 auto;
  }
}

@media screen and (min-width: 768px) {
  .auth-info {
    right: calc((100% - 690px) / 2);
  }
  header {
    max-width: 720px;
  }

  .jumbotron {
    padding: 40px;
  }

  .form-row > * {
    max-width: 50%;
  }

  .respondent-navigation {
    justify-content: space-between;
  }

  .table th,
  .table td {
    padding: 20px 10px;
  }

  .table th:first-child,
  .table td:first-child {
    padding-left: 20px;
  }

  .table th:last-child,
  .table td:last-child {
    padding-right: 20px;
  }

  .table .add-remove-buttons .btn {
    margin: 0 auto;
  }

  .table .add-remove-buttons .btn:not(:last-child) {
    margin-bottom: 20px;
  }
}

@media screen and (min-width: 992px) {
  .auth-info {
    right: 40px;
  }

  body {
    font-size: 20px;
    line-height: 30px;
  }

  small {
    font-size: 18px;
  }

  big {
    font-size: 26px;
  }

  header {
    max-width: 1360px;
    height: 100px;
  }

  header:not(:last-child) {
    margin-bottom: 100px;
  }

  header:before {
    width: 229px;
    height: 56px;
    left: 40px;
  }

  .container {
    max-width: 1360px;
    padding: 0 40px;
  }

  .btn {
    border-radius: 25px;
    font-size: 20px;
    line-height: 30px;
    padding: 8px 32px;
  }

  .respondent-navigation .btn[name="dataDeleteConfirmed"] {
    order: 1;
  }

  .respondent-navigation .btn[name="storeSession"] {
    order: 2;
  }

  .respondent-navigation .btn[name="showPrev"] {
    order: 3;
  }

  .respondent-navigation .btn[name="showNext"] {
    order: 4;
  }

  .jumbotron {
    padding: 80px;
  }

  .jumbotron .form-inline .form-control[name="newReferenceNumber"] {
    height: 64px;
    border-radius: 32px;
    font-size: 20px;
    padding: 0 96px 0 18px;
  }

  .jumbotron .form-inline .btn[name="byPassFrontPage"] {
    width: 64px;
    height: 48px;
    top: 8px;
    right: 16px;
    border-radius: 24px;
  }

  .jumbotron .form-inline .btn[name="byPassFrontPage"]:after {
    width: 22px;
    height: 22px;
  }

  .form-authentication-methods {
    padding: 40px;
  }

  .form-authentication-methods .btn {
    font-size: 22px;
    line-height: 34px;
  }

  form > .row {
    margin: 0 -15px;
  }

  form > .row > * {
    padding: 0 15px;
  }

  form > .row > .col-sm-3 {
    -ms-flex: 0 0 340px;
    flex: 0 0 340px;
    max-width: 340px;
  }
  form > .row > .col-md-9 {
    -ms-flex: 0 0 calc(100% - 340px);
    flex: 0 0 calc(100% - 340px);
    max-width: calc(100% - 340px);
  }

  footer .row.footer > .col-sm-12 {
    -ms-flex: 0 0 calc(100% - 340px);
    flex: 0 0 calc(100% - 340px);
    max-width: calc(100% - 340px);
    margin-left: auto;
  }

  .nav-bar {
    position: sticky;
    top: 100px;
  }

  .nav li {
    padding-left: 49px;
  }

  .nav li:before,
  .nav li:not(.active) a:not([href="#"]):before {
    width: 34px;
    height: 34px;
  }

  .nav li:before {
    font-size: 18px;
    line-height: 18px;
  }

  .nav li:not(:last-child):after {
    left: 13px;
  }

  .group-title-row span {
    gap: 20px;
  }

  .table th,
  .table td {
    padding: 20px 10px;
  }

  .table th:first-child,
  .table td:first-child {
    padding-left: 20px;
  }

  .table th:last-child,
  .table td:last-child {
    padding-right: 20px;
  }

  .respondent-navigation .btn[name="showPrev"] {
    margin-left: auto;
  }

  footer {
    min-height: 90px;
    margin: 70px auto 35px;
  }

  h1 {
    font-size: 40px;
    line-height: 48px;
  }

  h2 {
    font-size: 32px;
    line-height: 42px;
  }

  h3 {
    font-size: 24px;
    line-height: 38px;
  }

  h4 {
    font-size: 22px;
    line-height: 32px;
  }

  h5 {
    font-size: 20px;
    line-height: 30px;
  }

  h6 {
    font-size: 18px;
    line-height: 28px;
  }
}

@media screen and (min-width: 992px) and (max-width: 1199px) {
  .respondent-navigation {
    gap: 10px;
  }

  .respondent-navigation .btn {
    border-radius: 21px;
    font-size: 16px;
    line-height: 26px;
    padding: 6px 16px;
  }

  .respondent-navigation .btn[name="showPrev"]:before,
  .respondent-navigation .btn[name="showNext"]:after {
    width: 14px;
    height: 14px;
  }
}

@media screen and (min-width: 1200px) {
  form > .row > .col-sm-3 {
    -ms-flex: 0 0 400px;
    flex: 0 0 400px;
    max-width: 400px;
  }
  form > .row > .col-md-9 {
    -ms-flex: 0 0 calc(100% - 400px);
    flex: 0 0 calc(100% - 400px);
    max-width: calc(100% - 400px);
  }

  footer .row.footer > .col-sm-12 {
    -ms-flex: 0 0 calc(100% - 400px);
    flex: 0 0 calc(100% - 400px);
    max-width: calc(100% - 400px);
  }

  .nav,
  .question-group.show-layout,
  .confirmation-group .confirmation-group {
    padding: 30px;
  }

  .table th,
  .table td {
    padding: 30px 15px;
  }

  .table th:first-child,
  .table td:first-child {
    padding-left: 30px;
  }

  .table th:last-child,
  .table td:last-child {
    padding-right: 30px;
  }

  .form-row,
  .form-group.row {
    margin: 0 -15px;
  }

  .form-row > .col,
  .form-row > [class*="col-"],
  .form-group.row > * {
    padding: 0 15px;
  }

  .confirmation-group > .container {
    padding: 0 25px 25px;
  }

  .confirmation-group .page-title-row {
    margin: 0 -25px;
  }
}

@media screen and (min-width: 992px) and (max-width: 1199px) {
  .respondent-navigation {
    gap: 10px;
  }

  .respondent-navigation .btn {
    border-radius: 21px;
    font-size: 16px;
    line-height: 26px;
    padding: 6px 16px;
  }

  .respondent-navigation .btn[name="showPrev"]:before,
  .respondent-navigation .btn[name="showNext"]:after {
    width: 14px;
    height: 14px;
  }
}

@media screen and (min-width: 1200px) and (max-width: 1399px) {
  .respondent-navigation {
    gap: 15px;
  }

  .respondent-navigation .btn {
    border-radius: 21px;
    font-size: 18px;
    line-height: 28px;
    padding: 6px 20px;
  }

  .respondent-navigation .btn[name="showPrev"]:before,
  .respondent-navigation .btn[name="showNext"]:after {
    width: 16px;
    height: 16px;
  }
}

@media screen and (min-width: 1400px) {
  .auth-info {
    right: calc((100% - 1280px) / 2);
  }

  form > .row {
    margin: 0 -20px;
  }

  form > .row > * {
    padding: 0 20px;
  }

  form > .row > .col-sm-3 {
    -ms-flex: 0 0 440px;
    flex: 0 0 440px;
    max-width: 440px;
  }
  form > .row > .col-md-9 {
    -ms-flex: 0 0 calc(100% - 440px);
    flex: 0 0 calc(100% - 440px);
    max-width: calc(100% - 440px);
  }

  footer .row.footer > .col-sm-12 {
    -ms-flex: 0 0 calc(100% - 440px);
    flex: 0 0 calc(100% - 440px);
    max-width: calc(100% - 440px);
  }
}

@media screen and (max-width: 991px) {
  form > .row > *:not(:last-child) {
    margin-bottom: 30px;
  }

  .respondent-navigation {
    max-width: 545px;
    margin: 0 auto;
  }

  .respondent-navigation .btn {
    width: 100%;
  }

  .respondent-navigation .btn[name="showPrev"],
  .respondent-navigation .btn[name="showNext"] {
    max-width: calc(50% - 15px);
  }
  .nav {
    gap: 30px;
  }
  .nav li:not(:first-child) {
    margin-top: 0;
  }
  .nav-bar .collapse:not(.show) {
    display: block;
  }
  .nav-bar .collapse:not(.show) li {
    display: none;
  }
  .nav-bar .collapse:not(.show) li.active {
    display: block;
    /* overflow: hidden; */
  }
  .nav li:nth-child(1):before {
    content: "1";
  }
  .nav li:nth-child(2):before {
    content: "2";
  }
  .nav li:nth-child(3):before {
    content: "3";
  }
  .nav li:nth-child(4):before {
    content: "4";
  }
  .nav li:nth-child(5):before {
    content: "5";
  }
  .nav li:nth-child(6):before {
    content: "6";
  }
  .nav li:nth-child(7):before {
    content: "7";
  }
  .nav li:nth-child(8):before {
    content: "8";
  }
  .nav li:nth-child(9):before {
    content: "9";
  }
  .nav li:nth-child(10):before {
    content: "10";
  }
  .nav li:nth-child(11):before {
    content: "11";
  }
  .nav li:nth-child(12):before {
    content: "12";
  }
  .nav li:nth-child(13):before {
    content: "13";
  }
  .nav li:nth-child(14):before {
    content: "14";
  }
  .nav li:nth-child(15):before {
    content: "15";
  }
  .nav li:nth-child(16):before {
    content: "16";
  }
  .nav li:nth-child(17):before {
    content: "17";
  }
  .nav li:nth-child(18):before {
    content: "18";
  }
  .nav li:nth-child(19):before {
    content: "19";
  }
  .nav li:nth-child(20):before {
    content: "20";
  }
  .nav li:nth-child(21):before {
    content: "21";
  }
  .nav li:nth-child(22):before {
    content: "22";
  }
  .nav li:nth-child(23):before {
    content: "23";
  }
  .nav li:nth-child(24):before {
    content: "24";
  }
  .nav li:nth-child(25):before {
    content: "25";
  }
  .nav li:nth-child(26):before {
    content: "26";
  }
  .nav li:nth-child(27):before {
    content: "27";
  }
  .nav li:nth-child(28):before {
    content: "28";
  }
  .nav li:nth-child(29):before {
    content: "29";
  }
  .nav li:nth-child(30):before {
    content: "30";
  }

  .workflow-title-top {
    text-align: center;
  }

  .nav {
    background-color: transparent;
    border-radius: 0;
    padding: 0;
  }

  .nav-bar {
    position: relative;
    overflow: hidden;
    background-color: #f2f5f7;
    border-radius: 15px;
    padding: 0px;
  }

  .nav-bar .navbar-toggler:before {
    content: "";
    display: block;
    width: 24px;
    height: 24px;
    background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iOCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDggMTQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGQ9Ik0zLjk5OTk2IDExLjVMNi4xMjQ5NiA5LjM3NUM2LjQ2OTk2IDkuMDI5OCA3LjAyOTk2IDkuMDI5OCA3LjM3NDk2IDkuMzc1QzcuNzE5OTYgOS43MjAyIDcuNzE5OTYgMTAuMjc5OCA3LjM3NDk2IDEwLjYyNUwzLjk5OTk2IDE0TDAuNjI0OTYxIDEwLjYyNUMwLjI3OTk2MSAxMC4yNzk4IDAuMjc5OTYxIDkuNzIwMiAwLjYyNDk2MSA5LjM3NUMwLjk2OTk2MSA5LjAyOTggMS41Mjk5NiA5LjAyOTggMS44NzQ5NiA5LjM3NUwzLjk5OTk2IDExLjVaIiBmaWxsPSIjMDA2OUI0Ii8+CjxwYXRoIGQ9Ik0zLjk5OTk2IDIuNUwxLjg3NDk2IDQuNjI1QzEuNTI5OTYgNC45NzAyIDAuOTY5OTYxIDQuOTcwMiAwLjYyNDk2MSA0LjYyNUMwLjI3OTk2MSA0LjI3OTggMC4yNzk5NjEgMy43MjAyIDAuNjI0OTYxIDMuMzc1TDMuOTk5OTYgMEw3LjM3NDk2IDMuMzc1QzcuNzE5OTYgMy43MjAyIDcuNzE5OTYgNC4yNzk4IDcuMzc0OTYgNC42MjVDNy4wMjk5NiA0Ljk3MDIgNi40Njk5NiA0Ljk3MDIgNi4xMjQ5NiA0LjYyNUwzLjk5OTk2IDIuNVoiIGZpbGw9IiMwMDY5QjQiLz4KPC9zdmc+Cg==);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
  }

  .nav-bar .navbar-toggler {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    width: 100%;
    height: 94px;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    border: none;
    outline: none;
    padding: 20px;
  }

  /* Modern Layout Improvements */

  .container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
  }

  .container-title {
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
    padding: 40px 0;
    margin-bottom: 40px;
    border-radius: 0 0 20px 20px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    display: none;
  }

  /* .page-title {
    background: #fff;
    padding: 30px;
    border-radius: 12px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    border: 1px solid var(--border-light);
    margin-bottom: 30px;
  } */

  .page-title h2 {
    color: var(--text-dark);
    font-size: 2rem;
    font-weight: 700;
    margin: 0;
    padding-bottom: 20px;
    border-bottom: 2px solid var(--primary);
  }

  .form-group {
    background: #fff;
    padding: 16px;
    border-radius: 6px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
    border: 1px solid var(--border-light);
    margin-bottom: 16px;
    transition: all 0.2s ease;
  }

  .form-group:hover {
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
  }

  .form-group.mandatory {
    border-left: 3px solid var(--primary);
  }

  .plaintext {
    font-size: 14px;
    line-height: 1.5;
    color: var(--text-dark);
    background: #f8f9fa;
    padding: 12px;
    border-radius: 4px;
    border-left: 3px solid var(--accent);
  }

  /* Footer improvements */
  footer {
    background: linear-gradient(135deg, var(--secondary) 0%, #1a1f2a 100%);
    color: #fff;
    padding: 40px 0;
    margin-top: 60px;
    text-align: center;
  }

  /* Responsive improvements */
  @media screen and (max-width: 768px) {
    .container {
      padding: 0 15px;
    }

    .page-title {
      padding: 20px;
    }

    .page-title h2 {
      font-size: 1.5rem;
    }

    .form-group {
      padding: 20px;
    }

    header:after {
      font-size: 1.2rem;
    }
  }

  .nav-bar .navbar-toggler.collapsed:before {
    background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iOCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDggMTQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGQ9Ik0zLjk5OTk2IDNMNi4xMjQ5NiAwLjg3NTAwNEM2LjQ2OTk2IDAuNTI5ODA0IDcuMDI5OTYgMC41Mjk4MDQgNy4zNzQ5NiAwLjg3NTAwNEM3LjcxOTk2IDEuMjIwMiA3LjcxOTk2IDEuNzc5OCA3LjM3NDk2IDIuMTI1TDMuOTk5OTYgNS41TDAuNjI0OTYxIDIuMTI1QzAuMjc5OTYxIDEuNzc5OCAwLjI3OTk2MSAxLjIyMDIgMC42MjQ5NjEgMC44NzUwMDRDMC45Njk5NjEgMC41Mjk4MDQgMS41Mjk5NiAwLjUyOTgwNCAxLjg3NDk2IDAuODc1MDA0TDMuOTk5OTYgM1oiIGZpbGw9IiMwMDY5QjQiLz4KPHBhdGggZD0iTTMuOTk5OTYgMTFMMS44NzQ5NiAxMy4xMjVDMS41Mjk5NiAxMy40NzAyIDAuOTY5OTYxIDEzLjQ3MDIgMC42MjQ5NjEgMTMuMTI1QzAuMjc5OTYxIDEyLjc3OTggMC4yNzk5NjEgMTIuMjIwMiAwLjYyNDk2MSAxMS44NzVMMy45OTk5NiA4LjVMNy4zNzQ5NiAxMS44NzVDNy43MTk5NiAxMi4yMjAyIDcuNzE5OTYgMTIuNzc5OCA3LjM3NDk2IDEzLjEyNUM3LjAyOTk2IDEzLjQ3MDIgNi40Njk5NiAxMy40NzAyIDYuMTI0OTYgMTMuMTI1TDMuOTk5OTYgMTFaIiBmaWxsPSIjMDA2OUI0Ii8+Cjwvc3ZnPgo=);
  }

  .nav-bar .navbar-toggler span {
    display: none;
  }

  .navbar-collapse.show {
    padding-top: 54px;
  }

  .nav li {
    padding-right: 30px;
  }
}

@media screen and (max-width: 767px) {
  table tr {
    display: flex;
    flex-direction: column;
  }

  .form-row > *:not(:last-child) {
    margin-bottom: 30px;
  }

  .form-check-inline {
    display: block;
  }

  .confirmation-group .row > *:not(:first-child) {
    margin-top: 10px;
  }

  .add-remove-buttons {
    display: flex;
    justify-content: flex-end;
    gap: 30px;
  }
  .modal-header .close {
    width: 27px;
    height: 27px;
    position: absolute;
    top: 16px;
    right: 16px;
    margin: 0;
    padding: 0;
  }
}

.question-group.show-layout ~ .question-group.show-layout {
  padding-top: 0;
}

.group-title > h3 {
  display: flex;
  align-items: center;
  gap: 8px;
}

.invalid-feedback {
  margin-left: 0;
  padding: 0;
  margin-top: 0;
}

.question-group.show-layout .question-group.show-layout {
  padding: 0;
}

.select2-container--open .select2-dropdown--below {
  border-bottom-right-radius: 32px;
  border-bottom-left-radius: 32px;
  overflow: hidden;
}

/* ----------------------------------------------------------------------------- */
/* Top navigation and horizontal navbar (ported from skintemplate, recolored)   */

.container.top-navigation {
  max-width: min(64rem, 100%);
  margin-bottom: 40px;
}

.navbar-expand-lg .navbar-collapse .navbar-nav {
  counter-reset: horizontal;
  width: 100%;
  display: flex;
  justify-content: center;
  gap: 10px;
}

.navbar-expand-lg .navbar-collapse .navbar-nav > li {
  counter-increment: horizontal 1;
  flex: 0 0 calc((100% - 40px) / 5);
  position: relative;
}

.navbar-expand-lg .navbar-collapse .navbar-nav > li > .nav-link {
  position: relative;
  display: grid;
  justify-content: center;
  text-align: center;
  font-size: 14px;
  color: rgba(38, 43, 54, 1);
  gap: 8px;
  line-height: 1.6;
  width: 100%;
  text-decoration: none !important;
  font-weight: 700;
}

.navbar-expand-lg .navbar-collapse .navbar-nav > li > .nav-link::before {
  content: "";
  border: 3px solid var(--primary);
  width: 35px;
  height: 35px;
  font-weight: 600;
  border-radius: 50%;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--primary);
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0NDggNTEyIiBmaWxsPSIjZmZmZmZmIj48IS0tISBGb250IEF3ZXNvbWUgUHJvIDYuNC4wIGJ5IEBmb250YXdlc29tZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tIExpY2Vuc2UgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbS9saWNlbnNlIChDb21tZXJjaWFsIExpY2Vuc2UpIENvcHlyaWdodCAyMDIzIEZvbnRpY29ucywgSW5jLiAtLT48cGF0aCBkPSJNNDM4LjYgMTA1LjRjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNsLTI1NiAyNTZjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwbC0xMjgtMTI4Yy0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM3MzMi44LTEyLjUgNDUuMyAwTDE2MCAzMzguNyAzOTMuNCAxMDUuNGMxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMHoiLz48L3N2Zz4=);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 17px;
  line-height: 1 !important;
}

.navbar-expand-lg .navbar-collapse .navbar-nav > li.active ~ li > .nav-link:not(:has(.badge))::before {
  content: counter(horizontal, decimal-leading-zero);
  border: 3px solid rgba(38, 43, 54, 0.5);
  background: none;
}

.navbar-expand-lg .navbar-collapse .navbar-nav > li::after {
  content: "";
  box-shadow: inset 0 0 0 2px var(--primary);
  height: 6px;
  width: calc(100% - 80px);
  box-sizing: border-box;
  border-top: 2px solid transparent;
  border-bottom: 2px solid transparent;
  position: absolute;
  top: 22px;
  left: calc(100% - 50px);
}

.navbar-expand-lg .navbar-collapse .navbar-nav > li.active ~ li:not(:has(.badge))::after {
  content: "";
  box-shadow: inset 0 0 0 2px rgba(38, 43, 54, 0.5);
  height: 6px;
  width: calc(100% - 80px);
  box-sizing: border-box;
  border-top: 2px solid transparent;
  border-bottom: 2px solid transparent;
  position: absolute;
  top: 22px;
  left: calc(100% - 50px);
}

.navbar-expand-lg .navbar-collapse .navbar-nav > li:last-of-type::after {
  display: none;
}

.navbar-expand-lg .navbar-collapse .navbar-nav > li::before {
  content: "";
  border: 3px solid transparent;
  border-left: 6px solid var(--primary);
  position: absolute;
  left: calc(200% - 130px);
  top: 22px;
}

.navbar-expand-lg .navbar-collapse .navbar-nav > li.active ~ li:not(:has(.badge))::before {
  content: "";
  border: 3px solid transparent;
  border-left: 6px solid rgba(38, 43, 54, 0.5);
  position: absolute;
  left: calc(200% - 130px);
  top: 22px;
}

.navbar-expand-lg .navbar-collapse .navbar-nav > li:last-of-type::before {
  display: none;
}

.navbar-expand-lg .navbar-collapse .navbar-nav > li.active > .nav-link {
  color: var(--primary);
}

.navbar-expand-lg .navbar-collapse .navbar-nav > li.active > .nav-link::before {
  border-color: rgba(38, 43, 54, 1);
  background-color: #fff;
}

.navbar-expand-lg .navbar-collapse .navbar-nav > li.active::before {
  border-left: 6px solid rgba(38, 43, 54, 1);
}

.navbar-expand-lg .navbar-collapse .navbar-nav > li.active::after {
  box-shadow: inset 0 0 0 2px rgba(38, 43, 54, 1);
}

.navbar-expand-lg .navbar-collapse .navbar-nav > li.active .nav-link::before {
  content: counter(horizontal, decimal-leading-zero);
  background-image: none;
}

@media screen and (max-width: 991px) {
  .container.top-navigation {
    max-width: 100%;
    padding: 100px 16px 12px 16px !important;
    top: 0;
    left: 0;
    z-index: 100;
  }

  nav.navbar.navbar-expand-lg.navbar-light {
    border: 2px solid rgba(38, 43, 54, 0.1);
    padding: 10px !important;
    max-height: 60px;
    overflow: hidden;
    background-color: #fff;
    border-radius: 12px;
  }

  .navbar-expand-lg .navbar-collapse .navbar-nav {
    gap: 40px;
  }

  .navbar-expand-lg .navbar-collapse .navbar-nav > li > .nav-link {
    background-color: #fff !important;
    padding: 5px 5px 5px;
    grid-template-columns: 30px 1fr;
    align-items: center;
    text-align: left;
    gap: 10px;
    font-size: 14px;
    color: var(--secondary);
  }

  .navbar-expand-lg .navbar-collapse .navbar-nav > li {
    padding-right: 30px;
  }

  .navbar-expand-lg .navbar-collapse .navbar-nav > li > .nav-link::before {
    border-width: 2px !important;
    font-size: 12px;
    width: 30px;
    height: 30px;
  }

  .navbar-expand-lg .navbar-collapse .navbar-nav > li::after {
    width: 2px !important;
    height: 30px !important;
    left: 19px !important;
    top: 45px !important;
  }

  .navbar-collapse.show {
    height: auto !important;
    padding-top: 54px;
    transition: none !important;
  }
}

.navbar-expand-lg .navbar-collapse {
  transition: none !important;
}

/* Small screens: toggler and collapsed menu handling */
@media screen and (max-width: 991px) {
  button.navbar-toggler {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    width: 100%;
    height: 58px;
    position: absolute;
    top: 0;
    right: 10px;
    z-index: 101;
    border: none;
    outline: none;
    /* padding: 20px; */
    background: transparent;
  }

  button.navbar-toggler::before {
    content: "";
    display: block;
    width: 24px;
    height: 24px;
    background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iOCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDggMTQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGQ9Ik0zLjk5OTk2IDExLjVMNi4xMjQ5NiA5LjM3NUM2LjQ2OTk2IDkuMDI5OCA3LjAyOTk2IDkuMDI5OCA3LjM3NDk2IDkuMzc1QzcuNzE5OTYgOS43MjAyIDcuNzE5OTYgMTAuMjc5OCA3LjM3NDk2IDEwLjYyNUwzLjk5OTk2IDE0TDAuNjI0OTYxIDEwLjYyNUMwLjI3OTk2MSAxMC4yNzk4IDAuMjc5OTYxIDkuNzIwMiAwLjYyNDk2MSA5LjM3NUMwLjk2OTk2MSA5LjAyOTggMS41Mjk5NiA5LjAyOTggMS44NzQ5NiA5LjM3NUwzLjk5OTk2IDExLjVaIiBmaWxsPSIjMjYyQjM2Ii8+CjxwYXRoIGQ9Ik0zLjk5OTk2IDIuNUwxLjg3NDk2IDQuNjI1QzEuNTI5OTYgNC45NzAyIDAuOTY5OTYxIDQuOTcwMiAwLjYyNDk2MSA0LjYyNUMwLjI3OTk2MSA0LjI3OTggMC4yNzk5NjEgMy43MjAyIDAuNjI0OTYxIDMuMzc1TDMuOTk5OTYgMEw3LjM3NDk2IDMuMzc1QzcuNzE5OTYgMy43MjAyIDcuNzE5OTYgNC4yNzk4IDcuMzc0OTYgNC42MjVDNy4wMjk5NiA0Ljk3MDIgNi40Njk5NiA0Ljk3MDIgNi4xMjQ5NiA0LjYyNUwzLjk5OTk2IDIuNVoiIGZpbGw9IiMyNjJCMzYiLz4KPC9zdmc+Cg==);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
  }

  button.navbar-toggler.collapsed::before {
    background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iOCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDggMTQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGQ9Ik0zLjk5OTk2IDNMNi4xMjQ5NiAwLjg3NTAwNEM2LjQ2OTk2IDAuNTI5ODA0IDcuMDI5OTYgMC41Mjk4MDQgNy4zNzQ5NiAwLjg3NTAwNEM3LjcxOTk2IDEuMjIwMiA3LjcxOTk2IDEuNzc5OCA3LjM3NDk2IDIuMTI1TDMuOTk5OTYgNS41TDAuNjI0OTYxIDIuMTI1QzAuMjc5OTYxIDEuNzc5OCAwLjI3OTk2MSAxLjIyMDIgMC42MjQ5NjEgMC44NzUwMDRDMC45Njk5NjEgMC41Mjk4MDQgMS41Mjk5NiAwLjUyOTgwNCAxLjg3NDk2IDAuODc1MDA0TDMuOTk5OTYgM1oiIGZpbGw9IiMyNjJCMzYiLz4KPHBhdGggZD0iTTMuOTk5OTYgMTFMMS44NzQ5NiAxMy4xMjVDMS41Mjk5NiAxMy40NzAyIDAuOTY5OTYxIDEzLjQ3MDIgMC42MjQ5NjEgMTMuMTI1QzAuMjc5OTYxIDEyLjc3OTggMC4yNzk5NjEgMTIuMjIwMiAwLjYyNDk2MSAxMS44NzVMMy45OTk5NiA4LjVMNy4zNzQ5NiAxMS44NzVDNy43MTk5NiAxMi4yMjAyIDcuNzE5OTYgMTIuNzc5OCA3LjM3NDk2IDEzLjEyNUM3LjAyOTk2IDEzLjQ3MDIgNi40Njk5NiAxMy40NzAyIDYuMTI0OTYgMTMuMTI1TDMuOTk5OTYgMTFaIiBmaWxsPSIjMjYyQjM2Ii8+Cjwvc3ZnPgo=);
  }

  button.navbar-toggler span {
    display: none;
  }

  button.navbar-toggler[aria-expanded="false"] {
    width: calc(100% - 20px);
  }

  div#navbarTopMenu.collapse:not(.show) {
    display: block;
    height: 40px !important;
  }

  div#navbarTopMenu.collapse:not(.show) .navbar-nav > li {
    order: 2;
  }

  div#navbarTopMenu.collapse:not(.show) .navbar-nav > li.active {
    order: 1;
  }

  div#navbarTopMenu.collapse:not(.show) .navbar-nav > li .nav-link .badge {
    display: none;
  }
}

/* Base navbar layout */
.navbar-expand-lg {
  width: 100%;
}

.navbar-expand-lg .navbar-collapse {
  width: 100%;
  padding: 0;
}

/* Explicit selector for shown state container */
div#navbarTopMenu.collapse.show {
  display: block;
  height: auto !important;
}

/* Ensure list renders when expanded */
div#navbarTopMenu.collapse.show .navbar-nav > li {
  display: block;
}

/* Visual tweaks for expanded state on small screens */
@media screen and (max-width: 991px) {
  /* div#navbarTopMenu.collapse.show {
    background-color: #fff;
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
    margin-top: 10px;
    padding: 10px 0;
  } */

  .navbar-expand-lg .navbar-collapse .navbar-nav > li > .nav-link:has(.badge) {
    margin-bottom: 65px;
  }

  .navbar-expand-lg .navbar-collapse .navbar-nav > li > .nav-link .badge {
    left: 30px;
    width: 310px;
    opacity: 1;
    visibility: visible;
    top: 100%;
  }

  /* When badges exist, extend connector height a bit */
  .navbar-expand-lg .navbar-collapse .navbar-nav > li:has(.badge)::after {
    height: 95px !important;
  }

  /* Expand navbar container height while open or animating */
  nav.navbar.navbar-expand-lg.navbar-light:has(.collapse.show),
  nav.navbar.navbar-expand-lg.navbar-light:has(.collapsing) {
    max-height: max-content;
  }
}