@charset "UTF-8";
.form-success-widget {
  display: block;
  position: relative;
  width: 100%;
  max-width: 768px;
  margin: 0 auto;
  padding: 20px 15px;
  background-color: #FFFFFF;
  border-radius: 20px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.form-success-widget .heading {
  display: block;
  position: relative;
  margin-bottom: 10px;
  font-family: var(--font-family-1), var(--font-family-2), var(--font-family-3), sans-serif;
  font-size: 24px;
  line-height: 36px;
  font-weight: bold;
  letter-spacing: 0.4px;
}
.form-success-widget .icon {
  display: block;
  position: relative;
  margin-bottom: 15px;
  font-size: 50px;
  line-height: 50px;
  text-align: center;
}
.form-success-widget .message {
  display: block;
  position: relative;
  font-family: var(--font-family-2), var(--font-family-3), sans-serif;
  font-size: 16px;
  line-height: 24px;
  font-weight: normal;
  letter-spacing: 0.3px;
}
.form-success-widget .action-container {
  display: block;
  position: relative;
  margin-top: 15px;
}
.form-success-widget .action-container .action {
  font-family: var(--font-family-1), var(--font-family-2), var(--font-family-3), sans-serif;
  font-size: 16px;
  line-height: 25px;
  color: var(--color-light-blue);
  text-decoration: underline;
  cursor: pointer;
}

.cookie-banner {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: var(--viewWidth);
  height: var(--viewHeight);
  z-index: 100000;
  opacity: 1;
}
.cookie-banner:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: linear-gradient(0, rgba(255, 255, 255, 0.4) 0%, rgba(255, 255, 255, 0.4) 0%);
}
.cookie-banner .content {
  display: block;
  position: relative;
  width: calc(100% - 20px);
  max-width: 768px;
  top: 100px;
  margin: 0 auto;
  padding: 20px;
  background-color: #FFFFFF;
  border-radius: 20px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}
.cookie-banner .text {
  display: block;
  position: relative;
  margin: 0 0 15px 0;
  padding: 0;
  font-size: 16px;
  line-height: 24px;
}
.cookie-banner .checkbox-label {
  display: block;
  position: relative;
  padding: 8px 0;
  font-size: 16px;
  line-height: 24px;
  user-select: none;
  cursor: pointer;
}
.cookie-banner .checkbox-label input[type=checkbox] {
  display: inline-block;
  position: relative;
  appearance: none;
  width: 60px;
  height: 30px;
  margin: 0 8px 0 0;
  padding: 0;
  vertical-align: -7px;
  background-color: rgba(var(--color-light-blue), 0.8);
  border: solid 5px transparent;
  border-radius: 20px;
}
.cookie-banner .checkbox-label input[type=checkbox]:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 20px;
  height: 20px;
  background-color: #FFFFFF;
  border-radius: 15px;
  transition: left 50ms ease-in;
}
.cookie-banner .checkbox-label input[type=checkbox]:checked {
  background-color: var(--color-light-blue);
  border-color: var(--color-light-blue);
}
.cookie-banner .checkbox-label input[type=checkbox]:checked:before {
  left: 30px;
  transition: left 50ms ease-in;
}
.cookie-banner .checkbox-label input[type=checkbox]:disabled {
  background-color: var(--color-light-grey);
  border-color: var(--color-light-grey);
}
.cookie-banner .checkbox-label input[type=checkbox]:disabled:checked {
  background-color: var(--color-light-grey);
}
.cookie-banner .action-group {
  display: block;
  position: relative;
  margin: 15px 0 0 0;
  padding: 0;
}
.cookie-banner .action-group .button {
  display: block;
  position: relative;
  padding: 3px 15px 0 15px;
  font-family: var(--font-family-1), var(--font-family-2), var(--font-family-3), sans-serif;
  font-size: 16px;
  line-height: 30px;
  border: none;
  border-radius: 17px;
  cursor: pointer;
  user-select: none;
}
.cookie-banner .action-group .button + .button {
  margin-top: 10px;
}
@media screen and (min-width: 567px) {
  .cookie-banner .action-group .button {
    display: inline-block;
    margin-top: 0;
  }
}

#actionAcceptAllCookies {
  text-decoration: none;
  color: #FFFFFF;
  background-color: var(--color-dark-green);
  border: none;
}

#actionSaveCookieSettings {
  text-decoration: underline;
  color: var(--color-dark-green);
  background-color: #FFFFFF;
}

#actionDenyAllCookies {
  text-decoration: underline;
  color: var(--color-middle-grey);
  background-color: #FFFFFF;
}

@keyframes cookieBannerFadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.simple-credit-calculator {
  display: block;
  position: relative;
  width: 100%;
  max-width: 768px;
  margin: 0 auto;
  padding: 20px;
  background-color: #FFFFFF;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  border-radius: 20px;
}
.simple-credit-calculator .heading {
  display: block;
  position: relative;
  margin: 0 0 20px 0;
  font-family: var(--font-family-1), var(--font-family-2), var(--font-family-3), sans-serif;
  font-size: 25px;
  line-height: 35px;
  text-align: center;
}
.simple-credit-calculator .credit-price-input-container {
  display: block;
  position: relative;
  width: 100%;
  max-width: 200px;
  margin: 0 auto;
  font-size: 20px;
  font-weight: bold;
  text-align: right;
}
.simple-credit-calculator .credit-price-input-container input[type=number] {
  display: inline-block;
  position: relative;
  width: 120px;
  padding: 0 5px 0 0;
  border: none;
  border-bottom: solid 1px #0e1838;
  font-size: 20px;
  line-height: 30px;
  font-weight: bold;
  text-align: right;
}
.simple-credit-calculator .price-tag {
  display: block;
  position: relative;
  width: 300px;
  margin: 0 auto;
  font-style: normal;
  text-align: center;
}
.simple-credit-calculator .price {
  display: inline-block;
  margin: 5px 0;
  padding: 0;
  font-size: 20px;
  line-height: 30px;
  font-weight: bold;
  font-style: normal;
}
.simple-credit-calculator .price-per-credit {
  display: inline-block;
  padding: 0;
  font-size: 16px;
  line-height: 25px;
  font-weight: normal;
  font-style: normal;
}
.simple-credit-calculator .error-message {
  display: none;
  margin-top: 20px;
  text-align: center;
  color: var(--color-red);
}
.simple-credit-calculator .action-button {
  display: block;
  position: relative;
  margin: 20px auto 0 auto;
  color: #FFFFFF;
  background-color: var(--color-light-blue);
  border: none;
}
.simple-credit-calculator .credit-list {
  display: block;
  position: relative;
  margin: 0 auto;
  padding: 0 0 0 calc(45% + 10px);
  width: 100%;
  font-family: var(--font-family-1), var(--font-family-2), var(--font-family-3), sans-serif;
  font-size: 14px;
  line-height: 25px;
}
.simple-credit-calculator .credit-list dt {
  display: block;
  position: absolute;
  margin: 0;
  padding: 0 5px 0 0;
  left: 0;
  top: 0;
  width: 45%;
  text-align: right;
}
.simple-credit-calculator .credit-list dd {
  display: block;
  position: relative;
  margin: 0;
  padding: 0 0 0 5px;
  text-align: left;
}
.simple-credit-calculator .credit-list:first-of-type {
  margin-top: 20px;
}
.simple-credit-calculator .credit-list + .credit-list:before {
  content: "";
  display: block;
  position: absolute;
  top: -1px;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: rgba(0, 0, 0, 0.1);
}
.simple-credit-calculator.has-error .credit-price-input-container {
  color: var(--color-red);
}
.simple-credit-calculator.has-error .price-tag {
  color: var(--color-red);
}
.simple-credit-calculator.has-error .price-per-unit {
  color: var(--color-red);
}
.simple-credit-calculator.has-error .error-message {
  display: block;
}

.job-details {
  display: block;
  position: relative;
  width: 100%;
  max-width: 768px;
  margin: 0 auto;
  padding: 15px 20px;
  background-color: #FFFFFF;
  border-radius: 20px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  user-select: none;
}
.job-details .backdrop-image {
  display: block;
  position: absolute;
  top: -10px;
  left: 50%;
  width: calc(100% + 200px);
  height: calc(100% + 20px);
  max-width: var(--viewWidth);
  transform: translate3d(-50%, 0, 0);
  filter: blur(30px);
  object-fit: cover;
  opacity: 0.5;
  z-index: -1;
}
.job-details h1 {
  margin-top: 15px;
}
.job-details h2 {
  display: block;
  position: relative;
  margin: 20px 0 5px 0;
}
.job-details ul {
  display: block;
  position: relative;
  margin: 0;
  padding: 0;
}
.job-details ul.tag-list {
  margin: 0 -2px;
  width: calc(100% + 4px);
}
.job-details ul.tag-list:after {
  content: "";
  display: block;
  height: 0;
  clear: both;
}
.job-details ul.tag-list li {
  display: block;
  position: relative;
  float: left;
  margin: 2px;
  padding: 4px 8px 2px 8px;
  font-family: var(--font-family-1), var(--font-family-2), var(--font-family-3), sans-serif;
  font-size: 14px;
  line-height: 20px;
  color: var(--color-light-blue);
  border: solid 1px var(--color-light-blue);
  border-radius: 14px;
  background-color: #FFFFFF;
}
.job-details p {
  display: block;
  position: relative;
  margin: 0;
  padding: 0;
  color: #555566;
  font-size: 16px;
  line-height: 24px;
  letter-spacing: 0.3px;
}
.job-details .header {
  display: block;
  position: relative;
  width: 100%;
  min-height: 80px;
  padding: 0 0 0 100px;
  font-style: normal;
}
.job-details .header .company-logo {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 80px;
  height: 80px;
  background-color: #FFFFFF;
  object-fit: cover;
  overflow-clip-margin: unset;
}
.job-details .header .company-name {
  display: block;
  position: relative;
  margin: 0;
  font-family: var(--font-family-1), var(--font-family-2), var(--font-family-3), sans-serif;
  font-size: 14px;
  line-height: 20px;
  font-weight: normal;
}
.job-details .header .company-name .account-link {
  display: block;
  position: relative;
  color: inherit;
  text-decoration: none;
  cursor: pointer;
}
.job-details .header .company-name .account-link:hover {
  text-decoration: underline;
}
.job-details .header .working-location {
  display: block;
  position: relative;
  margin: 5px 0 0 0;
  font-family: var(--font-family-1), var(--font-family-2), var(--font-family-3), sans-serif;
  font-size: 14px;
  line-height: 20px;
  font-weight: normal;
}
.job-details .salary {
  display: block;
  position: relative;
  font-family: var(--font-family-1), var(--font-family-2), var(--font-family-3), sans-serif;
  font-size: 18px;
  line-height: 25px;
  font-weight: normal;
  color: var(--color-light-blue);
  font-style: normal;
}
.job-details .benefit-container {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: center;
  margin: 0;
  padding: 0;
  list-style: none;
}
@media screen and (min-width: 768px) {
  .job-details .benefit-container {
    justify-content: left;
  }
}
.job-details .benefit-container .benefit {
  display: block;
  position: relative;
  width: 140px;
  height: 140px;
  margin: 0;
  padding: 100px 5px 5px 5px;
  font-size: 12px;
  line-height: 15px;
  text-align: center;
  background-color: #FFFFFF;
  border-radius: 20px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.job-details .benefit-container .benefit img {
  display: block;
  position: absolute;
  top: 5px;
  left: 50%;
  width: 90px;
  height: 90px;
  transform: translateX(-50%);
  object-fit: contain;
}
.job-details .job-video {
  display: block;
  position: relative;
  margin: 10px 0 0 0;
  width: 100%;
  max-height: 768px;
}
.job-details .button {
  display: inline-block;
  position: relative;
  padding: 7px 10px 6px 10px;
  font-family: var(--font-family-1), var(--font-family-2), var(--font-family-3), sans-serif;
  font-size: 14px;
  line-height: 20px;
  color: var(--color-dark-blue);
  border: solid 1px var(--color-dark-blue);
  border-radius: 10px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.job-details .button.large {
  display: block;
  width: 100%;
  line-height: 25px;
}
.job-details .button.light-blue {
  color: var(--color-light-blue);
  border-color: var(--color-light-blue);
}
.job-details .button.light-blue-inv {
  color: #FFFFFF;
  background-color: var(--color-light-blue);
  border-color: var(--color-light-blue);
}
.job-details .button.green {
  color: var(--color-dark-green);
  border-color: var(--color-dark-green);
}
.job-details .button.red {
  color: var(--color-red);
  border-color: var(--color-red);
}
.job-details .button.orange {
  color: var(--color-orange);
  border-color: var(--color-orange);
}
.job-details .invalid-ribbon {
  display: block;
  position: absolute;
  top: 50px;
  left: 50%;
  width: 100%;
  max-width: 400px;
  transform: translateX(-50%) rotateZ(-10deg);
  margin: 0;
  padding: 10px 20px 8px 20px;
  font-family: var(--font-family-1), var(--font-family-2), var(--font-family-3), sans-serif;
  font-size: 20px;
  line-height: 30px;
  text-align: center;
  color: var(--color-orange);
  border: solid 3px var(--color-orange);
  border-radius: 10px;
  background-color: #fffaf6;
  z-index: 10;
}
.job-details:has(.invalid-ribbon):after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9;
  background-color: rgba(0, 0, 0, 0.2);
  border-radius: 20px;
}

.newsfeed {
  display: block;
  position: relative;
  width: 100%;
  max-width: 600px;
  margin: 0 auto;
}
.newsfeed .newsfeed-item {
  display: block;
  position: relative;
}
.newsfeed .newsfeed-item + .newsfeed-item {
  margin-top: 20px;
}
.newsfeed .newsfeed-item + .newsfeed-item:before {
  content: "";
  display: block;
  position: absolute;
  top: -20px;
  left: 50%;
  transform: translateX(-50%);
  width: 1px;
  height: 20px;
  background-color: rgba(var(--color-dark-blue), 0.2);
}
@media screen and (min-width: 768px) {
  .newsfeed .newsfeed-item + .newsfeed-item {
    margin-top: 50px;
  }
  .newsfeed .newsfeed-item + .newsfeed-item:before {
    top: -50px;
    height: 50px;
  }
}
.newsfeed .empty-feed {
  display: block;
  position: relative;
  padding: 6px 10px;
}
.newsfeed .empty-feed strong {
  display: block;
  font-size: 16px;
  line-height: 20px;
  font-weight: normal;
  text-align: center;
}
.newsfeed .empty-feed.hidden {
  display: none;
}
.newsfeed .reload-spinner {
  display: block;
  position: relative;
  width: 100%;
  height: 50px;
  opacity: 0;
}
.newsfeed .reload-spinner .icon {
  position: absolute;
  top: 50%;
  left: 50%;
  height: 30px;
  width: 30px;
  transform: translate3d(-50%, -50%, 0);
  font-size: 30px;
  line-height: 30px;
}
.newsfeed .reload-spinner.hidden {
  display: none;
}

.posting {
  display: block;
  position: relative;
}
.posting .wrapper {
  display: block;
  position: relative;
  background-color: #FFFFFF;
  border-radius: 10px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
  overflow: clip;
}
.posting .wrapper .header {
  display: block;
  position: relative;
  padding: 8px 15px 8px 80px;
}
.posting .wrapper .header a {
  display: block;
  position: relative;
  color: inherit;
  text-decoration: none;
  cursor: pointer;
}
.posting .wrapper .header a:hover {
  text-decoration: underline;
}
.posting .wrapper .header .logo {
  display: block;
  position: absolute;
  top: 8px;
  left: 15px;
  width: 46px;
  height: 46px;
  border-radius: 23px;
  object-fit: cover;
}
.posting .wrapper .header .name {
  display: block;
  position: relative;
  font-size: 16px;
  line-height: 25px;
  font-weight: 500;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}
.posting .wrapper .header .publication-date {
  display: block;
  position: relative;
  font-size: 12px;
  line-height: 20px;
  color: #888888;
}
.posting .wrapper .text {
  display: block;
  position: relative;
  padding: 10px 15px;
  font-family: var(--font-family-2), var(--font-family-3), sans-serif;
  font-size: 15px;
  line-height: 20px;
  letter-spacing: 0.1px;
  border-bottom: solid 1px rgba(0, 0, 0, 0.1);
}
.posting .wrapper .text a {
  color: inherit;
}
.posting .wrapper .reference-wrapper {
  display: block;
  position: relative;
}
.posting .wrapper .reference-wrapper .reference-title {
  display: block;
  position: relative;
  width: 100%;
  height: 30px;
  font-family: var(--font-family-1), sans-serif;
  font-size: 18px;
  line-height: 30px;
  font-weight: 500;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}
.posting .wrapper .reference-wrapper .reference-description {
  display: block;
  position: relative;
  width: 100%;
  height: 30px;
  padding: 0;
  margin: 0;
  font-family: var(--font-family-2), sans-serif;
  font-size: 14px;
  line-height: 20px;
  font-weight: 400;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}
.posting .wrapper .reference-wrapper .reference-action {
  display: inline-block;
  position: relative;
  padding: 4px 15px 3px 15px;
  font-family: var(--font-family-1), sans-serif;
  font-size: 16px;
  line-height: 25px;
  font-weight: 500;
  color: var(--color-dark-blue);
  text-decoration: none;
  background-color: rgba(var(--color-light-blue), 0.1);
  border: none;
  border-radius: 5px;
  cursor: pointer;
}
.posting .wrapper .reference-wrapper .reference-info-wrapper {
  display: block;
  position: relative;
  padding: 10px;
  background-color: rgba(var(--color-dark-blue), 0.05);
}
.posting .wrapper .asset {
  display: block;
  position: relative;
  width: 100%;
  max-height: 576px;
  object-fit: cover;
  object-position: center;
}
.posting .wrapper video.asset {
  object-fit: contain;
}
.posting .context-actions {
  display: block;
  position: absolute;
  top: 8px;
  right: 10px;
  z-index: 1;
}
.posting .context-actions .icon {
  display: block;
  width: 25px;
  font-size: 20px;
  line-height: 25px;
  text-align: center;
  cursor: pointer;
}
.posting .context-actions .icon:hover {
  background-color: rgba(0, 0, 0, 0.05);
}
.posting .context-actions .context-menu {
  display: none;
  position: absolute;
  top: 30px;
  right: 0;
  margin: 0;
  padding: 0;
  background-color: #FFFFFF;
  border-radius: 5px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
}
.posting .context-actions .context-menu li {
  list-style: none;
  padding: 3px 10px;
  max-width: 300px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  cursor: pointer;
}
.posting .context-actions .context-menu li:hover {
  background-color: rgba(0, 0, 0, 0.04);
}
.posting .context-actions.open .context-menu {
  display: block;
}

.sale-widget {
  display: block;
  position: relative;
  width: 100%;
  max-width: 768px;
  margin: 0 auto;
  padding: 20px;
  background-color: #FFFFFF;
  border-radius: 20px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.sale-widget .heading {
  display: block;
  position: relative;
  font-family: var(--font-family-1), var(--font-family-2), var(--font-family-3), sans-serif;
  font-size: 20px;
  line-height: 30px;
  font-style: normal;
  font-weight: normal;
  color: var(--color-light-blue);
}
.sale-widget .text {
  display: block;
  position: relative;
  margin: 10px 0 0 0;
  font-size: 16px;
  line-height: 25px;
  font-style: normal;
  font-weight: normal;
}
.sale-widget .text strong {
  color: var(--color-light-blue);
}
.sale-widget .action {
  display: inline-block;
  position: relative;
  margin-top: 20px;
  font-family: var(--font-family-1), var(--font-family-2), var(--font-family-3), sans-serif;
  font-size: 16px;
  line-height: 30px;
  font-weight: normal;
  color: var(--color-light-blue);
  text-decoration: underline;
  cursor: pointer;
}

.form-view {
  display: block;
  position: relative;
}
.form-view .form-content-wrapper {
  display: block;
  position: relative;
  width: 100%;
  max-width: 768px;
  margin: 0 auto;
  padding: 15px;
  background-color: #FFFFFF;
  border-radius: 20px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.form-view .form-row + .form-row {
  margin-top: 25px;
}
.form-view p.error {
  display: block;
  position: relative;
  margin: 10px 0 0 0;
  color: var(--color-red);
}
.form-view p.success {
  display: block;
  position: relative;
  margin: 10px 0 0 0;
  color: var(--color-dark-green);
  animation: ease-in successFadeOut 7000ms;
  animation-fill-mode: forwards;
}
.form-view p.no-display {
  display: none;
}
.form-view .blocker {
  display: none;
}
.form-view.locked .form-content-wrapper {
  overflow: clip;
}
.form-view.locked .form-content-wrapper .form-row {
  filter: blur(2px);
}
.form-view.locked .blocker {
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.6);
}
.form-view.locked .blocker i {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  font-size: 50px;
  line-height: 50px;
  color: #FFFFFF;
}

@keyframes successFadeOut {
  0% {
    opacity: 1;
  }
  90% {
    opacity: 1;
  }
  99.99% {
    opacity: 0;
  }
  100% {
    display: none;
    opacity: 0;
  }
}
:root {
  --bp-sm: 576px;
  --bp-md: 768px;
  --bp-lg: 991px;
  --bp-xl: 1200px;
  --bp-xxl: 1400px;
  --scroll-x: 0;
  --scroll-y: 0;
  --viewHeight: 100vh;
  --viewWidth: 100vw;
  --font-family-1: "EncodeSansExpanded";
  --font-family-2: "NotoSans";
  --font-family-3: Helvetica;
  --color-white: rgb(255, 255, 255);
  --color-light-grey: rgb(200, 200, 200);
  --color-middle-grey: rgb(117, 117, 117);
  --color-black: rgb(0, 0, 0);
  --color-dark-blue: rgb(14, 24, 56);
  --color-light-blue: rgb(41, 69, 162);
  --color-dark-green: rgb(7, 215, 136);
  --color-orange: rgb(255, 174, 85);
  --color-red: rgb(252, 47, 47);
}

body {
  z-index: 0;
  background-color: rgba(42, 72, 169, 0.031372549);
  color: #0E1838;
}

h1 {
  display: block;
  position: relative;
  margin: 0;
  padding: 0;
  font-family: var(--font-family-1), sans-serif;
  font-size: 26px;
  line-height: 40px;
  font-weight: bold;
}

h2 {
  display: block;
  position: relative;
  margin: 0;
  padding: 0;
  font-family: var(--font-family-1), sans-serif;
  font-size: 20px;
  line-height: 30px;
  font-weight: 500;
}

h3, h4, h5, h6, p {
  display: block;
  position: relative;
  margin: 0;
  padding: 0;
  font-family: var(--font-family-2), sans-serif;
  font-size: 16px;
  line-height: 20px;
  font-weight: normal;
}
h3 + p, h4 + p, h5 + p, h6 + p, p + p {
  margin-top: 8px;
}

.hidden {
  visibility: hidden;
}

.visible {
  visibility: visible;
}

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

.margin-top-20 {
  margin-top: 20px;
}

.container {
  display: block;
  position: relative;
  padding: 0 10px;
}
.container .row {
  display: block;
  position: relative;
  width: calc(100% + 10px * 2);
  margin: 0 calc(10px * -1);
}
.container .row:after {
  content: "";
  display: block;
  height: 0;
  clear: both;
}
.container .row .col-1 {
  display: block;
  position: relative;
  padding: 0 10px;
  float: left;
  width: calc((100% / 12) * 1);
}
.container .row .col-2 {
  display: block;
  position: relative;
  padding: 0 10px;
  float: left;
  width: calc((100% / 12) * 2);
}
.container .row .col-3 {
  display: block;
  position: relative;
  padding: 0 10px;
  float: left;
  width: calc((100% / 12) * 3);
}
.container .row .col-4 {
  display: block;
  position: relative;
  padding: 0 10px;
  float: left;
  width: calc((100% / 12) * 4);
}
.container .row .col-5 {
  display: block;
  position: relative;
  padding: 0 10px;
  float: left;
  width: calc((100% / 12) * 5);
}
.container .row .col-6 {
  display: block;
  position: relative;
  padding: 0 10px;
  float: left;
  width: calc((100% / 12) * 6);
}
.container .row .col-7 {
  display: block;
  position: relative;
  padding: 0 10px;
  float: left;
  width: calc((100% / 12) * 7);
}
.container .row .col-8 {
  display: block;
  position: relative;
  padding: 0 10px;
  float: left;
  width: calc((100% / 12) * 8);
}
.container .row .col-9 {
  display: block;
  position: relative;
  padding: 0 10px;
  float: left;
  width: calc((100% / 12) * 9);
}
.container .row .col-10 {
  display: block;
  position: relative;
  padding: 0 10px;
  float: left;
  width: calc((100% / 12) * 10);
}
.container .row .col-11 {
  display: block;
  position: relative;
  padding: 0 10px;
  float: left;
  width: calc((100% / 12) * 11);
}
.container .row .col-12 {
  display: block;
  position: relative;
  padding: 0 10px;
  float: left;
  width: calc((100% / 12) * 12);
}
@media screen and (min-width: 576px) {
  .container .row .col-sm-1 {
    display: block;
    position: relative;
    padding: 0 10px;
    float: left;
    width: calc((100% / 12) * 1);
  }
  .container .row .col-sm-2 {
    display: block;
    position: relative;
    padding: 0 10px;
    float: left;
    width: calc((100% / 12) * 2);
  }
  .container .row .col-sm-3 {
    display: block;
    position: relative;
    padding: 0 10px;
    float: left;
    width: calc((100% / 12) * 3);
  }
  .container .row .col-sm-4 {
    display: block;
    position: relative;
    padding: 0 10px;
    float: left;
    width: calc((100% / 12) * 4);
  }
  .container .row .col-sm-5 {
    display: block;
    position: relative;
    padding: 0 10px;
    float: left;
    width: calc((100% / 12) * 5);
  }
  .container .row .col-sm-6 {
    display: block;
    position: relative;
    padding: 0 10px;
    float: left;
    width: calc((100% / 12) * 6);
  }
  .container .row .col-sm-7 {
    display: block;
    position: relative;
    padding: 0 10px;
    float: left;
    width: calc((100% / 12) * 7);
  }
  .container .row .col-sm-8 {
    display: block;
    position: relative;
    padding: 0 10px;
    float: left;
    width: calc((100% / 12) * 8);
  }
  .container .row .col-sm-9 {
    display: block;
    position: relative;
    padding: 0 10px;
    float: left;
    width: calc((100% / 12) * 9);
  }
  .container .row .col-sm-10 {
    display: block;
    position: relative;
    padding: 0 10px;
    float: left;
    width: calc((100% / 12) * 10);
  }
  .container .row .col-sm-11 {
    display: block;
    position: relative;
    padding: 0 10px;
    float: left;
    width: calc((100% / 12) * 11);
  }
  .container .row .col-sm-12 {
    display: block;
    position: relative;
    padding: 0 10px;
    float: left;
    width: calc((100% / 12) * 12);
  }
}
@media screen and (min-width: 768px) {
  .container .row .col-md-1 {
    display: block;
    position: relative;
    padding: 0 10px;
    float: left;
    width: calc((100% / 12) * 1);
  }
  .container .row .col-md-2 {
    display: block;
    position: relative;
    padding: 0 10px;
    float: left;
    width: calc((100% / 12) * 2);
  }
  .container .row .col-md-3 {
    display: block;
    position: relative;
    padding: 0 10px;
    float: left;
    width: calc((100% / 12) * 3);
  }
  .container .row .col-md-4 {
    display: block;
    position: relative;
    padding: 0 10px;
    float: left;
    width: calc((100% / 12) * 4);
  }
  .container .row .col-md-5 {
    display: block;
    position: relative;
    padding: 0 10px;
    float: left;
    width: calc((100% / 12) * 5);
  }
  .container .row .col-md-6 {
    display: block;
    position: relative;
    padding: 0 10px;
    float: left;
    width: calc((100% / 12) * 6);
  }
  .container .row .col-md-7 {
    display: block;
    position: relative;
    padding: 0 10px;
    float: left;
    width: calc((100% / 12) * 7);
  }
  .container .row .col-md-8 {
    display: block;
    position: relative;
    padding: 0 10px;
    float: left;
    width: calc((100% / 12) * 8);
  }
  .container .row .col-md-9 {
    display: block;
    position: relative;
    padding: 0 10px;
    float: left;
    width: calc((100% / 12) * 9);
  }
  .container .row .col-md-10 {
    display: block;
    position: relative;
    padding: 0 10px;
    float: left;
    width: calc((100% / 12) * 10);
  }
  .container .row .col-md-11 {
    display: block;
    position: relative;
    padding: 0 10px;
    float: left;
    width: calc((100% / 12) * 11);
  }
  .container .row .col-md-12 {
    display: block;
    position: relative;
    padding: 0 10px;
    float: left;
    width: calc((100% / 12) * 12);
  }
}
@media screen and (min-width: 991px) {
  .container .row .col-lg-1 {
    display: block;
    position: relative;
    padding: 0 10px;
    float: left;
    width: calc((100% / 12) * 1);
  }
  .container .row .col-lg-2 {
    display: block;
    position: relative;
    padding: 0 10px;
    float: left;
    width: calc((100% / 12) * 2);
  }
  .container .row .col-lg-3 {
    display: block;
    position: relative;
    padding: 0 10px;
    float: left;
    width: calc((100% / 12) * 3);
  }
  .container .row .col-lg-4 {
    display: block;
    position: relative;
    padding: 0 10px;
    float: left;
    width: calc((100% / 12) * 4);
  }
  .container .row .col-lg-5 {
    display: block;
    position: relative;
    padding: 0 10px;
    float: left;
    width: calc((100% / 12) * 5);
  }
  .container .row .col-lg-6 {
    display: block;
    position: relative;
    padding: 0 10px;
    float: left;
    width: calc((100% / 12) * 6);
  }
  .container .row .col-lg-7 {
    display: block;
    position: relative;
    padding: 0 10px;
    float: left;
    width: calc((100% / 12) * 7);
  }
  .container .row .col-lg-8 {
    display: block;
    position: relative;
    padding: 0 10px;
    float: left;
    width: calc((100% / 12) * 8);
  }
  .container .row .col-lg-9 {
    display: block;
    position: relative;
    padding: 0 10px;
    float: left;
    width: calc((100% / 12) * 9);
  }
  .container .row .col-lg-10 {
    display: block;
    position: relative;
    padding: 0 10px;
    float: left;
    width: calc((100% / 12) * 10);
  }
  .container .row .col-lg-11 {
    display: block;
    position: relative;
    padding: 0 10px;
    float: left;
    width: calc((100% / 12) * 11);
  }
  .container .row .col-lg-12 {
    display: block;
    position: relative;
    padding: 0 10px;
    float: left;
    width: calc((100% / 12) * 12);
  }
}
@media screen and (min-width: 1200px) {
  .container .row .col-xl-1 {
    display: block;
    position: relative;
    padding: 0 10px;
    float: left;
    width: calc((100% / 12) * 1);
  }
  .container .row .col-xl-2 {
    display: block;
    position: relative;
    padding: 0 10px;
    float: left;
    width: calc((100% / 12) * 2);
  }
  .container .row .col-xl-3 {
    display: block;
    position: relative;
    padding: 0 10px;
    float: left;
    width: calc((100% / 12) * 3);
  }
  .container .row .col-xl-4 {
    display: block;
    position: relative;
    padding: 0 10px;
    float: left;
    width: calc((100% / 12) * 4);
  }
  .container .row .col-xl-5 {
    display: block;
    position: relative;
    padding: 0 10px;
    float: left;
    width: calc((100% / 12) * 5);
  }
  .container .row .col-xl-6 {
    display: block;
    position: relative;
    padding: 0 10px;
    float: left;
    width: calc((100% / 12) * 6);
  }
  .container .row .col-xl-7 {
    display: block;
    position: relative;
    padding: 0 10px;
    float: left;
    width: calc((100% / 12) * 7);
  }
  .container .row .col-xl-8 {
    display: block;
    position: relative;
    padding: 0 10px;
    float: left;
    width: calc((100% / 12) * 8);
  }
  .container .row .col-xl-9 {
    display: block;
    position: relative;
    padding: 0 10px;
    float: left;
    width: calc((100% / 12) * 9);
  }
  .container .row .col-xl-10 {
    display: block;
    position: relative;
    padding: 0 10px;
    float: left;
    width: calc((100% / 12) * 10);
  }
  .container .row .col-xl-11 {
    display: block;
    position: relative;
    padding: 0 10px;
    float: left;
    width: calc((100% / 12) * 11);
  }
  .container .row .col-xl-12 {
    display: block;
    position: relative;
    padding: 0 10px;
    float: left;
    width: calc((100% / 12) * 12);
  }
}
@media screen and (min-width: 1400px) {
  .container .row .col-el-1 {
    display: block;
    position: relative;
    padding: 0 10px;
    float: left;
    width: calc((100% / 12) * 1);
  }
  .container .row .col-el-2 {
    display: block;
    position: relative;
    padding: 0 10px;
    float: left;
    width: calc((100% / 12) * 2);
  }
  .container .row .col-el-3 {
    display: block;
    position: relative;
    padding: 0 10px;
    float: left;
    width: calc((100% / 12) * 3);
  }
  .container .row .col-el-4 {
    display: block;
    position: relative;
    padding: 0 10px;
    float: left;
    width: calc((100% / 12) * 4);
  }
  .container .row .col-el-5 {
    display: block;
    position: relative;
    padding: 0 10px;
    float: left;
    width: calc((100% / 12) * 5);
  }
  .container .row .col-el-6 {
    display: block;
    position: relative;
    padding: 0 10px;
    float: left;
    width: calc((100% / 12) * 6);
  }
  .container .row .col-el-7 {
    display: block;
    position: relative;
    padding: 0 10px;
    float: left;
    width: calc((100% / 12) * 7);
  }
  .container .row .col-el-8 {
    display: block;
    position: relative;
    padding: 0 10px;
    float: left;
    width: calc((100% / 12) * 8);
  }
  .container .row .col-el-9 {
    display: block;
    position: relative;
    padding: 0 10px;
    float: left;
    width: calc((100% / 12) * 9);
  }
  .container .row .col-el-10 {
    display: block;
    position: relative;
    padding: 0 10px;
    float: left;
    width: calc((100% / 12) * 10);
  }
  .container .row .col-el-11 {
    display: block;
    position: relative;
    padding: 0 10px;
    float: left;
    width: calc((100% / 12) * 11);
  }
  .container .row .col-el-12 {
    display: block;
    position: relative;
    padding: 0 10px;
    float: left;
    width: calc((100% / 12) * 12);
  }
}
@media screen and (min-width: 1920px) {
  .container .row .col-exl-1 {
    display: block;
    position: relative;
    padding: 0 10px;
    float: left;
    width: calc((100% / 12) * 1);
  }
  .container .row .col-exl-2 {
    display: block;
    position: relative;
    padding: 0 10px;
    float: left;
    width: calc((100% / 12) * 2);
  }
  .container .row .col-exl-3 {
    display: block;
    position: relative;
    padding: 0 10px;
    float: left;
    width: calc((100% / 12) * 3);
  }
  .container .row .col-exl-4 {
    display: block;
    position: relative;
    padding: 0 10px;
    float: left;
    width: calc((100% / 12) * 4);
  }
  .container .row .col-exl-5 {
    display: block;
    position: relative;
    padding: 0 10px;
    float: left;
    width: calc((100% / 12) * 5);
  }
  .container .row .col-exl-6 {
    display: block;
    position: relative;
    padding: 0 10px;
    float: left;
    width: calc((100% / 12) * 6);
  }
  .container .row .col-exl-7 {
    display: block;
    position: relative;
    padding: 0 10px;
    float: left;
    width: calc((100% / 12) * 7);
  }
  .container .row .col-exl-8 {
    display: block;
    position: relative;
    padding: 0 10px;
    float: left;
    width: calc((100% / 12) * 8);
  }
  .container .row .col-exl-9 {
    display: block;
    position: relative;
    padding: 0 10px;
    float: left;
    width: calc((100% / 12) * 9);
  }
  .container .row .col-exl-10 {
    display: block;
    position: relative;
    padding: 0 10px;
    float: left;
    width: calc((100% / 12) * 10);
  }
  .container .row .col-exl-11 {
    display: block;
    position: relative;
    padding: 0 10px;
    float: left;
    width: calc((100% / 12) * 11);
  }
  .container .row .col-exl-12 {
    display: block;
    position: relative;
    padding: 0 10px;
    float: left;
    width: calc((100% / 12) * 12);
  }
}

.root-container {
  display: block;
  position: relative;
  width: 100%;
  max-width: 1420px;
  padding: 0 10px;
  margin: 0 auto;
}
.root-container > .root-row {
  display: block;
  position: relative;
  width: calc(100% + 20px);
  margin: 0 -10px;
}
.root-container > .root-row:after {
  content: "";
  display: block;
  height: 0;
  clear: both;
}
.root-container > .root-row > .root-col {
  display: block;
  position: relative;
  float: left;
  width: 100%;
  padding: 0 10px;
}
.root-container > .root-row > [class="r-col-*"] {
  display: block;
  position: relative;
  padding: 0 12;
  float: left;
  width: calc((100% / 12) * 12);
}

.button-group {
  display: block;
  position: relative;
}
.button-group:after {
  content: "";
  display: block;
  clear: both;
  height: 0;
}
.button-group .button {
  display: block;
  position: relative;
  padding: 10px 15px 8px 38px;
  width: 100%;
  font-family: var(--font-family-1), sans-serif;
  font-size: 14px;
  line-height: 20px;
  font-weight: 600;
  color: var(--color-light-blue);
  border: solid 1px var(--color-light-blue);
  border-radius: 20px;
  background-color: #FFFFFF;
  text-decoration: none;
}
.button-group .button .icon {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  height: 38px;
  width: 38px;
  font-size: 16px;
  line-height: 38px;
  text-align: center;
}
.button-group .button + .button {
  margin-top: 10px;
}
.button-group .button.disabled {
  border-color: #AAAAAA;
  color: #AAAAAA;
  background-color: #FAFAFA;
  cursor: not-allowed;
}
@media screen and (min-width: 768px) {
  .button-group .button {
    display: block;
    position: relative;
    padding: 0 auto;
    float: left;
    width: auto;
  }
  .button-group .button + .button {
    margin-top: 0;
    margin-left: 10px;
  }
}

.button {
  display: inline-block;
  position: relative;
  padding: 9px 15px 7px 15px;
  font-family: var(--font-family-1), sans-serif;
  font-size: 14px;
  line-height: 20px;
  font-weight: 600;
  color: var(--color-light-blue);
  background-color: #FFFFFF;
  border: solid 1px var(--color-light-blue);
  border-radius: 20px;
  cursor: pointer;
}

.category-switch-input {
  display: block;
  position: relative;
  margin-top: 8px;
  padding: 10px;
  background-color: #FFFFFF;
  border: solid 1px var(--color-light-grey);
  border-radius: 10px;
}
.category-switch-input.error {
  border-color: var(--color-red);
  background-color: var(--color-bg-red-light);
}
.category-switch-input .category-button-group {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: stretch;
  align-content: flex-start;
  gap: 10px;
  position: relative;
}
.category-switch-input .category-button-group.display-none {
  display: none;
}
.category-switch-input .category-button-group .category-button {
  display: block;
  position: relative;
  padding: 10px 10px 10px 33px;
  flex-basis: 100%;
  font-family: var(--font-family-1), var(--font-family-2), var(--font-family-3), sans-serif;
  font-size: 16px;
  line-height: 20px;
  color: var(--color-dark-blue);
  text-align: left;
  background-color: #FFFFFF;
  border: solid 1px var(--color-light-grey);
  border-radius: 10px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  cursor: pointer;
}
@media screen and (min-width: 768px) {
  .category-switch-input .category-button-group .category-button {
    flex-basis: auto;
  }
}
.category-switch-input .category-button-group .category-button .icon {
  display: block;
  position: absolute;
  top: 50%;
  left: 7px;
  width: 16px;
  height: 16px;
  transform: translateY(-50%);
  font-size: 16px;
  line-height: 16px;
}
.category-switch-input .action-back-to-category {
  position: relative;
  font-family: var(--font-family-1), var(--font-family-2), var(--font-family-3), sans-serif;
  font-size: 14px;
  line-height: 20px;
  color: var(--color-light-blue);
  text-decoration: none;
}
.category-switch-input .category-container {
  display: none;
  padding-top: 5px;
}
.category-switch-input .category-container.selected {
  display: block;
}
.category-switch-input > p.error {
  display: block;
  margin-top: 8px;
  color: var(--color-red);
}
.category-switch-input > p.error.no-display {
  display: none;
}

.checkbox-input {
  display: block;
  position: relative;
  margin-top: 8px;
  padding: 0 0 0 30px;
}
.checkbox-input input[type=checkbox] {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 18px;
  height: 18px;
  padding: 0;
  margin: 0;
}
.checkbox-input.error {
  color: var(--color-red);
}
.checkbox-input .checkbox-error {
  display: block;
  position: relative;
  margin: 8px 0 8px 0;
  padding: 0;
  color: var(--color-red);
}
.checkbox-input .checkbox-error.hidden {
  display: none;
  margin: 0;
}

.item-input {
  display: block;
  position: relative;
  margin-top: 8px;
  z-index: 1;
}
.item-input .item-group {
  display: block;
  position: relative;
  z-index: 2;
  padding: 4px 4px 0 4px;
  background-color: #FFFFFF;
  border: solid 1px var(--color-light-grey);
  border-radius: 22px;
}
.item-input .item-group:after {
  content: "";
  display: block;
  height: 0;
  clear: both;
}
.item-input .item-group .item {
  display: block;
  position: relative;
  float: left;
  font-family: var(--font-family-1), var(--font-family-2), var(--font-family-3), sans-serif;
  font-size: 14px;
  line-height: 20px;
  color: var(--color-light-blue);
  background-color: #FFFFFF;
  border: solid 1px var(--color-light-blue);
  border-radius: 18px;
  cursor: pointer;
  margin: 0 8px 4px 0;
  padding: 5px 30px 3px 15px;
}
.item-input .item-group .item .icon {
  display: block;
  position: absolute;
  right: 4px;
  top: 50%;
  transform: translateY(-50%);
  width: 22px;
  height: 22px;
  font-size: 18px;
  line-height: 22px;
  text-align: center;
}
.item-input .item-group input {
  display: block;
  position: relative;
  float: left;
  width: 100%;
  margin: 0 8px 4px 0;
  padding: 5px 12px;
  font-family: var(--font-family-1), sans-serif;
  font-size: 14px;
  line-height: 20px;
  border: none;
  border-radius: 16px;
}
.item-input .item-group input:focus, .item-input .item-group input:focus-visible {
  border-color: var(--color-light-blue);
  outline-color: var(--color-light-blue);
}
.item-input .item-container {
  display: none;
  position: relative;
  width: 100%;
  z-index: 0;
  margin: -21px 0 0 0;
  padding: 27px 4px 0 4px;
  background-color: #FFFFFF;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  border: solid 1px var(--color-light-grey);
  border-radius: 0 0 22px 22px;
}
.item-input .item-container:after {
  content: "";
  display: block;
  height: 0;
  clear: both;
}
.item-input .item-container.visible {
  display: block;
}
.item-input .item-container .item {
  display: block;
  position: relative;
  float: left;
  font-family: var(--font-family-1), var(--font-family-2), var(--font-family-3), sans-serif;
  font-size: 14px;
  line-height: 20px;
  color: var(--color-light-blue);
  background-color: #FFFFFF;
  border: solid 1px var(--color-light-blue);
  border-radius: 18px;
  cursor: pointer;
  margin: 0 8px 8px 0;
  padding: 6px 15px 4px 15px;
  font-family: var(--font-family-1), var(--font-family-2), var(--font-family-3), sans-serif;
  font-size: 14px;
  line-height: 20px;
}
.item-input .item-container .item.hidden {
  display: none;
}
.item-input.error .item-group {
  border-color: var(--color-red);
  background-color: var(--color-bg-red-light);
}
.item-input.error .item-group input:focus, .item-input.error .item-group input:focus-visible {
  border-color: var(--color-red);
  outline-color: var(--color-red);
}
.item-input.error .item-container {
  background-color: var(--color-bg-red-light);
  border-color: var(--color-red);
}
.item-input .input-error {
  display: block;
  margin-top: 5px;
  font-size: 16px;
  line-height: 20px;
  color: var(--color-red);
}

.popup-select-input {
  display: block;
  position: relative;
  margin: 8px 0 0 0;
}
.popup-select-input .item-group {
  display: block;
  position: relative;
  width: 100%;
  padding: 4px 4px 0 4px;
  background-color: #FFFFFF;
  border: solid 1px var(--color-light-grey);
  border-radius: 19px;
}
.popup-select-input .item-group:after {
  content: "";
  display: block;
  clear: both;
  height: 0;
}
.popup-select-input .item-group .item {
  display: block;
  position: relative;
  float: left;
  margin: 0 4px 4px 0;
  padding: 5px 30px 3px 15px;
  font-family: var(--font-family-1), var(--font-family-2), var(--font-family-3), sans-serif;
  font-size: 14px;
  line-height: 20px;
  color: var(--color-light-blue);
  border: solid 1px var(--color-light-blue);
  border-radius: 16px;
  cursor: pointer;
}
.popup-select-input .item-group .item .icon {
  display: block;
  position: absolute;
  right: 4px;
  top: 50%;
  transform: translateY(-50%);
  width: 22px;
  height: 22px;
  font-size: 18px;
  line-height: 22px;
  text-align: center;
}
.popup-select-input .item-group .handle {
  display: block;
  position: relative;
  float: left;
  margin: 0 4px 4px 0;
  padding: 5px 15px 3px 15px;
  font-family: var(--font-family-1), var(--font-family-2), var(--font-family-3), sans-serif;
  font-size: 14px;
  line-height: 20px;
  color: var(--color-middle-grey);
  cursor: pointer;
}
.popup-select-input .item-popup {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  max-height: 300px;
  z-index: 100;
  margin-bottom: 50px;
  padding: 4px;
  overflow: hidden;
  background-color: #FFFFFF;
  border: solid 1px var(--color-light-grey);
  border-radius: 10px;
  box-shadow: 0 4px 6px 4px rgba(0, 0, 0, 0.1);
}
.popup-select-input .item-popup.open {
  display: block;
}
.popup-select-input .item-popup .blocker {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background-color: rgba(0, 0, 0, 0.02);
}
.popup-select-input .item-popup .close {
  display: block;
  position: absolute;
  top: 9px;
  right: 10px;
  width: 30px;
  height: 30px;
  font-size: 20px;
  line-height: 30px;
  text-align: center;
  background-color: #FFFFFF;
  border-radius: 10px;
  cursor: pointer;
}
.popup-select-input .item-popup ul {
  display: block;
  position: relative;
  max-height: 280px;
  overflow: scroll;
  overscroll-behavior: none;
  margin: 0;
  padding: 0;
  background-color: #FFFFFF;
}
.popup-select-input .item-popup ul li {
  display: block;
  position: relative;
  margin: 0 0 5px 0;
  padding: 10px 30px;
  font-family: var(--font-family-1), var(--font-family-2), var(--font-family-3), sans-serif;
  font-size: 14px;
  line-height: 20px;
  border: solid 1px var(--color-light-grey);
  border-radius: 10px;
  cursor: pointer;
}
.popup-select-input .item-popup ul li:before {
  content: "\f111";
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  height: 30px;
  width: 30px;
  transform: translateY(-50%);
  font-family: "Font Awesome 6 Pro";
  font-size: 20px;
  line-height: 30px;
  font-weight: 300;
  text-align: center;
}
.popup-select-input .item-popup ul li.selected:before {
  content: "\f058";
  font-weight: 400;
}
.popup-select-input .item-popup ul li:last-of-type {
  margin: 0;
}
.popup-select-input.error .item-group {
  border-color: var(--color-red);
}
.popup-select-input.error .item-group .handle {
  color: var(--color-red);
}
.popup-select-input.unselectable .handle {
  display: none;
  color: rgba(var(--color-middle-grey), 0.5);
  cursor: not-allowed;
}
.popup-select-input p.error {
  display: block;
  position: relative;
  margin-top: 5px;
  color: var(--color-red);
}

div.select-input {
  display: block;
  position: relative;
  margin-top: 8px;
}
div.select-input:after {
  content: "";
  display: block;
  position: absolute;
  top: 14px;
  right: 14px;
  width: 8px;
  height: 8px;
  border-left: solid 2px var(--color-dark-blue);
  border-bottom: solid 2px var(--color-dark-blue);
  transform: rotateZ(-45deg);
}
div.select-input.error:after {
  border-color: var(--color-red);
}
div.select-input.error select {
  border-color: var(--color-red);
  color: var(--color-red);
}
div.select-input select {
  appearance: none;
  -webkit-appearance: none;
  display: block;
  position: relative;
  width: 100%;
  padding: 8px 24px;
  border-radius: 19px;
  font-family: var(--font-family-1), sans-serif;
  font-size: 14px;
  line-height: 20px;
  color: var(--color-dark-blue);
  background-color: #FFFFFF;
  border: solid 1px var(--color-light-grey);
}
div.select-input .error {
  display: block;
  position: relative;
  margin: 5px 0 0 0;
  color: var(--color-red);
}

.textarea-input {
  display: block;
  position: relative;
  width: 100%;
  margin-top: 8px;
}
.textarea-input textarea {
  display: block;
  position: relative;
  width: 100%;
  min-width: 100%;
  max-width: 100%;
  min-height: 100px;
  margin: 0;
  padding: 8px 24px;
  font-family: var(--font-family-1), sans-serif;
  font-size: 14px;
  line-height: 20px;
  border: solid 1px var(--color-light-grey);
  border-radius: 24px;
}
.textarea-input textarea:focus, .textarea-input textarea:focus-visible {
  border-color: var(--color-light-blue);
  outline-color: var(--color-light-blue);
}
.textarea-input textarea + .input-error {
  display: block;
  margin-top: 5px;
  font-size: 16px;
  line-height: 20px;
  color: var(--color-red);
}
.textarea-input.error textarea {
  border-color: var(--color-red);
  background-color: var(--color-bg-red-light);
}
.textarea-input.error textarea:focus, .textarea-input.error textarea:focus-visible {
  border-color: var(--color-red);
  outline-color: var(--color-red);
}

div.text-input {
  display: block;
  position: relative;
  width: 100%;
  margin-top: 8px;
}
div.text-input input {
  display: block;
  position: relative;
  width: 100%;
  font-family: var(--font-family-1), sans-serif;
  font-size: 14px;
  line-height: 20px;
  padding: 8px 24px;
  background-color: #FFFFFF;
  border: solid 1px #C8C8C8;
  border-radius: 5px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
  font-family: var(--font-family-1), sans-serif;
  font-size: 14px;
  line-height: 20px;
  background-color: #FFFFFF;
  border: solid 1px var(--color-light-grey);
  border-radius: 22px;
}
div.text-input input:focus, div.text-input input:focus-visible {
  border-color: var(--color-light-blue);
  outline-color: var(--color-light-blue);
}
div.text-input input + .input-error {
  display: block;
  margin-top: 5px;
  font-size: 16px;
  line-height: 20px;
  color: var(--color-red);
}
div.text-input input + .input-error.hidden {
  display: none;
}
div.text-input.error input {
  border-color: var(--color-red);
  background-color: var(--color-bg-red-light);
}
div.text-input.error input:focus, div.text-input.error input:focus-visible {
  border-color: var(--color-red);
  outline-color: var(--color-red);
}

.zip-code-town-input {
  display: block;
  position: relative;
  margin-top: 8px;
  padding: 0 0 0 30%;
}
@media screen and (min-width: 768px) {
  .zip-code-town-input {
    padding: 0 0 0 225px;
  }
}
.zip-code-town-input input.zip-code-input {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 30%;
  padding: 8px 24px;
  background-color: #FFFFFF;
  border: solid 1px #C8C8C8;
  border-radius: 5px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
  font-family: var(--font-family-1), sans-serif;
  font-size: 14px;
  line-height: 20px;
  padding-right: 10px;
  border-radius: 19px 0 0 19px;
}
@media screen and (min-width: 768px) {
  .zip-code-town-input input.zip-code-input {
    width: 225px;
  }
}
.zip-code-town-input input.zip-code-input.error {
  border-color: var(--color-red);
}
.zip-code-town-input input.town-input {
  display: block;
  position: relative;
  width: 100%;
  padding: 8px 24px;
  background-color: #FFFFFF;
  border: solid 1px #C8C8C8;
  border-radius: 5px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
  font-family: var(--font-family-1), sans-serif;
  font-size: 14px;
  line-height: 20px;
  padding-left: 10px;
  border-radius: 0 19px 19px 0;
}
.zip-code-town-input input.town-input.error {
  border-color: var(--color-red);
}
.zip-code-town-input p.error {
  display: inline-block;
  position: relative;
  color: var(--color-red);
}
.zip-code-town-input p.error.zip-code-error {
  width: 42.85%;
  margin: 5px 0 0 -42.85%;
}
@media screen and (min-width: 1200px) {
  .zip-code-town-input p.error.zip-code-error {
    width: 225px;
    margin-left: -225px;
  }
}
.zip-code-town-input p.error.town-error {
  margin: 5px 0 0 0;
}
.zip-code-town-input p.error.hidden {
  display: none;
}

.file-picker-input {
  display: block;
  position: relative;
  margin: 0;
  padding: 0;
}
.file-picker-input input[type=file] {
  display: none;
}
.file-picker-input .drop-zone {
  display: block;
  position: relative;
  margin: 0;
  padding: 20px;
  text-align: center;
  border: 2px solid transparent;
  border-radius: 20px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  cursor: pointer;
}
.file-picker-input .drop-zone:hover {
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.1);
}
.file-picker-input .drop-zone > * {
  display: block;
  text-align: center;
}
.file-picker-input .drop-zone > .icon {
  margin: 0 0 10px 0;
  font-size: 40px;
  line-height: 42px;
}
.file-picker-input .upload-blocker {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #FFFFFF;
  border: solid 2px var(--color-light-blue);
  border-radius: 20px;
}
.file-picker-input .upload-blocker .load-spinner {
  display: block;
  position: absolute;
  top: calc(50% - 25px);
  left: calc(50% - 25px);
  width: 50px;
  height: 50px;
  line-height: 50px;
  font-size: 50px;
}
.file-picker-input .drag-area {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #FFFFFF;
  border: solid 2px var(--color-dark-blue);
  border-radius: 20px;
}
.file-picker-input .drag-area .icon {
  display: block;
  position: relative;
  top: calc(50% - 25px);
  left: calc(50% - 25px);
  width: 50px;
  height: 50px;
  line-height: 50px;
  font-size: 50px;
  color: var(--color-dark-blue);
}
.file-picker-input .item-container {
  display: block;
  position: relative;
  padding: 0;
  margin: 0;
}
.file-picker-input .item-container .upload-item {
  display: block;
  position: relative;
  padding: 5px 105px 0 10px;
  border: solid 1px rgba(0, 0, 0, 0.1);
  border-radius: 5px;
}
.file-picker-input .item-container .upload-item .item-name {
  display: block;
  position: relative;
  height: 20px;
  font-size: 16px;
  line-height: 20px;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}
.file-picker-input .item-container .upload-item .item-size {
  display: block;
  position: absolute;
  top: 5px;
  right: 30px;
  width: 75px;
  text-align: right;
  font-size: 12px;
  line-height: 20px;
}
.file-picker-input .item-container .upload-item .progress {
  display: block;
  position: relative;
  margin: 0 -105px 0 -10px;
  padding: 0;
  height: 25px;
  width: calc(100% + 115px);
}
.file-picker-input .item-container .upload-item .progress .progress-text {
  display: block;
  position: relative;
  width: 100%;
  font-size: 14px;
  line-height: 20px;
  text-align: center;
  color: var(--color-light-blue);
}
.file-picker-input .item-container .upload-item .progress .bar {
  display: block;
  position: relative;
  left: 0;
  bottom: 0;
  height: 5px;
  background-color: var(--color-light-blue);
  transition: width 100ms;
}
.file-picker-input .item-container .upload-item .progress.grey .progress-text {
  color: var(--color-middle-grey);
}
.file-picker-input .item-container .upload-item .progress.grey .bar {
  background-color: var(--color-middle-grey);
}
.file-picker-input .item-container .upload-item .progress.blue .progress-text {
  color: var(--color-light-blue);
}
.file-picker-input .item-container .upload-item .progress.blue .bar {
  background-color: var(--color-light-blue);
}
.file-picker-input .item-container .upload-item .progress.dark-blue .progress-text {
  color: var(--color-dark-blue);
}
.file-picker-input .item-container .upload-item .progress.dark-blue .bar {
  background-color: var(--color-dark-blue);
}
.file-picker-input .item-container .upload-item .progress.green .progress-text {
  color: var(--color-dark-green);
}
.file-picker-input .item-container .upload-item .progress.green .bar {
  background-color: var(--color-dark-green);
}
.file-picker-input .item-container .upload-item .progress.orange .progress-text {
  color: var(--color-orange);
}
.file-picker-input .item-container .upload-item .progress.orange .bar {
  background-color: var(--color-orange);
}
.file-picker-input .item-container .upload-item .progress.red .progress-text {
  color: var(--color-red);
}
.file-picker-input .item-container .upload-item .progress.red .bar {
  background-color: var(--color-red);
}
.file-picker-input .item-container .upload-item .cancel-icon {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  width: 30px;
  height: 30px;
  font-size: 20px;
  line-height: 30px;
  text-align: center;
  color: var(--color-red);
  cursor: pointer;
}
.file-picker-input .item-container .upload-item .error {
  display: none;
}
.file-picker-input .item-container .upload-item.error {
  border-color: var(--color-red);
}
.file-picker-input .item-container .upload-item.error .progress .progress-text {
  color: var(--color-red);
}
.file-picker-input .item-container .upload-item.error .progress .bar {
  background-color: var(--color-red);
}
.file-picker-input .item-container .upload-item.error .item-error {
  display: block;
  padding: 0;
  margin: 0;
  font-size: 14px;
  line-height: 20px;
  color: var(--color-red);
}
.file-picker-input.error .drop-zone {
  background-color: var(--color-bg-red-light);
}
.file-picker-input.dragging .drag-area {
  display: block;
}
.file-picker-input.drag-selected .drag-area {
  background-color: #e1e5f5;
}
.file-picker-input.uploading .upload-blocker {
  display: block;
}

.color-select {
  display: flex;
  position: relative;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
}
.color-select .color {
  display: block;
  position: relative;
  padding: 50px 0 0 0;
  margin: 0;
  flex-basis: 75px;
  font-family: var(--font-family-1), var(--font-family-2), var(--font-family-3), sans-serif;
  font-size: 12px;
  line-height: 25px;
  text-align: center;
  cursor: pointer;
}
.color-select .color .color-checkbox {
  display: block;
  position: absolute;
  top: 5px;
  left: 50%;
  transform: translateX(-50%);
  width: 40px;
  height: 40px;
  padding: 0;
  margin: 0;
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
  border: solid 1px rgba(0, 0, 0, 0.2);
  border-radius: 20px;
  outline: none;
}
.color-select .color .color-checkbox:checked {
  padding: 2px;
  border: solid 2px #000000;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}
.color-select .color .color-checkbox:checked:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 36px;
  height: 36px;
  background-color: transparent;
  border: solid 5px #FFFFFF;
  border-radius: 18px;
}
.color-select.has-error {
  color: var(--color-red);
}

div.date-input {
  display: block;
  position: relative;
  margin: 8px 0 0 0;
  padding: 0;
}
div.date-input input[type=text] {
  display: block;
  position: relative;
  width: 100%;
  font-family: var(--font-family-1), sans-serif;
  font-size: 14px;
  line-height: 20px;
  padding: 8px 24px;
  background-color: #FFFFFF;
  border: solid 1px #C8C8C8;
  border-radius: 5px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
  font-family: var(--font-family-1), sans-serif;
  font-size: 14px;
  line-height: 20px;
  background-color: #FFFFFF;
  border: solid 1px var(--color-light-grey);
  border-radius: 22px;
}
div.date-input .calender {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  width: 300px;
  max-width: calc(var(--viewWidth) - 40px);
  height: 300px;
  z-index: 1000;
  background-color: #FFFFFF;
  border-radius: 10px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 3px;
  overflow: clip;
  user-select: none;
}
div.date-input .calender .header {
  display: block;
  flex-basis: 100%;
  height: 60px;
  padding: 0 60px;
  line-height: 60px;
  text-align: center;
}
div.date-input .calender .header .icon {
  display: block;
  position: absolute;
  top: 0;
  height: 60px;
  width: 60px;
  cursor: pointer;
}
div.date-input .calender .header .icon:hover {
  background-color: #F0F0F0;
}
div.date-input .calender .header .icon-previous {
  left: 0;
}
div.date-input .calender .header .icon-next {
  right: 0;
}
div.date-input .calender .header .header-value {
  display: block;
}
div.date-input .calender .header .header-value.selected {
  background-color: var(--color-light-blue);
  color: #FFFFFF;
  font-weight: bold;
  border-radius: 5px;
}
div.date-input .calender .month {
  display: block;
  flex-basis: 98px;
  height: 57px;
  line-height: 57px;
  text-align: center;
  cursor: pointer;
  background-color: #FFFFFF;
}
div.date-input .calender .day {
  display: block;
  flex-basis: 40px;
  height: 37px;
  line-height: 37px;
  text-align: center;
  cursor: pointer;
}
div.date-input .calender .date-item:hover {
  background-color: #F0F0F0;
}
div.date-input .calender .date-item.is-hold-back {
  background-color: #FFFFFF;
  color: #AAAAAA;
}
div.date-input .calender .date-item.disabled {
  background-color: #F5F5F5;
  color: #DDDDDD;
  cursor: not-allowed;
}
div.date-input .calender .date-item.selected {
  background-color: var(--color-light-blue);
  color: #FFFFFF;
  font-weight: bold;
  border-radius: 5px;
}
div.date-input .blocker {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: var(--viewWidth);
  height: var(--viewHeight);
  z-index: 999;
  background-color: transparent;
}
div.date-input.active {
  z-index: 1000;
}
div.date-input.active input {
  z-index: 1000;
}
div.date-input.active .calender {
  display: flex;
}
div.date-input.active .blocker {
  display: block;
}
div.date-input.has-error input {
  border-color: var(--color-red);
  background-color: var(--color-bg-red-light);
}
div.date-input.has-error input:focus, div.date-input.has-error input:focus-visible {
  border-color: var(--color-red);
  outline-color: var(--color-red);
}

div.unit-select {
  display: block;
  position: relative;
  width: 100%;
  margin-top: 8px;
  padding-left: 99px;
}
div.unit-select input {
  display: block;
  position: relative;
  width: 100%;
  height: 38px;
  font-family: var(--font-family-1), sans-serif;
  font-size: 14px;
  line-height: 20px;
  padding: 8px 24px;
  background-color: #FFFFFF;
  border: solid 1px #C8C8C8;
  border-radius: 5px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
  font-family: var(--font-family-1), sans-serif;
  font-size: 14px;
  line-height: 20px;
  background-color: #FFFFFF;
  border: solid 1px var(--color-light-grey);
  border-radius: 0 19px 19px 0;
}
div.unit-select select {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100px;
  height: 38px;
  padding: 0 10px;
  font-size: 12px;
  border: solid 1px var(--color-light-grey);
  border-radius: 19px 0 0 19px;
}
div.unit-select.error select, div.unit-select.error input {
  border-color: var(--color-red);
  background-color: var(--color-bg-red-light);
}
div.unit-select.error select:focus, div.unit-select.error select:focus-visible, div.unit-select.error input:focus, div.unit-select.error input:focus-visible {
  border-color: var(--color-red);
  outline-color: var(--color-red);
}
div.unit-select.error .error {
  display: block;
  position: relative;
  margin-top: 5px;
  margin-left: -99px;
  width: calc(100% + 99px);
}

div.multi-select {
  display: flex;
  position: relative;
  width: 100%;
  margin-top: 8px;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-start;
  align-items: center;
}
div.multi-select .item {
  display: block;
  position: relative;
  flex-basis: 230px;
  margin: 0;
  padding: 2px 0 0 30px;
  font-size: 14px;
  line-height: 24px;
  cursor: pointer;
}
div.multi-select .item input[type=checkbox] {
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  width: 20px;
  height: 20px;
  margin: 0;
  padding: 0;
  transform: translateY(-50%);
  accent-color: var(--color-dark-blue);
  border-color: var(--color-dark-blue);
  cursor: pointer;
}
div.multi-select .item:has(input[type=checkbox]:checked) {
  text-decoration: underline;
}
div.multi-select.has-error {
  color: var(--color-red);
}

.column-layout {
  display: block;
  position: relative;
  margin: 0;
  padding: 0;
  width: 100%;
}
.column-layout .row {
  display: block;
  position: relative;
  margin: -10px;
  width: calc(100% + 20px);
  height: calc(100% + 20px);
}
.column-layout .row:after {
  content: "";
  display: block;
  height: 0;
  clear: both;
}
.column-layout .row .col {
  display: block;
  position: relative;
  padding: 10px 10px;
  float: left;
  width: calc((100% / 24) * 24);
}
.column-layout .row .col-1 {
  display: block;
  position: relative;
  padding: 10px 10px;
  float: left;
  width: calc((100% / 24) * 1);
}
.column-layout .row .col-2 {
  display: block;
  position: relative;
  padding: 10px 10px;
  float: left;
  width: calc((100% / 24) * 2);
}
.column-layout .row .col-3 {
  display: block;
  position: relative;
  padding: 10px 10px;
  float: left;
  width: calc((100% / 24) * 3);
}
.column-layout .row .col-4 {
  display: block;
  position: relative;
  padding: 10px 10px;
  float: left;
  width: calc((100% / 24) * 4);
}
.column-layout .row .col-5 {
  display: block;
  position: relative;
  padding: 10px 10px;
  float: left;
  width: calc((100% / 24) * 5);
}
.column-layout .row .col-6 {
  display: block;
  position: relative;
  padding: 10px 10px;
  float: left;
  width: calc((100% / 24) * 6);
}
.column-layout .row .col-7 {
  display: block;
  position: relative;
  padding: 10px 10px;
  float: left;
  width: calc((100% / 24) * 7);
}
.column-layout .row .col-8 {
  display: block;
  position: relative;
  padding: 10px 10px;
  float: left;
  width: calc((100% / 24) * 8);
}
.column-layout .row .col-9 {
  display: block;
  position: relative;
  padding: 10px 10px;
  float: left;
  width: calc((100% / 24) * 9);
}
.column-layout .row .col-10 {
  display: block;
  position: relative;
  padding: 10px 10px;
  float: left;
  width: calc((100% / 24) * 10);
}
.column-layout .row .col-11 {
  display: block;
  position: relative;
  padding: 10px 10px;
  float: left;
  width: calc((100% / 24) * 11);
}
.column-layout .row .col-12 {
  display: block;
  position: relative;
  padding: 10px 10px;
  float: left;
  width: calc((100% / 24) * 12);
}
.column-layout .row .col-13 {
  display: block;
  position: relative;
  padding: 10px 10px;
  float: left;
  width: calc((100% / 24) * 13);
}
.column-layout .row .col-14 {
  display: block;
  position: relative;
  padding: 10px 10px;
  float: left;
  width: calc((100% / 24) * 14);
}
.column-layout .row .col-15 {
  display: block;
  position: relative;
  padding: 10px 10px;
  float: left;
  width: calc((100% / 24) * 15);
}
.column-layout .row .col-16 {
  display: block;
  position: relative;
  padding: 10px 10px;
  float: left;
  width: calc((100% / 24) * 16);
}
.column-layout .row .col-17 {
  display: block;
  position: relative;
  padding: 10px 10px;
  float: left;
  width: calc((100% / 24) * 17);
}
.column-layout .row .col-18 {
  display: block;
  position: relative;
  padding: 10px 10px;
  float: left;
  width: calc((100% / 24) * 18);
}
.column-layout .row .col-19 {
  display: block;
  position: relative;
  padding: 10px 10px;
  float: left;
  width: calc((100% / 24) * 19);
}
.column-layout .row .col-20 {
  display: block;
  position: relative;
  padding: 10px 10px;
  float: left;
  width: calc((100% / 24) * 20);
}
.column-layout .row .col-21 {
  display: block;
  position: relative;
  padding: 10px 10px;
  float: left;
  width: calc((100% / 24) * 21);
}
.column-layout .row .col-22 {
  display: block;
  position: relative;
  padding: 10px 10px;
  float: left;
  width: calc((100% / 24) * 22);
}
.column-layout .row .col-23 {
  display: block;
  position: relative;
  padding: 10px 10px;
  float: left;
  width: calc((100% / 24) * 23);
}
.column-layout .row .col-24 {
  display: block;
  position: relative;
  padding: 10px 10px;
  float: left;
  width: calc((100% / 24) * 24);
}
@media screen and (min-width: 576px) {
  .column-layout .row .col-sm-1 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 1);
  }
  .column-layout .row .col-sm-2 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 2);
  }
  .column-layout .row .col-sm-3 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 3);
  }
  .column-layout .row .col-sm-4 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 4);
  }
  .column-layout .row .col-sm-5 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 5);
  }
  .column-layout .row .col-sm-6 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 6);
  }
  .column-layout .row .col-sm-7 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 7);
  }
  .column-layout .row .col-sm-8 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 8);
  }
  .column-layout .row .col-sm-9 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 9);
  }
  .column-layout .row .col-sm-10 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 10);
  }
  .column-layout .row .col-sm-11 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 11);
  }
  .column-layout .row .col-sm-12 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 12);
  }
  .column-layout .row .col-sm-13 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 13);
  }
  .column-layout .row .col-sm-14 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 14);
  }
  .column-layout .row .col-sm-15 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 15);
  }
  .column-layout .row .col-sm-16 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 16);
  }
  .column-layout .row .col-sm-17 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 17);
  }
  .column-layout .row .col-sm-18 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 18);
  }
  .column-layout .row .col-sm-19 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 19);
  }
  .column-layout .row .col-sm-20 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 20);
  }
  .column-layout .row .col-sm-21 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 21);
  }
  .column-layout .row .col-sm-22 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 22);
  }
  .column-layout .row .col-sm-23 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 23);
  }
  .column-layout .row .col-sm-24 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 24);
  }
}
@media screen and (min-width: 768px) {
  .column-layout .row .col-md-1 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 1);
  }
  .column-layout .row .col-md-2 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 2);
  }
  .column-layout .row .col-md-3 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 3);
  }
  .column-layout .row .col-md-4 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 4);
  }
  .column-layout .row .col-md-5 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 5);
  }
  .column-layout .row .col-md-6 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 6);
  }
  .column-layout .row .col-md-7 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 7);
  }
  .column-layout .row .col-md-8 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 8);
  }
  .column-layout .row .col-md-9 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 9);
  }
  .column-layout .row .col-md-10 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 10);
  }
  .column-layout .row .col-md-11 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 11);
  }
  .column-layout .row .col-md-12 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 12);
  }
  .column-layout .row .col-md-13 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 13);
  }
  .column-layout .row .col-md-14 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 14);
  }
  .column-layout .row .col-md-15 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 15);
  }
  .column-layout .row .col-md-16 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 16);
  }
  .column-layout .row .col-md-17 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 17);
  }
  .column-layout .row .col-md-18 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 18);
  }
  .column-layout .row .col-md-19 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 19);
  }
  .column-layout .row .col-md-20 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 20);
  }
  .column-layout .row .col-md-21 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 21);
  }
  .column-layout .row .col-md-22 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 22);
  }
  .column-layout .row .col-md-23 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 23);
  }
  .column-layout .row .col-md-24 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 24);
  }
}
@media screen and (min-width: 991px) {
  .column-layout .row .col-lg-1 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 1);
  }
  .column-layout .row .col-lg-2 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 2);
  }
  .column-layout .row .col-lg-3 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 3);
  }
  .column-layout .row .col-lg-4 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 4);
  }
  .column-layout .row .col-lg-5 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 5);
  }
  .column-layout .row .col-lg-6 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 6);
  }
  .column-layout .row .col-lg-7 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 7);
  }
  .column-layout .row .col-lg-8 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 8);
  }
  .column-layout .row .col-lg-9 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 9);
  }
  .column-layout .row .col-lg-10 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 10);
  }
  .column-layout .row .col-lg-11 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 11);
  }
  .column-layout .row .col-lg-12 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 12);
  }
  .column-layout .row .col-lg-13 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 13);
  }
  .column-layout .row .col-lg-14 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 14);
  }
  .column-layout .row .col-lg-15 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 15);
  }
  .column-layout .row .col-lg-16 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 16);
  }
  .column-layout .row .col-lg-17 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 17);
  }
  .column-layout .row .col-lg-18 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 18);
  }
  .column-layout .row .col-lg-19 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 19);
  }
  .column-layout .row .col-lg-20 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 20);
  }
  .column-layout .row .col-lg-21 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 21);
  }
  .column-layout .row .col-lg-22 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 22);
  }
  .column-layout .row .col-lg-23 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 23);
  }
  .column-layout .row .col-lg-24 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 24);
  }
}
@media screen and (min-width: 1200px) {
  .column-layout .row .col-xl-1 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 1);
  }
  .column-layout .row .col-xl-2 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 2);
  }
  .column-layout .row .col-xl-3 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 3);
  }
  .column-layout .row .col-xl-4 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 4);
  }
  .column-layout .row .col-xl-5 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 5);
  }
  .column-layout .row .col-xl-6 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 6);
  }
  .column-layout .row .col-xl-7 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 7);
  }
  .column-layout .row .col-xl-8 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 8);
  }
  .column-layout .row .col-xl-9 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 9);
  }
  .column-layout .row .col-xl-10 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 10);
  }
  .column-layout .row .col-xl-11 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 11);
  }
  .column-layout .row .col-xl-12 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 12);
  }
  .column-layout .row .col-xl-13 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 13);
  }
  .column-layout .row .col-xl-14 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 14);
  }
  .column-layout .row .col-xl-15 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 15);
  }
  .column-layout .row .col-xl-16 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 16);
  }
  .column-layout .row .col-xl-17 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 17);
  }
  .column-layout .row .col-xl-18 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 18);
  }
  .column-layout .row .col-xl-19 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 19);
  }
  .column-layout .row .col-xl-20 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 20);
  }
  .column-layout .row .col-xl-21 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 21);
  }
  .column-layout .row .col-xl-22 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 22);
  }
  .column-layout .row .col-xl-23 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 23);
  }
  .column-layout .row .col-xl-24 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 24);
  }
}
@media screen and (min-width: 1400px) {
  .column-layout .row .col-el-1 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 1);
  }
  .column-layout .row .col-el-2 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 2);
  }
  .column-layout .row .col-el-3 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 3);
  }
  .column-layout .row .col-el-4 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 4);
  }
  .column-layout .row .col-el-5 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 5);
  }
  .column-layout .row .col-el-6 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 6);
  }
  .column-layout .row .col-el-7 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 7);
  }
  .column-layout .row .col-el-8 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 8);
  }
  .column-layout .row .col-el-9 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 9);
  }
  .column-layout .row .col-el-10 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 10);
  }
  .column-layout .row .col-el-11 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 11);
  }
  .column-layout .row .col-el-12 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 12);
  }
  .column-layout .row .col-el-13 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 13);
  }
  .column-layout .row .col-el-14 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 14);
  }
  .column-layout .row .col-el-15 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 15);
  }
  .column-layout .row .col-el-16 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 16);
  }
  .column-layout .row .col-el-17 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 17);
  }
  .column-layout .row .col-el-18 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 18);
  }
  .column-layout .row .col-el-19 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 19);
  }
  .column-layout .row .col-el-20 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 20);
  }
  .column-layout .row .col-el-21 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 21);
  }
  .column-layout .row .col-el-22 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 22);
  }
  .column-layout .row .col-el-23 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 23);
  }
  .column-layout .row .col-el-24 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 24);
  }
}
@media screen and (min-width: 1920px) {
  .column-layout .row .col-exl-1 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 1);
  }
  .column-layout .row .col-exl-2 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 2);
  }
  .column-layout .row .col-exl-3 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 3);
  }
  .column-layout .row .col-exl-4 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 4);
  }
  .column-layout .row .col-exl-5 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 5);
  }
  .column-layout .row .col-exl-6 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 6);
  }
  .column-layout .row .col-exl-7 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 7);
  }
  .column-layout .row .col-exl-8 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 8);
  }
  .column-layout .row .col-exl-9 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 9);
  }
  .column-layout .row .col-exl-10 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 10);
  }
  .column-layout .row .col-exl-11 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 11);
  }
  .column-layout .row .col-exl-12 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 12);
  }
  .column-layout .row .col-exl-13 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 13);
  }
  .column-layout .row .col-exl-14 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 14);
  }
  .column-layout .row .col-exl-15 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 15);
  }
  .column-layout .row .col-exl-16 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 16);
  }
  .column-layout .row .col-exl-17 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 17);
  }
  .column-layout .row .col-exl-18 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 18);
  }
  .column-layout .row .col-exl-19 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 19);
  }
  .column-layout .row .col-exl-20 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 20);
  }
  .column-layout .row .col-exl-21 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 21);
  }
  .column-layout .row .col-exl-22 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 22);
  }
  .column-layout .row .col-exl-23 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 23);
  }
  .column-layout .row .col-exl-24 {
    display: block;
    position: relative;
    padding: 10px 10px;
    float: left;
    width: calc((100% / 24) * 24);
  }
}
.column-layout .row .column.full-height {
  min-height: 100%;
  max-height: 100%;
}

.container-layout.margin-5 > * + * {
  margin-top: 5px;
}
.container-layout.margin-10 > * + * {
  margin-top: 10px;
}
.container-layout.margin-15 > * + * {
  margin-top: 15px;
}
.container-layout.margin-20 > * + * {
  margin-top: 20px;
}
.container-layout.margin-25 > * + * {
  margin-top: 25px;
}
.container-layout.margin-30 > * + * {
  margin-top: 30px;
}

.grid-layout {
  display: block;
  position: relative;
  width: 100%;
  padding: 10px;
  background-color: transparent;
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.1);
  border-radius: 10px;
}
.grid-layout > .child-container {
  display: flex;
  position: relative;
  padding: 10px;
  width: 100%;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: left;
  gap: 15px;
}
.grid-layout > .child-container > .grid-item {
  width: 100%;
}
.grid-layout .empty-grid-text {
  display: block;
  position: relative;
  width: 100%;
  max-width: 567px;
  margin: 0 auto;
  text-align: center;
  color: var(--color-middle-grey);
}
.grid-layout.no-border {
  padding: 0;
  border: none;
  box-shadow: none;
}
@media screen and (min-width: 991px) {
  .grid-layout {
    justify-content: flex-start;
  }
}

.list-view {
  display: block;
  position: relative;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
.list-view .list-item {
  display: block;
  position: relative;
}
.list-view .list-item + .list-item {
  margin-top: 2px;
}
.list-view .empty-text {
  display: block;
  position: relative;
  text-align: center;
  padding: 10px;
  font-size: 16px;
  line-height: 20px;
  background-color: rgba(0, 0, 0, 0.01);
  border-radius: 10px;
  border: solid 1px var(--color-middle-grey);
}

.masonry-grid {
  display: block;
  position: relative;
}
.masonry-grid .grid-wrapper {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: center;
  gap: 20px;
  position: relative;
}
.masonry-grid .grid-wrapper .masonry-col {
  display: block;
  position: relative;
  width: calc(33.33% - 15px);
}
.masonry-grid .grid-wrapper .masonry-col .item {
  display: block;
  position: relative;
  width: 100%;
  padding: 10px;
  font-family: var(--font-family-2), sans-serif;
  color: var(--color-dark-blue);
  text-decoration: none;
  cursor: pointer;
}
.masonry-grid .grid-wrapper .masonry-col .item + .item {
  margin-top: 30px;
}
.masonry-grid .grid-wrapper .masonry-col .item .title-image {
  display: block;
  position: relative;
  width: calc(100% + 20px);
  min-height: 210px;
  max-height: 320px;
  margin: -10px -10px 5px -10px;
  object-fit: cover;
  box-shadow: 0 0 2px rgba(0, 0, 0, 0.2);
  border-radius: 10px;
}
.masonry-grid .grid-wrapper .masonry-col .item .description-container {
  display: block;
  position: relative;
  word-break: break-word;
  margin: 10px 0 0 0;
}
.masonry-grid .grid-wrapper .masonry-col .item .description-container a {
  display: block;
  position: relative;
  font-weight: 500;
  color: inherit;
  text-decoration: inherit;
}
.masonry-grid .grid-wrapper .masonry-col .item .description-container a:hover {
  text-decoration: underline;
}
.masonry-grid .grid-wrapper .masonry-col .item .description-container .property-container {
  display: block;
  position: relative;
  padding: 2px 0;
  margin: 2px 0 0 0;
}
.masonry-grid .grid-wrapper .masonry-col .item .description-container .property-container > .wrapper {
  display: block;
  position: relative;
  margin: 0 -2px;
  width: calc(100% + 4px);
}
.masonry-grid .grid-wrapper .masonry-col .item .description-container .property-container > .wrapper > .tag {
  display: inline-block;
  position: relative;
  margin: 2px 2px;
  padding: 0 10px;
  height: 22px;
  font-family: var(--font-family-2);
  font-size: 13px;
  line-height: 22px;
  font-weight: 400;
  font-style: normal;
  color: var(--color-white);
  background-color: rgba(14, 24, 56, 0.7);
  border-radius: 11px;
}
.masonry-grid .grid-wrapper .masonry-col .item .description-container .description {
  display: block;
  position: relative;
  margin: 2px 0 0 0;
  font-size: 12px;
  line-height: 18px;
  color: var(--color-dark-blue);
}
.masonry-grid .grid-wrapper .masonry-col .item .description-container .icon {
  display: block;
  position: absolute;
  top: -58px;
  right: -8px;
  width: 50px;
  height: 50px;
  font-size: 20px;
  line-height: 50px;
  text-align: center;
  cursor: pointer;
  background: #FFFFFF;
  border-radius: 25px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.masonry-grid .grid-wrapper .masonry-col .item .description-container .icon:hover {
  background-color: #FAFAFF;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
}
.masonry-grid .grid-wrapper .masonry-col .item .author {
  display: block;
  position: relative;
  margin-top: 5px;
  padding-left: 26px;
  font-size: 11px;
  line-height: 22px;
  color: var(--color-middle-grey);
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}
.masonry-grid .grid-wrapper .masonry-col .item .author .portrait {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 22px;
  height: 22px;
  border-radius: 50%;
}
.masonry-grid .empty-text {
  display: inline-block;
  padding: 20px;
  width: 100%;
  text-align: center;
}

.action-link {
  display: block;
  position: relative;
  margin-top: 8px;
  font-family: var(--font-family-1), var(--font-family-2), var(--font-family-3), sans-serif;
  font-size: 16px;
  line-height: 20px;
  color: var(--color-light-blue);
  cursor: pointer;
}
.action-link.no-decoration {
  text-decoration: none;
}
.action-link.button {
  display: inline-block;
  text-align: center;
  text-decoration: none;
  border: solid 1px var(--color-light-blue);
  background-color: #FFFFFF;
}
.action-link.dark-blue {
  color: var(--color-dark-blue);
  border-color: var(--color-dark-blue);
}
.action-link.green {
  color: var(--color-dark-green);
  border-color: var(--color-dark-green);
}
.action-link.red {
  color: var(--color-red);
  border-color: var(--color-red);
}
.action-link.orange {
  color: var(--color-orange);
  border-color: var(--color-orange);
}
.action-link.disabled {
  color: #666666;
  border-color: #666666;
  background-color: #F5F5F5;
  cursor: not-allowed;
}

.confirm {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: var(--viewWidth);
  height: var(--viewHeight);
  z-index: 100;
  margin: 0;
  padding: 0;
  animation: ease-in showConfirm 200ms;
}
.confirm.visible {
  display: block;
}
.confirm .blocker {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  backdrop-filter: blur(3px);
  background-color: rgba(150, 150, 150, 0.3);
}
.confirm .content {
  position: absolute;
  top: 20%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  width: 100%;
  max-width: min(var(--viewWidth) - 20px, 768px);
  padding: 20px 20px 45px 20px;
  font-size: 16px;
  line-height: 20px;
  font-style: normal;
  background-color: #FFFFFF;
  border-radius: 10px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}
.confirm .content .confirm-action {
  display: block;
  position: absolute;
  bottom: 10px;
  left: 20px;
  padding: 2.5px 10px;
  font-size: 16px;
  line-height: 20px;
  font-weight: bold;
  text-decoration: none;
  color: var(--color-dark-green);
  background-color: #FFFFFF;
  border: solid 2px var(--color-dark-green);
  border-radius: 15px;
  cursor: pointer;
}
.confirm .content .cancel-action {
  display: block;
  position: absolute;
  bottom: 13px;
  right: 20px;
  font-size: 16px;
  line-height: 20px;
  text-decoration: underline;
  color: var(--color-dark-blue);
  cursor: pointer;
}

@keyframes showConfirm {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.tab-view {
  display: block;
  position: relative;
  width: 100%;
  padding-bottom: 5px;
  border-bottom: solid 1px rgba(100, 100, 100, 0.2);
}
.tab-view:after {
  content: "";
  display: block;
  height: 0;
  clear: both;
}
.tab-view .tab {
  display: block;
  position: relative;
  float: left;
  padding: 4px 12px;
  font-family: var(--font-family-1), var(--font-family-2), var(--font-family-3), sans-serif;
  font-size: 16px;
  line-height: 26px;
  text-decoration: none;
  color: var(--color-dark-blue);
  /*
  background-color: #FFFFFF;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08);
  border: solid 1px #FFFFFF;
  border-radius: 16px;
  background-clip: border-box;
  */
  cursor: pointer;
}
.tab-view .tab + .tab {
  margin-left: 10px;
}
.tab-view .tab:hover {
  /*
  background-color: rgba(255, 255, 255, 0.9);
  border: solid 1px rgba(var(--color-dark-blue), 0.2);
  */
}
.tab-view .tab:hover:before {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  height: 2px;
  width: 90%;
  background-color: rgba(100, 100, 100, 0.2);
  border-radius: 1px;
}
.tab-view .tab.selected {
  /*
  background-color: var(--color-light-blue);
  border-color: var(--color-light-blue);
  color: white;
  */
}
.tab-view .tab.selected:before {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  height: 2px;
  width: 90%;
  background-color: var(--color-dark-blue);
  border-radius: 1px;
}
.tab-view .tab.disabled {
  color: #AAAAAA;
  cursor: not-allowed;
}
.tab-view .tab.disabled:before {
  display: none;
}

label[data-tv-label="1"] {
  font-family: var(--font-family-1), sans-serif;
  font-size: 16px;
  line-height: 20px;
  font-weight: 500;
}

.hint {
  display: block;
  position: relative;
  margin: 0 0 0 0;
  padding: 0 0 0 20px;
  font-size: 14px;
  line-height: 20px;
  color: var(--color-light-blue);
  cursor: help;
}
.hint .icon {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 14px;
  height: 20px;
  line-height: 20px;
  text-align: right;
}

.image-upload-preview {
  position: relative;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 15px;
  justify-content: center;
  user-select: none;
}
.image-upload-preview.no-images {
  display: none;
}
.image-upload-preview .image-item {
  display: block;
  position: relative;
  width: 200px;
}
.image-upload-preview .image-item:hover {
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.5);
}
.image-upload-preview .image-item .image-preview {
  display: block;
  position: relative;
  width: 100%;
  object-fit: contain;
  user-select: none;
}
.image-upload-preview .image-item .remove-layer {
  display: block;
  position: absolute;
  top: 5px;
  right: 5px;
  width: 40px;
  height: 40px;
  color: #101010;
  font-size: 20px;
  line-height: 34px;
  text-align: center;
  cursor: pointer;
  background-color: #FFFFFF;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  border: solid 2px #FFFFFF;
  border-radius: 20px;
  user-select: none;
}

.video-upload-preview {
  position: relative;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 15px;
  justify-content: center;
}
.video-upload-preview.no-video {
  display: none;
}
.video-upload-preview .video-item {
  display: block;
  position: relative;
  width: 300px;
  height: 534px;
  background-color: #000000;
}
.video-upload-preview .video-item:hover {
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.5);
}
.video-upload-preview .video-item .video-preview {
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.video-upload-preview .video-item .remove-layer {
  display: block;
  position: absolute;
  top: 5px;
  right: 5px;
  width: 40px;
  height: 40px;
  color: #101010;
  font-size: 20px;
  line-height: 34px;
  text-align: center;
  cursor: pointer;
  background-color: #FFFFFF;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  border: solid 2px #FFFFFF;
  border-radius: 20px;
  user-select: none;
}

.base-widget {
  display: block;
  position: relative;
  width: 100%;
  max-width: 768px;
  margin: 0 auto;
  padding: 20px;
  background-color: #FFFFFF;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  border-radius: 20px;
}

.swipe-card {
  display: block;
  position: relative;
  width: 100%;
  height: calc(var(--viewHeight) - 140px);
}
.swipe-card .card-outer-container {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate3d(-50%, -50%, 0);
  transform-origin: bottom center;
  width: 280px;
  height: 497px;
  max-width: 400px;
  max-height: 711px;
  z-index: 0;
  margin: 0 auto;
  background-color: #FFFFFF;
  border-radius: 20px;
  box-shadow: 0 0 3px rgba(0, 0, 0, 0.4);
  user-select: none;
  text-decoration: none;
  cursor: pointer;
}
.swipe-card .card-outer-container:before {
  content: "";
  display: block;
  position: absolute;
  z-index: 0;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transition: background-color 200ms;
}
.swipe-card .card-outer-container .card-inner-container {
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
  padding: 85px 10px 10px 10px;
  overflow: hidden;
  border-radius: 20px;
}
.swipe-card .card-outer-container img.media {
  display: block;
  position: absolute;
  z-index: -1;
  top: 50%;
  left: 0;
  width: 100%;
  height: 100%;
  transform: translateY(-50%);
  object-fit: contain;
  aspect-ratio: 4/3;
  transition: top 200ms, left 200ms, width 200ms, height 200ms;
}
.swipe-card .card-outer-container img.media-blur {
  display: block;
  position: absolute;
  z-index: -2;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: blur(4px) brightness(1.5) opacity(0.5);
  opacity: 0.2;
  background-color: var(--color-dark-blue);
}
.swipe-card .card-outer-container .card-header {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 60px;
  padding: 10px;
  color: var(--color-dark-blue);
  border-bottom: solid 1px rgba(200, 200, 200, 0.2);
  border-radius: 20px 20px 0 0;
}
.swipe-card .card-outer-container .card-header .card-logo {
  display: block;
  position: absolute;
  top: 10px;
  width: 40px;
  height: 40px;
  padding: 2px;
  background-color: #FFFFFF;
  border-radius: 20px;
  overflow: hidden;
}
.swipe-card .card-outer-container .card-header .profile-name {
  display: block;
  position: relative;
  height: 100%;
  padding: 0 0 0 50px;
  font-family: var(--font-family-1), var(--font-family-2), var(--font-family-3), sans-serif;
  font-size: 14px;
  line-height: 20px;
  font-weight: normal;
  font-style: normal;
  overflow: hidden;
}
.swipe-card .card-outer-container .card-highlight {
  display: block;
  position: absolute;
  z-index: 200;
  max-width: calc(50% - 10px);
  padding: 0 5px 0 20px;
  font-size: 14px;
  line-height: 20px;
  font-style: normal;
  white-space: nowrap;
  text-overflow: ellipsis;
  background-color: #FFFFFF;
  border-radius: 10px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
  overflow: hidden;
}
.swipe-card .card-outer-container .card-highlight i {
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 20px;
  text-align: center;
  font-size: 14px;
  line-height: 20px;
}
.swipe-card .card-outer-container .card-highlight.place-top-left {
  top: 65px;
  left: 10px;
}
.swipe-card .card-outer-container .card-highlight.place-top-right {
  top: 65px;
  right: 10px;
}
.swipe-card .card-outer-container .card-highlight.place-bottom-left {
  bottom: 125px;
  left: 10px;
}
.swipe-card .card-outer-container .card-highlight.place-bottom-right {
  bottom: 125px;
  right: 10px;
}
.swipe-card .card-outer-container .card-highlight.is-orange {
  color: var(--color-orange);
}
.swipe-card .card-outer-container .card-highlight.is-blue {
  color: var(--color-light-blue);
}
.swipe-card .card-outer-container .card-title {
  display: block;
  position: relative;
  margin: 10px 0 0 0;
  font-family: var(--font-family-1), var(--font-family-2), var(--font-family-3), sans-serif;
  font-size: 16px;
  line-height: 22px;
  font-weight: normal;
  color: var(--color-dark-blue);
}
.swipe-card .card-outer-container .description {
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 54px;
  padding: 5px 10px 5px 10px;
  margin-bottom: 55px;
  border-top: 1px solid rgba(200, 200, 200, 0.2);
  overflow: clip;
}
.swipe-card .card-outer-container .description .item {
  display: block;
  float: left;
  max-width: calc(100% - 5px);
  margin: 0 2px 2px 0;
  padding: 2px 10px 2px 10px;
  font-family: var(--font-family-1), var(--font-family-2), var(--font-family-3), sans-serif;
  font-size: 14px;
  line-height: 18px;
  white-space: nowrap;
  text-overflow: ellipsis;
  color: #FFFFFF;
  background-color: var(--color-light-blue);
  border-radius: 11px;
  overflow: hidden;
}
.swipe-card .card-outer-container .description:after {
  content: "";
  display: block;
  clear: both;
  height: 0;
}
.swipe-card .card-outer-container .action {
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 46px;
  padding: 8px;
  font-family: var(--font-family-1), var(--font-family-2), var(--font-family-3), sans-serif;
  font-size: 20px;
  line-height: 30px;
  color: var(--color-dark-blue);
  text-align: center;
  border-radius: 20px;
  cursor: pointer;
}
.swipe-card .card-outer-container .video-reel {
  display: block;
  position: absolute;
  opacity: 0;
  top: -1px;
  left: -1px;
  z-index: -1;
  width: calc(100% + 2px);
  height: calc(100% + 2px);
  object-fit: contain;
  background-color: #000000;
  border-radius: 20px;
  user-select: none;
}
.swipe-card .card-outer-container .video-reel.play {
  z-index: 100;
}
.swipe-card .card-outer-container .play-button {
  display: block;
  position: absolute;
  top: 35%;
  left: 10px;
  z-index: 200;
  transform: translate3d(0, -50%, 0);
  width: 50px;
  height: 40px;
  text-align: center;
  color: var(--color-dark-blue);
  background-color: #FFFFFF;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
  border-radius: 5px;
}
.swipe-card .card-outer-container .play-button i {
  display: block;
  font-size: 35px;
  line-height: 40px;
}
.swipe-card .card-outer-container .overlay {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1000;
  color: #FFFFFF;
  border: solid 4px var(--color-dark-blue);
  border-radius: 20px;
  background-color: rgba(var(--color-dark-blue), 0.8);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  opacity: 0;
  transition: opacity 100ms ease-in, z-index 100ms ease-in;
}
.swipe-card .card-outer-container .overlay p {
  display: block;
  position: relative;
  top: 100px;
  font-family: var(--font-family-1), var(--font-family-2), var(--font-family-3), sans-serif;
  font-size: 40px;
  line-height: 50px;
  font-weight: 500;
  text-align: center;
}
.swipe-card .card-outer-container .overlay .icon {
  display: block;
  position: absolute;
  top: 150px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 80px;
  line-height: 80px;
  text-align: center;
}
.swipe-card .card-outer-container .overlay.is-visible {
  z-index: 100000;
  opacity: 1;
  transition: opacity 100ms ease-in, z-index 100ms ease-in;
}
@media screen and (min-width: 1200px) {
  .swipe-card .card-outer-container:hover:before {
    background-color: rgba(42, 72, 169, 0);
    transition: background-color 200ms;
  }
  .swipe-card .card-outer-container:hover .card-inner-container {
    padding-top: 30px;
    transition: padding-top 200ms;
  }
  .swipe-card .card-outer-container:hover img.media {
    left: -5px;
    width: calc(100% + 10px);
    transition: top 200ms, left 200ms, width 200ms, height 200ms;
    filter: none;
  }
  .swipe-card .card-outer-container:hover .card-header,
  .swipe-card .card-outer-container:hover .description,
  .swipe-card .card-outer-container:hover .text {
    display: none;
  }
  .swipe-card .card-outer-container:hover .place-top-left,
  .swipe-card .card-outer-container:hover .place-top-right {
    top: 10px;
    transition: top 200ms ease;
  }
  .swipe-card .card-outer-container:hover .place-bottom-left,
  .swipe-card .card-outer-container:hover .place-bottom-right {
    bottom: 55px;
    transition: bottom 200ms ease;
  }
}
.swipe-card.is-hold .card-outer-container:before {
  background-color: rgba(42, 72, 169, 0);
  transition: background-color 200ms;
}
.swipe-card.is-hold .card-outer-container .play-button {
  display: none;
}
.swipe-card.is-hold .card-outer-container .video-reel {
  opacity: 1;
}
.swipe-card.is-hold .card-outer-container .place-top-left,
.swipe-card.is-hold .card-outer-container .place-top-right {
  top: 10px;
}
.swipe-card.is-hold .card-outer-container .place-bottom-left,
.swipe-card.is-hold .card-outer-container .place-bottom-right {
  bottom: 10px;
}
@media screen and (max-height: 480px) and (orientation: landscape) {
  .swipe-card {
    display: none;
  }
}

.alert-message {
  display: block;
  position: relative;
  padding: 10px 30px 10px 20px;
  background-color: #FFFFFF;
  border: solid 1px #F0F0F0;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  border-radius: 10px;
}
.alert-message .alert-action {
  display: block;
  position: relative;
  margin: 10px -10px 0 -10px;
  padding: 5px 10px;
  font-family: var(--font-family-1), var(--font-family-2), var(--font-family-3), sans-serif;
  font-size: 15px;
  line-height: 20px;
  text-align: center;
  background-color: #F0F0F0;
  border-radius: 5px;
  cursor: pointer;
}
.alert-message .icon {
  display: block;
  position: absolute;
  top: 10px;
  right: 10px;
  width: 20px;
  height: 20px;
  font-size: 16px;
  line-height: 20px;
  text-align: center;
  cursor: pointer;
}
.alert-message.is-message {
  color: var(--color-dark-grey);
  border-color: var(--color-dark-grey);
}
.alert-message.is-message .alert-action {
  background-color: #F0F0F0;
}
.alert-message.is-info {
  color: var(--color-light-blue);
  border-color: var(--color-light-blue);
}
.alert-message.is-info .alert-action {
  background-color: rgba(42, 72, 169, 0.15);
}
.alert-message.is-success {
  color: var(--color-dark-green);
  border-color: var(--color-dark-green);
}
.alert-message.is-success .alert-action {
  background-color: rgba(57, 87, 77, 0.15);
}
.alert-message.is-warning {
  color: var(--color-orange);
  border-color: var(--color-orange);
}
.alert-message.is-warning .alert-action {
  background-color: rgba(255, 174, 85, 0.15);
}
.alert-message.is-error {
  color: var(--color-red);
  border-color: var(--color-red);
}
.alert-message.is-error .alert-action {
  background-color: rgba(252, 47, 47, 0.15);
}
@media screen and (min-width: 768px) {
  .alert-message:has(.alert-action) {
    padding-right: 220px;
  }
  .alert-message .alert-action {
    margin: 0;
    position: absolute;
    top: 5px;
    right: 40px;
    width: 180px;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
  }
}

.swipe-action-bar {
  display: flex;
  flex-wrap: nowrap;
  flex-direction: row;
  position: sticky;
  bottom: 0;
  width: 100%;
  max-width: 1400px;
  height: 70px;
  padding-bottom: 20px;
  background-color: #FFFFFF;
  box-shadow: 0 -2px 4px rgba(0, 0, 0, 0.2);
  border-radius: 10px 10px 0 0;
}
.swipe-action-bar .action {
  display: block;
  position: relative;
  height: 50px;
  width: 33.33%;
}
.swipe-action-bar .action .icon {
  display: block;
  position: relative;
  width: 50px;
  height: 50px;
  margin: 0 auto;
  font-size: 25px;
  line-height: 50px;
  text-align: center;
  border-radius: 5px;
  cursor: pointer;
}
.swipe-action-bar .action .filter-icon {
  display: block;
  position: absolute;
  top: 5px;
  left: 50%;
  width: 12px;
  height: 12px;
  transform: translate3d(-15px, 0, 0);
  font-size: 12px;
  line-height: 12px;
  text-align: center;
}
.swipe-action-bar .action.selected {
  text-decoration: underline;
}
.swipe-action-bar .action.selected:before {
  content: "";
  display: block;
  position: absolute;
  top: 2px;
  left: 50%;
  width: 46px;
  height: 46px;
  transform: translateX(-50%);
  background-color: rgba(var(--color-light-blue), 0.2);
  border-radius: 5px;
}
.swipe-action-bar .action.disabled .icon {
  color: var(--color-middle-grey);
  background-color: var(--color-light-grey);
  cursor: not-allowed;
}
.swipe-action-bar .category-context-container {
  display: flex;
  position: relative;
  width: 150px;
  height: 50px;
  margin: 0 auto;
  background-color: #FFFFFF;
  border: solid 3px var(--color-light-blue);
  border-radius: 25px;
}
.swipe-action-bar .category-context-container .context-action {
  display: block;
  position: relative;
  z-index: 0;
  width: 50%;
}
.swipe-action-bar .category-context-container .context-action .icon {
  display: block;
  position: relative;
  width: 44px;
  height: 44px;
  z-index: 1;
  margin: 0 auto;
  font-size: 25px;
  line-height: 44px;
  text-align: center;
  border-radius: 22px;
  cursor: pointer;
}
.swipe-action-bar .category-context-container .context-action.selected:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 44px;
  z-index: 0;
  background-color: var(--color-light-blue);
  opacity: 0.2;
  border-radius: 22px;
}
.swipe-action-bar.green .action.selected:before {
  background-color: var(--color-dark-green);
  opacity: 0.2;
}
.swipe-action-bar.green .category-context-container {
  border: solid 3px var(--color-dark-green);
}
.swipe-action-bar.green .category-context-container .context-action.selected:before {
  background-color: var(--color-dark-green);
  opacity: 0.2;
}
.swipe-action-bar.blue .action.selected:before {
  background-color: var(--color-light-blue);
  opacity: 0.2;
}
.swipe-action-bar.blue .category-context-container {
  border: solid 3px var(--color-light-blue);
}
.swipe-action-bar.blue .category-context-container .context-action.selected:before {
  background-color: var(--color-light-blue);
  opacity: 0.2;
}
.swipe-action-bar.red .action .filter-icon {
  color: var(--color-red);
}
.swipe-action-bar.red .action.selected:before {
  background-color: var(--color-red);
  opacity: 0.2;
}
.swipe-action-bar.red .category-context-container {
  border: solid 3px var(--color-red);
}
.swipe-action-bar.red .category-context-container .context-action.selected:before {
  background-color: var(--color-red);
  opacity: 0.2;
}

.business-card {
  display: block;
  position: relative;
  padding: 15px;
  background-color: #FFFFFF;
  border-radius: 10px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.business-card .portrait-wrapper {
  display: block;
  position: relative;
}
.business-card .portrait-wrapper .portrait {
  display: block;
  width: 50px;
  height: 50px;
  object-fit: cover;
  border-radius: 25px;
}
.business-card .title {
  display: block;
  position: relative;
  margin: 5px 0;
  font-family: var(--font-family-1), sans-serif;
  font-size: 20px;
  line-height: 30px;
  font-weight: 600;
  font-style: normal;
}
.business-card .profile-field {
  display: block;
  position: relative;
  padding: 0 0 0 30px;
  font-family: var(--font-family-2), sans-serif;
  font-size: 16px;
  line-height: 20px;
  font-style: normal;
}
.business-card .profile-field .icon {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 20px;
  height: 20px;
  font-size: 16px;
  line-height: 20px;
}
.business-card .profile-field .profile-field-value {
  display: block;
  width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-style: normal;
}
.business-card .profile-field a.profile-field-value {
  text-decoration: underline;
  color: inherit;
  cursor: pointer;
}
.business-card .profile-field + .profile-field {
  margin-top: 5px;
}

.modal-widget {
  display: block;
  position: fixed;
  z-index: 10000;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  margin: 0;
  background-color: rgba(0, 0, 0, 0.2);
}
.modal-widget .content-wrapper {
  display: block;
  position: relative;
  top: 20px;
  left: 50%;
  width: calc(100% - 40px);
  max-width: 768px;
  max-height: calc(var(--viewHeight) - 40px);
  padding: 40px 0 0 0;
  margin: 0;
  overflow: hidden;
  transform: translate3d(-50%, 0, 0);
  background-color: #FFFFFF;
  border-radius: 20px;
}
@media screen and (min-width: 768px) {
  .modal-widget .content-wrapper {
    top: 80px;
    max-height: calc(var(--viewHeight) - 160px);
  }
}
.modal-widget .header {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 40px;
  padding: 10px 50px 10px 15px;
  background-color: #FFFFFF;
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.1);
  border-radius: 20px 20px 0 0;
  font-family: var(--font-family-1), var(--font-family-2), var(--font-family-3), sans-serif;
  text-overflow: ellipsis;
  overflow: hidden;
}
.modal-widget .header .close-icon {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  width: 40px;
  height: 40px;
  font-size: 20px;
  line-height: 40px;
  text-align: center;
  color: #FC2F2F;
  cursor: pointer;
}
.modal-widget .body {
  display: block;
  position: relative;
  height: 100%;
  max-height: calc(var(--viewHeight) - 80px);
  padding: 10px 15px 15px 15px;
  overflow: auto;
}
@media screen and (min-width: 768px) {
  .modal-widget .body {
    max-height: calc(var(--viewHeight) - 280px);
  }
}

:root {
  --contentWidth: 100vw;
  --contentHeight: 100vh;
}
@media screen and (min-width: 1200px) {
  :root {
    --contentWidth: calc(100vw - 240px);
  }
}

.side-navigation-layout {
  display: block;
  position: relative;
  width: 100%;
}
.side-navigation-layout .navigation-section {
  position: relative;
  width: 100%;
}
.side-navigation-layout .header-section {
  display: block;
  position: relative;
  padding: 10px;
  width: 100%;
  height: 70px;
}
.side-navigation-layout .header-section:before {
  content: "";
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
  width: 100%;
  height: 35px;
  background-color: rgb(248, 249, 252);
}
.side-navigation-layout .content-section {
  display: block;
  position: relative;
}
@media screen and (min-width: 1200px) {
  .side-navigation-layout {
    padding-left: 240px;
  }
  .side-navigation-layout .navigation-section {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 240px;
    height: 100vh;
    overflow: scroll;
  }
  .side-navigation-layout .content-section {
    display: block;
    position: relative;
    width: 100%;
  }
}

.linear-layout.gap-10 .linear-item + .linear-item {
  margin-top: 10px;
}
.linear-layout.gap-15 .linear-item + .linear-item {
  margin-top: 15px;
}
.linear-layout.gap-20 .linear-item + .linear-item {
  margin-top: 20px;
}
.linear-layout.gap-25 .linear-item + .linear-item {
  margin-top: 25px;
}
.linear-layout.gap-30 .linear-item + .linear-item {
  margin-top: 30px;
}
.linear-layout.gap-40 .linear-item + .linear-item {
  margin-top: 40px;
}
.linear-layout.gap-50 .linear-item + .linear-item {
  margin-top: 50px;
}
.linear-layout.sticky {
  position: sticky;
  padding: 0 10px 10px 0;
  width: calc(100% + 10px);
  top: 70px;
}

.flexbox-container {
  display: flex;
  position: relative;
  max-width: 100%;
  gap: 20px;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: stretch;
  align-content: flex-start;
}
.flexbox-container .flex-item {
  width: 100%;
}
.flexbox-container .flex-auto {
  display: block;
  position: relative;
  flex-basis: auto;
  flex-grow: 1;
  width: 0;
}
@media screen and (min-width: 991px) {
  .flexbox-container .flex-1 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 1);
  }
  .flexbox-container .flex-2 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 2);
  }
  .flexbox-container .flex-3 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 3);
  }
  .flexbox-container .flex-4 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 4);
  }
  .flexbox-container .flex-5 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 5);
  }
  .flexbox-container .flex-6 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 6);
  }
  .flexbox-container .flex-7 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 7);
  }
  .flexbox-container .flex-8 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 8);
  }
  .flexbox-container .flex-9 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 9);
  }
  .flexbox-container .flex-10 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 10);
  }
  .flexbox-container .flex-11 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 11);
  }
  .flexbox-container .flex-12 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 12);
  }
  .flexbox-container .flex-13 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 13);
  }
  .flexbox-container .flex-14 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 14);
  }
  .flexbox-container .flex-15 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 15);
  }
  .flexbox-container .flex-16 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 16);
  }
  .flexbox-container .flex-17 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 17);
  }
  .flexbox-container .flex-18 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 18);
  }
  .flexbox-container .flex-19 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 19);
  }
  .flexbox-container .flex-20 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 20);
  }
  .flexbox-container .flex-21 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 21);
  }
  .flexbox-container .flex-22 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 22);
  }
  .flexbox-container .flex-23 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 23);
  }
  .flexbox-container .flex-24 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 24);
  }
}
@media screen and (min-width: 991px) and (min-width: 576px) {
  .flexbox-container .flex-sm-1 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 1);
  }
  .flexbox-container .flex-sm-2 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 2);
  }
  .flexbox-container .flex-sm-3 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 3);
  }
  .flexbox-container .flex-sm-4 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 4);
  }
  .flexbox-container .flex-sm-5 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 5);
  }
  .flexbox-container .flex-sm-6 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 6);
  }
  .flexbox-container .flex-sm-7 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 7);
  }
  .flexbox-container .flex-sm-8 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 8);
  }
  .flexbox-container .flex-sm-9 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 9);
  }
  .flexbox-container .flex-sm-10 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 10);
  }
  .flexbox-container .flex-sm-11 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 11);
  }
  .flexbox-container .flex-sm-12 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 12);
  }
  .flexbox-container .flex-sm-13 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 13);
  }
  .flexbox-container .flex-sm-14 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 14);
  }
  .flexbox-container .flex-sm-15 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 15);
  }
  .flexbox-container .flex-sm-16 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 16);
  }
  .flexbox-container .flex-sm-17 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 17);
  }
  .flexbox-container .flex-sm-18 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 18);
  }
  .flexbox-container .flex-sm-19 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 19);
  }
  .flexbox-container .flex-sm-20 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 20);
  }
  .flexbox-container .flex-sm-21 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 21);
  }
  .flexbox-container .flex-sm-22 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 22);
  }
  .flexbox-container .flex-sm-23 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 23);
  }
  .flexbox-container .flex-sm-24 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 24);
  }
}
@media screen and (min-width: 991px) and (min-width: 768px) {
  .flexbox-container .flex-md-1 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 1);
  }
  .flexbox-container .flex-md-2 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 2);
  }
  .flexbox-container .flex-md-3 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 3);
  }
  .flexbox-container .flex-md-4 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 4);
  }
  .flexbox-container .flex-md-5 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 5);
  }
  .flexbox-container .flex-md-6 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 6);
  }
  .flexbox-container .flex-md-7 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 7);
  }
  .flexbox-container .flex-md-8 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 8);
  }
  .flexbox-container .flex-md-9 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 9);
  }
  .flexbox-container .flex-md-10 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 10);
  }
  .flexbox-container .flex-md-11 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 11);
  }
  .flexbox-container .flex-md-12 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 12);
  }
  .flexbox-container .flex-md-13 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 13);
  }
  .flexbox-container .flex-md-14 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 14);
  }
  .flexbox-container .flex-md-15 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 15);
  }
  .flexbox-container .flex-md-16 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 16);
  }
  .flexbox-container .flex-md-17 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 17);
  }
  .flexbox-container .flex-md-18 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 18);
  }
  .flexbox-container .flex-md-19 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 19);
  }
  .flexbox-container .flex-md-20 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 20);
  }
  .flexbox-container .flex-md-21 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 21);
  }
  .flexbox-container .flex-md-22 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 22);
  }
  .flexbox-container .flex-md-23 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 23);
  }
  .flexbox-container .flex-md-24 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 24);
  }
}
@media screen and (min-width: 991px) and (min-width: 991px) {
  .flexbox-container .flex-lg-1 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 1);
  }
  .flexbox-container .flex-lg-2 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 2);
  }
  .flexbox-container .flex-lg-3 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 3);
  }
  .flexbox-container .flex-lg-4 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 4);
  }
  .flexbox-container .flex-lg-5 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 5);
  }
  .flexbox-container .flex-lg-6 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 6);
  }
  .flexbox-container .flex-lg-7 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 7);
  }
  .flexbox-container .flex-lg-8 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 8);
  }
  .flexbox-container .flex-lg-9 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 9);
  }
  .flexbox-container .flex-lg-10 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 10);
  }
  .flexbox-container .flex-lg-11 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 11);
  }
  .flexbox-container .flex-lg-12 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 12);
  }
  .flexbox-container .flex-lg-13 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 13);
  }
  .flexbox-container .flex-lg-14 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 14);
  }
  .flexbox-container .flex-lg-15 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 15);
  }
  .flexbox-container .flex-lg-16 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 16);
  }
  .flexbox-container .flex-lg-17 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 17);
  }
  .flexbox-container .flex-lg-18 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 18);
  }
  .flexbox-container .flex-lg-19 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 19);
  }
  .flexbox-container .flex-lg-20 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 20);
  }
  .flexbox-container .flex-lg-21 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 21);
  }
  .flexbox-container .flex-lg-22 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 22);
  }
  .flexbox-container .flex-lg-23 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 23);
  }
  .flexbox-container .flex-lg-24 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 24);
  }
}
@media screen and (min-width: 991px) and (min-width: 1200px) {
  .flexbox-container .flex-xl-1 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 1);
  }
  .flexbox-container .flex-xl-2 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 2);
  }
  .flexbox-container .flex-xl-3 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 3);
  }
  .flexbox-container .flex-xl-4 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 4);
  }
  .flexbox-container .flex-xl-5 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 5);
  }
  .flexbox-container .flex-xl-6 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 6);
  }
  .flexbox-container .flex-xl-7 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 7);
  }
  .flexbox-container .flex-xl-8 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 8);
  }
  .flexbox-container .flex-xl-9 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 9);
  }
  .flexbox-container .flex-xl-10 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 10);
  }
  .flexbox-container .flex-xl-11 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 11);
  }
  .flexbox-container .flex-xl-12 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 12);
  }
  .flexbox-container .flex-xl-13 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 13);
  }
  .flexbox-container .flex-xl-14 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 14);
  }
  .flexbox-container .flex-xl-15 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 15);
  }
  .flexbox-container .flex-xl-16 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 16);
  }
  .flexbox-container .flex-xl-17 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 17);
  }
  .flexbox-container .flex-xl-18 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 18);
  }
  .flexbox-container .flex-xl-19 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 19);
  }
  .flexbox-container .flex-xl-20 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 20);
  }
  .flexbox-container .flex-xl-21 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 21);
  }
  .flexbox-container .flex-xl-22 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 22);
  }
  .flexbox-container .flex-xl-23 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 23);
  }
  .flexbox-container .flex-xl-24 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 24);
  }
}
@media screen and (min-width: 991px) and (min-width: 1400px) {
  .flexbox-container .flex-el-1 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 1);
  }
  .flexbox-container .flex-el-2 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 2);
  }
  .flexbox-container .flex-el-3 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 3);
  }
  .flexbox-container .flex-el-4 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 4);
  }
  .flexbox-container .flex-el-5 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 5);
  }
  .flexbox-container .flex-el-6 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 6);
  }
  .flexbox-container .flex-el-7 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 7);
  }
  .flexbox-container .flex-el-8 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 8);
  }
  .flexbox-container .flex-el-9 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 9);
  }
  .flexbox-container .flex-el-10 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 10);
  }
  .flexbox-container .flex-el-11 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 11);
  }
  .flexbox-container .flex-el-12 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 12);
  }
  .flexbox-container .flex-el-13 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 13);
  }
  .flexbox-container .flex-el-14 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 14);
  }
  .flexbox-container .flex-el-15 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 15);
  }
  .flexbox-container .flex-el-16 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 16);
  }
  .flexbox-container .flex-el-17 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 17);
  }
  .flexbox-container .flex-el-18 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 18);
  }
  .flexbox-container .flex-el-19 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 19);
  }
  .flexbox-container .flex-el-20 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 20);
  }
  .flexbox-container .flex-el-21 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 21);
  }
  .flexbox-container .flex-el-22 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 22);
  }
  .flexbox-container .flex-el-23 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 23);
  }
  .flexbox-container .flex-el-24 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 24);
  }
}
@media screen and (min-width: 991px) and (min-width: 1920px) {
  .flexbox-container .flex-exl-1 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 1);
  }
  .flexbox-container .flex-exl-2 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 2);
  }
  .flexbox-container .flex-exl-3 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 3);
  }
  .flexbox-container .flex-exl-4 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 4);
  }
  .flexbox-container .flex-exl-5 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 5);
  }
  .flexbox-container .flex-exl-6 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 6);
  }
  .flexbox-container .flex-exl-7 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 7);
  }
  .flexbox-container .flex-exl-8 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 8);
  }
  .flexbox-container .flex-exl-9 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 9);
  }
  .flexbox-container .flex-exl-10 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 10);
  }
  .flexbox-container .flex-exl-11 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 11);
  }
  .flexbox-container .flex-exl-12 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 12);
  }
  .flexbox-container .flex-exl-13 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 13);
  }
  .flexbox-container .flex-exl-14 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 14);
  }
  .flexbox-container .flex-exl-15 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 15);
  }
  .flexbox-container .flex-exl-16 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 16);
  }
  .flexbox-container .flex-exl-17 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 17);
  }
  .flexbox-container .flex-exl-18 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 18);
  }
  .flexbox-container .flex-exl-19 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 19);
  }
  .flexbox-container .flex-exl-20 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 20);
  }
  .flexbox-container .flex-exl-21 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 21);
  }
  .flexbox-container .flex-exl-22 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 22);
  }
  .flexbox-container .flex-exl-23 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 23);
  }
  .flexbox-container .flex-exl-24 {
    display: block;
    position: relative;
    width: calc((100% / 24) * 24);
  }
}

.n-side-navigation {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  max-width: 240px;
  z-index: 10000;
}
.n-side-navigation .nav-handle {
  display: block;
  position: absolute;
  top: 10px;
  left: 20px;
  width: 50px;
  height: 50px;
  text-align: center;
}
.n-side-navigation .nav-handle i {
  display: block;
  font-size: 30px;
  line-height: 50px;
}
.n-side-navigation .nav-content {
  display: block;
  position: relative;
  width: 100%;
  height: 0;
  padding: 0;
  overflow: hidden;
  background-color: var(--color-white);
  box-shadow: 2px 0 8px rgba(0, 0, 0, 0.1);
}
.n-side-navigation .nav-content .logo-scope {
  display: block;
  position: relative;
  margin: 0;
  padding: 20px 10px 25px 11px;
}
.n-side-navigation .nav-content .logo-scope a {
  display: block;
  position: relative;
  color: inherit;
  text-decoration: none;
  cursor: pointer;
}
.n-side-navigation .nav-content .logo-scope img {
  display: block;
  height: 30px;
}
.n-side-navigation .nav-content .close-handle {
  display: block;
  position: absolute;
  top: 10px;
  right: 10px;
  width: 50px;
  height: 50px;
  text-align: center;
}
.n-side-navigation .nav-content .close-handle i {
  font-size: 30px;
  line-height: 50px;
}
.n-side-navigation .nav-content .nav-scope {
  position: relative;
  padding: 0 10px 0 15px;
}
.n-side-navigation .nav-content .nav-scope .heading {
  display: block;
  position: relative;
  margin: 15px 0 0 0;
  padding: 0;
  font-family: var(--font-family-1);
  font-size: 16px;
  line-height: 24px;
  font-weight: 600;
}
.n-side-navigation .nav-content .nav-scope .group {
  display: block;
  position: relative;
}
.n-side-navigation .nav-content .nav-scope .group + .group {
  margin-top: 30px;
}
.n-side-navigation .nav-content .nav-scope .group + .group:before {
  content: "";
  position: absolute;
  top: -15px;
  height: 1px;
  width: calc(100% - 30px);
  background-color: var(--color-light-grey);
}
.n-side-navigation .nav-content .nav-scope .nav-items {
  display: block;
  position: relative;
  margin: 0;
  padding: 0;
  width: 100%;
}
.n-side-navigation .nav-content .nav-scope .nav-items .item {
  position: relative;
  list-style: none;
  margin: 15px 0 0 0;
  padding: 0 0 0 40px;
  font-family: var(--font-family-1);
  font-size: 16px;
  line-height: 20px;
  font-weight: 500;
  text-align: left;
  text-decoration: none;
  cursor: pointer;
}
.n-side-navigation .nav-content .nav-scope .nav-items .item a {
  display: block;
  color: inherit;
  text-decoration: inherit;
}
.n-side-navigation .nav-content .nav-scope .nav-items .item .icon {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 20px;
  height: 20px;
}
.n-side-navigation .nav-content .nav-scope .nav-items .item:hover {
  text-decoration: underline;
}
.n-side-navigation .nav-content .nav-footer {
  position: absolute;
  display: block;
  width: 100%;
  left: 0;
  bottom: 0;
  padding: 10px;
  text-align: center;
}
.n-side-navigation .nav-content .nav-footer a {
  display: inline-block;
  font-size: 12px;
  line-height: 18px;
  color: inherit;
  cursor: pointer;
}
.n-side-navigation .nav-content .nav-footer .copy-right {
  display: block;
  margin: 8px 0 0 0;
  font-size: 12px;
  line-height: 18px;
}
.n-side-navigation .nav-handle.open ~ .nav-content {
  height: 100%;
  padding: 0 0 110px 0;
}
.n-side-navigation:has(.nav-handle.open) {
  height: 100%;
}
.n-side-navigation:has(.nav-handle.open):before {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background-color: rgba(0, 0, 0, 0.5);
  filter: blur(10px);
  overscroll-behavior: none;
}
@media screen and (min-width: 1200px) {
  .n-side-navigation {
    left: 0;
    right: auto;
    height: 100%;
  }
  .n-side-navigation .nav-handle {
    display: none;
  }
  .n-side-navigation .nav-content {
    width: 240px;
    height: 100%;
    padding: 0 0 110px 0;
  }
  .n-side-navigation .nav-content .close-handle {
    display: none;
  }
  .n-side-navigation:has(.nav-handle.open):before {
    display: none;
  }
}

.public-header {
  display: block;
  position: fixed;
  margin: 0;
  padding: 0 10px;
  top: 10px;
  left: 10px;
  z-index: 9999;
  width: calc(var(--contentWidth) - 20px);
  height: 50px;
  background-color: var(--color-white);
  border-radius: 25px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
}
.public-header .header-logo {
  display: none;
  position: absolute;
  top: 0;
  left: 10px;
  padding: 10px 0;
}
.public-header .header-logo img {
  display: block;
  position: relative;
  height: 30px;
}
.public-header .header-actions {
  display: block;
  position: absolute;
  top: 0;
  padding: 5px;
}
.public-header .header-actions:after {
  content: "";
  display: block;
  height: 0;
  clear: both;
}
.public-header .header-actions .action-link {
  display: block;
  position: relative;
  margin: 0;
  padding: 0;
  width: 50px;
  height: 40px;
  text-align: center;
  color: inherit;
  text-decoration: none;
}
.public-header .header-actions .action-link .icon {
  font-size: 30px;
  line-height: 40px;
}
.public-header .header-actions .action-link .title {
  display: none;
}
.public-header .header-actions.left {
  left: 5px;
  padding-left: 50px;
}
.public-header .header-actions.left .action-link {
  float: left;
}
.public-header .header-actions.right {
  right: 5px;
}
.public-header .header-actions.right .action-link {
  float: left;
}
.public-header .header-actions .watchlist-icon {
  position: relative;
}
.public-header .header-actions .watchlist-icon .counter {
  display: block;
  position: absolute;
  height: 16px;
  padding: 0 6px;
  top: 0;
  right: 3px;
  font-family: var(--font-family-1);
  font-size: 10px;
  line-height: 16px;
  font-weight: 600;
  color: var(--color-white);
  background-color: var(--color-red);
  border-radius: 8px;
}
.public-header .header-actions .filter-icon {
  position: relative;
}
.public-header .header-actions .filter-icon.is-active:after {
  content: "";
  display: block;
  position: absolute;
  top: 2px;
  right: 5px;
  width: 10px;
  height: 10px;
  background-color: var(--color-dark-green);
  border-radius: 5px;
}
.public-header .header-actions .my-account {
  display: block;
  float: left;
  height: 40px;
  padding: 5px 15px;
  font-size: 16px;
  line-height: 30px;
  color: #FFFFFF;
  text-decoration: none;
  background-color: var(--color-light-blue);
  border-radius: 25px;
  cursor: pointer;
}
.public-header .header-actions .my-account .username {
  display: none;
  max-width: 110px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.public-header .header-actions .my-account .user-portrait {
  display: inline-block;
  position: relative;
  width: 30px;
  height: 30px;
  line-height: 20px;
  border-radius: 15px;
  object-fit: cover;
}
.public-header .header-actions .my-account i {
  display: inline-block;
  font-size: 16px;
  line-height: 30px;
  width: 20px;
  text-align: center;
  vertical-align: top;
}
.public-header .header-actions .my-account:not(:has(.user-portrait)) {
  padding: 5px 10px;
}
.public-header .header-actions .my-account:has(.user-portrait) {
  padding: 5px;
  color: var(--color-black);
  background-color: #FFFFFF;
}
@media screen and (min-width: 1200px) {
  .public-header {
    top: 10px;
    left: calc(var(--viewWidth) - var(--contentWidth) + 20px);
    width: calc(var(--contentWidth) - 40px);
    padding: 0 180px 0 180px;
  }
  .public-header .header-logo {
    display: block;
    left: 10px;
  }
  .public-header .header-actions.left {
    left: 105px;
    padding-left: 0;
  }
  .public-header .header-actions .my-account .username {
    display: inline-block;
  }
}

.profile-header {
  display: block;
  position: relative;
  padding: 0 15px 0 15px;
  background-color: #FFFFFF;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  border-radius: 15px;
}
.profile-header .content-wrapper {
  position: relative;
  margin: 30px 0 0 0;
  padding: 130px 10px 0 10px;
  min-height: 120px;
}
.profile-header .content-wrapper .portrait {
  display: block;
  position: absolute;
  top: -30px;
  left: 15px;
  width: 150px;
  height: 150px;
  border-radius: 75px;
  object-fit: cover;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
}
.profile-header .content-wrapper .member-date {
  font-size: 14px;
  line-height: 20px;
  color: var(--color-middle-grey);
}
.profile-header .tabs-wrapper {
  display: block;
  position: relative;
  width: 100%;
  margin: 20px 0 0 0;
}
.profile-header .tabs-wrapper:after {
  content: "";
  display: block;
  clear: both;
  height: 0;
}
.profile-header .tabs-wrapper .tab {
  display: block;
  position: relative;
  float: left;
  padding: 5px 10px;
  height: 35px;
  font-size: 16px;
  line-height: 20px;
  font-family: var(--font-family-1), var(--font-family-2), var(--font-family-3), sans-serif;
  font-weight: normal;
  color: var(--color-dark-blue);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  text-decoration: none;
  cursor: pointer;
}
.profile-header .tabs-wrapper .tab:hover:after {
  display: block;
  content: "";
  position: absolute;
  bottom: 0;
  width: calc(100% - 20px);
  height: 2px;
  background-color: var(--color-light-grey);
}
.profile-header .tabs-wrapper .tab.selected:after {
  display: block;
  content: "";
  position: absolute;
  bottom: 0;
  width: calc(100% - 20px);
  height: 2px;
  background-color: var(--color-dark-blue);
}
.profile-header .tabs-wrapper .tab + .tab {
  margin-left: 20px;
}

@media screen and (min-width: 567px) {
  .profile-header .content-wrapper {
    position: relative;
    padding: 20px 15px 20px 180px;
  }
}
.pagination {
  display: block;
  position: relative;
  width: 100%;
  max-width: 315px;
  height: 40px;
  margin: 0 auto;
}
.pagination ul {
  display: inline-block;
  position: relative;
  padding: 0;
  margin: 0;
  left: 50%;
  transform: translate3d(-50%, 0, 0);
}
.pagination ul:after {
  content: "";
  display: block;
  clear: both;
  height: 0;
}
.pagination ul li {
  display: block;
  position: relative;
  float: left;
  width: 45px;
  height: 40px;
  text-align: center;
  font-size: 14px;
  line-height: 40px;
  cursor: pointer;
}
.pagination ul li.selected {
  font-weight: 600;
  text-decoration: underline;
}
.pagination ul li.disabled {
  color: #AAAAAA;
  cursor: not-allowed;
}
.pagination ul li a {
  display: block;
  position: relative;
  color: inherit;
  cursor: inherit;
  text-decoration: inherit;
}
.pagination ul li:hover {
  text-decoration: underline;
}

.account-card-widget {
  display: block;
  position: relative;
  padding: 15px;
  border-radius: 10px;
  background-color: var(--color-white);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.account-card-widget .portrait-wrapper {
  display: block;
}
.account-card-widget .portrait-wrapper .portrait {
  display: block;
  width: 50px;
  height: 50px;
  object-fit: contain;
  border-radius: 25px;
}
.account-card-widget .heading {
  display: block;
  position: relative;
  margin: 5px 0;
  font-size: 20px;
  line-height: 30px;
  font-weight: 600;
  font-style: normal;
}
.account-card-widget .profile-field {
  display: block;
  position: relative;
  padding: 0 0 0 30px;
  font-size: 16px;
  line-height: 20px;
}
.account-card-widget .profile-field .icon {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 20px;
  height: 20px;
  font-size: 16px;
  line-height: 20px;
}
.account-card-widget .profile-field .profile-field-value {
  display: block;
  width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-style: normal;
}
.account-card-widget .profile-field a.profile-field-value {
  text-decoration: underline;
  color: inherit;
  cursor: pointer;
}
.account-card-widget .profile-field + .profile-field {
  margin-top: 5px;
}

.grid-select-input {
  display: block;
  position: relative;
}
.grid-select-input ul {
  display: flex;
  position: relative;
  margin: 0;
  padding: 0;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: start;
  align-items: stretch;
  gap: 5px;
}
.grid-select-input ul li {
  display: block;
  position: relative;
  width: 150px;
  margin: 0;
  padding: 155px 5px 5px 5px;
  list-style: none;
  border: solid 1px var(--color-dark-blue);
  border-radius: 5px;
  cursor: pointer;
}
.grid-select-input ul li:hover {
  padding: 154px 4px 4px 4px;
  border-width: 2px;
  background-color: rgba(0, 0, 0, 0.05);
}
.grid-select-input ul li img {
  display: block;
  position: absolute;
  top: 5px;
  left: 5px;
  width: 140px;
  height: 140px;
  object-fit: contain;
  background-color: rgba(0, 0, 0, 0.05);
}

.button-choice-input {
  display: block;
  position: relative;
  width: 100%;
  margin: 0;
  padding: 0;
}
.button-choice-input .wrapper {
  display: inline-block;
  position: relative;
  padding: 0;
  margin: 0 -20px;
  left: calc(50% + 20px);
  transform: translate3d(-50%, 0, 0);
}
.button-choice-input .wrapper:after {
  content: "";
  display: block;
  height: 0;
  clear: both;
}
.button-choice-input .wrapper .button {
  display: block;
  position: relative;
  float: left;
  padding: 80px 10px 10px 10px;
  margin: 0 20px;
  width: 120px;
  height: 120px;
  text-align: center;
  color: var(--color-dark-blue);
  border: solid 1px var(--color-dark-blue);
  cursor: pointer;
}
.button-choice-input .wrapper .button .icon {
  display: block;
  position: absolute;
  height: 50px;
  width: 50px;
  top: 15px;
  left: 50%;
  transform: translate3d(-50%, 0, 0);
  font-size: 50px;
  line-height: 50px;
  text-align: center;
}
.button-choice-input .wrapper .button:hover {
  border-color: var(--color-light-blue);
  color: var(--color-light-blue);
  background-color: rgba(var(--color-light-blue), 0.01);
}
.button-choice-input .wrapper .button.selected {
  border-color: var(--color-light-blue);
  color: var(--color-light-blue);
  background-color: var(--color-white);
}

.double-select-input-container {
  display: block;
  position: relative;
  width: 100%;
  height: 40px;
}
.double-select-input-container .inner {
  display: block;
  position: absolute;
  width: 100%;
  top: 50%;
  max-width: 250px;
  transform: translate3d(0, -50%, 0);
  border-radius: 15px;
  background-color: var(--color-white);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  height: 30px;
}
.double-select-input-container .inner:after {
  content: "";
  display: block;
  clear: both;
  height: 0;
}
.double-select-input-container .inner .part {
  display: block;
  position: relative;
  float: left;
  width: 50%;
  cursor: pointer;
}
.double-select-input-container .inner .part select {
  display: block;
  position: relative;
  width: 100%;
  height: 30px;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  border: none;
  cursor: pointer;
}
.double-select-input-container .inner .part:after {
  content: "▾";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  color: #333;
}
.double-select-input-container .inner .part.left select {
  padding: 0 5px 0 30px;
  border-radius: 15px 0 0 15px;
}
.double-select-input-container .inner .part.left:after {
  left: 10px;
}
.double-select-input-container .inner .part.right select {
  padding: 0 30px 0 5px;
  border-radius: 0 15px 15px 0;
  text-align: right;
}
.double-select-input-container .inner .part.right:after {
  right: 10px;
}

.card-slider-horizontal-container {
  display: block;
  position: relative;
  margin: 0 auto;
  width: 100%;
}
.card-slider-horizontal-container > .heading {
  display: block;
  position: relative;
  margin: 10px 0 0 0;
  font-family: var(--font-family-1);
  font-size: 20px;
  line-height: 40px;
  font-weight: 500;
}
.card-slider-horizontal-container > .signal {
  display: none;
  position: absolute;
  bottom: 50%;
  left: 50%;
  transform: translate3d(-50%, 0, 0);
  width: 300px;
  height: 100px;
  padding: 0;
  animation: fade-loop 4s ease-in-out infinite;
  animation-delay: 10s;
  opacity: 0;
  white-space: nowrap;
  background-color: rgba(255, 255, 255, 0.8);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  border-radius: 50px;
}
.card-slider-horizontal-container > .signal .icon {
  display: inline-block;
  width: 100px;
  height: 100px;
  text-align: center;
  font-size: 50px;
  line-height: 100px;
  color: rgb(100, 100, 100);
}
.card-slider-horizontal-container > .wrapper {
  position: relative;
  display: block;
  width: calc(100% + 10px);
  margin: 0 -10px;
  padding: 10px;
  overflow-x: scroll;
  overflow-y: clip;
  mask-image: linear-gradient(to right, transparent 0, rgba(255, 255, 255, 0.5) 10px, rgb(255, 255, 255) 20px, rgb(255, 255, 255) calc(100% - 20px), rgba(255, 255, 255, 0.5) calc(100% - 10px), transparent 100%);
}
.card-slider-horizontal-container > .wrapper > .inner {
  display: block;
  position: relative;
  width: calc(100% + 10px);
  margin: 0 -5px;
  white-space: nowrap;
  background-image: url("/assets/img/card-bg.svg");
  background-origin: padding-box;
  background-repeat: repeat-x;
  background-position: 5px 5px;
  background-size: 255px 320px;
}
.card-slider-horizontal-container > .wrapper > .inner .item {
  display: inline-block;
  margin: 5px;
}
.card-slider-horizontal-container > .action-container {
  display: block;
  position: relative;
  padding: 10px;
}
.card-slider-horizontal-container > .action-container .action {
  display: block;
  position: relative;
  margin: 0 auto;
  font-family: var(--font-family-1);
  font-size: 16px;
  line-height: 25px;
  font-weight: 500;
  text-align: center;
  text-decoration: underline;
  color: inherit;
  cursor: pointer;
}
@media screen and (min-width: 1200px) {
  .card-slider-horizontal-container > .signal {
    display: block;
  }
  .card-slider-horizontal-container:hover > .signal {
    display: none;
  }
}
.card-slider-horizontal-container .display-none {
  display: none;
  height: 0;
  padding: 0;
  margin: 0;
}
.card-slider-horizontal-container .display-none * {
  display: none;
  height: 0;
  padding: 0;
  margin: 0;
}
@keyframes fade-loop {
  0% {
    opacity: 0;
  }
  20% {
    opacity: 1;
  }
  80% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

.slider-card {
  display: block;
  position: relative;
  width: 240px;
}
.slider-card .inner {
  display: block;
  position: relative;
  cursor: pointer;
  text-decoration: none;
  color: var(--color-dark-blue);
}
.slider-card .inner .wrapper {
  display: block;
  position: relative;
  padding: 210px 10px 10px 10px;
  width: 100%;
  height: 320px;
  background-color: var(--color-white);
  border-radius: 20px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.slider-card .inner .wrapper img {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 20px;
}
.slider-card .inner .wrapper .overlay {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 140px;
  background: linear-gradient(to bottom, rgba(41, 69, 172, 0) 0%, rgba(41, 69, 172, 0.6) 15%, rgb(61, 69, 172) 90%);
  border-radius: 0 0 20px 20px;
}
.slider-card .inner .wrapper .title {
  display: block;
  position: absolute;
  bottom: 50px;
  left: 10px;
  width: calc(100% - 20px);
  max-height: 80px;
  text-align: center;
  font-family: var(--font-family-1);
  font-size: 30px;
  line-height: 40px;
  font-weight: 500;
  color: var(--color-white);
  white-space: normal;
  text-transform: uppercase;
  overflow: hidden;
}
.slider-card .inner .wrapper .sub-title {
  display: block;
  position: absolute;
  left: 10px;
  bottom: 10px;
  height: 30px;
  width: calc(100% - 20px);
  overflow: hidden;
  text-align: center;
  font-family: var(--font-family-1);
  font-size: 20px;
  line-height: 30px;
  color: var(--color-white);
  text-transform: uppercase;
  white-space: nowrap;
}
.slider-card .inner .description {
  display: block;
  position: relative;
  width: 100%;
  padding: 5px 20px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.slider-card.color-light-blue .inner .wrapper .overlay {
  background: linear-gradient(to bottom, rgba(41, 69, 172, 0) 0%, rgba(41, 69, 172, 0.6) 15%, rgb(61, 69, 172) 90%);
}
.slider-card.color-red .inner .wrapper .overlay {
  background: linear-gradient(to bottom, rgba(252, 47, 47, 0) 0%, rgba(252, 47, 47, 0.6) 15%, rgb(252, 47, 47) 90%);
}
.slider-card.color-green .inner .wrapper .title,
.slider-card.color-green .inner .wrapper .sub-title {
  color: #FFFFFF;
}
.slider-card.color-green .inner .wrapper .overlay {
  background: linear-gradient(to bottom, rgba(7, 215, 136, 0) 0%, rgba(7, 215, 136, 0.4) 10%, rgba(7, 215, 136, 0.8) 25%, rgb(7, 215, 136) 90%);
}

.slider-inquiry-view {
  display: block;
  position: relative;
  width: 100%;
  min-height: 100px;
  max-width: 500px;
  padding: 10px;
  border-radius: 20px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
  color: #222222;
}
.slider-inquiry-view .heading {
  display: block;
  font-size: 18px;
  line-height: 30px;
}
.slider-inquiry-view .item {
  display: block;
  position: relative;
  margin: 10px -5px 0 -5px;
  padding: 5px 5px 5px 65px;
  width: calc(100% + 10px);
  min-height: 60px;
  background-color: #FAFAFA;
  border-radius: 5px;
}
.slider-inquiry-view .item .image {
  display: block;
  position: absolute;
  top: 5px;
  left: 5px;
  width: 50px;
  height: 50px;
  object-fit: contain;
}
.slider-inquiry-view .field {
  display: block;
  position: relative;
  margin: 6px 0 0 0;
  padding: 0 0 0 150px;
}
.slider-inquiry-view .field .label {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 140px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.slider-inquiry-view .field .value {
  display: block;
  position: relative;
  overflow: hidden;
  text-overflow: ellipsis;
}
.slider-inquiry-view .checkbox {
  position: relative;
  display: block;
  margin: 12px 0 0 0;
  padding: 0 0 0 30px;
  font-size: 16px;
  line-height: 20px;
  cursor: pointer;
}
.slider-inquiry-view .checkbox + .checkbox {
  margin: 6px 0 0 0;
}
.slider-inquiry-view .checkbox:before {
  display: block;
  content: "";
  position: absolute;
  top: 2px;
  left: 0;
  width: 16px;
  height: 16px;
  border: solid 2px #222222;
  border-radius: 8px;
  background-color: #FFFFFF;
}
.slider-inquiry-view .checkbox.checked:after {
  display: block;
  content: "";
  position: absolute;
  top: 6px;
  left: 4px;
  width: 8px;
  height: 8px;
  border-radius: 4px;
  background-color: #222222;
}
.slider-inquiry-view .submit {
  display: block;
  position: relative;
  margin: 15px 0 0 0;
  padding: 5px;
  font-size: 16px;
  line-height: 20px;
  text-align: center;
  border-radius: 15px;
  cursor: pointer;
  color: var(--color-white);
  background-color: var(--color-dark-blue);
}
.slider-inquiry-view .submit.disabled {
  cursor: not-allowed;
  color: var(--color-white);
  background-color: var(--color-middle-grey);
}

.smart-search-container {
  display: block;
  position: relative;
  margin: 0;
  padding: 25px 25px 50px 25px;
  background-color: var(--color-dark-blue);
  border-radius: 25px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
  color: var(--color-white);
  /* Keyframe-Animation für den Funkeleffekt */
}
.smart-search-container > img {
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.smart-search-container .sparkle {
  position: absolute;
  width: 3px;
  height: 3px;
  background: #fff;
  border-radius: 50%;
  opacity: 0;
  animation: sparkle-animation 2s infinite;
}
@keyframes sparkle-animation {
  0% {
    opacity: 0;
    transform: scale(0.5);
  }
  50% {
    opacity: 1;
    transform: scale(1.5);
  }
  100% {
    opacity: 0;
    transform: scale(0.5);
  }
}
.smart-search-container > .inner {
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
}
.smart-search-container > .inner h2 {
  display: block;
  position: relative;
  font-family: var(--font-family-1);
  font-size: 30px;
  line-height: 50px;
  font-weight: 600;
  text-align: center;
}
.smart-search-container > .inner .input-wrapper {
  display: block;
  position: relative;
  width: 100%;
  max-width: 800px;
  margin: 20px auto 20px auto;
}
.smart-search-container > .inner .input-wrapper label {
  display: block;
  position: relative;
  font-family: var(--font-family-1);
  font-size: 20px;
  line-height: 35px;
  font-weight: 500;
  text-align: center;
}
.smart-search-container > .inner .input-wrapper .icon {
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 50px;
  height: 50px;
  text-align: center;
  font-size: 20px;
  line-height: 50px;
  color: var(--color-dark-blue);
}
.smart-search-container > .inner .input-wrapper .btn-send {
  display: block;
  position: absolute;
  right: 0;
  bottom: 0;
  width: 50px;
  height: 50px;
  text-align: center;
  font-size: 20px;
  line-height: 50px;
  color: var(--color-dark-blue);
  cursor: pointer;
}
.smart-search-container > .inner .input-wrapper .btn-send:hover {
  background-color: rgba(0, 0, 0, 0.05);
}
.smart-search-container > .inner .input-wrapper input[type=text] {
  display: block;
  position: relative;
  margin: 10px 0 0 0;
  padding: 12.5px 50px 12.5px 50px;
  height: 50px;
  width: 100%;
  font-size: 16px;
  line-height: 25px;
  border: solid 1px var(--color-dark-blue);
  border-radius: 25px;
}
@media screen and (min-width: 991px) {
  .smart-search-container {
    padding: 25px 25px 50px 25px;
  }
}

.smart-details-view {
  display: inline-block;
  position: relative;
  max-width: 300px;
  padding: 10px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  border-radius: 20px;
}
.smart-details-view .image {
  display: block;
  position: relative;
  width: 100%;
  border-radius: 20px;
  object-fit: cover;
}
.smart-details-view .title {
  display: block;
  position: relative;
  margin: 5px 0 0 0;
  font-size: 18px;
  line-height: 30px;
  font-style: normal;
  font-weight: 500;
}
.smart-details-view .sub-title {
  display: block;
  position: relative;
  font-size: 16px;
  line-height: 25px;
  font-style: normal;
  font-weight: 500;
}
.smart-details-view .tag-container {
  display: block;
  position: relative;
  margin: 0 auto;
  padding: 0;
}
.smart-details-view .tag-container .tag-wrapper {
  display: block;
  position: relative;
  padding: 0;
  margin: -5px;
  width: calc(100% + 10px);
}
.smart-details-view .tag-container .tag-wrapper:after {
  content: "";
  display: block;
  height: 0;
  clear: both;
}
.smart-details-view .tag-container .tag-wrapper .tag {
  display: block;
  position: relative;
  float: left;
  margin: 5px;
  padding: 2px 8px;
  overflow: hidden;
  font-size: 12px;
  line-height: 16px;
  color: var(--color-white);
  text-overflow: ellipsis;
  white-space: nowrap;
  border-radius: 10px;
  background-color: var(--color-dark-blue);
}
.smart-details-view .description {
  display: block;
  position: relative;
  margin: 5px 0 0 0;
  font-size: 14px;
  line-height: 20px;
}
.smart-details-view .action {
  display: block;
  position: relative;
  margin: 10px 0 0 0;
  font-size: 16px;
  line-height: 25px;
  text-decoration: underline;
  text-align: center;
  color: inherit;
  cursor: pointer;
}

.smart-action-view {
  display: block;
  position: relative;
  padding: 10px 10px 10px 50px;
  color: var(--color-white);
  cursor: pointer;
  background-color: var(--color-dark-blue);
  border-radius: 20px;
}
.smart-action-view .icon {
  display: block;
  position: absolute;
  top: 50%;
  left: 10px;
  transform: translate3d(0, -50%, 0);
  width: 30px;
  height: 30px;
  font-size: 25px;
  line-height: 30px;
  text-align: center;
}
.smart-action-view .action-text {
  display: block;
  position: relative;
  text-decoration: underline;
  font-size: 16px;
  line-height: 25px;
  font-weight: 600;
  text-align: center;
}

.chatter-widget {
  display: block;
  position: relative;
  width: 100%;
  background-color: #FFFFFF;
  border-radius: 10px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.chatter-widget > .chatter-container {
  display: block;
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 100%;
  padding: 45px 0 155px 10px;
}
.chatter-widget .chatter-toggle {
  display: none;
  position: relative;
  width: 60px;
  height: 60px;
  cursor: pointer;
}
.chatter-widget .chatter-toggle:hover {
  background-color: rgba(0, 0, 0, 0.02);
}
.chatter-widget .chatter-toggle i {
  display: block;
  width: 60px;
  height: 60px;
  font-size: 30px;
  line-height: 60px;
  text-align: center;
}
.chatter-widget .chatter-toggle .message {
  display: block;
  position: absolute;
  top: 2px;
  right: 5px;
  width: 20px;
  height: 20px;
  font-size: 16px;
  line-height: 20px;
  animation: 1s infinite alternate pulse;
}
.chatter-widget .chatter-toggle.is-active-chat .message {
  font-weight: bold;
  color: #FC2F2F;
}
.chatter-widget .chatter-header {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 40px;
  padding: 0;
  background-color: var(--color-white);
  border-radius: 20px 20px 0 0;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.chatter-widget .chatter-header .icon {
  display: block;
  width: 40px;
  height: 40px;
  border-radius: 5px;
  cursor: pointer;
}
.chatter-widget .chatter-header .icon i {
  display: block;
  width: 40px;
  height: 40px;
  font-size: 14px;
  line-height: 40px;
  text-align: center;
}
.chatter-widget .chatter-header .icon:hover {
  background-color: rgba(0, 0, 0, 0.05);
}
.chatter-widget .chatter-header .icon.btn-clear-chatter {
  display: block;
  position: absolute;
  right: 0;
  top: 0;
  color: var(--color-red);
}
.chatter-widget .chat-history-container {
  display: block;
  position: absolute;
  bottom: 155px;
  left: 10px;
  width: calc(100% - 10px);
  height: calc(100% - 200px);
  padding: 0 10px 10px 0;
  overflow: auto;
}
.chatter-widget .chat-history-container .empty-text {
  display: block;
  position: relative;
  padding: 10px;
  margin: 10px;
  font-size: 16px;
  line-height: 26px;
  background-color: rgba(0, 0, 0, 0.04);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  border-radius: 5px;
}
.chatter-widget .chat-history-container .chat-history {
  display: block;
  position: relative;
  margin: 0;
  padding: 0 10px;
  list-style: none;
}
.chatter-widget .chat-history-container .chat-history li {
  display: block;
  width: 100%;
}
.chatter-widget .chat-history-container .chat-history li.partner-message {
  max-width: 80%;
  margin-right: auto;
  text-align: left;
}
.chatter-widget .chat-history-container .chat-history li.self-message {
  max-width: 80%;
  margin-left: auto;
  text-align: right;
}
.chatter-widget .chat-history-container .chat-history li + li {
  margin-top: 10px;
}
.chatter-widget .message-input-section {
  display: block;
  position: absolute;
  left: 10px;
  bottom: 10px;
  width: calc(100% - 20px);
  height: 130px;
  border-radius: 10px;
  border: solid 1px rgba(14, 24, 56, 0.3);
}
.chatter-widget .message-input-section .loader {
  position: absolute;
  top: 0;
  right: 15px;
  display: none;
}
.chatter-widget .message-input-section .loader.is-visible {
  display: block;
}
.chatter-widget .message-input-section .input-label {
  display: block;
  position: absolute;
  top: -10px;
  left: 10px;
  padding: 0 5px;
  font-family: var(--font-family-1);
  font-size: 12px;
  line-height: 20px;
  color: rgba(0, 0, 0, 0.5);
  background-color: #FFFFFF;
}
.chatter-widget .message-input-section textarea {
  display: block;
  position: relative;
  width: 100%;
  height: 98px;
  border: none;
  outline: none;
  resize: none;
  padding: 10px;
  border-radius: 10px;
  font-family: var(--font-family-2);
  font-size: 16px;
  line-height: 24px;
  color: #0E1838;
}
.chatter-widget .message-input-section textarea:active, .chatter-widget .message-input-section textarea:focus, .chatter-widget .message-input-section textarea:focus-visible {
  border: none;
}
.chatter-widget .message-input-section .action-section {
  display: block;
  position: relative;
  width: calc(100% - 16px);
  height: 30px;
  margin: 0 8px;
  padding: 2px;
  border-radius: 0 0 10px 10px;
  background-color: #FFFFFF;
}
.chatter-widget .message-input-section .action-section .icon {
  display: block;
  width: 26px;
  height: 26px;
  border-radius: 5px;
  cursor: pointer;
}
.chatter-widget .message-input-section .action-section .icon i {
  display: block;
  position: relative;
  width: 26px;
  height: 26px;
  font-size: 14px;
  line-height: 26px;
  text-align: center;
}
.chatter-widget .message-input-section .action-section .icon:hover {
  background-color: rgba(0, 0, 0, 0.05);
}
.chatter-widget .message-input-section .action-section .icon.btn-send-message {
  position: absolute;
  right: 0;
}
.chatter-widget.modal {
  position: fixed;
  top: 80px;
  right: 10px;
  z-index: 100;
  width: 400px;
  height: 100%;
  max-width: calc(var(--viewWidth) - 20px);
  max-height: calc(var(--viewHeight) - 160px);
}
.chatter-widget:has(:not(.modal)) {
  height: calc(var(--viewHeight) - 70px);
}
.chatter-widget:has(:not(.modal)) .chatter-header .btn-close-chatter {
  display: none;
}
.chatter-widget:has(.modal).is-closed {
  width: 60px;
  height: 60px;
  padding: 0;
  margin: 0;
}
.chatter-widget:has(.modal).is-closed .chatter-container {
  width: 0;
  height: 0;
  padding: 0;
}
.chatter-widget:has(.modal).is-closed .chatter-toggle {
  display: block;
}

@keyframes pulse {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.chat-message-container {
  display: inline-block;
  position: relative;
  padding: 0;
  text-align: left;
}
.chat-message-container .message {
  display: block;
  position: relative;
}
.chat-message-container .message p {
  display: block;
  position: relative;
  width: 100%;
  padding: 5px 10px;
  border-radius: 5px;
  margin: 0;
  font-size: 16px;
  line-height: 26px;
  word-break: break-word;
}
.chat-message-container .message.is-partner-message p {
  color: #0E1838;
  background-color: #FFFFFF;
  box-shadow: 0 2px 4px 2px rgba(0, 0, 0, 0.1);
}
.chat-message-container .message.is-self-message p {
  background-color: rgba(200, 200, 200, 0.3);
}
.chat-message-container .message .attributes-container {
  display: block;
  position: relative;
  margin: 5px -1px;
  width: calc(100% + 2px);
}
.chat-message-container .message .attributes-container:after {
  content: "";
  display: block;
  height: 0;
  clear: both;
}
.chat-message-container .message .attributes-container .attribute {
  display: block;
  float: left;
  padding: 2px 8px;
  margin: 1px;
  color: var(--color-white);
  font-family: var(--font-family-1);
  font-size: 10px;
  line-height: 18px;
  background-color: var(--color-dark-blue);
  border-radius: 11px;
}
.chat-message-container .message .action-icon {
  display: block;
  position: relative;
  width: 100%;
  padding: 5px 10px;
  margin: 5px 0 0 0;
}
.chat-message-container .message .action-icon .action-title {
  display: inline-block;
  padding-left: 10px;
  font-size: 16px;
  line-height: 20px;
  text-decoration: underline;
  cursor: pointer;
}
.chat-message-container .message .action-icon.color-red i {
  display: inline-block;
  width: 30px;
  height: 30px;
  color: #FFFFFF;
  font-size: 16px;
  line-height: 30px;
  text-align: center;
  background-color: #FC2F2F;
  border-radius: 5px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}
.chat-message-container .message .action-icon.color-blue i {
  display: inline-block;
  width: 30px;
  height: 30px;
  color: #FFFFFF;
  font-size: 16px;
  line-height: 30px;
  text-align: center;
  background-color: #2945a2;
  border-radius: 5px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}
.chat-message-container .message .action-icon.color-orange i {
  color: #FFAE55;
}
.chat-message-container .message .action-icon.color-green i {
  color: #07D788;
}

.location-input-container {
  display: block;
  position: relative;
}
.location-input-container .location-icon {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  height: 38px;
  width: 24px;
  text-align: center;
  font-size: 14px;
  line-height: 38px;
}
.location-input-container .location-text-input {
  display: block;
  position: relative;
  width: calc(100% - 100px);
  padding: 8px 24px;
  font-family: var(--font-family-1), var(--font-family-2), var(--font-family-3), sans-serif;
  font-size: 14px;
  line-height: 20px;
  border: solid 1px #C8C8C8;
  border-right: none;
  border-radius: 19px 0 0 19px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}
.location-input-container .location-radius-input {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  width: 100px;
  height: 38px;
  padding: 8px 5px 8px 5px;
  font-family: var(--font-family-1), var(--font-family-2), var(--font-family-3), sans-serif;
  font-size: 13px;
  line-height: 20px;
  color: #0E1838;
  border: solid 1px #C8C8C8;
  border-left: none;
  border-radius: 0 19px 19px 0;
  background-color: #E9EBF7;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
  cursor: pointer;
}

.content-container {
  display: block;
  position: relative;
  margin: 0 auto;
  padding: 0 10px;
  width: 100%;
}
.content-container.nav-margin {
  margin-top: 70px;
}
.content-container .inner-container {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}
@media screen and (min-width: 1200px) {
  .content-container {
    padding: 0 20px;
  }
}

.coming-soon-widget {
  display: block;
  position: relative;
  width: 100%;
  height: 708px;
  margin: 0;
  padding: 80px 0 0 0;
  z-index: 0;
  color: var(--color-dark-grey);
}
.coming-soon-widget .bg {
  display: block;
  position: absolute;
  z-index: -1;
  top: 0;
  left: 50%;
  width: var(--viewWidth);
  max-width: 2560px;
  height: 768px;
  transform: translateX(-50%);
  object-fit: cover;
  object-position: top center;
}
.coming-soon-widget.bg-center-center .bg {
  object-position: 50% 25%;
}
.coming-soon-widget .content {
  display: block;
  position: relative;
  width: 100%;
  max-width: 567px;
  margin: 0 auto;
  padding: 20px;
  background-color: rgba(255, 255, 255, 0.8);
  border-radius: 20px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}
.coming-soon-widget .content .coming-soon-icon {
  display: block;
  position: relative;
  font-size: 50px;
  line-height: 100px;
  text-align: center;
}
.coming-soon-widget .content .title {
  text-align: center;
}
.coming-soon-widget .content .category-icon {
  display: block;
  position: relative;
  font-size: 40px;
  line-height: 80px;
  text-align: center;
}
.coming-soon-widget .content .description {
  display: block;
  position: relative;
  font-size: 18px;
  line-height: 25px;
  font-weight: 500;
}

.watchlist-item {
  display: block;
  position: relative;
  margin-top: 10px;
  padding: 10px 10px 30px 10px;
  background-color: #FFFFFF;
  border-radius: 10px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.watchlist-item .image {
  display: block;
  position: relative;
  height: 225px;
  margin-bottom: 10px;
}
.watchlist-item .image img {
  display: block;
  position: relative;
  width: 100%;
  max-height: 225px;
}
.watchlist-item .title {
  display: block;
  font-size: 16px;
  line-height: 25px;
  cursor: pointer;
}
.watchlist-item .btn-details {
  display: block;
  position: absolute;
  bottom: 5px;
  left: 10px;
  font-size: 20px;
  line-height: 20px;
  text-decoration: none;
  color: var(--color-light-blue);
  cursor: pointer;
}
.watchlist-item .btn-trash {
  display: block;
  position: absolute;
  bottom: 5px;
  right: 10px;
  font-size: 20px;
  line-height: 20px;
  text-decoration: none;
  color: var(--color-red);
  cursor: pointer;
}

.link-collection-widget {
  display: block;
  position: relative;
  padding: 10px 15px;
  background-color: var(--color-white);
  border: none;
  border-radius: 15px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
}
.link-collection-widget .heading {
  display: block;
  font-family: var(--font-family-1);
  font-size: 20px;
  line-height: 25px;
  font-weight: bold;
  text-align: left;
}
.link-collection-widget .link {
  display: block;
  position: relative;
  margin: 15px 0 0 0;
  padding: 0 0 0 50px;
  font-family: var(--font-family-1);
  font-size: 20px;
  line-height: 30px;
  font-weight: normal;
  text-align: left;
}
.link-collection-widget .link a {
  display: block;
  color: inherit;
  text-decoration: inherit;
}
.link-collection-widget .link .icon {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 30px;
  height: 30px;
  font-size: 20px;
  line-height: 30px;
  text-align: left;
}
.link-collection-widget .link:hover {
  text-decoration: underline;
}

.action-request-widget {
  display: block;
  position: relative;
  margin: 0;
  padding: 10px 15px 15px 15px;
  width: 100%;
  border-radius: 15px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
}
.action-request-widget .heading {
  display: block;
  font-family: var(--font-family-1);
  font-size: 20px;
  line-height: 30px;
  font-weight: bold;
}
.action-request-widget .text {
  display: block;
  margin: 15px 0 0 0;
  padding: 0;
  font-family: var(--font-family-2);
  font-size: 16px;
  line-height: 20px;
}
.action-request-widget .action {
  display: block;
  position: relative;
  width: 100%;
  height: 50px;
  margin: 15px 0 0 0;
  padding: 0 10px;
  font-family: var(--font-family-1);
  font-size: 20px;
  line-height: 46px;
  color: inherit;
  text-align: center;
  text-decoration: none;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  border-radius: 25px;
  border-width: 2px;
  border-style: solid;
  cursor: pointer;
}
.action-request-widget.blue {
  background-color: var(--color-light-blue);
  color: var(--color-white);
}
.action-request-widget.blue .action {
  border-color: var(--color-white);
}

.font-color-job {
  color: #07D788;
}

.font-hover-color-job:hover {
  color: #07D788;
}

.bg-hover-job:hover {
  background-color: rgba(7, 215, 136, 0.1) !important;
  transition: background-color 200ms;
}

.font-color-vehicle {
  color: #FC2F2F;
}

.font-hover-color-vehicle:hover {
  color: #FC2F2F;
}

.bg-hover-vehicle:hover {
  background-color: rgba(252, 47, 47, 0.1) !important;
  transition: background-color 200ms;
}

.font-color-immo {
  color: #2A48A9;
}

.font-hover-color-immo:hover {
  color: #2A48A9;
}

.bg-hover-immo:hover {
  background-color: rgba(42, 72, 169, 0.1) !important;
  transition: background-color 200ms;
}

.font-color-travel {
  color: #FFAE55;
}

.font-hover-color-travel:hover {
  color: #FFAE55;
}

.bg-hover-travel:hover {
  background-color: rgba(255, 174, 85, 0.1) !important;
  transition: background-color 200ms;
}

#footer {
  margin-top: 60px;
  font-family: var(--font-family-1);
  font-size: 16px;
  font-weight: 500;
}
@media screen and (min-width: 567px) {
  #footer .root-col + .root-col {
    margin-top: auto;
  }
  #footer .r-col-s-6 {
    width: 50%;
  }
}

#navFooter {
  display: block;
  position: relative;
  padding-top: 50px;
  padding-bottom: 50px;
  line-height: 40px;
  color: #FFFFFF;
}
#navFooter:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 50%;
  width: 100vw;
  height: 100%;
  transform: translateX(-50%);
  background-color: rgba(14, 24, 56, 0.7);
}
#navFooter h1, #navFooter h2, #navFooter h3 {
  display: block;
  position: relative;
  margin: 0;
  padding: 0;
  font-family: var(--font-family-1), var(--font-family-2), var(--font-family-3), sans-serif;
  font-weight: 500;
  color: #FFFFFF;
}
#navFooter p {
  display: block;
  position: relative;
  margin: 0;
  padding: 0;
  font-family: var(--font-family-1), var(--font-family-2), var(--font-family-3), sans-serif;
  font-size: 16px;
  line-height: 40px;
  color: #FFFFFF;
}
#navFooter a {
  display: block;
  position: relative;
  text-decoration: none;
  color: inherit;
}
#navFooter a:hover {
  text-decoration: underline;
}
#navFooter ul {
  margin: 0;
  padding: 0;
}
#navFooter ul li {
  list-style: none;
}
#navFooter .root-col + .root-col {
  margin-top: 30px;
}
@media screen and (min-width: 567px) {
  #navFooter .root-col + .root-col {
    margin-top: auto;
  }
}

#footerExtension {
  display: block;
  position: relative;
  padding-top: 10px;
  padding-bottom: 10px;
  line-height: 30px;
}
#footerExtension:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 50%;
  width: 100vw;
  height: 100%;
  z-index: 0;
  transform: translateX(-50%);
  background-color: #FFFFFF;
}
#footerExtension a {
  color: inherit;
  text-decoration: none;
}
#footerExtension i, #footerExtension .icon {
  display: inline-block;
  width: 30px;
  text-align: center;
  font-size: 20px;
  line-height: 30px;
}
#footerExtension .copy-right {
  margin-top: 10px;
}
@media screen and (min-width: 567px) {
  #footerExtension .copy-right {
    margin-top: 0;
    text-align: right;
  }
}

#imprint {
  display: block;
  position: relative;
  width: 100%;
  padding-top: 50px;
  padding-bottom: 50px;
  font-family: var(--font-family-1);
  font-size: 16px;
  line-height: 40px;
  font-weight: 500;
}
#imprint:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 50%;
  width: 100vw;
  height: 100%;
  transform: translateX(-50%);
}
#imprint h1 {
  font-family: var(--font-family-1), Sans-serif;
  font-size: 55px;
  font-weight: 600;
  line-height: 80px;
  text-shadow: 0px 2px 4px rgba(0, 0, 0, 0.08);
}
#imprint p {
  display: block;
  margin-block-start: 1em;
  margin-block-end: 1em;
  margin-inline-start: 0px;
  margin-inline-end: 0px;
  margin-bottom: 15px;
}
#imprint .root-col + .root-col {
  margin-top: 30px;
}
@media screen and (min-width: 1280px) {
  #imprint .root-col + .root-col {
    margin-top: auto;
  }
  #imprint .r-col-s-6 {
    width: 50%;
  }
}

.nation-select-container {
  display: block;
  position: relative;
  padding: 20px;
  background-color: #FFFFFF;
  border-radius: 20px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.nation-select-container .nation-select {
  display: block;
  position: relative;
  margin-top: 15px;
}
.nation-select-container .nation-select .nation-list {
  display: block;
  position: relative;
  margin: 0;
  padding: 0;
}
.nation-select-container .nation-select .nation-list .nation-item {
  display: block;
  position: relative;
  margin: 0;
  padding: 0;
  list-style: none;
  background-color: rgba(14, 24, 56, 0.05);
  border-radius: 10px;
}
.nation-select-container .nation-select .nation-list .nation-item:hover {
  background-color: rgba(14, 24, 56, 0.1);
}
.nation-select-container .nation-select .nation-list .nation-item + .nation-item {
  margin-top: 10px;
}
.nation-select-container .nation-select .nation-list .nation-link {
  display: block;
  position: relative;
  padding-left: 70px;
  font-size: 16px;
  line-height: 50px;
  color: inherit;
  text-decoration: none;
}
.nation-select-container .nation-select .nation-list .nation-link .nation-icon {
  display: block;
  position: absolute;
  top: 5px;
  left: 5px;
  width: 40px;
  height: 40px;
}
.nation-select-container .nation-select .nation-list .nation-link .nation-icon img {
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
}

.turn-device-widget {
  display: none;
  position: relative;
  width: 100%;
  height: var(--viewHeight);
}
.turn-device-widget .content {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  width: 100%;
  max-width: 300px;
  margin: 0 auto;
  padding: 20px;
  background-color: rgba(42, 72, 169, 0.2);
  border-radius: 20px;
}
.turn-device-widget .content .icon {
  display: block;
  position: relative;
  text-align: center;
  width: 100%;
  font-size: 30px;
  line-height: 50px;
}
.turn-device-widget .content h2 {
  font-size: 16px;
  line-height: 25px;
}
@media screen and (max-height: 480px) and (orientation: landscape) {
  .turn-device-widget {
    display: block;
  }
}

.index-container {
  display: block;
  position: relative;
  margin-top: -70px;
  width: 100%;
  z-index: 1001;
}
.index-container:before {
  display: block;
  content: "";
  position: relative;
  z-index: -1;
  top: 0;
  left: 50%;
  height: 500px;
  width: var(--contentWidth);
  transform: translateX(-50%);
}
.index-container .header-bg {
  display: block;
  position: absolute;
  z-index: -1;
  top: 0;
  left: 50%;
  width: var(--contentWidth);
  height: 500px;
  transform: translateX(-50%);
  object-fit: cover;
  object-position: top center;
}
.index-container .iswipe-heading {
  display: block;
  position: absolute;
  top: 100px;
  left: 10px;
  width: 75%;
  max-width: 500px;
  color: #FFFFFF;
}
.index-container .iswipe-heading h1 {
  margin: 0;
  padding: 0;
  font-size: 30px;
  line-height: 40px;
}
.index-container .iswipe-heading p {
  font-family: var(--font-family-1), var(--font-family-2), var(--font-family-3), sans-serif;
  margin: 15px 0 0 0;
  padding: 0;
  font-size: 25px;
  line-height: 35px;
}

#contentContainer {
  margin: 80px auto 0 auto;
  width: 100%;
  max-width: 1400px;
}
#contentContainer h1 {
  font-weight: 500;
  font-size: 30px;
  letter-spacing: 1px;
}

#loginForm {
  max-width: 600px;
  margin: 80px auto 0 auto;
}

#nationSelectTemplate {
  max-width: 600px;
  margin: 80px auto 0 auto;
}

#jobQuickSearchForm {
  display: block;
  margin: 0 auto;
}
@media screen and (min-width: 567px) {
  #jobQuickSearchForm {
    max-width: 567px;
  }
}

.legal-text-container {
  display: block;
  position: relative;
  padding: 80px 0;
}
.legal-text-container h1 {
  font-family: var(--font-family-1), Sans-serif;
  font-size: 40px;
  font-weight: 500;
  line-height: 50px;
}
.legal-text-container h2 {
  display: block;
  position: relative;
  margin: 25px 0 0 0;
}
.legal-text-container h3 {
  display: block;
  position: relative;
  margin: 15px 0 0 0;
}
.legal-text-container p {
  display: block;
  position: relative;
  margin: 15px 0 0 0;
  padding: 0;
}
.legal-text-container ul {
  list-style: disc;
  margin: 10px;
  padding-left: 20px;
  font-size: 16px;
  font-family: var(--font-family-2), var(--font-family-3), sans-serif;
}

.min-full-height-container {
  display: block;
  position: relative;
  min-height: calc(var(--viewHeight) - 70px - 80px);
  padding: 0;
}

#companyInfoTemplate {
  max-width: 768px;
  margin: 0 auto;
}
#companyInfoTemplate h1 {
  display: block;
  margin: 0;
  padding: 0 20px;
}
#companyInfoTemplate h2 {
  display: block;
  margin: 0;
  word-wrap: anywhere;
}
#companyInfoTemplate .section {
  display: block;
  position: relative;
  margin: 100px 0 50px 0;
}
#companyInfoTemplate .section .header {
  display: block;
  position: relative;
  padding: 0 170px 0 0;
}
#companyInfoTemplate .section .header h2 {
  display: block;
  position: relative;
  margin: 0;
  padding: 0 0 30px 20px;
  font-weight: bolder;
}
#companyInfoTemplate .section .header .overlay {
  display: block;
  position: absolute;
  bottom: 0;
  right: 0;
  width: 150px;
  height: 150px;
  background-color: transparent;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
}
#companyInfoTemplate .section .icon {
  display: block;
  position: relative;
  font-size: 50px;
  line-height: 70px;
  text-align: center;
}
#companyInfoTemplate .section p {
  display: block;
  margin: 0;
  padding: 20px;
  font-size: 16px;
  line-height: 25px;
  letter-spacing: 0.2px;
  background-color: #FFFFFF;
  border-radius: 20px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
@media screen and (min-width: 768px) {
  #companyInfoTemplate .section {
    margin-top: 100px;
  }
  #companyInfoTemplate .section .header {
    padding: 20px 220px 0 0;
  }
  #companyInfoTemplate .section .header h2 {
    padding: 0 0 10px 20px;
    font-size: 25px;
    line-height: 37px;
  }
  #companyInfoTemplate .section .header .overlay {
    width: 200px;
    height: 200px;
  }
  #companyInfoTemplate .section .icon {
    float: left;
    width: 90px;
    height: 70px;
  }
  #companyInfoTemplate .section p:after {
    content: "";
    display: block;
    clear: both;
    height: 0;
  }
}

/*# sourceMappingURL=frontend.css.map */
