
@import url('fonts.css');

* {
	box-sizing:border-box;
	margin:0px;
	padding:0px;
	text-decoration:none;
	font-size:auto;
	
}

html, body {
    overflow-x:hidden;
}

body {
	display:flex;
	flex-direction:column;
	margin:0px;
	padding:0px;
	background:linear-gradient(90deg, rgba(255,255,255,0.8) 0%, rgba(255,255,255,1) 100%); fixed;
	linear-gradient(90deg, rgba(255,255,255,0.8) 0%, rgba(255,255,255,1) 100%);
	align-items:center;
	font-family:'Merriweather', Verdana;
}

a {
	color:#595959;
	text-decoration:none;
}

a:hover {
	color:#e2b225;
}

a.button {}

header {
	position:relative;
	height:450px;
	text-align:center;
	width:100%;
	text-align:left;
}

header > #imageContainer {
	position:fixed;
	left:0px;
	top:0px;
	width:100%;
	height:100%;
	z-index:-11;
}

header > #imageContainer > img.panorama-image {
	opacity:1.0;
	position:absolute;
	left:0;
	z-index:20;
}

header > #logo {
	display:inline-block;
	position:relative;
	margin-left:10%;
	margin-top:50px;
	opacity:0.7;
	width:250px;
	z-index:10;
	-webkit-filter: drop-shadow(1px 1px 1px rgba(255, 255, 255, 1));
	filter: drop-shadow(1px 1px 2px rgba(255, 255, 255, 1));
}

header > #logo > img {
	width:100%;
}


#main {
	width:100%;
}

body > footer {
	display:flex;
	flex-direction:row;
	justify-content:center;
	box-sizing:border-box;
	border-top:3px solid black;
	background-color:black;
	color:white;
	padding:20px;
	width:100%;
	flex-wrap:wrap;
	text-align:left;
}


body > footer > * {
	margin:30px;
	margin-bottom:25px;
	margin-top:10px;
	flex-grow:0;
	
}

body > footer > div#address > p:first-child {
	margin-top:10px;
	margin-bottom:5px;
}

body > footer > div#openinghours > p:first-child {
	margin-top:10px;
	margin-bottom:5px;
}

body > footer > nav > p:first-child {
	margin-top:10px;
	margin-bottom:5px;
}

body > footer > nav > ul {
	list-style:none;
}

body > footer a {
	color:#e2b225;
}

body > footer > #paymentinfo {
	margin-top:10px;
}

body > footer > #paymentinfo > img {
	padding:10px;
	border-radius:5px;
}

nav#mainmenu {
	position:relative;
	width:100%;
	background-color:black;
	/*box-shadow: 0px 1px 3px rgba(255, 255, 255, 0.8);*/
	box-shadow: 0px 1px 3px #595959;
	z-index:20;
	display:flex;
	flex-direction:row;
	justify-content:space-between;
	align-items:center;
	height:80px;
}

/* Mobile special items */


/* Main menu */

nav#mainmenu .compact-logo {
	width:100px;
	overflow:hidden;
}

nav#mainmenu ul {
	display:flex;
	flex-direction:row;
	justify-content:center;
	align-items:center;
	list-style:none;
}

nav#mainmenu > ul.sections {
	flex-wrap:wrap;
	margin:20px;
}

nav#mainmenu li {
	
}

nav#mainmenu > ul.sections a {
	text-transform:uppercase;
	color:white;
	font-family:'Open Sans';
	font-size:15px;
	padding:15px;
}

nav#mainmenu > ul.sections > li > ul {
	display:none;
}


nav#mainmenu > ul.sections a:hover {
	color:#e2b225;
}

nav#mainmenu > ul.sections a.selected {
	color:#e2b225;
}

nav.mainmenu form {
	padding:0px;
}


nav#mainmenu > ul.sections > li.close {
	position:absolute;
	display:none;
	top:20px;
	right:30px;
	width:20px;
	height:20px;
}

nav#mainmenu > ul.sections > li.close img {
	width:20px;
}

nav#mainmenu > ul.sections > li.popup-logo {
	display:none;
}

nav#mainmenu input {
	background-color:#ebf8e5;
	background: linear-gradient(90deg, rgba(255,255,255,0.9) 0%, rgba(255,255,255,1) 100%);
	border:none;
	border-radius:3px;
	height:22px;
	padding:3px;
	padding-left:5px;
}

nav#mainmenu > ul.controls {
	width:100px;
}

nav#mainmenu > ul.controls li {
	padding-right:10px;
}

nav#mainmenu > ul.controls li button {
	display:flex;
	flex-grow:0;
	flex-shrink:0;
	flex-direction:row;
	background-color:white;
	padding:5px;
	justify-content:center;
	align-items:center;
	border: 0px solid white;
	border-radius:5px;
	position:relative;
	height:42px;
	width:42px;
	background:linear-gradient(0deg, rgba(255,255,255,0.7) 0%,rgba(247,247,247,1) 100%);
	cursor:pointer;
}


#menu {
	display:none;
}


nav#mainmenu > ul.controls .item-count {
	display:flex;
	position:absolute;
	top:-10px;
	left:-10px;
	color:white;
	background-color:#e2b225;
	border-radius:10px;
	width:22px;
	height:22px;
	justify-content:center;
	align-items:center;
	font-size:12px;
}

#menu span {
    display:block;
    padding-bottom:3px;
	font-size:25px;
}

#menu:hover {
    color:#e2b225;
    border-color:#e2b225;
}

#shoppingCart > span {
	color:white;
}

#logoM {
	box-sizing:border-box;
	visibility:hidden;
	padding:5px;
	height:50px;
}

#shoppingCart {

}

#shoppingCart img {
	width:30px;
	margin:0px;
	padding:0px;
}





nav#mainmenu.fixed {
    position:fixed;
    top:0px;
    left:0px;
    right:0px;
	z-index:10;
}

#main {
	display:flex;
	justify-content:center;
	/*background-color:rgba(89, 89, 89, 0.8);*/
	background:linear-gradient(180deg, rgba(89, 89, 89, 0.85) 0%, rgba(89, 89, 89, 0.95) 100%);
	width:100%;
}

#contentPane
{
	display:flex;
	flex-direction:row;
	justify-content:center;
	width:1200px;
	background-color:white;
	border-radius:5px;
	box-shadow:0px 0px 3px #595959;
	margin:15px;
}

#leftSidebar {
	box-sizing:border-box;
	width:210px;
	padding:15px;
	padding-top:25px;
	flex-shrink:0;
	flex-grow:0;
}

main {
	box-sizing:border-box;
	flex-grow:1;
	padding:15px;
	margin-top:10px;
}

main h1 {
	font-size:2.8em;
	/*text-transform:uppercase;*/
	color:#e2b225;
	margin:0px;
	margin-top:10px;
	margin-bottom:20px;
	font-family:'Open Sans';
	font-weight:normal;
}

main h2 {
	font-size:1.6em;
	color:#595959;
	margin-top:20px;
	margin-bottom:20px;
}

main div.rating-info h2 {
	color:#e2b225;
}

main p {
	margin:0px;
	margin-top:6px;
	margin-bottom:15px;
	padding:2px;
}

main li {
	margin-left:25px;
}

main > iframe {
	width:100%;
	min-height:300px;
}

main table {
	margin-top:15px;
	margin-bottom:25px;
}

main table td {
	padding:5px;
}

main table.checkout td:first-child {
	text-align:right;
}

main img {
	max-width:100%;
}


#rightSidebar {
	display:flex;
	flex-direction:column;
	box-sizing:border-box;
	width:280px;
	padding:15px;
	padding-top:30px;
	flex-shrink:0;
}



nav#submenu {
	margin-top:10px;
}

nav#submenu ul {
	list-style:none;
	margin-left:10px;
}

nav#submenu ul > li {
	padding:3px;
}

nav#submenu ul > li > a {
	#color:#226600;
	color:#595959;
	padding:5px;
	font-weight:bold;
	font-size:14px;
	font-family:'Open Sans';
	text-transform:uppercase;
}

nav#submenu ul > li > ul {
	margin-bottom:10px;
	list-style:none;
}

nav#submenu ul > li > ul > li > a {
	#color:#226600;
	color:#595959;
	font-weight:normal;
	text-transform:none;
}



#rightSidebar > div {
	box-sizing:border-box;
	box-shadow:0px 0px 3px #595959;
	border-radius:5px;
	padding:0px;
	margin:10px;
	margin-top:15px;
	margin-bottom:20px;
}

#rightSidebar > div > h1 {
	color:#595959;
	padding:6px;
	padding-left:10px;
	font-family:'Open Sans';
	font-size:16px;
	text-transform:uppercase;
	margin-top:10px;
}

#rightSidebar > div > h1 > a {
	color:#595959;
	font-family:'Open Sans';
}

#rightSidebar > div > p {
	margin:10px;
	font-size:12px;
}

#rightSidebar > div > a
{
	display:inline-block;
	padding:7px;
	border-radius:4px;
	background-color:#595959;
	color:white;
	bottom:5px;
	left:5px;
	text-align:center;
	margin:10px;
}

#rightSidebar > img {
	max-width:100%;
	margin-top:20px;
	margin-bottom:20px;
}



.product-list {
	display:flex;
	box-sizing:border-box;
	flex-direction:row;
	flex-wrap:wrap;
	margin-top:35px;
	margin-right:-45px;
}


.product-list > div.item {
	box-sizing:border-box;
	display:flex;
	flex-direction:rows;
	justify-content:top;
	align-items:top;
	max-width:calc(360px - 45px);
	padding:0px;
	margin-right:45px;
	margin-bottom:35px;
}


.product-list > div.item > div {
	display:flex;
	flex-direction:column;
	align-items:center;
	flex-grow:1;
	margin-right:15px;
}

.product-list > div.item > div > div {
	background-color:rgba(217, 202, 176, 0.5);
	border-radius:10px;
	flex-grow:1;
	padding:15px;
}

.product-list > div.item > div > div > h3 {
	text-transform:uppercase;
	margin-bottom:10px;
	font-size:1.0em;
}

.product-list > div.item > a {
	flex-shrink:0;
	flex-grow:0;
	padding-top:10px;
}

.product-list > div.item > div > a {
	display:inline-block;
	padding:7px;
	border-radius:4px;
	background-color:#595959;
	color:white;
	bottom:5px;
	left:5px;
	text-align:center;
	margin:10px;
	width:90px;
}

.product-list p.price {
	text-align:center;
	font-weight:bold;
}

.product-details {
	display:flex;
	flex-direction:row;
	align-items:flex-start;
	justify-content:center;
	margin-bottom:20px;
}

.product-details > img {
	max-width:200px;
	margin:auto;
}

.product-details > div {
	max-width:400px;
	margin:auto;
}

.product-details > .info {
	background-color:rgba(217, 202, 176, 0.5);
	border-radius:10px;
	flex-grow:1;
	padding:15px;	
}

.product-details > .info > p {
	font-size:0.9em;
}

.product-details .price {
	display:block;
	text-align:center;
	font-size:1.1em;
	font-weight:bold;
	margin:20px;
}


/* Forms */

.form-section {
	margin-top:10px;
}

.form-section .group {
	display:flex;
	flex-direction:row;
	margin:0px;
	padding-bottom:10px;
}

.form-section .field {
	box-sizing:border-box;
	display:flex;
	flex-direction:column-reverse;
	padding-right:10px;
	
}

#main input, #main select, #main textarea {
	box-sizing:border-box;
	border:1px solid grey;
	border-radius:1px;
	padding:7px;
	background:linear-gradient(90deg, rgba(250,250,250,1) 0%, rgba(255,255,255,1) 100%);
}

#main .form-section input, #main .form-section select, #main .form-section textarea {
	width:100%;
}

.form-section input:focus, select:focus, textarea:focus {
	border:1px solid #e2b225;
}

.form-section label {
	font-size:12px;
	padding:4px;
	padding-left:1px;
	color:#595959;
}

.form-section label.required:after
{
	content:' *';
}

.form-section .small {
	width:calc(100% / 4);
}

.form-section .medium {
	width:calc(100% / 2);
}

.form-section .large {
	width:calc(100%);
}


.form-section fieldset {
	border:0px none;
	padding-left:2em;
	display:flex;
	flex-direction:column;
}

#main .form-section fieldset label {
	font-size:100%;
	width:auto;
}

#main .form-section fieldset input[type="checkbox"] {
	width:auto;
	margin:0.5em;
	margin-top:0.25em;
}

#main .form-section fieldset .description {
	font-size:85%;
	padding-left:2em;
	margin-bottom:0.8em;
}


button, a.button {
	display:inline-block;
	border:none;
	padding:8px;
	padding-left:12px;
	padding-right:12px;
	border-radius:4px;
	background-color:#595959;
	color:white;
	bottom:5px;
	left:5px;
	text-align:center;
	margin:10px;
	font-size:15px;
	cursor:pointer;
}

.primary {
	background-color:#e2b225;
	
}

p.controls, div.controls {
	display:flex;
	flex-direction:row;
	margin:0px;
	margin-bottom:30px;
}

.controls .spacer {
	flex-grow:1;
}

div.controls > *:first-child {
	margin-left:0px;
}

#main p.controls button, #main p.controls a.button
{
	margin-left:0px;
}

.validation_summary {
	color:red;
}

#main .form-section .checkbox {
	display:flex;
	flex-direction:row;
	align-items:flex-start;
	margin-top:10px;
	margin-left:0px;
}

#main .form-section .checkbox input {
	width:auto;
	margin:5px;
	margin-right:10px;
}



table.shopping-cart {
	margin-top:20px;
	border-collapse:collapse;
}

table.shopping-cart th {
	padding:5px;
	text-align:center;
	font-weight:bold;
}

table.shopping-cart td {
	padding:7px;
	text-align:center;
	font-size:80%;
}

table.shopping-cart td:nth-child(2) {
	text-align:left;
}

table.shopping-cart tr.total td {
	border-top:2px solid grey;
	text-align:right;
	vertical-align:top;
}

table.shopping-cart tr.total td:last-child {
	text-align:center;
}




#invoice {
	margin-top:20px;
	overflow:hidden;
	margin-left:auto;
	margin-right:auto;
}

#invoice table#confirmation {
	width:100%;
	background-color:white;
}

#invoice table#confirmation th {
	text-align:left;
	background-color:#595959;
	color:white;
	padding:7px;
	padding-left:15px;
}

#invoice table#confirmation td {
	vertical-align:top;
	padding:15px;
	font-size:80%;
	width:50%;
}

#invoice table#confirmation h2 {
	font-size:100%;
	margin:0px;
}


#invoice table#cart {
	width:100%;
	background-color:white;
	border-collapse:collapse;
}

#invoice table#cart th {
	background-color:#595959;
	color:white;
	padding:7px;
	font-size:100%;
}

#invoice table#cart th:first-child {
	text-align:left;
}

#invoice table#cart td {
	padding:7px;
	text-align:center;
	font-size:80%;
	vertical-align:middle;
}

#invoice table#cart td:last-child, #invoice table#cart td:nth-child(3), #invoice table#cart tr.sub-total td, #invoice table#cart tr.tax td, #invoice table#cart tr.total-amount td {
	text-align:right;
}

#invoice table#cart td:first-child {
	text-align:left;
}

#invoice table#cart tr.product-line td {
	border-bottom:1px dotted #595959;
}

#invoice table#cart tr.total-amount td {
	border-top:2px solid #595959;
	font-size:100%;
	padding-top:10px;
}

#invoice table#cart tr.sub-total td {
	border-top:1px solid #595959;
}

#invoice table#cart tr.shipping-cost td {
	border-top:1px solid #595959;
}

#invoice table#cart tr.tax td {
	border-bottom:1px solid #595959;
}

main.portal h1 {
	margin-left:10px;
}

div.portal {
	display:flex;
	flex-direction:row;
	align-items:flex-start;
	margin-bottom:20px;
}

div.news {
	display:flex;
	flex-direction:row;
	align-items:stretch;
	width:66%;
}

div.news > div {
	width:calc(50% - 20px);
	margin-right:20px;
	padding:20px;
	border-radius:2px;
	box-shadow:0px 0px 3px #595959;
}

div.rating-info {
	display:flex;
	flex-direction:column;
	justify-content:flex-start;
	align-items:center;
	width:34%;
	border-radius:5px;
}

div.rating-info > a > img {
	margin:30px;
}

div.rating-info > div.ratings {
	width:100%;
	padding:1rem;
	margin-bottom:0rem;
}

div.rating-info div.controls {
	padding-right:1rem;
	width:100%;
	justify-content: flex-end;
	margin-bottom:2.5rem;
}

div.rating-info blockquote {
	font-style:italic;
	font-size:87%;
	color:rgba(133, 123, 107, 1);
}

div.rating-info footer {
	font-weight:bold;
}


#cookieConsentBanner {
	position:absolute;
	width:800px;
	left:calc(50% - 400px);
	top:50px;
	background-color:rgba(255,255,255,0.95);
	color:black;
	font-size:95%;
	padding:1em;
	box-shadow:3px 3px 2px grey;
	font-family:'Open sans';
	height:255px;
}

#cookieConsentBanner h1 {
	font-size:130%;
	margin-bottom:0.5em;
	font-family:'Open sans';
}

#cookieConsentBanner p {
	margin-bottom:0.5em;
	font-family:'Open sans';
}

#cookieConsentBanner button, #cookieConsentBanner .button {
	
}

table.consent-summary td {
	font-size:80%;
	background-color:#efefef;
	padding:0.5em;
}

table.consent-summary td:first-child {
	font-weight:bold;
	text-align:right;
}

@media only screen and (max-width: 1250px) {

	nav#mainmenu {
		display:flex;
		flex-direction:row;
		padding:5px;
	}
	
	nav#mainmenu .compact-logo { width:auto; }

	nav#mainmenu > ul.sections {
		display:none;
		position:fixed;
		top:0px;
		left:0px;
		width:280px;
		bottom:0px;
		background-color:black;
		flex-direction:column;
		flex-wrap:nowrap;
		align-items:center;
		z-index:100;
		margin:0px;
		overflow-x:hidden;
		overflow-y:auto;
		border-right:1px solid #595959;
		box-shadow:0px 0px 3px #595959;
	}
	
	
	nav#mainmenu > ul.sections > li {
		padding:10px;
		width:100%;
		padding:5px;
	}
	
	nav#mainmenu > ul.sections > li a {
		display:block;
		margin:0px;
		padding:7px;
		padding-left:10px;
	}
	
	nav#mainmenu > ul.sections > li.popup-logo {
		text-align:center;
		padding:10px;
		padding-bottom:30px;
		padding-top:30px;
	}
	
	nav#mainmenu > ul.sections > li.search {
		padding-top:30px;
		text-align:center;
	}
	
	nav#mainmenu > ul.sections > li.search a {
		display:block;
		padding-top:20px;
	}
	
	nav#mainmenu > ul.sections > li.popup-logo {
		display:block;
	}
	
	nav#mainmenu > ul.sections > li.close {
		display:block;
	}
	
	nav#mainmenu > ul.sections > li > ul {
		background-color:white;
		margin:0px;
		margin-top:10px;
		margin-bottom:10px;
		padding-top:10px;
		padding-bottom:10px;
	}
	
	
	
	nav#mainmenu > ul.sections > li > ul > li {
		display:block;		
	}
	
	nav#mainmenu > ul.sections > li > ul > li > ul {
		display:block;
	}
	
	nav#mainmenu > ul.sections > li > ul > li > ul > li {
		display:block;
		padding-left:25px;
	}
	
	#logoM {
		display:block;
		visibility:visible;
	}
	
	#contentPane {
		flex-wrap:wrap;
		width:100%;
		margin:0px;
		border-radius:0px;
	}
	
	#leftSidebar {
	}
	
	main {
		max-width:calc(100% - 210px);
	}
	
	#rightSidebar {
		flex-direction:row;
		justify-content:center;
		align-items:center;
	}
	
	#rightSidebar > div {
		flex-shrink:0;
		width:250px;
	}
	
	#rightSidebar > img {
		flex-shrink:0;
		
	}
	
	#menu {
		display:block;
	}
	
	body > footer {
		flex-direction:column;
		align-items:center;
		text-align:center;
	}
	
	nav#mainmenu > ul.sections > li > ul.anm-open-submenu {
		display:block;
		background-color:white;
	}
	
	nav#mainmenu > ul.sections ul.anm-open-submenu a {
		display:block;
		color:grey;
		padding:10px;
	}
	
	nav#mainmenu > ul.sections ul.anm-open-submenu ul {
	}
	
	div.portal {
		flex-direction:column;
	}
	
	div.portal div.news {
		width:100%;
		flex-wrap:wrap;
	}
	
	div.portal div.news > div {
		min-width:320px;
		flex-grow:1;
		margin-bottom:30px;
	}
	
	
	div.rating-info {
		width:100%;
		flex-direction:row;
		justify-content:center;
		flex-wrap:wrap;
		padding:30px;
	}
	
}

@media only screen and (max-width: 700px) {
	.form-section p {
		display:flex;
		flex-direction:row;
		flex-wrap:wrap;
	}
	.form-section .small, .form-section .medium, .form-section .large {
		width:calc(100%);
	}
	
	header { /* or make javascript special class */
		height:0px;
		visibility:visible;
		overflow:hidden;
	}
	
	#contentPane {
		flex-direction:column;
		align-items:flex-start;
		width:100%;
		margin:0px;
		border-radius:0px;
	}
	
	main {
		max-width:100%;
	}
	
	#leftSidebar {
		display:none;
	}
	
	#rightSidebar {
		/*flex-wrap:wrap;*/
		width:100%;
		flex-direction:column;
	}
	
	.product-details {
		flex-direction:column;
		align-items:center;
	}
	
	.product-details img {
		margin:20px;
	}
	
	main h1 {
		font-size:4.5vh;
	}
	
	main h2 {
		font-size:2.7vh;
	}
	
	main p {
		font-size:2.5vh;
	}
	
	
	div.portal {
		flex-direction:column;
	}
	
	div.portal div.news {
		flex-direction:column;
		width:100%;
	}
	
	div.portal div.news > div {
		margin-bottom:30px;
		width:100%;
	}
	
	div.rating-info {
		width:100%;
		flex-direction:column;
		justify-content:flex-start;
		padding:30px;
	}
	
	div.rating-info > div.ratings {
		width:100%;
	}
	
	
	
	#cookieConsentBanner {
		position:absolute;
		width:calc(100% - 40px);
		left:20px;
		top:100px;
		background-color:rgba(255,255,255,0.95);
		color:black;
		font-size:95%;
		padding:1em;
		box-shadow:3px 3px 2px grey;
		font-family:'Open sans';
		height:auto;
	}
	
	#cookieConsentBanner .controls {
		flex-direction:column;
	}
	
	#cookieConsentBanner .controls button:first-child {
		margin-left:10px;
	}
/*
	#cookieConsentBanner h1 {
		font-size:130%;
		margin-bottom:0.5em;
		font-family:'Open sans';
	}

	#cookieConsentBanner p {
		margin-bottom:0.5em;
		font-family:'Open sans';
	}

	#cookieConsentBanner button, #cookieConsentBanner .button {
		
	}
*/
	
}


