@charset "utf-8";
@font-face { 
	font-family: 'sonfon'; 
	src: url('../media/fonts/sonfon.ttf');
}
@font-face { 
	font-family: 'sonfonb'; 
	src: url('../media/fonts/sonfonb.ttf');
}

.sonfon {
	font-family: 'sonfon';
}
.sonfonb {
	font-family: 'sonfonb'; 
}

div.sctn {
    position: absolute;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    overflow-x: hidden;
    overflow-y: auto;
}

.topsec {
    position: absolute;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
}

.firstsec {
	margin-top: 95vh;
}

.topsech {
    position: absolute;
    top: 0;
    left: 0;
    width: 100vw;
    height: 50vh;
}

.firstsech {
	margin-top: 45vh;
}

ul.tnav {
	margin-top: 32px;
	border: 1px solid var(--vc3);
	background: var(--bcdk50);

}

ul.tnav > .nav-item {
	transition: 0.3s;
	padding: 20px;
}

ul.tnav > .nav-item:hover {
	text-decoration: none;
	background-color: var(--bc1);
}

ul.tnav > .nav-item.pointernav {
	text-decoration: none;
	transition: 0.3s;
	background-color: var(--bc1);
	color: var(--vc1);
}

ul.tnav > .nav-item.pointernav:hover {
	background-color: var(--vc3);
	color: var(--vci1);
}

ul.tnav > .nav-item.btmail {
	transition: 0.3s;
	background-color: var(--vc3);
}

ul.tnav > .nav-item.btmail:hover {
	transition: 0.3s;
	background-color: var(--bc3);
}

.ddmain {
	margin-top: -3.5em;
	border: 1px solid var(--vc3);
	background: var(--bcdk75);
	border-radius: 0;
}
.ddmain > .nav-link {
	color: var(--vci1);
}

.ddmain > .nav-link:hover {
	background: var(--bc1);
	color: var(--vc1);
}

a.mnav {
	text-decoration: none;
	font-family: 'sonfon';
	font-size: 14px;
	padding: 20px;
	color: var(--vci1);
}
a.mnav:hover {
	text-decoration: none;
	color: var(--vc1);
}

a.mnav.pointernav {
	text-decoration: none;
	color: var(--vc1);
}
a.mnav.pointernav:hover {
	text-decoration: none;
	color: var(--vci1);
}

.topnavline {
	color: var(--vc1);
	background: var(--bc2);
}

.mnavline {
	color: var(--vc1);
	background: var(--bcdk50);
}

.botnavline {
	color: var(--vc1);
	background: var(--bci1);
}

.wtrns {
	background-color: var(--bc1t75);
	border-radius: 8px;
}

.dtrns {
	background-color: var(--bcdk75);
	border-radius: 8px;
}


.titfon {
	font-family: 'sonfonb';
	font-size: 128px;
	color: var(--vc1);
	text-shadow:  0.25vw  0.25vw 0px var(--bc1),
				 -0.25vw -0.25vw 0px var(--bc1),
				  0.25vw -0.25vw 0px var(--bc1),
				 -0.25vw  0.25vw 0px var(--bc1);
}

.titimg {
	height:128px;
}

.sfood {
	color: var(--vci1);
}
.sfood a {
	color: var(--vci1);
	font-size: 18px;
	line-height: 32px;
	margin: 12px;
}
.sfood a:hover {
	color: var(--vci1);
}
.sfood div.row div {
	min-height: 100%;
	display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: 32px;
}
.sfood big {
	font-size: 40px;
}
.sfood ul {
	display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    list-style-type: none;
    padding: 0;
}
.sfood li a {
    padding: 8px;
    font-size: 24px;
    font-weight: 600;
}
.sfood li {
    padding: 8px;
    font-size: 24px;
    font-weight: 600;
}
.sfood li a:hover {
    text-decoration: none;
}


.qrd {
	line-height: 1.9em;
	font-size: 140%;
}

/* Parallax Container */
.parllxgpt-container {
    position: relative;
    overflow: hidden;
    height: 100%;
    width: 100%;
}

/* Parallax Layers */
.parllxgpt-layer {
    position: absolute;
    width: 100%;
    height: 100%;
    will-change: transform;
    opacity: 0; /* Initially hidden */
    transition: opacity 0.5s ease-out;
}

.parllxgpt-layer.active {
    opacity: 1; /* Becomes visible when activated */
}

/* Video Styling */
.parllxgpt-layer video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Image Styling */
.parllxgpt-layer img {
    position: absolute;
    width: auto;
    height: 160px;
    top: 3vh;
    left: 3vw;
	
}

/* Content Styling */
.parllxgpt-content {
    position: absolute;
    top: 21vh;
    left: 25vw;
	color: var(--vci1);
}
.parllxgpt-content h1 {
	font-family: sonfonb;
	font-size: 5vw;
}
.parllxgpt-content h2 {
	font-family: sonfonb;
	font-size: 2.5vw;
	color: var(--vc1);
}
.parllxgpt-content h3 {
	font-family: sonfonb;
	font-size: 1.5vw;
}
.parllxgpt-buttons {
    position: absolute;
    bottom: 15vh;
    left: 15vw;
}
.parllxgpt-buttons .btn1 {
	text-decoration: none;
	font-family: 'sonfon';
	font-size: 14px;
	padding: 20px;
	margin: 5px;
	border: 1px solid var(--vc3);
	background: transparent;
	color: var(--vci1);
	transition: .3s;
}
.parllxgpt-buttons .btn1:hover {
	background: var(--vc3);
	color: var(--vci1);
}
.parllxgpt-buttons .btn2 {
	text-decoration: none;
	font-family: 'sonfon';
	font-size: 14px;
	padding: 20px;
	margin: 5px;
	border: 1px solid var(--vc3);
	background: var(--bc1);
	color: var(--vc1);
	transition: .3s;
}
.parllxgpt-buttons .btn2:hover {
	background: var(--vc3);
	color: var(--vci1);
}
.btn3 {
	text-decoration: none;
	font-family: 'sonfon';
	font-size: 14px;
	padding: 20px;
	margin: 5px;
	border: 1px solid var(--vc3);
	background: var(--vc3);
	color: var(--vci1);
	transition: .3s;
}
.btn3:hover {
	text-decoration: none;
	background: var(--bc1);
	color: var(--vc1);
}

button.btn-link {
	text-decoration: none;
	font-size: 110%;
	font-weight: 500;
	color: var(--vc1);
}
button.btn-link:hover {
	text-decoration: none;
	color: var(--vc3);
}

.lbox {
	position: relative;
	width: 100%;
	min-height: 100%;
	padding: 32px;
	border: 1px solid var(--vc2);
}
.lbox .info {
	width: 100%;
	padding: 16px;
	font-weight: 600;
	text-align: center;
	font-size: 16px;
}

.libox {	
	position: relative;
	width: 100%;
	padding-bottom: 100%;
}
.libox div {
	position: absolute;
	bottom: 0;
	width: 100%;
	padding: 8px;
	color: var(--bc1);
	background-color: var(--vc3);
}
.libox div a {
	color: var(--bc1);
	font-size: 18px;
}
.libox div a:hover {
	text-decoration: none;
	color: var(--bc2);
	font-size: 18px;
}

/* Menü-Styling */
.responsive-menu {
    position: fixed;
    top: 0;
    right: -344px; /* Startposition: ausgeblendet */
    width: 344px;
    height: 100%;
    background-color:  var(--bcdk75);
    color: #fff;
    transition: right 0.3s ease-in-out;
    z-index: 9999;
    padding: 20px;
	border-left: var(--vc2) 4px solid;
    box-shadow: -2px 0 5px var(--bcdk50);
}

.menu-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.menu-list li {
    margin: 15px 0;
	width: 100%;
	padding: 2px;
}

.menu-list a {
    color: var(--vci1);
    text-decoration: none;
    font-size: 18px;
	font-weight: 600;
    display: block;
    transition: color 0.3s;
}

.menu-list a:hover {
    color: var(--vc1);
	background-color: var(--bc3);
}

.menu-close {
    display: block;
    color: var(--vci1);
    font-size: 20px;
    cursor: pointer;
    text-align: right;
    margin-bottom: 20px;
}

/* Menü-Animation */
#menu-toggle:checked ~ .responsive-menu {
    right: 0; /* Menü einblenden */
}

.square {
    position: relative;
    width: 100%; /* Breite wird flexibel eingestellt */
    padding-top: 100%; /* Höhe entspricht 100% der Breite */
    overflow: hidden;
}

.square > * {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.square img {
    width: 100%;
    height: 100%;
    object-fit: cover;
	transition: 0.8s;
}

.square img:hover {
    width: 102%;
    height: 102%;
    object-fit: cover;
}

.sldimg {
	width: 70%;
	min-height: 70vh;
	margin: 15vh 15%;
}

.sldimgh {
	width: 70%;
	min-height: 30vh;
	margin: 10vh 15%;
}

.card-header h5 button {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
}

@media only screen and (min-width: 1600px) {
	.tlogo {
		margin-top: 24px;
		width: 96px;
	}
	ul.tnav {
		margin-top: 32px;
		border: 1px solid var(--vc3);
		background: var(--bcdk50);
	}
	
	ul.tnav > .nav-item {
		transition: 0.3s;
		padding: 0px;
	}
	a.mnav {
		text-decoration: none;
		font-family: 'sonfon';
		font-size: 14px;
		padding: 20px;
		line-height: 4em;
		color: var(--vci1);
	}
		
	}

/*		Wide Mobile Layout: 1600px.   */

@media only screen and (min-width: 992px) and (max-width: 1599px) {
	.tlogo {
		margin-top: 24px;
		width: 96px;
	}
	a.mnav {
		text-decoration: none;
		font-family: 'sonfon';
		font-size: 14px;
		padding: 20px;
		color: var(--vci1);
	}
	
}

/*		Small Mobile Layout: 992px.   */

@media only screen and (min-width: 577px) and (max-width: 991px) {
	.tlogo {
		margin-top: 24px;
		width: 23vw;
		max-width: 128px;
	}
	a.mnav {
		text-decoration: none;
		font-family: 'sonfon';
		font-size: 3vw;
		padding: 1vw;
		color: var(--vci1);
	}
	/* Image Styling */
.parllxgpt-layer img {
    position: absolute;
    width: auto;
    height: 200px;
    top: 3vh;
    left: 3vw;
}
.parllxgpt-content {
		position: absolute;
		top: 30vh;
		left: 5vw;
		color: var(--vci1);
	}
	.parllxgpt-content h1 {
		font-family: sonfonb;
		font-size: 9vw;
	}
	.parllxgpt-content h2 {
		font-family: sonfonb;
		font-size: 6vw;
	}
	.parllxgpt-content h3 {
		font-family: sonfonb;
		font-size: 5vw;
	}
	.sldimg {
		width: 96%;
		min-height: 70vh;
		margin: 15vh 2%;
	}
	
	.sldimgh {
		width: 96%;
		min-height: 30vh;
		margin: 10vh 2%;
	}
}
@media only screen and (max-width: 576px) {
	.tlogo {
		margin-top: 32px;
		width: 23vw;
		max-width: 128px;
	}
	a.mnav {
		text-decoration: none;
		font-family: 'sonfon';
		font-size: 4.5vw;
		padding: 1vw;
		color: var(--vci1);
	}
	/* Image Styling */
.parllxgpt-layer img {
    position: absolute;
    width: auto;
    height: 200px;
    top: 3vh;
    left: 3vw;
}
.parllxgpt-content {
		position: absolute;
		top: 50vh;
		left: 5vw;
		color: var(--vci1);
	}
	.parllxgpt-content h1 {
		font-family: sonfonb;
		font-size: 9vw;
	}
	.parllxgpt-content h2 {
		font-family: sonfonb;
		font-size: 6vw;
	}
	.parllxgpt-content h3 {
		font-family: sonfonb;
		font-size: 5vw;
	}
	.sldimg {
		width: 96%;
		min-height: 70vh;
		margin: 15vh 2%;
	}
	
	.sldimgh {
		width: 96%;
		min-height: 30vh;
		margin: 10vh 2%;
	}
}
