/*
Theme Name: SOWESPOKE
Theme URI: https://wordpress.org/themes/twentytwentyfour/
Template: twentytwentyfour
Author: SOWESPOKE
Author URI: https://www.sowespoke.com
Tags: one-column,custom-colors,custom-menu,custom-logo,editor-style,featured-images,full-site-editing,block-patterns,rtl-language-support,sticky-post,threaded-comments,translation-ready,wide-blocks,block-styles,style-variations,accessibility-ready,blog,portfolio,news
Version: 1.1.1718010624
Updated: 2024-06-10 11:10:24

*/

body {
	/*background: #efefef !important;*/
}

/* Optional nutzbare Klassen ************************************************ */

@media only screen and (max-width: 599px) {
	/* Mobil nicht anzeigen (nur auf Desktops) */

	.desktop {
		display: none !important;
	}
}

@media only screen and (min-width: 600px) {
	/* Desktop nicht anzeigen (nur auf mobil) */
	
	.mobil {
		display: none !important;
	}
}

@media only screen and (max-width: 599px) {
  /* Mehrspaltige Listen mobil umbrechen */
  /* Kein vertikaler Abstand bei Flexboxen (row-gap) */
  
  .mobile-list-nowrap {
    flex-wrap: wrap !important;
    row-gap: 0;
  }
}

.image-max-height-200 img {
  max-height: 200px;
  object-fit: contain !important;
}

.wp-block-button .wp-block-button__link {
  font-weight: 600 !important;
}

@media only screen and (max-width: 600px) {
  /* Blöcke mit Bild rechts */
  /* in der mobilen Ansicht Bilderblöcke nach oben verschieben */
  
  .col-mobile-top {
    order: -1;
  }
  
  .col-mobile-no-padding {
    padding: 0 !important;
  }
  
}

/* Inhalte ausblenden (blendet auch im Backend aus!) */
.hidden,
.content-hidden {
	display: none !important;
}

/* Header ******************************************************************* */

header .sws-header-meta.mobil {
	margin-top: 0;
	padding-top: 1.2rem;
}

header .sws-header-meta a {
  text-decoration: none;
}

header .sws-header-meta a:hover {
  text-decoration: underline;
}

.sws-header-spacer {
  height: 1em !important;
}

.wp-block-search.wp-block-search__button-only .wp-block-search__button {
  background-color: transparent;
}

@media only screen and (max-width: 600px) {
  .sws-header-group {
    background-color: var(--wp--preset--color--accent);
    background-image: none !important;
    padding-top: 0.5rem !important;
  }

  header .wp-block-post-featured-image {
    display: none;
  }

  header .wp-block-navigation__responsive-container-open svg {
    height: 42px;
    width: 42px;
  }

  header .sws-header-search {
    display: none;
  }
}

/* Header: WPML-Sprachumschalter */

.sws-header-meta .wpml-language-switcher-block {
	width: auto !important;
}

.wpml-language-switcher-block ul.hasSpacing.isHorizontal li:not(:last-child) {
	--language-spacing: -8px !important;
}

.wpml-language-switcher-block .wp-block-navigation-item {
	margin-top: 5px !important;
	text-transform: uppercase;
}

.wpml-language-switcher-block .wp-block-navigation-item::before {
	content: '/';
	color: var(--wp--preset--color--base);
	margin-right: 5px;
}

.wpml-language-switcher-block .wp-block-navigation-item:first-child::before {
	content: '';
}

.wpml-language-switcher-block .wp-block-navigation-item[data-wpml="current-language-item"] {
	font-weight: bold;
}

@media only screen and (max-width: 599px) {
	.wpml-language-switcher-block {
		display: none;
	}
}


/* Navigation *************************************************************** */

/* Mainnav: Mobil */

@media only screen and (max-width: 599px) {

  .block-logo-nav {
    gap: 2em;
  }
  
  .block-logo-nav nav {
    border: 2px solid var(--wp--preset--color--base);
  }

  .wp-block-navigation__responsive-container.is-menu-open .wp-block-outermost-icon-block {
    background-color: var(--wp--preset--color--accent-2);
  }

  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > a {
  background-color: var(--wp--preset--color--accent-2) !important;
  color: var(--wp--preset--color--base);
  padding: 0.4em 0.8em;
}

  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .has-child .wp-block-navigation__submenu-container {
    padding-bottom: 1.5em;
    padding-right: 0;
    padding-top: 0.5em;
    text-transform: none;
  }

  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content > ul > li.wp-block-navigation-item:not(.has-child) {
    margin-bottom: 1.5em;
  }

  .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-container li a {
  }
}

/* Mainnav: Desktop */

@media only screen and (min-width: 600px) {

  .sws-nav-main a:hover {
    text-decoration: none;
  }

  .sws-nav-main .wp-block-navigation .wp-block-navigation__submenu-icon {
    margin-right: 0.25em;
  }

  .sws-nav-main.wp-block-navigation .wp-block-navigation-item {
    background-color: #609274 !important;
    margin: 5px;
    -webkit-box-shadow: 0px 3px 5px -3px #000;
    box-shadow: 0px 3px 5px -3px #000;
    text-shadow: none;
  }
	
  .sws-nav-main.wp-block-navigation .wp-block-navigation-item a {
    padding: 0.25em 0.5em;
  }

  .sws-nav-main.wp-block-navigation .wp-block-navigation-item a:hover {
    background-color: var(--wp--preset--color--accent);
    color: var(--wp--preset--color--contrast);
  }

/* Mainnav → Sub */

  .sws-nav-main.wp-block-navigation .wp-block-navigation-submenu .wp-block-navigation-item a {
    text-transform: none !important;
  }

  .sws-nav-main.wp-block-navigation .wp-block-navigation-submenu .wp-block-navigation-item {
    background: none !important;
    box-shadow: unset;
  }

  .sws-nav-main.wp-block-navigation .wp-block-navigation-item .wp-block-navigation-submenu a {
    color: var(--wp--preset--color--contrast) !important;
  }


  .sws-nav-main.wp-block-navigation .wp-block-navigation-item .wp-block-navigation-submenu a:hover {
    background-color: var(--wp--preset--color--accent);
  }

  .sws-nav-main.wp-block-navigation .wp-block-navigation-item .wp-block-navigation-submenu .wp-block-navigation-item.current-menu-item::after {
    content: '🡨';
    color: var(--wp--preset--color--contrast);
  }

}

/* Footer */

footer nav.wp-block-navigation ul {
  list-style: none;
  padding-left: 30px;
  row-gap: 0.3em;
}

footer nav.wp-block-navigation ul li.wp-block-navigation-item {
  display: relative;
}

footer nav.wp-block-navigation ul li.wp-block-navigation-item::before {
  color: var(--wp--preset--color--accent);
  content: "»";
  font-size: 1.5em;
  position: absolute;
  left: -30px;
  line-height: 1em;
  top: 0;
}

/* Responsive-Container */

.wp-block-navigation__responsive-container {
  color: var(--wp--preset--color--contrast) !important;
}

/* Überschriften ************************************************************ */

/* Überschriften mit Hintergrund */

h1.has-background,
h2.has-background,
h3.has-background,
h4.has-background,
h5.has-background,
h6.has-background {
	padding: 0.35em 0.65em;
}

/* Buttons ****************************************************************** */

a.wp-block-button__link:hover {
  background-color: var(--wp--preset--color--accent-3);
  color: var(--wp--preset--color--base);
}


/* Grid ********************************************************************* */

.sws-grid.wp-block-gallery.has-nested-images figure.wp-block-image,
.sws-figcaption figure.wp-block-image {
  flex-grow: 0;
  overflow: hidden;
  position: relative;
}

.sws-figcaption.wp-block-gallery.has-nested-images figure.wp-block-image figcaption,
.sws-figcaption figure.wp-block-image figcaption {
  background: none;
  bottom: 0;
  font-size: 1em;
  margin: 0;
  overflow: visible;
  padding: 0;
  position: absolute;
  text-align: left;
  text-shadow: none;
}
.sws-figcaption.wp-block-gallery.has-nested-images figure.wp-block-image figcaption a {
  text-decoration: none;
}

.sws-figcaption.wp-block-gallery.has-nested-images figure.wp-block-image figcaption span,
.sws-figcaption figure.wp-block-image figcaption span {
  background: var(--wp--preset--color--accent);
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
  color: var(--wp--preset--color--contrast);
  display: inline;
  font-size: 1.75em;
  font-weight: bold;
  line-height: 1.25em;
  padding: 0.3rem;
}

.sws-figcaption.wp-block-gallery.has-nested-images figure.wp-block-image figcaption span,
.sws-figcaption figure.wp-block-image figcaption span a {
	display: inline;
}

@media only screen and (max-width: 600px) {

  .sws-figcaption.wp-block-gallery.has-nested-images figure.wp-block-image figcaption span,
  .sws-figcaption figure.wp-block-image figcaption span {
    font-size: 1.35em;
    line-height: 1.15em;
  }
  
}

/* Blur-Effekt entfernen */
.wp-block-gallery.has-nested-images figure.wp-block-image:has(figcaption)::before {
  content: none;
}

/* SWS-Leistungen *********************************************************** */

.sws-leistungen h2:first-of-type {
  text-wrap: nowrap;
}

/* Listen ******************************************************************* */

main ol {
  counter-reset: sws-counter;
  list-style: none;
  padding-left: 2.5em;
}

main ol li {
  counter-increment: sws-counter;
  margin-bottom: 1em;
  position: relative;
}

main ol li::before {
  --sws-ol-base: 1em;
  background-color: var(--wp--preset--color--accent);
  color: var(--wp--preset--color--base);
  content: counter(sws-counter);
  display: block;
  font-size: calc(var(--sws-ol-base)*0.65);
  font-weight: bold;
  left: calc(-1 * var(--sws-ol-base) - 2.75em);
  line-height: var(--sws-ol-base);
  height: var(--sws-ol-base);
  padding: calc(var(--sws-ol-base)*0.325);
  position: absolute;
  text-align: center;
  top: calc(var(--sws-ol-base)/2.5);
  width: var(--sws-ol-base);
}

main ul,
main ul.wp-block-list {
  list-style: none;
  padding-left: 2.5em;
}

main ul li {
  margin-bottom: 1em;
  position: relative;
}

main ul li::before {
  --sws-ol-base: 1em;
  background-color: var(--wp--preset--color--accent);
  color: var(--wp--preset--color--base);
  content: ">";
  display: block;
  font-size: calc(var(--sws-ol-base)*0.65);
  font-weight: bold;
  left: calc(-1 * var(--sws-ol-base) - 2.75em);
  line-height: var(--sws-ol-base);
  height: var(--sws-ol-base);
  padding: calc(var(--sws-ol-base)*0.325);
  position: absolute;
  text-align: center;
  top: calc(var(--sws-ol-base)/2.5);
  width: var(--sws-ol-base);
}

main .wp-block-social-links ul li::before {
  content: none !important;
}

/* Blog: Latest Posts * */

.wp-block-latest-posts.sws-blog-home {
  /*background: lime;*/
  
}

.wp-block-latest-posts.sws-blog-home img {
  height: 18rem;
  object-fit: cover;
  width: 100%;
}

.wp-block-latest-posts.sws-blog-home .wp-block-latest-posts__post-title {
  border-left: 7px solid var(--wp--preset--color--accent);
  display: block;
  font-size: 2em;
  margin: 1em 0 0.75em 0;
  padding-left: 0.3em;
  text-decoration: none;
}

.wp-block-latest-posts__post-excerpt a {
  border-bottom: 4px solid var(--wp--preset--color--accent-3);
  display: table;
  font-size: 1.5em;
  margin-top: 1em;
  text-decoration: none;
}

.wp-block-latest-posts__post-excerpt a::after {
  content: " »";
}

.wp-block-latest-posts.sws-blog-home li::before {
  content: none;
}

/* Teaser ******************************************************************* */

@media only screen and (max-width: 600px) {

  .sws-teaser figure,
  .sws-teaser .wp-block-group {
    flex-basis: 100% !important;
  }
  
  .sws-teaser figure {
    margin-bottom: 2em;
  }

}

/* Intro ******************************************************************** */

@media screen and (min-width: 600px) {
    .sws-intro {
    	align-items: flex-start;
    	background-color: lime;
    	display: flex;
    	/*flex-direction: column;*/
    	flex-wrap: wrap;
    	gap: 20px;
    }
    
    .sws-intro > * {
    	background-color: fuchsia;
    	margin: unset !important;
    }
    
    .sws-intro figure {
    	order: -1;
    }
}


/* Trenner ****************************************************************** */

@media only screen and (max-width: 600px) {

  .wp-block-separator {
    margin-bottom: 2.5rem !important;
    margin-top: 2.5rem !important;
  }

}

/* Formulare **************************************************************** */

.wpcf7-form p:first-of-type {
  margin-top: 0;
}

.wpcf7-form .wpcf7-text,
.wpcf7-form .wpcf7-tel,
.wpcf7-form .wpcf7-email,
.wpcf7-form textarea {
  box-sizing: border-box;
  padding: 0.5em;
  width: 100%;
}

.wpcf7-form select {
  padding: 0.5em;
}

.wpcf7-form .wpcf7-submit {
  background-color: transparent;
  border: 2px solid var(--wp--preset--color--accent-3);
  color: var(--wp--preset--color--accent-3);
  font-size: var(--wp--preset--font-size--medium);
  font-weight: 600;
  padding: 0.5em 1em;
}

.wpcf7-form .wpcf7-submit:hover {
  background-color: var(--wp--preset--color--accent-3);
  color: var(--wp--preset--color--base);
}

.form-invisible {
display:none; }

/* Footer ******************************************************************* */

footer a {
  text-decoration: none;
}

footer a:hover,
footer a:focus {
  text-decoration: underline;
}

/* Events */

.sws-event {
  border: 2px solid var(--wp--preset--color--accent-3);
  padding: 0.5em 0.5em;
}

.sws-event::before {
  content: "Next »";
  color: var(--wp--preset--color--accent-3);
  font-weight: bold;
}

/* Elemente für besondere Seiten ############################################ */

/* Partnerschaften ********************************************************** */

@media only screen and (max-width: 600px) {
  .gallery-partnerschaften {
    gap: 40px !important;
  }

  .gallery-partnerschaften img {
    max-width: 225px !important;
  }
}


