div[class^='Spalten'], div[class*=' Spalten'] {
	--Mindestbreite: 200px;
	display: grid;
	gap: 60px;
	
	& > * { margin-top: 0; margin-bottom: 0; }
	
	&.Mindestbreite0 { --Mindestbreite: 0; }

	&.Spalte2Breite20Prozent { --ZweiteSpalte: calc( calc( var(--content_width, 50%) / 100 * 20 ) + var(--content_margin, 0) ); }
	&.Spalte2Breite30Prozent { --ZweiteSpalte: calc( calc( var(--content_width, 50%) / 100 * 30 ) + var(--content_margin, 0) ); }
	&.Spalte2Breite40Prozent { --ZweiteSpalte: calc( calc( var(--content_width, 50%) / 100 * 40 ) + var(--content_margin, 0) ); }
	&.Spalte2Breite50Prozent { --ZweiteSpalte: calc( calc( var(--content_width, 50%) / 100 * 50 ) + var(--content_margin, 0) ); }
	&.Spalte2Breite60Prozent { --ZweiteSpalte: calc( calc( var(--content_width, 50%) / 100 * 60 ) + var(--content_margin, 0) ); }
	&.Spalte2Breite70Prozent { --ZweiteSpalte: calc( calc( var(--content_width, 50%) / 100 * 70 ) + var(--content_margin, 0) ); }
	
	&.Spalte3Breite20Prozent { --DritteSpalte: calc( calc( var(--content_width, 50%) / 100 * 20 ) + var(--content_margin, 0) ); }
	&.Spalte3Breite30Prozent { --DritteSpalte: calc( calc( var(--content_width, 50%) / 100 * 30 ) + var(--content_margin, 0) ); }
	&.Spalte3Breite40Prozent { --DritteSpalte: calc( calc( var(--content_width, 50%) / 100 * 40 ) + var(--content_margin, 0) ); }
	&.Spalte3Breite50Prozent { --DritteSpalte: calc( calc( var(--content_width, 50%) / 100 * 50 ) + var(--content_margin, 0) ); }
	&.Spalte3Breite60Prozent { --DritteSpalte: calc( calc( var(--content_width, 50%) / 100 * 60 ) + var(--content_margin, 0) ); }
	&.Spalte3Breite70Prozent { --DritteSpalte: calc( calc( var(--content_width, 50%) / 100 * 70 ) + var(--content_margin, 0) ); }
	
	&.Spalte1Breite10 { --ErsteSpalte: 10fr; } &.Spalte1Breite15 { --ErsteSpalte: 15fr; } &.Spalte1Breite20 { --ErsteSpalte: 20fr; } &.Spalte1Breite25 { --ErsteSpalte: 25fr; } &.Spalte1Breite30 { --ErsteSpalte: 30fr; } &.Spalte1Breite35 { --ErsteSpalte: 35fr; } &.Spalte1Breite40 { --ErsteSpalte: 40fr; } &.Spalte1Breite45 { --ErsteSpalte: 45fr; } &.Spalte1Breite50 { --ErsteSpalte: 50fr; } &.Spalte1Breite55 { --ErsteSpalte: 55fr; } &.Spalte1Breite60 { --ErsteSpalte: 60fr; } &.Spalte1Breite65 { --ErsteSpalte: 65fr; } &.Spalte1Breite70 { --ErsteSpalte: 70fr; } &.Spalte1Breite75 { --ErsteSpalte: 75fr; } &.Spalte1Breite80 { --ErsteSpalte: 80fr; } &.Spalte1Breite85 { --ErsteSpalte: 85fr; } &.Spalte1Breite90 { --ErsteSpalte: 90fr; } &.Spalte1Breite95 { --ErsteSpalte: 95fr; }
	&.Spalte2Breite10 { --ZweiteSpalte: 10fr; } &.Spalte2Breite15 { --ZweiteSpalte: 15fr; } &.Spalte2Breite20 { --ZweiteSpalte: 20fr; } &.Spalte2Breite25 { --ZweiteSpalte: 25fr; } &.Spalte2Breite30 { --ZweiteSpalte: 30fr; } &.Spalte2Breite35 { --ZweiteSpalte: 35fr; } &.Spalte2Breite40 { --ZweiteSpalte: 40fr; } &.Spalte2Breite45 { --ZweiteSpalte: 45fr; } &.Spalte2Breite50 { --ZweiteSpalte: 50fr; } &.Spalte2Breite55 { --ZweiteSpalte: 55fr; } &.Spalte2Breite60 { --ZweiteSpalte: 60fr; } &.Spalte2Breite65 { --ZweiteSpalte: 65fr; } &.Spalte2Breite70 { --ZweiteSpalte: 70fr; } &.Spalte2Breite75 { --ZweiteSpalte: 75fr; } &.Spalte2Breite80 { --ZweiteSpalte: 80fr; } &.Spalte2Breite85 { --ZweiteSpalte: 85fr; } &.Spalte2Breite90 { --ZweiteSpalte: 90fr; } &.Spalte2Breite95 { --ZweiteSpalte: 95fr; }
	&.Spalte3Breite10 { --DritteSpalte: 10fr; } &.Spalte3Breite15 { --DritteSpalte: 15fr; } &.Spalte3Breite20 { --DritteSpalte: 20fr; } &.Spalte3Breite25 { --DritteSpalte: 25fr; } &.Spalte3Breite30 { --DritteSpalte: 30fr; } &.Spalte3Breite35 { --DritteSpalte: 35fr; } &.Spalte3Breite40 { --DritteSpalte: 40fr; } &.Spalte3Breite45 { --DritteSpalte: 45fr; } &.Spalte3Breite50 { --DritteSpalte: 50fr; } &.Spalte3Breite55 { --DritteSpalte: 55fr; } &.Spalte3Breite60 { --DritteSpalte: 60fr; } &.Spalte3Breite65 { --DritteSpalte: 65fr; } &.Spalte3Breite70 { --DritteSpalte: 70fr; } &.Spalte3Breite75 { --DritteSpalte: 75fr; } &.Spalte3Breite80 { --DritteSpalte: 80fr; } &.Spalte3Breite85 { --DritteSpalte: 85fr; } &.Spalte3Breite90 { --DritteSpalte: 90fr; } &.Spalte3Breite95 { --DritteSpalte: 95fr; }
	&.Spalte4Breite10 { --VierteSpalte: 10fr; } &.Spalte4Breite15 { --VierteSpalte: 15fr; } &.Spalte4Breite20 { --VierteSpalte: 20fr; } &.Spalte4Breite25 { --VierteSpalte: 25fr; } &.Spalte4Breite30 { --VierteSpalte: 30fr; } &.Spalte4Breite35 { --VierteSpalte: 35fr; } &.Spalte4Breite40 { --VierteSpalte: 40fr; } &.Spalte4Breite45 { --VierteSpalte: 45fr; } &.Spalte4Breite50 { --VierteSpalte: 50fr; } &.Spalte4Breite55 { --VierteSpalte: 55fr; } &.Spalte4Breite60 { --VierteSpalte: 60fr; } &.Spalte4Breite65 { --VierteSpalte: 65fr; } &.Spalte4Breite70 { --VierteSpalte: 70fr; } &.Spalte4Breite75 { --VierteSpalte: 75fr; } &.Spalte4Breite80 { --VierteSpalte: 80fr; } &.Spalte4Breite85 { --VierteSpalte: 85fr; } &.Spalte4Breite90 { --VierteSpalte: 90fr; } &.Spalte4Breite95 { --VierteSpalte: 95fr; }
	&.Spalte5Breite10 { --FünfteSpalte: 10fr; } &.Spalte5Breite15 { --FünfteSpalte: 15fr; } &.Spalte5Breite20 { --FünfteSpalte: 20fr; } &.Spalte5Breite25 { --FünfteSpalte: 25fr; } &.Spalte5Breite30 { --FünfteSpalte: 30fr; } &.Spalte5Breite35 { --FünfteSpalte: 35fr; } &.Spalte5Breite40 { --FünfteSpalte: 40fr; } &.Spalte5Breite45 { --FünfteSpalte: 45fr; } &.Spalte5Breite50 { --FünfteSpalte: 50fr; } &.Spalte5Breite55 { --FünfteSpalte: 55fr; } &.Spalte5Breite60 { --FünfteSpalte: 60fr; } &.Spalte5Breite65 { --FünfteSpalte: 65fr; } &.Spalte5Breite70 { --FünfteSpalte: 70fr; } &.Spalte5Breite75 { --FünfteSpalte: 75fr; } &.Spalte5Breite80 { --FünfteSpalte: 80fr; } &.Spalte5Breite85 { --FünfteSpalte: 85fr; } &.Spalte5Breite90 { --FünfteSpalte: 90fr; } &.Spalte5Breite95 { --FünfteSpalte: 95fr; }
	&.Spalte6Breite10 { --SechsteSpalte: 10fr; } &.Spalte6Breite15 { --SechsteSpalte: 15fr; } &.Spalte6Breite20 { --SechsteSpalte: 20fr; } &.Spalte6Breite25 { --SechsteSpalte: 25fr; } &.Spalte6Breite30 { --SechsteSpalte: 30fr; } &.Spalte6Breite35 { --SechsteSpalte: 35fr; } &.Spalte6Breite40 { --SechsteSpalte: 40fr; } &.Spalte6Breite45 { --SechsteSpalte: 45fr; } &.Spalte6Breite50 { --SechsteSpalte: 50fr; } &.Spalte6Breite55 { --SechsteSpalte: 55fr; } &.Spalte6Breite60 { --SechsteSpalte: 60fr; } &.Spalte6Breite65 { --SechsteSpalte: 65fr; } &.Spalte6Breite70 { --SechsteSpalte: 70fr; } &.Spalte6Breite75 { --SechsteSpalte: 75fr; } &.Spalte6Breite80 { --SechsteSpalte: 80fr; } &.Spalte6Breite85 { --SechsteSpalte: 85fr; } &.Spalte6Breite90 { --SechsteSpalte: 90fr; } &.Spalte6Breite95 { --SechsteSpalte: 95fr; }

	&.Spalten2 { grid-template-columns: minmax(var(--Mindestbreite), var(--ErsteSpalte, 1fr) ) minmax(var(--Mindestbreite), var(--ZweiteSpalte, 1fr) ); }
	&.Spalten3 { grid-template-columns: minmax(var(--Mindestbreite), var(--ErsteSpalte, 1fr) ) minmax(var(--Mindestbreite), var(--ZweiteSpalte, 1fr) ) minmax(var(--Mindestbreite), var(--DritteSpalte, 1fr) ); }
	&.Spalten4 { grid-template-columns: minmax(var(--Mindestbreite), var(--ErsteSpalte, 1fr) ) minmax(var(--Mindestbreite), var(--ZweiteSpalte, 1fr) ) minmax(var(--Mindestbreite), var(--DritteSpalte, 1fr) ) minmax(var(--Mindestbreite), var(--VierteSpalte, 1fr) ); }
	&.Spalten5 { grid-template-columns: minmax(var(--Mindestbreite), var(--ErsteSpalte, 1fr) ) minmax(var(--Mindestbreite), var(--ZweiteSpalte, 1fr) ) minmax(var(--Mindestbreite), var(--DritteSpalte, 1fr) ) minmax(var(--Mindestbreite), var(--VierteSpalte, 1fr) ) minmax(var(--Mindestbreite), var(--FünfteSpalte, 1fr) ); }
	&.Spalten6 { grid-template-columns: minmax(100px, var(--ErsteSpalte, 1fr) ) minmax(100px, var(--ZweiteSpalte, 1fr) ) minmax(100px, var(--DritteSpalte, 1fr) ) minmax(100px, var(--VierteSpalte, 1fr) ) minmax(100px, var(--FünfteSpalte, 1fr) ) minmax(100px, var(--SechsteSpalte, 1fr) ); }

	&.Spalten2 > :is(h1, h2, h3, h4, h5, h6, p):not(.content-headline) { grid-column: 1 / 3; @media(max-width:960px){ grid-column: 1; } }
	&.Spalten3 > :is(h1, h2, h3, h4, h5, h6, p):not(.content-headline) { grid-column: 1 / 4; @media(max-width:960px){ grid-column: 1; } }
	&.Spalten4 > :is(h1, h2, h3, h4, h5, h6, p):not(.content-headline) { grid-column: 1 / 5; @media(max-width:960px){ grid-column: 1; } }
	&.Spalten5 > :is(h1, h2, h3, h4, h5, h6, p):not(.content-headline) { grid-column: 1 / 6; @media(max-width:960px){ grid-column: 1; } }
	&.Spalten6 > :is(h1, h2, h3, h4, h5, h6, p):not(.content-headline) { grid-column: 1 / 7; @media(max-width:960px){ grid-column: 1; } }

	&.Spalten2, &.Spalten3, &.Spalten4, &.Spalten5, &.Spalten6 { 
		@media(max-width:960px){ 
			display: block;
			& > * { padding-bottom: 20px; }
			& > div[class^='SpaltenElementBreite'], & > div[class*=' SpaltenElementBreite'] { grid-column: 1; }
		}
	}
	
	&.Spaltenabstand0 { column-gap: 0; }
	&.SpaltenabstandXXXS { column-gap: var(--XXXS, 10px); }
	&.SpaltenabstandXXS { column-gap: var(--XXS, 20px); }
	&.SpaltenabstandXS { column-gap: var(--XS, 25px); }
	&.SpaltenabstandS { column-gap: var(--S, 40px); }
	&.SpaltenabstandM { column-gap: var(--M, 60px); }
	&.SpaltenabstandL { column-gap: var(--L, 100px); }
	&.SpaltenabstandXL { column-gap: var(--XL, 200px); }
	&.SpaltenabstandXXL { column-gap: var(--XXL, 300px); }
	&.SpaltenabstandXXXL { column-gap: var(--XXXL, 400px); }
	
	&.Zeilenabstand0 { row-gap: 0; }
	&.ZeilenabstandXXXS { row-gap: var(--XXXS, 10px); }
	&.ZeilenabstandXXS { row-gap: var(--XXS, 20px); }
	&.ZeilenabstandXS { row-gap: var(--XS, 25px); }
	&.ZeilenabstandS { row-gap: var(--S, 40px); }
	&.ZeilenabstandM { row-gap: var(--M, 60px); }
	&.ZeilenabstandL { row-gap: var(--L, 100px); }
	&.ZeilenabstandXL { row-gap: var(--XL, 200px); }
	&.ZeilenabstandXXL { row-gap: var(--XXL, 300px); }
	&.ZeilenabstandXXXL { row-gap: var(--XXXL, 400px); }
	
	& > .Spaltenbreite1-2 { grid-column: 1 / 3; @media(max-width:960px){ grid-column: unset; } } 
	& > .Spaltenbreite1-3 { grid-column: 1 / 4; @media(max-width:960px){ grid-column: unset; } } 
	& > .Spaltenbreite1-4 { grid-column: 1 / 5; @media(max-width:960px){ grid-column: unset; } } 
	& > .Spaltenbreite2-2 { grid-column: 2; @media(max-width:960px){ grid-column: unset; } } 
	& > .Spaltenbreite2-3 { grid-column: 2 / 4; @media(max-width:960px){ grid-column: unset; } } 
	& > .Spaltenbreite2-4 { grid-column: 2 / 5; @media(max-width:960px){ grid-column: unset; } } 
	& > .Spaltenbreite3-3 { grid-column: 3; @media(max-width:960px){ grid-column: unset; } } 
	& > .Spaltenbreite3-4 { grid-column: 3 / 5; @media(max-width:960px){ grid-column: unset; } }
	
	& > .Spaltenhöhe1-2 { grid-row: 1 / 3; @media(max-width:960px){ grid-row: unset; } }
	& > .Spaltenhöhe1-3 { grid-row: 1 / 4; @media(max-width:960px){ grid-row: unset; } }
	& > .Spaltenhöhe2-3 { grid-row: 2 / 4; @media(max-width:960px){ grid-row: unset; } }
	
	& > .mittig { align-content: center; }
	& > .unten { align-content: end; }

	&.InhaltVertikalZentrieren { align-items: center; }
	&.InhaltHorizontalZentrieren { justify-content: center; }
	&.ElementeAußen { justify-content: space-between;
		&.Spalten2 > :nth-child(2n) { text-align: right; }
	}
	
	@media(max-width:960px){  
		& > .mobilePosition1 { grid-row: 1; }
		& > .mobilePosition2 { grid-row: 2; }
		& > .mobilePosition3 { grid-row: 3; }
		& > .mobilePosition4 { grid-row: 4; }
		& > .mobilePosition5 { grid-row: 5; }
		& > .mobilePosition6 { grid-row: 6; }
		& > .mobilePosition7 { grid-row: 7; }
		& > .mobilePosition8 { grid-row: 8; }
	}

	.content-image figure {
		height: 100%;
		@media(max-width:960px){ width: 100%; }
		img { object-fit: cover; 
			@media(max-width:960px){ width: 100%; }
		}
	}

}
