﻿@charset "UTF-8";
/* common */
/* buttons */
/*sidebar*/
/*topbar*/
/* break points */
/* forms */
/* reports */
/* lists */
/* login */
@import url("https://fonts.googleapis.com/css?family=Open+Sans+Condensed:300,400,500,600,700|Open+Sans:400,500,600,700");
html {
  height: 100%;
  font-size: 62.5%;
  scroll-padding-top: 8.5rem;
}
html body {
  display: flex;
  flex-direction: column;
  background-color: #fff;
  min-height: 100vh;
}
html body .content-container {
  display: flex;
  flex: 1 1 100%;
  align-items: stretch;
  min-height: 100%;
}
html body .content-container .page-content {
  padding: 3rem;
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: stretch;
  padding-top: 8.5rem !important;
  width: 100%;
  min-width: 0;
  min-height: 100%;
}
@media (max-width: 680px) {
  html body .content-container .page-content {
    padding: 3rem 1.5rem 3rem 1.5rem;
  }
}
html body .content-container .page-content:has(.raportit) {
  padding-bottom: 0;
}

.mb-padding {
  margin-bottom: 3rem !important;
}

.mb-padding-less {
  margin-bottom: 1.5rem !important;
}

.mt-padding {
  margin-top: 3rem !important;
}

.mt-padding-less {
  margin-top: 1.5rem !important;
}

.pt-0 {
  padding-top: 0;
}

.strong-links a {
  font-weight: 600;
}

.two-column-row {
  display: flex;
  column-gap: 3rem;
  align-items: flex-end;
}
.two-column-row > * {
  width: calc(50% - 1.5rem);
  margin-bottom: 0;
}
.two-column-row.align-top {
  align-items: flex-start;
}
@media (max-width: 680px) {
  .two-column-row {
    display: block;
  }
  .two-column-row > * {
    margin-bottom: 2rem;
    width: 100%;
  }
}
.two-column-row .card {
  max-width: 70rem;
}

.half-column-row {
  width: calc(50% - 1.5rem);
}
@media (max-width: 680px) {
  .half-column-row {
    width: 100%;
  }
}

.container-box {
  padding: 3rem 1.5rem 1.5rem 1.5rem;
  border: 1px solid #d7d7d7;
}

.rotate90 {
  transform: rotate(90deg);
}

.spinner-border {
  color: #0a6478 !important;
}

.page-content {
  padding-bottom: 0 !important;
}

.page-content:has(.fixed-buttons):not(:has(.front-page-tabs)) {
  padding-bottom: 7.3rem !important;
}

.nowrap {
  white-space: nowrap;
}

.welcome {
  margin-bottom: 3rem;
}

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

select {
  resize: vertical;
}

@media (min-width: 900px) {
  .mobile-only {
    display: none;
  }
}
@media (max-width: 900px) {
  .desktop-only {
    display: none;
  }
}
.form-data {
  max-width: 70rem;
}

[v-cloak] {
  display: none;
}

#sidebar {
  background-color: #1c212d;
  flex: 0 0 21rem;
  padding: 0 1rem 2rem 1rem;
  font-family: "Open Sans Condensed", sans-serif;
  font-size: 1.6rem;
  font-weight: 600;
  z-index: 100;
}
#sidebar .logo {
  padding: 1.5rem 1.2rem 0 1.2rem;
  height: 5.5rem;
}
#sidebar .logo img {
  max-height: 100%;
  width: auto;
  max-width: 100%;
}
#sidebar .logo .text {
  color: #fff;
  text-transform: uppercase;
}
#sidebar .heading {
  margin: 3rem 1.5rem 1rem 1.1rem;
  color: #818ea6;
  text-transform: uppercase;
  list-style: none;
}
#sidebar .heading:first-child {
  margin-top: 2rem;
}
#sidebar .separator {
  display: none;
  margin: 2rem 0;
  border-top: 1px solid #6b6e76;
}
#sidebar ul.menu {
  padding: 0;
  margin: 2rem 0;
}
#sidebar ul.menu a.nav-link {
  position: relative;
  display: block;
  margin: 0.2remx 0;
  padding: 0 1rem;
  width: 100%;
  color: #b4b7bc;
  line-height: 3.8rem;
  border-radius: 0.5rem;
  text-decoration: none;
}
#sidebar ul.menu a.nav-link .fa {
  margin-right: 1rem;
  width: 2rem;
  color: #818ea6;
}
#sidebar ul.menu a.nav-link .badge {
  display: block;
  position: absolute;
  top: 0.3rem;
  left: -0.3rem;
  font-size: 0.7em;
}
#sidebar ul.menu a.nav-link:hover {
  background-color: #51555f;
}
#sidebar ul.menu a.nav-link.active {
  background-color: #fe6e00;
  color: #fff;
}
#sidebar ul.menu a.nav-link.active .fa {
  color: #fff;
}

@media only screen and (max-width: 1023px) {
  #sidebar {
    flex: 0 0 6rem;
  }
  #sidebar .logo {
    padding: 1.5rem 0 0 0;
  }
  #sidebar .logo img {
    width: 3.8rem;
    height: auto;
  }
  #sidebar .logo .text {
    display: none;
  }
  #sidebar .heading,
  #sidebar .link-text {
    display: none;
  }
  #sidebar .separator {
    display: block;
  }
  #sidebar hr {
    display: block;
    margin: 2rem 0;
    color: #6b6e76;
    opacity: 1;
  }
  #sidebar ul.menu a.nav-link {
    position: relative;
    width: 3.8rem;
  }
  #sidebar ul.menu a.nav-link:hover .link-text {
    display: block;
    position: absolute;
    top: 0.6rem;
    left: 4.5rem;
    padding: 0.5rem 3rem 0.6rem 1.5rem;
    line-height: 1em;
    border-radius: 0.5rem;
    background-color: #51555f;
    z-index: 101;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  #sidebar ul.menu a.nav-link:hover .active .link-text {
    background-color: #fe6e00;
  }
  #sidebar ul.menu a.nav-link svg {
    margin: 0;
    padding: 0;
    width: auto;
  }
}
.content-container:has(.fixed-buttons) #sidebar {
  padding-bottom: 7.3rem;
}

#top-bar {
  position: fixed;
  top: 0;
  right: 0;
  left: 21rem;
  display: flex;
  height: 5.5rem;
  overflow-x: clip;
  background-color: #fff;
  z-index: 1000;
  -webkit-appearance: none;
  -webkit-box-shadow: 0 0.3rem 0.3rem 0 #ddd;
  box-shadow: 0 0.3rem 0.3rem 0 #ddd;
}
#top-bar .top-bar-content {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 0 3rem 0 3rem;
  background-color: #fff;
}
#top-bar .top-bar-content .input-group {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
}
#top-bar .top-bar-content .text {
  margin-right: 0.5rem;
}
#top-bar .top-bar-content #pikahaku {
  padding: 0.5rem 1rem;
}
#top-bar .top-bar-content #pikahakulista {
  margin-top: 0.5rem;
  padding: 0 0 0.7rem 0 !important;
  box-shadow: rgba(0, 0, 0, 0.33) 0 1px 7px;
  border-radius: 0.5rem;
  overflow: clip;
  width: max-content;
  max-width: calc(100vw - 21rem - 6rem);
  border: 1px solid #d7d7d7;
  max-height: 17.5rem;
  overflow-y: auto;
  background-color: #fff;
}
#top-bar .top-bar-content #pikahakulista > div {
  padding: 0;
  margin: 0;
  width: 100%;
  border: none;
  outline: none;
}
#top-bar .top-bar-content #pikahakulista span.type {
  display: block;
  padding: 0.5rem 1rem;
  font-family: "Open Sans Condensed", sans-serif;
  font-weight: 600;
  font-size: 1.4rem;
  background-color: #f6f8fa;
  border-bottom: 1px solid #d7d7d7;
  text-transform: uppercase;
}
#top-bar .top-bar-content #pikahakulista a,
#top-bar .top-bar-content #pikahakulista div > i,
#top-bar .top-bar-content #pikahakulista .no-data {
  display: block;
  padding: 0.5rem 1.5rem !important;
  font-family: "Open Sans", sans-serif;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.2em;
  text-decoration: none;
}
#top-bar .top-bar-content #pikahakulista a {
  color: #0a6478;
  border: none;
}
#top-bar .top-bar-content #pikahakulista a:hover {
  background-color: #f6f8fa;
}
#top-bar .top-bar-content #pikahakulista .no-data {
  font-style: italic;
}
#top-bar .top-bar-content #pikahakulista .user-name-alt {
  display: none;
}
#top-bar .top-bar-content #pikahakulista ul {
  margin: 0;
  padding: 0.7rem 0 1rem 0;
}
#top-bar .top-bar-content #pikahakulista ul li a {
  display: block;
  position: relative;
  padding-right: 5rem !important;
}
#top-bar .top-bar-content #pikahakulista ul li a i.fa {
  position: absolute;
  top: calc(1.4em - 1.4rem + 0.3rem);
  right: 1rem;
}
#top-bar .top-bar-content .top-bar-search-box {
  margin-right: 1.5rem;
  padding: 0;
  width: 50%;
  max-width: 30rem;
  min-width: 11.5rem;
}
#top-bar .top-bar-content .top-bar-search-box input {
  font-size: 1.6rem;
  line-height: 1.5em;
}
#top-bar .top-bar-content .top-bar-search-box .dropdown-menu {
  margin-top: 0;
  padding: 0.6rem 0 0.7rem 0 !important;
  box-shadow: rgba(0, 0, 0, 0.33) 0 1px 7px;
  border-radius: 0.5rem;
  border: 1px solid #d7d7d7;
  overflow-y: auto;
  min-width: max-content;
  max-width: max-content;
}
#top-bar .top-bar-content .top-bar-search-box .dropdown-menu > div {
  padding: 0;
  margin: 0;
  width: 100%;
  border: none;
  outline: none;
}
#top-bar .top-bar-content .top-bar-search-box .dropdown-menu h5 {
  display: block;
  padding: 0.5rem 1rem;
  font-family: "Open Sans Condensed", sans-serif;
  font-weight: 600;
  font-size: 1.4rem;
  background-color: #f6f8fa;
  border-bottom: 1px solid #d7d7d7;
  text-transform: uppercase;
  margin-bottom: 0;
}
#top-bar .top-bar-content .top-bar-search-box .dropdown-menu a,
#top-bar .top-bar-content .top-bar-search-box .dropdown-menu .btn-none,
#top-bar .top-bar-content .top-bar-search-box .dropdown-menu div > i,
#top-bar .top-bar-content .top-bar-search-box .dropdown-menu .no-data {
  display: block;
  padding: 0 1.5rem 0 1.5rem !important;
  font-family: "Open Sans", sans-serif;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 2.8rem;
  text-decoration: none;
  white-space: nowrap;
}
#top-bar .top-bar-content .top-bar-search-box .dropdown-menu a {
  color: #0a6478;
}
#top-bar .top-bar-content .top-bar-search-box .dropdown-menu a > span.d-flex {
  align-items: stretch;
}
#top-bar .top-bar-content .top-bar-search-box .dropdown-menu a > span.d-flex > div.d-flex {
  width: 100%;
}
#top-bar .top-bar-content .top-bar-search-box .dropdown-menu a:hover {
  background-color: #eaf0f6;
}
#top-bar .top-bar-content .top-bar-search-box .dropdown-menu .no-data {
  font-style: italic;
}
#top-bar .top-bar-content .top-bar-search-box .dropdown-menu .user-name-alt {
  display: none;
}
#top-bar .top-bar-content .top-bar-search-box .dropdown-menu ul {
  margin: 0.8rem 0;
  padding: 0;
}
#top-bar .top-bar-content .top-bar-search-box .dropdown-menu hr {
  display: none;
}
#top-bar .top-bar-content .top-bar-button-container {
  position: relative;
  margin-right: 1.5rem;
  color: #0a6478;
}
#top-bar .top-bar-content .top-bar-button-container.user {
  margin-right: 0;
}
#top-bar .top-bar-content .top-bar-button-container .top-bar-button {
  cursor: pointer;
  white-space: nowrap;
}
#top-bar .top-bar-content .top-bar-button-container .top-bar-button .text {
  font-family: "Open Sans Condensed", sans-serif;
  font-weight: 600;
  text-transform: uppercase;
}
#top-bar .top-bar-content .top-bar-button-container .top-bar-button.user {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 4rem;
  height: 4rem;
  font-weight: 600;
  border: 1px solid #d7d7d7;
  border-radius: 50%;
  border: 1px solid #d7d7d7;
}
#top-bar .top-bar-content .top-bar-button-container .top-bar-changing-box {
  display: none;
  padding: 0.6rem 0 0.7rem 0;
  position: absolute;
  top: 3rem;
  left: 0;
  width: max-content;
  background-color: #fff;
  box-shadow: rgba(0, 0, 0, 0.33) 0 1px 7px;
  border: 1px solid #d7d7d7;
  border-radius: 0.5rem;
}
#top-bar .top-bar-content .top-bar-button-container .top-bar-changing-box i {
  padding: 0 1.5rem;
}
#top-bar .top-bar-content .top-bar-button-container .top-bar-changing-box.user {
  padding: 0 0 0.7rem 0;
  top: 4.5rem;
  left: auto;
  right: 0;
}
#top-bar .top-bar-content .top-bar-button-container .top-bar-changing-box.user .user-name {
  margin-bottom: 1rem;
  padding: 0 1.5rem;
  font-family: "Open Sans Condensed", sans-serif;
  font-weight: 700;
  line-height: 2em;
  color: #33475b;
  background-color: #f6f8fa;
  border-bottom: 1px solid #d7d7d7;
  text-transform: uppercase;
}
#top-bar .top-bar-content .top-bar-button-container .top-bar-changing-box.user form {
  padding: 0 1.3rem;
  line-height: 2em;
}
#top-bar .top-bar-content .top-bar-button-container .top-bar-changing-box.user form select {
  appearance: none;
  -webkit-appearance: none;
  padding: 0 1rem;
  width: 100%;
  border: 1px solid #d7d7d7;
  border-radius: 0.5rem;
}
#top-bar .top-bar-content .top-bar-button-container .top-bar-changing-box.user form select:active, #top-bar .top-bar-content .top-bar-button-container .top-bar-changing-box.user form select:focus {
  outline: none;
}
#top-bar .top-bar-content .top-bar-button-container .top-bar-changing-box a {
  display: block;
  padding: 0 1.5rem;
  line-height: 2em;
  color: #0a6478;
}
#top-bar .top-bar-content .top-bar-button-container .top-bar-changing-box a:hover {
  text-decoration: none;
  background-color: #f6f8fa;
}
#top-bar .top-bar-content .user .dropdown-menu,
#top-bar .top-bar-content .top-bar-search-box .dropdown-menu {
  margin-top: 0.5rem;
  padding: 0 !important;
  min-width: max-content;
}
#top-bar .top-bar-content .user .dropdown-menu div > div:last-child,
#top-bar .top-bar-content .top-bar-search-box .dropdown-menu div > div:last-child {
  border-top: 1px solid #d7d7d7;
}
#top-bar .top-bar-content .user .dropdown-menu i,
#top-bar .top-bar-content .top-bar-search-box .dropdown-menu i {
  margin-right: 0;
  padding-right: 0;
}
#top-bar .top-bar-content input {
  width: 100%;
  background-color: #f6f8fa;
  border: 1px solid #d7d7d7;
  border-radius: 0.5rem;
}
#top-bar .top-bar-content input:focus,
#top-bar .top-bar-content input:active {
  outline: none !important;
  box-shadow: none !important;
  border: 1px solid #d7d7d7;
}
#top-bar .top-bar-content .btn {
  padding: 0.8rem 0;
  margin-right: 1.5rem;
  text-transform: uppercase;
  font-family: "Open Sans Condensed", sans-serif;
  font-size: 1.4rem;
  font-weight: 600;
  border-radius: 0;
  color: #0a6478;
  white-space: nowrap;
}
#top-bar .top-bar-content i {
  margin-right: 0.5rem;
  color: #33475b;
}
#top-bar .top-bar-content .separator {
  padding: 0 0 0 1.5rem;
  height: 4rem;
  border-left: 1px solid #d7d7d7;
}
#top-bar .top-bar-content .current-user {
  display: flex;
  align-items: center;
  padding-left: 1.5rem;
  height: 4rem;
  border-left: 1px solid #d7d7d7;
}
#top-bar .top-bar-content .current-user .icon-wrapper {
  display: inline-block;
  width: 4rem;
  height: 4rem;
  font-size: 2rem;
  line-height: 3.7rem;
  text-align: center;
  border: 1px solid #d7d7d7;
  border-radius: 2rem;
  cursor: pointer;
}
#top-bar .top-bar-content .current-user .icon-wrapper i {
  margin: 0;
}
@media (max-width: 500px) {
  #top-bar .top-bar-content {
    padding: 0 1.5rem;
  }
  #top-bar .top-bar-content .btn,
  #top-bar .top-bar-content .separator,
  #top-bar .top-bar-content .input-group,
  #top-bar .top-bar-content .quick-search,
  #top-bar .top-bar-content .top-bar-opener,
  #top-bar .top-bar-content .top-bar-button-container {
    margin-right: 0.4rem;
  }
  #top-bar .top-bar-content .separator {
    padding-left: 0.4rem;
  }
  #top-bar .top-bar-content .current-user {
    padding-left: 0.4rem;
  }
  #top-bar .top-bar-content .current-user .user-name {
    display: none;
  }
}

@media only screen and (max-width: 1023px) {
  #top-bar {
    left: 6rem;
  }
  #top-bar .top-bar-content #pikahakulista {
    max-width: calc(100vw - 6rem - 7.5rem);
  }
}
@media only screen and (max-width: 900px) {
  #top-bar .text {
    display: none;
  }
}
@media only screen and (max-width: 500px) {
  #top-bar {
    left: 6rem;
  }
  #top-bar .top-bar-content #pikahakulista {
    max-width: calc(100vw - 6rem - 3.75rem);
  }
}
body.safariAgent #top-bar #pikahakulista,
body.safariAgent #top-bar .top-bar-changing-box {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  z-index: 1001;
}

.quick-search {
  margin-right: 1.5rem;
  padding: 0.3rem 0.5rem 0 0;
  width: 50%;
  max-width: 30rem;
  min-width: 11.5rem;
}
.quick-search li.selected {
  background-color: #eaf0f6;
}
.quick-search .no-results {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}
.quick-search .icon-prefix {
  min-width: 2rem;
  display: flex;
  justify-content: center;
}
@media (max-width: 680px) {
  .quick-search .dropdown-menu {
    min-width: min(500%, 100vw - 6rem - 3rem - 1rem);
  }
}
.quick-search .dropdown-menu a {
  padding: 0.5rem 1.5rem !important;
  line-height: 1.8rem;
  white-space: normal !important;
}
.quick-search .dropdown-menu a .ms-2 {
  padding-left: 2rem;
  white-space: nowrap;
}
.quick-search .dropdown-menu a .ms-2 .fa:not(:first-child) {
  margin-left: 0.2rem;
}

.alert {
  padding: 1.5rem;
  color: #33475b;
  box-shadow: rgba(0, 0, 0, 0.1) 0px 1px 7px;
  border: 1px solid #d7d7d7;
  border-radius: 0.5rem;
}
.alert a {
  font-weight: 600;
  text-decoration: underline;
}
.alert.alert-error, .alert.alert-danger {
  margin-bottom: 3rem;
  background-color: #fbede9;
  border-color: #ed9e8e;
  color: #33475b;
}
.alert.alert-error li, .alert.alert-danger li {
  font-weight: 600 !important;
}
.alert.alert-error li:before, .alert.alert-danger li:before {
  content: "\f071";
  margin-right: 0.5rem;
  font-family: "Font Awesome 5 Pro";
  color: #d9001b;
}
.alert.alert-info {
  margin-bottom: 3rem;
  background-color: #fef7ea;
}
.alert.alert-info p {
  margin-bottom: 0.5em;
}
.alert.alert-info p:last-child {
  margin-bottom: 0;
}
.alert.alert-info a {
  font-weight: 600;
}
.alert.alert-info.no-search, .alert.alert-info.no-results {
  margin-bottom: 3rem;
  padding: 3rem;
  font-size: 2.4rem;
  font-weight: 600;
  line-height: 1.2em;
  text-align: center;
  background-color: transparent;
  background-image: url("/images/Pattern-Transparent-Background.png");
  background-size: 60%;
  background-position: 100% 8%;
  border-radius: 0;
  box-shadow: none;
}
.alert.alert-info.no-search {
  margin: 3rem;
  width: 100%;
  height: fit-content;
}
@media (max-width: 680px) {
  .alert.alert-info.no-search {
    display: none;
  }
}
.alert.alert-info ul {
  margin-left: 1.5rem;
  padding: 0.5em 0 0 0;
  list-style: disc;
}
.alert.alert-info ul ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.alert.alert-info li img {
  margin: 1.5rem 0;
}
.alert ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

body {
  font-family: "Open Sans", sans-serif;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 1.4em;
  color: #33475b;
}

/*Asp.net coressa on sisäinen ihme systeemi, joka poistaa newlinet html:stä jos ne eivät renderöidy <pre> tagin sisällä
    <pre>-tagissä taas on jotain tyylejä joita ei haluta näyttää kun halutaan yksinkertaisesti vain näyttää normaalia tekstiä rivinvaihdoilla
    Tämä hack korjaa tyylit, mutta on silti käytettävä <pre> tagia jos haluaa näyttää rivinvaihtoja
*/
.pre-hack {
  white-space: pre-line;
  font-family: "Open Sans", sans-serif !important;
  font-weight: 400 !important;
  font-size: 1.4rem !important;
  line-height: 1.4em !important;
  color: #33475b !important;
}

h1 {
  margin-bottom: 3rem;
  font-size: calc(2.2rem + 1.5vw);
}
@media (min-width: 1200px) {
  h1 {
    font-size: 4rem;
  }
}

h2 {
  font-size: 2.4rem;
}

h4 {
  font-size: 1.8rem;
  font-family: "Open Sans Condensed", sans-serif;
  font-weight: 600;
}

h5,
.h5 {
  font-size: 1.8rem;
  font-family: "Open Sans Condensed", sans-serif;
  font-weight: 600;
}

a {
  color: #0a6478;
  text-decoration: none;
}
a:hover {
  color: #0a6478;
  text-decoration: underline;
}

.form-label {
  font-weight: 600;
}

.capitalize-first-letter {
  text-transform: lowercase;
}
.capitalize-first-letter::first-letter {
  text-transform: uppercase;
}

.plaintext {
  font-family: "Open Sans", sans-serif;
  font-weight: 400;
}

.no-results {
  z-index: 1;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

table {
  margin-bottom: 0 !important;
  border-collapse: collapse;
  border-bottom: 1px solid #d7d7d7;
}
table th, table td {
  padding: 1rem 2rem !important;
  vertical-align: top !important;
  border-right: 1px solid #d7d7d7;
}
table th:first-child, table td:first-child {
  border-left: 0;
}
table th:last-child, table td:last-child {
  border-right: 0;
}
table thead th {
  border-bottom: none !important;
}
table th {
  position: relative;
  padding: 1rem 3rem 1rem 2rem !important;
  white-space: nowrap;
}
table th .fa,
table th .fad {
  opacity: 0.3;
  cursor: pointer;
}
table th .fa:not(.non-absolute),
table th .fad:not(.non-absolute) {
  position: absolute;
  top: 1.1rem;
  right: 1rem;
}
table th .fa-sort,
table th .fa-sort-up,
table th .fa-sort-down {
  font-size: 130%;
}
table th.sortable {
  cursor: pointer;
}
table th.sortable:has(.fa):not(:has(.rotate90)) {
  background-color: #eaf0f6;
}
table th.sortable:has(.fa):not(:has(.rotate90)) i {
  opacity: 1;
  color: #2980b9;
}
table th.ascending, table th.descending {
  background-color: #eaf0f6;
}
table th.ascending i, table th.descending i {
  opacity: 1;
  --fa-primary-color: #2980b9;
  --fa-secondary-color: #888;
}
table th .column-filter {
  font-family: "Open Sans", sans-serif;
  margin-left: 0.6rem;
}
table th .column-filter.dropdown {
  position: static !important;
}
table th .column-filter .dropdown-menu {
  top: 1.5rem;
  left: -6rem;
}
table th .column-filter .dropdown-menu .btn-primary {
  margin-top: 0.6rem;
  text-align: center;
}
table th .column-filter .fa {
  margin-left: 0.4rem;
}
table th .column-filter .input-container {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}
table th .column-filter .input-container .mb-3 {
  margin-bottom: 0 !important;
}
table th .column-filter .input-container input {
  max-width: 21rem;
}
table th .column-filter .input-container input.dp__input {
  max-width: 14rem;
}
table th .column-filter .input-container input#VM_Summa_Alku, table th .column-filter .input-container input#VM_Summa_Loppu {
  max-width: 12rem;
}
table th .column-filter .input-container input#VM_VerovuosiValilla_Alku, table th .column-filter .input-container input#VM_VerovuosiValilla_Loppu {
  max-width: 7rem;
}
table th .column-filter .active .fa-filter {
  opacity: 0.7;
  color: #0a6478;
}
table td {
  background-color: #fff !important;
}
table td a {
  font-weight: 600;
  color: #0a6478;
  text-decoration: none;
}
table td a:hover {
  color: #0a6478;
  text-decoration: underline;
}
table td.row-action {
  white-space: nowrap;
}
table td:last-child.row-action {
  text-align: right;
}
table tfoot tr {
  font-weight: 600;
}
table th:has(input[type=checkbox]),
table td:has(input[type=checkbox]) {
  vertical-align: baseline;
  padding: 1rem 0 0 1rem !important;
  width: 3rem;
}
table input[type=checkbox] {
  accent-color: #0a6478;
  width: 1.8rem;
  height: 1.8rem;
  border: 1px solid #d7d7d7 !important;
  border-radius: 0.5rem !important;
}
table tbody tr > td,
table tbody tr:nth-of-type(odd) > td {
  background-color: #fff;
  box-shadow: none;
}
table tbody tr:hover > td {
  background-color: #f6f8fa !important;
}

.search-table {
  margin: 0 !important;
  padding: 0 !important;
}
.search-table .form-group.date-range .vali {
  width: 100%;
}
.search-table .form-group:has(.info-button),
.search-table .form-group:has(.btn-checkboxinfo) {
  position: relative;
}
.search-table .form-group:has(.info-button) span:not(.field-validation-valid):not(.field-validation-error),
.search-table .form-group:has(.btn-checkboxinfo) span:not(.field-validation-valid):not(.field-validation-error) {
  display: inline-block;
  padding-right: 3rem;
}
.search-table .form-group:has(.info-button):not(:has(span:not(.field-validation-valid):not(.field-validation-error))) .labelcaption,
.search-table .form-group:has(.btn-checkboxinfo):not(:has(span:not(.field-validation-valid):not(.field-validation-error))) .labelcaption {
  padding-right: 3rem;
}
.search-table .form-group:has(.info-button) .info-button,
.search-table .form-group:has(.info-button) .btn-checkboxinfo,
.search-table .form-group:has(.btn-checkboxinfo) .info-button,
.search-table .form-group:has(.btn-checkboxinfo) .btn-checkboxinfo {
  position: absolute;
  top: -0.1rem;
  right: 0;
}
.search-table.has-column-filter .results.empty {
  position: relative;
}
.search-table.has-column-filter .results.empty .table-responsive-wrapper {
  position: static;
  padding-bottom: 13rem;
  margin-bottom: 3rem;
  overflow: auto;
  border-left: 1px solid #d7d7d7;
  border-right: 1px solid #d7d7d7;
  border-bottom: 1px solid #d7d7d7;
  background-image: url(/Pattern-Transparent-Background.png);
  background-size: 60%;
  background-position: 100% 0;
}
.search-table.has-column-filter .results.empty .table-responsive-wrapper .table-responsive {
  overflow: visible;
  border-left: none;
}
.search-table.has-column-filter .results.empty .table-responsive-wrapper .no-results {
  position: absolute;
  top: 16rem;
  left: 50%;
  transform: translateX(-50%);
  background: none;
  padding: 0;
  margin-bottom: 0;
  border: 0;
}
.search-table.has-column-filter .results.empty th:has(.column-filter .active) {
  background: #eaf0f6;
}
.search-table.has-column-filter .results.empty .column-filter .active i {
  opacity: 1;
}
.search-table.has-column-filter .results.empty .column-filter .active i.fa-filter {
  color: #fe6e00;
}
.search-table > .spinner-border {
  margin: 3rem;
}
.search-table .input-group {
  padding-right: 0.5rem;
}
@media (min-width: 900px) {
  .search-table form .dropdown-menu {
    width: fit-content !important;
    max-width: fit-content !important;
    min-width: 100% !important;
  }
}
@media (max-width: 900px) {
  .search-table .alert.alert-info.no-search {
    display: none;
  }
}
.search-table nav {
  align-items: baseline;
  margin-top: 1.5rem;
  font-size: 1.4rem !important;
}
.search-table nav .dropdown {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
}
.search-table nav .dropdown span {
  font-size: 1.4rem;
}
.search-table nav .dropdown .dropdown-menu {
  right: 0;
}
.search-table nav:has(.pagination) {
  flex-wrap: wrap;
}
.search-table .result-count {
  margin-bottom: 0;
  align-items: baseline;
}
.search-table .mb-4.buttons {
  margin: 0 !important;
}
@media (max-width: 1023px) {
  .search-table select[multiple].form-select:hover {
    max-width: calc(100vw - 6rem - 7.5rem);
  }
}

.single-column {
  margin-left: -3rem;
  margin-right: -3rem;
  padding: 3rem;
  border-top: 1px solid #d7d7d7;
}
@media (max-width: 680px) {
  .single-column {
    margin-left: -1.5rem;
    margin-right: -1.5rem;
  }
}
@media (max-width: 680px) {
  .single-column {
    padding: 3rem 1.5rem 3rem 1.5rem;
  }
}
.single-column .form-data {
  max-width: 70rem;
}
.single-column .form-data h5 {
  margin-top: 3rem;
  margin-bottom: 1.5rem;
}
.single-column .form-data h5:first-of-type {
  margin-top: 0;
}
.single-column .items-info {
  flex: 0 0 100%;
  margin: 1rem auto;
  text-align: center;
}
.single-column .form-control,
.single-column .datepicker-container {
  background-color: #f6f8fa;
}
.single-column input.form-control:disabled, .single-column input.form-control:read-only {
  color: #888888;
  background-color: #eaebf0 !important;
}

.table-header {
  padding: 0;
  border: 1px solid #d7d7d7;
  border-bottom: none;
}
.table-header .dropdown,
.table-header .input-group {
  margin: 0.5rem;
}
.table-header .dropdown:only-child {
  margin-left: auto;
}
.table-header:not(:has(*)) {
  display: none !important;
}
.table-header input[type=search] {
  margin: 0 !important;
  padding: 0.5rem 1rem;
  font-size: 1.4rem;
  border: 1px solid #d7d7d7;
  border-right: none;
}
.table-header .input-group-text {
  padding: 0.8rem 1rem 0 1rem;
  background-color: #fff;
  border-left: none;
}

.table-responsive-header, .table-header {
  margin-top: 3rem !important;
}

.table-responsive-header:not(:has(.btn), :has(a.unlink)) {
  margin-bottom: 0.5rem;
}

.table-responsive-header-actions .btn, .table-header-actions .btn {
  margin-left: 0.5rem;
}

.table-row-actions,
form .table-row-actions {
  padding: 0 !important;
  width: 1px;
  white-space: nowrap;
}
.table-row-actions .dropdown,
form .table-row-actions .dropdown {
  position: static;
}
.table-row-actions .dropdown-menu,
form .table-row-actions .dropdown-menu {
  margin: -0.5rem 0 0 1rem;
}

thead {
  background-color: #f6f8fa;
  font-family: "Open Sans Condensed", sans-serif;
  text-transform: uppercase;
  align-content: start;
  border: none !important;
}
thead th {
  font-family: "Open Sans Condensed", sans-serif;
}

.table > :not(:first-child) {
  border-top: none;
}

.table-mobile,
.table-responsive {
  margin: 0 0 3rem 0;
  border-left: 1px solid #d7d7d7;
  border-right: 1px solid #d7d7d7;
}
.table-mobile.overflow-inherit,
.table-responsive.overflow-inherit {
  overflow: inherit;
}

.table-mobile {
  display: block;
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.table-responsive-header {
  min-height: 40px;
  padding: 0 0 0.5rem 0;
}
.table-responsive-header .row {
  margin: 0;
}
.table-responsive-header .col-auto {
  display: flex;
  align-items: baseline;
  padding: 0 !important;
}
.table-responsive-header .col-auto label {
  margin: 0 0 0 2rem !important;
  font-size: 1.4rem !important;
}
.table-responsive-header .col-auto .listcaption {
  margin: 0 0.5em 0 0 !important;
  font-family: "Open Sans Condensed", sans-serif;
  font-size: 1.29em !important;
  font-weight: 600;
}
.table-responsive-header:has(.unlink) .unlink .col-auto:has(.listcaption):after {
  position: relative;
  top: 0.2rem;
  margin-left: 0.5em;
  content: "\f077";
  font-family: "Font Awesome 5 Pro";
  font-size: 1.8rem;
  font-weight: 600;
}
.table-responsive-header:has(.unlink.collapsed) {
  border-bottom: 1px solid #d7d7d7;
}
.table-responsive-header:has(.unlink.collapsed) .col-auto:has(.listcaption):after {
  content: "\f078";
}
.table-responsive-header a {
  color: #33475b !important;
}
.table-responsive-header a.btn {
  color: #fff !important;
}
.table-responsive-header a.btn:has(.text-info) .d-block {
  align-items: center;
}
.table-responsive-header a.btn:has(.text-info) .d-block .text-info {
  padding: 0 0 0 0.5rem !important;
  line-height: 1em;
  vertical-align: unset !important;
  color: #fff !important;
}
.table-responsive-header a:hover {
  text-decoration: none;
}

.table-header:not(:has(.js-table-filter)) .d-flex {
  margin-left: 10px;
}

.table-js-sortable th:has(.fa-sort-up):not(:has(.rotate90)),
.table-js-sortable th:has(.fa-sort-down):not(:has(.rotate90)) {
  background-color: #eaf0f6;
}
.table-js-sortable th:has(.fa-sort-up):not(:has(.rotate90)) i,
.table-js-sortable th:has(.fa-sort-down):not(:has(.rotate90)) i {
  color: #2980b9;
  opacity: 1;
}

.table-responsive-empty:hover > td {
  background-color: #fff !important;
}
.table-responsive-empty td {
  margin-bottom: 3rem;
  padding: 3rem !important;
  font-size: 2.4rem;
  font-weight: 600;
  line-height: 1.2em;
  text-align: center;
  background-color: transparent;
  background-image: url("/images/Pattern-Transparent-Background.png");
  background-size: 60%;
  background-position: 100% 8%;
  border-radius: 0;
  box-shadow: none;
}

.pagination .page-item.active .page-link {
  color: #0a6478 !important;
  background-color: #fff !important;
  border: 1px solid #0a6478 !important;
  cursor: default;
}
.pagination .pagination-ellipsis {
  padding: 0 0.5rem;
}

.hakemusten-kasittely .table-responsive.overflow-inherit {
  overflow: inherit;
}
.hakemusten-kasittely .table-responsive .table-row-actions .dropdown {
  position: relative;
}
.hakemusten-kasittely .table-responsive .table-row-actions .dropdown > .btn {
  padding: 0.6rem 1.2rem !important;
}
.hakemusten-kasittely .table-responsive .table-row-actions .dropdown > .btn .fa:before {
  position: relative !important;
  left: 0 !important;
  top: 0 !important;
}
.hakemusten-kasittely .table-responsive .table-row-actions .dropdown-menu {
  width: fit-content !important;
  position: absolute;
  overflow-y: auto;
}
.hakemusten-kasittely nav .btn .fa:before {
  position: relative !important;
  left: 0 !important;
  top: 0 !important;
}
.hakemusten-kasittely nav .dropdown-menu {
  width: fit-content !important;
  position: absolute;
  overflow-y: auto;
}

.td-half-half td {
  width: 50%;
}

.td-one-third td {
  width: 33%;
}

.all-tables .table-responsive th {
  width: 25rem;
  font-weight: 600;
  background-color: #fff;
  white-space: normal;
}
@media (max-width: 680px) {
  .all-tables .table-responsive th {
    width: 40%;
  }
}
.all-tables .table-responsive td {
  white-space: normal;
}
.all-tables .table-responsive tr:hover th, .all-tables .table-responsive tr:hover td {
  background-color: #f6f8fa;
}

td.row-action {
  padding: 0.7rem 1rem 0 0.4rem !important;
  white-space: nowrap;
  width: 0;
}
td.row-action.jasennumero span {
  display: inline-block;
  margin-left: 1rem;
  padding-top: 0.4rem;
}
td.row-action input {
  margin: 0 0 0 0.5rem;
}
td.row-action .btn-function {
  margin-left: 0.6rem;
  padding: 0.2rem 0.6rem 0.1rem 0.6rem;
  font-size: 1.4rem !important;
  background-color: #fff !important;
  color: #0a6478 !important;
  border: 1px solid #0a6478 !important;
  vertical-align: top;
}
td.row-action .btn-function .text-info {
  vertical-align: baseline !important;
  color: #33475b !important;
}
td.row-action .btn-function:hover {
  background-color: #0a6478 !important;
  color: #fff !important;
}
td.row-action .btn-function:hover i {
  color: #fff !important;
}
td.row-action .btn-function:hover .text-info {
  color: #fff !important;
}
td.row-action .btn-function:has(i) .text-info {
  margin-left: 1rem;
}
td.row-action .btn-function i {
  font-weight: 500;
}
td.row-action .btn-function i.fa-chevron-up,
td.row-action .btn-function i.fa-chevron-down {
  font-weight: 600;
}

#lomakkeet td:first-child,
#tilausmuutokset td:first-child,
#vastaanottoilmoitukset td:first-child {
  width: 8rem;
}

table:has(tr.table-info) th {
  background-color: #f6f8fa;
}
table:has(tr.table-info) th, table:has(tr.table-info) td {
  border: 1px solid #d7d7d7;
}

td:has(.table.inner) {
  padding: 0 !important;
  border: none;
}
td:has(.table.inner) table {
  border-bottom: none;
}

.sml-toimintakertomus > div tableheader {
  display: block;
  margin-top: 3rem;
}
.sml-toimintakertomus > div:first-child tableheader {
  margin-top: 0;
}

tbody.yhdistettavat-data tr.table-primary,
tbody.yhdistettavat-data tr:hover.table-primary {
  background-color: #eaf0f6;
}
tbody.yhdistettavat-data tr.table-secondary,
tbody.yhdistettavat-data tr:hover.table-secondary {
  background-color: #f6f8fa;
}
tbody.yhdistettavat-data tr td,
tbody.yhdistettavat-data tr:hover td {
  background-color: transparent !important;
  border-color: #d7d7d7;
}
tbody.yhdistettavat-data tr.last-row,
tbody.yhdistettavat-data tr:hover.last-row {
  border-bottom: 3px solid #aaa;
}

tbody.hinnasto-data tr.table-secondary,
tbody.hinnasto-data tr:hover.table-secondary {
  background-color: #eaf0f6;
}
tbody.hinnasto-data tr td,
tbody.hinnasto-data tr:hover td {
  background-color: transparent !important;
  border-color: #d7d7d7;
}

#korttiText table {
  border: none;
  width: 100%;
}
#korttiText table .korttiTr td {
  padding: 0 !important;
  background-color: transparent !important;
  border: 0;
}

.last-row-summary tbody tr:last-child {
  border-top: 2px solid #bbb;
  font-weight: 700;
}

tableheader.hack:has(.unlink) {
  position: relative;
}
tableheader.hack:has(.unlink) .col-auto:after {
  display: none;
}
tableheader.hack:has(.unlink) .table-responsive-header-actions {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex: 1 1 auto;
}
tableheader.hack:has(.unlink) .unlink {
  color: #fff !important;
}
tableheader.hack:has(.unlink) .unlink:after {
  content: "\f077";
  color: #33475b;
  font-family: "Font Awesome 5 Pro";
  font-size: 1.8rem;
  font-weight: 600;
}
tableheader.hack:has(.unlink.collapsed) {
  border-bottom: 1px solid #d7d7d7;
}
tableheader.hack:has(.unlink.collapsed) .unlink:after {
  content: "\f078";
}

.table-title {
  margin-right: 0.5em;
}

.white-space-pre-line {
  white-space: pre-line;
}

.modal.show .modal-dialog {
  margin-top: 10%;
}
.modal.show .modal-dialog .modal-content {
  padding: 1rem;
}
.modal.show .modal-dialog .modal-content .btn {
  margin-left: 1.5rem;
}

.perustiedot {
  margin: 3rem 0;
}
.perustiedot .perustieto-row {
  display: flex;
  align-items: stretch;
  column-gap: 3rem;
}
.perustiedot .perustieto-row .perustieto {
  width: calc(50% - 1.5rem);
}
@media (max-width: 680px) {
  .perustiedot .perustieto-row {
    display: block;
  }
  .perustiedot .perustieto-row .perustieto {
    width: 100%;
  }
}
.perustiedot .perustieto {
  padding: 1rem 0;
  border-bottom: 1px solid #d7d7d7;
  min-height: calc(4.2em + 0.5rem);
}
.perustiedot .perustieto .labelcaption {
  font-weight: 600;
}
.perustiedot .perustieto h3.labelcaption {
  font-size: 1.4rem;
}
.perustiedot .perustieto p {
  margin: 0;
}
.perustiedot .perustieto p:empty:after {
  content: "-";
}
.perustiedot .perustieto p:blank:after {
  content: "-";
}

.card-body > .perustiedot {
  margin-top: 0;
}

.palvelu-content-box {
  margin-bottom: 3rem;
  padding: 1.5rem 1.5rem 1.5rem 1.5rem;
  background-color: #f6f8fa;
  border: 1px solid #d7d7d7;
}
.palvelu-content-box .perustiedot {
  margin: 0;
}
.palvelu-content-box .btn-group .btn {
  margin-right: 0.5rem;
}
.palvelu-content-box:has(.perustiedot) .btn-group {
  margin-top: 3rem;
}

.jasenhakemus .card-group {
  margin-bottom: 3rem;
}

input:focus,
input:active,
select:focus,
select:active,
textarea:focus,
textarea:active {
  outline: none !important;
  box-shadow: none !important;
  border: 1px solid #d7d7d7 !important;
}

input[type=radio],
input[type=checkbox] {
  margin-top: 0;
  margin-right: 0.5em;
  accent-color: #0a6478 !important;
  width: 1.8rem !important;
  height: 1.8rem !important;
  flex: 0 0 1.8rem;
}

input:-webkit-autofill,
input:-webkit-autofill:focus {
  -webkit-box-shadow: 0 0 0 10rem white inset;
}

.form-check-input:checked[type=radio],
.form-check-input:checked[type=checkbox] {
  background-color: #0a6478 !important;
  border-color: #0a6478 !important;
}

.form-check {
  display: flex !important;
  align-items: flex-start;
  margin-top: 0;
  margin-bottom: 0.5rem;
  padding-left: 0;
}
.form-check input[type=checkbox] {
  flex: 0 0 1.4em;
}
.form-check label {
  font-weight: 600;
}
.form-check .btn-checkboxinfo {
  margin-top: 0;
}
.form-check.below-input {
  margin-top: 1rem;
}

.form-check-input {
  position: relative;
  margin-left: 0;
}

.form-control,
.form-select {
  padding: 0 1rem;
  font-size: 1.4rem;
}
.form-control[multiple],
.form-select[multiple] {
  padding: 0;
}

textarea,
textarea.form-control {
  padding: 0.5rem 1rem;
}
textarea.set-min-height,
textarea.form-control.set-min-height {
  min-height: 12rem;
}

body:not(.safariAgent.isIpad):not(.safariAgent.isIphone) .search-table .form-group:has(select[multiple].form-control) {
  position: relative;
}
body:not(.safariAgent.isIpad):not(.safariAgent.isIphone) .search-table .form-group:has(select[multiple].form-control) select[multiple].form-control {
  padding: 0;
  height: 12rem;
}
body:not(.safariAgent.isIpad):not(.safariAgent.isIphone) .search-table .form-group:has(select[multiple].form-control > option:hover) {
  height: calc(12rem + 1.4em + 0.5rem);
}
body:not(.safariAgent.isIpad):not(.safariAgent.isIphone) .search-table .form-group:has(select[multiple].form-control > option:hover) select[multiple].form-control:hover {
  position: absolute;
  top: calc(1.4em + 0.5rem);
  left: 0;
  width: fit-content;
  min-width: 100%;
  z-index: 50;
}

select[multiple] option {
  position: relative;
  margin: 0;
  padding: 0.3rem 0.5rem 0.3rem 4rem;
  font-size: 1.4rem;
  overflow: hidden;
  text-overflow: ellipsis;
}
select[multiple] option:first-child {
  margin-top: 0.5rem;
}
select[multiple] option:last-child {
  margin-bottom: 0.5rem;
}
select[multiple] option:hover {
  box-shadow: 0 0 1rem 10rem #c4e3fb inset;
}
select[multiple] option::before {
  position: absolute;
  left: 1rem;
  top: 0.3rem;
  content: "\f00c";
  display: block;
  margin-right: 1rem;
  padding: 0.3rem;
  font-family: "Font Awesome 5 Pro";
  font-size: 1.1rem;
  border: 1px solid #d7d7d7;
  border-radius: 0.5rem;
  background-color: #fff;
  color: #fff;
  -webkit-text-fill-color: #fff;
}
select[multiple] option:checked {
  box-shadow: 0 0 1rem 10rem #f6f8fa inset;
  -webkit-text-fill-color: #33475b;
}
select[multiple] option:checked:hover {
  box-shadow: 0 0 1rem 10rem #c4e3fb inset;
}
select[multiple] option:active::before, select[multiple] option:checked::before {
  background-color: #0a6478;
}

.two-column-search select[multiple] option:checked {
  box-shadow: 0 0 1rem 10rem #fff inset;
}
.two-column-search select[multiple] option:checked:hover {
  box-shadow: 0 0 1rem 10rem #c4e3fb inset;
}

.chosen-container-single {
  margin: -1px;
  width: calc(100% + 2px);
  border: 1px solid #d7d7d7 !important;
  border-radius: 0.5rem !important;
  border: 1px solid #d7d7d7;
  border-radius: 0.5rem !important;
  background-color: #fff;
  box-shadow: none;
  font-size: 1.4rem !important;
}
.chosen-container-single .chosen-single {
  padding: 0.3rem 1rem !important;
  height: auto !important;
  background-image: none !important;
  background-color: #fff;
  border: none !important;
  box-shadow: none !important;
}
.chosen-container-single span {
  margin-right: 0 !important;
  width: 26.5rem;
}
.chosen-container-single .chosen-drop {
  margin-top: 0.3rem !important;
  border: 1px solid #d7d7d7 !important;
  border-radius: 0.5rem !important;
  box-shadow: rgba(0, 0, 0, 0.33) 0 1px 7px;
}
.chosen-container-single .chosen-drop li {
  font-size: 1.4rem !important;
  line-height: 1.3em !important;
}

form {
  position: relative;
}
form .row {
  margin: 0;
  padding: 0;
  width: 100%;
  max-width: 100%;
}
form .col-12,
form .col-md-6,
form .col-md-8,
form .col-sm-8 {
  display: block;
  margin: 0;
  padding: 0;
  width: 100%;
  max-width: 100%;
}
form .row:not(:first-child) {
  margin-bottom: 1.5rem;
}
form .row:has(.items-info) {
  margin-bottom: 0;
}
form .form-group {
  margin-bottom: 2rem;
}
form .form-group:has(#fileName) .col-auto {
  padding: 0;
}
form .form-group:has(#fileName) .col-auto #fileName {
  margin: 0 1.5rem;
}
form .form-group.file {
  display: flex;
  align-items: baseline;
}
form .form-group.file .requirement {
  display: none;
}
form .form-group.file label.filename {
  margin: 0 1.5rem;
  padding: 0;
}
form .form-group.no-bottom-margin {
  margin-bottom: 0;
}
form .form-group label,
form .form-group .labelcaption {
  font-weight: 600;
}
form .form-group label.heading,
form .form-group .labelcaption.heading {
  margin-bottom: 1rem;
  font-size: 1.2em;
}
form .form-group label:has(input),
form .form-group .labelcaption:has(input) {
  display: flex;
}
form .form-group .image-container {
  margin-bottom: 1.5rem;
}
form select {
  padding-right: 1rem !important;
  font-size: 1.4rem;
  overflow-x: hidden;
  overflow-y: auto;
  text-overflow: ellipsis;
}
form input {
  border: 1px solid #d7d7d7 !important;
  border-radius: 0.5rem !important;
}
form .dp__input {
  padding: 0.4rem 3.5rem !important;
  font-size: 1.4rem;
}
form .dp__input_icons {
  width: 1.8rem !important;
  height: 1.8rem !important;
  padding: 0 1rem !important;
}
form input:not(:disabled),
form select:not(:disabled),
form textarea:not(:disabled),
form .dropdown .btn-secondary:not(.disabled):not(.btn-light) {
  border: 1px solid #d7d7d7 !important;
  outline: none;
}
form .btn-secondary.disabled {
  background-color: #e9ecef !important;
  border: 1px solid #d7d7d7 !important;
  outline: none;
}
form .btn-secondary.disabled .dropdown-toggle {
  color: black;
}
form .dp__input:disabled {
  background-color: #e9ecef !important;
}
form .mb-3 {
  position: relative;
}
form .dropdown-menu {
  width: 100%;
  max-width: 100rem;
  max-height: 17.5rem;
  overflow-y: scroll;
}
form .dropdown-menu .dropdown-item {
  overflow: clip;
  text-overflow: ellipsis;
}
form .form-label,
form label[for=VM_Lisaoikeudet] {
  margin: 0.5rem 0;
}
form span.field-validation-invalid {
  display: block;
  margin-top: 0.5em;
  font-size: 1.3rem;
  color: #eb4d2c;
}
form span.field-validation-invalid::before {
  content: "\f071";
  margin-right: 0.5rem;
  font-family: "Font Awesome 5 Pro";
  color: #d9001b;
}
form .mb-3:has(span.field-validation-invalid) > .form-control,
form .mb-3:has(span.field-validation-invalid) > .dropdown > .btn,
form .mb-3:has(span.field-validation-invalid) > .dp__main > div > div > input {
  background-color: #fbede9 !important;
  border-color: #ed9e8e !important;
}

body.safariAgent form select[multiple].form-select {
  text-indent: 1rem;
}
body.safariAgent.isIphone form select[multiple].form-select, body.safariAgent.isIpad form select[multiple].form-select {
  height: 3.5rem !important;
}

body.chromeAgent.isMobile form select[multiple].form-select {
  text-indent: 1rem;
  height: 3.5rem !important;
}

.multi-table-form {
  display: flex;
  align-items: stretch;
  margin: 0 -3rem;
  padding: 0;
  min-width: 100%;
  min-height: calc(100vh - 5.5rem);
  border-top: 1px solid #d7d7d7;
}
@media (min-width: 900px) {
  .multi-table-form:not(:has(.no-search)):not(:has(.alert-danger)) form:has(.search-form-toggler) .search-form-toggler {
    position: relative;
    cursor: pointer;
  }
  .multi-table-form:not(:has(.no-search)):not(:has(.alert-danger)) form:has(.search-form-toggler) .search-form-toggler:after {
    display: block;
    position: absolute;
    bottom: 0.1rem;
    right: 0;
    content: "\f053";
    font-size: 0.9em;
    font-family: "Font Awesome 5 Pro";
  }
  .multi-table-form:not(:has(.no-search)):not(:has(.alert-danger)) form:has(.search-form-toggler) .search-form-toggler.closed:after {
    bottom: -3rem;
  }
  .multi-table-form:not(:has(.no-search)):not(:has(.alert-danger)) form:has(.search-form-toggler.closed),
  .multi-table-form:not(:has(.no-search)):not(:has(.alert-danger)) .form:has(.search-form-toggler.closed),
  .multi-table-form:not(:has(.no-search)):not(:has(.alert-danger)) #search-form:has(.search-form-toggler.closed) {
    flex: 0 0 4rem !important;
    padding: 0 !important;
  }
  .multi-table-form:not(:has(.no-search)):not(:has(.alert-danger)) form:has(.search-form-toggler.closed) h5.search-form-toggler,
  .multi-table-form:not(:has(.no-search)):not(:has(.alert-danger)) .form:has(.search-form-toggler.closed) h5.search-form-toggler,
  .multi-table-form:not(:has(.no-search)):not(:has(.alert-danger)) #search-form:has(.search-form-toggler.closed) h5.search-form-toggler {
    display: block;
    position: absolute;
    top: 6rem;
    left: 0;
    width: 4rem;
    padding: 0;
    margin: 0 auto;
    line-height: 4rem;
    white-space: nowrap;
    transform: rotate(180deg);
    writing-mode: vertical-lr;
    text-align: right;
  }
  .multi-table-form:not(:has(.no-search)):not(:has(.alert-danger)) form:has(.search-form-toggler.closed) h5.search-form-toggler::after,
  .multi-table-form:not(:has(.no-search)):not(:has(.alert-danger)) .form:has(.search-form-toggler.closed) h5.search-form-toggler::after,
  .multi-table-form:not(:has(.no-search)):not(:has(.alert-danger)) #search-form:has(.search-form-toggler.closed) h5.search-form-toggler::after {
    left: 0;
    top: 0;
  }
  .multi-table-form:not(:has(.no-search)):not(:has(.alert-danger)) form:has(.search-form-toggler.closed) .form hr,
  .multi-table-form:not(:has(.no-search)):not(:has(.alert-danger)) form:has(.search-form-toggler.closed) .form .mb-3,
  .multi-table-form:not(:has(.no-search)):not(:has(.alert-danger)) form:has(.search-form-toggler.closed) .form .my-3,
  .multi-table-form:not(:has(.no-search)):not(:has(.alert-danger)) form:has(.search-form-toggler.closed) .form .col-12,
  .multi-table-form:not(:has(.no-search)):not(:has(.alert-danger)) form:has(.search-form-toggler.closed) .form .alert-info,
  .multi-table-form:not(:has(.no-search)):not(:has(.alert-danger)) form:has(.search-form-toggler.closed) .form .form-group,
  .multi-table-form:not(:has(.no-search)):not(:has(.alert-danger)) form:has(.search-form-toggler.closed) .form .form-check,
  .multi-table-form:not(:has(.no-search)):not(:has(.alert-danger)) form:has(.search-form-toggler.closed) .form h5:not(.search-form-toggler),
  .multi-table-form:not(:has(.no-search)):not(:has(.alert-danger)) .form:has(.search-form-toggler.closed) .form hr,
  .multi-table-form:not(:has(.no-search)):not(:has(.alert-danger)) .form:has(.search-form-toggler.closed) .form .mb-3,
  .multi-table-form:not(:has(.no-search)):not(:has(.alert-danger)) .form:has(.search-form-toggler.closed) .form .my-3,
  .multi-table-form:not(:has(.no-search)):not(:has(.alert-danger)) .form:has(.search-form-toggler.closed) .form .col-12,
  .multi-table-form:not(:has(.no-search)):not(:has(.alert-danger)) .form:has(.search-form-toggler.closed) .form .alert-info,
  .multi-table-form:not(:has(.no-search)):not(:has(.alert-danger)) .form:has(.search-form-toggler.closed) .form .form-group,
  .multi-table-form:not(:has(.no-search)):not(:has(.alert-danger)) .form:has(.search-form-toggler.closed) .form .form-check,
  .multi-table-form:not(:has(.no-search)):not(:has(.alert-danger)) .form:has(.search-form-toggler.closed) .form h5:not(.search-form-toggler),
  .multi-table-form:not(:has(.no-search)):not(:has(.alert-danger)) #search-form:has(.search-form-toggler.closed) .form hr,
  .multi-table-form:not(:has(.no-search)):not(:has(.alert-danger)) #search-form:has(.search-form-toggler.closed) .form .mb-3,
  .multi-table-form:not(:has(.no-search)):not(:has(.alert-danger)) #search-form:has(.search-form-toggler.closed) .form .my-3,
  .multi-table-form:not(:has(.no-search)):not(:has(.alert-danger)) #search-form:has(.search-form-toggler.closed) .form .col-12,
  .multi-table-form:not(:has(.no-search)):not(:has(.alert-danger)) #search-form:has(.search-form-toggler.closed) .form .alert-info,
  .multi-table-form:not(:has(.no-search)):not(:has(.alert-danger)) #search-form:has(.search-form-toggler.closed) .form .form-group,
  .multi-table-form:not(:has(.no-search)):not(:has(.alert-danger)) #search-form:has(.search-form-toggler.closed) .form .form-check,
  .multi-table-form:not(:has(.no-search)):not(:has(.alert-danger)) #search-form:has(.search-form-toggler.closed) .form h5:not(.search-form-toggler) {
    display: none !important;
  }
  .multi-table-form:not(:has(.no-search)):not(:has(.alert-danger)) #search-form:has(.search-form-toggler.closed) {
    border-right: 1px solid #d7d7d7;
  }
}
@media (max-width: 900px) {
  .multi-table-form {
    display: block;
  }
}
@media (max-width: 680px) {
  .multi-table-form {
    margin: 0 -1.5rem 0 -1.5rem;
  }
}
.multi-table-form #search-form {
  flex: 0 0 32.5rem;
  background-color: #f6f8fa;
}
.multi-table-form #search-form form {
  background-color: #f6f8fa;
  padding: 3rem;
  border-right: 1px solid #d7d7d7;
  flex: 0 0 32.5rem;
}
@media (max-width: 900px) {
  .multi-table-form #search-form form {
    flex: none;
    border-right: none;
    border-bottom: 1px solid #d7d7d7;
  }
}
@media (max-width: 680px) {
  .multi-table-form #search-form form {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}
.multi-table-form #search-form form h5 {
  margin-bottom: 1.5rem;
}
.multi-table-form #search-form form input,
.multi-table-form #search-form form select,
.multi-table-form #search-form form textarea,
.multi-table-form #search-form form .btn-secondary {
  background-color: #fff !important;
}
.multi-table-form #search-form form .btn-checkboxinfo {
  background-color: transparent !important;
}
.multi-table-form #search-form form .form-check-input:checked, .multi-table-form #search-form form .fg-form-check-input:checked {
  background-color: #0a6478 !important;
  border-color: #0a6478 !important;
}
.multi-table-form #search-form form .input-separator {
  margin-top: 0.5rem;
  margin-left: 0.5rem;
  margin-right: 0.5rem;
}
.multi-table-form #search-form form .dp__input_icon_pad {
  padding: 0.4rem 2rem 0.4rem 3.3rem !important;
  font-size: 1.4rem;
}
.multi-table-form #search-form form .dropdown-toggle {
  color: #33475b;
  max-width: 100% !important;
  overflow: clip;
  text-overflow: ellipsis !important;
}
@media (min-width: 900px) {
  .multi-table-form #search-form form .dropdown-toggle {
    max-width: 25.5rem !important;
  }
  .multi-table-form #search-form form .btn-secondary.show .dropdown-toggle {
    max-width: 24rem !important;
  }
}
.multi-table-form #search-form form .fa.clear {
  width: 0;
}
@media (max-width: 900px) {
  .multi-table-form #search-form form {
    padding-bottom: 0;
  }
}
.multi-table-form #search-form .buttons {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  margin: 0;
  padding: 2rem 0 1.5rem 24rem;
  background-color: #f6f8fa;
  border-top: 1px solid #d7d7d7;
  z-index: 120;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}
.multi-table-form #search-form .buttons .btn {
  margin: 0 0.5rem 0.5rem 0;
}
.multi-table-form #search-form .buttons .mb-4 {
  margin: 0 !important;
}
.multi-table-form #search-form .buttons div {
  display: inline-block;
}
.multi-table-form #search-form .buttons .back i {
  display: none;
}
@media (max-width: 1023px) {
  .multi-table-form #search-form .buttons {
    padding-left: 9rem;
  }
}
@media (max-width: 680px) {
  .multi-table-form #search-form .buttons {
    padding-left: 7.5rem;
  }
}
.multi-table-form #search-form .buttons form .buttons .btn-secondary:not(.disabled):not(.btn-light) {
  color: #0a6478;
  background-color: #fff !important;
  border: 1px solid #0a6478 !important;
}
.multi-table-form #search-form .buttons form .buttons .btn-secondary:not(.disabled):not(.btn-light):hover, .multi-table-form #search-form .buttons form .buttons .btn-secondary:not(.disabled):not(.btn-light):active {
  background-color: #eaf0f6 !important;
}
.multi-table-form #search-form .buttons .btn-primary:first-child {
  padding-left: 0;
  padding-right: 0;
  width: 6.5rem;
  margin-right: 15rem;
  text-align: center;
}
@media (max-width: 600px) {
  .multi-table-form #search-form .buttons .btn-primary:first-child {
    display: block;
  }
}
.multi-table-form.no-extra-button #search-form .buttons .btn-primary:first-child {
  margin-right: 0.5rem;
}
.multi-table-form .search-tables {
  padding: 3rem;
  margin: 0;
  width: 100%;
  min-width: 0;
}
@media (max-width: 680px) {
  .multi-table-form .search-tables {
    padding: 3rem 1.5rem 3rem 1.5rem;
  }
}
.multi-table-form .search-tables tableheader:first-of-type .table-responsive-header {
  margin-top: 0 !important;
}
.multi-table-form .search-tables tableheader:first-of-type .table-responsive-header:has(.table-responsive-header-actions) {
  margin-top: -0.4rem !important;
}
.multi-table-form .search-tables tableheader .table-responsive-header a.btn {
  color: #fff !important;
}
.multi-table-form .search-tables tableheader .table-responsive-header .btn:first-child {
  margin-left: 0;
}
@media (max-width: 600px) {
  .multi-table-form .search-tables {
    padding-bottom: 3rem;
  }
}
.multi-table-form .search-tables .search-table {
  width: 100%;
}
.multi-table-form .search-tables .search-table .no-search {
  margin: 0;
}
.multi-table-form .search-tables .search-table .alert-danger {
  display: none;
}
.multi-table-form .search-tables #errors,
.multi-table-form .search-tables #summary,
.multi-table-form .search-tables #future {
  margin-top: 3rem;
}
.multi-table-form .search-tables #errors form,
.multi-table-form .search-tables #summary form,
.multi-table-form .search-tables #future form {
  padding: 0;
  background-color: #fff;
  border: none;
}
.multi-table-form .search-tables #errors form .buttons,
.multi-table-form .search-tables #summary form .buttons,
.multi-table-form .search-tables #future form .buttons {
  padding: 0;
}
.multi-table-form .search-tables #errors form .btn-primary,
.multi-table-form .search-tables #summary form .btn-primary,
.multi-table-form .search-tables #future form .btn-primary {
  position: fixed;
  bottom: 2rem;
  left: 31rem;
  z-index: 125;
  width: 14rem;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}
@media (max-width: 1023px) {
  .multi-table-form .search-tables #errors form .btn-primary,
  .multi-table-form .search-tables #summary form .btn-primary,
  .multi-table-form .search-tables #future form .btn-primary {
    left: 16rem;
  }
}
@media (max-width: 680px) {
  .multi-table-form .search-tables #errors form .btn-primary,
  .multi-table-form .search-tables #summary form .btn-primary,
  .multi-table-form .search-tables #future form .btn-primary {
    left: 14.5rem;
  }
}
@media (max-width: 600px) {
  .multi-table-form .search-tables #errors form .btn-primary,
  .multi-table-form .search-tables #summary form .btn-primary,
  .multi-table-form .search-tables #future form .btn-primary {
    bottom: 5.8rem;
  }
}
.multi-table-form .search-tables #errors hr,
.multi-table-form .search-tables #summary hr,
.multi-table-form .search-tables #future hr {
  display: none;
}
.multi-table-form .search-tables #errors h3,
.multi-table-form .search-tables #summary h3,
.multi-table-form .search-tables #future h3 {
  display: none;
}
.multi-table-form .search-tables #errors .alert-danger,
.multi-table-form .search-tables #summary .alert-danger,
.multi-table-form .search-tables #future .alert-danger {
  margin-top: 3rem;
}
.multi-table-form .search-tables #errors .buttons,
.multi-table-form .search-tables #summary .buttons,
.multi-table-form .search-tables #future .buttons {
  background-color: transparent;
  border: none;
}

.two-column-search {
  margin-left: -3rem;
  margin-right: -3rem;
  padding: 0;
  min-width: 0;
  flex: 1;
}
@media (max-width: 680px) {
  .two-column-search {
    margin-left: -1.5rem;
    margin-right: -1.5rem;
  }
}
.two-column-search form {
  position: relative;
}
.two-column-search form .search-form-card {
  margin-bottom: 3rem;
  padding: 1.5rem 1.5rem 0 1.5rem;
  background-color: #fff;
  border: 1px solid #d7d7d7;
}
@media (min-width: 900px) {
  .two-column-search:not(:has(.no-search)):not(:has(.alert-danger)) form:has(.search-form-toggler) .search-form-toggler {
    position: relative;
    cursor: pointer;
  }
  .two-column-search:not(:has(.no-search)):not(:has(.alert-danger)) form:has(.search-form-toggler) .search-form-toggler:after {
    display: block;
    position: absolute;
    bottom: 0.1rem;
    right: 0;
    content: "\f053";
    font-size: 0.9em;
    font-family: "Font Awesome 5 Pro";
  }
  .two-column-search:not(:has(.no-search)):not(:has(.alert-danger)) form:has(.search-form-toggler) .search-form-toggler.closed:after {
    bottom: -3rem;
  }
  .two-column-search:not(:has(.no-search)):not(:has(.alert-danger)) form:has(.search-form-toggler.closed),
  .two-column-search:not(:has(.no-search)):not(:has(.alert-danger)) .form:has(.search-form-toggler.closed),
  .two-column-search:not(:has(.no-search)):not(:has(.alert-danger)) #search-form:has(.search-form-toggler.closed) {
    flex: 0 0 4rem !important;
    padding: 0 !important;
  }
  .two-column-search:not(:has(.no-search)):not(:has(.alert-danger)) form:has(.search-form-toggler.closed) h5.search-form-toggler,
  .two-column-search:not(:has(.no-search)):not(:has(.alert-danger)) .form:has(.search-form-toggler.closed) h5.search-form-toggler,
  .two-column-search:not(:has(.no-search)):not(:has(.alert-danger)) #search-form:has(.search-form-toggler.closed) h5.search-form-toggler {
    display: block;
    position: absolute;
    top: 6rem;
    left: 0;
    width: 4rem;
    padding: 0;
    margin: 0 auto;
    line-height: 4rem;
    white-space: nowrap;
    transform: rotate(180deg);
    writing-mode: vertical-lr;
    text-align: right;
  }
  .two-column-search:not(:has(.no-search)):not(:has(.alert-danger)) form:has(.search-form-toggler.closed) h5.search-form-toggler::after,
  .two-column-search:not(:has(.no-search)):not(:has(.alert-danger)) .form:has(.search-form-toggler.closed) h5.search-form-toggler::after,
  .two-column-search:not(:has(.no-search)):not(:has(.alert-danger)) #search-form:has(.search-form-toggler.closed) h5.search-form-toggler::after {
    left: 0;
    top: 0;
  }
  .two-column-search:not(:has(.no-search)):not(:has(.alert-danger)) form:has(.search-form-toggler.closed) .form hr,
  .two-column-search:not(:has(.no-search)):not(:has(.alert-danger)) form:has(.search-form-toggler.closed) .form .mb-3,
  .two-column-search:not(:has(.no-search)):not(:has(.alert-danger)) form:has(.search-form-toggler.closed) .form .my-3,
  .two-column-search:not(:has(.no-search)):not(:has(.alert-danger)) form:has(.search-form-toggler.closed) .form .col-12,
  .two-column-search:not(:has(.no-search)):not(:has(.alert-danger)) form:has(.search-form-toggler.closed) .form .alert-info,
  .two-column-search:not(:has(.no-search)):not(:has(.alert-danger)) form:has(.search-form-toggler.closed) .form .form-group,
  .two-column-search:not(:has(.no-search)):not(:has(.alert-danger)) form:has(.search-form-toggler.closed) .form .form-check,
  .two-column-search:not(:has(.no-search)):not(:has(.alert-danger)) form:has(.search-form-toggler.closed) .form h5:not(.search-form-toggler),
  .two-column-search:not(:has(.no-search)):not(:has(.alert-danger)) .form:has(.search-form-toggler.closed) .form hr,
  .two-column-search:not(:has(.no-search)):not(:has(.alert-danger)) .form:has(.search-form-toggler.closed) .form .mb-3,
  .two-column-search:not(:has(.no-search)):not(:has(.alert-danger)) .form:has(.search-form-toggler.closed) .form .my-3,
  .two-column-search:not(:has(.no-search)):not(:has(.alert-danger)) .form:has(.search-form-toggler.closed) .form .col-12,
  .two-column-search:not(:has(.no-search)):not(:has(.alert-danger)) .form:has(.search-form-toggler.closed) .form .alert-info,
  .two-column-search:not(:has(.no-search)):not(:has(.alert-danger)) .form:has(.search-form-toggler.closed) .form .form-group,
  .two-column-search:not(:has(.no-search)):not(:has(.alert-danger)) .form:has(.search-form-toggler.closed) .form .form-check,
  .two-column-search:not(:has(.no-search)):not(:has(.alert-danger)) .form:has(.search-form-toggler.closed) .form h5:not(.search-form-toggler),
  .two-column-search:not(:has(.no-search)):not(:has(.alert-danger)) #search-form:has(.search-form-toggler.closed) .form hr,
  .two-column-search:not(:has(.no-search)):not(:has(.alert-danger)) #search-form:has(.search-form-toggler.closed) .form .mb-3,
  .two-column-search:not(:has(.no-search)):not(:has(.alert-danger)) #search-form:has(.search-form-toggler.closed) .form .my-3,
  .two-column-search:not(:has(.no-search)):not(:has(.alert-danger)) #search-form:has(.search-form-toggler.closed) .form .col-12,
  .two-column-search:not(:has(.no-search)):not(:has(.alert-danger)) #search-form:has(.search-form-toggler.closed) .form .alert-info,
  .two-column-search:not(:has(.no-search)):not(:has(.alert-danger)) #search-form:has(.search-form-toggler.closed) .form .form-group,
  .two-column-search:not(:has(.no-search)):not(:has(.alert-danger)) #search-form:has(.search-form-toggler.closed) .form .form-check,
  .two-column-search:not(:has(.no-search)):not(:has(.alert-danger)) #search-form:has(.search-form-toggler.closed) .form h5:not(.search-form-toggler) {
    display: none !important;
  }
  .two-column-search:not(:has(.no-search)):not(:has(.alert-danger)) #search-form:has(.search-form-toggler.closed) {
    border-right: 1px solid #d7d7d7;
  }
}
.two-column-search .search-table {
  display: flex;
  align-items: stretch;
  --bs-gutter-x: 0;
  margin-top: 3rem;
  height: 100%;
  border-top: 1px solid #d7d7d7;
}
@media (max-width: 900px) {
  .two-column-search .search-table {
    display: block;
  }
}
.two-column-search .search-table .form {
  background-color: #f6f8fa;
  padding: 3rem;
  border-right: 1px solid #d7d7d7;
  flex: 0 0 32.5rem;
}
@media (max-width: 900px) {
  .two-column-search .search-table .form {
    flex: none;
    border-right: none;
    border-bottom: 1px solid #d7d7d7;
  }
}
@media (max-width: 680px) {
  .two-column-search .search-table .form {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}
.two-column-search .search-table .form h5 {
  margin-bottom: 1.5rem;
}
.two-column-search .search-table .form input,
.two-column-search .search-table .form select,
.two-column-search .search-table .form textarea,
.two-column-search .search-table .form .btn-secondary {
  background-color: #fff !important;
}
.two-column-search .search-table .form .btn-checkboxinfo {
  background-color: transparent !important;
}
.two-column-search .search-table .form .form-check-input:checked, .two-column-search .search-table .form .fg-form-check-input:checked {
  background-color: #0a6478 !important;
  border-color: #0a6478 !important;
}
.two-column-search .search-table .form .input-separator {
  margin-top: 0.5rem;
  margin-left: 0.5rem;
  margin-right: 0.5rem;
}
.two-column-search .search-table .form .dp__input_icon_pad {
  padding: 0.4rem 2rem 0.4rem 3.3rem !important;
  font-size: 1.4rem;
}
.two-column-search .search-table .form .dropdown-toggle {
  color: #33475b;
  max-width: 100% !important;
  overflow: clip;
  text-overflow: ellipsis !important;
}
@media (min-width: 900px) {
  .two-column-search .search-table .form .dropdown-toggle {
    max-width: 25.5rem !important;
  }
  .two-column-search .search-table .form .btn-secondary.show .dropdown-toggle {
    max-width: 24rem !important;
  }
}
.two-column-search .search-table .form .fa.clear {
  width: 0;
}
.two-column-search .search-table .results-container {
  width: 100%;
  min-width: 0;
}
.two-column-search .search-table .results-container .results {
  padding: 3rem;
  margin: 0;
  width: 100%;
  min-width: 0;
}
@media (max-width: 680px) {
  .two-column-search .search-table .results-container .results {
    padding: 3rem 1.5rem 3rem 1.5rem;
  }
}
.two-column-search .search-table .results-container .results tableheader:first-of-type .table-responsive-header {
  margin-top: 0 !important;
}
.two-column-search .search-table .results-container .results tableheader:first-of-type .table-responsive-header:has(.table-responsive-header-actions) {
  margin-top: -0.4rem !important;
}
.two-column-search .search-table .results-container .results tableheader .table-responsive-header a.btn {
  color: #fff !important;
}
.two-column-search .search-table .results-container .results tableheader .table-responsive-header .btn:first-child {
  margin-left: 0;
}
.two-column-search .search-table .results-container .results > .row {
  display: block;
}
.two-column-search .search-table .results-container .results .items-info {
  margin: 1rem auto;
  width: 100%;
  text-align: center;
}
.two-column-search .search-table .results-container .results .csv-link {
  font-weight: 600;
}
.two-column-search .search-table .results-container .results .csv-link:before {
  content: "\f019";
  display: inline-block;
  margin-right: 1rem;
  font-family: "Font Awesome 5 Pro";
  font-weight: 400;
}
.two-column-search .search-table .results-container .results .csv-link:first-of-type {
  margin-top: 3rem;
}
.two-column-search .search-table .results-container .results .csv-link:last-of-type {
  margin-bottom: 3rem;
}

.pager > div {
  margin: 0 auto;
  width: 100%;
  text-align: center;
}
.pager > div .pagination {
  justify-content: center;
}
.pager > div .pagination .page-item button {
  color: #fff;
  background-color: #0a6478;
  border: 0.1rem solid #0a6478;
}
.pager > div .pagination .page-item button:hover {
  background-color: #074958;
  border-color: #074958;
}
.pager > div .pagination .page-item:first-child button {
  border-top-left-radius: 0.5rem;
  border-bottom-left-radius: 0.5rem;
}
.pager > div .pagination .page-item:last-child button {
  border-top-right-radius: 0.5rem;
  border-bottom-right-radius: 0.5rem;
}

.hakemusten-kasittely form {
  max-width: 120rem;
  margin-bottom: 4.5rem;
}
.hakemusten-kasittely form .row {
  max-width: none;
  justify-content: space-between;
}
.hakemusten-kasittely form .row .col-12 {
  width: calc(50% - 1.5rem);
}
.hakemusten-kasittely form .mb-3 {
  max-width: none;
}
.hakemusten-kasittely form #readonly-form input[type=text],
.hakemusten-kasittely form #readonly-form select,
.hakemusten-kasittely form #readonly-form textarea,
.hakemusten-kasittely form #readonly-form .dp__input,
.hakemusten-kasittely form #readonly-form .btn-secondary.disabled {
  background-color: transparent !important;
  border-color: transparent !important;
  background-image: none;
}
.hakemusten-kasittely form #readonly-form .btn-secondary.disabled .dropdown-toggle {
  border-color: transparent !important;
}
.hakemusten-kasittely form #readonly-form .btn-secondary.disabled .dropdown-toggle::after {
  display: none;
}
.hakemusten-kasittely form #readonly-form .fa {
  display: none;
}
.hakemusten-kasittely form #readonly-form .requirement {
  color: transparent;
}
.hakemusten-kasittely form #readonly-form .form-check-input:disabled {
  border-color: #444 !important;
  opacity: 0.35;
}
.hakemusten-kasittely form #readonly-form .dp__icon {
  display: none;
}
.hakemusten-kasittely form #readonly-form .dp__input {
  padding-left: 1rem !important;
}
@media (max-width: 780px) {
  .hakemusten-kasittely form #readonly-form {
    display: none;
  }
  .hakemusten-kasittely form .row .col-12 {
    width: 100%;
  }
}

.hakemusten-kasittely .card-body > .search-table > form {
  display: none;
}
@media (max-width: 780px) {
  .hakemusten-kasittely .alert-info {
    display: none;
  }
}

.poiminta-edit form {
  max-width: 100% !important;
}
.poiminta-edit .anchor-list-wrapper {
  padding-right: 3rem !important;
}
.poiminta-edit .edit-list {
  max-width: 70rem;
}
.poiminta-edit .edit-list .card-title {
  margin: 0;
  font-size: 1.8rem !important;
  font-family: "Open Sans Condensed", sans-serif;
  font-weight: 600;
}

.poiminta-hakuehdot {
  margin-bottom: 3rem !important;
}
.poiminta-hakuehdot > h5 {
  cursor: pointer;
  display: flex;
  justify-content: space-between;
}
.poiminta-hakuehdot:has(.card-body[style*="display: none;"]) {
  border-bottom: none;
}
.poiminta-hakuehdot:has(.card-body[style*="display: none;"]) > h5::after {
  content: "\f078";
  font-family: "Font Awesome 5 Pro";
}
.poiminta-hakuehdot:not(:has(.card-body[style*="display: none;"])) > h5::after {
  content: "\f077";
  font-family: "Font Awesome 5 Pro";
}
.poiminta-hakuehdot > .card-body {
  padding: 1rem 0;
}
.poiminta-hakuehdot .tabs {
  margin: 0;
}

.henkilo-edit .card.perustiedot .card-header,
.organisaatio-edit .card.perustiedot .card-header,
.opiskelijoiden-syottaminen .card.perustiedot .card-header {
  border: none;
  padding-top: 0;
}

.gray-content-box {
  margin-bottom: 3rem;
  padding: 1rem 2rem 2rem 2rem;
  background-color: #f6f8fa;
  border: 1px solid #d7d7d7;
}
.gray-content-box .mb-3, .gray-content-box .mb-4 {
  margin: 0 !important;
}
.gray-content-box .buttons {
  margin-top: 1rem !important;
}
.gray-content-box .buttons .btn {
  margin-bottom: 0;
  margin-top: 0.5rem;
}
.gray-content-box form input,
.gray-content-box form select,
.gray-content-box form textarea,
.gray-content-box form .btn-secondary {
  background-color: #fff !important;
}
.gray-content-box form input.btn-checkboxinfo,
.gray-content-box form select.btn-checkboxinfo,
.gray-content-box form textarea.btn-checkboxinfo,
.gray-content-box form .btn-secondary.btn-checkboxinfo {
  background-color: transparent !important;
}

#tekstiviestilahetys {
  margin: 3rem 0;
}
#tekstiviestilahetys:has(a.collapsed) .alert.alert-info {
  display: none;
}
#tekstiviestilahetys .card {
  border: none;
}
#tekstiviestilahetys .card .col-md-6,
#tekstiviestilahetys .card .col-sm-12 {
  padding: 0;
}
#tekstiviestilahetys .card:has(.alert.alert-info) .card-body {
  padding: 0;
  box-shadow: none;
}
#tekstiviestilahetys .card:has(.alert.alert-info) .alert.alert-info {
  margin: 0;
}
#tekstiviestilahetys .card .card-header {
  margin: 0;
  padding: 1rem 1.5rem;
  background-color: #f6f8fa;
  border: none;
  border-bottom: 1px solid #d7d7d7;
}
#tekstiviestilahetys .card .card-body {
  padding: 3rem;
}
@media (max-width: 680px) {
  #tekstiviestilahetys .card .card-body {
    padding: 3rem 1.5rem 3rem 1.5rem;
  }
}
#tekstiviestilahetys .card .card-body .button-group {
  margin: 0;
}
#tekstiviestilahetys a {
  color: #33475b;
}
#tekstiviestilahetys a:hover {
  text-decoration: none;
}
#tekstiviestilahetys a .card-title {
  margin-bottom: 1.5rem;
}
#tekstiviestilahetys a .card-title:after {
  content: "\f106";
  padding-left: 1em;
  font-family: "Font Awesome 5 Pro";
}
#tekstiviestilahetys a.collapsed .card-title {
  margin-bottom: 0;
}
#tekstiviestilahetys a.collapsed .card-title:after {
  content: "\f107";
}
#tekstiviestilahetys a .card-header {
  padding: 0;
  background-color: transparent;
  border: none;
}

.history .history-info {
  margin: 3rem 0 0 0;
}
.history .history-info:empty {
  display: none;
}
.history form .items-info {
  margin-top: -1.5rem;
}
.history form:has(.table-responsive-empty) .items-info {
  display: none;
}

.lt-actions {
  display: flex;
  justify-content: center;
}
.lt-actions .lt-action {
  width: max-content;
}
.lt-actions .btn {
  margin-left: 1.5rem;
}

.attachment-drag-active,
.attachment-drag-inactive {
  position: relative;
  margin-bottom: 1.5rem;
  background-color: #f6f8fa;
  border: 2px dashed #bbb;
}
.attachment-drag-active .file-input-hidden,
.attachment-drag-inactive .file-input-hidden {
  display: none;
}
.attachment-drag-active .file-input-label,
.attachment-drag-inactive .file-input-label {
  margin: 0;
  padding: 8.5rem 3rem 3rem 3rem;
  width: 100%;
  cursor: pointer;
}
.attachment-drag-active .file-input-label:before,
.attachment-drag-inactive .file-input-label:before {
  position: absolute;
  top: 4.5rem;
  left: 0;
  width: 100%;
  content: "\f382";
  font-family: "Font Awesome 5 Pro";
  font-size: 5rem;
  color: #aaa;
}

.attachment-drag-active {
  background-color: #eaf0f6;
}

#smsmassa .row {
  display: flex;
  margin: 0;
}
#smsmassa .row .tekstiviesti {
  width: calc(50% - 1.5rem);
}
@media (max-width: 680px) {
  #smsmassa .row .tekstiviesti {
    width: 100%;
  }
}
#smsmassa > .row {
  flex-wrap: nowrap;
  justify-content: space-between;
}
#smsmassa > .row .col-2,
#smsmassa > .row .col-4 {
  padding: 0;
  flex: 1 1 calc(50% - 1.5rem);
  max-width: calc(50% - 1.5rem);
}
@media (max-width: 680px) {
  #smsmassa > .row {
    flex-direction: column;
  }
  #smsmassa > .row .col-2,
  #smsmassa > .row .col-4 {
    flex: 1 1 100%;
    max-width: 100%;
  }
}

.autocomplete .dropdown-toggle {
  text-align: start;
}

.form-group.two-column-row > div:has(.info-button),
.form-group.two-column-row > div:has(.btn-checkboxinfo) {
  position: relative;
}
.form-group.two-column-row > div:has(.info-button) span:not(.field-validation-valid):not(.field-validation-error),
.form-group.two-column-row > div:has(.btn-checkboxinfo) span:not(.field-validation-valid):not(.field-validation-error) {
  display: inline-block;
  padding-right: 3rem;
}
.form-group.two-column-row > div:has(.info-button):not(:has(span:not(.field-validation-valid):not(.field-validation-error))) .labelcaption,
.form-group.two-column-row > div:has(.btn-checkboxinfo):not(:has(span:not(.field-validation-valid):not(.field-validation-error))) .labelcaption {
  padding-right: 3rem;
}
.form-group.two-column-row > div:has(.info-button) .info-button,
.form-group.two-column-row > div:has(.info-button) .btn-checkboxinfo,
.form-group.two-column-row > div:has(.btn-checkboxinfo) .info-button,
.form-group.two-column-row > div:has(.btn-checkboxinfo) .btn-checkboxinfo {
  position: absolute;
  top: -0.1rem;
  right: 0;
}

.edit-form {
  margin-left: -3rem;
  margin-right: -3rem;
  padding: 0;
  height: 100%;
}
@media (max-width: 680px) {
  .edit-form {
    margin-left: -1.5rem;
    margin-right: -1.5rem;
  }
}
.edit-form .row {
  margin: 0;
  padding: 0;
  width: 100%;
  max-width: 100%;
}
.edit-form .col-12,
.edit-form .col-md-6,
.edit-form .col-md-8,
.edit-form .col-sm-8 {
  display: block;
  margin: 0;
  padding: 0;
  width: 100%;
  max-width: 100%;
}
.edit-form form .card {
  margin-bottom: 3rem;
  border: 1px solid #d7d7d7 !important;
  border-radius: 0.5rem;
}
.edit-form form .card a.unlink {
  color: #33475b;
}
.edit-form form .card a.unlink:hover {
  text-decoration: none;
}
.edit-form form .card a.unlink h2:after {
  display: block;
  position: absolute;
  bottom: 0.1rem;
  right: 0;
  content: "\f077";
  font-family: "Font Awesome 5 Pro";
}
.edit-form form .card a.unlink.collapsed h2:after {
  content: "\f078";
}
.edit-form form .card a.unlink.collapsed .card-header {
  border-bottom: none;
}
.edit-form form .card .card-header {
  margin: 0;
  padding: 1rem 1.5rem;
  background-color: #f6f8fa;
  border: none;
  border-bottom: 1px solid #d7d7d7;
}
.edit-form form .card .card-header h2 {
  position: relative;
  margin: 0;
  font-size: 1.8rem;
  font-family: "Open Sans Condensed", sans-serif;
  font-weight: 600;
}
.edit-form form .card .card-body {
  padding: 1.5rem 1.5rem 0.75rem 1.5rem;
}
.edit-form .edit-form-wrapper {
  display: flex;
  --bs-gutter-x: 0;
  margin-top: 1.5rem;
  height: 100%;
  border-top: 1px solid #d7d7d7;
}
@media (max-width: 680px) {
  .edit-form .edit-form-wrapper {
    display: block;
  }
}
.edit-form .anchor-list-wrapper {
  background-color: #f6f8fa;
  padding: 3rem 1.5rem 3rem 3rem;
  border-right: 1px solid #d7d7d7;
  flex: 0 0 25rem;
}
@media (max-width: 680px) {
  .edit-form .anchor-list-wrapper {
    width: 100%;
    padding: 3rem 1.5rem;
    flex: none;
  }
}
.edit-form .anchor-list-wrapper .anchor-list {
  position: sticky;
  top: 8.5rem;
}
.edit-form .anchor-list-wrapper .anchor-list h5 {
  margin-bottom: 2rem;
}
.edit-form .anchor-list-wrapper .anchor-list .vertical-scroller {
  position: relative;
  margin: 0;
  padding: 0;
}
.edit-form .anchor-list-wrapper .anchor-list .list-group-item {
  padding: 1rem 2rem;
  font-weight: 700;
  color: #0a6478 !important;
}
.edit-form .anchor-list-wrapper .anchor-list .list-group-item.active {
  padding-left: 1.6rem;
  background-color: #eaf0f6;
  border: 1px solid #d7d7d7;
  border-left: 0.5rem solid #0a6478;
}
.edit-form .edit-list {
  padding: 3rem;
  width: 100%;
  max-width: 70rem;
}
@media (max-width: 680px) {
  .edit-form .edit-list {
    padding: 3rem 1.5rem 3rem 1.5rem;
  }
}
.edit-form .edit-list.nosto {
  margin-right: 43rem !important;
  padding-bottom: 0 !important;
}
.edit-form .edit-list.nosto .vuetify {
  position: absolute;
  top: 2.5rem;
  right: -3rem;
}
@media (max-width: 960px) {
  .edit-form .edit-list.nosto {
    margin-right: 0 !important;
  }
  .edit-form .edit-list.nosto .vuetify {
    display: none;
  }
}
.edit-form .edit-list:has(.js-table-filter) .table-responsive-header {
  padding: 0;
}
.edit-form .edit-list:has(.js-table-filter) .table-responsive-header .table-responsive-header-actions {
  padding: 0.5rem !important;
  text-align: right;
  background-color: #f6f8fa;
  border: 1px solid #d7d7d7;
  border-bottom: 0;
}
.edit-form .edit-list:not(:has(.js-table-filter)) .table-responsive-header .row {
  display: flex;
}
.edit-form .edit-list .form-group.file i {
  margin-right: 1rem;
  font-size: 1.5em;
  color: #0a6478;
}
.edit-form .edit-list .form-control,
.edit-form .edit-list .chosen-single,
.edit-form .edit-list .chosen-container-single {
  background-color: #f6f8fa !important;
}
.edit-form .edit-list input.form-control:disabled, .edit-form .edit-list input.form-control:read-only {
  color: #888888;
  background-color: #eaebf0 !important;
}
.edit-form .edit-list span.form-control-plaintext {
  padding-top: 0.5rem;
  background-color: #fff !important;
}
.edit-form .edit-list .card {
  border: none;
}
.edit-form .edit-list .card-header {
  padding: 3rem 0 1.5rem 0;
  margin-right: -3rem;
  border-top: 1px solid #d7d7d7;
  border-bottom: none;
  background-color: #fff;
}
@media (max-width: 680px) {
  .edit-form .edit-list .card-header {
    margin-right: -1.5rem;
  }
}
.edit-form .edit-list .card-body {
  padding: 0 0 1rem 0;
  display: block !important;
}
.edit-form .edit-list .dropdown .btn-secondary {
  color: #33475b;
}
.edit-form .edit-list .dropdown .dropdown-item:hover {
  color: #33475b;
  background-color: #c4e3fb;
}
.edit-form .edit-list .col-3,
.edit-form .edit-list .col-6 {
  padding: 0;
}
.edit-form .edit-list .kysymys {
  margin: 0 0 1.5rem 0;
  padding: 0.75rem 1.5rem 1.5rem 1.5rem;
  gap: 0.5rem;
  align-items: end;
  border: 1px solid #d7d7d7;
  background-color: #f6f8fa;
}
.edit-form .edit-list .kysymys input, .edit-form .edit-list .kysymys select {
  background-color: #fff;
}
.edit-form.grey-bg .edit-form-wrapper {
  margin-top: 0;
  background-color: #f6f8fa;
}
.edit-form.grey-bg .anchor-list-wrapper {
  border-right: none;
}
.edit-form.raportit .edit-list {
  padding-top: 3.7rem;
}
.edit-form .edit-form-title {
  padding: 3rem;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
@media (max-width: 680px) {
  .edit-form .edit-form-title {
    padding: 3rem 1.5rem 3rem 1.5rem;
  }
}
.edit-form .edit-form-title label {
  margin: 0.5rem 0 0.5em 0;
}
.edit-form .edit-form-title:has(label:empty) {
  margin-bottom: 3rem;
}
.edit-form .edit-form-title:has(label:empty) label {
  display: none;
}
.edit-form .edit-form-title .form-group {
  margin: 0;
}
.edit-form .edit-add-info {
  padding: 3rem;
  background-color: #f6f8fa;
}
@media (max-width: 680px) {
  .edit-form .edit-add-info {
    padding: 3rem 1.5rem 3rem 1.5rem;
  }
}
.edit-form .edit-add-info .add-info-wrapper {
  max-width: 70rem;
  background-color: #f6f8fa;
}
.edit-form .edit-add-info .add-info-wrapper .add-info-content {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
}
.edit-form .edit-add-info .add-info-wrapper .add-info-content .info-item {
  width: 22rem;
}
.edit-form .edit-add-info .add-info-wrapper .add-info-content .info-item .labelcaption {
  font-weight: 700;
}
.edit-form.fixed-buttons form {
  margin: 0;
  max-width: 70rem;
}
.edit-form.fixed-buttons .edit-list h5 {
  margin-top: 3rem;
  margin-bottom: 1.5rem;
}
.edit-form.fixed-buttons .edit-list h5:first-of-type {
  margin-top: 0;
}
.edit-form ul.listaus {
  border-top: none !important;
  padding-top: 1.5rem !important;
}
.edit-form .messages:not(:has(.no-results)) {
  border-top: 1px solid #d7d7d7;
}
.edit-form .messages .message {
  display: flex;
  align-items: flex-start;
  padding: 1.5rem 0 1rem 0;
  border-bottom: 1px solid #d7d7d7;
}
.edit-form .messages .message .sender-icon {
  display: flex;
  flex: 0 0 4rem;
  align-items: center;
  justify-content: center;
  height: 4rem;
  width: 4rem;
  color: #fff;
  font-size: 1.25em;
  border-radius: 50%;
  background-color: #74081a;
  text-transform: uppercase;
}
.edit-form .messages .message .sender-icon.kt-user {
  background-color: #986f0b;
}
.edit-form .messages .message .message-content {
  margin-left: 1.5rem;
  width: 100%;
  max-width: 70rem;
}
.edit-form .messages .message .message-content .message-sender {
  margin-right: 1rem;
  padding-right: 1rem;
  border-right: 1px solid #d7d7d7;
  font-weight: 700;
}
.edit-form .messages .message .message-content .message-time {
  font-weight: 700;
}
.edit-form .messages .message .message-content .message-body {
  margin-top: 0.5rem;
}
.edit-form .messages .message .message-content .message-body p:last-child {
  margin-bottom: 0;
}
.edit-form .additional-info {
  padding: 3rem;
  padding-top: 0;
}
@media (max-width: 680px) {
  .edit-form .additional-info {
    padding: 3rem 1.5rem 3rem 1.5rem;
  }
}
.edit-form .additional-info tableheader:first-child .table-responsive-header {
  margin-top: 0 !important;
}

.osoitelahde {
  display: block;
  margin-bottom: 1.5rem;
}
.osoitelahde .table-responsive-header {
  padding-bottom: 0.5rem;
  border-bottom: 1px solid #d7d7d7;
}
.osoitelahde .table-responsive-header .row {
  display: flex;
  align-items: center !important;
  padding-bottom: 0.5rem;
}
.osoitelahde .table-responsive-header .row .btn {
  padding: 0.5rem 1.5rem;
  font-size: 1.4rem;
  border: 1px solid #0a6478 !important;
  opacity: 1 !important;
  white-space: nowrap;
  border-radius: 0.25rem;
  margin-right: 0.5rem;
  color: #fff !important;
  background-color: #0a6478 !important;
}
.osoitelahde .table-responsive-header .row .btn:hover, .osoitelahde .table-responsive-header .row .btn:active {
  color: #fff;
  background-color: #074958 !important;
  border: 1px solid #074958 !important;
}
.osoitelahde .table-responsive-header .row .pull-right.mr-3 {
  display: flex;
  align-items: center !important;
  margin-right: 0 !important;
}
.osoitelahde .table-responsive-header .row .pull-right.mr-3 .unlink {
  position: relative;
  margin: 0 0 0 0.5rem;
  cursor: pointer;
}
.osoitelahde .table-responsive-header .row .pull-right.mr-3 .unlink .fal, .osoitelahde .table-responsive-header .row .pull-right.mr-3 .unlink.sms:after {
  font-size: 1.5em;
  font-weight: 900;
  line-height: 1.5em;
}
.osoitelahde .table-responsive-header .row .pull-right.mr-3 .unlink.sms:after {
  content: "\f077";
  font-family: "Font Awesome 5 Pro";
}
.osoitelahde .table-responsive-header .row .pull-right.mr-3 .unlink.sms.collapsed:after {
  content: "\f078";
}
.osoitelahde table th,
.osoitelahde table tr.table-responsive-empty td {
  border-top: none;
}

.listaus-outer {
  display: flex;
  flex-direction: column;
  flex: 1;
}

.listaus-wrapper {
  margin-left: -3rem;
  margin-right: -3rem;
  padding: 3rem;
  flex-grow: 1;
  background-color: #f6f8fa;
  border-top: 1px solid #d7d7d7;
}
@media (max-width: 680px) {
  .listaus-wrapper {
    margin-left: -1.5rem;
    margin-right: -1.5rem;
  }
}
@media (max-width: 680px) {
  .listaus-wrapper {
    padding: 3rem 1.5rem 3rem 1.5rem;
  }
}
.listaus-wrapper.ohjaustiedot {
  border-top: none;
}
.listaus-wrapper .container {
  margin: 0;
  padding: 0 1.5rem;
}
.listaus-wrapper h1, .listaus-wrapper .listaus-wrapper {
  display: none;
}
.listaus-wrapper ul.listaus {
  margin: 0;
  padding: 0 0 3rem 0;
  width: 100%;
  list-style: none;
}
.listaus-wrapper ul.listaus:before {
  display: none;
}
.listaus-wrapper ul.listaus li {
  position: relative;
  border: 1px solid #d7d7d7;
  border-bottom: 0;
  background-color: #fff;
  max-width: 70rem;
}
.listaus-wrapper ul.listaus li:last-child {
  border-bottom: 1px solid #d7d7d7;
}
.listaus-wrapper ul.listaus a {
  position: relative;
  display: flex;
  align-items: center;
  padding: 2rem;
  font-family: "Open Sans", sans-serif;
  font-weight: 600;
  text-decoration: none;
  color: #0a6478;
}
.listaus-wrapper ul.listaus a.external-link {
  display: none;
}
.listaus-wrapper ul.listaus a:before {
  margin-right: 2rem;
  font-family: "Font Awesome 5 Pro";
  font-size: 4rem;
}
.listaus-wrapper.ohjaustiedot {
  margin-right: 0;
}
.listaus-wrapper.ohjaustiedot a:before {
  content: "\f013";
}
.listaus-wrapper.raportit {
  margin-right: 0;
  border-top: none;
}
.listaus-wrapper.raportit a:before {
  content: "\f1fe";
}
.listaus-wrapper.laskutus a:before {
  content: "\f85c";
}
.listaus-wrapper.kayttajat a:before {
  content: "\f0c0";
}
.listaus-wrapper.yllapito a:before {
  content: "\f7d9";
}
.listaus-wrapper.osoiteainestot a:before {
  content: "\f0ac";
}
.listaus-wrapper.admin a:before {
  content: "\f6a4";
}

.item-list {
  margin-left: -3rem;
  margin-right: -3rem;
  padding: 3rem;
  padding-top: 0;
  padding-bottom: 0;
  border-top: 1px solid #d7d7d7;
}
@media (max-width: 680px) {
  .item-list {
    margin-left: -1.5rem;
    margin-right: -1.5rem;
  }
}
@media (max-width: 680px) {
  .item-list {
    padding: 3rem 1.5rem 3rem 1.5rem;
  }
}

.edit-list {
  padding: 3rem;
}
.edit-list .row {
  display: block;
}
.edit-list tableheader:first-child .table-responsive-header {
  margin: 0 0 0.5rem 0 !important;
}

.listaus.helper li {
  width: 100%;
}

.lomakelinkki-list .row {
  justify-content: flex-start;
  margin: 0;
  column-gap: 3rem;
}
.lomakelinkki-list .col {
  margin: 0;
  padding: 0;
}
.lomakelinkki-list .lomakelinkki {
  margin-bottom: 1.5rem;
  border-bottom: 1px solid #d7d7d7;
}
.lomakelinkki-list .lomakelinkki .labelcaption {
  font-weight: 600;
}

#dynamic-items #dynamic-item-list .dynamic-item,
#dynamic-items .dynamic-item-list .dynamic-item,
.dynamic-items #dynamic-item-list .dynamic-item,
.dynamic-items .dynamic-item-list .dynamic-item {
  flex-direction: column;
  margin-bottom: 1.5rem;
  padding: 1.5rem 1.5rem 0 1.5rem;
  border: 1px solid #d7d7d7;
  background-color: #f6f8fa;
}
#dynamic-items #dynamic-item-list .dynamic-item input,
#dynamic-items #dynamic-item-list .dynamic-item select,
#dynamic-items #dynamic-item-list .dynamic-item textarea,
#dynamic-items .dynamic-item-list .dynamic-item input,
#dynamic-items .dynamic-item-list .dynamic-item select,
#dynamic-items .dynamic-item-list .dynamic-item textarea,
.dynamic-items #dynamic-item-list .dynamic-item input,
.dynamic-items #dynamic-item-list .dynamic-item select,
.dynamic-items #dynamic-item-list .dynamic-item textarea,
.dynamic-items .dynamic-item-list .dynamic-item input,
.dynamic-items .dynamic-item-list .dynamic-item select,
.dynamic-items .dynamic-item-list .dynamic-item textarea {
  width: 100%;
  background-color: #fff !important;
}
#dynamic-items #dynamic-item-list .dynamic-item input.btn-checkboxinfo,
#dynamic-items #dynamic-item-list .dynamic-item select.btn-checkboxinfo,
#dynamic-items #dynamic-item-list .dynamic-item textarea.btn-checkboxinfo,
#dynamic-items .dynamic-item-list .dynamic-item input.btn-checkboxinfo,
#dynamic-items .dynamic-item-list .dynamic-item select.btn-checkboxinfo,
#dynamic-items .dynamic-item-list .dynamic-item textarea.btn-checkboxinfo,
.dynamic-items #dynamic-item-list .dynamic-item input.btn-checkboxinfo,
.dynamic-items #dynamic-item-list .dynamic-item select.btn-checkboxinfo,
.dynamic-items #dynamic-item-list .dynamic-item textarea.btn-checkboxinfo,
.dynamic-items .dynamic-item-list .dynamic-item input.btn-checkboxinfo,
.dynamic-items .dynamic-item-list .dynamic-item select.btn-checkboxinfo,
.dynamic-items .dynamic-item-list .dynamic-item textarea.btn-checkboxinfo {
  background-color: transparent !important;
}
#dynamic-items #dynamic-item-list .dynamic-item select[multiple] option:checked,
#dynamic-items .dynamic-item-list .dynamic-item select[multiple] option:checked,
.dynamic-items #dynamic-item-list .dynamic-item select[multiple] option:checked,
.dynamic-items .dynamic-item-list .dynamic-item select[multiple] option:checked {
  box-shadow: 0 0 1rem 10rem #fff inset;
}
#dynamic-items .dynamic-item-add:before,
.dynamic-items .dynamic-item-add:before {
  content: "\f067";
  display: inline-block;
  margin-right: 1rem;
  font-family: "Font Awesome 5 Pro";
  font-weight: 400;
}

.checkbox-tree-list {
  padding: 0;
  max-width: 70rem;
}
.checkbox-tree-list > li {
  margin-bottom: 3rem;
  list-style: none;
  border: 1px solid #d7d7d7;
}
.checkbox-tree-list > li > div {
  position: relative;
  padding: 1rem 1.5rem;
  font-size: 1.8rem;
  font-family: "Open Sans Condensed", sans-serif;
  font-weight: 600;
  background-color: #f6f8fa;
  border-bottom: 1px solid #d7d7d7;
}
.checkbox-tree-list > li > div input[type=checkbox] {
  position: absolute;
  top: 1.3rem;
  left: 1.5rem;
}
.checkbox-tree-list > li > div:after {
  position: absolute;
  top: 1.2rem;
  right: 1.5rem;
  content: "\f077";
  padding-left: 1em;
  font-family: "Font Awesome 5 Pro";
  pointer-events: none;
}
.checkbox-tree-list > li > div span {
  position: relative;
  display: block;
}
.checkbox-tree-list > li > div span i::before {
  display: none !important;
}
.checkbox-tree-list > li > ul div {
  display: flex;
  padding: 0.2rem 0;
}
.checkbox-tree-list > li:has(> ul[style*="display: none"]) > div {
  border-bottom: none;
}
.checkbox-tree-list > li:has(> ul[style*="display: none"]) > div:after {
  content: "\f078";
}
.checkbox-tree-list > li > ul {
  padding: 1.5rem;
  list-style: none;
}
.checkbox-tree-list.multi-level > li > div {
  padding: 1.3rem 1.5rem 1.3rem 4.5rem;
}
.checkbox-tree-list.multi-level > li > ul > li {
  margin-bottom: 1rem;
  list-style: none;
  border: 1px solid #d7d7d7;
}
.checkbox-tree-list.multi-level > li > ul > li > div {
  position: relative;
  padding: 0.5rem 1.5rem 0.5rem 4.5rem;
  font-weight: 600;
  background-color: #f6f8fa;
  border-bottom: 1px solid #d7d7d7;
}
.checkbox-tree-list.multi-level > li > ul > li > div input[type=checkbox] {
  position: absolute;
  top: 0.8rem;
  left: 1.5rem;
}
.checkbox-tree-list.multi-level > li > ul > li > div:after {
  position: absolute;
  top: 0.8rem;
  right: 1.5rem;
  content: "\f077";
  padding-left: 1em;
  font-family: "Font Awesome 5 Pro";
  pointer-events: none;
}
.checkbox-tree-list.multi-level > li > ul > li > div span {
  position: relative;
  display: block;
  width: 100%;
  padding-top: 0.3rem;
  text-transform: lowercase;
}
.checkbox-tree-list.multi-level > li > ul > li > div span:first-letter {
  text-transform: uppercase;
}
.checkbox-tree-list.multi-level > li > ul > li > div span i::before {
  display: none !important;
}
.checkbox-tree-list.multi-level > li > ul > li ul {
  list-style: none;
  padding: 1rem 1.5rem 1rem 3rem;
}
.checkbox-tree-list.multi-level > li > ul > li ul li > div {
  display: flex;
  justify-content: start;
  padding: 0.1rem 0;
}
.checkbox-tree-list.multi-level > li > ul > li ul li > div span {
  display: block;
  padding-right: 1rem;
}
.checkbox-tree-list.multi-level > li > ul > li ul li .vastuukayttajat {
  display: block;
  flex: 0 0 21rem;
  margin-top: -0.4rem;
  margin-left: auto;
}
.checkbox-tree-list.multi-level > li > ul > li ul li .vastuukayttajat a {
  display: block;
  white-space: nowrap;
}
.checkbox-tree-list.multi-level > li > ul > li ul li .vastuukayttajat .vastuukayttaja {
  justify-content: space-between;
  align-items: center;
}
.checkbox-tree-list.multi-level > li > ul > li ul li .vastuukayttajat .vastuukayttaja .chosen-single {
  width: 18rem;
}
.checkbox-tree-list.multi-level > li > ul > li ul li .vastuukayttajat .vastuukayttaja .chosen-drop {
  flex-direction: column;
}
.checkbox-tree-list.multi-level > li > ul > li ul li .vastuukayttajat .vastuukayttaja .chosen-drop .chosen-results {
  padding: 0.5rem;
}
.checkbox-tree-list.multi-level > li > ul > li:has(> ul[style*="display: none"]) > div {
  border-bottom: none;
}
.checkbox-tree-list.multi-level > li > ul > li:has(> ul[style*="display: none"]) > div:after {
  content: "\f078";
}

ul.value-list {
  padding-left: 1.5rem;
}

.control-data {
  margin-left: -3rem;
  margin-right: -3rem;
  padding: 3rem;
  position: relative;
  padding-bottom: 0;
  border-top: 1px solid #d7d7d7;
}
@media (max-width: 680px) {
  .control-data {
    margin-left: -1.5rem;
    margin-right: -1.5rem;
  }
}
@media (max-width: 680px) {
  .control-data {
    padding: 3rem 1.5rem 3rem 1.5rem;
  }
}
.control-data .control-table {
  padding-bottom: 3rem;
}
.control-data .labelcaption {
  display: none;
}
.control-data .modal-content .labelcaption {
  display: block;
}
.control-data .row, .control-data .col-12, .control-data .col-md-8, .control-data .col-sm-8, .control-data .col-md-6 {
  margin: 0;
  padding: 0;
  width: 100%;
}
.control-data .items-info {
  margin: -1.5rem auto 0 auto;
  width: 100%;
  text-align: center;
}
.control-data .table-responsive-header {
  margin-top: 0 !important;
}
.control-data:has(.js-table-filter) .table-responsive-header, .control-data:has(.js-table-filter) .table-header {
  position: relative;
  margin-top: 3rem !important;
  padding: 0.5rem;
  background-color: #f6f8fa;
  border: 1px solid #d7d7d7;
  border-bottom: none;
}
.control-data:has(.js-table-filter) .table-responsive-header .justify-content-between, .control-data:has(.js-table-filter) .table-header .justify-content-between {
  justify-content: flex-end !important;
}
.control-data:has(.js-table-filter) .table-responsive-header .col-auto:has(.listcaption), .control-data:has(.js-table-filter) .table-responsive-header .d-flex:has(.listcaption), .control-data:has(.js-table-filter) .table-header .col-auto:has(.listcaption), .control-data:has(.js-table-filter) .table-header .d-flex:has(.listcaption) {
  position: absolute;
  top: -2.8rem;
  left: 0;
  width: 100%;
  white-space: nowrap;
}
.control-data:has(.js-table-filter) .col-12 {
  position: relative;
  z-index: 100;
}
.control-data:has(.js-table-filter) .col-12::after {
  position: absolute;
  top: 4.3rem;
  left: 13.3rem;
  content: "\f002";
  font-family: "Font Awesome 5 Pro";
  font-size: 1.1em;
  font-weight: 600;
}
.control-data:has(.js-table-filter) .col-12 .js-table-filter {
  position: absolute;
  left: 0.6rem;
  top: 3.6rem;
  width: 15rem;
  padding: 1.5rem 3rem 1.6rem 1rem !important;
}
.control-data:has(.js-table-filter) .table-filter:not(:has(.fa-search))::after {
  position: absolute;
  top: 1.4rem;
  left: 13.3rem;
  content: "\f002";
  font-family: "Font Awesome 5 Pro";
  font-size: 1.1em;
  font-weight: 600;
}
.control-data:has(.js-table-filter) .table-filter:not(:has(.fa-search)) input {
  width: 15rem;
}
.control-data:has(.js-table-filter) .table-filter .fa-search {
  cursor: pointer;
}
.control-data.results-container:has(.js-table-filter) .col-12::after {
  top: 0.7rem;
}
.control-data.results-container:has(.js-table-filter) .col-12 .js-table-filter {
  top: 0.1rem;
}

.control-data-edit:has(> p:not(:empty)) h1 {
  margin-bottom: 1.5rem;
}

.user-data {
  margin-left: -3rem;
  margin-right: -3rem;
  padding: 3rem;
  display: flex;
  gap: 3rem;
  position: relative;
  border-top: 1px solid #d7d7d7;
}
@media (max-width: 680px) {
  .user-data {
    margin-left: -1.5rem;
    margin-right: -1.5rem;
  }
}
@media (max-width: 680px) {
  .user-data {
    padding: 3rem 1.5rem 3rem 1.5rem;
  }
}
.user-data .column {
  width: 50%;
  max-width: 45rem;
}
.user-data .column .data-item {
  padding: 1rem 0;
  border-bottom: 1px solid #d7d7d7;
}
.user-data .column .data-item:first-child {
  padding-top: 0;
}
.user-data .column .data-item .item-heading {
  font-weight: 600;
}
.user-data .column .data-item .item-value:empty:before {
  content: "-";
}
@media (max-width: 680px) {
  .user-data {
    flex-direction: column;
  }
  .user-data .column {
    width: 100%;
    max-width: 100%;
  }
}

.user-list {
  margin-left: -3rem;
  margin-right: -3rem;
  padding: 3rem;
  padding-top: 0;
  border-top: 1px solid #d7d7d7;
}
@media (max-width: 680px) {
  .user-list {
    margin-left: -1.5rem;
    margin-right: -1.5rem;
  }
}
@media (max-width: 680px) {
  .user-list {
    padding: 3rem 1.5rem 3rem 1.5rem;
  }
}
.user-list .table-responsive {
  margin-bottom: 0;
}
.user-list .items-info {
  flex: 1 !important;
  margin: 1rem 0;
  text-align: center;
}

.buttons .btn {
  margin: 0 0.5rem 0;
}

.btn:focus,
.btn:active {
  outline: none !important;
  box-shadow: none !important;
}

.btn-primary,
.btn-secondary,
.btn-primary.disabled,
.btn-secondary.disabled {
  padding: 0.5rem 1.5rem;
  font-size: 1.4rem;
  border: 1px solid #0a6478 !important;
  opacity: 1 !important;
  white-space: nowrap;
  border-radius: 0.25rem;
}

.btn-danger {
  padding: 0.5rem 1.5rem;
  font-size: 1.4rem;
  opacity: 1 !important;
  white-space: nowrap;
  color: #dc3545;
  background-color: #fff;
  border-color: #dc3545;
}
.btn-danger:hover {
  background-color: #fff3f6;
  color: #dc3545;
}

.btn-primary {
  color: #fff !important;
  background-color: #0a6478 !important;
}
.btn-primary:hover, .btn-primary:active {
  color: #fff;
  background-color: #074958 !important;
  border: 1px solid #074958 !important;
}
.btn-primary:disabled, .btn-primary:disabled:hover {
  background-color: #ccc !important;
  border-color: #ccc !important;
}
.btn-primary .spinner-border {
  margin-right: 1rem;
  color: #fff !important;
}
.btn-primary:not(:first-child) .spinner-border {
  display: none !important;
}

.btn-secondary {
  color: #0a6478;
  background-color: #fff !important;
  border: 1px solid #0a6478 !important;
}
.btn-secondary:hover, .btn-secondary:active {
  color: #0a6478 !important;
  background-color: #eaf0f6 !important;
}
.btn-secondary .spinner-border {
  display: none !important;
}

.btn-checkboxinfo,
.btn-checkboxinfo:hover,
.btn-checkboxinfo:active {
  border: 0 !important;
  padding: 0;
  line-height: 0;
  margin-left: 1rem;
  background-color: transparent !important;
}
.btn-checkboxinfo i,
.btn-checkboxinfo:hover i,
.btn-checkboxinfo:active i {
  font-size: 1.5em;
  color: #0a6478;
  background-color: transparent !important;
  cursor: pointer;
}

.info-button {
  margin-left: 0.5rem;
  font-size: 1.5em;
  color: #0a6478;
  cursor: pointer;
}

.info-button-label {
  display: flex;
}

.info-button-choise {
  display: flex;
  flex: 0 0 100%;
  align-items: center;
  padding-right: 1rem;
}
.info-button-choise input[type=checkbox] {
  margin: 0 1rem 0 0;
}
.info-button-choise .btn-checkboxinfo {
  margin: 0;
}

.btn .fa {
  color: #0a6478 !important;
}

.btn-primary .fa {
  color: #fff !important;
}

.btn.copy {
  margin: 0;
  padding: 0;
  font-size: 1.4rem;
  line-height: 1.4em;
  color: #0a6478;
  border: none;
}

a.back-button {
  margin: 0 0 1.5rem;
  font-weight: 500;
  color: #0a6478;
  text-decoration: none;
  max-width: 10rem;
}

.fixed-buttons .buttons {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  margin: 0;
  padding: 2rem 0 1.5rem 24rem;
  background-color: #f6f8fa;
  border-top: 1px solid #d7d7d7;
  z-index: 120;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}
.fixed-buttons .buttons .btn {
  margin: 0 0.5rem 0.5rem 0;
}
.fixed-buttons .buttons .mb-4 {
  margin: 0 !important;
}
.fixed-buttons .buttons div {
  display: inline-block;
}
.fixed-buttons .buttons .back i {
  display: none;
}
@media (max-width: 1023px) {
  .fixed-buttons .buttons {
    padding-left: 9rem;
  }
}
@media (max-width: 680px) {
  .fixed-buttons .buttons {
    padding-left: 7.5rem;
  }
}
.fixed-buttons .buttons form .buttons .btn-secondary:not(.disabled):not(.btn-light) {
  color: #0a6478;
  background-color: #fff !important;
  border: 1px solid #0a6478 !important;
}
.fixed-buttons .buttons form .buttons .btn-secondary:not(.disabled):not(.btn-light):hover, .fixed-buttons .buttons form .buttons .btn-secondary:not(.disabled):not(.btn-light):active {
  background-color: #eaf0f6 !important;
}

.unbutton {
  padding: 0;
  border: none;
  background: none;
  font-size: 1.4rem;
  font-weight: 600;
  text-transform: uppercase;
}

.button-group {
  margin-bottom: 1.5rem !important;
}
.button-group .btn {
  margin-bottom: 1rem;
}

.tabs {
  margin-left: -3rem;
  margin-right: -3rem;
  padding: 3rem;
  flex-grow: 1;
  background-color: transparent;
}
@media (max-width: 680px) {
  .tabs {
    margin-left: -1.5rem;
    margin-right: -1.5rem;
  }
}
@media (max-width: 680px) {
  .tabs {
    padding: 3rem 1.5rem 3rem 1.5rem;
  }
}
.tabs .tab-inactive {
  display: none;
}
.tabs .nav-tabs {
  margin-left: -3rem;
  margin-right: -3rem;
  padding: 3rem;
  padding-bottom: 0 !important;
  padding-top: 0;
  background-color: #fff;
  border-bottom: 1px solid #d7d7d7;
}
@media (max-width: 680px) {
  .tabs .nav-tabs {
    margin-left: -1.5rem;
    margin-right: -1.5rem;
  }
}
@media (max-width: 680px) {
  .tabs .nav-tabs {
    padding: 3rem 1.5rem 3rem 1.5rem;
  }
}
.tabs .nav-tabs .nav-item {
  margin: 0;
  padding: 0;
  border: none;
}
.tabs .nav-tabs .nav-item.dropdown-item .nav-link {
  background-color: transparent;
  border: none;
  padding: 0 1.5rem;
}
.tabs .nav-tabs .nav-item.dropdown-item .nav-link:hover {
  text-decoration: none !important;
}
.tabs .nav-tabs .nav-item.dropdown-item .nav-link.header-active {
  background-color: #eaf0f6 !important;
}
.tabs .tab-content {
  margin-top: 3rem;
}
.tabs .tab-content h4 {
  font-size: 1.4rem;
  font-family: "Open Sans", sans-serif;
  font-weight: 600;
  text-transform: uppercase;
}
.tabs .tab-content h5 {
  font-size: 1.8rem;
  font-family: "Open Sans Condensed", sans-serif;
  font-weight: 600;
}
.tabs .tab-content .card {
  box-shadow: rgba(0, 0, 0, 0.12) 0 0 0.7rem;
}
.tabs .tab-content .tab-pane {
  display: none;
}
.tabs .tab-content .tab-pane.active {
  display: block;
}
.tabs .nav-link {
  margin: 0 0 -1px -1px;
  font-weight: 600;
  color: #33475b;
  background-color: #f6f8fa;
  border: 1px solid #d7d7d7;
  border-radius: 0;
  cursor: pointer;
}
.tabs .nav-link:hover {
  background-color: #f6f8fa;
  border: 1px solid #d7d7d7;
  text-decoration: underline !important;
}
.tabs .nav-link.header-active {
  color: #33475b;
  background-color: #fff;
  border-bottom: 1px solid #f6f8fa;
  text-decoration: none;
  cursor: default;
}
.tabs .nav-link i {
  margin-right: 0.8rem;
  color: #fe6e00;
}
.tabs .nav-link i.fa-exclamation-circle {
  color: #0a6478 !important;
}
.tabs .nav-item:first-child .nav-link {
  border-radius: 0.5rem 0 0 0;
}
.tabs .nav-item:last-child .nav-link {
  border-radius: 0 0.5rem 0 0;
}

.form-group.date-range .vali {
  display: flex;
  width: 100%;
  gap: 1rem;
}
@media (max-width: 680px) {
  .form-group.date-range .vali {
    width: 100%;
  }
}
.form-group.date-range .vali input,
.form-group.date-range .vali .datepicker-container {
  width: 100%;
}

.ui-datepicker {
  z-index: 200 !important;
}

.ui-datepicker-calendar th, .ui-datepicker-calendar td {
  padding: 0.2rem !important;
}

.sum-picker .vali,
.year-picker .vali {
  display: flex;
  justify-content: space-between;
}
.sum-picker .vali .form-control,
.year-picker .vali .form-control {
  width: calc(50% - 1.5rem);
}

.alert-error {
  background-color: red;
  color: white;
  font-weight: 600;
}

.field-validation-error {
  display: block;
  padding-bottom: 0.5rem;
  color: #eb4d2c;
  font-weight: 600;
}

.field-validation-valid {
  display: none;
}

input.input-validation-error,
select.input-validation-error,
textarea.input-validation-error {
  border: 1px solid #e80c4d;
}

.validation-summary-errors {
  color: #e80c4d;
  font-weight: bold;
}
.validation-summary-errors ul {
  list-style: none;
  padding-left: 0;
}
.validation-summary-errors ul li {
  font-weight: bold;
}

.validation-summary-valid {
  display: none;
}

.holder {
  width: 100%;
  display: block;
  position: fixed;
  z-index: 100;
}

.popup {
  padding: 0.6rem;
  position: relative;
  margin-top: -4rem;
}

.popup-content {
  box-shadow: 2px 2px 8px rgba(0, 0, 0, 0.5);
}

.fa-trash {
  cursor: pointer;
}

.fading-node-enter {
  opacity: 0;
}

.fading-node-enter-active {
  opacity: 1;
  transition: opacity 200ms;
}

.fading-node-exit {
  opacity: 1;
}

.fading-node-exit-active {
  opacity: 0;
  transition: opacity 200ms;
}

.react-slidedown.my-dropdown-slidedown {
  transition-duration: 1.2s;
  transition-timing-function: cubic-bezier(0.1, 0.7, 1, 0.1);
}

html {
  /*.tarra3x10 {
        height: 120px;
    }*/
}
html .tarratContainer {
  padding-right: 0px;
  padding-left: 25px;
  font-weight: bold;
}
html .tarratContainer3x8 {
  padding-top: 75px;
}
html .tarratContainer3x10 {
  padding-top: 20px;
}
html .tarratContainerDymo {
  padding-top: 20px;
  font-size: 50px;
  line-height: 2;
}
html .tarratRow {
  overflow-wrap: break-word;
  overflow-y: hidden;
  max-height: 120px;
}
html .tarratRow3x8 {
  max-height: 176px !important;
}
html .tarratRowDymo {
  max-height: 400px !important;
}
html .tarratRow3x10 {
  overflow-wrap: break-word;
  overflow-y: hidden;
  max-height: 120px;
  margin-bottom: 23px;
}
html .tarratBreak3x8 {
  height: 41px;
}
html .tarratBreak3x10 {
  height: 19.1px;
}
html .tarratBreakDymo {
  height: 20px;
}
html .tarra {
  height: 120px;
}
html .tarra3x8 {
  height: 176px !important;
}
html .tarraDymo {
  height: 400px !important;
}

#raporttiPDF .modal-body,
#raporttiExcel .modal-body {
  padding: 1.5rem;
}
#raporttiPDF .modal-body select,
#raporttiExcel .modal-body select {
  margin-bottom: 1.5rem;
}
#raporttiPDF .modal-body .form-check,
#raporttiExcel .modal-body .form-check {
  margin: 0;
  padding-bottom: 0.5rem;
}

.summary {
  padding: 3rem;
  margin-left: -3rem;
  margin-right: -3rem;
  margin-top: -3rem;
  background-color: #f6f8fa;
}
@media (max-width: 680px) {
  .summary {
    padding: 3rem 1.5rem 3rem 1.5rem;
  }
}
@media (max-width: 680px) {
  .summary {
    margin-left: -1.5rem;
    margin-right: -1.5rem;
  }
}
.summary .title-wrapper {
  display: flex;
  justify-content: start;
  margin-bottom: 1.5rem;
}
.summary .title-wrapper.henkilo #kuva #henkilo-placeholder {
  display: block !important;
  height: 7rem;
  width: 7rem;
}
.summary .title-wrapper.henkilo #kuva #henkilo-placeholder img {
  height: 100%;
  width: auto;
  opacity: 0.5;
}
.summary .title-wrapper.henkilo #kuva #divkuva {
  height: 7rem;
  width: 7rem;
}
.summary .title-wrapper.henkilo #kuva img#tahokuva {
  height: 100%;
  width: 100%;
  object-fit: cover;
  border: 1px solid #d7d7d7;
  border-radius: 50%;
  background-color: #fff;
}
.summary .title-wrapper.organisaatio #kuva #organisaatio-placeholder {
  display: block !important;
  height: 7rem;
  width: 7rem;
}
.summary .title-wrapper.organisaatio #kuva #organisaatio-placeholder img {
  height: 100%;
  width: auto;
  opacity: 0.5;
}
.summary .title-wrapper.organisaatio #kuva #divkuva {
  height: 7rem;
}
.summary .title-wrapper.organisaatio #kuva img#tahokuva {
  height: 100%;
  width: auto;
  border: 1px solid #d7d7d7;
  background-color: #fff;
}
.summary .title-wrapper #kuva {
  position: relative;
  margin-right: 2rem;
  cursor: pointer;
}
.summary .title-wrapper #kuva .btn-block {
  display: none;
}
.summary .title-wrapper #kuva .btn-block button.btn-img {
  margin-top: 0.5rem;
  padding: 0.5rem 2rem;
  background-color: #fff;
  border: 1px solid #d7d7d7;
  border-radius: 0.5rem;
  box-shadow: rgba(0, 0, 0, 0.33) 0 1px 7px;
  white-space: nowrap;
  outline: none !important;
  border: 1px solid #d7d7d7 !important;
}
.summary .title-wrapper #kuva:hover .btn-block {
  display: block;
  position: absolute;
  top: 7rem;
  left: 0;
}
.summary #kuvaForm .button-row {
  display: flex;
  align-items: baseline;
}
.summary #kuvaForm .button-row .btn {
  margin-right: 1.5rem;
}
.summary #kuvaForm span.requirement {
  display: none;
}
.summary h1 {
  margin-bottom: 0;
  padding-bottom: 0;
}
.summary .varilabels {
  margin-bottom: 1.4em;
}
.summary .varilabel {
  margin-right: 0.5rem;
  display: inline-block;
  padding: 0.35em 0.65em;
  font-size: 0.75em;
  font-weight: 700;
  line-height: 1;
  color: #fff;
  border-radius: 0.4rem;
}
.summary h4.taho-type {
  margin-bottom: 0.5rem;
}
.summary a[href^="mailto:"] {
  color: #0a6478;
  text-decoration: none;
}
.summary a[href^="mailto:"]:hover {
  color: #0a6478;
  text-decoration: underline;
}
.summary .info {
  display: flex;
  flex-wrap: wrap;
  column-gap: 6rem;
  row-gap: 1.5rem;
  margin-bottom: 1.5rem;
}
.summary .info .info-item h3 {
  font-size: 1.8rem;
  font-family: "Open Sans Condensed", sans-serif;
  font-weight: 600;
}
.summary .info .info-item p,
.summary .info .info-item .tilastolabel {
  margin-bottom: 0;
}
.summary .muokkaustilassa {
  margin: 3rem 0;
}
.summary .row-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.login-body {
  display: block;
  height: 100%;
  background-color: #1c212d;
}

.login-container {
  display: flex;
  align-items: center;
  height: 100%;
  color: #fff;
}
.login-container .content {
  display: flex;
  margin: auto;
  width: 100%;
}
.login-container .content h1 {
  margin: 6rem 0 4rem 0;
  font-family: "Open Sans Condensed", sans-serif;
  font-weight: 600;
  font-size: 2.4rem;
}
.login-container .content .image {
  width: 50%;
  background-image: url("/images/Kirjautuminen_taustakuva.jpg");
  background-size: cover;
  background-position-y: bottom;
  background-position-x: right;
  border-radius: 0 4rem 4rem 0;
  box-shadow: rgb(0, 0, 0) 0 0 1.2rem;
}
@media (max-width: 480px) {
  .login-container .content .image {
    display: none;
  }
}
.login-container .content .login-form {
  padding: 8rem 8rem 2rem 8rem;
  width: 50%;
  min-width: 480px;
  max-width: 70rem;
}
@media (max-width: 480px) {
  .login-container .content .login-form {
    padding: 4rem;
    width: 100%;
    min-width: 0;
  }
}
.login-container .content .login-form .kielivalinta-container {
  display: flex;
  justify-content: flex-end;
}
.login-container .content .login-form img {
  width: 12rem;
}
.login-container .content .login-form .avainlippu {
  margin-top: 10rem;
  text-align: center;
  font-size: 1rem;
  color: #fff;
}
.login-container .content .login-form .avainlippu img {
  width: 10rem;
  margin: 0 0 1rem 0;
}
.login-container .content .login-form input,
.login-container .content .login-form input:focus,
.login-container .content .login-form input:active,
.login-container .content .login-form input:-webkit-autofill,
.login-container .content .login-form input:-webkit-autofill:hover,
.login-container .content .login-form input:-webkit-autofill:focus,
.login-container .content .login-form input:-webkit-autofill:active {
  font-size: 1.4rem;
  background-color: #dddddf !important;
  border: 1px solid #fff !important;
}
.login-container .content .login-form input.input-validation-error,
.login-container .content .login-form input:focus.input-validation-error,
.login-container .content .login-form input:active.input-validation-error,
.login-container .content .login-form input:-webkit-autofill.input-validation-error,
.login-container .content .login-form input:-webkit-autofill:hover.input-validation-error,
.login-container .content .login-form input:-webkit-autofill:focus.input-validation-error,
.login-container .content .login-form input:-webkit-autofill:active.input-validation-error {
  background-color: #ffe9e2 !important;
  border-color: #ff2d65 !important;
}
.login-container .content .login-form .form-check-input {
  accent-color: #fff !important;
}
.login-container .content .login-form .captcha {
  margin: 2rem 0;
}
.login-container .content .login-form .captcha .input-group {
  align-items: center;
}
.login-container .content .login-form .captcha .input-group-prepend {
  margin-right: 2rem;
}
.login-container .content .login-form .alert {
  margin: 0 0 3rem 0;
  padding: 1em 1em 0 1em;
  background-color: #ffe9e2 !important;
  border-color: #ff2d65 !important;
}
.login-container .content .login-form .alert ul {
  padding-bottom: 1em;
}
.login-container .content .login-form .alert.alert-success {
  padding-bottom: 1em;
  background-color: #fef7ea !important;
  border-color: #fef7ea !important;
}
.login-container .content .login-form .alert-padding .alert {
  padding-bottom: 1em;
}
.login-container .content .login-form .field-validation-error {
  display: block;
  margin-top: 0.5em;
  font-size: 1.3rem;
  font-weight: 400;
  color: #ff6a7f !important;
}
.login-container .content .login-form .field-validation-error::before {
  content: "\f071";
  margin-right: 0.5rem;
  font-family: "Font Awesome 5 Pro";
}
.login-container .content .login-form form:has(.field-validation-error) > .alert {
  display: none;
}
.login-container .content .buttons {
  margin: 1em 0 0 0;
}
.login-container .content .buttons .btn-primary.login {
  margin: 0;
  background-color: #fe6e00 !important;
  border: 2px solid #fe6e00 !important;
  border-radius: 0.5rem;
  -webkit-box-shadow: none !important;
}
.login-container .content .buttons .btn-primary.login:hover, .login-container .content .buttons .btn-primary.login:active {
  background-color: #de5d00 !important;
  border: 2px solid #de5d00 !important;
}
.login-container .content .buttons .btn-primary.login:disabled {
  background-color: #bbb !important;
  border: 2px solid #bbb !important;
}
.login-container .content .buttons .btn-secondary {
  margin: 0 0.5rem 0 0;
  color: #fff;
  background-color: #1c212d !important;
  border: 2px solid #fe6e00 !important;
  border-radius: 0.5rem;
  -webkit-box-shadow: none !important;
}
.login-container .content .buttons .btn-secondary:hover, .login-container .content .buttons .btn-secondary:active {
  color: #fff !important;
  background-color: #de5d00 !important;
  border: 2px solid #de5d00 !important;
}
.login-container .content .buttons .btn-secondary .fa {
  display: none;
}
.login-container .content .buttons a.new-password {
  margin: 2.5rem 0 0 0;
  display: block;
  color: #fff;
  text-decoration: underline;
}
.login-container .content .form-label {
  font-family: "Open Sans Condensed", sans-serif;
  font-size: 1.4rem;
  text-transform: uppercase;
}
.login-container .content .form-check {
  margin: 2rem 0 1rem 0;
}
.login-container .content .form-check .form-check-input {
  border-radius: 0.5rem !important;
}
.login-container .content .requirement {
  display: none;
}

.front-page-alerts {
  margin: 0rem 0 0 0;
}
.front-page-alerts .alert {
  margin-bottom: 1.5rem;
}
.front-page-alerts alert:last-child .alert {
  margin-bottom: 3rem;
}

#pikalinkit {
  margin-bottom: 3rem;
  max-width: 70rem;
}
#pikalinkit a {
  color: #0a6478;
  font-weight: 600;
}
#pikalinkit a:hover {
  text-decoration: underline;
}

.front-page-tabs {
  margin-left: -3rem;
  margin-right: -3rem;
  padding: 3rem;
  padding-top: 0 !important;
  height: 100%;
  background-color: #f6f8fa;
}
@media (max-width: 680px) {
  .front-page-tabs {
    margin-left: -1.5rem;
    margin-right: -1.5rem;
  }
}
@media (max-width: 680px) {
  .front-page-tabs {
    padding: 3rem 1.5rem 3rem 1.5rem;
  }
}
.front-page-tabs .nav-tabs {
  margin-left: -3rem;
  margin-right: -3rem;
  padding: 3rem;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  background-color: #fff;
  border-bottom: 1px solid #d7d7d7;
}
@media (max-width: 680px) {
  .front-page-tabs .nav-tabs {
    margin-left: -1.5rem;
    margin-right: -1.5rem;
  }
}
@media (max-width: 680px) {
  .front-page-tabs .nav-tabs {
    padding: 3rem 1.5rem 3rem 1.5rem;
  }
}
.front-page-tabs .nav-tabs .nav-item {
  margin: 0 0 -1px -1px;
  padding: 0;
  border: none;
}
.front-page-tabs .nav-tabs .nav-item .nav-link {
  display: flex;
  align-items: center;
  position: relative;
  padding: 1rem 2rem;
  font-weight: 700;
  color: #0a6478 !important;
  background-color: #eaf0f6;
  border: 1px solid #d7d7d7;
  border-radius: 0;
}
.front-page-tabs .nav-tabs .nav-item .nav-link.active {
  background-color: #f6f8fa;
  border-bottom-color: #f6f8fa;
}
.front-page-tabs .nav-tabs .nav-item .nav-link:not(:has(i)):before {
  content: "\f071";
  font-family: "Font Awesome 5 Pro";
  margin-right: 1rem;
  font-size: 1.3em;
  color: #fe6e00;
}
.front-page-tabs .nav-tabs .nav-item .nav-link.notice:before {
  position: absolute;
  top: 0.3rem;
  left: 1rem;
  content: "\f06a";
  font-family: "Font Awesome 5 Pro";
  font-size: 0.9em;
  color: #0a6478;
}
.front-page-tabs .nav-tabs .nav-item .nav-link:first-child .nav-link {
  border-top-left-radius: 0.5rem;
}
.front-page-tabs .nav-tabs .nav-item .nav-link:last-child .nav-link {
  border-top-right-radius: 0.5rem;
}
.front-page-tabs .nav-tabs .nav-item .nav-link .fas {
  margin-right: 1rem;
  font-size: 1.3em;
  color: #fe6e00;
}
.front-page-tabs .nav-tabs .nav-item.dropdown-item .nav-link {
  padding: 0 1rem;
  background-color: #fff;
  border: none;
}
.front-page-tabs .nav-tabs .nav-item.dropdown-item .nav-link:hover {
  background-color: #f6f8fa;
}
.front-page-tabs .tab-content {
  padding: 3rem 0 0 0;
}
.front-page-tabs .tab-content .notifications,
.front-page-tabs .tab-content #lomakkeet,
.front-page-tabs .tab-content #tilausmuutokset {
  max-width: 70rem;
}
.front-page-tabs .tab-content th {
  background-color: #eaf0f6;
}
.front-page-tabs .tab-content tableheader:first-child .table-responsive-header {
  margin-top: 0 !important;
}
.front-page-tabs .tab-content .tab-heading {
  margin-bottom: 2rem;
  font-weight: 600;
  text-transform: uppercase;
}
.front-page-tabs .tab-content #tilastot {
  padding-bottom: 7.3rem;
}
.front-page-tabs .tab-content #lomakkeet .table-responsive-header:first-of-type {
  margin-top: 0 !important;
}

.raportit {
  display: flex;
  gap: 3rem;
}
.raportit .column {
  display: flex;
  flex-direction: column;
  gap: 3rem;
  width: 50%;
}
.raportit .column.max-width {
  max-width: 60rem;
}
.raportit .column .raportit-box {
  padding: 1.5rem;
  background-color: #fff;
  box-shadow: rgba(0, 0, 0, 0.12) 0 0 0.7rem;
}
.raportit .column .raportit-box.jasenmaara {
  background-image: url("/images/Pattern-Transparent-Background.png");
  background-size: 60%;
}
.raportit .column .raportit-box h5 {
  font-size: 1.8rem;
}
.raportit .column .raportit-box .stats {
  margin: 5rem 0;
  font-size: 8rem;
  font-weight: 500;
  color: #0a6478;
}
.raportit .column .raportit-box canvas {
  padding: 0 !important;
  margin: 0 !important;
}
.raportit .column .raportit-box canvas#sukupuolet, .raportit .column .raportit-box canvas#jasenmaksut {
  max-height: 25rem;
}
.raportit .column .raportit-box canvas#eronneetLiittyneet, .raportit .column .raportit-box canvas#jasenmaaranKehitys {
  max-height: 20rem !important;
}
@media (max-width: 900px) {
  .raportit {
    flex-direction: column;
  }
  .raportit .column {
    width: 100%;
  }
  .raportit .column.max-width {
    max-width: 100%;
  }
}

.kasittely {
  margin-left: -3rem;
  margin-right: -3rem;
  padding: 3rem;
  padding-bottom: 0;
  border-top: 1px solid #d7d7d7;
}
@media (max-width: 680px) {
  .kasittely {
    margin-left: -1.5rem;
    margin-right: -1.5rem;
  }
}
@media (max-width: 680px) {
  .kasittely {
    padding: 3rem 1.5rem 3rem 1.5rem;
  }
}
.kasittely.fixed-buttons #perhejasenetComponent {
  margin-bottom: -7.3rem;
}
.kasittely form {
  max-width: 100% !important;
}
.kasittely form .form-data {
  max-width: 70rem;
}
.kasittely .form-control,
.kasittely .chosen-single {
  background-color: #f6f8fa !important;
}
.kasittely input.form-control:disabled, .kasittely input.form-control:read-only {
  color: #888888;
  background-color: #eaebf0 !important;
}
.kasittely .tasmaytys {
  display: flex;
  align-items: center;
  max-width: 100%;
}
.kasittely .tasmaytys > div {
  flex: 0 1 auto;
  max-width: 50%;
}
.kasittely .tasmaytys .tasmaytys-buttons {
  margin-left: 0.5rem;
  white-space: nowrap;
  flex: 0 0 auto;
}
.kasittely .tasmaytys .tasmaytys-buttons .btn {
  margin: 0 0 0 0.5rem;
}

.kasittely1 .tasmaytys {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem;
}
.kasittely1 .tasmaytys > div:first-child {
  width: 40%;
  min-width: 25rem;
}
.kasittely1 .tasmaytys > div:first-child .dropdown .btn {
  text-align: left;
}
.kasittely1 .tasmaytys .tasmaytys-buttons {
  margin-left: 0 !important;
}
.kasittely1 .tasmaytys .tasmaytys-buttons .btn:first-child {
  margin-left: 0;
}
.kasittely1 .row-action .btn {
  margin-left: 0.7rem;
}
.kasittely1 .lomakkeet {
  display: flex;
  gap: 3rem;
}
.kasittely1 .lomakkeet .row {
  justify-content: space-between;
  margin: 0;
}
.kasittely1 .lomakkeet .col-sm-6 {
  padding: 0;
  flex: 0 0 calc(50% - 0.5rem);
  overflow-x: clip;
}
.kasittely1 .lomakkeet .col-sm-8 {
  flex: 1 1 100%;
}
.kasittely1 .lomakkeet .col-sm-8 textarea {
  width: 100% !important;
}
.kasittely1 .lomakkeet .form-group > .form-group {
  margin: 0;
}
.kasittely1 .lomakkeet .form-check .labelcaption {
  width: 100%;
}
.kasittely1 .lomakkeet #koulutuksetView input[type=text],
.kasittely1 .lomakkeet #koulutuksetView1 input[type=text] {
  margin: 0 0 1.5rem 3rem !important;
  width: calc(100% - 3rem);
}
.kasittely1 .lomake {
  width: 50%;
}
@media (max-width: 900px) {
  .kasittely1 .lomake {
    width: 100%;
  }
  .kasittely1 .lomake.alkuperainen {
    display: none;
  }
}
.kasittely1 .lomake.alkuperainen .form-control {
  background-color: #fff !important;
  border: none !important;
  color: #33475b !important;
}
.kasittely1 .lomake.alkuperainen .form-control:after {
  display: none;
}
.kasittely1 .lomake.alkuperainen .requirement {
  display: none;
}
.kasittely1 .lomake.alkuperainen select {
  width: calc(100% + 2rem);
}

.notifications .table-responsive-header {
  margin-bottom: 1.5rem;
}
.notifications .notification-board {
  margin-bottom: 3rem;
  margin-left: 0.6rem;
  padding: 0 0 0 2.5rem;
  border-left: 0.6rem dotted #aaa;
}
.notifications .notification-board .notification {
  margin-top: 1.5rem;
}
.notifications .notification-board .notification .header {
  position: relative;
  margin-bottom: 1em;
  font-weight: 600;
}
.notifications .notification-board .notification .header .circle {
  position: absolute;
  top: 0;
  left: -3.8rem;
  border: 0.5rem solid #0a6478;
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  background-color: #fff;
}
.notifications .notification-board .notification .header .circle.blink {
  animation: blinker 1s linear infinite;
}
@keyframes blinker {
  50% {
    background-color: #0a6478;
  }
}
.notifications .notification-board .notification .header .notice-date {
  font-size: 1.3em;
}
.notifications .notification-board .notification .header .notice-list {
  margin: 1em 0 3rem 0;
  padding: 1.5rem 1.5rem 0.6em 3rem;
  background-color: #fff;
  border: 1px solid #d7d7d7;
}
.notifications .notification-board .notification .header .notice-list li {
  margin-bottom: 0.5em;
}
.notifications .notification-board .notification .card {
  padding: 1.5rem 1.5rem 0.5rem 1.5rem;
  border: 1px solid #d7d7d7;
  border-radius: 0;
}
.notifications .notification-board .notification .card a.unlink {
  text-decoration: none !important;
}
.notifications .notification-board .notification .card a.unlink .card-header {
  position: relative;
  padding: 0;
  background-color: #fff;
  border: none;
}
.notifications .notification-board .notification .card a.unlink .card-header .card-title {
  margin: 0;
  padding: 0 3rem 0 0;
  font-size: 2.1rem;
  font-weight: 600;
  color: #33475b;
}
.notifications .notification-board .notification .card a.unlink .card-title:after {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  content: "\f077";
  font-family: "Font Awesome 5 Pro";
}
.notifications .notification-board .notification .card a.unlink.collapsed .card-title:after {
  content: "\f078";
}
.notifications .notification-board .notification .card a.unlink .card-header {
  border-bottom: none;
}
.notifications .notification-board .notification .card-body {
  padding: 0;
}
.notifications .notification-board .notification .card-body .ilmoitustaulu_teksti {
  margin-top: 1rem;
  margin-bottom: 1rem;
  width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.notifications .notification-board .notification .card-body .ilmoitustaulu_teksti p {
  display: contents;
}
.notifications .notification-board .notification .card-body .ilmoitustaulu_teksti.full {
  display: none;
}
.notifications .notification-board .notification .collapse {
  display: block;
}
.notifications .notification-board .notification .collapse.show a.unlink .card-header:after {
  content: "\f077";
}
.notifications .notification-board .notification .collapse.show .card-body .ilmoitustaulu_teksti {
  display: block;
  white-space: normal;
  overflow: visible;
}
.notifications .notification-board .notification .collapse.show .card-body .ilmoitustaulu_teksti p {
  display: block;
}
.notifications .notification-board .notification .collapse.show .card-body .ilmoitustaulu_teksti.short {
  display: none;
}
.notifications .notification-board .collapsing {
  -webkit-transition: none;
  transition: none;
  display: none;
}

#poiminta-wrapper {
  position: relative;
}
#poiminta-wrapper .table-responsive-header {
  line-height: 3.1rem;
}
#poiminta-wrapper .dropdown {
  position: absolute;
  top: 0;
  right: 0;
}

.poimintaehdot {
  margin-bottom: 3rem;
}
.poimintaehdot .card {
  border: 1px solid #d7d7d7;
  border-radius: 0;
}
.poimintaehdot .card a {
  color: #33475b;
  font-weight: 600;
}
.poimintaehdot .card .unlink:hover {
  text-decoration: none;
}
.poimintaehdot .card .unlink.collapsed .card-header {
  border: none;
}
.poimintaehdot .card .unlink.collapsed .card-header .card-title:after {
  content: "\f107";
}
.poimintaehdot .card .unlink .card-header {
  padding: 0;
}
.poimintaehdot .card .unlink .card-header .card-title {
  margin: 0 0 1.5rem 0;
  font-size: 1.8rem !important;
  font-family: "Open Sans Condensed", sans-serif;
  font-weight: 600;
  position: relative;
  margin: 0;
  padding: 1rem 1.5rem;
}
.poimintaehdot .card .unlink .card-header .card-title:after {
  position: absolute;
  top: 0.7rem;
  right: 1.5rem;
  content: "\f106";
  padding-left: 1em;
  font-size: 2.4rem;
  font-family: "Font Awesome 5 Pro";
}
.poimintaehdot .card .unlink .card-body {
  padding: 1.5rem;
}
.poimintaehdot .card .unlink .card-body #accordion {
  margin: 0;
}
.poimintaehdot .card .unlink .card-body #accordion nav {
  margin: 0;
}

.dropdown-menu {
  margin-top: 1rem;
  padding: 0.6rem 0 0.7rem 0 !important;
  font-size: 1.4rem !important;
  box-shadow: rgba(0, 0, 0, 0.33) 0 1px 7px;
  border-radius: 0.5rem;
  overflow: clip;
  max-height: 17.5rem;
  overflow-y: auto;
  border: 1px solid #d7d7d7;
  background-color: #fff;
  z-index: 130;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}
.dropdown-menu .btn {
  display: block;
  padding: 0 3rem 0 2rem;
  font-family: "Open Sans", sans-serif;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 2.2em;
  text-decoration: none;
  white-space: nowrap;
  color: #0a6478;
  width: 100%;
  text-align: left;
}
.dropdown-menu .btn:hover, .dropdown-menu .btn.active {
  background-color: #eaf0f6;
  color: #0a6478;
}
.dropdown-menu .btn.active:hover {
  text-decoration: underline;
}
.dropdown-menu ul {
  margin: 0;
  padding: 0.7rem 0 1rem 0;
}
.dropdown-menu .text-primary {
  color: #0a6478 !important;
}
.dropdown-menu .dropdown-item {
  position: relative;
  display: block;
  padding: 0 2.5rem 0 1.5rem;
  font-family: "Open Sans", sans-serif;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 2em;
  text-decoration: none;
  white-space: nowrap;
  color: #0a6478;
  background-color: #fff;
  overflow: hidden;
  text-overflow: ellipsis;
}
.dropdown-menu .dropdown-item:hover, .dropdown-menu .dropdown-item.active {
  background-color: #eaf0f6;
  color: #0a6478;
}
.dropdown-menu .dropdown-item.active:hover {
  text-decoration: underline;
}
.dropdown-menu .dropdown-item .dropdown-icon {
  width: 2em;
}

.dropdown.column-filter .btn:hover {
  background-color: #074958;
  color: #fff;
}

.laskutus-liitteet {
  margin-bottom: 3rem !important;
}
.laskutus-liitteet .card:has(.collapsed) {
  border-bottom: 0;
}
.laskutus-liitteet .card .card-body {
  padding: 3rem;
  padding-bottom: 1rem;
}
@media (max-width: 680px) {
  .laskutus-liitteet .card .card-body {
    padding: 3rem 1.5rem 3rem 1.5rem;
  }
}
.laskutus-liitteet .card .card-body .button-group {
  margin: 0;
}
.laskutus-liitteet .card .card-body p[style="visibility:hidden;"] {
  display: none;
}
.laskutus-liitteet .card a.unlink {
  color: #33475b;
}
.laskutus-liitteet .card a.unlink:hover {
  text-decoration: none;
}
.laskutus-liitteet .card a.unlink .card-header {
  padding: 3rem;
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
  background-color: #f6f8fa;
}
@media (max-width: 680px) {
  .laskutus-liitteet .card a.unlink .card-header {
    padding: 3rem 1.5rem 3rem 1.5rem;
  }
}
.laskutus-liitteet .card a.unlink .card-header .card-title {
  position: relative;
  margin: 0;
  font-family: "Open Sans Condensed", sans-serif;
  font-weight: 700;
  font-size: 1.8rem;
  line-height: 1em;
}
.laskutus-liitteet .card a.unlink .card-header .card-title:after {
  position: absolute;
  bottom: 0.1rem;
  right: 0;
  content: "\f077";
  font-family: "Font Awesome 5 Pro";
  font-size: 1.8rem;
}
.laskutus-liitteet .card a.unlink.collapsed .card-header .card-title:after {
  content: "\f078";
}
.laskutus-liitteet .card label.filename {
  margin: 0 1.5rem;
  padding: 0;
}

.laskupohjat {
  margin-left: -3rem;
  margin-right: -3rem;
  padding: 3rem;
  padding-bottom: 0;
  border-top: 1px solid #d7d7d7;
}
@media (max-width: 680px) {
  .laskupohjat {
    margin-left: -1.5rem;
    margin-right: -1.5rem;
  }
}
@media (max-width: 680px) {
  .laskupohjat {
    padding: 3rem 1.5rem 3rem 1.5rem;
  }
}
.laskupohjat .pohja-group {
  display: flex;
  gap: 1rem;
  margin-bottom: 1.5rem;
  max-width: 120rem;
}
.laskupohjat .pohja-group .pohja-item {
  width: 33%;
}
.laskupohjat .pohja-group .pohja-item .form-group:first-child {
  margin: 1.5rem 0;
  font-family: "Open Sans Condensed", sans-serif;
  font-weight: 700;
  font-size: 1.8rem;
}
.laskupohjat .pohja-group .pohja-item .form-control {
  background-color: #f6f8fa;
}
.laskupohjat .pohja-group .pohja-item input.form-control:disabled, .laskupohjat .pohja-group .pohja-item input.form-control:read-only {
  color: #888888;
  background-color: #eaebf0 !important;
}
@media (max-width: 70rem) {
  .laskupohjat .pohja-group {
    display: block;
  }
  .laskupohjat .pohja-group .pohja-item {
    width: 100%;
  }
}

.cards .card {
  margin-bottom: 3rem;
  border: 1px solid #d7d7d7 !important;
  border-radius: 0.5rem;
}
.cards .card a.unlink {
  color: #33475b;
}
.cards .card a.unlink:hover {
  text-decoration: none;
}
.cards .card a.unlink h2:after {
  display: block;
  position: absolute;
  bottom: 0.1rem;
  right: 0;
  content: "\f077";
  font-family: "Font Awesome 5 Pro";
}
.cards .card a.unlink.collapsed h2:after {
  content: "\f078";
}
.cards .card a.unlink.collapsed .card-header {
  border-bottom: none;
}
.cards .card .collapsing {
  height: 0;
  transition: height 0.15s ease-in;
  max-height: 100%;
}
.cards .card .card-header {
  margin: 0;
  padding: 1rem 1.5rem;
  background-color: #f6f8fa;
  border: none;
  border-bottom: 1px solid #d7d7d7;
}
.cards .card .card-header .card-title {
  margin: 0;
}
.cards .card .card-header h2 {
  position: relative;
  margin: 0;
  font-size: 1.8rem;
  font-family: "Open Sans Condensed", sans-serif;
  font-weight: 600;
  text-transform: lowercase;
}
.cards .card .card-header h2:first-letter {
  text-transform: uppercase;
}
.cards .card .card-body {
  padding: 1.5rem 1.5rem 0.75rem 1.5rem !important;
}
.cards .card .card-body .alert {
  margin-bottom: 1.5rem;
}
.cards .card .text-secondary {
  margin: 0 0 0 1rem;
}
.cards .card .text-secondary:last-of-type {
  margin-bottom: 0.5rem;
}
.cards .form-control,
.cards .chosen-single {
  background-color: #f6f8fa !important;
}
.cards .tasmaytys {
  display: flex;
  align-items: center;
}
.cards .tasmaytys .chosen-container {
  width: 30rem;
  max-width: 22vw;
}
.cards .tasmaytys .tasmaytys-buttons {
  margin-left: 0.5rem;
  white-space: nowrap;
}
.cards .tasmaytys .tasmaytys-buttons .btn {
  margin: 0 0 0 0.5rem;
}

@keyframes spinner-border {
  to {
    transform: rotate(360deg);
  }
}
.spinner-border {
  display: inline-block;
  width: 2rem;
  height: 2rem;
  vertical-align: -0.125em;
  border: 0.25em solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  animation: 0.75s linear infinite spinner-border;
}

.spinner-border-sm {
  width: 1rem;
  height: 1rem;
  border-width: 0.2em;
}

@keyframes spinner-grow {
  0% {
    transform: scale(0);
  }
  50% {
    opacity: 1;
    transform: none;
  }
}
.spinner-grow {
  display: inline-block;
  width: 2rem;
  height: 2rem;
  vertical-align: -0.125em;
  background-color: currentColor;
  border-radius: 50%;
  opacity: 0;
  animation: 0.75s linear infinite spinner-grow;
}

.spinner-grow-sm {
  width: 1rem;
  height: 1rem;
}

@media (prefers-reduced-motion: reduce) {
  .spinner-border,
  .spinner-grow {
    animation-duration: 1.5s;
  }
}
.fa-spinner:before {
  content: "\f110";
}

.fa-spinner-third:before {
  content: "\f3f4";
}

.fad.fa-spinner:after {
  content: "\10f110";
}

.fad.fa-spinner-third:after {
  content: "\10f3f4";
}

.btn-primary .spinner-border {
  margin-right: 1rem;
  color: #fff !important;
}

.btn-primary:not(:first-child) .spinner-border {
  display: none !important;
}

.btn-secondary .spinner-border {
  display: none !important;
}

.search-table > .spinner-border {
  margin: 3rem;
}

body:has(#error-page) {
  background-color: #f2f2f2;
}

#error-page {
  height: 100%;
}
#error-page .logo {
  margin: 3rem 4rem;
  width: 11rem;
}
#error-page .content-wrapper {
  margin: 0 auto;
  padding: 1rem 4rem 4rem 4rem;
  max-width: 110rem;
  text-align: center;
  font-size: 1.6rem;
  line-height: 2.3rem;
}
#error-page .content-wrapper .error-icon {
  font-family: "Font Awesome 5 Pro";
  font-size: 13rem;
  color: #fe6e00;
}
#error-page .content-wrapper h1 {
  margin: 4rem 0;
  font-family: "Open Sans Condensed", sans-serif;
  font-size: 3.9rem;
  font-weight: 700;
  color: #333333;
}
#error-page .content-wrapper p {
  margin-bottom: 2.5rem;
}
#error-page .content-wrapper a[href^="mailto:"] {
  color: #555555;
  font-weight: 600;
  text-decoration: underline;
}
#error-page .content-wrapper .questions {
  line-height: 2.5rem;
}
#error-page .content-wrapper .btn {
  margin-top: 1.5rem;
}

body:has(.tulostus) {
  background-color: #ccc;
  margin: 0;
}

.tulostus {
  margin: 3rem auto;
  padding: 1rem 4rem;
  width: 21cm;
  background-color: #fff;
  box-shadow: rgba(0, 0, 0, 0.5) 0 0 10px;
}
.tulostus .summary {
  margin: 0;
  padding: 0;
  background-color: #fff;
}
.tulostus .summary .title h5 {
  margin-top: 0.5rem;
  margin-bottom: 0;
}
.tulostus .summary .title h1 {
  font-size: 2.4rem !important;
}
.tulostus .summary p {
  margin-top: 0;
}
.tulostus .col-12 {
  flex: 0 0 50%;
}
.tulostus .table-responsive-empty {
  display: none;
}
.tulostus .table-mobile,
.tulostus .table-responsive {
  border-top: 1px solid #d7d7d7;
}
.tulostus table {
  width: 100%;
}
.tulostus table th, .tulostus table td {
  border-bottom: 1px solid #d7d7d7 !important;
  text-align: left;
}
.tulostus .btn {
  display: none;
}
.tulostus .row-buttons {
  display: none;
}
.tulostus .varilabel {
  display: none !important;
}
.tulostus #kuvaForm {
  display: none;
}
.tulostus .perustiedot {
  margin-top: 0;
  border-top: 1px solid #d7d7d7;
}
.tulostus .perustiedot .perustieto {
  min-height: 0;
}
.tulostus .perustiedot .perustieto .labelcaption {
  display: inline-block;
  width: 28rem;
}
.tulostus .perustiedot .perustieto p {
  display: inline-block;
}
.tulostus .perustiedot .perustieto h3 {
  margin: 0;
}
.tulostus .lomakelinkki-list {
  border-top: 1px solid #d7d7d7;
}
.tulostus .lomakelinkki-list .row .col {
  margin: 1rem 0 0 0;
}
.tulostus .lomakelinkki-list .row .col .lomakelinkki {
  margin: 0;
}
.tulostus .lomakelinkki-list .row .col p {
  margin: 0 0 1rem 0;
}

.cke_dialog {
  padding: 0 !important;
  font-family: "Open Sans", sans-serif;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 1.4em;
  color: #33475b;
  width: 90% !important;
  min-width: 300px !important;
  max-width: 500px !important;
}
.cke_dialog *, .cke_dialog *:hover {
  background-color: #fff !important;
}
.cke_dialog .cke_dialog_title,
.cke_dialog .cke_dialog_tab {
  font-family: "Open Sans", sans-serif;
  font-weight: 600;
  font-size: 1.4rem;
  line-height: 1.4em;
  background-color: #f6f8fa !important;
}
.cke_dialog .cke_dialog_tab {
  margin-bottom: -10px;
  padding: 4px !important;
  outline: none !important;
  border: 1px solid #d7d7d7 !important;
  border-bottom: none !important;
}
.cke_dialog .cke_dialog_tab:focus,
.cke_dialog .cke_dialog_tab:active {
  outline: none !important;
}
.cke_dialog .cke_dialog_tab_selected,
.cke_dialog .cke_dialog_tab_selected:focus,
.cke_dialog .cke_dialog_tab_selected:active {
  outline: none !important;
  background-color: #fff !important;
  padding: 4px 4px 5px 4px !important;
}
.cke_dialog tbody > tr > td {
  padding: 0 !important;
}
.cke_dialog .cke_dialog_body {
  padding: 0 !important;
}
.cke_dialog .cke_dialog_body .cke_dialog_contents {
  padding: 0 !important;
  width: 100% !important;
}
.cke_dialog .cke_dialog_body .cke_dialog_contents .cke_dialog_contents_body {
  padding: 15px 15px 0 15px !important;
  width: 100% !important;
  height: auto !important;
}
.cke_dialog .cke_dialog_body .cke_dialog_contents .cke_dialog_contents_body .cke_dialog_ui_text,
.cke_dialog .cke_dialog_body .cke_dialog_contents .cke_dialog_contents_body .cke_dialog_ui_select {
  margin-top: 0 !important;
  background-color: #fff !important;
}
.cke_dialog .cke_dialog_body .cke_dialog_contents .cke_dialog_contents_body .cke_dialog_ui_vbox_child {
  padding: 0 2px 10px 2px !important;
}
.cke_dialog .cke_dialog_body .cke_dialog_contents .cke_dialog_contents_body .cke_dialog_ui_vbox_child .cke_dialog_ui_hbox_first:hover {
  padding-right: 10px !important;
  background-color: #fff !important;
}
.cke_dialog .cke_dialog_body .cke_dialog_contents .cke_dialog_contents_body .cke_dialog_ui_vbox_child .cke_dialog_ui_hbox_last {
  background-color: #fff !important;
}
.cke_dialog .cke_dialog_body .cke_dialog_contents .cke_dialog_footer {
  padding: 18px !important;
}
.cke_dialog .cke_dialog_body .cke_dialog_contents .cke_dialog_footer .cke_dialog_ui_hbox_first {
  width: auto !important;
  padding-right: 10px !important;
}
.cke_dialog .cke_dialog_body .cke_dialog_contents .cke_dialog_footer .cke_dialog_ui_hbox_first .cke_dialog_ui_button {
  color: #fff !important;
  background-color: #0a6478 !important;
  border: 1px solid #074958 !important;
}
.cke_dialog .cke_dialog_body .cke_dialog_contents .cke_dialog_footer .cke_dialog_ui_hbox_first .cke_dialog_ui_button:hover, .cke_dialog .cke_dialog_body .cke_dialog_contents .cke_dialog_footer .cke_dialog_ui_hbox_first .cke_dialog_ui_button:active {
  color: #fff;
  background-color: #074958 !important;
  border: 1px solid #074958 !important;
}
.cke_dialog .cke_dialog_body .cke_dialog_contents .cke_dialog_footer .cke_dialog_ui_hbox_first .cke_dialog_ui_button:hover span, .cke_dialog .cke_dialog_body .cke_dialog_contents .cke_dialog_footer .cke_dialog_ui_hbox_first .cke_dialog_ui_button:active span {
  border: none !important;
  background-color: transparent !important;
}
.cke_dialog .cke_dialog_body .cke_dialog_contents .cke_dialog_footer .cke_dialog_ui_hbox_first .cke_dialog_ui_button span {
  border: none !important;
  background-color: transparent !important;
}
.cke_dialog .cke_dialog_body .cke_dialog_contents .cke_dialog_footer .cke_dialog_ui_button {
  padding: 5px 15px;
  font-size: 1.4rem;
  border: 1px solid #0a6478 !important;
  opacity: 1 !important;
  white-space: nowrap;
  border-radius: 3px;
  font-weight: 400;
}
.cke_dialog .cke_dialog_body .cke_dialog_contents .cke_dialog_footer .cke_dialog_ui_button span,
.cke_dialog .cke_dialog_body .cke_dialog_contents .cke_dialog_footer .cke_dialog_ui_button span:hover,
.cke_dialog .cke_dialog_body .cke_dialog_contents .cke_dialog_footer .cke_dialog_ui_button span:active {
  border: none !important;
  background-color: transparent !important;
}
.cke_dialog .cke_dialog_body .cke_dialog_contents .cke_dialog_footer .cke_dialog_ui_button:hover {
  text-decoration: none;
}
.cke_dialog .cke_dialog_body .cke_dialog_contents .cke_dialog_footer .cke_dialog_ui_button_cancel {
  color: #0a6478;
  background-color: #fff !important;
  border: 1px solid #0a6478 !important;
}
.cke_dialog .cke_dialog_body .cke_dialog_contents .cke_dialog_footer .cke_dialog_ui_button_cancel:hover, .cke_dialog .cke_dialog_body .cke_dialog_contents .cke_dialog_footer .cke_dialog_ui_button_cancel:active {
  color: #0a6478 !important;
  background-color: #eaf0f6 !important;
}
.cke_dialog .cke_dialog_body .cke_dialog_contents .cke_dialog_footer .cke_dialog_ui_hbox {
  margin: 0 !important;
}
.cke_dialog .cke_dialog_body .cke_dialog_contents .cke_dialog_footer .cke_resizer {
  display: none;
}
.cke_dialog input.cke_dialog_ui_input_text,
.cke_dialog select.cke_dialog_ui_input_select {
  background-color: #f6f8fa !important;
  border: 1px solid #d7d7d7 !important;
}
