/* ==================================================
1. FONTS
================================================== */
@font-face {
	font-family: 'GeneralSans-Variable';
	src: url('/fonts/GeneralSans-Variable.woff2') format('woff2'),
		url('/fonts/GeneralSans-Variable.woff') format('woff'),
		url('/fonts/GeneralSans-Variable.ttf') format('truetype');
	font-weight: 200 700;
	font-display: swap;
	font-style: normal;
}
@font-face {
	font-family: 'GeneralSans-VariableItalic';
	src: url('/fonts/GeneralSans-VariableItalic.woff2') format('woff2'),
		url('/fonts/GeneralSans-VariableItalic.woff') format('woff'),
		url('/fonts/GeneralSans-VariableItalic.ttf') format('truetype');
	font-weight: 200 700;
	font-display: swap;
	font-style: italic;
}
@font-face {
	font-family: 'themify';
	src: url('/fonts/themify.eot?-fvbane');
	src: url('/fonts/themify.eot?#iefix-fvbane') format('embedded-opentype'),
		url('/fonts/themify.woff?-fvbane') format('woff'),
		url('/fonts/themify.ttf?-fvbane') format('truetype'),
		url('/fonts/themify.svg?-fvbane#themify') format('svg');
	font-weight: normal;
	font-style: normal;
	font-display: swap;		
}
[class^="ti-"], [class*=" ti-"] {
	font-family: 'themify';
	speak: none;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;
}
.ti-menu:before         { content: "\e68e"; }
.ti-menu-alt:before     { content: "\e68f"; }
.ti-facebook:before     { content: "\e741"; }
.ti-instagram:before    { content: "\e73d"; }
.ti-close:before        { content: "\e646"; }
.ti-download:before     { content: "\e6a7"; }
.ti-arrow-right:before  { content: "\e628"; }
.ti-new-window:before   { content: "\e732"; }
.ti-line-double:before  { content: "\e6e5"; }
.ti-info:before         { content: "\e697"; }

/* ==================================================
2. RESET
================================================== */
p, h1, h2, h3, h4, h5, h6 {
	overflow-wrap: break-word;
}
html, body, span, div, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr,
acronym, address, big, cite, code, del, dfn, em, img,
ins, kbd, q, s, samp, small, strike, strong, sub, sup,
tt, var, b, u, i, center, dl, dt, dd, ol, ul, li,
fieldset, form, label, legend, table, caption, tbody,
tfoot, thead, tr, th, td, article, aside, canvas,
details, embed, figure, figcaption, footer, header,
hgroup, menu, nav, output, ruby, section, summary,
time, mark, audio, video, input, button, textarea, select {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;	
}
/* HTML5 reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, main {
	display: block;
}

/* ==================================================
3. ROOT COLOR VARIABLES
================================================== */
:root {
	--main-color:        #008343;
	--font-main-color:   #000000;
	--font-light-color:  #999999;
	--link-color:        #008343;
	--background-color:  #efefef;
	--naviback-color:    #008343;
}

/* ==================================================
4. SKIP-TO-CONTENT
================================================== */
.skip-link {
	position: absolute;
	top: -40px;
	left: 0;
	color: var(--main-color);
	padding: 5px;
	z-index: 9999;
}
.skip-link:focus {
	top: 0;
	outline: 2px solid var(--main-color)
}

/* ==================================================
5. BOX-SIZING
================================================== */
*, *::before, *::after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing:    border-box;
	box-sizing:         border-box;
	*behaviour: url(/includes/boxsizing.htc);  
}

/* ==================================================
6. BASIC STYLES
================================================== */
html {
	font-family: 'GeneralSans-Variable', Helvetica, Arial, sans-serif;	
	font-size: 1rem;
	font-weight: 430;
	line-height: 150%;
	min-height: 100vh;
	max-width: 100%;
	color: var(--font-main-color);
	background: #fff;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing:  grayscale;	
	-webkit-tap-highlight-color: transparent; 
	outline-color: unset;	
	-webkit-animation-name:   FadeIn;
	-webkit-animation-timing-function: ease-in-out;
	-webkit-animation-duration:       400ms;  
	-moz-animation-name:      FadeIn;
	-moz-animation-timing-function:  ease-in-out;
	-moz-animation-duration:         400ms;
}
h1, h2, h3, h4 {
	font-weight: 480;
	letter-spacing: .5px;	
}

/* --------------------------------------------------
Headings
-------------------------------------------------- */
h1 {
	font-size: 1.4rem;
	text-transform: uppercase;
	margin: 0 0 20px 0;	
	line-height: 140%;		
}
h2 {
	font-size: 1.2rem;
	text-transform: uppercase;	
	hyphens: auto;	
	margin: 20px 0 18px 0;	
	line-height: 150%;
}
h3 {
	font-size: 1.1rem;
	text-transform: uppercase;
	margin: 1.5rem 0 1rem 0 !important;	
	color: var(--main-color);
	line-height: 150%;	
}

/* --------------------------------------------------
Text & Media
-------------------------------------------------- */
p, td {
	margin: 0 0 1rem 0;
	font-size: 1.1rem;	
	line-height: 150%;		
}
a, a:link, a:visited {
	color: var(--main-color);
	text-decoration: none;
}
a:focus {
	border: 0;
	outline: 0;
}
a:hover, a:active {
	color: var(--main-color);	
	text-decoration: none;
}
a img:hover {
	opacity: 0.8;
}
img {
	max-width: 100%;
	height: auto;
	border: 0;
}
strong, b {
	font-weight: 490;
}
i, em {
	font-family: 'GeneralSans-VariableItalic';
}
audio {
	width: 100%;
	max-width: 600px;	
	border-radius: 25px;
	background-color: #f0f3f4;
	margin-bottom: 30px;
}
.audio-wrapper {
	margin: 0 0 25px 0;
}

/* ==================================================
7. UTILITIES
================================================== */
.none         { display: none; }
.grey         { color: var(--font-light-color); font-size: 0.87rem; line-height: 125%; margin: 0 0 20px 0; }
.bu           { color: #666; font-size: 0.87rem; line-height: 125%; }
.red          { color: #af1d47; }
.center       { text-align: center; }
.white        { font-size: 0.8rem; opacity: 0.8; line-height: 110%; color: #fff; }
.white2       { color: #fff; }


.tooltip {
	visibility: hidden;
	background-color: rgba(0,0,0,.8);
	color: white;
	text-align: center;
	border-radius: 4px;
	padding: 5px;
	position: absolute;
	bottom: 120%;
	left: 50%;
	transform: translateX(-50%);
	font-size: 0.8rem;
	white-space: nowrap;
	z-index: 1001;
	opacity: 0;
	transition: opacity 0.3s;
}


/* ==================================================
8. LINKS & BUTTONS
================================================== */
a.more {
	color: var(--main-color);	
	text-transform: uppercase;
	position: relative;
	letter-spacing: 1px;
	font-size: 1rem;
	background-image: linear-gradient(currentColor, currentColor);
	background-position: 0% 100%;
	background-repeat: no-repeat;
	background-size: 100% 1px;	
	transition: all .2s ease-in-out;	
	font-weight: 490;	
}
a.more:hover {
	color: var(--main-color);	
}
.more2 {
	color: var(--main-color);
	text-transform: uppercase;
	position: relative;
	letter-spacing: 1px;
	font-size: 1rem;
}
a.download {
	color: #fff;
	background: var(--main-color);	
	text-transform: uppercase;
	position: relative;
	padding: 2px 6px 3px 6px;
	transition: all .2s ease-in-out;	
	cursor: pointer;
	font-size: 1rem;	
}
a.download:hover {
	opacity: 0.8;
	text-decoration: none;
}
a.flyer {
	background: none !important;
	text-transform: uppercase;
	transition: all .2s ease-in-out;	
	cursor: pointer;
	font-size: 1rem;	
}
a.flyer:hover {
	opacity: 0.8;
	text-decoration: none;
}

/* ==================================================
9. LAYOUT BASICS
================================================== */
.flex-center {
	display: flex;
	justify-content: center;
	width: 100%;
}
.flex-between {
	display: flex;
	justify-content: space-between;
	width: 100%;
}
hr {
	border: 0;
	border-top: 1px solid #fff;
	background: #fff;
	height: 1px;
	clear: both;
	margin: 20px 0;
	opacity: 0;	
}
#service td {
	border-top: 1px solid #ddd;	
	padding: 5px 0;
}

/* ==================================================
10. ALERTS
================================================== */
#alert {
	display: block;
	width: 100%;
	margin: 0 0 20px 0;
	background: #b01968;
	color: #fff !important;
	padding: 16px;
	font-size: 1rem;
	line-height: 140%;
	text-transform: uppercase;
	font-weight: 490;
	letter-spacing: 0.5px;	
}

#alert a {
	color: #fff; 
	border-bottom: 1px solid #fff;
}

#alert2 {
	display: block;
	width: 100%;
	padding: 16px;
	border: 1px solid #b01968;	
	font-weight: 550;	
	font-size: 1.1rem;
	line-height: 140%;	
	color: #b01968 !important;		
}
#alertdetails  {
	color: #b01968;	
	font-weight: 490;	
}
#alertdetails ul {
	padding: 0 20px;	
}
#alertdetails ul li {
	margin: 0 0 10px 0 !important;	
}
#alertdetails summary {
	color: #b01968;
	font-size: 1rem;
	margin: 15px 0;
	font-weight: 490;
	text-transform: uppercase;
	letter-spacing: 1px;	
}
#alertdetails summary:focus, #alertdetails summary:active {
	outline: 0;
}
#eventalert {
	display: block;
	width: 100%;
	margin: 15px 0;
	color: #fff;
	text-align: center;
	background: #db3e77;			
}
#eventalert a {
	display: flex;
	width: 100%;	
	justify-content: center;
	color: #fff; 
	padding: 10px;
	text-decoration: none;
}
.booked {
	color: #b01968;
}

/* ==================================================
11. COOKIEBOT
================================================== */
.cookieconsent-optout-marketing {
	background: rgba(0,0,0,.1);
	padding: 2rem 1rem 1rem 1rem;
	margin: 0 0 1rem 0;
	text-align: center;
}
#CookieDeclarationUserStatusLabelOn,
#CookieDeclarationUserStatusLabelOff,
#CookieDeclarationChangeConsentChange,
#CookieDeclarationChangeConsentWithdraw {
	font-size: 1.1rem;
	color: #af1d47;
	font-weight: 490;
	line-height: 150%;
	margin: 0 0 18px 0;
}

/* ==================================================
12. RESPONSIVE CONTAINER
================================================== */
.responsiveContainer {
	position: relative;
	width: 100%;
	margin-top: 10px;
	padding-bottom: 56.25%;
	height: 0;
}
.responsiveContainer iframe,
.responsiveContainer video {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.video-container {
	max-width: 100%;
	margin: 0 auto;
}
.video-container video {
	width: 100%;
	height: auto;
}
video { display: block; }

/* ==================================================
13. GRADIENT ANIMATION
================================================== */
@keyframes gradient {
	0% { background-position: 0% 50%; }
	50% { background-position: 100% 50%; }
	100% { background-position: 0% 50%; }
}

/* ==================================================
14. WRAPPER & HEADER
================================================== */
#wrapper {
	margin: 0 auto;
	position: relative;
	width: 100%;
}
#header {
	width: 100%;
	display: block;
	padding: 15px;
	background: #fff;
	position: relative;	
}
.header-wrapper {
	margin: 0 auto;
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: relative;
}
.header-wortmarke {
	width: 150px;
	height: auto;
	text-align: center;
	display: block;
	overflow: hidden;
}
.header-wortmarke a {
	display: flex;
	justify-content: flex-start;
	align-items: center;	
	padding: 0;
	margin: 0;
	width: 100%;
	height: 100%;
	cursor: pointer;
}
.header-wortmarke .logo-svg {
	width: 150px;
	height: auto;
	display: inline-block;
	padding: 0;
	margin: 0;
	box-sizing: content-box;
}
.header-logo {
	width: 100px;
	padding: 0 15px;
}
.menu-wortmarke {
	width: 150px;
}
.menu-logo {
	width: 100px;
	padding: 0 15px;
	margin-left: -38px;	
}
.button-wrapper {
	display: flex;
	justify-content: flex-end;
	align-items: center;	
	padding: 0;
}
#header-lang {
	font-size: 1.2rem;	
	letter-spacing: 1px;
	margin-left: 2rem;
	position: absolute;
	right: 50px;
}
#header-lang a, a:link, a:visited {
	color: var(--main-color);
	text-decoration: none;
}



#navi-button {
	font-size: 2rem;
	width: 60px;
	height: 50px;
	text-align: center;
	display: flex;
	justify-content: flex-end;
	align-items: center;
	color: var(--main-color);		
	background: #fff;
	transition: all .3s ease;
	cursor: pointer;
}

/* ==================================================
15. BIGIMAGE
================================================== */
#bigimage {
	width: 100%;
	margin: 0 auto;
	display: block;
	position: relative;
	overflow: hidden;
}
#bigimage img {
	width: 100%;
	height: auto;
	margin: 0;
}
#bigimage .bu {
	position: absolute;
	bottom: 10px;
	right: 10px;
	padding: 5px;
	font-size: 0.75rem;
	opacity: 0.7;
	line-height: 110%;
	color: #fff;
	text-align: right;
}
#bigimage-wrapper p {
	text-align: center;
}

/* ==================================================
16. CONTENT
================================================== */
#content {
	padding: 0 15px;
}
#content-wrapper,
#content-wrapper2 {
	margin: 45px auto;
	overflow: auto;
}
#content-wrapper h1 {
	font-size: 1.4rem;
}
#content h2 { font-size: 1.2rem; }
#content h3 { font-size: 1.1rem; }
#content p { hyphens: auto; }
#content-left img { margin-top: 20px; }
#content-right { margin: 30px 0; }
#content-right span { opacity: .8; }
#content-right audio {
	width: 100%;
	margin: 0 0 15px auto;
}
#content-right-old { margin: 30px 0; }
#content .noborder { margin-top: -10px; }
#content ul li { margin: 0 0 1rem 1rem; }

/* ==================================================
17. LINKS (Inline)
================================================== */
.link {
	text-transform: uppercase;
	color: #fff !important;
	text-decoration: none;
	background-image: none !important;	
	padding: 4px 8px 5px 8px;
	margin: 0 0 3px 0;
	display: inline-block;
	width: 100%;
	letter-spacing: 1px;
	background: #999;
	font-size: 1rem;
	transition: all .2s ease-in-out;	
	font-weight: 490;
}
.link:hover {
	opacity: 0.8;	
}

/* ==================================================
18. SUMMARY
================================================== */
summary {
	font-size: 1rem;
	cursor: pointer;
	margin: 0 0 20px 0;
	text-transform: uppercase;
	letter-spacing: 1px;
	color: var(--font-main-color);		
}

/* ==================================================
19. SHOP & SOCIAL WRAPPER
================================================== */
.wrapper {
	width: 100%;
	margin: 0 auto;
	padding: 0 15px;	
}

/* ==================================================
20. SHOP BUTTON
================================================== */
#shop-button {
	width: 100%;
	height: auto;
	display: block;
	background: var(--main-color);
	margin: 15px auto 0 auto;	
	border-bottom: 1px solid #fff;
	font-size: 0.9rem;	
	line-height: 150%;
	letter-spacing: 1px;
}
#shop-button a {
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;	
	padding: 10px 15px;
	color: #fff;
	cursor: pointer;
	text-transform: uppercase;
	background: rgba(0,0,0,.1);	
}

/* ==================================================
21. SOCIAL
================================================== */
#social {
	background: var(--main-color);
	width: 100%;
	margin: 0 auto 30px auto;
	padding: 20px 15px 15px 15px;
	font-weight: 430;		
	letter-spacing: .1px;
}
#social h3 {
	margin: 0 0 20px 0;	
	color: #fff;
}
#social div {
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	flex-direction: column;
	color: #fff;
	padding: 15px 10px;
	font-size: 0.87rem;	
}
#social div a { color: #fff; }
#social .ti-facebook {
	border: 2px solid #fff;
	font-size: 2rem;
	padding: 8px;
	border-radius: 10px;
}
#social .ti-instagram {
	font-size: 3rem;
	padding: 8px;
}
#social .newsletter a {
	margin: 1em 0 1em 0;	
	border: 0;
	border-radius: 5px;
	color: #fff;
	padding: 8px 12px;
	text-align: center;	
	font-size: 1rem;
	text-transform: uppercase;
	letter-spacing: 1px;
	width: 300px;
	font-family:'GeneralSans-Variable';	
	transition: all .3s ease-in-out;	
	border: 1px solid white;
}
#social .newsletter a:hover {
	background: white;	
	color: var(--main-color);
	cursor: pointer;
}
#social .ti { font-size: 0.87rem; }
#social label { display: none; }

/* ==================================================
22. FOOTER
================================================== */
#footer {
	width: 100%;
	margin: 0 auto;	
	padding: 1px 15px 60px 15px;
	font-weight: 350;	
	position: relative;
}
#footer a {
	text-decoration: none;
	color: var(--font-main-color);
}
#menu {
	width: 100%;
	margin: 0 auto;
	padding: 0 4px 40px 4px;		
}
#menu ul {
	list-style: none;
	display: block;
	font-size: 1.1rem;
	margin: 0;
}
#menu ul li {
	line-height: 200%;
	margin: 30px 0 0 0;
	text-align: left;
	font-weight: 490;
}
#menu ul li a {
	color: var(--font-main-color);
	text-decoration: none;
}
#menu ul li a.aktiv {
	color: var(--main-color);		
}
#menu ul li ul li {
	margin: 0;
	font-weight: 350;	
}
#imprint {
	list-style: none;
	display: block;
	font-size: 1.1rem;
	margin: 3rem 0;
}
#imprint li {
	margin: 12px 0 0 0;
	font-weight: 350;	
}
#imprint li a {
	font-weight: 350;	
}

/* ==================================================
23. “BACK TO TOP” BUTTON
================================================== */
.cd-top {
	display: inline-block;
	height: 40px;
	width: 40px;
	position: fixed;
	bottom: 15px;
	right: 15px;
	z-index: 10;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.05);
	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
	background: rgba(0,0,0,0.3) url(/img/layout/cd-top-arrow.svg) no-repeat center 50%;
	background: var(--main-color) url(/img/layout/cd-top-arrow.svg) no-repeat center 50%;
	visibility: hidden;
	opacity: 0;
	-webkit-transition: opacity .3s 0s, visibility 0s .3s;
	-moz-transition:    opacity .3s 0s, visibility 0s .3s;
	transition:         opacity .3s 0s, visibility 0s .3s;
}
.cd-top.cd-is-visible,
.cd-top.cd-fade-out,
.no-touch .cd-top:hover {
	-webkit-transition: opacity .3s 0s, visibility 0s 0s;
	-moz-transition:    opacity .3s 0s, visibility 0s 0s;
	transition:         opacity .3s 0s, visibility 0s 0s;
}
.cd-top.cd-is-visible {
	visibility: visible;
	opacity: 0.7;
}
.cd-top.cd-fade-out {
	opacity: 0.7;
}
.no-touch .cd-top:hover,
.cd-top:hover {
	transition: all .2s ease-in-out;
	opacity: 1;
}

/* ==================================================
24. FADEIN KEYFRAMES
================================================== */
@-webkit-keyframes FadeIn { 0% { opacity:0; } 100% { opacity:1; } }
@-moz-keyframes    FadeIn { 0% { opacity:0; } 100% { opacity:1; } }
@keyframes         FadeIn { 0% { opacity:0; } 100% { opacity:1; } }

/* ==================================================
25. MEDIA QUERIES: MOBILE
================================================== */
@media only screen and (max-width: 767px) {
	.no-mobile { display: none !important; }
}

/* ==================================================
26. MEDIA QUERIES: TABLET & DESKTOP
================================================== */
@media only screen and (min-width: 769px) {
	/* Layout */
	#wrapper {
		max-width: 1580px;
	}

	/* Header */
	#header {
		position: fixed;
		top: 0;
		left: 0;
		padding: 15px 30px;
		height: 130px;
		z-index: 100;
		transition: box-shadow 200ms cubic-bezier(0.33, 1, 0.68, 1);
	}
	#header.active {
		box-shadow: hsla(0 0% 0% / 0.1) 0 0.5rem 1rem;
		transition-duration: 400ms;
	}
	#header a:hover {
		opacity: 0.8;
	}

	.header-wortmarke, .header-wortmarke .logo-svg {
		width: 200px;
	}
	.header-logo {
		width: 120px;
		margin-left: -150px;
	}
	.header-logo img:hover {
		transform: rotate(360deg);
		transition: 1s ease-in-out;	
	}
	.menu-wortmarke {
		padding-top: 10px;
		width: 200px;
	}
	.menu-logo {
		width: 120px;
		margin-left: -195px;
	}

	/* Shop Button */
	#shop-button {
		position: absolute;
		right: 100px;
		top: 30px;
		z-index: 105;
		width: auto;
		border: 0;
		opacity: 1;
		display: flex;
		justify-content: center;
		align-items: center;
		background: #fff;
		margin: 0;
		font-size: 1rem;
	}
	#shop-button a, #shop-button a:visited {
		display: inline;
		text-align: center;
		padding: 6px 10px;
		color: var(--main-color);
		background: none;
		transition: all .2s ease-in-out;
	}
	#shop-button a:hover {
		text-decoration: none;
		background: none;
		color: #000;
		opacity: .7;
	}

	/* Navi */
	#navi-button:hover {position: relative; color: #000; opacity: .5; }

	#navi-button:hover .tooltip {
		visibility: visible;
		opacity: 1;
		z-index: 100;
		bottom: 50px;
		left: 50%;
		font-weight: 550;
		font-family: 'GeneralSans-Variable', Helvetica, Arial, sans-serif;			
	}		

	#id273, #li273 { display: none; }

	/* Alert */
	#alert { padding: 12px 30px; }

	/* Bigimage */
	#bigimage { padding: 160px 30px 0 30px; }
	#bigimage .bu { right: 40px; }

	/* Content */
	#content {
		margin: 140px auto 0 auto;
		padding: 0 30px;
		max-width: 1580px;
	}
	#content h1 { font-size: 1.8rem; }
	#content h2 { font-size: 1.4rem; }
	#content h3 { font-size: 1.2rem; }
	#content a {
		text-decoration: none;
		background-image: linear-gradient(currentColor, currentColor);
		background-position: 0% 100%;
		background-repeat: no-repeat;
		background-size: 0% 1px;
		transition: background-size cubic-bezier(0,.5,0,1) 0.3s;
	}
	#content a:hover, #content a:focus {
		background-size: 100% 1px;
	}
	#content .noborder a { background-image: none; }

	#content-wrapper {
		padding: 15px 0;
		width: 100%;
		display: flex;
		justify-content: center;
	}
	#content-wrapper2 {
		padding: 15px 0;
		width: 100%;
	}
	#content-left {
		flex: 1 0 65%;
		padding: 20px 30px 30px 0;
		max-width: 800px;
		min-height: 400px;
	}
	#content-right {
		margin: 0 0 30px 0;
		flex: 1 1 35%;
		padding: 30px 0 30px 30px;	
	}
	#content-right-old {
		flex: 0 1 auto;
		padding: 0 0 0 30px;
		margin: 7px 0 30px 0;
		max-width: 400px;
	}
	#content-right-old p {
		color: var(--font-light-color);
		font-size: 0.87rem;
		line-height: 125%;
		margin: 0 0 20px 0;
	}
	#content-right-old .buchheim-fotos {
		max-width: 300px;
	}

	/* Listing */
	#listing-grid-wrapper-old {
		grid-template-columns: 1fr 1fr;
	}
	.listing-wrapper-old {
		width: 48%;
	}
	.flex-between-larger-screen {
		display: flex;
		justify-content: space-between;
		width: 100%;
	}

	/* Wrapper padding */
	.wrapper { padding: 0 30px; }

	.box-wrapper {
		margin: 0 auto;
		width: 100%;
		display: flex;
		justify-content: flex-start;
		overflow: auto;
	}
	.box-wrapper div {
		padding-right: 60px;
		min-width: 330px;
	}

	/* Social */
	#social {
		display: flex;
		justify-content: center;
		align-items: center;
		margin: 30px auto;
		padding-top: 30px;		
	}
	#social div {
		flex: 0 0 33.33%;
		border: 0;
	}

	/* Footer */
	#footer {
		width: 100%;
		padding: 30px 30px 300px 30px;
		text-align: center;
		margin: 0 auto;
	}
	#menu {
		padding-bottom: 60px;
	}
	#menu ul {
		display: flex;
		justify-content: space-between;
		text-align: left;
	}
	#menu ul ul { display: block; }
	#menu ul ul li { padding: 0 20px 0 0; }
	#menu ul li a:hover {
		color: var(--main-color);
	}
	#imprint {
		display: flex;
		justify-content: center;
		text-align: center;
	}
	#imprint li { margin: 0 10px; }
	#footer a, #menu a {
		text-decoration: none;
		background-image: linear-gradient(currentColor, currentColor);
		background-position: 0% 100%;
		background-repeat: no-repeat;
		background-size: 0% 1px;
		transition: background-size cubic-bezier(0,.5,0,1) 0.3s;
	}
	#footer a:hover {
		color: var(--main-color);
	}
	#footer a:hover, #menu a:hover, #menu a:focus, #menu a.aktiv {
		background-size: 100% 1px;
	}
	.cd-top {
		right: 30px;
		bottom: 15px;
	}
}

/* ==================================================
27. MEDIA QUERIES: ≥1280px
================================================== */
@media (min-width: 1280px) {
	#wrapper {
		padding: 0 40px;
	}
	#header {
		padding: 15px 70px;
	}
	.header-logo {
		width: 140px;
		margin-left: -135px;
	}
	.menu-logo {
		width: 130px;
		margin-left: -150px;
	}
	#bigimage-wrapper {
		margin: 0 auto;
		padding: 0 30px;
		max-width: 100%;
		overflow: auto;
	}
	#bigimage {
		max-width: 100%;
	}
	#content-left { padding-right: 10px; }
	#content-right { padding-left: 60px; }
	.cd-top {
		right: 70px;
		bottom: 30px;
	}
}

/* ==================================================
28. MEDIA QUERIES: ≥1580px
================================================== */
@media (min-width: 1580px) {
	#wrapper { padding: 0; }
	#header { padding: 15px 0; }
	.header-wrapper {
		max-width: 1580px;
		padding: 0 30px;
	}
	.wrapper { padding: 0; }
	#bigimage {
		width: 100%;
		max-width: 1520px;
		padding: 160px 0 0 0;
	}
	#content-left {
		flex: 1 0 65%;
		padding: 30px 60px 30px 0;
		max-width: 960px;
		min-height: 400px;
	}
	#content-right { flex: 1 1 35%; }
	#shop-button, #social {
		max-width: 1520px;
	}
	#social { max-width: 1520px; }
}

/* ==================================================
29. Font Size Adaption
================================================== */

.font-buttons {
	display: flex;
	gap: 20px;
	position: fixed;
	bottom: 30px;
	right: 30px;
	z-index: 1000;	
}

.font-button {
	background-color: #f2f2f2;
	color:  var(--main-color);
	border: none;
	border-radius: 4px;
	padding: 8px 12px;
	font-size: 1rem;
	font-weight: 600;	
	cursor: pointer;
	transition: background-color 0.3s;
	opacity: 1;
}

.font-button:hover {
	opacity: .7;
}

.font-button:hover .tooltip {
	visibility: visible;
	opacity: 1;
}	

@media (min-width: 1024px) {

	.font-buttons {
		gap: 5px;
		left: 30px;
		right: auto;
	}

}	