/* =============================================================================
   Iframes
   ========================================================================== */

iframe {
  border: none;
  overflow: auto;
  width: 100%;
}

.iframe-container {
  aspect-ratio: 16 / 9;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

/* =============================================================================
   Tables
   ========================================================================== */

table {
  border-collapse: collapse;
  border-spacing: 0;
  font-size: var(--f-size);
}

td {
  vertical-align: top;
}

table.ce-table {
  width: 100%;
  border-collapse: collapse;
  padding: 0;
}

table.ce-table td {
  min-width: 150px;
}

.ce-table-scroll {
  scrollbar-width: thin;
  overflow-x: auto;
  padding-bottom: 10px;
  margin-bottom: 10px;
  width: 100%;
}

.ce-table-scroll::-webkit-scrollbar-track {
  -webkit-border-radius: 0.5rem;
  -moz-border-radius: 0.5rem;
  border-radius: 0.5rem;
}

.ce-table-scroll::-webkit-scrollbar {
  height: 0.5rem;
}

.ce-table-scroll::-webkit-scrollbar-thumb {
  -webkit-border-radius: 0.5rem;
  -moz-border-radius: 0.5rem;
  border-radius: 0.5rem;
}

table.ce-table .th-caption, table.ce-table caption {
  text-align: center;
  font-size: var(--f-size);
  font-weight: normal;
  vertical-align: top;
}

.frame-type-table table.ce-table caption {
  border-bottom: none !important;
}

table.ce-table th {
  font-size: var(--f-size);
  font-weight: normal;
  text-align: left;
  vertical-align: top;
}

table.ce-table.tableleftheader th {
  vertical-align: middle;
}

table.ce-table th b, table.ce-table th strong {
  font-weight: normal;
}

.frame-type-table.frame-layout-10 table.ce-table td {
  text-align: right;
}

.frame-type-table.frame-layout-10 table.ce-table td:first-child {
  text-align: left;
}

table.ce-table.ce-table-tab7030, table.ce-table.ce-table-tab3070 {
  table-layout: auto;
}

table.ce-table.ce-table-tab7030 tr td:first-child {
  width: 70%;
}

table.ce-table.ce-table-tab7030 tr td:nth-child(2) {
  width: 30%;
}

table.ce-table.ce-table-tab3070 tr td:first-child {
  width: 30%;
}

table.ce-table.ce-table-tab3070 tr td:nth-child(2) {
  width: 70%;
}

table.ce-table.ce-table-tab5050 tr td:first-child,
table.ce-table.ce-table-tab5050 tr td:nth-child(2) {
  width: 50%;
}

table.tablesaw-swipe .tablesaw-cell-persist {
  border-right: inherit;
}

/* =============================================================================
   TYPO3 Messages
   ========================================================================== */

.typo3-messages {
  display: grid;
  grid-gap: var(--g-gap-s);
  grid-template-columns: 1fr;
  padding: 0;
  margin-bottom: var(--g-gap);
}

.typo3-messages .alert {
  background-color: rgb(var(--c-neutral-lighter));
  padding: var(--g-gap)
}

/* =============================================================================
   Standard contentelements
   ========================================================================== */

/* Menus */
.frame-type-menu_pages > ul,
.frame-type-menu_sitemap > ul,
.frame-type-menu_subpages > ul {
  margin: 0;
  padding: 0;
  overflow: hidden;
}

.frame-type-menu_pages li,
.frame-type-menu_sitemap li,
.frame-type-menu_subpages li {
  list-style-type: none;
  list-style-image: none;
  background-image: none;
  padding: 0;
  margin-bottom: 0;
}

.frame-type-menu_sitemap > ul > li > a {
  font-size: var(--f-size-l-2);
  margin-bottom: 0;
  text-transform: uppercase;
}

.frame-type-menu_sitemap > ul > li > ul > li > ul > li > a {
  font-size: var(--f-size-s-1);
}

.frame-type-menu_sitemap > ul > li {
  margin-bottom: 1.5rem;
}

.frame-type-menu_sitemap > ul > li > ul > li {
  margin-bottom: 0.8rem;
}

.frame-type-menu_sitemap > ul > li > ul {
  margin-left: 1rem;
}

.frame-type-menu_sitemap > ul > li > ul > li > ul {
  margin-left: 2rem;
}

.frame-type-menu_sitemap > ul > li > ul > li > ul > li > ul {
  margin-left: 3rem;
}

.frame-type-menu_sitemap > ul > li > ul > li > ul > li > ul > li > ul {
  margin-left: 4rem;
}

li.noentry {
  font-size: 0;
  margin: 0;
  padding: 0;
  line-height: 0;
  border: none;
}

/* felogin */
.felogin__message {
  margin-bottom: 0.5rem;
}

.tx-felogin-pi1 label {
  display: block;
}

.tx-felogin-pi1 legend {
  display: none;
}

/* Uploads */
.uploads {
  grid-gap: var(--g-gap-s);
}

.uploads__fileimage,
.uploads__filesize {
  margin-left: 0.2rem;
}

.uploads__footer {
  margin-top: var(--g-gap-s);
}

.uploads__item {
  padding: var(--g-gap) 4rem var(--g-gap) var(--g-gap);
  display: block;
  position: relative;
  overflow: hidden;
  height: 100%;
}

.uploads__item.-withimage {
  display: grid;
  grid-template-columns: 4rem 1fr;
  grid-gap: var(--g-gap);
}

.uploads__arrow {
  position: absolute;
  right: 1rem;
  top: 50%;
  transform: translateY(-50%);
}

.uploads__arrowpath {
  fill: none;
}

.uploads__item {
  transition: all 0.3s ease 0s;
  -webkit-transition: all 0.3s ease 0s;
  -moz-transition: all 0.3s ease 0s;
}

.uploads__link {
  position: relative;
}

.uploads__link::after {
  position: absolute;
  right: 1rem;
  top: 1rem;
}

.uploads__link[rel="noopener"]::after,
.uploads__link[rel="noreferrer"]::after,
.uploads__link[rel="noopener noreferrer"]::after,
.uploads__link[rel="noopener noreferrer nofollow"]::after,
.uploads__link.external-link-new-window::after,
.uploads__link.link-external::after {
  content: '';
}

.uploads__link[rel="noopener"] .uploads__title::after,
.uploads__link[rel="noreferrer"] .uploads__title::after,
.uploads__link[rel="noopener noreferrer"] .uploads__title::after,
.uploads__link[rel="noopener noreferrer nofollow"] .uploads__title::after,
.uploads__link.external-link-new-window .uploads__title::after,
.uploads__link.link-external .uploads__title::after {
  content: '\f08e';
  font-family: 'FaRegular';
  display: inline-block;
  margin-left: 5px;
}

/* =============================================================================
   Forms
   ========================================================================== */

form {
  margin: 0;
}

fieldset {
  border: 1px solid rgb(var(--c-neutral-light));
  margin: 0;
  padding: 1rem 1.5rem;
  border-radius: var(--b-radius-s);
}

.formfield__description {
  margin-bottom: 1rem;
}

label {
  cursor: pointer;
}

legend {
  border: 0;
  padding: 0;
  margin: 0;
  white-space: normal;
  font-style: normal;
  font-weight: var(--f-weight-b);
}

button, input, select, textarea {
  font-size: var(--f-size);
  margin: 0;
  vertical-align: baseline;
  line-height: inherit;
}

button, input[type="button"], input[type="reset"], input[type="submit"] {
  cursor: pointer;
  -webkit-appearance: button;
  *overflow: visible;
}

button[disabled], input[disabled] {
  cursor: default;
}

input[type="checkbox"], input[type="radio"] {
  padding: 0;
  *width: 13px;
  *height: 13px;
}

input[type="checkbox"], input[type="radio"] {
  margin-right: 5px;
}

input[type="search"] {
  -webkit-appearance: textfield;
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
}

input[type="search"]::-webkit-search-decoration, input[type="search"]::-webkit-search-cancel-button {
  -webkit-appearance: none;
}

button::-moz-focus-inner, input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

textarea {
  overflow: auto;
  vertical-align: top;
  resize: vertical;
}

select:focus, input:focus, textarea:focus {
  outline: none;
  border: 1px solid rgb(var(--c-primary));
}

select,
input[type="date"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-image: url("data:image/svg+xml;utf8,<svg width='15' height='9' viewBox='0 0 15 9' fill='none' xmlns='http://www.w3.org/2000/svg'><path d='M6.53906 7.76953L13.4486 0.859994' stroke='%23000000' stroke-width='2'/><path d='M7.69238 7.76953L0.782846 0.859994' stroke='%23000000' stroke-width='2'/></svg>");
  background-size: 18px;
  background-position: calc(100% - 15px) center;
  background-repeat: no-repeat;
  border-radius: var(--b-radius-s);
}

select {
  padding-right: 35px !important;
}

input[type="date"] {
  background-image: url("data:image/svg+xml;utf8, <svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512' fill='%23000000'><!--!Font Awesome Pro 6.7.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2024 Fonticons, Inc.--><path d='M152 24l0-24L104 0l0 24 0 40L0 64l0 80 0 48L0 464l0 48 48 0 352 0 48 0 0-48 0-272 0-48 0-80L344 64l0-40 0-24L296 0l0 24 0 40L152 64l0-40zM48 192l352 0 0 272L48 464l0-272z'/></svg>");
}

input[type="date"]::-webkit-inner-spin-button,
input[type="date"]::-webkit-calendar-picker-indicator {
  opacity: 0;
}

/* Hide date icon in Firefox because the default icon cannot be hidden */
@-moz-document url-prefix() {
  input[type=date] {
    background-image: none;
  }
}

input[type="date"],
input[type="text"],
input[type="password"],
input[type="email"],
input[type="tel"],
textarea {
  width: 100%;
  border-radius: var(--b-radius-s);
}

.form-group {
  margin-top: 1rem;
}

.form-group .form-group {
  margin-top: 0;
}

.form-label {
  font-style: normal;
  font-weight: var(--f-weight-b);
}

.btn-group button {
  margin-top: 1rem;
}

/* =============================================================================
   Menus
   ========================================================================== */

/* Metanav */
.metanav__separator::after {
  margin: 0 0.4rem;
  content: '';
  display: block;
}

.metanav__separator,
.metanav__item {
  display: inline-block;
}

/* =============================================================================
   Media Queries
   ========================================================================== */

@media (min-width: 800px) {
  /* Standard contentelements */
  .uploads .uploads__link {
    grid-column: span 6;
  }

  .grid__12 .grid__12.uploads .uploads__link {
    grid-column: span 12;
  }
}

@media (min-width: 1024px) {
  /* Standard contentelements */
  .uploads .uploads__link {
    grid-column: span 4;
  }

  .content__top > .grid__12 .grid__12.uploads .uploads__link {
    grid-column: span 6;
  }

  .content__top > .grid__12 .grid__12 .grid__12.uploads .uploads__link {
    grid-column: span 12;
  }
}