/*
Theme Name: Ermshausen Theme
Author: feuerball design
Author URI: https://feuerball.de
Description: Theme für ermshausen.com
Requires at least: 6.9
Tested up to: 6.9
Requires PHP: 7.2
Version: 1.1.9
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: red-wednesday-theme
*/

/*
Color scheme:
#000000: base - schwarz
#ffffff: contrast - weiss
#223c7d: accent-1 - Blau
#b7bf10: accent-2 - Grün
#e5d7c5: accent-3 - Sand
*/

/*
* Typewriter Effect
https://css-tricks.com/snippets/css/typewriter-effect/
*/

/*
 * Link styles
 * https://github.com/WordPress/gutenberg/issues/42319
 */
a {
	text-decoration-thickness: 1px !important;
	text-underline-offset: .1em;
}

/* Focus styles */
/*
:where(.wp-site-blocks *:focus) {
	outline-width: 2px;
	outline-style: solid;
}
*/

/* Increase the bottom margin on submenus, so that the outline is visible. */
.wp-block-navigation .wp-block-navigation-submenu .wp-block-navigation-item:not(:last-child) {
	margin-bottom: 3px;
}

/* Increase the outline offset on the parent menu items, so that the outline does not touch the text. */
.wp-block-navigation .wp-block-navigation-item .wp-block-navigation-item__content {
	outline-offset: 4px;
}

/* Remove outline offset from the submenus, otherwise the outline is visible outside the submenu container. */
.wp-block-navigation .wp-block-navigation-item ul.wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	outline-offset: 0;
}

/*
 * Progressive enhancement to reduce widows and orphans
 * https://github.com/WordPress/gutenberg/issues/55190
 */
h1, h2, h3, h4, h5, h6, blockquote, caption, figcaption, p {
	text-wrap: pretty;
}

/*
 * Change the position of the more block on the front, by making it a block level element.
 * https://github.com/WordPress/gutenberg/issues/65934
*/
.more-link {
	display: block;
}

html {
	scroll-behavior: smooth;
}

/* Nutzbar ab Internet Explorer 9 oder höher */
.visually-hidden:not(:focus):not(:active) {
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    height: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px;
}

strong, b {
	font-weight: 600;
}

:root {
	--red-header-height: 157px;
}

.wp-block-navigation .wp-block-navigation-item.current-menu-item > .wp-block-navigation-item__content {
	color: var(--wp--preset--color--accent-2);
}

footer .wp-block-navigation .wp-block-navigation-item.current-menu-item > .wp-block-navigation-item__content {
	color: var(--wp--preset--color--contrast);
}

.wp-block-site-logo {
	margin-left: auto !important;
	margin-right: var(--wp--style--root--padding-left) !important;
	padding-bottom: 0;
	height: 119px;
}

.wp-block-site-logo.is-default-size img {
	width: 200px;
}

header {
	min-height: 170px;
}

header > .wp-block-group.has-global-padding {
	padding-right: 0;
	padding-left: 0;
}

header > .wp-block-group > .wp-block-group > .wp-block-group {
	gap: 0;
}

.wp-block-navigation__responsive-container-open.wp-block-navigation__responsive-container-open.wp-block-navigation__responsive-container-open {
	transform: scale(1.8, 1.4);
	position: absolute;
	top: 0px;
	left: 32px;
}

.wp-block-navigation__responsive-container-open.wp-block-navigation__responsive-container-open.wp-block-navigation__responsive-container-open svg path {
	fill: var(--wp--preset--color--accent-2);
	stroke: var(--wp--preset--color--accent-2);
    stroke-width: 1px;
    stroke-linecap: round;
}

header .wp-block-navigation .wp-block-navigation__container > .wp-block-navigation-item {
	padding-right: 2rem;
	padding-left: 2rem;
}

:root :where(.wp-block-navigation a:where(:not(.wp-element-button))) {
	padding-left: 0;
	padding-right: 0;
}

.wp-block-navigation:not(.has-text-color) .wp-block-navigation__submenu-container {
	color: var(--wp--preset--color--accent-1);
}

:root header :where(.wp-block-navigation a:where(:not(.wp-element-button)):hover) {
	color: var(--wp--preset--color--accent-2) !important;
}

html.has-modal-open {
	overflow: inherit;
}

header > .wp-block-group > .wp-block-group > .wp-block-group,
header .has-expandable-modal-submenus.wp-block-navigation,
.wp-block-navigation__responsive-container.is-menu-open,
.wp-block-navigation__responsive-container .wp-block-navigation__container {
	width: 100%;
}

.wp-block-navigation__responsive-container {
	position: static;
}

.wp-block-navigation__responsive-container .wp-block-navigation__container {
	gap: 0;
}

header .wp-block-navigation .wp-block-navigation__responsive-container .wp-block-navigation__container > .wp-block-navigation-item {
	padding-top: .25rem;
	padding-bottom: .1rem;
	border-top: 1px solid var(--wp--preset--color--accent-3);
	width: 100%;
	box-sizing: border-box;
}

header .wp-block-navigation .wp-block-navigation__responsive-container .wp-block-navigation__container > .wp-block-navigation-item:last-child {
	border-bottom: 1px solid var(--wp--preset--color--accent-3);
}

.wp-block-navigation-overlay-close {
	background: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--accent-2);
	transform: scale(1.2);
	padding: .5rem;
	position: relative;
	top: -10px;
	left: 28px;
}

.wp-block-navigation-overlay-close:before {
	content: "";
	display: block;
	width: 24px;
	height: 24px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 352 512'%3E%3Cpath fill='%23b7bf10' d='M242.72 256l100.07-100.07c12.28-12.28 12.28-32.19 0-44.48l-22.24-22.24c-12.28-12.28-32.19-12.28-44.48 0L176 189.28 75.93 89.21c-12.28-12.28-32.19-12.28-44.48 0L9.21 111.45c-12.28 12.28-12.28 32.19 0 44.48L109.28 256 9.21 356.07c-12.28 12.28-12.28 32.19 0 44.48l22.24 22.24c12.28 12.28 32.2 12.28 44.48 0L176 322.72l100.07 100.07c12.28 12.28 32.2 12.28 44.48 0l22.24-22.24c12.28-12.28 12.28-32.19 0-44.48L242.72 256z'/%3E%3C/svg%3E") no-repeat center center;
}

.wp-block-navigation-overlay-close svg {
	display: none;
}

.wp-block-navigation__responsive-container-content .has-expandable-modal-submenus.wp-block-navigation {
	margin-top: 0;
}

.wp-block-navigation.has-expandable-modal-submenus .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .has-child .wp-block-navigation-submenu__toggle[aria-expanded="true"] ~ .wp-block-navigation__submenu-container {
	position: static;
	border: 0;
}

.wp-block-navigation.has-expandable-modal-submenus .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item__content {
	padding-right: .5rem !important;
}

.wp-block-navigation.has-expandable-modal-submenus .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding-left: 0;
	padding-right: 0;
}

.wp-block-navigation .wp-block-navigation-submenu .wp-block-navigation-item {
	padding-left: 1rem;
	padding-top: .5rem;
}

.wp-block-navigation .wp-block-navigation-submenu .wp-block-navigation-item:last-child {
	margin-bottom: .25rem;
}


header > .wp-block-group > .wp-block-group {
	flex-wrap: wrap !important;
	flex-direction: column-reverse;
	align-items: baseline;
	gap: .9rem;
}

#header-search {
	display: none;	
}

#header-search {
	position: absolute;
	top: 114px;
	left: 120px;
	z-index: 999999;
}

.wp-block-search__inside-wrapper .wp-block-search__button svg {
	transform: scaleX(-1);
	min-height: 40px !important;
	min-width: 40px !important;
}

header .wp-block-group.is-vertical {
	flex-direction: row-reverse;
	justify-content: start;
}

header .wp-block-group.is-vertical > .wp-block-group {
	flex-wrap: nowrap;
	align-items: flex-start;
}

.search-menu {
	position: absolute;
	top: 132px;
	left: 78px;
	z-index: 999999;
}

.icon-link {
	display: block;
	line-height: 1;
}

.cp-icon {
	display: block;
	width: 24px;
	height: 24px;
	color: var(--wp--preset--color--accent-1);
}

.cp-icon {
	display: inline-block;
}

.cp-icon.icon-search {
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23b7bf10' d='M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376C296.3 401.1 253.9 416 208 416 93.1 416 0 322.9 0 208S93.1 0 208 0 416 93.1 416 208zM208 352a144 144 0 1 0 0-288 144 144 0 1 0 0 288z'/%3E%3C/svg%3E") no-repeat center center;
}

#header-search {
	margin: 0;
	background-color: var(--wp--preset--color--accent-1);
	font-size: var(--wp--preset--font-size--small);
	max-width: none;
}


#header-search.is-open {
	display: block;
	max-width: 200px;
	margin-top: 10px;
}

#header-search :where(.wp-element-button, .wp-block-button__link) {
	border-radius: 0;
	margin-left: 0;
}

#header-search :where(.wp-block-search__button-inside .wp-block-search__inside-wrapper) .wp-block-search__input {
	padding: 0 1rem;
}



.entry-content {
	margin-top: 3.5rem;
}

.entry-content:has( > .slick-slider),
.entry-content:has( > .erms-panorama) {
	margin-top: .75rem;
}

h1 ~ * {
	margin-top: 11px !important;
}

h2 ~ p,
p ~ p {
	margin-top: 1rem !important;
	hyphens: auto;
}

.slick-slide {
	position: relative;
}

.slick-slide .wp-block-image {
	margin-top: 0!important;
}

ul.wp-block-list {
	list-style: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='utf-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 68.8 55.8' width='12px' height='9px'%3E%3Crect width='68.75' height='43.75' style='fill: rgb(183  191  16)%3B'/%3E%3C/svg%3E");
	padding-left: 1.2rem;
}

ul.wp-block-list li {
	position: relative;
	margin-bottom: 13px;
	line-height: 1.25rem;
    padding-inline-start: .45rem;
}
	
ul.wp-block-list li::marker {
}

.erms-slider-heading {
	position: absolute;
	top: 1.8rem;
	left: var(--wp--style--root--padding-left);
}

.erms-slider-heading.has-xxx-large-font-size {
	font-size: var(--wp--preset--font-size--xx-large) !important;
}

.slick-slide img {
	height: 480px;
}

.erms-slider-title {
	position: absolute;
	bottom: 6rem;
	right: var(--wp--style--root--padding-right);
	font-size: 1.25rem !important;
	max-width: calc(100% - var(--wp--style--root--padding-right) - var(--wp--style--root--padding-left) - 1.5rem);
}

.erms-slider-link {
	position: absolute;
	bottom: 4.1rem;
	right: var(--wp--style--root--padding-right);
}

.editor-styles-wrapper .erms-slider-title,
.editor-styles-wrapper .erms-slider-link {
	right: 0;
}

.erms-slider-link a {
	text-decoration: none;
}

.erms-panorama {
	position: relative;
	height: 0;
	overflow: hidden;
	width: 100%;
	height: 600px;
}

.erms-panorama iframe {
	z-index: 1;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.erms-overlay {
	position: relative;
	width: 100%;
	height: 100%;
}

.erms-overlay h2 {
	font-size: 1.375rem;
}

.erms-overlay h2 a,
.wp-block-cover p a {
	text-decoration: none;
}

.erms-overlay h2 a::before,
.wp-block-cover p a::before {
	content: "";
	display: flex;
	position: absolute;
	inset: 0;
	cursor: pointer;
	z-index: 2;
}

.erms-overlay .wp-block-image {
	margin-top: 0;
	overflow: hidden;
}

.erms-mt-0 {
	margin-top: 0 !important;
}

.erms-mt-045 {
	margin-top: 0.45rem !important;
}

.wp-block-cover .wp-block-cover__inner-container {
	position: relative;
	width: 100%;
	height: 100%;
	align-content: center;
}

footer {
	margin-top: .5rem;
}

footer .wp-block-columns > .wp-block-column > .wp-block-group {
	flex-wrap: wrap;
}

footer .wp-block-columns > .wp-block-column > .wp-block-group .wp-block-image {
	flex-basis: 260px;
	flex-grow: 0;
}

footer .wp-block-navigation ul {
	font-weight: 500;
	font-size: var(--wp--preset--font-size--small);
}



/* Reset core style */
@media (min-width: 600px) {
	.wp-block-navigation__responsive-container-open:not(.always-shown) {
		display: flex;
	}

    .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
        display: none;
    }
}


@media (min-width: 468px) {

	#header-search.is-open {
		max-width: 640px;
	}

	.slick-slide img {
		width: 100%;
	}
	
	.erms-slider-title {
		position: absolute;
		bottom: 7rem;
		font-size: var(--wp--preset--font-size--x-large) !important;
	}

	.erms-slider-link {
		position: absolute;
		bottom: 5.1rem;
		right: 7rem;
	}
	
}

@media (min-width: 600px) {

	header .wp-block-search {
		display: block;
	}

	.erms-slider-heading {
		position: absolute;
		top: 3rem;
	}
	
	.erms-slider-heading.has-xxx-large-font-size {
		font-size: var(--wp--preset--font-size--xxx-large) !important;
	}

	.editor-styles-wrapper .erms-slider-title {
		right: 0;
	}
	
	.erms-projects.wp-block-columns > .wp-block-column {
		flex-basis: calc(50% - .9rem) !important;
		flex-grow: 0;
	}
	
	footer .wp-block-columns > .wp-block-column > .wp-block-group {
		flex-wrap: nowrap;
	}
}

@media (min-width: 782px) {
	
	.wp-block-columns > .wp-block-column .wp-block-image,
	.wp-block-columns > .wp-block-column .wp-block-image img {
		height: 100%;
	}

	.entry-content .wp-block-columns > .wp-block-column .wp-block-image.erms-full-height {
		position: relative;
	}

	.entry-content .wp-block-columns > .wp-block-column .wp-block-image img {
		width: 100%;
	}

	.entry-content .wp-block-columns > .wp-block-column .wp-block-image.erms-full-height img {
		position: absolute;
		top: 0;
		height: 100%;
		object-fit: cover;
	}
	
	.erms-projects.wp-block-columns {
		flex-wrap: wrap !important;
	}

	footer > .wp-block-group > .wp-block-columns .wp-block-column:last-child {
		justify-content: end;
		display: flex;
	}
	
}

/* Apply the core style at 1024px again */
@media (min-width: 1024px) {

	.wp-block-navigation__responsive-container-open:not(.always-shown) {
		display: none;
	}
	
    .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
        display: block;
    }
	
	
	header {
		min-height: 165px;
	}
	
	header > .wp-block-group > .wp-block-group {
		position: relative;
		flex-wrap: nowrap !important;
		flex-direction: inherit;
		align-items: inherit;
		gap: 1.8rem;
	}
	
	header .has-expandable-modal-submenus.wp-block-navigation {
		margin-top: 133px;
	}	

	header > .wp-block-group.has-global-padding {
		padding-right: var(--wp--style--root--padding-right);
		padding-left: var(--wp--style--root--padding-left);
	}
	
	.wp-block-navigation .has-child:not(.open-on-click):hover > .wp-block-navigation__submenu-container {
		padding-top: .75rem;
		padding-bottom: 0;
		border-left: 0;
		border-right: 0;
		border-top: 0;
		border-bottom: 1px solid #e5d7c5;
		min-width: 320px;
	}

	header > .wp-block-group > .wp-block-group > .wp-block-group,
	header .has-expandable-modal-submenus.wp-block-navigation,
	.wp-block-navigation__responsive-container.is-menu-open,
	.wp-block-navigation__responsive-container .wp-block-navigation__container {
		width: inherit;
	}
	
	header .wp-block-navigation .wp-block-navigation__responsive-container .wp-block-navigation__container > .wp-block-navigation-item {
		border-top: 0;
		width: auto;
	}

	header .wp-block-navigation .wp-block-navigation__responsive-container .wp-block-navigation__submenu-container > .wp-block-navigation-item:first-child {
		border-top: 1px solid #e5d7c5;
	}

	header .wp-block-navigation .wp-block-navigation__responsive-container .wp-block-navigation__container > .wp-block-navigation-item:last-child {
		border-bottom: 0;
	}
		
	.wp-block-navigation .wp-block-navigation-submenu .wp-block-navigation-item {
		padding-left: 0;
		padding-top: 0;
	}

	.wp-block-navigation .wp-block-navigation-submenu .wp-block-navigation-item:last-child {
		margin-bottom: 0;
	}
	
	.wp-block-navigation .wp-block-navigation-submenu .wp-block-navigation-item:not(:last-child) {
		border-bottom: 1px solid var(--wp--preset--color--accent-3);
		margin-bottom: 0;
	}

	header .wp-block-navigation .wp-block-navigation__container > .wp-block-navigation-item {
		padding-right: .75rem;
		padding-left: .75rem;
	}
	
	.wp-block-navigation .has-child .wp-block-navigation__submenu-container > .wp-block-navigation-item > .wp-block-navigation-item__content {
		padding: .15rem 1em;
	}

	.wp-block-site-logo {
		position: absolute;
		right: 0;
		top: 0;
		height: inherit;
		margin-right: 0 !important;
	}

	.wp-block-site-logo.is-default-size img {
		width: 225px;
	}
		
	header {
		min-height: none;
	}
	
	header > .wp-block-group.has-global-padding {
		padding-left: 2.45rem;
	}

	header > .wp-block-group > .wp-block-group {
		align-items: flex-end;
	}
	
	header .wp-block-group.is-vertical {
		flex-direction: column;
	}
	
	header .wp-block-group.is-vertical > .wp-block-group {
		flex-wrap: nowrap;
		align-items: flex-end;
	}
	
	.search-menu {
		position: absolute;
		top: 99px;
		left: 15px;
	}

	#header-search {
		position: absolute;
		top: 79px;
		left: 62px;
	}

	.slick-slide img {
		height: inherit;
	}
	
	.erms-overlay:not(.slick-slide) .wp-block-image img,
	.wp-block-cover .wp-block-cover__image-background {
		transition: transform .5s;
	}

	.erms-overlay:not(.slick-slide):hover .wp-block-image img,
	.wp-block-cover .wp-block-cover__image-background:has(+ .wp-block-cover__background + .wp-block-cover__inner-container p a:hover) {
		transform: scale(1.05);
	}
	
	.erms-projects.wp-block-columns {
		flex-wrap: nowrap !important;
	}
	
	.erms-projects.wp-block-columns > .wp-block-column {
		flex-basis: 100% !important;
		flex-grow: 1;
	}

}


@media (min-width: 1280px) {
	
	header > .wp-block-group.has-global-padding {
		padding-left: var(--wp--style--root--padding-left);
	}

}


/* Apply the core style at 1480px again */
@media (min-width: 1480px) {
	
	.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
		max-width: 1380px;
	}
	
}