/*
Theme Name: tt5-child
Description: Ein Child-Theme für Twenty Twenty-Five
Author: Fabian Ewert
Author URI: https://fine-edge.de
Template: twentytwentyfive
Version: 1.0.0
Text Domain: tt5-child
*/


body, button, input, textarea{

}

a:focus, button:focus {
	outline: none;
	/* Entfernt die Umrandung */
}



.website-title {
  margin: 0;
  padding: 0;
  line-height: 0.8;
  font-size: 30px;
  color: #222;
  letter-spacing: -1px;
}

.website-title-link {
  line-height: 1;
  text-decoration: none;
  color: inherit;
  display: inline-block;
  font-family: 'IBM Plex Sans Custom', sans-serif;
}

.website-title-bold {
  font-weight: 700;
}


.website-title-line-2 {
  font-family: 'IBM Plex Sans Custom';
  font-weight: 400 !important;
  font-size: 14px;  
  line-height: 1.1;
  color: #6B3D0F;
  padding-left: 2px;
  letter-spacing: 1.8px; 
  display: block;
  margin: 0 !important;
  
}





.hamburger {
	position: absolute;
	top: -98px;
	right: 50px;
	z-index: 1100;	/* Sehr hoch, damit immer anklickbar */
	width: 40px;
	height: 40px;
	background: none;
	border: none;
	cursor: pointer;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 7px;
	background-color: #fff;
}
.hamburger span {
	display: block;
	width: 28px;
	height: 3px;
	background: #6b3d0f;
	border-radius: 2px;
	/*transition: all 0.5s cubic-bezier(.4,2,.6,1);*/
	transition: all ease .3s;
}

/* Hamburger zu X animieren */

.hamburger.active span:nth-child(1) {
	transform: translateY(10px) rotate(45deg);
}
.hamburger.active span:nth-child(2) {
	opacity: 0;
}
.hamburger.active span:nth-child(3) {
	transform: translateY(-10px) rotate(-45deg);
}
@media (max-width: 600px) {
	.hamburger {
		
		right: 10px;
	}
}
@media (max-width: 350px) {
	.hamburger {
		top: 10px;
		right: 10px;
		margin-bottom: 15px;
	}
}

/* Menü-Container */

nav.top-menu {
	position: relative;
	z-index: 1000;
	overflow: hidden;
	max-height: 0;	/* tatsächlich wichtig */
	opacity: 0;
	visibility: hidden;
	margin: 0;
	top: -30px;
	width: 80%;
	right: 10%;
	/*  padding: darf hier nicht sein, denn sonnst ruckelt das Menü beim Schließen */
}
nav.top-menu ul {
	list-style: none;
	margin: 0;
	padding: 24px 0 12px 20px;
}
nav.top-menu li {
	display: block;
	width: 100%;
	border-bottom: 1px solid #966B15;
}
nav.top-menu li:last-child {
	width: calc(100% - 35px);
	margin-bottom: 35px;
}
nav.top-menu li a, nav.top-menu li a:visited {
	display: block;
	color: #333;
	text-decoration: none;
	padding: 8px 16px;
}
nav.top-menu a:hover, .topmenu a:active {
	color: #966b15 !important;
}
.menu-icon {
	position: relative;
	padding-left: 35px !important;
}

.email-flag::before {
	content: "";
	position: absolute;
	top: 14px;
	left: 18px;
	width: 20px;
	height: 12px;
	background-image: URL(https://fine-edge.de/pics/emailflag.svg);
	background-size: 20px 12px;
	background-repeat: no-repeat;
	opacity: 0.5;
	pointer-events: none;
	z-index: 0;
}




/*-------------*/








/* Bild (svg) der E-Mail-Adresse (Text)*/

.email-pic {
	margin: 4px 0 30px 1px;
	width: 226px;
	max-width: 226px;
	height: auto;
}
/*Allgemeiner Button-Hover-Effekt*/
.wp-block-button a:hover {
  background-color: #668702; 
  color: #ffffff; 
}
/* styling für den E-Mail-Button ist wichtig, weil dieser per Shortcode eingebettet wird */
.fab-emailButton {
	margin: 0 auto;
	padding: 0;
	cursor: pointer;
	text-align: center;
	color:#eee;
	background-color: #333;
	border-radius: 4px;
	width: 100px;
	height: 40px;
	line-height:2.5;
	margin-top: 30px;
	margin-bottom: 20px;
}

.fab-emailButton:hover {
	background-color: #668702;
	color:#fff;

	
}

/*back to top button*/

#scrollDiv {
	width: 40px;
	height: 40px;
	display: none;
	position: fixed;
	bottom: 40px;
	right: 40px;
	cursor: pointer;
	border-radius: 50%;
	border: 0px solid #966b15;
	box-shadow: 0 0 0 #ccc;
}
nav.fab-footermenu {
	gap: inherit;
}
	
nav.fab-footermenu ul li{
	padding-right: 20px;
}	
nav.fab-footermenu ul li:last-child {
	padding-top: 2px;
	padding-bottom: 2px;
	padding-right: 0px;
	padding-left:20px;
	border-left:1px solid #fff;
}
	
	
	
/* zeigt die FLEX-Galerie 
###################################################################################
####################################################################################
*/




.fab-gallery {
	display: flex;
	flex-wrap: wrap;
	/*sorgt dafür, dass die Bilder in die nächste Reihe umgebrochen werden, wenn der Platz nicht ausreicht.*/
	
}
.fab-gallery-pic {
	flex: 1 1 calc((100% - 48px)/5);
	/* 5 Bilder pro Zeile */
	max-width:calc((100% - 48px)/5)!important;
	box-sizing: border-box;
	
}

@media (max-width: 600px) {
	.fab-gallery-pic {
		flex: 1 1 calc((100% - 36px)/4);
		/* 3 Bilder pro Zeile */
		max-width:calc((100% - 36px)/4)!important;
		box-sizing: border-box;
	}
}
@media (max-width: 480px) {
	.fab-gallery-pic {
		flex: 1 1 calc((100% - 24px)/3);
		/* 3 Bilder pro Zeile */
		max-width:100%!important;
		box-sizing: border-box;
	}
}

.fab-gallery-pic img {
	width: 100%;
	/* Bild anpassen */
	height: auto;
	/* Höhe automatisch */
}

.fab-gallery-pic:hover  {
	filter: brightness(0.8);
	/* Overlay sichtbar bei Hover */
}




/* Gallery with only three images in  a row */

.fab-image-row {
	gap: 5px !important;
	margin-bottom: 40px!important;
	
}

.fab-image-row-pic {
  width: calc(33% - 5px)!important;
  aspect-ratio: 4 / 5;
  background-color: #e4e4e4;
  object-fit: cover!important;

}




/*remove caption from images -> I only want the caption to be displayed in the lightbox*/

.wp-element-caption {
	display: none!important;
}
/*das Bild soll nicht verschwommen sein, wenn eine Caption hinterlegt ist*/
.wp-block-gallery.has-nested-images figure.wp-block-image:has(figcaption):before {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    background: transparent !important;
    content: none !important;
    height: 0 !important;
}


/* Lightbox */

#custom-lightbox {
	display: none;
	position: fixed;
	z-index: 999991;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.9);
	text-align: center;
}

.lightbox-container {
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	padding: 10px 12px;
	z-index: 999992;
	text-align: center;
	width: 90%;
	max-width: 70vh;
	height: auto;
	max-height: 94vh;
	overflow: hidden;
}

.lightbox-image {
	max-width: 100%;
	max-height: calc(94vh - 20px);
	/* 20px für den Padding-Wert */
	width: auto;
	height: auto;
	object-fit: contain;
	display: block;
	margin: 0 auto;
	z-index: 999993;
	border-radius: 0!important;
}

.close-lightbox {
	width: 23px;
	height: 24px;
	color: #444;
	position: absolute;
	top: 0;
	right: 0;
	font-size: 28px;
	background-color: #eee;
	border: 0 solid #444;
	border-radius: 50%;
	padding: 0 0 0 1px;
	cursor: pointer;
	text-align: center;
	/* Horizontal zentrieren */
	line-height: 23px;
	/* Vertikal zentrieren */
	box-shadow: 0 0 10px #000;
	z-index: 999994;
}

.prev-image {
	position: relative;
	width: 21px;
	height: 24px;
	color: #333;
	float: left;
	margin-top: -40%;
	left: -12px;
	font-size: 32px;
	background-color: #eee;
	border: none;
	border-radius: 50%;
	box-shadow: 0 0 10px #000;
	padding: 0 3px 0 0;
	cursor: pointer;
	text-align: center;
	line-height: 19px;
	/* Vertikal zentrieren */
	border: 0 solid #ddd;
	z-index: 999995;
}

.next-image {
	position: relative;
	width: 21px;
	height: 24px;
	color: #333;
	float: right;
	margin-top: -40%;
	right: -12px;
	font-size: 32px;
	background-color: #eee;
	border: none;
	border-radius: 50%;
	padding: 0 0 0 3px;
	cursor: pointer;
	text-align: center;
	line-height: 19px;
	/* Vertikal zentrieren */
	border: 0 solid #ddd;
	z-index: 999995!important;
	box-shadow: 0 0 10px #000;
}

.prev-image:hover, .next-image:hover, .close-lightbox:hover  {
	background-color: #fff;
	box-shadow: 0 0 0px #000;
	color: #666;
}

.prev-image:active, .prev-image:focus, .next-image:active, .next-image:focus {
	background-color: #fff;
	color: #333;
}



.lightbox-caption {
	display: none;
	/* Bildunterschrift nicht anzeigen */
}

hr, hr.wp-block-separator{
	border: 0;
    height: 1px;
		background-color:#fff;
	border-bottom: 1px solid #966b15 !important;
	border-image: linear-gradient(to right, #fff, #966b15, #fff) 1;
	width:90%;

}

.fab-no-margin{
	margin-bottom: 0!important;
}

/* Instagram Icon */
.wp-image-638{
	padding-right:5px;
}









/*  FONTS  */

/* IBM Plex Sans - Alle Schriftschnitte (Latin) */



/* Thin 100 */
@font-face {
  font-family: 'IBM Plex Sans Custom';
  font-weight: 100;
  font-style: normal;
  font-display: swap;
  src: url('/fonts/ibmplexsans/IBMPlexSans-Thin.woff2') format('woff2');
}
@font-face {
  font-family: 'IBM Plex Sans Custom';
  font-weight: 100;
  font-style: italic;
  font-display: swap;
  src: url('/fonts/ibmplexsans/IBMPlexSans-ThinItalic.woff2') format('woff2');
}

/* ExtraLight 200 */
@font-face {
  font-family: 'IBM Plex Sans Custom';
  font-weight: 200;
  font-style: normal;
  font-display: swap;
  src: url('/fonts/ibmplexsans/IBMPlexSans-ExtraLight.woff2') format('woff2');
}
@font-face {
  font-family: 'IBM Plex Sans Custom';
  font-weight: 200;
  font-style: italic;
  font-display: swap;
  src: url('/fonts/ibmplexsans/IBMPlexSans-ExtraLightItalic.woff2') format('woff2');
}

/* Light 300 */
@font-face {
  font-family: 'IBM Plex Sans Custom';
  font-weight: 300;
  font-style: normal;
  font-display: swap;
  src: url('/fonts/ibmplexsans/IBMPlexSans-Light.woff2') format('woff2');
}
@font-face {
  font-family: 'IBM Plex Sans Custom';
  font-weight: 300;
  font-style: italic;
  font-display: swap;
  src: url('/fonts/ibmplexsans/IBMPlexSans-LightItalic.woff2') format('woff2');
}

/* Regular 400 */
@font-face {
  font-family: 'IBM Plex Sans Custom';
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  src: url('/fonts/ibmplexsans/IBMPlexSans-Regular.woff2') format('woff2');
}
@font-face {
  font-family: 'IBM Plex Sans Custom';
  font-weight: 400;
  font-style: italic;
  font-display: swap;
  src: url('/fonts/ibmplexsans/IBMPlexSans-Italic.woff2') format('woff2');
}

/* Text 450 (optional, Spezialgewicht) */
@font-face {
  font-family: 'IBM Plex Sans Custom';
  font-weight: 450;
  font-style: normal;
  font-display: swap;
  src: url('/fonts/ibmplexsans/IBMPlexSans-Text.woff2') format('woff2');
}
@font-face {
  font-family: 'IBM Plex Sans Custom';
  font-weight: 450;
  font-style: italic;
  font-display: swap;
  src: url('/fonts/ibmplexsans/IBMPlexSans-TextItalic.woff2') format('woff2');
}

/* Medium 500 */
@font-face {
  font-family: 'IBM Plex Sans Custom';
  font-weight: 500;
  font-style: normal;
  font-display: swap;
  src: url('/fonts/ibmplexsans/IBMPlexSans-Medium.woff2') format('woff2');
}
@font-face {
  font-family: 'IBM Plex Sans Custom';
  font-weight: 500;
  font-style: italic;
  font-display: swap;
  src: url('/fonts/ibmplexsans/IBMPlexSans-MediumItalic.woff2') format('woff2');
}

/* SemiBold 600 */
@font-face {
  font-family: 'IBM Plex Sans Custom';
  font-weight: 600;
  font-style: normal;
  font-display: swap;
  src: url('/fonts/ibmplexsans/IBMPlexSans-SemiBold.woff2') format('woff2');
}
@font-face {
  font-family: 'IBM Plex Sans Custom';
  font-weight: 600;
  font-style: italic;
  font-display: swap;
  src: url('/fonts/ibmplexsans/IBMPlexSans-SemiBoldItalic.woff2') format('woff2');
}

/* Bold 700 */
@font-face {
  font-family: 'IBM Plex Sans Custom';
  font-weight: 700;
  font-style: normal;
  font-display: swap;
  src: url('/fonts/ibmplexsans/IBMPlexSans-Bold.woff2') format('woff2');
}
@font-face {
  font-family: 'IBM Plex Sans Custom';
  font-weight: 700;
  font-style: italic;
  font-display: swap;
  src: url('/fonts/ibmplexsans/IBMPlexSans-BoldItalic.woff2') format('woff2');
}

/* Nutzung */
body {
  font-family: 'IBM Plex Sans Custom', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
