/*
Theme Name: DFFB Connect 1.0
Theme URI: http://example.com/dffb-connect
Author: Your Name
Author URI: http://example.com
Description: A basic WordPress theme for DFFB Connect.
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: dffb-connect
Tags: custom, responsive, project
*/

/* Import the fonts from www.dffb.de – adjust families as needed */

/* Basic styling */

/* Theme Colors */
:root {
  --dffb-red: rgb(244, 81, 106); /* DFFB Red */
  --white: #ffffff;
  --black: #000000;
}


@font-face {
    font-family: Allianz;
    font-style: normal;
    font-weight: 400;
    src: url(fonts/ESAllianz-Regular.woff2) format("woff2"), url(../fonts/ESAllianz-Regular.woff) format("woff"), url(../fonts/ESAllianz-Regular.ttf) format("truetype")
}

@font-face {
    font-family: Allianz;
    font-style: normal;
    font-weight: 700;
    src: url(fonts/ESAllianz-Bold.woff2) format("woff2"), url(../fonts/ESAllianz-Bold.woff) format("woff"), url(../fonts/ESAllianz-Bold.ttf) format("truetype")
}




h1, h2, h3, h4, h5, h6{
	font-weight: 400;
}


/* Global Styles */
body {
  font-family: Allianz,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;
  color: var(--black);
  background: var(--white);
	margin: 0;

	  height: 100%;
	-webkit-font-smoothing:antialiased;

}

.site-wrapper{
		display: flex;
	flex-direction: column;
	min-height: 100vh;
}

.site-content{
	flex: 1;
}

/* Header Styling */
.site-header {
  background: var(--dffb-red);
  color: var(--black);
  padding: 0 30px;
	
}

.header-left{
	width:100%;
}

.site-header h1{
	font-weight: 400;
	font-size: 5rem;
	margin: 0;
	letter-spacing: -0.1rem;
	line-height: 0.75;
	text-align: center;
	text-transform: uppercase;
}

.site-header .container {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.site-header .logo {
  max-width: 150px;
}

/* Navigation */

.main-navigation{
	position: fixed;
	bottom: 30px;
	right: 30px;
  	background-color: rgba(244, 81, 106, 0.8);
	padding: 20px;
	border-radius: 8px;
	-webkit-backdrop-filter:blur(10px);
	backdrop-filter:blur(10px);
	    transition: background 0.3s ease-in-out, color 0.3s ease-in-out;

}

.main-navigation .menu-items {
  list-style: none;
  display: flex;
  gap: 20px;
}

.main-navigation ul {
  list-style: none;
	margin: 0;
	margin-block-start:0!important;
	padding-inline-start:0px;
 
}

.main-navigation li.page_item {
  display: inline-block;
	margin-left: 20px;
 
}

.main-navigation li.page_item:first-child {
 margin-left: 0px;
 
}

.main-navigation a {
  color: var(--black);
  text-decoration: none;
}

.main-navigation a:hover {
  text-decoration: underline;
}

/* Footer Styling */
.site-footer {
  background: var(--dffb-red);
  color: var(--black);
  text-align: center;
  padding: 0 20px ;
}

.site-footer .container {
  max-width: 1200px;
  margin: 0 auto;
}

.site-footer .logo{
	max-width: 25vw;
	margin: 0 auto;
}

.site-footer .footer-logo img {
  max-width: 120px;
  margin-bottom: 10px;
}

.site-footer .footer-menu-items {
  list-style: none;
  display: flex;
  justify-content: center;
  gap: 15px;
}

.site-footer .footer-menu-items a {
  color: var(--black);
  text-decoration: none;
}

.site-footer .footer-menu-items a:hover {
  text-decoration: underline;
}






.site-content{
	padding: 0 30px;
}











/* Projects Page Styling */
.projects-page {
 
}

.page-title {
  text-align: center;
  font-size: 5rem;
  color: rgb(244, 81, 106);
  margin-bottom: 20px;
	margin-top: 0px;
	line-height: 0.75;
}

/* Grid Layout */
.projects-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr); /* Default: 4 columns */
  gap: 20px;
  max-width: 1200px;
  margin: 0 auto;
}

.project-item {
  overflow: hidden;
  transition: transform 0.3s ease-in-out;
}

.project-item:hover {
  transform: scale(1.05);
}

.project-thumbnail img {
  width: 100%;
  height: auto;
  display: block;
}

.project-title {
  text-align: center;
  font-size: 18px;
  color: #000;
}

.projects-page .project-title{
	margin-top: 1rem;
	text-align: center;
}

.single .project-title{
	text-align: center;
	margin-top: 0px;
	font-size:5rem;
	line-height: 0.75;
	color: var(--dffb-red);
	position: sticky;
		top: 0;
}


.project-link {
  text-decoration: none;
  display: block;
}

/* Responsive Grid Layout */
@media (max-width: 1024px) {
  .projects-grid {
    grid-template-columns: repeat(3, 1fr); /* Tablet: 3 columns */
  }
}

@media (max-width: 768px) {
  .projects-grid {
    grid-template-columns: repeat(2, 1fr); /* Mobile: 2 columns */
  }
}






/* General Styling */
.project-single {
	margin-bottom: 5rem;
}

.container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}

/* Project Header (Image + Meta Info) */
.project-header {
  display: grid;
  gap: 20px;
 grid-template-columns:repeat(12, 1fr);	
  margin-bottom: 40px;
}

.project-thumbnail {
  grid-column: span 3;
}

.project-thumbnail img {
  width: 100%;
}

.project-details {
   grid-column: span 9;

  background: white;
  padding: 0px 0;
}

.project-title {
  font-size: 2rem;
  margin-bottom: 15px;
	grid-column: span 12;
	text-align: left;
	padding: 0;
	
}

.project-main{
	grid-column: span 8;
}

.project-meta {
  list-style: none;
  padding: 0;
	margin: 0;
}

.project-meta li {
  font-size: 16px;
  margin-bottom: 8px;
}

.project-meta strong{
		font-weight: 400;
	text-transform: uppercase;
}

/* Project Content */
.project-content {
  background: white;
  padding: 20px 0;
  margin-bottom: 40px;
}

.project-content p{
	font-size: 1.5rem;	
}

/* Project People */
.project-people {
  margin-top: 40px;
}

.project-people h3 {
  font-size: 24px;
  color: #000;
  margin-bottom: 20px;
}

.people-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr); /* Two columns */
  gap: 20px;
}

.person {
  display: flex;
  background: white;
  padding: 0;
}

.person-image {
  flex: 1;
}

.person-image img {
  width: 100%;
}

.person-details {
  flex: 2;
  padding-left: 15px;
}

.person-details h4 {
  font-size: 18px;
  margin-bottom: 18px;
  margin-top: 0px;
 color: #000
}

.person-details p {
  font-size: 14px;
  margin-bottom: 0px;
	margin-top: 0px;
}

.person-details a {
  color: #000;
  text-decoration: none;
}

.person-details a:hover {
  text-decoration: underline;
}

.person-details strong{
	margin-top: 18px;
	font-weight: 400;
	text-transform: uppercase;
	}

/* Responsive Design */
@media (max-width: 1024px) {
  .project-header {
    flex-direction: column;
  }

  .project-thumbnail,
  .project-details {
    width: 100%;
  }

  .people-grid {
    grid-template-columns: repeat(1, 1fr); /* 1 column on small screens */
  }
}

.white-nav {
    background: white !important;
    color: black !important;
	    transition: background 0.3s ease-in-out, color 0.3s ease-in-out;

}





.single-project .site-content{
	font-size: 0px;
}

.site-footer .container,
 .site-footer 

{
	margin: 0;
	max-width: none;
	padding: 0;
	
		
}

.site-footer .container{
	    display: flex
;
    flex-wrap: wrap;
    justify-content: space-between;
    font-size: 0;
	position: relative;
	height: 55px;
}


.logo_link{}
.credits{
	font-size: 1rem;
	margin: 0;
		top:-16px;
	position: relative;
}

 .site-footer .logo{
	height: 55px;
	max-width: none;
	width: auto;
	position: absolute;
	left: 0px;
	bottom: 0px;
}

.custom_back{
	font-size: 5rem;
	color: rgb(244, 81, 106);
		margin-bottom:-0.2rem;
	position: relative;
	line-height: 0.75;
	text-align: center;
	width: 100%;
	display: inline-block;
	border-bottom: 0px;
	text-decoration: none;
	    position: fixed;
    right: 0px;
    bottom: 0;
    width: auto;	   
	transition: background 0.3s ease-in-out, color 0.3s ease-in-out;
	z-index: 1;

}

.custom_back:hover{
	color: #000;
}

.custom_back.at_bottom{
	color:#000;
		    transition: background 0.3s ease-in-out, color 0.3s ease-in-out;

}

.custom_back.at_bottom:hover{
	color:#fff;
}



.logo_link{}
.credits{
	font-size: 1rem;
	margin: 0;
	width: 100%;
	text-align: right;
}

.single .credits{
	top:-16px;
	position: relative;
}

@media (max-width: 700px) {
	
	.site-header h1,
	.page-title,
	.single .project-title,
	.custom_back{
		font-size: 3rem;
	}
	
	.site-footer .logo{
		max-width: 75%;
		margin: 0 auto;
		height: auto;
		position: relative;
	}
	
	
	.site-footer .container{
		height: auto;
	}
	
	.credits{
		font-size: 0.6rem;
		top:0px;
		width: 100%;
		text-align: center;
	
	
	
	}
	
	.project-title{
		font-size: 1.5rem;
	}
	
	.projects-grid {
  display: grid;
  grid-template-columns: repeat(1, 1fr); /* Default: 4 columns */
  gap: 20px;
  max-width: 1200px;
  margin: 0 auto;
}
	.project-thumbnail,
	.project-details,
	.project-main
	{
		grid-column: span 12;
	}
	
	.project-content p{
		font-size: 1.0rem;
	}
	
	.container{
		padding: 0px;
	}
	
	.custom_back{
		bottom:50px;
		width: 100%;
		text-align: center;
	}
	.single .credits{
		top:0px;
	}
}