/* Allgemeine Selektoren */
::selection {
  background-color: #015b4a;
  color: #fafafa;
}

em {
  font-style: italic;
  letter-spacing: 0.002rem;
}

/* Typografie */
h1, .uk-h1, 
h2, .uk-h2, 
h3, .uk-h3, 
h4, .uk-h4, 
h5, .uk-h5, 
h6, .uk-h6, 
.uk-heading-small, 
.uk-heading-medium, 
.uk-heading-large, 
.uk-heading-xlarge, 
.uk-heading-2xlarge, 
.uk-heading-3xlarge {
  margin: 0;
  letter-spacing: 0;
}

.uk-text-large {
  font-size: 1.8rem;
  letter-spacing: -0.015rem;
  font-weight: 200;
  color: #015b4a;
}

.uk-text-lead {
  font-size: 1rem;
  letter-spacing: 0;
}

.tiny {
  font-size: 0.666rem;
  text-transform: uppercase;
  letter-spacing: 0.03rem;
}

/* Listen & Absätze */
p, ul, ol, dl, pre, address, fieldset, figure {
  margin: 0 0 15px 0;
}

ul {
  padding-left: 0;
}

ul li p, 
ol li p {
  margin: 0;
}

/* Breadcrumbs */
.uk-breadcrumb > :nth-child(n+2):not(.uk-first-column)::before {
  content: "›";
  margin: 0 5px;
  font-size: 0.666rem;
}

.uk-breadcrumb > * > * {
  font-size: 0.666rem;
  text-transform: uppercase;
  letter-spacing: 0.03rem;
}

/* Navbar */
.uk-logo {
  font-size: 1rem;
  font-weight: 400;
  z-index: 1000;
}

.uk-navbar-container {
  border-bottom: 0.03rem solid #222;
  margin-bottom: 16px !important;
}

.uk-navbar-nav > li > a {
  letter-spacing: 0;
}

.uk-navbar-nav > li > a::before {
  background-color: #444;
  height: 0;
}

.uk-navbar-nav > li.uk-active > a::before {
  height: 0;
}

.uk-navbar-nav > li.uk-active > a {
  color: inherit;
  opacity: 1;
}

.uk-navbar-nav > li:hover > a,
.uk-navbar-nav > li > a[aria-expanded="true"] {
  color: inherit;
  opacity: 1;
}

.uk-navbar-dropdown {
  width: 150px;
  padding: 0 0 0 15px;
  background: transparent;
  z-index: 1000;
}

ul.uk-nav-sub {
  padding: 0;
}

.uk-nav > li > a {
  padding: 0;
}

@media screen and (min-width: 960px) {
  .uk-navbar-container:not(.uk-navbar-transparent) {
    background: transparent;
  }
  
  .uk-navbar-right {
    margin-right: 2rem;
  }
}

/* Section & Grid */
.uk-section {
  padding-top: 0;
  padding-bottom: 1rem;
}

.uk-grid > .uk-grid-margin,
* + .uk-grid-margin {
  margin-top: 1rem;
}

/* Links & Buttons */
a.uk-link-heading,
.uk-link-heading a,
.uk-link-toggle .uk-link-heading {
  color: inherit;
  transition: 0.3s cubic-bezier(0.54, 0.32, 0.05, 0.96);
  z-index: 2;
  background-image: 
    linear-gradient(#444, #444),
    linear-gradient(#444, #444),
    linear-gradient(transparent, transparent);
  background-size: 0;
  background-repeat: no-repeat, no-repeat, repeat-x;
  background-position: 0% 90%, 100% 90%, 0% 90%;
  font-weight: 400;
  font-style: italic;
}

p a:not(.uk-button, .uk-icon, .uk-icon-link),
.uk-list li a {
  transition: 0.3s cubic-bezier(0.54, 0.32, 0.05, 0.96);
  z-index: 2;
  background-image: 
    linear-gradient(#444, #444),
    linear-gradient(#444, #444),
    linear-gradient(transparent, transparent);
  background-size: 0;
  background-repeat: no-repeat, no-repeat, repeat-x;
  background-position: 0% 90%, 100% 90%, 0% 90%;
  font-weight: 400;
}

.uk-button {
  letter-spacing: 0 !important;
}

.uk-button-text:not(button) {
  background-size: 0 0.03rem, 100% 0.03rem, 0.03rem 0.03rem;
}

/* Move Animation */
a#move,
#move.uk-link {
  text-decoration: none;
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  transform: translateX(0);
  display: inline-block;
}

a#move:hover,
#move.uk-link:hover,
a#move:focus,
#move.uk-link:focus,
a#move:active,
#move.uk-link:active {
  transform: translateX(0.8rem);
}

a#move.uk-active,
#move.uk-link.uk-active {
  transform: translateX(0.8rem) !important;
}

a#move:hover::before {
  content: '';
  position: absolute;
  left: -0.8rem;
  top: 0;
  width: 0.8rem;
  height: 100%;
  z-index: -1;
}

/* Artikel */
.tm-article-image,
.tm-article-featured {
  transition: all 0.3s ease-in-out, transform 0.3s ease-in-out;
}

.tm-article:hover .tm-article-image,
.tm-article-featured:hover {
  transform: unset;
  opacity: 0.6;
}

/* Blockquote */
blockquote {
  margin: 0;
  font-size: 1.8rem;
  line-height: 1.5;
  font-style: normal;
  letter-spacing: -0.015rem;
  padding-left: 0;
  border-left: 0;
  font-family: Outfit, sans-serif;
  font-weight: 200;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.5em;
}

blockquote footer {
  margin-top: 0;
  font-size: 0.666rem;
  line-height: 1;
  font-style: normal;
  vertical-align: baseline;
  margin-left: 0;
}

/* Figcaption */
figcaption {
  padding: 5px 5px 5px 0;
  font-size: 0.666rem;
  font-style: inherit;
}

.uk-light blockquote {
  border-left: none!important;
}