/* allgemein */
html, body {
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    font-family: "proxima-nova", sans-serif;
    font-size: 10px;
    font-weight: 300;
	text-align: center;
}
* {
    box-sizing: border-box;
}
img {
	display: block;
}
a {
    text-decoration: none;
    color:inherit;
}
a.button {
    background: #4D10B5;
    padding: 8px 20px 8px 20px !important;
    border-radius: 10px;
    border: 2px solid #4D10B5;
    outline: none;
    box-shadow: 0 2px 1px rgba(0, 0, 0, 0.1);
    color: #ffffff !important;
}
a.button:hover {
    background: #4A66BC;
    border-color: #4A66BC;
    color: #ffffff !important;
    text-decoration: none !important;
}
a.active {
	color: #4D10B5 !important;
}
h1 {
	font-size: 6rem;
	font-weight: 400;
	margin: 4rem 0 4rem 0;
}
h2 {
	font-size: 5rem;
	font-weight: 400;
	margin: 0;
}
h3 {
	font-size: 3.2rem;
	font-weight: 700;
	margin: 0;
}
p {
	font-size: 3.2rem;
	font-weight: 400;
	margin: 0;
}
menu {
	margin: 0;
	padding: 0;
}
 
#page {
    display: grid;
    grid-template-rows: auto auto auto auto;
    grid-template-columns: auto 1920px auto;
    grid-template-areas:
        "header header header" "menu menu menu" "content content content" "footer footer footer";
}
 
 
/* Header */
 
#page header {
    grid-area: header;
	background: #f9f9f9;
	box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
	z-index: 1;
}
#page header .content {
    display: flex;
    justify-content: space-between;
    align-items: center;
	width: 100%;
	max-width: 1920px;
	margin: 0 auto;
}
#page header .content img {
    padding: 32px 0;
}
#page header .content nav menu {
    padding: 0;
}
#page header .content nav menu menuitem {
    padding: 15px 0 15px 30px;
}
#page header .content.primary img.logo {
    width: 245px;
}
#page header .content.primary nav menu menuitem {
    font-size: 1.6rem;
    color: #545554;
}
#page header .content nav a {
	color: #545554;
	cursor: pointer;
}
#page header .content nav a:hover {
	color: #4D10B5;
}
#page header .content nav a span:after {
	content: '';
}
 
 
/* Menu */
 
#page .menu {
	grid-area: menu;
	display: none;
	background: #4D10B5;
}
#page .menu a {
	color: #f9f9f9;
	padding: 14px 16px;
	font-size: 1.8rem;
	display: block;
	text-align: left;
}
#page .menu a:hover {
	background: #f9f9f9;
	color: #4D10B5;
}
 
 
/* Inhalt */
 
#page main {
    grid-area: content;
	margin: 0 0 80px 0;
}
#page main .content {
	width: 100%;
	max-width: 1920px;
	margin: 0 auto;
	padding: 20px 0 20px 0;
}
#page main .intro h1 {
	color: #4D10B5;
}
#page main .banner {
	position: relative;
}
#page main .banner img {
	width: 100%;
}
#page main .banner .content {
	padding: 0;
	position: absolute;
	top: 20px;
	left: 20px;
	right: 20px;
	color: #ffffff;
}
#page main .banner2 {
	position: relative;
}
#page main .banner2 video {
	width: 100%;
}
#page main .banner2 .layer {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	background: rgba(255, 255, 255, 0.8);
}
#page main .banner2 .content {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}
#page main .banner2 .content .text {
	width: calc(45% - 50px);
}
#page main .banner2 .content .text h2, #page main .banner2 .content .text h3 {
	color: #4D10B5;
	text-align: left;
}
#page main .banner2 .content .text h2 {
	font-weight: 700;
	margin: 0 0 50px 0;
}
#page main .banner2 .content .text p {
	background: #77fc4c;
	color: #4D10B5;
	text-align: left;
	padding: 25px;
	margin: 0 0 50px 0;
}
#page main .banner2 .content .image {
	width: calc(55% - 50px);
}
#page main .banner2 .content .image img {
	width: 100%;
	border-radius: 10px;
	border: 1px solid #545554;
	box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
}
#page main .subject .content h2, #page main .videos .content h2 {
	color: #4D10B5;
	margin: 1em 0 1.5em 0;
}
#page main .subject .content .kacheln {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: wrap;
	margin: 4rem 0 0 0;
}
#page main .subject .content .kacheln .kachel {
	width: 100%;
	max-width: calc(33.33333% - 34px);
	margin: 0 0 30px 0;
	min-height: 335px;
}
#page main .subject .content .kacheln.blau .kachel {
	background: #4A66BC;
	color: #ffffff;
}
#page main .subject .content .kacheln.grau .kachel {
	background: #f9f9f9;
	color: #7c7c7c;
	text-align: left;
}
#page main .subject .content .kacheln .kachel .inner {
	padding: 32px;
}
#page main .subject .content .kacheln .kachel .inner h3 {
	margin: 0 0 1em 0;
}
#page main .subject .content .kacheln.blau .kachel .inner h3 {
	color: #58FEE4;
}
#page main .subject .content .kacheln.grau .kachel .inner h3 {
	color: #4D10B5;
}
#page main .subject .content .kacheln .kachel .inner p {
	font-size: 2.9rem;
	margin: 0;
}
#page main .subject .content .icons {
	display: flex;
	justify-content: space-around;
	align-items: flex-start;
	flex-wrap: wrap;
	color: #545554;
}
#page main .subject .content .icons .icon {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	padding: 0 20px 0 20px;
}
#page main .subject .content .icons .icon img {
	width: 100%;
	max-width: 194px;
}
#page main .subject .line {
	padding: 20px 0 20px 0;
}
#page main .subject .line .row {
	display: flex;
	justify-content: flex-end;
	align-items: flex-start;
	padding: 50px 0 50px 0;
}
#page main .subject .line .odd {
	flex-direction: row-reverse;
	background: #ffffff;
}
#page main .subject .line .even {
	flex-direction: row;
	background: #58FEE4;
}
#page main .subject .line .number {
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 3.2rem;
	font-weight: 700;
	color: #ffffff;
	background: #4D10B5;
	width: 100px;
	height: 100px;
	border-radius: 50px;
}
#page main .subject .line .text {
	width: calc(50% - 50px);
	padding: 0 80px 0 80px;
}
#page main .subject .line .odd .text {
	text-align: right;
}
#page main .subject .line .even .text {
	text-align: left;
}
#page main .subject .line .text h3 {
	color: #4D10B5;
}
#page main .subject .line .text p {
	font-size: 2rem;
	font-weight: 700;
}
#page main .subject .cases {
	max-width: 1920px;
	margin: 0 auto;
	padding: 50px 0 50px 0;
}
#page main .subject .cases .row {
	display: flex;
	justify-content: flex-start;
	padding: 35px 0 35px 0;
}
#page main .subject .cases .odd {
	flex-direction: row;
}
#page main .subject .cases .even {
	flex-direction: row-reverse;
}
#page main .subject .cases .row p {
	font-size: 2rem;
	text-align: left;
	padding: 40px 30px 40px 30px;
}
#page main .subject .cases .row div.conclusion p {
	padding-bottom: 60%;
}
#page main .subject .cases .row .image_container {
	position: absolute;
	right: 0;
	bottom: 0;
}
#page main .subject .cases .row .image_container img {
	width: 300px;
}
#page main .subject .cases .row .small_column {
	background: #4D10B5;
	width: 33%;
	position: relative;
}
#page main .subject .cases .row .small_column h3 {
	color: #ffffff;
	text-align: left;
}
#page main .subject .cases .row .small_column h3.case {
	padding: 40px 30px 60% 30px;
}
#page main .subject .cases .row .small_column h3.conclusion {
	padding: 40px 30px 0 30px;
}
#page main .subject .cases .row .small_column p {
	color: #ffffff;
}
#page main .subject .cases .row .large_column {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	background: #58FEE4;
	width: 67%;
	position: relative;
}
#page main .subject .cases .row .large_column > div {
	width: 50%;
}
#page main .videos .content h2 {
	text-align: left;
}
#page main .videos .content .inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
#page main .videos .content .inner .kacheln {
	width: calc(35% - 50px);
}
#page main .videos .content .inner .kacheln .kachel {
	font-size: 2rem;
	margin: 0 0 25px 0;
	padding: 25px 20px 20px 20px;
	text-align: center;
}
#page main .videos .content .inner .kacheln .kachel.hellblau {
	background: #58FEE4;
	color: #4D10B5;
}
#page main .videos .content .inner .kacheln .kachel.gruen {
	background: #77FC4C;
	color: #4D10B5;
}
#page main .videos .content .inner .kacheln .kachel.blau {
	background: #4A66BC;
	color: #ffffff;
}
#page main .videos .content .inner .kacheln .kachel .inner {
	display: block;
}
#page main .videos .content .inner .kacheln .kachel .titel {
	font-size: 2.9rem;
	font-weight: 700;
}
#page main .videos .content .inner .kacheln .kachel .playbutton img {
	margin: 10px auto 10px auto;
}
#page main .videos .content .inner .kacheln .kachel .logo img {
	margin: 0 0 0 auto;
}
#page main .videos .content .inner .text {
	width: calc(65% - 50px);
	background: #77fc4c;
	color: #4D10B5;
	text-align: left;
	padding: 45px;
	margin: 0 0 25px 0;
}
 

 
/* Footer */
 
#page footer {
    grid-area: footer;
    background: #4D10B5;
    color: #f4f4f4;
	text-align: left;
}
#page footer .content {
    width: 100%;
	max-width: 1920px;
    margin: 80px auto;
    font-size: 2rem;
}
#page footer .content p {
    margin: 0 0 15px 0;
    padding: 0;
}
#page footer .content nav ul {
    margin: 0;
    padding: 0;
    list-style-type: none;
}
#page footer .content nav ul li {
    font-size: 2rem;
}
#page footer .content .columns {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    min-height: 250px;
}
#page footer .content .columns .column {
	width: 50%;
	padding: 0 50px 0 0;
}
#page footer .content .columns .column img.logo {
	width: 100%;
	max-width: 347px;
}
#page footer .content .columns .links {
	padding-top: 75px;
}
#page footer .content .columns .links menuitem {
	display: block;
	margin: 0 0 2rem 0;
}
 
 
/* Media-Queries */
 
@media screen and (max-width: 1960px) {
	#page header .content, #page main .content, #page footer .content {
		padding-left: 20px;
		padding-right: 20px;
	}
	#page main .banner .content {
		max-width: calc(100% - 40px);
	}
	
	
}
@media screen and (max-width: 1920px) {
	#page {
		grid-template-columns: 0px auto 0px;
	}
	
	
}
@media screen and (max-width: 1280px) {
	h1 {
		font-size: 4.8rem;
	}
	h2 {
		font-size: 4rem;
	}
	h3 {
		font-size: 2.4rem;
	}
	p {
		font-size: 2.4rem;
	}
	#page main .banner {
		display: block;
		overflow: hidden;
		min-height: 400px;
		padding-bottom: 45%;
	}
	#page main .banner img {
		position: absolute;
		left: 0;
		height: 100%;
		object-fit: cover;
		object-position: center;
	}
	#page main .subject .content .kacheln .kachel .inner p {
		font-size: 2rem;
	}
	#page main .subject .content .kacheln .kachel {
		max-width: calc(33.33333% - 17px);
	}
	
	
}
@media screen and (max-width: 1200px) {
	#page main .banner2 .content {
		align-items: center;
	}
	#page main .subject .cases .odd, #page main .subject .cases .even {
		/* flex-direction: column; */
	}
	#page main .subject .cases .row .small_column {
		/* width: 100%; */
		min-height: 440px;
	}
	#page main .subject .cases .row .large_column {
		flex-direction: column;
		/* width: 100%; */
	}
	#page main .subject .cases .row .large_column > div {
		width: 100%;
	}
	#page main .subject .cases .row .large_column .text2 p {
		padding-top: 0;
	}
	#page main .subject .cases .row .large_column .text2.conclusion {
		min-height: 500px;
	}
	#page main .subject .cases .row .small_column h3.case {
		padding-bottom: 30%;
	}
	#page main .subject .cases .row div.conclusion p {
		padding-bottom: 30%;
	}
	
	
}
@media screen and (max-width: 1050px) {
	#page main .videos .content .inner {
		flex-direction: column-reverse;
	}
	#page main .videos .content .inner .text, #page main .videos .content .inner .kacheln {
		width: 100%;
	}
	
}
@media screen and (max-width: 960px) {
	h1 {
		font-size: 3.8rem;
	}
	h2 {
		font-size: 3rem;
	}
	h3 {
		font-size: 1.8rem;
	}
	p {
		font-size: 1.8rem;
	}
	#page main .subject .content .kacheln .kachel .inner p {
		font-size: 1.6rem;
	}
	#page header .content nav menu {
		display: none;
	}
	#page header .content nav a span:after {
		content: url('/css/bars-solid.svg');
		display: block;
		width: 21px;
		height: 25px;
	}
	#page main .subject .content .kacheln .kachel {
		min-height: 100px;
	}
	#page main .subject .line .row {
		justify-content: flex-start;
	}
	#page main .subject .line .odd {
		flex-direction: row;
	}
	#page main .subject .line .row {
		padding-left: 30px;
	}
	#page main .subject .line .text {
		width: calc(100% - 100px);
		padding: 0 30px 0 30px;
	}
	#page main .subject .line .odd .text {
		text-align: left;
	}
	#page footer .content {
		font-size: 1.8rem;
	}
	#page footer .content .columns {
		flex-direction: column;
	}
	#page footer .content .columns .column {
		width: 100%;
	}
	
	

       
}
@media screen and (max-width: 800px) {
	#page main .banner {
		min-height: 300px;
	}
	#page main .subject .content .kacheln {
		flex-direction: column;
	}
	#page main .subject .content .kacheln .kachel {
		max-width: 100%;
	}
	#page main .banner2 .content .text {
		width: 100%;
	}
	#page main .banner2 .content .image {
		display: none;
	}
	#page main .subject .cases .odd, #page main .subject .cases .even {
		flex-direction: column;
	}
	#page main .subject .cases .row .small_column {
		width: 100%;
	}
	#page main .subject .cases .row .large_column {
		width: 100%;
	}
	
	
}
@media screen and (max-width: 650px) {
	#page main .banner {
		min-height: 200px;
	}
	#page main .banner .content p {
		display: none;
	}
	#page main .banner2 .content .text h2 {
		font-size: 1.8rem;
		margin: 0 0 15px 0;
	}
	#page main .banner2 .content .text h3 {
		display: none;
	}
	#page main .banner2 .content .text p {
		background: none;
		padding: 0;
		margin: 0;
	}
	#page main .subject .line .number {
		font-size: 2.4rem;
		width: 50px;
		height: 50px;
		border-radius: 25px;
	}
	#page main .subject .line .text {
		width: calc(100% - 50px);
		padding: 0 20px 0 20px;
	}
	#page main .videos .content .inner .text {
		background: none;
		padding: 0;
	}
}		


#page header .content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 82% !important;
    max-width: 1920px;
    margin: 0 auto;
}
    


   .box-container {
    width: 80%; /* Set a width for the box (adjust as needed) */
    margin: 30px auto 0px auto; /* Center the box and add some space above/below */
    background-color: #fff; /* White background for the box */
    padding: 40px; /* Add padding inside the box */
   /* box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);*/ /* Add a subtle shadow to the box */
    border-radius: 10px; /* Rounded corners for the box */
}


.flex-container {
    display: flex; /* Enables Flexbox layout */
    gap: 20px; /* Adds space between the flex items (the columns) */
}

.flex-item {
    flex: 1; /* Allows each flex item (column) to grow and shrink equally */
    padding: 15px; /* Add padding inside each column */
    border: 1px solid #fff; /* Add a light border to visualize columns -  #58fee4 */
    border-radius: 5px; /* Rounded corners for the columns */
}

.left-column {
    background-color: #fff; /* Light blue background for left column - #58fee4 */
    flex:3;
}

.right-column {
    background-color: #fff; /* Light yellow background for right column */
    flex: 2;
    border-radius: 10px; /* Rounded corners for the box */
    padding: 50px;
    background-color: #58fee4;
}

.right-column-container {
    padding: 2px;
    background-color: #fff;
    border: 1px solid #58fee4; 
    border-radius: 10px;
}

.left-column-text {
    flex: 2; /* Take more space */
    min-width: 300px; /* Minimum width before wrapping */
    color: #000; /* Black text */
}

.left-column-container {
    padding: 35px;
}

    .left-column-text h1 {
        font-family: 'Roboto', sans-serif;
        font-size: 4em;
        font-weight: 600;
        margin-bottom: 25px;
        line-height: 1.2;
        text-align: left;
        color: #4d10b5;
    }

    .left-column-text h2 {
        font-family: 'Roboto', sans-serif;
        font-size: 2.8em;
        font-weight: 700;
        margin-bottom: 25px;
        line-height: 1.2;
        text-align: left;
    }
    
      .left-column-text h3 {
        font-family: 'Roboto', sans-serif;
        font-size: 2.5em;
        font-weight: 500;
        margin-bottom: 30px;
        line-height: 1.2;
        text-align: left;
        color: #4d10b5;
      }
    

    .left-column-text p{
           font-weight: 600;
        margin-top: 50px;
        margin-bottom: 25px;
        font-size: 2em;
        text-align: left;
    }

    .left-column-text ul {
        list-style: disc; /* Bullet points */
        margin-left: 0px;
        margin-bottom: 20px;
        font-size: 1.5em;
        text-align: left;
    }

        .left-column-text ul li {
           margin-bottom: 5px;
            font-size: 1.2em;
            text-align: left;
            margin-left:0px;
        }

       .right-column-text {
         padding-left: 20px;
        padding-right: 20px;
      }

    .right-column-text h2 {
        margin-top: 50px;
        font-family: 'Roboto', sans-serif;
        font-size: 2.8em;
        font-weight: 700;
        margin-bottom: 10px;
        line-height: 1.2;
        text-align: left;
      }
    

    .right-column-text p{
        font-weight: 300;
        margin-top: 10px;
        font-size: 2em;
        text-align: left;
        color:grey;
    }


/* Optional: Basic responsiveness */
@media (max-width: 768px) {
    .flex-container {
        flex-direction: column; /* Stack columns vertically on smaller screens */
    }
}

