@charset "utf-8";

/* =========================================
    			CSS Reset
======================================== */
*{ margin:0; padding:0; }
html, body, div, span, 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, input, textarea,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, main, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin:0;
	padding:0;
	border:0;
	font-size:100%;
	font:inherit;
	vertical-align:baseline;
	float:none;
}
article, aside, details, figcaption, figure, 
footer, header, main, hgroup, menu, nav, section {
	display:block;
}
blockquote, q {
	quotes:none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content:none;
}
table {
	border-collapse:collapse;
	border-spacing:0;
}
/*--------------------------- Ende CSS Reset ---------------------------*/

/*@font-face { font-family: 'Tally Text Bold 1';
             src: url('../fonts/Tally Text Bold 1.woff2') format('truetype'); }
@font-face { font-family: 'Oswald';
             src: url('../fonts/Oswald-VariableFont_wght.woff2') format('truetype'); }*/
@font-face { font-family: 'Aston-Script';
             src: url('../fonts/Aston Script.woff2') format('truetype'); }
@font-face { font-family: 'HelveticaNeueLTPro-ThEx';
             src: url('../fonts/HelveticaNeueLTPro-ThEx.woff2') format('truetype'); }

/*======================================== 
				Farben 
========================================*/
:root {		
	--white: #ffffff;
	--white-op05: rgba(255,255,255,0.5);
	--white-op07: rgba(255,255,255,0.7);
	--white-op09: rgba(255,255,255,0.9);
	--black: #000000;
	--black-op01: rgba(0,0,0,0.1);
	--black-op02: rgba(0,0,0,0.2);
	--black-op05: rgba(0,0,0,0.5);
	--black-op07: rgba(0,0,0,0.7);
	--black-op09: rgba(0,0,0,0.9);
	--beige: #f3e9d6;
	--grey: #333333;
	--light-grey:#f0f0f0;	
	--footer: #202020;						
}
/*--------------------------- Ende Farben ---------------------------*/


/* =========================================
    			Grid
======================================== */
.wrapper {
	width:100%;
	height:100%;
}
.row {
	display: block;
	width:100%;
	max-width:75rem;
	margin:auto;	
	float:none;	
	overflow-y: hidden;
}
.row-full-screen {
	display: block;
	width:100%;
	margin:auto;	
	float:none;	
	overflow-y: hidden;
}
.row-small {
	display: block;
	width:100%;
	max-width:60rem;
	margin:auto;	
	float:none;	
	overflow-y: hidden;
}
.col {
	float:left;	
	width: 100%
}
.row .col:last-of-type {margin-right:0.04%}
.col_1 {width:8.33%;}
.col_2 {width:16.66%;}
.col_3 {width:24.99%;}
.col_4 {width:33.32%;}
.col_5 {width:41.65%;}
.col_6 {width:49.98%;}
.col_7 {
	flex: 0 0 58.31%;
	width:58.31%;
}
.col_8 {width:66.64%;}
.col_9 {width:74.97%;}
.col_10 {width:83.3%;}
.col_11 {width:91.63%;}
.col_12 {width:99.96%;}
img, video, object, embed {
	height:auto;
}
@media screen and (max-width:37.5rem) /*600px*/{	
	.col {
		float:none;		
	}	
	.row .col:last-of-type {margin-right:0}
	.col_1, .col_2, .col_3, .col_4, .col_5, .col_6, .col_7, .col_8, .col_9, .col_10, .col_11, .col_12 {
		width:100%;
		margin:0;
	}
}
/*--------------------------- Ende Grid ---------------------------*/


/* =========================================
    			Style
======================================== */
html {
	scroll-behavior: smooth;
	background-image: url("../images/1920px/hg_vv_beige.jpg");
	background-attachment: fixed;
	background-size: cover;
}
body {
	width:100%;
	min-width:20rem;
	color:var(--black);	
	font-family: 'HelveticaNeueLTPro-ThEx', 'Arial', sans-serif;
	font-size:1rem;	
	text-align: left;
	-ms-hyphens: auto;
	-webkit-hyphens: auto;
	hyphens: auto;
}
img {
	display:block;
	width:100%;
	margin:auto;
}
.imgBorderRound {
	border-radius:50%;
}
section {
	padding:4rem 0;
}
section.header {
	padding: 0;
	background-color: var(--white);
	height: 5rem;
	position:fixed;
	width: auto;	
	z-index: 9999;
	transition: all 0.4s ease;
	color: var(--black);	
}
.logoTitle {
	width: 30%;
	margin: auto;
	padding: 4rem 0;
}
/*----- helpers -----*/
.padding-div {
	padding:1.5rem;
}
.position-minus-5rem {
	position: relative;
	top:-5rem;
}
.bg-color-white {
	background-color: var(--white-op09);
}
.margin-top-1_5rem {
	margin-top: 1.5rem;
}
.margin-bottom-1_5rem {
	margin-bottom: 1.5rem;
}
.box-shadow {
	box-shadow: var(--black-op02) 0px 10px 15px -5px, var(--black-op01) 0px 5px 5px -5px;
}
.filter-shadow {
	filter: drop-shadow(0 0 50px var(--white));
}
/*----- Ende helpers -----*/
hr {
	margin:3rem 0;
	border: 0;
    border-top: 1px solid var(--black-op05);
}
@media screen and (max-width:30rem) /*480px*/ {
	section {
		padding:3rem 0;
	}
	.parallax-section {
		padding: 4rem 0;
	}
	.display-none-sm {
		display: none;
	}
	.logoTitle {
		width: 60%;
	}
}
/*--------------------------- Ende Style ---------------------------*/


/* =========================================
    			Top-Cover
======================================== */
.bg_index { background-image: url("/images/1920px/VV_Mandala.jpg"); }

.top-cover {
	position: relative;
	z-index: 1;
	height: 60vh;
	max-height: 900px;
	background-size: cover;
	background-position: center;
	color: var(--white);
	display: table;
	width: 100%;
	text-align: center;
	text-shadow: 1px 2px 4px var(--black-op01);	
}
.top-cover .content {
	display: table-cell;
	vertical-align: middle;
	position: relative;
	top:3rem;
}
.top-cover-impressum, .top-cover-datenschutz {
	height: 30vh;
	background-color: var(--black-op02);
}
/*--------------------------- Ende Top-Cover ---------------------------*/


/* =========================================
    			Navigation
======================================== */
.nav {
	position: fixed;
	z-index: 3;
	height: 78px;
	width: 100%;
	transition: 300ms ease;
	background: var(--white);
}
.top-menu {
	display: none;
	position: relative;
	float: right;
	transition: 200ms ease;
	font-weight: 300;
	padding:1rem;
}
.top-menu li {
	font-weight: 400;
	color: var(--black);
	float: left;
	text-transform: uppercase;
	transition: background 0.5s ease;
	padding:1rem;
	margin: 0;
	border-left: 1px solid transparent;
    border-bottom: 1px solid transparent;
}
.top-menu li.active, .top-menu li:hover {
	color: var(--black-op07);
	/*border-left: 1px solid var(--surfspray);*/
    border-bottom: 1px solid var(--black-op05);
}
.mobile-open {
  	display: block;
	background:var(--white);
}
.mobile-open li {
	display: list-item;
	float: none;
	font-size: 1.2rem;
	padding-left:3rem;
}
.top-menu.mobile-open {
	width:100%;
	height:auto;
}
.hamburger-btn {
	float: right;
	display: block;
	border: none;	
	color: var(--black);
	height: calc(60px - 1rem);
	width: calc(60px - 1rem);
	margin: 0.5rem 0.5rem 0 0;
	padding: 0;
	position: relative;
}
.hamburger-btn:hover {
 	color: var(--black-op07);
}
.hamburger-btn .hamburger-line {
	height: 2px;
	width: calc(60px - 2rem);
	background: var(--black-op07);
	display: block;
	position: absolute;
	left: calc(0.5rem - 1px);
	transition: transform 150ms ease-in, top 150ms ease-out 150ms, bottom 150ms ease-out 150ms, opacity 150ms ease 75ms;
}
.hamburger-btn .hamburger-line:first-child {
 	top: 0.75rem;
}
.hamburger-btn .hamburger-line:nth-child(2) {
 	top: calc(50% - 1px);
}
.hamburger-btn .hamburger-line:last-child {
 	bottom: 0.75rem;
}
.hamburger-cross .hamburger-line {
 	transition: transform 150ms ease-out 150ms, top 150ms ease-in, bottom 150ms ease-in, opacity 150ms ease 75ms;
}
.hamburger-cross .hamburger-line:first-child {
	transform: rotate(45deg);
  	top: calc(50% - 1px);
}
.hamburger-cross .hamburger-line:nth-child(2) {
  	top: calc(50% - 1px);
  	opacity: 0;
}
.hamburger-cross .hamburger-line:last-child {
  	transform: rotate(-45deg);
 	bottom: calc(50% - 1px);
}
.scroll {
	background: var(--white-op09);
	box-shadow: 0 2px 8px var(--black-op01);
}
.scroll .top-menu li a, .scroll .brand {
	
}
.scroll .brand span a {
	
}
.scroll .hamburger-line {
 	background: #000;
}
@media screen and (min-width: 48rem) {
	.top-menu {
		display: inline-flex;
	}
	.hamburger-btn {
		display: none;
	}
}
@media screen and (max-width:37.5rem) {
	.nav {		
		height: 60px;		
	}
	.brand {
		padding: 1rem;
		font-size: 1rem;
	}
	.scroll {
		height:4rem;
	}
	.scroll .top-menu li a {
		
	}
	.scroll .brand span a {
		font-size: 1.5rem;
		float: left;
		text-align: left;
		margin:4px 0 0 4px;
		
	}
	.scroll .top-menu li a, .scroll .brand {
		
	}
}
/*--------------------------- Ende Navigation ---------------------------*/


/* =========================================
    		Textformatierung
======================================== */
h1, .brand {	
	font-family: "Aston-Script";
	position: relative;
	padding: 1rem;
	float: left;	
	font-size: 1.6rem;
	font-weight: 600;
}
h1 span, .brand span {	
	font-family: "HelveticaNeueLTPro-ThEx";
	font-size: 1.3rem;
	font-weight: 400;
}
h1 a, .brand a {	
	text-decoration: none;	
}
h2, h3, h4, h5, h6, .brand span, .carousel-caption p {
	font-family: "HelveticaNeueLTPro-ThEx", sans-serif;
	text-align: left;
}
h2 {
	font-size:2.5rem; 
	font-weight: 800; 
	margin-bottom: 2rem;
}
h2 span {
	text-transform: uppercase;
}
h3 {
	font-size:2rem; 
	font-weight: 800; 
	text-transform: uppercase;
	margin-bottom: 1rem;
}
h4 {
	font-size:1.5rem; 
	font-weight: 600;
	margin-bottom: 0.5rem;
}
p {
	font-size:1rem;
	font-weight: 300;		
	/*letter-spacing: .5px;	*/
    line-height: 140%;	
	margin-bottom: 0.5rem;
}
p.small {
	font-size: 0.8rem;
}
ul {
	margin-bottom: 1.5rem;	
}
ul li {		
	list-style: none; 
}
ul.features li {
	margin: 0.5rem 0;
	font-weight: 600;
	font-size: 1.2rem;
	text-indent: -2.2rem;
    margin-left: 3.5rem;
	line-height: 2rem;
}
.list li {
	margin-left: 2rem;
	list-style: disc;
}
i {
	width:1.2em;
	margin-right: 1rem;
	padding-top: 0.1rem;
	color:var(--black);
	text-align: center;
}
.big-icon {
	font-size: 3rem;
	margin: 1rem auto;
}
a {
	color:var(--black);
	text-decoration: none;
}
a:hover {	
	text-decoration: none;
	color:var(--black-op07);
}
a:hover i {
	color: var(--black-op05);
}
.text-align-center {
	text-align: center;
}
strong, b {
	font-weight: 600;
}
@media screen and (max-width:60rem) /*960px*/ {	
	h1 {	
		font-size:2rem; 
	}
	h1 span {	
		font-size:2.5rem; 
	}
	h2 {
		font-size:1.8rem; 
		margin-bottom: 2rem;
	}
}
@media screen and (max-width:37.5rem) {	
	h1, .brand {
		padding: 1rem;
		font-size: 1rem;
	}
	h1 span, .brand span {	
		font-size: 1rem;
	}
}
/*--------------------------- Ende Textformatierung ---------------------------*/


/* =========================================
    			img overlay
======================================== */
.imgOverlay .container {
	position: relative;
}
.imgOverlay .image {
	display: block;
	width: 100%;
	height: auto;
	opacity: 0.5;
}
.imgOverlay .overlay {
	position: absolute; 
	bottom: 0;    
	width: 100%;		
	transition: .5s ease;
	opacity:1;	
	text-align: left;
}
.imgOverlay .overlay p {
	color: var(--black);
	/*text-shadow: var(--sagebrush) 1px 0 10px;*/
	font-size: 2rem;
	font-weight: 800;
	text-transform: uppercase;
	margin: 0 0 -0.1rem 0.5rem;
}
.imgOverlay .container:hover .image {
	opacity: 1;
	transition: 0.5s;
}
.imgOverlay .container:hover .overlay {
	background-color: var(--black-op05);
	transition: 0.5s;
}
.imgOverlay .container:hover .overlay p {
	color: var(--white-op09);
	transition: 0.5s;
}
@media screen and (max-width: 48rem) {
	.imgOverlay .overlay p {		
		font-size: 1.5rem;
	}
}
/*--------------------------- Ende img overlay ---------------------------*/


/* =========================================
    			Button
======================================== */
.button-vv {
	align-items: center;
	background-color: var(--white);
	border: 1px solid var(--black-op01);
	border-radius: .25rem;
	box-shadow: var(--black-op01) 0 1px 3px 0;
	box-sizing: border-box;
	color: var(--black);
	cursor: pointer;
	display: inline-flex;	
	font-size: 1rem;
	font-weight: 600;
	justify-content: center;
	line-height: 1.25;
	margin: 2rem auto 0 auto;
	min-height: 3rem;
	padding: calc(.875rem - 1px) calc(1.5rem - 1px);
	position: relative;
	text-decoration: none;
	transition: all 250ms;
	user-select: none;
	-webkit-user-select: none;
	touch-action: manipulation;
	vertical-align: baseline;
	width: auto;
}
.button-vv:hover, .button-vv:focus {
	background-color: var(--black-op01);
	border-color: var(--black-op05);
	box-shadow: var(--black-op01) 0 4px 12px;
	color: var(--black-op07);
}
.button-vv:hover {
	transform: translateY(-1px);
}
.button-vv:active {
	background-color: #F0F0F1;
	border-color: var(--black-op01);
	box-shadow: var(--black-op07) 0 2px 4px;
	color: var(--black-op01);
	transform: translateY(0);
}
/*--------------------------- Ende Button ---------------------------*/


/* =========================================
    			Table
======================================== */
table {
	width: 100%;
	margin-top: 1.5rem;
}
thead {
	border-bottom: 1px solid var(--black-op02);
}
th, td {
	text-align: center;
	padding:0.5rem 0;
}
th:first-of-type, td:first-of-type {
	text-align: left;
}
th:last-of-type, td:last-of-type {
	text-align: right;
	font-weight: 600;
}
tfoot {
	border-top: 1px solid var(--black-op02);
}
/*--------------------------- Ende Table ---------------------------*/


/* =========================================
    			Price Card
======================================== */
.card-grid-container {
	display: flex;
	align-items: center;
	justify-content: center;
}
.card-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	gap: 2rem;
	padding: 0 2rem 3rem 2rem;
	width: 100%;
}
/* --- Card Base --- */
.card {
	padding: 2rem;
	border-radius: 1.5rem;
	transition: all 0.4s ease;
	/*cursor: pointer;*/
	backdrop-filter: blur(15px);
	position: relative;
	overflow: hidden;
	background: var(--white-op09);
	border: 1px solid var(--black-op02);
}
.card:hover {
	transform: translateY(-10px);
	box-shadow: 0 10px 25px var(--black-op01);
}
/*--------------------------- Ende Price Card ---------------------------*/


/* =========================================
    			To Top Button
======================================== */
.to-top-button {
	display: inline-block;
	background-color: var(--white);
	width: 4rem;
	height: 4rem;
	text-align: center;
	border-radius: 50%;
	border:1px solid var(--black);
	position: fixed;
	bottom: 2rem;
	right: 2rem;
	transition: background-color .3s, opacity .5s, visibility .5s;
	opacity: 0;
	visibility: hidden;
	z-index: 1000;
}
#to-top.to-top-button {	
	bottom: 6.5rem;
}
.to-top-button i {  
	font-size: 2rem;
	line-height: 3.7rem;
	color: var(--black);
	margin:auto;
}
.to-top-button:hover {
	cursor: pointer;
	border:1px solid var(--black-op05);	
}
.to-top-button:hover, .to-top-button:hover i {	
	transition: 0.5s;
}
.to-top-button:active {
	background-color: var(--black-op05);
}
.to-top-button.show {
	opacity: 1;
	visibility: visible;
}
@media screen and (max-width:37.5rem) /* 600px */ {
	.to-top-button {
		bottom: 1rem;
		right: 1rem;		
	}
	#to-top.to-top-button {	
		bottom: 5.5rem;
	}
}
/*--------------------------- Ende To Top Button ---------------------------*/


/* =========================================
    			Footer
======================================== */
footer {	
	position: relative;     
    width: 100%;    
	background-color: var(--white-op09);
	color:var(--black);
}
footer:before {    
	content: "";
	/*background-image: url("/kundenseiten/schmankerlschmiedn/images/1920px/natural-wooden-background_1920.jpg");*/
	background-size: cover;
	position: absolute;
	top: 0px;
	right: 0px;
	bottom: 0px;
	left: 0px;
	opacity: 0.5;
}
footer .footer-text {
	position: relative;
	color:var(--black);
}
footer .logo-footer {
	width: 80%;
}
footer ul.features li {
	font-weight: 300;
	font-size: 1rem;
	line-height: normal;
}
.fb-share-button {
	display:none;
}
/*--------------------------- Ende Footer ---------------------------*/