/*
// File written by Jochen "Khuri" Dippel <khuri@khuris.com>
// Copyright 2023
//
// File        : main_page.css
// Begin       : 2010.02.02 13:49:48
// Last Update : 2023.02.21 10:11:52
*/

/* This file contains the basic page definitions, using ids, classes or nested declarations */

#wrapper {
	position: absolute;
	width: 100%;
	height: 100%;
}
/* Top / Bottom */
#frametop {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	width: auto;
	/*height: 60px;*/
	height: 120px;
	overflow: hidden;
	/*background: url(../images/main/back_topmiddle.gif) repeat-x top left scroll transparent;*/
}
#framebottom {
	position: absolute;
	/*
	top: 0;
	left: 240px;
	right: 165px;
	top: auto;
	bottom: 0;
	*/
	top: 120px;
	bottom: auto;
	left: 240px;
	right: 240px;
	height: 20px;
	overflow: hidden;
}
/* Content */
#maincontent {
	position: absolute;
	top: 120px;
	bottom: 0;
	left: 240px;
	right: 240px;
	overflow: auto;
}
@media (max-width: 1440px) {
	#maincontent {
		width: auto;
		max-width: 100%;
	}
	img {
		max-width: 100% !important;
		height: auto;
	}
	iframe {
		max-width: 100%;
	}
}
#content {
	width: 100%;
	height: 100%;
	display: block;
	overflow: auto;
}
body.bodypaddingbottom {
	padding-bottom: 20px;
}
/* Left / Right */
#frameleft, #frameright {
	position: absolute;
	/*top: 60px;*/
	top: 120px;
	bottom: 0;
	left: 0;
	width: 240px;
	height: auto;
	overflow: hidden;
	background-color: #e2e4e5;
	padding-bottom: 150px;
}
#frameright {
	left: auto;
	right: 0;
	width: 240px;
	padding-bottom: 0;
}
#frameleft {
	padding-bottom: 20px;
}
#topleftbanner, #toprightbanner {
	position: absolute;
	top: 0;
	left: 0;
	/*background: url(../images/main/back_topside.gif) repeat-x top left scroll transparent;*/
	height: 100%;
	width: 240px;
	text-align: center;
}
#topleftbanner {
	z-index: 10;
}
#toprightbanner {
	width: 165px;
	left: auto;
	right: 0 !important;
}
#topframetable {
	position: relative;
	z-index: 1;
	/*height: 60px;*/
	height: 120px;
	width: 100%;
}
#menu_left {
	position: relative;
	width: 100%;
	height: 100%;
	overflow: auto;
}
#loginbox {
	position: relative;
	height: 150px;
	background: url(../images/main/loginback.gif) repeat-x top left scroll transparent;
}
#frameleftbox {
	position: relative;
	height: 100%;
	width: 100%;
}
#framesearchbox {
	display: none;
}

#menu_main {
	position: relative;
	width: 100%;
	height: 100%;
	overflow: auto;
}
#printbox {
	position: relative;
	height: auto;
	display: block;
	text-align: center;
	margin-top: 20px;
	visibility: visible;
}
#printbox .printbuttons {
	position: relative;
	padding-top: 20px;
	margin-bottom: 12px;
	display: block;
}
#printpage {
	background: url(../../../vshop/images/design/print.gif) no-repeat top center transparent scroll;
	padding-top: 20px;
}
#printcsv {
	background: url(../../../vshop/images/design/csv.gif) no-repeat top center transparent scroll;
}
#printpdf {
	background: url(../../../vshop/images/design/pdf.gif) no-repeat top center transparent scroll;
}
#floater {
}
#shoppingcart {
	position: relative;
	height: 180px;
	margin-top: 30px;
}
#cartloading {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,.1);
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 10;
}
#langbox {
	position: relative;
	width: 700px;
	height: 60px;
}
a.basket_count {
	width: 100%;
	background: url("../images/basket_cutout.png") no-repeat transparent scroll 40px top;
}
#infobox {
	position: absolute;
	top: 28px;
	right: 30px;
	text-align: right;
	text-shadow: 1px 1px 4px #444;
	font-weight: bold;
	font-size: 15px;
	color: #fff;
}
#infobox a {
	color: #fff;
}
#infobox_left {
	position: absolute;
	top: 28px;
	left: 30px;
	text-align: left;
	text-shadow: 1px 1px 4px #444;
	font-weight: bold;
	font-size: 15px;
	color: #fff;
}
#infobox_left a {
	color: #fff;
}
#infobox_contact {
	position: absolute;
	top: 28px;
	left: 244px;
	text-align: left;
	text-shadow: 1px 1px 4px #444;
	font-weight: bold;
	font-size: 15px;
	color: #fff;
}
#infobox_contact a {
	color: #fff;
}
#infobox_chat {
	position: absolute;
	top: 50px;
	left: 244px;
	text-align: left;
	text-shadow: 1px 1px 4px #444;
	font-weight: bold;
	font-size: 15px;
	line-height: 30px;
	color: #fff;
	cursor: pointer;
}
#infobox_chat span, #infobox_chat_lower span {
	font-size: 30px;
}
#infobox_chat span.online, #infobox_chat_lower span.online {
	color: #0a0;
}
#infobox_chat span.offline, #infobox_chat_lower span.offline {
	color: #a00;
}
#infobox_chat_lower {
	position: absolute;
	left: 0;
	bottom: 10%;
	width: 100%;
	text-align: center;
	font-weight: bold;
}
@media (max-height: 900px) {
	#infobox_chat_lower {
		bottom: 3%;
	}
}
#langselect {
	position: absolute;
	top: 10px;
	left: 10px;
}
#langselect * {
	background-color: #e2e4e5;
	color: #000;
	letter-spacing: 2px;
	font-size: 22px;
}
#langselect select {
	width: 130px;
}
#langselecttext {
	position: absolute;
	top: 10px;
	left: 150px;
	text-align: center;
}
#langselecttext p {
	padding: 0;
	margin: 0 0 6px 0;
	font-weight: bold;
	text-shadow: 1px 1px 2px #fff;
}
#langselecttext ul {
	list-style-type: none;
	margin: 0;
	padding: 0;
}
#langselecttext li {
	margin-left: 10px;
	float: left;
	text-align: center;
	font-weight: bold;
	text-shadow: 1px 1px 2px #fff;
}
#langselecttext li img {
	width: 30px;
	height: 18px;
}
.searchbox {
	position: relative;
	margin: 30px 56px 0;
	text-align: center;
}
.searchbox img {
	margin: 10px 0 0 0;
}
.search {
	width: 120px;
	font-size: 20px;
	margin: 0 0 6px 0;
}



/* Menu right, old cmenu */
#mainmenu {
	list-style-type: none;
	margin-top: 40px;
	padding-left: 20px;
}
#mainmenu li {
	line-height: 18px;
}
#mainmenu li a {
	font-size: 11px;
	font-weight: bold;
	color: #000;
	text-decoration: none;
}
#mainmenu li a:hover {
	/* background-color: #0000ff;*/
	text-decoration: underline;
	/* width: 140 px; */
	color: #334549;
}
#rightbottommenu {
	position: relative;
	width: 100%;
	margin: 20px 0 0 0;
	padding: 0;
	list-style-type: none;
}
#rightbottommenu li {
	line-height: 18px;
	text-align: center;
}
#rightbottommenu li a {
	font-size: 12px;
	font-weight: normal;
	color: #000;
	text-decoration: none;
	display: block;
	padding: 2px 0;
}
#rightbottommenu li a:hover {
	text-decoration: underline;
	color: #334549;
}

/* old vshop CSS */
a#submitbutton, a#submitbutton:link, a#submitbutton:visited, a#submitbutton:hover {
    background: none repeat scroll 0 0 #999999;
    border: 1px outset;
    color: #000;
    display: block;
    font-size: 12px;
    font-weight: bold;
    margin: 5px auto;
    padding: 3px 10px;
    text-align: center;
    text-decoration: none;
    width: 100px;
}
a#submitbutton:hover {
    background: none repeat scroll 0 0 #BBBBBB;
    border: 1px solid #FFFFFF;
}
a#registerbutton, a#registerbutton:link, a#registerbutton:visited, a#registerbutton:hover {
    background: none repeat scroll 0 0 #999999;
    border: 1px outset;
    color: #000;
    display: block;
    font-size: 12px;
    margin: 5px auto;
    padding: 1px 10px;
    text-align: center;
    text-decoration: none;
    width: 100px;
}
a#registerbutton:hover {
    background: none repeat scroll 0 0 #BBBBBB;
    border: 1px solid #FFFFFF;
}
input.login {
    background: none repeat scroll 0 0 #EEEEEE;
    border: 1px inset;
}

a.basket_bottom, a.basket_bottom:link, a.basket_bottom:active, a.basket_bottom:visited, a.basket_bottom:hover {
    color: #000;
    display: block;
    font-family: Arial,Helvetica,Sans-Serif;
    font-size: 10px;
    font-weight: bold;
    margin: 0 5px;
    text-align: center;
    text-decoration: none;
}
a.basket_top, a.basket_top:link, a.basket_top:active, a.basket_top:visited, a.basket_top:hover {
    color: #000;
    display: block;
    font-family: Arial,Helvetica,Sans-Serif;
    font-size: 14px;
    font-weight: bold;
    margin: 0 5px 10px;
    text-align: center;
    text-decoration: none;
}
a.basket_count, a.basket_count:link, a.basket_count:active, a.basket_count:hover, a.basket_count:visited {
    background: url("../images/main/basket.jpg") no-repeat scroll left top transparent;
    color: #334549;
    display: block;
    font-family: Arial,Helvetica,Sans-Serif;
    font-size: 48px;
    font-weight: bold;
    height: 128px;
    margin: 0 16px;
    text-align: center;
    text-decoration: none;
    width: 128px;
}

.google_translate_box {
	position: absolute;
	top: 70px;
	right: 240px;
	z-index: 200;
}
.google_translate_extratext, #google_translate_extratext {
	position: relative;
	margin-left: 20px;
	display: inline-block;
	color: #fff;
	font-size: 14px;
	font-weight: bold;
}
#google_translate_element {
	position: relative;
	display: inline-block;
}
.goog-te-gadget-simple {
	font-size: 18pt !important;
}

#cookiebanner {
	position: relative;
	width: 100%;
	height: auto;
	z-index: 10000;
	background-color: #e2e4e5;
	padding: 10px 20px;
	box-sizing: border-box;
	text-align: center;
}
#cookiebanner.hidden {
	display: none;
}
#cookiebanner a {
	text-decoration: underline;
}
#cookiebanner h1 {
	font-size: 16px;
	font-weight: bold;
	line-height: 1em;
	margin: 0 0 6px 0;
	padding: 0;
}
#cookiebanner p {
	font-size: 13px;
	line-height: 1.2em;
	margin: 0 0 6px 0;
	padding: 0;
}
#cookiebanner button {
	min-width: 200px;
	cursor: pointer;
	line-height: 30px;
	color: #fff;
}
#cookiebanner button.deny {
	background-color: red;
	position: absolute;
	left: 10px;
}
#cookiebanner button.accept {
	background-color: green;
	font-weight: bold;
}
#cookiebanner {
	position: relative;
	width: 100%;
	height: auto;
	z-index: 10000;
	background-color: #e2e4e5;
	padding: 10px 20px;
	box-sizing: border-box;
	text-align: center;
}
#cookiebanner.hidden {
	display: none;
}
#cookiebanner a {
	text-decoration: underline;
}
#cookiebanner h1 {
	font-size: 16px;
	font-weight: bold;
	line-height: 1em;
	margin: 0 0 6px 0;
	padding: 0;
}
#cookiebanner p {
	font-size: 13px;
	line-height: 1.2em;
	margin: 0 0 6px 0;
	padding: 0;
}
#cookiebanner button {
	min-width: 200px;
	cursor: pointer;
	line-height: 30px;
	color: #fff;
}
#cookiebanner button.deny {
	background-color: red;
	position: absolute;
	left: 10px;
}
#cookiebanner button.accept {
	background-color: green;
	font-weight: bold;
}
/*
#merchantpricecheck {
	position: fixed;
	width: 100vw;
	height: 100vh;
	top: 0;
	left: 0;
	background: rgba(0,0,0,.8);
	color: #fff;
	z-index: 1000;
}
#merchantpricecheck > div {
	position: relative;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	text-align: center;
	width: 80%;
	max-width: 600px;
}
#merchantpricecheck h1 {
	font-size: 40px;
	line-height: 1.2em;
}
#merchantpricecheck label {
	display: block;
	font-size: 22px;
	line-height: 40px;
	cursor: pointer;
}
#merchantpricecheck label > input {
	width: 40px;
	height: 40px;
	margin-right: 10px;
	vertical-align: middle;
}
#merchantpricecheck button {
	border: 2px solid #000;
	background: #aaa;
	color: #000;
	font-size: 22px;
	line-height: 1.2em;
	padding: 10px 30px;
	margin-top: 30px;
	cursor: pointer;
}
*/
#merchantpriceselection {
	position: absolute;
	top: 30px;
	left: 50%;
	transform: translateX(-50%);
	width: 450px;
	z-index: 100;
}
#merchantpriceselection select {
	display: block;
	width: 100%;
	font-size: 18px;
	padding: 5px 10px;
}
#merchantpriceselection button {
	display: block;
	margin: 10px auto 0;
	font-size: 15px;
	padding: 5px 20px;
	cursor: pointer;
}

.mobilemenublock, .mobileindicator {
	display: none;
}

@media (max-width: 1600px) {
	.google_translate_box {
		position: absolute;
		right: 20px;
	}
	.google_translate_extratext, #google_translate_extratext, #google_translate_element {
		display: block;
	}
	#infobox_contact {
		left: 20px;
	}
}
@media (max-width: 1024px) {
	#frametop, .menuframes, #maincontent, #framebottom, #frameleft, #frameright, #framesearchbox {
		position: relative;
		top: auto;
		left: auto;
		right: auto;
		bottom: auto;
		width: 100%;
		height: auto;
		box-sizing: border-box;
	}
	#framebottom {
		display: none;
	}
	#frametop, .menuframes {
		position: fixed;
		top: 0;
		z-index: 1000;
	}
	#frametop {
		height: 60px;
		background-color: #000;
	}
	#topframetable {
		height: auto;
	}
	.menuframes {
		top: 60px;
	}
	.menuframes.open {
		height: calc(100vh - 120px);
	}
	.menublockbox {
		position: fixed;
		overflow: auto;
		width: 100%;
		height: auto;
		max-height: 60vh;
		box-shadow: 0 0 20px rgb(0,0,0);
		border-bottom: 1px solid #000;
		z-index: -1;
	}
	#maincontent {
		margin-top: 160px;
		padding: 0 5px;
		width: auto;
	}
	#framesearchbox {
		background-color: #e2e4e5;
		margin: 0;
		padding: 20px;
	}
	#framesearchbox input[type="text"] {
		width: 90%;
	}
	#frameleft, #frameright, #framesearchbox {
		display: none;
	}
	#frameleft.open, #frameright.open, #framesearchbox.open {
		display: block;
	}
	#frameleft .tablecmenue {
		padding: 4px 10px;
	}
	.cmenu, .cmenuindex {
		font-size: 16px;
		line-height: 1.8em;
	}
	.font_normal {
		word-wrap: anywhere;
	}
	.mobileindicator {
		font-size: 13px;
		padding: 5px 10px;
		font-weight: bold;
	}
	#frameright {
		padding-bottom: 20px;
	}
	#shoppingcart {
		width: 100%;
		max-width: 230px;
		margin: 30px auto 0 auto;
	}
	.mobilemenublock, .mobileindicator {
		display: block;
	}
	.mobilemenublock {
		font-size: 0;
		line-height: 0;
		background-color: #eee;
		border-top: 1px solid #000;
		border-bottom: 1px solid #000;
		text-align: right;
	}
	.mobilemenublock .row2 {
		border-top: 1px solid #000;
	}
	.mobilemenublock .row1 > div {
		position: relative;
		display: inline-block;
		width: 40px;
		height: 40px;
		margin-right: 20px;
		vertical-align: top;
		cursor: pointer;
	}
	.mobilemenublock .row2 > div {
		text-align: center;
		font-weight: bold;
		font-size: 17px;
		line-height: 1em;
		cursor: pointer;
		margin: 10px 0;
		display: block;
	}
	.mobilemenubasket a, .mobilemenucontact a {
		position: absolute;
		top: 0;
		left: 0;
		display: block;
		width: 100%;
		height: 100%;
		background: url(../images/mobilebasket.png) no-repeat center;
	}
	.mobilemenucontact a {
		background: url(../images/contact.png) no-repeat center;
	}
	.mobilesearch {
		background-size: contain;
		font-size: 0;
		background: url(../images/searchicon.svg) no-repeat center;
		background-size: 75%;
	}
	.mobilemenumarker {
		background-size: contain;
		font-size: 0;
		background: url(../images/menue.svg) no-repeat center;
		background-size: 75%;
	}
	.menuframes.open .mobilemenumarker {
		background: url(../images/menue-close.svg) no-repeat center;
		background-size: 60%;
	}
	#cookiebanner button.deny {
		position: relative;
		left: auto;
	}
	#infobox_contact {
		display: none;
	}
	#merchantpriceselection {
		position: absolute;
		top: 5px;
		left: 10px;
		transform: none;
		width: 45%;
		z-index: 100;
	}
	#merchantpriceselection button {
		display: none;
	}
	#merchantpriceselection select, .goog-te-gadget-simple {
		font-size: 12px !important;
	}
	.google_translate_extratext, #google_translate_extratext, #google_translate_element {
		text-align: right;
		font-size: 12px;
	}
	.google_translate_box {
		position: absolute;
		right: 10px;
		top: 5px;
		width: 45%;
	}
	table, textarea, input[type="text"], select {
		max-width: 100% !important;
		width: 100% !important;
	}
	#content form > table tr td, .product_row_content tr td, .table_head table td {
		display: block;
		max-width: 100%;
		width: 100%;
		box-sizing: border-box;
	}
	.product_cartbutton {
		display: block;
		margin: 0 auto;
	}
	.product_col_quantity input {
		max-width: 50% !important;
		display: block;
		margin: 0 auto;
	}
	.product_col_vlbot, .product_col_vlbot2 {
		border-left: 0 none;
	}
	.list_price {
		display: block;
		padding-right: 10px;
	}
	#mobilemenubasketmarker {
		position: absolute;
		display: none;
		top: 0;
		right: 0;
		width: 14px;
		height: 14px;
		background: url(../images/mobilebasketblink.png) no-repeat center;
		background-size: contain;
	}
	#loadingbasket {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-color: rgba(0,0,0,0.5);
		z-index: 900;
		display: none;
	}
	#loadingbasket.open {
		display: block;
	}
}