
:root {
  --result-back: #ffffff;
  --result-back-premium: #f6f3f7;
  --result-hover: #f1ecf3;
  --result-border: /*#dbcfe1;*/ transparent;
  --separator: #c8c8c8;
  --primary: #9b78aa;
  --primary-half: #9b78aaaa;
  --primary-quarter: #9b78aa88;
  --primary-dark: #6F3C83;
  --box-border: /*rgba(155, 120, 170, 0.3);*/ transparent;
  --box-background: rgba(155, 120, 170, 0.09);
  --text-color:  #444444;
  --button-gray:  #888888;
  --result-back-needsConfirmation: #ffd467;
  --result-needsConfirmation-hover: #ffbf05;
  --card-border: #dbcfe1;

}

* {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
   box-sizing: border-box;
}

body {
  font-family: "Open Sans";
  font-size: 14px;
  color: var(--text-color);
}

body a:hover {
  text-decoration: none;
}

body .container {
  max-width: 1130px;
}

/* GENERAL */
h1, h2, h3, h4, h5, h6 {
  color: #444444;
  font-family: "Open Sans";
  font-weight: normal;
  margin: 0 0 20px;
  text-transform: none;
}

h1 {
  font-size: 36px;
  font-weight: 300;
  line-height: 42px;
  text-transform: none;
  color: var(--primary-dark);
}

h2 {
  font-size: 24px;
  margin: 0 0 16px;
}

h3 {
  font-size: 24px;
  line-height: 1.5em;
  margin: 0 0 14px;
}

h4 {
  color: var(--primary-dark);
  margin-top: 32px;
  margin-bottom: 8px;
  font-weight: 700;
}

p {
  margin-top: 0px;
  margin-bottom: 16px;
}

.tl-top-margin {
  margin-top: 32px;
}

.tl-bottom-margin {
  margin-bottom: 8px;
}

/* SEARCH RESULTS */
.tl-header-description {
  margin-bottom: 16px;
}

.tl-searchresults-map {
  width: 100%;
  height: 200px;
  margin: 32px 0px;
}

.tl-serach-desc {
  margin-bottom: 16px;
  text-align: center;
}

.result {
  width: 100%;
  display: flex;
  column-gap: 16px;
  border: 1px solid var(--result-border);
  margin-bottom: 3px;
  padding: 5px;
  background-color: var(--result-back);
  align-items: center;
}

.result.premium {
  background-color: var(--result-back-premium);
}

.result:hover, .result.premium:hover {
  background-color: var(--result-hover);
  cursor: pointer;
}

.result.needsConfirmation {
  background-color: var(--result-back-needsConfirmation);
}

.result.needsConfirmation:hover {
  background-color: var(--result-needsConfirmation-hover);
  cursor: pointer;
}



.tl-search-results a:hover, .tl-search-results  a:focus {
  text-decoration: none !important;
}

.result .image img {
  width: 50px;
  height: 50px;
  object-fit: contain;
}

.result .title {
  color: #68427b;
  font-weight: bold;
}

.result .info {
  display: flex;
  flex-direction: column;
  font-weight: 300;
  flex: 1 1;
}

.result .distance {
  display: flex;
  flex-direction: column;
  font-weight: 300;
  flex: 0 0 ;
  width: 80px;
  min-width: 80px;
  align-content: flex-start;
  row-gap: 4px;
  align-items: flex-end;

}

.result .distance div {
  flex: 0 0 ;
}

.result .distance img {
  flex: 0 0 ;
  width: 40px;
}

.sectionHeader {
  text-align: center;
  margin-bottom: 16px;
}


footer {
  margin-top: 32px;
  border-top: 1px solid var(--separator);
  text-align: center;
  margin-bottom: 64px;
  padding: 18px 0px;
  font-weight: 200;
}


/****************************************/
/* SEARCH FORM */
/****************************************/
.tl-searchform {
  padding: 20px;
  background: #fafafa;
  color: #444444;
  border: 1px solid #dddddd;
  border-radius: 4px;
  background-color: var(--box-background);
  border-color: var(--box-border);
  color: #9b78aa;
  width: 100%;
  margin-bottom: 32px;
}
.tl-searchform .tl-title {
  font-size: 20px;
  color: var(--primary-dark);
  margin: 0px 0px 16px 0px;
}

.tl-searchform .tl-criteria {
  width: 100%;
}

.tl-searchform .tl-criteria .tl-criteria-input {
  width: 100%;
}

.tl-searchform .tl-criteria .tl-criteria-input input,
.tl-searchform .tl-criteria .tl-criteria-input select {
  width: 100%;
}

.tl-searchform .tl-criteria .tl-criteria-input input {
  height: 32px;
}

.tl-searchform .tl-criteria.space-on-top {
  margin-top: 24px;
}

.tl-searchform .tl-criteria .tl-criteria-checkbox {
  display: flex;
  align-items: center;
  font-size: 12px;
  line-height: 20px;
}

.tl-searchform .tl-criteria .tl-criteria-checkbox input[type='checkbox'] {
  margin-top: -1px;
  margin-right: 4px;
}

.tl-searchform .tl-buttons {
  text-align: right;
}

.uk-button {
  margin-top: 8px;
  background-color: var(--button-gray);
  border: none;
  border-radius: 4px;
  padding: 6px 12px;
  color: var(--primary);
  font-size: 14px;
}

.uk-button.uk-button-primary {
  background-color: var(--primary-dark);
  color: white;
}

.tl-searchform .tl-buttons button, .tl-button {
  margin-top: 8px;
  background-color: var(--primary-dark);
  border: none;
  border-radius: 4px;
  padding: 2px 16px;
  color: white;
  font-size: 12px;
}

.tl-searchform .tl-buttons button:hover, .tl-button:hover {
  color: white;
  text-decoration: none;
  background-color: var(--primary);
}

div.tl-button {
  cursor: pointer;
}

.tl-button a {
  color: white;
}

.tl-button.right {
  float: right;
}

.tl-button.cancel {
  background-color: #a8a8a8;
}

.tl-button.cancel:hover {
  background-color: #c8c8c8;
}

.tl-button.delete {
  background-color: #ff6666;
}

.tl-button.delete:hover {
  background-color: #ff3333;
}

.tl-button.add, .tl-button.confirm {
  background-color: #669966;
}

.tl-button.add:hover, .tl-button.confirm:hover {
  background-color: #336633;
}

/****************************************/
/* SEARCH SUGGESTION / FILTER */
/****************************************/

.tl-suggestionlist-wrapper {
  position: relative;
}

.tl-suggestionlist-wrapper .tl_suggestionlist {
  width: 100%;
  min-width: 350px;
  display: none;
  position: absolute;
  top: calc(100% - 8px);
  max-height: 200px;
  z-index: 200;
  left: 0px;
  border: 1px solid var(--result-border);
  background-color: rgba(255, 255, 255, 0.9);
  overflow-y: auto;
  padding: 8px;
}

.tl-suggestionlist-wrapper .tl_suggestionlist.visible {
  display: block;
}

.tl-suggestionlist-wrapper .tl_suggestionlist .tl_suggestion {
  cursor: pointer;
  white-space: nowrap;
  overflow: hidden;
}

.tl-suggestionlist-wrapper .tl_suggestionlist .tl_suggestion:hover {
  cursor: pointer;
  background-color: var(--primary-half);
  color: white;
}

header .tl-buttons {
  text-align: right;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  margin-top: 32px;
}

header .tl-main-logo {
  max-width: 420;
  margin: 32px 0px;
}


.tl-header-image {
  width: 100%;
  margin: 32px 0px 16px 0px;
}

.tl-page-content {
  display: flex;
  column-gap: 32px;
  margin-top: 32px;
  align-content: stretch;
}

.tl-page-main {
  flex: 1 1;
  position: relative;
}

.tl-page-channel-left {
  flex: 0 320px;
  min-width: 320px;
}



.tl-user-data {
  margin-top: 16px;
  float: right;
  text-align: right;
}

.tl-user-data .tl-buttons {
  margin-top: 4px;
}

.tl-logged-in-userinfo {
  margin-top: 16px;
}

.tl-logged-in-userinfo img {
  margin-right: 4px;
  width: 16px;
}


/****************************************/
/* DETAIL */
/****************************************/

.tl-detail-head {
  display: flex;
  flex-direction: column;
  margin-bottom: 32px;
}


.tl-detail-head h1 {
  margin-bottom: 24px;
}

.tl-card {
  flex: 1 1;
  border: none;
  padding: 0px;
  display: flex;
  column-gap: 32px;
}

.tl-card-image {
  flex: 250px 0;
  display: flex;
  flex-direction: column;
  justify-content: start;
  /*background-color: var(--primary-half);*/
}

.tl-card-image img.tl-praxis-image {
  /*background-color: var(--primary-half);*/
  max-width: 250px;
  max-width: 250px;
  max-height: 350px;
  object-fit: contain;
  border: none; /* 1px solid #d6d6d6;*/
}

.tl-card-info {
  display: flex;
  flex-direction: column;
  flex: 1 auto;
  justify-content: end;
}

.tl-card-contact tr td {
  padding-right: 8px;
}

.tl-icons {
  display: flex;
  column-gap: 8px;
}

.tl-icons a {
  margin-top: 32px;
}

.tl-map {
  flex: 0 auto;
  background-color: transparent;
  height: 235px;
}

.tl-kompetenzkategorie {
  font-size: 16px;
  font-weight: 400;
  margin-bottom: 8px;
}
.tl-kompetenzliste {
  width: 100%;
  margin-bottom: 16px;
}

.tl-kompetenz {
  display: inline-block;
  width: 49.5%;
}

.tl-responsible {
  margin-top: 48px;
}

.tl-galerie {
  margin-top: 12px;
  background-color: #FFFFFF;
  border: none;
  width: 100%;
}

.tl-galerie img.tl-image {
  width: 80px;
  height: 80px;
  object-fit: cover;
  border-radius: 0px;
  margin-right: 16px;
}

.tl-p {
  margin-top: 32px;
}

.tl-user-form section {
  display: flex;
}

.tl-user-form section label {
  flex: 0 220px;
  min-width: 220px;
}

.tl-user-form section input {
  width: 100%;
}

.tl-user-form section input[type="checkbox"] {
  width: auto;
  margin-right: 8px;
}

.tl-user-form section textarea {
  min-height: 200px;
  width: 100%;
}



.tl-form-msg {
  border: 1px solid #00ff00aa;
  margin: 16px 0px;
  padding: 8px;
  border-radius: 4px;
  background-color: #00cc0077;
}

.tl-form-msg.error {
  border-color: #ff0000aa;
  background-color: #ff000044;
  color: red;
}

.tl-form-msg.warning {
  border-color: #ffaa00;
  background-color: #ffd467;
  color: var(--text-color);
}

.tl-form-msg.hint {
  border: 1px solid var(--primary-dark);
  margin: 16px 0px;
  padding: 8px;
  border-radius: 4px;
  background-color: var(--primary-quarter);
}


.tl-form-error {
  color: red;
  font-size: 11px;
  margin-bottom: 16px;
}

.tl-pw-strength  {
  height: 20px;
  width: 100px;
  display: inline-block;
}

.tl-pw-weak {
  background-color: red;
}
.tl-pw-medium {
  background-color: orange;
}
.tl-pw-strong {
  background-color: green;
}

.tl-pw-strength-wrapper {
  white-space: nowrap;
  margin-left: 16px;
  display: flex;
  align-items: flex-start;
}

.tl-pw-strength-wrapper #passwordStrength {
  margin-left: 8px;
}



/****************************************/
/* SIDE MENU FORM */
/****************************************/
.tl-sidemenu {
  padding: 20px;
  background: #fafafa;
  color: #444444;
  border: 1px solid #dddddd;
  border-radius: 4px;
  background-color: #f8f8f8;
  border-color: var(--box-border);
  color: #9b78aa;
  width: 100%;
  margin-bottom: 32px;
}
.tl-sidemenu .tl-title {
  color: var(--primary-dark);
  font-size: 20px;
  margin: 0px 0px 16px 0px;
}

.tl-sidemenu .tl-option {
  font-size: 14px;
  color: var(--primary-dark);
  padding: 8px 8px;
  margin-left: -8px;
  transition: all 0.1s ease-in-out;
  cursor: pointer;
  border: 1px solid transparent;
}

.tl-sidemenu a:hover {
  text-decoration: none;
}


.tl-sidemenu .tl-option:hover {
  border: 1px solid var(--primary-dark);
  color:rgba(20,20,20)
}

.tl-sidemenu .tl-option.active {
  font-weight: bold;
  background-color: var(--primary-half);
  color: white;
  cursor: default;
}



/****************************************/
/* ADMIN LISTS */
/****************************************/
.result.admin.header a {
  color: white;
}

.result.admin .meta {
  max-width: 150px;
  min-width: 150px;
  width: 150px;
  flex: 0 0;
}

.result.admin .delete, .result.admin.action {
  max-width: 36px;
  min-width: 36px;
  width: 36px;
  flex: 0 0;
  text-align: center;
}
.result.admin .status {
  text-align: center;
  max-width: 50px;
  min-width: 50px;
  width: 50px;
  flex: 0 0;
}

.result.admin .published,
.result.admin .premium {
  text-align: center;
  max-width: 80px;
  min-width: 80px;
  width: 80px;
  flex: 0 0;
}

.result.users:nth-of-type(odd) {
  background-color: #f1f1f1;
}

.result.users:hover {
  background-color: var(--result-hover);
}

.result.users .username {
  max-width: 250px;
  min-width: 250px;
  overflow: hidden;
  text-overflow: ellipsis;
  width: 150px;
  flex: 0 0;
}

.result.users .name {
  max-width: 210px;
  overflow: hidden;
  text-overflow: ellipsis;
  flex: 1 1;
}

.result.users .dates {
  max-width: 150px;
  min-width: 150px;
  width: 150px;
  flex: 0 0;
}

.result.users .actions {
  text-align: center;
  max-width: 80px;
  min-width: 80px;
  width: 80px;
  flex: 0 0;
}


.result.admin.header,
.result.admin.header:hover  {
  font-size: 12px;
  vertical-align: top;
  background-color: var(--primary);
  border: none;
  color: white;
  cursor: default;
}

.result.admin.header div.title {
  color: white;
}


.tl-basedatalist .admin .id {
  text-align: center;
  max-width: 30px;
  min-width: 30px;
  width: 30px;
  flex: 0 0;
}


.tl-basedatalist .admin .name {
  flex: 1 1;
}

.tl-basedatalist .admin .category {
  max-width: 200px;
  min-width: 200px;
  width: 200px;
  flex: 0 0;
}

.tl-basedatalist a.resultlink:nth-of-type(odd) .result {
  background-color: #e8e8e8;
}

.tl-basedatalist a.resultlink:hover {
  text-decoration: none;
  font-weight: 600;
}

.tl-basedatalist .action {
  max-width: 60px;
  min-width: 60px;
  width: 60px;
  flex: 0 0;
  text-align: right;
}



.tl-asset {
  width: 100%;
  border: 1px solid var(--result-border);
  margin-bottom: 8px;
  padding: 5px;
  background-color: var(--result-back);
  align-items: center;
  color: var(--primary-dark)
}

.tl-asset:hover {
  background-color: var(--result-hover);
}

.tl-asset .tl-date {
  font-size: 0.9em;
  margin-bottom: 4px;
  color: var(--primary)
}




/***********************************/
/* Paging */
/***********************************/

.tl-paging {
  width: 100%;
  text-align: center;
  font-size: 11px;
  margin: 16px 0px;
  text-decoration: none;
}

.tl-paging a {
  text-decoration: none;
}

.tl-paging a:hover {
  text-decoration: none;
}

.tl-paging_page {
  text-decoration: none;
  background: #f5f5f5; /* Old browsers */
  background: -moz-linear-gradient(top, #f5f5f5 0%, #bababa 100%); /* FF3.6+ */
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f5f5f5), color-stop(100%,#bababa)); /* Chrome,Safari4+ */
  background: -webkit-linear-gradient(top, #f5f5f5 0%,#bababa 100%); /* Chrome10+,Safari5.1+ */
  background: -o-linear-gradient(top, #f5f5f5 0%,#bababa 100%); /* Opera 11.10+ */
  background: -ms-linear-gradient(top, #f5f5f5 0%,#bababa 100%); /* IE10+ */
  background: linear-gradient(to bottom, #f5f5f5 0%,#bababa 100%); /* W3C */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f5f5f5', endColorstr='#bababa',GradientType=0 ); /* IE6-9 */    border: 1px solid #dddddd;
  border-radius: 2px;
  margin: 2px;
  padding: 5px;
  min-width: 49px;
  min-height: 24px;
}
.tl-paging_page.inactive {
  background: #f5f5f5; /* Old browsers */
  color: #AAAAAA;
  cursor: default;
}

.tl-current-page {
  text-align: center;
  margin-bottom: 16px;
}


.tl-journal-list-item {
  position: relative;
  border-bottom: 1px solid lightgray;
}
.tl-journal-list-item.unpublished {
  background-color: #ff555533;
}

.tl-journal-list-item:before,
.tl-journal-list-item:after {
  content: "";
  display: table;
}
.tl-journal-list-item:after {
  clear: both;
}

.tl-journal-list-item .tl-actions,
.tl-content.tl-actions {
  position: absolute;
  right: 8px;
  top: 8px;
  padding: 4px;
  background-color: #ffffffcc;
  display: flex;
  column-gap: 8px;
  border-radius: 4px;
  border: 1px solid var(--primary-dark);
  opacity: 0.3;
  box-shadow: 0px 0px 8px var(--primary-dark);
}
.tl-journal-list-item .tl-actions:hover,
.tl-content.tl-actions:hover {
  opacity: 1;
}

.tl-journal-list-item .tl-actions:hover a,
.tl-content.tl-actions:hover a {
  opacity: .5;
}

.tl-journal-list-item .tl-actions:hover a:hover,
.tl-content.tl-actions:hover a:hover {
  opacity: 1;
}

.tl-actions .action {
  cursor: pointer;
}


.tl-latest {
  line-height: 1.8em;
}

.tl-close-by {
  margin-bottom: 8px;
}

.tl-close-by .tl-distance {
  color: #888888;
  font-size: 0.7em;
}

.tl-flex-break {
  flex-basis: 100%;
}

.tl-captcha {
  overflow-y: hidden;
  display: flex;
  flex-direction: column;
  width: 100%;
  flex: auto;
}

.tl-captcha svg {
  max-height: 60px;
  overflow-y: hidden;
}

.tl-captcha svg path {
  stroke: var(--primary-dark);
}

.tl-side-banner {
  padding: 20px;
  background: #fafafa;
  color: #444444;
  border: 1px solid #dddddd;
  border-radius: 4px;
  background-color: #f8f8f8;
  border-color: var(--box-border);
  color: #9b78aa;
  width: 100%;
  margin-bottom: 32px;
  text-align: center;
}

footer {
  position: relative;
  color: var(--text-color);
  font-weight: normal;
  font-size: 12px;
}

footer a {
  color: var(--text-color);
}

footer .tl-hint {
  font-size: 11px;
  margin-top: 32px;
}

/*
 * To-top scroller
 */
 .tm-totop-scroller {
  z-index: 1000;
  width: 20px;
  height: 20px;
  line-height: 20px;
  font-size: 14px;
  color: #444444;
  text-align: center;
  -webkit-transition: all linear 0.05s;
  transition: all linear 0.05s;
  margin-left: 32px;
}
.tm-totop-scroller:after {
  content: "\f077";
  font-family: "FontAwesome";
}
/*
 * Hover
 * 1. Apply hover style also to focus state
 * 2. Remove default focus style
 */
.tm-totop-scroller:hover,
.tm-totop-scroller:focus {
  /* 1 */
  color: #777777;
  font-size: 14px;
  outline: none;
  /* 2 */
  text-decoration: none;
}
/* Active */
.tm-totop-scroller:active {
  color: #111111;
  font-size: 14px;
}

.tl-side-banner ul.check li {
  list-style-position: inside;
  list-style-type: none;
  margin-bottom: 8px;
}