/* General
--------------------------------------------------------- */
body {
	background-color: var(--c-lightest-gray);
}
#content {
	padding: 0;
}
.contacts-block {
	display: inline-block;
}

/* Typo
--------------------------------------------------------- */
.h1, .h2, .h3, .h4, .h5, .h6, .elementor-widget-heading h1.elementor-heading-title, .entry-content h1, h1, .elementor-widget-heading h2.elementor-heading-title, .entry-content h2, h2, .elementor-widget-heading h3.elementor-heading-title, .entry-content h3, h3, .elementor-widget-heading h4.elementor-heading-title, .entry-content h4, h4, .elementor-widget-heading h5.elementor-heading-title, .entry-content h5, h5, .elementor-widget-heading h6.elementor-heading-title, .entry-content h6, h6 {
	font-family: var(--ff-default);
	font-weight: 400;
}
.underline {
	text-decoration: underline;
}


/* Header
--------------------------------------------------------- */
header#main-header {
	background: none;
	box-shadow: none;
}
header#main-header .container.xlarge {
	padding-left: var(--space-s);
	padding-right: var(--space-s);
}
#hm-col-1 {
	justify-content: center;
	display: flex;
	align-items: center;
	grid-gap: var(--space-s);
}
.header-contacts {
	display: inline-block;
	font-size: var(--fs-xm);
	text-transform: uppercase;
}
.header-contacts .contacts-block.tel {
	margin-right: var(--space-s);	
}
/* main menu */
#main-menu li a {
	padding: 1.2rem 1rem;
	min-width: 125px;
	text-align: center;
	text-transform: uppercase;
	position: relative;
	font-weight: 400;
	font-size: var(--fs-xm);
}
#main-menu > li > a::after {
	content:"";
	display: block;
	position: absolute;
	top:-1px;
	left:-1px;
	bottom:0;
	right: 0;
	margin:auto;
	width: 125px;
	height: 45px;
	aspect-ratio: 125 / 45;
	border-radius: 50%;
	border: 1px solid var(--c-primary);
	opacity: 0;
	transition: all var(--a-timing-default) var(--a-easing-default);
	pointer-events: none;
}
#main-menu li.current-page-ancestor > a::after, #main-menu li.current-menu-ancestor > a::after, #main-menu li.current-menu-item > a::after {
	opacity: 1;
}
.mobile-menu-inner  {
	padding-top: 100px;
	padding-bottom: 100px;
	background-color: var(--c-primary);
	display: flex;
	align-items: center;
	justify-content: center;
}
.mobile-menu-open .burger::before,
.mobile-menu-open .burger::after {
	background-color: var(--c-white);
}
#mobile-main-menu li a,
.mobile-menu-open header a {
	color: var(--c-text);
}
#mobile-main-menu li.current-menu-ancestor > a, #mobile-main-menu li.current-menu-item > a, #mobile-main-menu li a:hover,
.mobile-menu-open header a:hover {
	color: var(--c-white);
	text-decoration: underline;
}
#mobile-main-menu li a {
	font-size: var(--fs-xxl);
	text-transform: uppercase;
}
.mm-contacts {
	padding: 20px;
	position: fixed;
	bottom: 0;
	left:0;
	display: flex;
	justify-content: space-between;
	align-items:center;
	text-transform: uppercase;
}
.mm-contacts,
.mm-contacts a {
	color: var(--c-text);
}
.mm-contacts a:hover {
	color: var(--c-white);
}
/* @media (max-width:767px) { */
@media (max-width:1024px) {
	header#main-header {
		background: var(--c-lightest-gray);
	}
	.mobile-menu-open header#main-header {
		background: var(--c-lightest-primary);
		color: var(--c-white);
	}
	#logo img, #logo svg {
		height: 60px;
	}
	#content {
		padding-top: 80px;
	}
}
@media (max-height: 510px) {
	.mobile-menu-inner {
		align-items: flex-start;
	}
	.mm-style-image {
		display: none;
	}
}


/* TEST GRID
--------------------------------------------------------- */
.overlay-grid {
	position: absolute;
	top:0;
	left:0;
	width: 100%;
	height: 100%;
	
	display: none !important;
}
.og-col {grid-column: 1 / span 1;grid-row: 1 / span 24;background: rgba(0,255,0,.2);border-right: 1px solid #000;}
.og-row {grid-column: 1 / span 24;grid-row: 1 / span 1;background: rgba(255,0,0,.2);border-bottom: 1px solid #000;}
.og-row:nth-child(2) { grid-row-start: 2; }.og-row:nth-child(3) { grid-row-start: 3; }.og-row:nth-child(4) { grid-row-start: 4; }.og-row:nth-child(5) { grid-row-start: 5; }.og-row:nth-child(6) { grid-row-start: 6; }.og-row:nth-child(7) { grid-row-start: 7; }.og-row:nth-child(8) { grid-row-start: 8; }.og-row:nth-child(9) { grid-row-start: 9; }.og-row:nth-child(10) { grid-row-start: 10; }.og-row:nth-child(11) { grid-row-start: 11; }.og-row:nth-child(12) { grid-row-start: 12; }.og-row:nth-child(13) { grid-row-start: 13; }.og-row:nth-child(14) { grid-row-start: 14; }.og-row:nth-child(15) { grid-row-start: 15; }.og-row:nth-child(16) { grid-row-start: 16; }.og-row:nth-child(17) { grid-row-start: 17; }.og-row:nth-child(18) { grid-row-start: 18; }.og-row:nth-child(19) { grid-row-start: 19; }.og-row:nth-child(20) { grid-row-start: 20; }.og-row:nth-child(21) { grid-row-start: 21; }.og-row:nth-child(22) { grid-row-start: 22; }.og-row:nth-child(23) { grid-row-start: 23; }.og-row:nth-child(24) { grid-row-start: 24; }.og-col:nth-child(2) { grid-column-start: 2; }.og-col:nth-child(3) { grid-column-start: 3; }
.og-col:nth-child(4) { grid-column-start: 4; }.og-col:nth-child(5) { grid-column-start: 5; }.og-col:nth-child(6) { grid-column-start: 6; }.og-col:nth-child(7) { grid-column-start: 7; }.og-col:nth-child(8) { grid-column-start: 8; }.og-col:nth-child(9) { grid-column-start: 9; }.og-col:nth-child(10) { grid-column-start: 10; }.og-col:nth-child(11) { grid-column-start: 11; }.og-col:nth-child(12) { grid-column-start: 12; }.og-col:nth-child(13) { grid-column-start: 13; }.og-col:nth-child(14) { grid-column-start: 14; }.og-col:nth-child(15) { grid-column-start: 15; }.og-col:nth-child(16) { grid-column-start: 16; }.og-col:nth-child(17) { grid-column-start: 17; }.og-col:nth-child(18) { grid-column-start: 18; }.og-col:nth-child(19) { grid-column-start: 19; }.og-col:nth-child(20) { grid-column-start: 20; }.og-col:nth-child(21) { grid-column-start: 21; }.og-col:nth-child(22) { grid-column-start: 22; }.og-col:nth-child(23) { grid-column-start: 23; }.og-col:nth-child(24) { grid-column-start: 24; }


/* Käse Grid
--------------------------------------------------------- */
#kaesground {
	height: 100vh;
	width: 100%;
	position: relative;
}
#say-cheese {
	align-self: end;
	display: flex;
	align-items: flex-end;
}
#say-cheese svg {
	width: 100%;
	height: auto;
	display: block;
}
.kas {
	width: 100%;
	height: 100%;
	position: relative;
}
.kas-text {
	z-index: 3;
	position:relative;	
}
.kas-text a {
	white-space: nowrap;
}
.kas-text-wrapper {
	width: 100%;
}
.kas-text-wrapper a {
	color:var(--c-text);
}
.kas-text-wrapper a:hover {
	color:var(--c-primary);
}
.content-type-4 #kaes-2-text {
	background-size: 180%;
	background-position: 100% center;
	background-repeat: no-repeat;
}
#kaes-1-text {
	font-size: clamp(2.4rem, 1.464rem + 0.800vw, 3.2rem);
}
.img-cap {
	display: block;
	padding: 2px var(--gap-default);
	/* height: 21px; */
	line-height: 1;
	width: 100%;
	text-align:center;
	font-size: clamp(1.4rem, 1.321rem + 0.200vw, 1.8rem);
}
.image-wrapper {
	width: 100%;
	height: 100%;
	overflow: hidden;
	position: relative;
}
.image-wrapper::before {
	content:"";
	position: absolute;
	height: 100%;
	width: 100%;
	z-index: 2;
	left: 0;
	top:0;
	background-color: var(--c-lightest-gray);
	transition: width .6s ease-out .2s;
}
.image-wrapper.inView::before {
	width: 0;
}
.image-wrapper img {
	transform: scale(1.2);
	transition: transform .6s ease-out
}
.image-wrapper.inView img {
	transform: scale(1);
}
@media (min-width: 1025px) {
	#kaes-2 .image-wrapper::before {
		transition-delay: .4s;
	}
	#kaes-3 .image-wrapper::before {
		transition-delay: .8s;
	}
	#kaes-2 .image-wrapper img {
		transition-delay: .4s;
	}
	#kaes-3 .image-wrapper img {
		transition-delay: .8s;
	}
/* @media (min-width: 768px) { */
	.img-cap {
		position: absolute;
		/* bottom: -25px; */
		top: 100%;
	}
	.sm {
		display: none !important;
	}
	.grid.grid-2424 {
		grid-template-columns: repeat(24, 1fr);
		grid-template-rows: repeat(24, 1fr);
	}
	#say-cheese {
		grid-row: 19 / span 5;
	}
	/* type 1 (about) */
	.content-type-1 #kaes-1 {
		grid-column: 5 / span 7;
		grid-row: 1 / span 15;
	}
	.content-type-1 #kaes-1-text {
		grid-column: 2 / span 5;
		grid-row: 12 / span 6;
	}
	.content-type-1 #kaes-2 {
		grid-column: 14 / span 5;
		grid-row: 15 / span 10;
	}
	.content-type-1 #kaes-2-text {
		grid-column: 14 / span 7;
		grid-row: 8 / span 3;
	}
	.content-type-1 #kaes-3 {
		grid-column: 21 / span 4;
		grid-row: 7 / span 8;
	}
	.content-type-1 #kaes-1 .kas-text {
		max-width: 75%;
		bottom: var(--gap-default);
		left: -45%;
	}
	.content-type-1 #kaes-3 .kas-text {
		white-space: nowrap;
		bottom: 40%;
		right: calc(100% + var(--space-s));
	}
	/* type 2 (sortiment) */
	.content-type-2 #kaes-2 {
		grid-column: 3 / span 7;
		grid-row: 9 / span 8;
	}
	.content-type-2 #kaes-1-text {
		grid-column: 2 / span 7;
		grid-row: 5 / span 10;
	}
	.content-type-2 #kaes-1 {
		grid-column: 12 / span 6;
		grid-row: 1 / span 12;
	}
	.content-type-2 #kaes-2-text {
		grid-column: 11 / span 7;
		grid-row: 15 / span 4;
	}
	.content-type-2 #kaes-3 {
		grid-column: 18 / span 4;
		grid-row: 17 / span 8;
	}
	.content-type-2 #kaes-3-text {
		grid-column: 19 / span 5;
		grid-row: 11 / span 6;
	}
	/* type 3 (catering) */
	.content-type-3 #kaes-3 {
		grid-column: 2 / span 5;
		grid-row: 7 / span 11;
	}
	.content-type-3 #kaes-1-text {
		grid-column: 8 /span 6;
		grid-row: 10 / span 7;
	}
	.content-type-3 #kaes-2 {
		grid-column: 10 / span 6;
		grid-row: 1 / span 7;
	}
	.content-type-3 #kaes-2-text {
		grid-row: 5 / span 3;
		grid-column: 17 / span 7;
	}
	.content-type-3 #kaes-1 {
		grid-column: 15 / span 7;
		grid-row: 10 / span 15;
	}
	/* type 4 (standorte) */
	.content-type-4 #kaes-1 {
		grid-column: 6 / span 7;
		grid-row: 1 / span 15;
	}
	.content-type-4 #kaes-1-text {
		grid-column: 3 / span 8;
		grid-row: 10 / span 4;
	}
	.content-type-4 #kaes-2 {
		grid-column: 17 / span 4;
		grid-row: 17 / span 8;
	}
	.content-type-4 #kaes-2-text {
		grid-row: 3 / span 20;
		grid-column: 14 /span 4;
		overflow: auto;
		background: none !important;
	}
	.content-type-4 #kaes-3 {
		grid-column: 19 / span 6;
		grid-row: 7 / span 7;
	}
	.content-type-4 #kaes-3-text {
		grid-row: 3 /span 4;
		grid-column: 14 / span 9;
	}
	/* type 5 (zustellservice) */
	.content-type-5 #kaes-1 {
		grid-column: 1 / span 5;
		grid-row: 5 / span 12;
	}
	.content-type-5 #kaes-1-text {
		grid-column: 8 / span 5;
		grid-row: 5 / span 8;
	}
	.content-type-5 #kaes-2 {
		grid-column: 13 / span 4;
		grid-row: 16 / span 9;
	}
	.content-type-5 #kaes-2-text {
		grid-row: 13 / span 3;
		grid-column: 7 /span 9;
	}
	.content-type-5 #kaes-3 {
		grid-column: 16 / span 7;
		grid-row: 1 / span 13;
	}
	.content-type-5 #kaes-3-text {
		grid-column: 18 / span 6;
		grid-row: 18 / span 4;
	}
	/* type 6 (kontakt) */
	.content-type-6 #kaes-1 {
		grid-column: 11 / span 4;
		grid-row: 7 / span 9;
	}
	.content-type-6 #kaes-1-text {
		grid-column: 1 / span 9;
		grid-row: 11 / span 3;
		text-align: right;
		font-size: var(--fs-xxl);
	}
	.content-type-6 #kaes-2-text {
		/* grid-column: 16 / span 9;
		grid-row: 11 / span 3;
		font-size: var(--fs-xxl); */
		grid-column: 16 / span 9;
		grid-row: 9 / span 9;
	}
	/* type 7 (impressum datenschutz etc) */
	.content-type-7 #kaes-1 {
		grid-column: 7 / span 4;
		grid-row: 7 / span 9;
	}
	.content-type-7 #kaes-1-text {
		grid-column: 13 / span 8;
		grid-row: 4 / span 18;
		overflow: auto;
		text-transform: none;
		font-size: var(--fs-m);
	}
	.content-type-1 #kaes-2 .img-cap,
	.content-type-3 #kaes-1 .img-cap,
	.content-type-4 #kaes-2 .img-cap,
	.content-type-5 #kaes-2 .img-cap,
	.content-type-2 #kaes-3 .img-cap {
		/* bottom: auto;
		top: -25px; */
		top: auto;
		bottom: 100%;
	}
	
}
@media (max-width: 1024px) {
/* @media (max-width: 1080px) { */
	#say-cheese {
		grid-column: 2 / span 10;
	}
}
/* @media (max-width:767px) { */
@media (max-width:1024px) {
	#kaesground {
		height: auto;
		grid-template-columns: repeat(2, 1fr);
	}
	#content #say-cheese,
	#content .kas,
	#content .kas-text {
		grid-column: span 2;
	}
	#content .kas.cover img {
		height: auto;
	}
	#kaes-2-text,
	#say-cheese {
		padding: 6rem;
		text-align:center;
	}
	/* content type 1 */
	#kaes-1-text {
		position: relative;
	}
	#kaes-1-text .kas-text-wrapper a {
		color: var(--c-white);
	}
	#kaes-1-text .kas-text-wrapper a:hover {
		color: var(--c-primary);
	}
	#kaes-1-text .kas-text-wrapper {
		position: absolute;
		bottom: calc((100% - 0px) * -1);
		left: 0;
		padding: var(--gap-default) 40px;
		color: #fff;
		text-align:center;
	}
	.content-type-1 #kaes-2,
	.content-type-1 #kaes-3,
	.content-type-5 #kaes-2,
	.content-type-5 #kaes-3 {
		grid-column: span 1;
		grid-row:4;
	}
	.img-cap,
	.image-wrapper {
		height: auto;
	}
	.img-cap {
		padding-top: 6px;
	}
	#content #kaes-1 img {
		min-height: 70vh;
		max-height: 70vh;
	}
	#content .content-type-1 #kaes-2 .image-wrapper,
	#content .content-type-1 #kaes-3 .image-wrapper,
	#content .content-type-5 #kaes-2 .image-wrapper,
	#content .content-type-5 #kaes-3 .image-wrapper,
	#content .content-type-1 #kaes-2 img,
	#content .content-type-1 #kaes-3 img,
	#content .content-type-5 #kaes-2 img,
	#content .content-type-5 #kaes-3 img {
		height: 100%;
	}
	#say-cheese {
		grid-row: 3;
	}
	.content-type-2 #kaes-3,
	.content-type-3 #kaes-3,
	.content-type-4 #kaes-3 {
		grid-row: 4;
		padding: 0 20vw 6rem;
	}
	.content-type-2 #kaes-3-text,
	.content-type-3 #kaes-3-text,
	.content-type-4 #kaes-3-text,
	.content-type-5 #kaes-3-text {
		grid-row: 5;
		padding: 0 6rem 4rem;
		text-align: center;
	}
	.content-type-5 #kaes-3-text {
		padding: 6rem 6rem 4rem;
	}
	.content-type-4 #kaes-1-text {
		grid-row: 4;
	}
	/* .content-type-5 #kaes-1-text .kas-text-wrapper, */
	.content-type-4 #kaes-1-text .kas-text-wrapper {
		position: static;
		color: var(--c-text);
	}
	.content-type-4 #kaes-2,
	.content-type-4 #kaes-3 {
		display: none;
	}
	.content-type-4 #kaes-1 {
		grid-row: 1;
		grid-column: 1 / span 2;
	}
	.content-type-4 #kaes-1 img {
		height: 100% !important;
	}
	.content-type-4 #kaes-2-text {
		grid-row: 1;
		grid-column: 1 / span 2;
		color: #fff;
	}
	#content .content-type-6 #kaes-1 img {
		min-height: 50vh;
		max-height: 500px;
	}
	.content-type-7 #kaes-1-text .kas-text-wrapper,
	.content-type-6 #kaes-1-text .kas-text-wrapper {
		position: static;
		color: var(--c-text);
	}
	.content-type-6 #kaes-1-text {
		padding: 6rem 6rem 0 6rem;
		font-size:var(--fs-xxl);
	}
	.content-type-6 #kaes-1-text a {
		color: var(--c-text) !important;
	}
	.content-type-6 #kaes-1-text a:hover {
		color: var(--c-white) !important;
	}
	.content-type-6 #kaes-2-text {
		padding-top: 0;
		padding-bottom: 0;
		font-size:var(--fs-xxl);
	}
	.content-type-6 #say-cheese {
		grid-row: auto;
	}
	#content .content-type-7 #kaes-1 {
		text-align:center;
	}
	#content .content-type-7 #kaes-1 img {
		max-width: 35vw;
		min-height: 100px;
		margin-bottom: 6rem;
		margin-top: 6rem;
	}
	#content .content-type-7 #kaes-1-text .kas-text-wrapper {
		text-align:justify;
	}
	#content .content-type-7 #kaes-1-text .kas-text-wrapper a {
		color: var(--c-primary);
	}
	#content .content-type-7 #kaes-1-text .kas-text-wrapper a:hover {
		color: var(--c-primary-alt);
	}
	.content-type-5 #kaes-2-text {
		display: none;
	}
}


/* Kontakt Seite
--------------------------------------------------------- */
body.page-id-554 {
	background-color:var(--c-primary);
}
body.page-id-554 .header-contacts a,
body.page-id-554 #main-menu li a,
body.page-id-554 .kas-text a {
	color: var(--c-text);
}
body.page-id-554 #footer-menu li a:hover,
body.page-id-554 .header-contacts a:hover,
body.page-id-554 #main-menu li a:hover,
body.page-id-554 .kas-text a:hover {
	color: var(--c-white);
}
body.page-id-554 #main-menu li.current-menu-item > a {
	color: var(--c-white);
}
body.page-id-554 #main-menu li.current-menu-item a::after {
	border-color: var(--c-white);
}


/* Datenschutz & Impressum & Kontakt
--------------------------------------------------------- */
.content-type-4 #kaes-2-text,
.content-type-7 #kaes-1-text {
	grid-row: 4;
	overflow: visible;
}
.content-type-4 #kaes-2-text .kas-text-wrapper,
.content-type-7 #kaes-1-text .kas-text-wrapper {	
	padding-bottom: 20px;
}
.content-type-4 #kaes-2-text {
	grid-row: 7;
}


/* Footer
--------------------------------------------------------- */
footer#main-footer {
	/* position: fixed; */
	bottom: var(--space-s);
	right: var(--space-s);
	padding-top: var(--space-s);
	padding-bottom: var(--space-s);
}
#footer-menu li {
	display: inline-block;
	float: none;
	width: auto;
	margin: 0 0 0.6rem 0;
}
#footer-menu li a {
	float: none;
	padding: 0;
	text-transform: uppercase;
	color: var(--c-text);
	font-size: var(--fs-m);
}
#footer-menu li a:hover {
	color: var(--c-primary);
}
@media (min-width: 1025px) {
/* @media (min-width: 1081px) { */
	footer#main-footer {
		position: fixed;
		padding-top: 0;
		padding-bottom: 0;
	}
	#footer-menu li {
		display: block;
		text-align: right;
		margin: 0.6rem 0 0 0;
	}
}
@media (max-width: 1024px) {
/* @media (max-width: 767px) { */
	footer#main-footer {
		background-color: var(--c-text);
	}
	#footer-menu {
		text-align:center;
	}
	#footer-menu li {
		margin: 10px;
	}
	#footer-menu li a {
		color: var(--c-white);
	}
	#footer-menu li a:hover {
		color: var(--c-primary);
	}
}
.footer-contacts {
	display: none;
	align-items: center;
	justify-content: space-between;
	padding: 20px;
}
@media (max-width: 767px) {
	.header-contacts {
		display: none;
	}
	.footer-contacts {
		display: flex;
	}
}
@media (max-width: 340px) {
	.footer-contacts {
		flex-direction: column;
		justify-content: center;
		grid-gap: 20px;
	}
}

/* Standorte
--------------------------------------------------------- */
.kasalm-standort {
	margin-bottom: var(--gap-default);
}
/* .standort-name {
	font-size: clamp(1.8rem, 1.688rem + 0.300vw, 2.2rem);
} */


/* Animations
--------------------------------------------------------- */
/* default */
.elementor-widget-heading, .elementor-widget-text-editor, .animate {
	opacity: 0;
	transform: translateY(40px);
	transition: all var(--a-timing-default) var(--a-easing-default);
}
.elementor-widget-button .elementor-button, .button {
	opacity: 0;
	transform: translateY(40px);
}
/* only fade */
.fadeIn {
	opacity: 0;
	transition: all var(--a-timing-default) var(--a-easing-default);
}
/* animation complete */
.elementor-editor-active .elementor-widget-heading,
.elementor-editor-active .elementor-widget-text-editor,
.elementor-editor-active .elementor-widget-button .elementor-button,
.elementor-editor-active .button,
.elementor-editor-active .animate,
.elementor-widget-heading.inView,
.elementor-widget-text-editor.inView,
.elementor-widget-button .elementor-button.inView,
.button.inView,
.animate.inView {
	opacity: 1;
	transform: translateY(0px);
}
.elementor-editor-active .fadeIn,
.fadeIn.inView {
	opacity: 1;
}