@charset "UTF-8";
/**
 * Add custom styles
 *
 * CSS variables are defined in "theme.json"
 * https://developer.wordpress.org/block-editor/how-to-guides/themes/theme-json
 */
:root {
  --custom--media-max-width--sm: 599px;
  --custom--media-max-width--lg: 999px;
}

/*aktiviert smooth scrolling*/
html {
  scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}
/* roboto-200 - latin */
@font-face {
  font-display: swap;
  font-family: "Roboto";
  font-style: normal;
  font-weight: 200;
  src: url("../fonts/roboto-v47-latin-200.woff2") format("woff2");
}
/* roboto-200italic - latin */
@font-face {
  font-display: swap;
  font-family: "Roboto";
  font-style: italic;
  font-weight: 200;
  src: url("../fonts/roboto-v47-latin-200italic.woff2") format("woff2");
}
/* roboto-300 - latin */
@font-face {
  font-display: swap;
  font-family: "Roboto";
  font-style: normal;
  font-weight: 300;
  src: url("../fonts/roboto-v47-latin-300.woff2") format("woff2");
}
/* roboto-300italic - latin */
@font-face {
  font-display: swap;
  font-family: "Roboto";
  font-style: italic;
  font-weight: 300;
  src: url("../fonts/roboto-v47-latin-300italic.woff2") format("woff2");
}
/* roboto-regular - latin */
@font-face {
  font-display: swap;
  font-family: "Roboto";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/roboto-v47-latin-regular.woff2") format("woff2");
}
/* roboto-italic - latin */
@font-face {
  font-display: swap;
  font-family: "Roboto";
  font-style: italic;
  font-weight: 400;
  src: url("../fonts/roboto-v47-latin-italic.woff2") format("woff2");
}
/* roboto-700 - latin */
@font-face {
  font-display: swap;
  font-family: "Roboto";
  font-style: normal;
  font-weight: 700;
  src: url("../fonts/roboto-v47-latin-700.woff2") format("woff2");
}
/* roboto-700italic - latin */
@font-face {
  font-display: swap;
  font-family: "Roboto";
  font-style: italic;
  font-weight: 700;
  src: url("../fonts/roboto-v47-latin-700italic.woff2") format("woff2");
}

/* ------------ Header ------------ */
.custom-logo {
  width: 280px;
  height: auto;
}

.site-header {
  position: absolute;
  z-index: 1000;
  width: calc(100% - 40px);
}
.site-header.fixed {
  position: fixed;
}
.site-header .wp-block-spacer:after,
.site-footer .wp-block-spacer:after {
  content: "|";
  color: var(--wp--preset--color--color-1) !important;
}

.site-header nav,
.site-footer nav {
  gap: 0.5rem;
}

.site-header nav a,
.site-footer nav a,
.site-header nav .wp-block-spacer,
.site-footer nav .wp-block-spacer {
  padding: 1.9rem 0 1rem 0;
}

/* ------------ Homepage ------------ */
.home main {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
.home .wp-site-blocks {
  padding-bottom: 0;
}
.home .has-global-padding {
  padding-right: 0;
  padding-left: 0;
}
/*.HomeSlider {
  position: fixed;
  height: 100vh !important;
}*/
#metaslider-id-222 {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 0;
  width: 100vw !important;
  height: 100vh !important;
  background: #fff;
}
#metaslider_container_222 img {
  object-fit: cover;
  height: 100vh;
}
.home footer.site-footer {
  position: fixed;
  right:0;
  bottom: 20px;
}
.metaslider.ms-theme-highway .flexslider ul.slides .caption-wrap {
  opacity: 1;
  background: none !important;
  max-height: none !important;
  max-width: none !important;
  padding: 0;
  text-align: left;
  top: auto;
  left:20px;
  bottom: 32px;
  -webkit-transform: none !important;
  transform: none !important;
  -webkit-transition: none !important;
  transition: none !important;
  width: auto !important;
  color: rgba(255,255,255,1) !important;
  font-size: 30px;
  line-height: 1.2em;
  font-weight: 400;
}
.metaslider.ms-theme-highway .flexslider ul.slides .caption-wrap .caption a:after {
  content: " →";
}
.metaslider.ms-theme-highway .flexslider ul.slides .caption-wrap .caption a {
  padding: 5px 20px 5px 0;
  display: inline-block;
  opacity: 1 !important;
}
.ms-is-small.metaslider.ms-theme-highway .flexslider ul.slides .caption-wrap {
  left: 20px;
  max-height: none;
  top: auto;
  bottom: 25%;
}
.metaslider .caption {
  padding: 0;
}

/* ------------ Seiten ------------ */
@media (min-width: 600px) {
  .page .titel {
    opacity: 0;
    height: 0;
  }
  .page-id-18 .titel,
  .page-id-3 .titel {
    opacity: 1;
    height: auto;
  }
}
/* ------------ Seite Kontakt ------------ */
.page-id-16 .wp-site-blocks {
  padding-top: 0;
  padding-bottom: 0 !important;
}
.page-id-16 .entry-content {
  margin-block-start: 0 !important;
}
.page-id-16 header.site-header {
  padding: var(--wp--style--root--padding-top) var(--wp--preset--spacing--4, 20px);
}
.page-id-16 footer.site-footer {
  position: fixed;
  right:0;
  bottom: 20px;
}
/*.page-id-16 .has-white-background-color {
  background-color: rgba(255, 255, 255, 0.6) !important;
}*/
.page-id-16 .titel {
  opacity: 0;
  height: 0;
  margin:0 !important;
}
.page-id-16 .inhalt {
  margin-top: 30vh;
}
@media (max-width: 600px) {
  .page-id-16 .inhalt {
    margin-top: 20vh;
  }
}
/* ------------ error404 ------------ */
.error404 .wp-site-blocks {
  padding-top: 0;
  padding-bottom: 0 !important;
}
.error404 header.site-header {
  padding: var(--wp--style--root--padding-top) var(--wp--preset--spacing--4, 20px);
}
.error404 footer.site-footer {
  position: fixed;
  right:0;
  bottom: 20px;
}

/* ------------ Single/Einzelprojekte ------------ */
.wp-block-cover,
.wp-block-cover-image,
.wp-block-cover__image-background,
.wp-block-cover__inner-container {
  min-height: auto !important;
  height: 100vh !important;
}
.single .wp-block-gallery.has-nested-images figure.wp-block-image {
	flex-grow:0 !important;
}
@media (min-width: 600px) {
  /*.single .wp-block-gallery figure {
    margin-bottom: 3rem !important;
  }*/
  .single .wp-block-gallery {
    --wp--style--unstable-gallery-gap: var(--wp--preset--spacing--70) !important;
    gap: var(--wp--preset--spacing--70) !important;
  }
  .single figure.wp-block-image {
    margin-block-start: 3rem !important;
  }
  .single figure figure.wp-block-image {
    margin-block-start: 0 !important;
  }
  .single figure.wp-block-gallery {
    margin-block-start: 3rem !important;
  }

}
/*.single .wp-block-image,
.single .wp-block-gallery {
	margin-block-start: 30px !important;
}
.single .wp-block-gallery {
	gap:30px !important;
}*/
.single .wp-site-blocks {
  padding-top: 0 !important;
}

.single header.site-header {
  padding: var(--wp--style--root--padding-top) var(--wp--preset--spacing--4, 20px);
}

.down {
  position: absolute;
  left: calc(50% - 24px);
  bottom: 30px;
  width:48px;
  z-index: 100000 !important;
  -webkit-animation: MoveUpDown 1.3s ease-in-out infinite !important;
  animation: MoveUpDown 1.3s ease-in-out infinite !important;
}

.down a {
  cursor: pointer;
  display: block !important;
  width: 100%;
  height: 100%;
  padding: 10px;
}

@keyframes MoveUpDown {
  0%, 100% {
    bottom: 0;
  }
  50% {
    bottom: 30px;
  }
}
@media (max-width: 600px) {
  .wp-block-cover,
  .wp-block-cover-image,
  .wp-block-cover__image-background,
  .wp-block-cover__inner-container {
    height: 100dvh !important;
  }
  .single .wp-block-gallery.has-nested-images figure.wp-block-image {
    flex-grow:1 !important;
  }
}
/* ------------ Archive/Projekte Übersicht ------------ */
.wp-block-post-template-is-layout-grid {
  grid-template-columns: repeat(3, 1fr);
  gap: 25px;
}
@media (max-width: 1200px) {
  .wp-block-post-template-is-layout-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 800px) {
  .wp-block-post-template-is-layout-grid {
    grid-template-columns: 1fr;
  }
}

ul.wp-block-post-template li {
  margin-bottom: 0 !important;
}

li.wp-block-post {
  position: relative;
  min-height: 360px;
}

.archive .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
  max-width: 100%;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.rahmen {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 999;
  margin: 0 !important;
  padding: 0 !important;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
}
.rahmen .link a {
  position: absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  z-index: 1001;
  text-indent: -9999px;
}

.rahmen .titel {
  position: absolute;
  z-index: 1000;
  margin: 0 auto;
  padding: 0;
}

.rahmen .wp-block-post-featured-image {
  overflow: hidden;
  width: 100%;
  max-width: 100%;
}

.rahmen .wp-block-post-featured-image img {
  transition: all 0.6s ease-in-out;
}

.rahmen a:hover ~ .wp-block-post-featured-image img {
  transform: scale(1.1);
}
.rahmen:has(.link a:hover) .wp-block-post-featured-image img {
  transform: scale(1.1);
}

/**
 * General
 */
.hide {
  display: none;
}

img {
  vertical-align: middle;
}

textarea,
input[type=text],
input[type=password],
input[type=url],
input[type=email],
input[type=tel],
input[type=number],
input[type=search] {
  display: flex;
  border: 1px solid var(--wp--preset--color--dark-gray) !important;
}

h1,
.h1,
body.author .wp-block-post-author .wp-block-post-author__name {
  font-size: 36px;
  line-height: var(--wp--custom--typography--line-height--page-title);
}
@media (max-width: 599px) {
  h1,h2 {
    font-size: 24px;
  }
}

/**
 * WordPress customization
 */
body.author .wp-block-post-author {
  align-items: center;
  margin-bottom: calc(var(--wp--preset--spacing--3, 1rem) * 3);
}
body.author .wp-block-post-author .wp-block-post-author__avatar {
  margin-right: calc(var(--wp--preset--spacing--4, 20px) * 2);
}
body.author .wp-block-post-author .wp-block-post-author__avatar .avatar {
  width: 180px;
  height: auto;
}
body.author .wp-block-post-author .wp-block-post-author__bio {
  font-size: var(--wp--preset--font-size--normal);
  line-height: var(--wp--custom--typography--line-height--body);
}
body.category .wp-block-term-description {
  font-size: var(--wp--preset--font-size--normal);
  line-height: var(--wp--custom--typography--line-height--body);
  margin-bottom: calc(var(--wp--preset--spacing--3, 1rem) * 3);
}

/* Header */
header.site-header {
  padding: 0 var(--wp--preset--spacing--4, 20px);
}
header.site-header .wp-block-search {
  max-width: 290px;
}
header.site-header .wp-block-search .wp-block-search__button {
  padding: 0;
  color: inherit;
}

/* Main */
main .wp-block-query .wp-block-post-title {
  padding: 0;
}
.single main {
  padding-top: 80px !important;
  margin-left: 55px !important;
}
/* Top-Button */
.scroll-to-top {
  /*background:var(--wp--preset--color--color-1);*/
  position: fixed;
  bottom:70px;
  right:1px;
  padding:10px;
  width:40px;
  height:40px;
  z-index: 999;
  border-radius: 100px;
}
/*a.scroll-to-top a {
  color: white;
  text-decoration: none;
  padding:10px !important;
}*/
.scroll-to-top .bi {
  color:var(--wp--preset--color--color-1);
  font-size: 40px;
  text-decoration: none;
}
.scroll-to-top span {
  position: absolute;
  text-indent: -9999px;
}

/* ----------- Footer ------------ */
/*.wp-site-blocks {
  position: relative;
}*/
footer.site-footer {
  margin-top: calc(var(--wp--preset--spacing--3, 1rem) * 3);
  padding: 0 var(--wp--preset--spacing--4, 20px);
  z-index: 2;
}

/* WordPress Blocks */
ul.wp-block-post-template {
  list-style: none;
  padding: 0;
}
ul.wp-block-post-template li {
  margin-bottom: calc(var(--wp--preset--spacing--3, 1rem) * 5);
}

.post-password-form p:nth-of-type(2) {
  display: flex;
  align-items: flex-end;
}
.post-password-form p:nth-of-type(2) label {
  min-width: 150px;
  margin-right: calc(var(--wp--preset--spacing--4, 20px) * 0.5);
}

[class*=comment-form-] {
  display: flex;
}
[class*=comment-form-] label {
  min-width: 150px;
  margin-right: calc(var(--wp--preset--spacing--4, 20px) * 0.5);
}

.comment-form-cookies-consent {
  display: block;
}
/* ----------- Mobiles Menü ------------ */
.wp-block-navigation__responsive-container.is-menu-open {
  height: 100vh !important;
  max-height: -webkit-fill-available !important;
}

.is-menu-open ul li a{
    font-size: 36px !important;
  }

button.wp-block-navigation__responsive-container-open svg,
button.wp-block-navigation__responsive-container-close svg {
  display: none !important;
}
button.wp-block-navigation__responsive-container-open:before {
  content:"+";
  font-size:64px;
  text-indent: 0;
  color:var(--wp--preset--color--color-1);
}
button.wp-block-navigation__responsive-container-close:before {
  content:"+";
  font-size:64px;
  text-indent: 0;
  color:var(--wp--preset--color--color-1);
  position: absolute;
  right:0;
  top:0;
  transform: rotate(0deg);
  -webkit-animation:spin 0.2s linear;
  -moz-animation:spin 0.2s linear;
  animation:spin 0.2s linear;
  -webkit-animation-fill-mode: forwards;
}
@-moz-keyframes spin {
  100% { -moz-transform: rotate(45deg); }
}
@-webkit-keyframes spin {
  100% { -webkit-transform: rotate(45deg); }
}
@keyframes spin {
  100% {
    -webkit-transform: rotate(45deg);
    transform:rotate(45deg);
  }
}
.wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper {
  border-color: var(--wp--preset--color--dark-gray);
}
.wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper input[type=search] {
  border: none !important;
}
.wp-block-search.wp-block-search__button-inside .wp-block-search__button {
  background: transparent;
  border: none;
}

.wp-block-navigation .wp-block-navigation-link.current-menu-item a,
.single-post .proj a,
.wp-block-navigation .wp-block-navigation-link a:focus a,
.wp-block-navigation .wp-block-navigation-link a:hover a {
  border-bottom: none;
  color: var(--wp--preset--color--color-2) !important;
}
.wp-block-navigation .wp-block-navigation-link.wp-block-navigation-link a {
  border-bottom: none;
  color: var(--wp--preset--color--color-1);
  font-weight: 300 !important;
}
header .wp-block-navigation .wp-block-navigation-link.wp-block-navigation-link a {
  font-size: 23px;
}
.wp-block-navigation .wp-block-navigation__responsive-container-close {
  position: fixed;
  top: var(--wp--preset--spacing--3, 1rem);
  right: var(--wp--preset--spacing--4, 20px);
}
.wp-block-navigation .hide {
  display: none !important;
}

.wp-block-query-pagination a {
  text-decoration: none;
}
.wp-block-query-pagination .wp-block-query-pagination-numbers .page-numbers:not(.dots) {
  display: inline-block;
  border: 1px solid;
  text-align: center;
  min-width: 30px;
}
.wp-block-query-pagination .wp-block-query-pagination-numbers .page-numbers:not(.dots).current {
  font-weight: bold;
}

.wp-block-post-navigation-link {
  margin: calc(var(--wp--preset--spacing--3, 1rem) * 2) 0;
  padding: 0 var(--wp--preset--spacing--4, 20px);
}
.wp-block-post-navigation-link.post-navigation-link-previous a::before {
  content: "«";
  display: inline-block;
  width: 20px;
}
.wp-block-post-navigation-link.post-navigation-link-next a::after {
  content: "»";
  display: inline-block;
  width: 20px;
  text-align: right;
}
.wp-block-post-featured-image img {
  width: 100%;
}
.wp-block-post-author__avatar .avatar {
  border-radius: 50%;
}
.wp-block-post-comments {
  margin-top: calc(var(--wp--preset--spacing--3, 1rem) * 3);
}
.wp-block-post-comments .comment-respond {
  margin-top: calc(var(--wp--preset--spacing--3, 1rem) * 3);
}
.wp-block-post-comments .nocomments {
  display: none;
}
.wp-block-separator {
  opacity: 1;
  border-width: 1px;
}
.wp-block-post-content .wp-block-separator {
  margin-top: calc(var(--wp--preset--spacing--3, 1rem) * 2);
  margin-bottom: calc(var(--wp--preset--spacing--3, 1rem) * 2);
}
.wp-block-table td,
.wp-block-table th {
  border: inherit;
}
.wp-block-image img,
.wp-block-image video,
.wp-block-media-text__media img,
.wp-block-media-text__media video {
  height: auto;
}

/**
 * Responsive Design (Block Library):
 * /wp-includes/css/dist/block-library/style.css
 */
@media (max-width: 999px) {
  input[type=text],
  input[type=password],
  input[type=url],
  input[type=email],
  input[type=tel],
  input[type=number],
  input[type=search] {
    width: 100%;
  }
}
@media (max-width: 599px) {
  /*header.site-header .wp-block-navigation .wp-block-navigation__container {
    width: 100%;
  }*/
  .site-header {
    position: absolute;
  }
  .custom-logo {
    width: 200px;
  }
  .logo {
    z-index: 100001;
  }
  .wp-block-navigation__responsive-container {
    z-index: 9999;
  }
  header.site-header .wp-block-navigation .wp-block-search {
    order: -1;
  }
  /*.single header.site-header {
    padding: 0 var(--wp--preset--spacing--4, 20px);
  }*/
  main [type=submit],
  main #submit {
    width: 100%;
  }
  .category main {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  .single main {
    padding-top: 20px !important;
    margin-left: 0 !important;
  }
  .page main{
    padding-left: 0 !important;
  }
  .home .site-footer nav a,
  .home .site-footer nav .wp-block-spacer {
    padding: 0.5rem 0;
  }
  .home footer.site-footer {
    bottom: 0;
  }
  footer.site-footer .wp-block-site-title,
  footer.site-footer [class*=has-text-align-] {
    text-align: center;
  }
  .site-footer .wp-block-group {
    justify-content: center;
    font-size: 14px;
  }
  /*footer.site-footer .wp-block-site-title,
  footer.site-footer .wp-block-navigation {
    width: 100%;
  }*/
  footer.site-footer .wp-block-site-title {
    margin-bottom: var(--wp--preset--spacing--3, 1rem);
  }
  footer.site-footer .wp-block-navigation {
    justify-content: center;
  }
  .wp-block-post-navigation-link {
    margin: var(--wp--preset--spacing--3, 1rem) 0;
    padding: 0 var(--wp--preset--spacing--4, 20px);
    text-align: center;
  }
  .wp-block-post-navigation-link.post-navigation-link-previous {
    margin-top: calc(var(--wp--preset--spacing--3, 1rem) * 3);
  }
  .wp-block-navigation .hide {
    display: block !important;
  }
  header.site-header .wp-block-navigation .wp-block-spacer {
    display: none !important;
  }
  .wp-block-navigation__responsive-container .wp-block-navigation__responsive-container-content {
    align-items:center !important;
    justify-content:center !important;
    font-size: 40px;
    height:85vh;
    padding-top: 0 !important;
  }
  .scroll-to-top {
    bottom: 30px;
  }
}

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