.klarnaPaymentsSelectorButton {
	display: inline-block;
	cursor: pointer;
	border: 1px solid #abadb3;
	padding: 10px 10px 8px 8px;
	margin-right: 8px;
	margin-top: 8px;
	border-top-right-radius: 0.4em;
	border-top-left-radius: 0.4em;
	border-bottom-right-radius: 0.4em;
	border-bottom-left-radius: 0.4em;
}

.klarnaPaymentsSelectorButton:hover {
	background-color: #f2f2f2;
}

.klarnaPaymentsSelectorButton.selectorSelected {
	background-color: #dedede;
}

.klarnaPaymentsSelectorButton img {
	vertical-align: middle; 
	margin-top: -2px;
}


/* idangeros Swiper 2.7.0 css */

	.swiper-container {
		margin: 0 auto;
		position: relative;
		overflow: hidden;
		-webkit-backface-visibility: hidden;
		backface-visibility: hidden;
		/* Fix of Webkit flickering */
		z-index: 1;
	}

	.swiper-wrapper {
		position: relative;
		width: 100%;
		-webkit-transition-property: -webkit-transform, left, top;
		-webkit-transition-duration: 0s;
		-webkit-transform: translate3d(0px,0,0);
		-webkit-transition-timing-function: ease;
		transition-property: transform, left, top;
		transition-duration: 0s;
		transform: translate3d(0px,0,0);
		transition-timing-function: ease;
		box-sizing: content-box;
	}

	.swiper-free-mode > .swiper-wrapper {
		-webkit-transition-timing-function: ease-out;
		transition-timing-function: ease-out;
		margin: 0 auto;
	}

	.swiper-slide {
		float: left;
		box-sizing: content-box;
	}


/* For admin */
.productListTable .rowHasLocations td {
	border-bottom-width: 0px;
}

/* Base Elements - CSS Resets */

	/* Hack: Ext-js resets the strong font weight. Undoing this to be able to link to ext-all.css */
	html strong {
		font-weight: bold;
	}

	body {
		margin: 0px;
		padding: 0px;
		height: 100%;
		font-family: Verdana, Arial, Helvetica;
		color: #000000;
	}

	table, thead, tbody, tr, td, th {
		font-size: inherit;
		font-family: inherit;
	}

	form {
		padding: 0px;
		margin: 0px;
	}

	a {
		color: #2b507a;
		font-weight: bold;
		text-decoration: none;
	}

	a:visited {

	}

	a:active {

	}

	a:hover {
		color: #4da1bb;
	}

	img {
		border-width: 0px;
	}

	/* Removes default scrollbars in IE */
	textarea {
		overflow: auto;
	}

	input[type='checkbox'] {
		margin: 0.4em 0.4em 0px 0px;
		padding: 0px;
	}

	/* -webkit-appearance: Avoid native buttons on mobile devices */
	button,
	input[type='reset'],
	input[type='button'],
	input[type='submit'] {
		border-color: #abadb3;
		border-width: 1px;
		border-style: solid;
		cursor: pointer;
		font-size: inherit;
		padding-right: 1.5em;
		padding-left: 1.5em;
		-webkit-appearance: none;
	}

	button,
	input[type='reset'],
	input[type='button'],
	input[type='submit'],
	.inputHeight {
		height: 2em;
	}

	textarea,
	input[type='text'],
	input[type='email'],
	input[type='password'] {
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
		border-color: #abadb3;
		border-width: 1px;
		border-style: solid;
		padding: 1px 1px 1px 4px;
	}

	input[type='text'],
	input[type='email'],
	input[type='password'] {
		height: 2em;
	}

	textarea:required,
	input:required,	
	textarea.showValidationIcon,
	input.showValidationIcon {
		padding-right: 21px;
	}

	input.user-success:required,
	input.user-success.showValidationIcon {
		background-image: url('../../images/System/icon16_valid.png');
		background-repeat: no-repeat;
		background-position: 99% 50%;
		border-color: #42b402;
	}

	textarea.user-success:required,
	textarea.user-success.showValidationIcon {
		background-image: url('../../images/System/icon16_valid.png');
		background-repeat: no-repeat;
		background-position: 99% 4px;
		border-color: #42b402;
	}

	textarea.user-success:disabled,
	input.user-success:disabled {
		background-image: none;
	}

	/* Both color must be set because firefox uses color, and the other browsers background-color */
	hr {
		background-color: #4da1bb;
		color: #4da1bb;
		height: 1px;
	}

	.pageTitle,
	h1 {
		font-weight: normal;
		
	}

	.productPageTitle,
	h2 {
		border-bottom-width: 1px;
		border-bottom-style: solid;
		border-bottom-color: #aaaaaa;
		font-weight: normal;
	}

	/* jQuery UI datepicker must have higher z-index than all other elements. */
	.ui-datepicker {
		z-index: 9999 !important;
	}


/* Font Sizes */

	body {
		font-size: 100%;
	}

	.pageTitle,
	h1 {
		font-size: 1.6em;
	}

	.productPageTitle,
	h2 {
		font-size: 1.25em;
	}

	h3,
	h4 {
		font-size: 1.2em;
	}

	h5,
	h6 {
		font-size: 1.1em;
	}

	#topMenuBody {
		font-size: 0.9em;
	}

	#topMenuBody ul ul li a {
		font-size: 0.9em;
	}

	#compactCartAmount {
		font-size: 0.8em;
	}

	#centerColumn {
		font-size: 0.85em;
	}

	#leftColumn,
	#rightColumn {
		font-size: 0.8em;
	}

	#breadcrumb {
		font-size: 0.9em;
	}

	#cartExtensionControlsContainer {
		font-size: 0.9em;
	}

	.productListCartExtension {
		font-size: 0.8em;	
	}

	.productListBox {
		font-size: 0.8em;
	}

	.productListBox .titleBox {
		font-size: 1.1em;
	}

	.ui-datepicker {
		font-size: 0.8em;
	}

	.textSizeLevel1 {
		font-size: 0.8em;
	}

	.textSizeLevel2 {
		font-size: 0.9em;		
	}

	.textSizeLevel3 {
		font-size: 1.1em;
	}

	input {
		font-size: inherit;
	}


/* Dimensions and margins */

	.sheetMargin #sheet {
		margin-top: 1%;
	}

	#compactHeaderGraphics {
		min-height: 65px;
		padding-bottom: 12px;
	}

	#compactHeaderGraphics .compactHeaderButton {
		width: 24px;
		height: 24px;
		margin-top: 15px;
		padding: 10px;
		float: left;
		margin-left: 12px;
	}

	#compactHeaderGraphics .compactHeaderButton .compactHeaderButtonImage {
		width: 24px;
		height: 24px;
	}

	#compactLogo {
		max-height: 60px;
		margin-top: 5px;
		margin-bottom: 0px;
		float: right;
		margin-right: 12px;
		margin-left: 6px;
	}

	.reverseCompactHeader #compactHeaderGraphics .compactHeaderButton {
		float: right;
		margin-left: 0px;
		margin-right: 12px;
	}

	.reverseCompactHeader #compactLogo {
		float: left;
		margin-right: 6px;
		margin-left: 12px;
	}

	/* padding-top: Height by aspect ratio */
	#headerGraphics {
		padding-top: 17.5%;
	}

	#header,
	#main,
	.fullWidthHeader #topMenuElement,
	.fixTopMenu #topMenu.fixed #topMenuBody {
		width: 85%;
		max-width: 1280px;
	}

	/* box-sizing: keeps the widths of main and header equal even when only main has padding (headerMargin off) */
	#main,
	#header {
		box-sizing: border-box;
	}

	.headerMargin #header,
	#main {
		padding-top: 1%;
		padding-left: 1%;
		padding-right: 1%;
	}

	.headerMargin.fixTopMenu #topMenu.fixed #topMenuBody {
		margin-left: -1%;
	}

	.headerMargin #topMenu,
	.headerMargin #headerGraphicsContainer {
		padding-bottom: 0.7%;
	}

	.fullWidthHeader #header,
	.fullWidthHeader.fixTopMenu #topMenu.fixed #topMenuBody {
		width: 100%;
	}

	#main {
		padding-top: 1%;
	}

	.headerMargin #main {
		padding-top: 0px;
	}

	.topMenuAbsolute #topMenuBody,
	.fullWidthHeader.topMenuAbsolute #topMenuBody {
		position: absolute;
		bottom: 0px;
		left: 7.5%;
		right: 7.5%;
	}

	.topMenuAbsolute #topMenuElement,
	.fullWidthHeader.topMenuAbsolute #topMenuElement {
		width: 100%;
		padding-left: 15px;
	}

	.centerElement {
		margin-bottom: 2%;
	}

	.sideElement {
		margin-bottom: 4%;
		margin-left: 4%;
		margin-right: 4%;
		margin-top: 5%;
	}

	#leftColumn {
		left: -56%;
		width: 20%;
		background-color: #2b507a;
		height: 100%;
		margin-bottom: -15000px;
        padding-bottom: 15000px;
		
	}

	#centerColumn {
		left: 22%;
		width: 56%;
	}

	#rightColumn {
		left: 4%;
		width: 20%;
	}


/* Rounding */

	.roundHeader.sheetMargin #header,
	.roundSide .sideElementHeader {
		border-top-right-radius: 0.4em;
		border-top-left-radius: 0.4em;
	}

	.roundHeader #headerGraphics,
	.roundHeader #topMenuBody,
	.roundSide .sideElementBodyOnly,
	.roundSide .productListBestseller .productListBestsellerImage,
	.roundMain .mfp-figure:after,
	.roundMain .white-popup
	{
		border-top-right-radius: 0.4em;
		border-top-left-radius: 0.4em;
		border-bottom-right-radius: 0.4em;
		border-bottom-left-radius: 0.4em;
	}

	.roundSide .sideElementBody {
		border-bottom-right-radius: 0.4em;
		border-bottom-left-radius: 0.4em;
	}

	.roundForm button,
	.roundForm input[type='reset'],
	.roundForm input[type='button'],
	.roundForm input[type='submit'],
	.roundForm textarea,
	.roundForm input[type='text'],
	.roundForm input[type='email'],
	.roundForm input[type='password'],
	.roundSide #sideMenu ul li a,
	.roundMain .boxOutlined,
	.roundMain .boxOutlinedWarning,
	.roundMain #cartExtension,
	.roundMain .productListCartExtension .outerBox,
	.roundSide #news .frame,
	.roundHeader #topMenuBody ul ul {
		border-top-right-radius: 0.25em;
		border-top-left-radius: 0.25em;
		border-bottom-right-radius: 0.25em;
		border-bottom-left-radius: 0.25em;
	}

	.roundMain #productPageDescriptionTabs.ui-tabs .ui-tabs-panel {
		border-bottom-right-radius: 0.25em;
		border-bottom-left-radius: 0.25em;
	}


/* Background Elements */

	/* Place body backgrounds in this style if you don't want them to show up in the wysiwyg in admin */
	@media screen {
		#frontEndBody {
			z-index: -20;
		}
	}

	#backgroundGradient {
		background: linear-gradient(180deg, rgba(0,0,0,0.35), rgba(0,0,0,0.0)) 0 0;
		height: 100%;
		width: 100%;
		top: 0px;
		margin: 0px;
		position: fixed;
		z-index: -10;
	}

	#backgroundGlare {

	}

	#backgroundGlareImage {

	}


/* Header Elements */

	#compactHeader {
		display: none;
	}

	.fixCompactHeader #compactHeader {
		position: fixed;
		width: 100%;
		z-index: 200;
		max-height: 100%;
		overflow-y: auto;
	}

	/* The height is only an initial value to avoid skipping of the text when exact height is set by jQuery. */
	#fixedCompactHeaderSpacer {
		height: 83px;
		display: none;
	}

	#compactHeaderGraphics {
		background-color: #024f7d;
	}

	#compactHeaderGraphicsShadow {
		height: 6px;
		background: linear-gradient(180deg, rgba(0,0,0,0.35), rgba(0,0,0,0.0)) 0 0;
	}

	#compactCart {
		width: auto;
		display: table;
	}

	#compactCart .compactHeaderButtonImage {
		margin-right: 4px;
		display: block;
	}

	#compactCartAmount {
		display: table-cell;
		vertical-align: middle;
	}

	/* position: topMenuAbsolute */
	#header {
		position: relative;	
		background-color: #ffffff;
		margin-left: auto;
		margin-right: auto;
	}

	/* background-color: may show through behind the image slider, so don't set it unless the slider isn't used */
	#headerGraphics {
		position: relative;
		overflow: hidden;
		background-color: transparent;
	}

	#headerImages img {
		width: 100%;
		height: 100%;
	}

	#logoContainer {
		position: absolute;
		top: 0px;
		bottom: 0px;
		left: 0px;
		right: 0px;
		overflow: hidden;
		
		z-index: 100;
	}

	#logo {
		width: 30%;
		vertical-align: middle;
		padding-left: 2%;
		
	}

	/* z-index: topMenuAbsolute */
	#topMenuBody,
	#topMenuFixedBody {
		margin-left: auto;
		margin-right: auto;
		padding-top: 5px;
		padding-bottom: 5px;
		z-index: 101;
	}

	.fixTopMenu #topMenu.fixed #topMenuBody {
		position: fixed;
		top: 0px;
		bottom: auto;
		margin-top: 0px;
		z-index: 202;
		border-top-right-radius: 0px;
		border-top-left-radius: 0px;
		border-bottom-right-radius: 0px;
		border-bottom-left-radius: 0px;
	}

	.fullWidthHeader.topMenuAbsolute.fixTopMenu #topMenu.fixed #topMenuBody {
		width: auto;
	}

	#topMenuFixedBody {
		display: none;
	}

	.fixTopMenu #topMenu.fixed #topMenuFixedBody {
		display: block;
	}

	.topMenuAbsolute.fixTopMenu #topMenu.fixed #topMenuFixedBody {
		display: none;
	}

	#topMenuElement {
		margin-left: auto;
		margin-right: auto;
		padding-left: 15px;
	}

	.fullWidthHeader #topMenuElement {
		padding-left: 0px;
	}

	#compactHeaderGraphics .compactHeaderButton {
		background-color: #ffffff;
		border-top-right-radius: 4px;
		border-top-left-radius: 4px;
		border-bottom-right-radius: 4px;
		border-bottom-left-radius: 4px;
		color: #244177;
		border-color: #ffffff;
		border-width: 0px;
		border-style: solid;
		cursor: pointer;
		font-weight: bold;
		white-space: nowrap;
	}

	/* display: block keeps the image in place if font size increases 200% */
	#compactHeaderGraphics .compactHeaderButton .compactHeaderButtonImage {
		display: block;
	}

	#compactSearch {
		background-color: #244177;
		padding: 10px;
		border-top-width: 1px;
		border-top-style: solid;
		border-top-color: #ffffff;
	}

	#compactSearch input[type='submit'] {
		float: right;
		width: 55px;
	}

	#compactSearchQ {
		width: 100%;
		float: left;
	}


/* Page Elements */

	#sheet {
		overflow: hidden;
	}

	#main {
		background-color: #ffffff;
		margin-left: auto;
		margin-right: auto;
		position: relative;
	}

	#centerColumn {
		position: relative;
		float: left;
	}

	@media print {
		div#centerColumn {
			left: 0px;
			width: 100%;
		}
	}

	#leftColumn {
		position: relative;
		float: left;
	}

	#rightColumn {
		position: relative;
		float: left;
	}

	.sideElementHeader {
		background-color: #4da1bb;
		font-weight: bold;
		color: #ffffff;
		padding-top: 6px;
		padding-right: 10px;
		padding-bottom: 6px;
		padding-left: 10px;
	}

	/* IE7 compatibility requires separate block */
	.sideElementBody {
		background-color: #2b507a;
	}

	.sideElementBody {
		background-color: #2b507a;
		color: #ffffff;
		padding-top: 10px;
		padding-right: 10px;
		padding-bottom: 10px;
		padding-left: 10px;
		margin-top: 1px;
		line-height: 130%;
	}

	.sideElementBodyOnly {
		background-color: #2b507a;
		color: #ffffff;
		padding-top: 6px;
		padding-right: 10px;
		padding-bottom: 6px;
		padding-left: 10px;
	}

	.compactSideElementTrigger {
		display: none;
	}

	/* IE7 compatibility requires separate block */
	#cartExtension {
		background-color: #004062;
	}

	#cartExtension {
		position: absolute;
		display: none;
		width: 100%;
		background-color: rgba(0, 64, 98, 0.85);
		color: #ffffff;
		margin-top: 1px;
		line-height: 130%;
		z-index: 201;
	}

	#cartExtensionElement {
		margin-top: 2%;
		margin-bottom: 2%;
		margin-right: 4%;
		margin-left: 4%;
	}

	#cartExtensionProductContainer {
		width: 74%;
		float: left;
	}

	#cartExtensionControlsContainer {
		width: 24%;
		float: right;
		text-align: right;
	}

	#cartExtensionControlsContainer input[type='button'],
	#cartExtensionControlsContainer input[type='submit'] {
		margin-top: 5%;
		width: 100%;
		background-color: #4da1bb;
		color: #ffffff;
		border: 0px;	}

	#cartExtensionPricesContainer {
		margin-top: 5%;
	}

	#cartExtensionPricesContainer .incVatBox {
		border-top-width: 1px;
		border-top-style: solid;
		border-top-color: #ffffff;
		border-bottom-width: 4px;
		border-bottom-style: double;
		border-bottom-color: #ffffff;
	}

	#breadcrumb {
		color: #8f8fbc;
	}

	#sharetool {
		float: right;
		height: 32px;
	}

	.klarna-widget {
		 min-height: 70px;
		 margin-bottom: 12px;
	}

	.klarna-side-widget {
		 min-height: 91px;
	}

	.klarna-side-widget *::part(osm-container) {
		background-color: #2b507a;
		border-color: #f0eeeb;
		border-width: 1px;
		border-top-right-radius: 0.25em;
		border-top-left-radius: 0.25em;
		border-bottom-right-radius: 0.25em;
		border-bottom-left-radius: 0.25em;
	}

	/* Pre-styling these tags to avoid content shifting when loading the addthis stylesheet */
	#sharetool a {
		padding: 0px 2px 0px 2px;
		float: left;
	}

	#flags {
		text-align: center;
		padding-top: 0.5em;
		padding-bottom: 0.5em;
	}

	#poweredby {
		text-align: right;
		padding-top: 0.5em;
		padding-bottom: 0.5em;
	}

	.pageImage {
		float: left;
		margin-right: 12px;
		margin-bottom: 12px;
	}

	.articlePageImage {
		float: left;
		width: 50%;
		margin-right: 2%;
		margin-bottom: 1%;
	}

	#productPageImageInlineContainer {
		height: 100%;
	}

	#productPageImageInlineContainer .zoomButton {
		position: absolute;
		bottom: 0px;
		z-index: 199;
	}

	#articlePageImageInlineContainer {
		height: 100%;
	}

	#articlePageImageInlineContainer .zoomButton {
		position: absolute;
		bottom: 0px;
		z-index: 199;
	}

	#articlePageImageInlineContainer.inlineGallery .swiperThumbStack {
		padding-top: 15%;
	}

	.articlePageDescription {
		font-weight: bold;
	}

	.productPageVariantSelects {
		width: 100%;
		margin-bottom: 2%;
		height: 2em;
	}

	.productPageCustomerCommentBox {
		width: 100%;
		height: 40px;
	}

	.productPageMoreInfo .moreInfoContainer {
		margin-bottom: 6px
	}

	.productPageMoreInfo .moreInfoTitle {
		width: 98px;
		float: left;
	}

	.productPageMoreInfo .moreInfoContent {
		margin-left: 100px;
	}

	#productPageDescriptionTabs.ui-tabs {
		border-width: 0px;
		padding: 0px;
	}

	#productPageDescriptionTabs.ui-tabs .ui-tabs-panel {
		overflow: auto;
		border-bottom: 1px solid #aaaaaa;
		border-right: 1px solid #aaaaaa;
		border-left: 1px solid #aaaaaa;
	}

	#productPageDescriptionTabs.ui-tabs .ui-widget-header {
		background-color: transparent;
		background-image: none;
		border-width: 0px 0px 1px 0px;
		border-bottom: 1px solid #c0c0c0;
		border-radius: 0px;
		padding-left: 0px;
	}

	#productPageDescriptionTabs #tabExternalUrls div {
		text-overflow: ellipsis;
		overflow: hidden;
		white-space: nowrap;
	}

	/* Used in the admin wysiwyg */
	.pageBody {

	}

	/* Used in the admin wysiwyg */
	.pageFooter {

	}


/* Menus */

	/* Drop Down Menu - Basic drop down functionality */
	.dropDownMenu ul a {
		display: block;
	}

	.dropDownMenu ul {
		margin: 0px;
		padding: 0px;
		list-style-type: none;
		z-index: 102;
	}

	.dropDownMenu ul li {
		display: block;
		float: left;
		position: relative;
	}

	.dropDownMenu ul ul {
		visibility: hidden;
		opacity: 0;
		transition: visibility 0s linear 0.35s, opacity 0.35s linear;
		position: absolute;
		top: 100%;
	}

	.dropDownMenu ul li:hover > ul {
		visibility: visible;
		opacity: 1;
		transition-delay: 0s;
	}

	.dropDownMenu ul ul li {
		float: none;
	}

	.dropDownMenu ul ul ul {
		left: 96%;
		top: 6px;
	}

	.dropDownMenu ul:after {
		content: "";
		clear: both;
		display: block;
	}

	/* Two Levels / Multi Column Mode */
	.multiColumn .dropDownMenu > ul {
		position: relative;
	}

	.multiColumn .dropDownMenu ul li {
		position: static;
	}

	.multiColumn .dropDownMenu ul ul li {
		float: left;
	}

	.multiColumn .dropDownMenu ul ul ul li {
		float: none;
		padding-left: 15px;
	}

	.multiColumn .dropDownMenu ul ul ul {
		left: 0px;
		top: 0px;
		position: relative;
	}

	.multiColumn .dropDownMenu ul li:hover ul {
		visibility: visible;
		opacity: 1;
		transition-delay: 0s;
	}


	/* Top Menu - Visual styling */
	#topMenuBody {
		background-color: #2b507a;
	}

	#topMenuBody ul {
		background-color: transparent;
		border-color: transparent;
		border-style: solid;
		border-width: 0px;
	}

	#topMenuBody ul li a {
		color: #ffffff;
		text-decoration: none;
		padding-top: 7px;
		padding-right: 33px;
		padding-bottom: 6px;
		padding-left: 0px;
		font-weight: bold;
		white-space: nowrap;
	}

	#topMenuBody ul li a:hover {
		color: #f18e45;
	}

	#topMenuBody ul ul {
		background-color: #cfdbf0;
		border-color: #244177;
		border-style: solid;
		border-width: 1px;
	}

	#topMenuBody ul ul li a {
		padding: 8px 18px 8px 8px;
		margin-right: 10px;
		color: #000000;
		font-weight: normal;
	}

	#topMenuBody ul ul li.parentNode > a {
		background-image: url('../../images/System/ice_arrow_sub.gif');
		background-repeat: no-repeat;
		background-position: right center;
	}

	#topMenuBody ul ul li a:hover {
		color: #f18e45;
	}

	.multiColumn #topMenuElement ul ul li.parentNode > a {
		background-image: none;
	}

	.multiColumn #topMenuElement ul ul ul {
		border-color: transparent;
	}

	.multiColumn #topMenuElement ul ul ul li {
		background-image: url('../../images/System/ice_sidemenuimage.gif');
		background-position: 6px 10px;
		background-repeat: no-repeat;
	}


	/* Side Menu - Functionality */
	#sideMenu ul {
		margin: 0px;
		padding: 0px;
		list-style-type: none;
	}

	#sideMenu ul li {
		display: block;
	}

	#sideMenu ul ul {
		display: none;
	}

	#sideMenu ul li.expandNode > ul {
		display: block;
	}

	/* Side Menu - Visual styling */
	#sideMenu ul li a {
		display: block;
		color: #ffffff;
		background-color: transparent;
		background-image: none;
		border-width: 1px;
		border-style: solid;
		border-color: #4da1bb;
		padding: 3%;
		margin-bottom: 2px;
		font-size: 0.9em;
	}

	#sideMenu ul li.activeNode > a,
	#sideMenu ul li a:hover {
		color: #ffffff;
		background-color: #4da1bb;
		border-color: #004062;
	}

	#sideMenu ul ul li a {
		padding: 2% 2% 2% 23px;
		border-color: #4da1bb;
		
		font-size: 0.8em;
	}


	#sideMenu ul ul li.activeNode > a,
	#sideMenu ul ul li a:hover {
		border-color: #004062;
		border-style: dotted;
	}

	#sideMenu ul ul ul li a {
		background-position: 20px center;
		padding-left: 37px;
	}

	#sideMenu ul ul ul ul li a {
		background-position: 35px center;
		padding-left: 52px;
	}

	#sideMenu ul ul ul ul ul li a {
		background-position: 50px center;
		padding-left: 67px;
	}

	#sideMenu ul ul ul ul ul ul li a {
		background-position: 65px center;
		padding-left: 82px;
	}

	/* Compact (mobile) Menu */
	#compactMenu {
		display: none;
	}

	#compactMenu ul {
		margin: 0px;
		padding: 0px;
		list-style-type: none;
	}

	#compactMenu ul li {
		display: block;
	}

	#compactMenu ul ul {
		display: none;
	}

	/* Compact (mobile) Menu - Visual styling */
	#compactMenu {
		border-top-width: 1px;
		border-top-style: solid;
		border-top-color: #ffffff;
	}

	#compactMenu ul li a {
		display: block;
		background-color: #244177;
		color: #ffffff;
		font-weight: normal;
		padding: 0.8em;
		border-bottom-width: 1px;
		border-bottom-style: solid;
		border-bottom-color: #ffffff;
	}

	#compactMenu ul li.parentNode > a:after {
		content: '▼';
		font-size: 0.7em;
		margin-left: 0.7em;
		position: relative;
		top: -2px;
	}

	#compactMenu ul li:last-child > a {
		border-bottom-width: 0px;
	}

	#compactMenu ul ul {
		padding-left: 0.4em;
		background-color: #244177;
		border-bottom-width: 1px;
		border-bottom-style: solid;
		border-bottom-color: #ffffff;
	}

	#compactMenu ul ul li a {
		background-color: #708BBB;
	}


/* Article Lists */

	/* Normal List */

	.articleListBox .thumbnail {
		float: left;
		width: 35%;
		margin-right: 1.5%;
	}

	.articleListBoxSmallImage .articleListBox .thumbnail {
		width: 20%;
	}

	.articleListBoxLargeImage .articleListBox .thumbnail {
		width: 50%;
	}

	.articleListBoxFullImage .articleListBox .thumbnail {
		width: 100%;
	}

	.articleListBoxDynamicImage .articleListBox .thumbnail {
		width: auto;
		max-width: 100%;
	}

	.articleListBoxRightFloatImage .articleListBox .thumbnail {
		float: right;
		margin-left: 1.5%;
		margin-right: 0px;
	}

	.articleListBoxCenteredImage .articleListBox .thumbnail {
		float: none;
		margin: 0px auto 3px auto;
		display: block;
	}

	.articleListBoxNoFloatImage .articleListBox .thumbnail {
		float: none;
	}

	.articleListBox .shortDescriptionTextOnly {
		display: none;
	}

	.articleListBoxShortDescriptionEllipsis .articleListBox .shortDescription {
		display: none;
	}

	.articleListBoxShortDescriptionEllipsis .articleListBox .shortDescriptionTextOnly {
		display: block;
		text-overflow: ellipsis;
		overflow: hidden;
		white-space: nowrap;
	}

	.articleListBoxHideImage .articleListBox .thumbnail {
		display: none;
	}

	.articleListBoxHideTitle .articleListBox .title {
		display: none;
	}

	.articleListBoxHideShortDescription .articleListBox .shortDescription,
	.articleListBoxHideShortDescription.articleListBoxShortDescriptionEllipsis .articleListBox .shortDescriptionTextOnly {
		display: none;
	}

	.articleListBoxHideMoreLink .articleListBox .moreLink {
		display: none;
	}

	.articleListBoxFrame .articleListBox .frame {
		padding: 2%;
		border-width: 1px;
		border-style: solid;
		border-color: #dddddd;
	}

	.articleListBoxBottomBorder .articleListBox .frame {
		padding-bottom: 2%;
		border-bottom: 1px solid #dddddd;
	}

	.articleListBoxHeight40 .articleListBox .boxAspectRatioElement,
	.articleListBoxHeight60 .articleListBox .boxAspectRatioElement,
	.articleListBoxHeight80 .articleListBox .boxAspectRatioElement,
	.articleListBoxHeight100 .articleListBox .boxAspectRatioElement,
	.articleListBoxHeight130 .articleListBox .boxAspectRatioElement {
		position: absolute;
		top: 0px;
		bottom: 0px;
		left: 0px;
		right: 0px;
		overflow: hidden;
	}

	.articleListBoxHeight40 .articleListBox .boxHeight {
		padding-top: 40%;
	}

	.articleListBoxHeight60 .articleListBox .boxHeight {
		padding-top: 60%;
	}

	.articleListBoxHeight80 .articleListBox .boxHeight {
		padding-top: 80%;
	}

	.articleListBoxHeight100 .articleListBox .boxHeight {
		padding-top: 100%;
	}

	.articleListBoxHeight130 .articleListBox .boxHeight {
		padding-top: 130%;
	}

	.articleListBoxHeight40 .articleListBox .descriptionEllipsis,
	.articleListBoxHeight60 .articleListBox .descriptionEllipsis,
	.articleListBoxHeight80 .articleListBox .descriptionEllipsis,
	.articleListBoxHeight100 .articleListBox .descriptionEllipsis,
	.articleListBoxHeight130 .articleListBox .descriptionEllipsis {
		position: absolute;
		bottom: 0px;
		left: 0px;
		right: 0px;
		height: 10%;
		background: linear-gradient(0deg, rgba(255,255,255,0.85), rgba(255,255,255,0)) 0 0;
	}

	/* Only takes effect with fixed height */
	.articleListBoxMaxHeight85 .articleListBox .thumbnail {
		max-height: 85%;
	}

	/* Only takes effect with fixed height */
	.articleListBoxMaxHeight50 .articleListBox .thumbnail {
		max-height: 50%;
	}

	/* A div with 100% height inside the absolute div is needed for Chrome/Opera to respect the max-height on the image */
	.articleListBox .imageMaxHeightEnabler {
		height: 100%;
	}


	/* FAQ List */

	.articleListFAQ {
		overflow: hidden;
	}

	.articleListFAQ .frame {
		border-bottom: 1px solid #dddddd;
		padding-bottom: 1%;
	}

	.articleListFAQ .title {
		margin-bottom: 0.5%;
		font-weight: bold;
		cursor: pointer;
	}

	.articleListFAQ .thumbnail {
		float: left;
		width: 35%;
		margin-right: 1.5%;
	}

	.articleListFAQSmallImage .articleListFAQ .thumbnail {
		width: 20%;
	}

	.articleListFAQLargeImage .articleListFAQ .thumbnail {
		width: 50%;
	}

	.articleListFAQFullImage .articleListFAQ .thumbnail {
		width: 100%;
	}

	.articleListFAQRightFloatImage .articleListFAQ .thumbnail {
		float: right;
		margin-left: 1.5%;
		margin-right: 0px;
	}

	.articleListFAQHideMoreLink .articleListFAQ .moreLink,
	.articleListFAQHideImage .articleListFAQ .thumbnailBox {
		display: none;
	}

	.articleListFAQHideBorder .articleListFAQ .frame {
		border-bottom-width: 0px;
	}


/* Product Lists */

	/* Table */

	.productListTable {
		width: 100%;
		border-collapse: separate;
		border-spacing: 0;
	}

	.productListTable td {
		vertical-align: top;
		padding: 4px;
		border-bottom-width: 1px;
		border-bottom-style: dotted;
		border-bottom-color: #4da1bb;
	}

	.productListTable .thumbnailColumn {
		width: 22%;
		min-width: 10px;
	}

	.productListTable .thumbnailColumn img {
		width: 100%;
		display: block;
	}

	.productListTable .priceColumn .priceBeforeDiscount {
		text-decoration: line-through;
	}

	.productListTable .shoppingColumn {
		width: 17%;
	}

	.productListTable .removeColumn {
		width: 20px;
	}

	.productListTable .removeColumn .deleteIcon {
		width: 20px;
		height: 20px;
		float: right;
		margin-top: 2px;
	}

	.productListTable .shoppingColumn select,
	.productListTable .shoppingColumn .customerComment {
		width: 100%;
	}

	.productListTable .shoppingColumn .customerComment {
		min-width: 130px;
		height: 80px;
	}

	.productListTable .shoppingColumn .qty {
		float: left;
		padding-right: 3%;
	}

	.productListTable .shoppingColumn .buyButton {
		width: 100%;
		margin-left: 0px;
	}

	.productListTable .shoppingColumn .qtyInput {
		width: 40px;
		text-align: right;
		padding-right: 5px;
	}

	.productListTable .shoppingColumn .optionsBox select,
	.productListTable .shoppingColumn .customerCommentBox,
	.productListTable .shoppingColumn .qtyBox {
		margin-top: 0px;
		margin-bottom: 3px;
	}

	.productListTable .shoppingColumn .customerComment {
		/* Avvoid spacing below inline element */		
		display: block;
	}

	.productListTable .priceColumn,
	.productListTable .stockColumn,
	.productListTable .shoppingColumn {
		text-align: right;
	}

	.productListTable .priceColumn,
	.productListTable .shoppingColumn .qtyBox,
	.productListTable .stockColumn,
	.productListTable .moreInfoColumn.productListTableHeader {
		white-space: nowrap;
	}

	/* Every second row can be "highlighted". Typically with a background color */
	.productListTable tr.highlightedRow td {
		background-color: #e9f4f7;
		color: #000000;
	}

	.productListTable tr:first-child td {
		border-top-width: 1px;
		border-top-style: dotted;
		border-top-color: #4da1bb;	
	}

	/* Header overrides normal cells so normal cells do not need their own class */
	.productListTable tr.highlightedRow td.productListTableHeader {
		font-weight: bold;
		background-color: transparent;
		border-top-width: 0px;
		border-bottom-width: 1px;
		border-bottom-style: solid;
		border-bottom-color: #4da1bb;
	}

	.productListTableHideHighlight .productListTable tr.highlightedRow td {
		background-color: transparent;
	}

	.productListTableHideArticleNumberColumn .productListTable .articleNumberColumn,
	.productListTableHideArticleNumber2Column .productListTable .articleNumber2Column,
	.productListTableHideThumbnailColumn .productListTable .thumbnailColumn,
	.productListTableHidePriceColumn .productListTable .priceColumn,
	.productListTableHideStockColumn .productListTable .stockColumn,
	.productListTableHideMoreInfoColumn .productListTable .moreInfoColumn,
	.productListTableHideShoppingColumn .productListTable .shoppingColumn,
	.productListTableHideBuyButton .productListTable .buyButton {
		display: none;
	}


	/* Box */

	.productListBox a,
	.productListBox a:active,
	.productListBox a:hover,
	.productListBox a:visited {
		font-weight: normal;
		color: #353535;
	}

	.productListBox .outerBorder {
		overflow: hidden;
		position: relative;
	}

	.productListBox .imageOuterBox {
		box-sizing: border-box;
		border-width: 1px;
		border-style: solid;
		border-color: #dddddd;
		text-align: center;
		overflow: hidden;
	}

	.productListBox .imageCenterOuterBox {
		height: 100%;
	}

	.productListBox .imageCenterInnerBox {
		height: 100%;
	}

	.productListBox .imageBoxHeight {
		padding-top: 95%;
	}

	.productListBoxLandscapeImage .productListBox .imageBoxHeight {
		padding-top: 70%;
	}

	.productListBoxPortraitImage .productListBox .imageBoxHeight {
		padding-top: 125%;
	}

	/* height: Required by Opera to size image correctly */
	.productListBox .imageInnerBox {
		height: 100%;
	}

	.productListBox .imageInnerBox img {
		max-height: 77%;
		max-width: 100%;
		margin-top: 2.5%;
	}

	.productListBoxCenterImage .productListBox .imageCenterOuterBox {
		height: 100%;
		width: 100%;
		display: table;
		table-layout: fixed;
	}

	.productListBoxCenterImage .productListBox .imageCenterInnerBox {
		display: table-cell;
		vertical-align: middle;
	}

	.productListBox .titleBox {
		position: absolute;
		bottom: 0px;
		left: 0px;
		right: 0px;
		text-align: center;
		padding-top: 4%;
		padding-bottom: 4%;
		background-color: rgba(255,255,255,0.8);
	}

	.productListBox .titleBoxPadding {
		padding-right: 3%;
		padding-left: 3%;
	}

	.productListBox .descriptionBox {
		color: #777777;
		margin-top: 1%;
		margin-bottom: 1%;
		line-height: 1.2;
		height: 4.8em;
		overflow: hidden;
	}

	.productListBoxTwoLineDescription .productListBox .descriptionBox {
		height: 2.4em;
	}

	.productListBox .stockBox {
		height: 16px;
		margin-top: 1%;
		margin-bottom: 1%;
		text-align: right;
		color: #777777;
		overflow: hidden;
	}

	.productListBox .priceBox {
		padding-top: 1%;
		padding-bottom: 1%;
		height: 2.4em;
		line-height: 1.2;
		overflow: hidden;
	}

	.productListBox .priceBeforeDiscount {
		text-decoration: line-through;
		font-weight: normal;
		white-space: nowrap;
	}

	.productListBox .price {
		font-weight: bold;
		white-space: nowrap;
		
	}

	.productListBox .priceBox input[type='button'] {
		float: right;
		height: 100%;
		padding-right: 0.8em;
		padding-left: 0.8em
	}

	.productListBox .descriptionEllipsis,
	.productListBox .fullEllipsis {
		position: absolute;
		bottom: 0px;
		left: 0px;
		right: 0px;
		height: 10%;
		background: linear-gradient(0deg, rgba(255,255,255,0.85), rgba(255,255,255,0)) 0 0;
	}

	.productListBox .fullEllipsis {
		height: 3%;
	}

	.productListBox.isNotShoppable .descriptionEllipsis {
		display: none;
	}

	.productListBox.isNotShoppable .descriptionBox .aspectRatioElement {
		overflow: visible;
	}

	.productListBox.isShoppable .fullEllipsis {
		display: none;
	}

	.productListBoxGrayTitle .productListBox .titleBox {
		border-top: 1px solid rgb(226, 226, 226);
		background-color: rgba(238,238,238,0.8);
	}

	.productListBoxGrayTitle .productListBox .ImageOuterBox {
		border-color: rgb(226, 226, 226);
	}

	.productListBoxBlackTitle .productListBox .titleBox {
		background-color: rgba(25, 25, 25, 0.75);
		color: #ffffff;
	}

	.productListBoxHideFrame .productListBoxGrayTitle .productListBox .titleBox,
	.productListBoxHideFrame .productListBox .imageOuterBox,
	.productListBoxFullFrame .productListBoxGrayTitle .productListBox .titleBox,
	.productListBoxFullFrame .productListBox .imageOuterBox {
		border-width: 0px;
	}

	.productListBoxFullFrame .productListBox .outerBorder {
		border-width: 1px;
		border-style: solid;
		border-color: #dddddd;
	}

	.productListBoxFullFrame .productListBox .descriptionBox .aspectRatioElement {
		left: 3%;
		right: 3%;
	}

	.productListBoxFullFrame .productListBox .priceBox {
		padding-right: 3%;
		padding-left: 3%;
	}

	.productListBoxHideDescription .productListBox .descriptionBox,
	.productListBoxHideStock .productListBox .stockBox,
	.productListBoxHidePrice .productListBox .priceBeforeDiscount,
	.productListBoxHidePrice .productListBox .price,
	.productListBoxHideButton .productListBox input[type='button'],
	.productListBoxHidePrice.productListBoxHideButton .productListBox .priceBox {
		display: none;
	}


	/* Cart Extension */

	.productListCartExtension {
		position: relative;
		margin-top: 2%;
		margin-bottom: 2%;	
	}

	.productListCartExtension a,
	.productListCartExtension a:active,
	.productListCartExtension a:hover,
	.productListCartExtension a:visited {
		font-weight: normal;
		color: #353535;
	}

	.productListCartExtension .outerBox {
		background-color: #ffffff;
		text-align: center;
		overflow: hidden;
		width: 90%;
	}

	.productListCartExtension .boxHeight {
		padding-top: 85%;
	}

	/* height: Required by Opera to size image correctly */
	.productListCartExtension .innerBox {
		height: 100%;
	}

	.productListCartExtension .innerBox img {
		max-height: 75%;
		max-width: 100%;
		margin-top: 2.5%;
	}

	.productListCartExtension .titleBox {
		position: absolute;
		bottom: 0px;
		left: 0px;
		right: 0px;
		text-align: center;
		padding-top: 4%;
		padding-bottom: 4%;
		background-color: rgba(255,255,255,0.8);
	}

	.productListCartExtension .priceBox {
		color: #ffffff;
		width: 90%;
		text-align: center;
		text-overflow: ellipsis;
		overflow: hidden;
		white-space: nowrap;
	}

	.productListCartExtension .removeButton {
		position: absolute;
		width: 18%;
		top: -9%;
		right: 3%;
	}

	/* Bestseller */

	.productListBestseller .productListBestsellerTitle {
		margin-bottom: 1%;
	}

	.productListBestseller .productListBestsellerImage {
		width: 100%
	}

	.productListBestseller .productListBestsellerButton {
		margin-top: 2%;
		width: 100%;
	}


	/* Shopping Lists */

	.productListTable tr td.shoppingListEditTitleColumn,
	.productListTable tr td.shoppingListEditPriceColumn,
	.productListTable tr td.shoppingListEditOptionsColumn,
	.productListTable tr td.shoppingListEditQtyColumn {
		vertical-align: middle;
		background-color: transparent;
	}

	.productListTable .shoppingListEditPriceColumn {
		white-space: nowrap;
	}

	.productListTable .shoppingListEditQtyColumn input {
		width: 40px;
		text-align: right;
		padding-right: 5px;
	}

	.productListTable tr td.shoppingListTitleColumn,
	.productListTable tr td.shoppingListPriceColumn,
	.productListTable tr td.shoppingListOptionsColumn,
	.productListTable tr td.shoppingListDesiredColumn,
	.productListTable tr td.shoppingListPurchasedColumn,
	.productListTable tr td.shoppingListShoppingColumn {
		vertical-align: middle;
		background-color: transparent;
	}

	.productListTable .shoppingListPriceColumn {
		white-space: nowrap;
	}

	.productListTable .shoppingListQty {
		width: 40px;
		text-align: right;
		padding-right: 5px;
	}

	.shoppingListTable {
		width: 100%;
	}

	.shoppingListTable td {
		padding: 4px 2px 2px 2px;
	}

	.shoppingListTableHeading {
		border-bottom-width: 1px;
		border-bottom-style: solid;
		border-bottom-color: #4da1bb;
		font-weight: bold;
	}

	.shoppingListTable.editMode .shoppingListTablePrivate {
		text-align: center;
	}

	.shoppingListTable.editMode .shoppingListTableComment,
	.shoppingListTable.editMode .shoppingListTablePrivate {
		border-bottom-style: dotted;
		border-bottom-width: 1px;
		border-bottom-color: #4da1bb;
	}

	.shoppingListTable.listMode .shoppingListTableComment {
		border-bottom-style: dotted;
		border-bottom-width: 1px;
		border-bottom-color: #4da1bb;
	}


/* E-commerce */

	.priceBeforeDiscount {
		color: #4da1bb;
	}

	.priceDiscount {
		color: #4da1bb;
	}

	.price {
		color: #006400;
	}

	.highlightedElement .priceBeforeDiscount {
		color: #4da1bb;
	}

	.highlightedElement .priceDiscount {
		color: #4da1bb;
	}

	.highlightedElement .price {
		color: #006400;
	}

	.sideElement .priceBeforeDiscount {
		color: #f69c9c;
	}

	.sideElement .priceDiscount {
		color: #f69c9c;
	}

	.sideElement .price {
		color: #ffffff;
	}

	.orderListPanel select {
		width: 110px;
	}

	.orderListPanel input[type='submit'] {
		width: 110px;
		margin-top: 2px;
	}

	.orderTitles {
		padding: 4px;
	}

	/* registered orders */
	.orderLine1 {
		padding: 7px 2px 4px 2px;
		border-bottom: 1px dotted #808080;
	}

	/* confirmed orders */
	.orderLine2 {
		padding: 7px 2px 4px 2px;
		border-bottom: 1px dotted #808080;
	}

	/* processed orders */
	.orderLine5 {
		padding: 7px 2px 4px 2px;
		border-bottom: 1px dotted #808080;
	}

	/* shipped orders */
	.orderLine6 {
		padding: 7px 2px 4px 2px;
		border-bottom: 1px dotted #808080;
	}

	/* cancelled orders */
	.orderLineCancelled {
		background-color: #fa8c66;
	}

	/* inactive orders */
	.orderLineInactive {
		background-color: #faab8f;
	}

	.orderFooter {
		padding: 2px;
		font-weight: bold;
	}

	.orderConfirmationOrderLines table {
		width: 100%;
		border-collapse: separate;
		border-spacing: 0px;
	}

	.orderConfirmationOrderLines td {
		border-width: 0px;
		vertical-align: top;
		padding: 3px;
		border-bottom-width: 1px;
		border-bottom-style: dotted;
		border-bottom-color: #4da1bb;
	}

	.orderConfirmationOrderLines .orderConfirmationHeader {
		border-bottom-width: 1px;
		border-bottom-style: solid;
		border-bottom-color: #aaaaaa;
	}

	.orderConfirmationOrderLines .orderConfirmationPriceColumn {
		text-align: right;
		padding-right: 0px;
		white-space: nowrap;
	}

	.orderConfirmationPriceSummary {
		display: inline-block;
		float: right;
	}

	.orderProductLines {
		border-top-width: 0px;
		border-right-width: 0px;
		border-left-width: 0px;
		border-bottom-style: dotted;
	}

	.checkoutSteps {
		margin-bottom: 22px;
	}

	.checkoutStep {
		width: 24.5%;
		float: left;
		background-color: #abd3df;
		padding-top: 10px;
		padding-bottom: 10px;
		text-align: center;
		margin-right: 0.5%;
		border-bottom: 4px solid #ddedf2;
		color: #ffffff;
		position: relative;
	}

	.checkoutStep.checkoutTitleStep {
		color: #ffffff;
		background-color: #4da1bb;
		padding-top: 12px;
		padding-bottom: 8px;
		border-bottom-color: #4da1bb;
		text-transform: uppercase;
		font-weight: 300;
	}

	.checkoutStep.checkoutPastStep {
		color: #ffffff;
		border-bottom-color: #4da1bb;
		font-weight: normal;
	}

	.checkoutStep.checkoutActiveStep,
	.checkoutStep.checkoutHoverStep {
		color: #ffffff;
		background-color: #4da1bb;
		border-bottom-color: #4da1bb;
		font-weight: 300;
	}

	.checkoutStep.checkoutHoverStep {
		cursor: pointer;
	}

	.checkoutStepCountContainer {
		position: absolute;
		left: 50%;
		bottom: -12px;
	}

 	.checkoutStepCount {
		position: relative;
		left: -50%;
		width: 20px;
		height: 20px;
		background-color: #ddedf2;
		font-weight: bold;
		border-radius: 50%;
		color: #4da1bb;
		line-height: 20px;
		font-size: 11px;
	}

	.checkoutPastStep .checkoutStepCount,
	.checkoutActiveStep .checkoutStepCount,
	.checkoutHoverStep .checkoutStepCount {
		background-color: #b6d8e3;
	}

	#checkoutPaymentStep {
		display: none;
	}

	#checkoutStepCountWithoutPayment {
		display: block;
	}

	#checkoutStepCountWithPayment {
		display: none;
	}

	#termsAndConditions {
		width: auto;
		padding: 1% 2% 2% 2%;
		margin: 2% 10%;
	}

	.paymentTerminal #checkoutPaymentStep {
		display: block;
	}

	.paymentTerminal #checkoutStepCountWithoutPayment {
		display: none;
	}

	.paymentTerminal #checkoutStepCountWithPayment {
		display: block;
	}

	.paymentTerminal .checkoutStep {
		width: 19.5%;
	}

	.checkoutSum.checkoutMiddleSum {
		border-top: 1px solid gray;
		border-bottom: 1px solid gray;
	}

	.checkoutSum {
		border-top: 1px solid gray;
		border-bottom: 4px double gray;
	}

	.checkoutFreightSelection .freightOption {
		margin-bottom: 2px;
	}

	.checkoutFreightSelection input[type='radio'] {
		margin-left: 0px;
		margin-right: 7px;
	}

	.checkoutFreightSelection .freightOptionTitle {
		margin-right: 5px;
		font-size: 0.9em;
	}

	/* Facilitates hiding of the price part of the freight option */
	.checkoutFreightSelection .freightOptionPrice {
font-size: 0.9em;
	}

	.checkoutFooter .columnElement.checkoutPriceSummary {
		width: auto;
		float: right;
		max-width: 48%;
	}


/* Swiper Image Gallery */

	.swiperImageGalleryInitialHide .navigation,
	.swiperImageGalleryInitialHide .swiperPaginatio,
	.swiperImageGalleryInitialHide .swiper-wrapper .swiper-slide {
		display: none;
	}

	/* Unhide first item */
	.swiperImageGalleryInitialHide .swiper-wrapper .swiper-slide:first-child {
		display: block;
	}

	.swiperImagepopupGalleryInitialHide {
		display: none;
	}

	.swiperImageGalleryContainer.singleImage .navigation {
		display: none;
	}

	.swiperImageStack {
		position: relative;
		height: 100%;
	}

	.swiperImageStack .navigation {
		position: absolute;
		cursor: pointer;
		width: 10%;
		top: 0px;
		bottom: 0px;
		z-index: 198;
	}

	.swiperImageStack .navigateRight {
		right: 0px;
		text-align: right;
	}

	.swiperImageStack .navigation img {
		max-width: 50%;
		vertical-align: middle;
	}

	.swiperImageStack .navigateLeft img {
		margin-left: 10%;
		-webkit-transform: scaleX(-1);
		transform: scaleX(-1);
	}

	.swiperImageStack .navigateRight img {
		margin-right: 10%;
	}

	.swiperImageStack button.mfp-close {
		font-size: 2.5em;
		z-index: 210;
	}

	.swiperImageStack .slidesContainer {
		height: 100%;
		width: 86%;
		margin-left: auto;
		margin-right: auto;
		box-sizing: border-box;
		padding-top: 2%;
		padding-bottom: 2%;
	}

	.swiperImageStack .swiper-container {
		height: 100%;
		width: 100%;
		padding-top: 1%;
		padding-bottom: 1%;
	}

	.swiperThumbStack .swiper-container {
		width: 100%;
	}

	/* width: without width set the image inside the slide will force the width of the slide to be equal the image's own width (in IE)*/
	.swiperImageStack .swiper-slide {
		text-align: center;
		width: 100%;
	}

	.swiperImageStack .swiper-slide img {
		vertical-align: middle;
		max-width: 100%;
		max-height: 100%;
	}

	.swiperThumbStack {
		position: relative;
		margin-top: 2%;
	}

	.inlineGallery .swiperThumbStack {
		padding-top: 20%;
	}

	.swiperThumbStack .swiper-container {
		height: 100%;
	}

	.inlineGallery .swiperThumbStack .swiper-container {
		position: absolute;
	}

	.swiperThumbStack .swiper-wrapper,
	.swiperThumbStack .swiper-slide {
		height: 100%;
	}

	.swiperThumbStack .swiper-slide img {
		height: 100%;
		box-sizing: border-box;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		border-width: 1px;
		border-style: solid;
		border-color: transparent;
		padding: 1px;
	}

	.swiperThumbStack .swiper-slide.activeThumb img {
		border-color: #aaaaaa;
	}

	.popupGallery .swiperImageStack {
		height: 80%;
	}

	.popupGallery .swiperThumbStack {
		height: 14%;
		padding-left: 1%;
		padding-right: 1%;
	}

	.popupGallery.white-popup {
		padding: 0;
	}


/* Product filtering */

	.sideElement .filterSection {
		padding-left: 10px;
		padding-right: 10px;
		padding-top: 0.6em;
		padding-bottom: 0.6em;
		border-bottom: 1px dotted white;
	}

	.sideElement .filterSection:last-child {
		border-bottom: 0px solid transparent;
	}

        .sideElement .ui-slider .ui-slider-range {
                background-image: none;
                background-color: #4da1bb;
        }

	#productFilter .sideElementBody {
		padding: 0px;
	}

	#productFilter.loadingOverlay:before {
		z-index: 10;
	}

	#productFilter .filterTitleArrow {
		cursor: pointer;
		float: left;
		width: 1.3em;
	}

	#productFilter .filterTitle {
		cursor: pointer;
		font-weight: bold;
		float: left;
	}

	#productFilter .filterRemove {
		font-size: 0.8em;
		display: inline-block;
		float: right;
		cursor: pointer;
	}


/* Div Classes */

	 .loadingOverlay {
		position: relative;
	}

	.loadingOverlay:before {
		content: '';
		position: absolute;
		top: 0;
		left: 0;
		height: 100%;
		width: 100%;
		background-color: rgba(255, 255, 255, .85);
		background-image: url('../../images/Ikoner/icon24_loading.gif');
		background-position: 50% 50%;
		background-repeat: no-repeat;
	}

	/* Magnific Popup uses zoom out cursor to close lightbox, could be confusing. Pointer is more "standard". */
	.mfp-zoom-out-cur,
	.mfp-zoom-out-cur .mfp-image-holder .mfp-close {
		cursor: pointer;
	}

	/* When loading the mfp stylesheet after rendering skipping might occur unless the hide style is defined. */
	.mfp-hide {
		display: none !important;
	}

	.white-popup {
		position: relative;
		background: #ffffff;
		padding: 1% 2% 2% 2%;
		margin-left: auto;
		margin-right: auto;
	}

	/* Counters the top margin in the first <p> tag found in the columns. Without this wysiwyg content in the columns would be shifted down. */
	.disableTopPMargin p:first-child {
		margin-top: 0px;
	}

	/* Hide only visually, but have it available for screenreaders: h5bp.com/v */
	.visuallyhidden {
		border: 0;
		clip: rect(0, 0, 0, 0);
		height: 1px;
		margin: -1px;
		overflow: hidden;
		padding: 0;
		position: absolute;
		width: 1px;
	}

	/* Hide in the frontend and admin browser, but show inside wysiwygs. */
	#frontEndBody .hideOnlyInFrontEnd {
			display: none;
	}


	/* Disables the yellow color used by Chromes autofill feature */
	input:-webkit-autofill {
		-webkit-box-shadow: 0 0 0px 1000px #ffffff inset;
	}

	.clearFix {
		clear: both;
	}

	.boxOutlined {
		border-width: 1px;
		border-style: dotted;
		border-color: #4da1bb;
		background-color: #e9f4f7;
		padding: 10px;
		margin-bottom: 2%;
		color: #000000;
	}

	.boxOutlinedTitle {
		font-weight: bold;
	}

	.boxOutlinedWarning {
		border-width: 1px;
		border-style: dotted;
		border-color: #4da1bb;
		background-color: #e5dada;
		padding: 10px;
		margin-bottom: 2%;
	}

	.boxOutlinedWarning {
		color: #4da1bb;
	}

	.highlightedElement {
		background-color: #e9f4f7;
		color: #000000;
	}

	.highlightedElementBorder {
		border-color: #4da1bb;
		border-width: 1px;
		border-style: solid;
	}

	.borderBottom {
		border-bottom-width: 1px;
		border-bottom-style: solid;
		border-bottom-color: #aaaaaa;
	}

	.ellipsis {
		text-overflow: ellipsis;
		overflow: hidden;
		white-space: nowrap;
	}

	.iconButton {
		cursor: pointer;
		border-top-right-radius: 3px;
		border-top-left-radius: 3px;
		border-bottom-right-radius: 3px;
		border-bottom-left-radius: 3px;
		background-color: #ffffff;
		border-width: 1px;
		border-style: solid;
		border-color: #3a437c;
		height: 28px;
	}

	.iconButton img {
		width: 16px;
		margin: 6px;
		display: block;
	}

	.verticalAlignmentHelper {
		display: inline-block;
		height: 100%;
		vertical-align: middle;
	}

	.verticallyAligned {
		display: inline-block;
		vertical-align: middle;
	}

	.aspectRatioContainer {
		position: relative;
		width: 100%;
	}

	.aspectRatioElement {
		position: absolute;
		top: 0px;
		bottom: 0px;
		left: 0px;
		right: 0px;
		overflow: hidden;
	}

	.aspectRatioCenteredImage {
		position: absolute;
		top: 0px;
		bottom: 0px;
		left: 0px;
		right: 0px;
		margin: auto;
		max-width: 100%;
		max-height: 100%;
	}


/* Forms */

	/* overflow: clearfix */
	.formRow {
		margin-bottom: 8px;
		clear: both;
		min-height: 2em;
		overflow: hidden;
	}

	.formRow label {
		display: block;
		float: left;
		padding-top: 2px;
	}

	.formRow.forgotPasswordDisabled {
		color: #cccccc;
	}

	.formRequiredMarker {
		float: right;
		width: 0.7em;
		text-align: right;
	}

	.formCenterElement {
		 margin-right: 0.9em;
	}

	.formInputWidth {
		width: 75%;
	}


/* Buttons */

	button.actionButton,
	input.actionButton {
		background-color: #d25e00;
		font-weight: bold;
		color: #ffffff;
		border: 0px;
	}

	button.largeButton,
	input.largeButton {
		padding-right: 3em;
		padding-left: 3em;
		height: 2.5em;
		border: 0px;
	}

	/* When buttons with relative width render as very small, having side padding will displace their text */
	input.setWidthButton,
	button.setWidthButton {
		padding-left: 0px;
		padding-right: 0px;
		border: 0px;
	}


/* Links */

	.highlightedElement a {
		color: #4da1bb;
	}

	.highlightedElement a:hover {
		color: #4da1bb;
	}

	.sideElementHeader a,
	.sideElementBody a,
	.sideElementBodyOnly a {
		color: #ffffff;
	}

	.sideElementHeader a:hover,
	.sideElementBody a:hover,
	.sideElementBodyOnly a:hover {
		color: #ffffff;
	}

	.boxOutlined a {
		color: #4da1bb;
	}

	.boxOutlined a:hover {
		color: #4da1bb;
	}

	.boxOutlinedWarning a {
		color: #701200;
	}

	.boxOutlinedWarning a:hover {
		color: #701200;
	}


/* Columns */

	.columns2 > .columnElement {
		float: left;
		width: 49%;
		margin-right: 2%;
	}
	.columns2 > .columnElement:nth-of-type(2n+2) {
		margin-right: 0px;
	}
	.columns2 > .columnElement:nth-of-type(2n+3) {
		clear: both;
	}

	.columns3 > .columnElement {
		float: left;
		width: 32%;
		margin-right: 2%;
	}
	.columns3 > .columnElement:nth-of-type(3n+3) {
		margin-right: 0px;
	}
	.columns3 > .columnElement:nth-of-type(3n+4) {
		clear: both;
	}

	.columns4 > .columnElement {
		float: left;
		width: 23.5%;
		margin-right: 2%;
	}
	.columns4 > .columnElement:nth-of-type(4n+4) {
		margin-right: 0px;
	}
	.columns4 > .columnElement:nth-of-type(4n+5) {
		clear: both;
	}

	.columns5 > .columnElement {
		float: left;
		width: 18.4%;
		margin-right: 2%;
	}
	.columns5 > .columnElement:nth-of-type(5n+5) {
		margin-right: 0px;
	}
	.columns5 > .columnElement:nth-of-type(5n+6) {
		clear: both;
	}

	.columns6 > .columnElement {
		float: left;
		width: 15.5%;
		margin-right: 1.4%;
	}
	.columns6 > .columnElement:nth-of-type(6n+6) {
		margin-right: 0px;
	}
	.columns6 > .columnElement:nth-of-type(6n+7) {
		clear: both;
	}

	.columns7 > .columnElement {
		float: left;
		width: 13.25%;
		margin-right: 1%;
	}
	.columns7 > .columnElement:nth-of-type(7n+7) {
		margin-right: 0px;
	}
	.columns7 > .columnElement:nth-of-type(7n+8) {
		clear: both;
	}

	.columns8 > .columnElement {
		float: left;
		width: 11.6%;
		margin-right: 1%;
	}
	.columns8 > .columnElement:nth-of-type(8n+8) {
		margin-right: 0px;
	}
	.columns8 > .columnElement:nth-of-type(8n+9) {
		clear: both;
	}

	.columns9 > .columnElement {
		float: left;
		width: 10.2%;
		margin-right: 1%;
	}
	.columns9 > .columnElement:nth-of-type(9n+9) {
		margin-right: 0px;
	}
	.columns9 > .columnElement:nth-of-type(9n+10) {
		clear: both;
	}

	.columns10 > .columnElement {
		float: left;
		width: 9.1%;
		margin-right: 1%;
	}
	.columns10 > .columnElement:nth-of-type(10n+10) {
		margin-right: 0px;
	}
	.columns10 > .columnElement:nth-of-type(10n+11) {
		clear: both;
	}


/* General Media Styling */

	@media print {
		.screenOnly {
			display: none;
		}
	}

	@media screen {
		.printOnly {
			display: none;
		}
	}

	@media (max-width: 768px) {
		.largeScreenOnly {
			display: none;
		}
	}

	@media (min-width: 769px) {
		.smallScreenOnly {
			display: none;
		}
	}


/* Responsive Facebook */

	.fb-comments,
	.fb-comments span,
	.fb-comments iframe[style],
	.fb-comments iframe span[style] {
		width: 100% !important;
	}


/* Responsive general */

	.pageTitle img,
	.pageBody img,
	.pageFooter img,
	.articlePageDescription img,
	.articlePageBody img,
	.productPageBody img {
		max-width: 100%;
	}

	.pageTitle table img,
	.pageBody table img,
	.pageFooter table img,
	.articlePageDescription table img,
	.articlePageBody table img,
	.productPageBody table img {
		max-width: none;
	}

	/* Typical tablets, netbooks and low resolution desktops */
	@media screen and (max-width: 1280px) {

		/* Dimensions */

		.fullWidthHeader #header {
			width: 100%;
		}

		#centerColumn {
			left: 30%;
			width: 70%;
		}

		/* To make sure both side columns align to the left a container is necessary. Or else the second
		   column would align with the centerColumn when the main column is shorter than the first side column */
		#sideColumns {
			width: 28%;
			position: relative;
			float: left;
			left: -70%;
		}

		#leftColumn {
			left: 0%;
			width: 100%;
		}

		#rightColumn {
			left: 0%;
			width: 100%;
		}
	}


	/* Typical mobile landscape */ 
	@media screen and (max-width: 768px) {

		#textBoxCookieWarning .sideElementBody {
                        display: block;
                }


		

		/* Background Elements */

		#frontEndBody {
			background-color: #ffffff;
			background-image:none;
		}

		#backgroundGradient,
		#backgroundGlare {
			display: none;
		}

		/* Font Sizes */
	

		.ui-datepicker {
			font-size: 0.9em;
		}

		.checkoutSteps {
			margin-top: 10px;
			font-size: 0.9em;
		}

		.productListTable {
			font-size: 0.9em;
		}

		.productListBox {
			font-size: 1em;
		}


		.price{font-size: 2em;}
		/* Dimensions */

		#main,
		.headerMargin #main {
			width: 100%;
			padding-left: 0px;
			padding-right: 0px;
		}

		.sheetMargin #sheet {
			margin-top: 0px;
			margin-bottom: 0px;
		}

		.centerElement {
			margin-bottom: 4%;
		}

		.tightMargin .centerElement {
			margin-bottom: 2%;
		}

		#centerColumn {
			position: static;
			float: none;
			clear: both;
			left: 0%;
			width: 100%;
			-webkit-box-sizing: border-box;
			-moz-box-sizing: border-box;
			box-sizing: border-box;
			padding-top: 2px;
			padding-right: 3%;
			padding-bottom: 10px;
			padding-left: 3%;
		}

		#sideColumns {
			width: 100%;
			left: 0px;
			float: none;
			clear: both;
			background-color: rgba(190, 190, 190, .2);
			padding-top: 8px;
			overflow: hidden;
		}

		#leftColumn {
			position: static;
			float: none;
			clear: both;
		}

		#rightColumn {
			position: relative;
			float: none;
			clear: both;
		}

		#termsAndConditions {
			margin: 2% 1%;
		}

		/* Rounding */

		.roundSide .sideElementHeader {
			border-top-right-radius: 0px;
			border-top-left-radius: 0px;
		}

		.roundSide .sideElementBody {
			border-bottom-right-radius: 0px;
			border-bottom-left-radius: 0px;
		}

		/* Header Elements */

		#header {
			display: none;
		}

		#compactHeader {
			display: block;
		}

		.fixCompactHeader #fixedCompactHeaderSpacer {
			display: block;
		}

		/* Page Elements */

		#textBox3 {
			display: none;
		}

		#news {
			padding-left: 3%;
			padding-right: 3%;
		}

		#poweredby {
			background-color: rgba(190, 190, 190, .2);
			padding-right: 3%;
		}

		#breadcrumb {
			display: none;
		}

		.addthis_button_favorites {
			display: none;
		}

		.addthis_button_print {
			display: none;
		}

		#search {
			display: none;
		}

		#cart {
			display: none;
		}

		#sideMenu {
			display: none;
		}

		#bestseller {
			display: none;
		}

		.sideElement {
			margin-bottom: 1px;
		}

		.sideElementHeader {
			padding-top: 12px;
			padding-right: 16px;
			padding-bottom: 12px;
			padding-left: 16px;
			position: relative;
		}

		.sideElementBody {
			display: none;
			margin-bottom: 1%;
		}

		.compactSideElementTrigger {
			display: block;
			position: absolute;
			width: 100%;
			height: 100%;
			top: 0px;
			left: 0px;
		}

		#sideElementLoginForgotPasswordContainer {
			display: none;
		}

		#emarketingInfoLink {
			display: none;
		}

		button,
		input[type='reset'],
		input[type='button'],
		input[type='submit'],
		input[type='text'],
		input[type='email'],
		input[type='password'],
		.inputHeight {
			height: 30px;
		}

		.formInputWidth {
			width: 100%;
		}

		#cartExtensionProductContainer {
			width: 60%;
		}

		#cartExtensionControlsContainer {
			width: 38%;
		}

		#cartExtension {
			right: 10px;
			left: 10px;
			top: 10px;
			width: auto;
		}

		/* Google's PageSpeed Insights requires more spacing on touch elements in mobile view */
		.articleListBox .moreLink,
		.articleListFAQ .moreLink {
			margin-bottom: 1em;
		}

		/* Product Lists */
		.productListBox .descriptionBoxHeight {
			padding-top: 20%;
		}

		/* reset all n-th element settings on columns */
		.columns3 > .columnElement:nth-of-type(1n),
		.columns4 > .columnElement:nth-of-type(1n),
		.columns5 > .columnElement:nth-of-type(1n),
		.columns6 > .columnElement:nth-of-type(1n),
		.columns7 > .columnElement:nth-of-type(1n),
		.columns8 > .columnElement:nth-of-type(1n),
		.columns9 > .columnElement:nth-of-type(1n),
		.columns10 > .columnElement:nth-of-type(1n) {
			margin-right: 0px;
			clear: none;
		}

		/* 3 columns are reduced down to two columns */
		.columns3 > .columnElement:nth-of-type(1n) {
			float: left;
			width: 49%;
			margin-right: 2%;
		}
		.columns3 > .columnElement:nth-of-type(2n+2) {
			clear: none;
			margin-right: 0px;
		}
		.columns3 > .columnElement:nth-of-type(2n+3) {
			clear: both;
		}

		/* 4 columns and up are reduced down to three columns */
		.columns4 > .columnElement:nth-of-type(1n),
		.columns5 > .columnElement:nth-of-type(1n),
		.columns6 > .columnElement:nth-of-type(1n),
		.columns7 > .columnElement:nth-of-type(1n),
		.columns8 > .columnElement:nth-of-type(1n),
		.columns9 > .columnElement:nth-of-type(1n),
		.columns10 > .columnElement:nth-of-type(1n) {
			float: left;
			width: 32%;
			margin-right: 2%;
		}
		.columns4 > .columnElement:nth-of-type(3n+3),
		.columns5 > .columnElement:nth-of-type(3n+3),
		.columns6 > .columnElement:nth-of-type(3n+3),
		.columns7 > .columnElement:nth-of-type(3n+3),
		.columns8 > .columnElement:nth-of-type(3n+3),
		.columns9 > .columnElement:nth-of-type(3n+3),
		.columns10 > .columnElement:nth-of-type(3n+3) {
			margin-right: 0px;
		}
		.columns4 > .columnElement:nth-of-type(3n+4),
		.columns5 > .columnElement:nth-of-type(3n+4),
		.columns6 > .columnElement:nth-of-type(3n+4),
		.columns7 > .columnElement:nth-of-type(3n+4),
		.columns8 > .columnElement:nth-of-type(3n+4),
		.columns9 > .columnElement:nth-of-type(3n+4),
		.columns10 > .columnElement:nth-of-type(3n+4) {
			clear: both;
		}


	}


	/* Typical mobile portrait */ 
	@media screen and (max-width: 480px) {
		
		
		

		/* Font Sizes */

		#compactCartAmount {
			font-size: 0.6em;
		}

		.checkoutSteps {
			font-size: 0.75em;
		}

		#cartExtension {
			font-size: 0.9em;
		}

		/* Dimensions */

		#compactHeaderGraphics {
			min-height: 49px;
			padding-bottom: 8px;
		}

		#compactHeaderGraphics .compactHeaderButton {
			width: 18px;
			height: 18px;
			margin-top: 11px;
			padding: 8px;
			margin-left: 8px;
		}

		#compactHeaderGraphics .compactHeaderButton .compactHeaderButtonImage {
			width: 18px;
			height: 18px;
		}

		#compactLogo {
			max-height: 48px;
			margin-top: 1px;
			margin-right: 8px;
		}

		/* The height is only an initial value to avoid skipping of the text when exact height is set by jQuery. */
		#fixedCompactHeaderSpacer {
			height: 63px;
		}

		.centerElement {
			margin-bottom: 8%;
		}

		#cartExtensionProductContainer {
			width: 49%;
		}

		#cartExtensionControlsContainer {
			width: 49%;
		}

		/* reset all n-th element settings on columns */
		.columns2 > .columnElement:nth-of-type(1n),
		.columns3 > .columnElement:nth-of-type(1n),
		.columns4 > .columnElement:nth-of-type(1n),
		.columns5 > .columnElement:nth-of-type(1n),
		.columns6 > .columnElement:nth-of-type(1n),
		.columns7 > .columnElement:nth-of-type(1n),
		.columns8 > .columnElement:nth-of-type(1n),
		.columns9 > .columnElement:nth-of-type(1n),
		.columns10 > .columnElement:nth-of-type(1n) {
			margin-right: 0px;
			clear: none;
		}

		/* 2-3 columns are reduced down to one column */
		.columns2 > .columnElement:nth-of-type(1n),
		.columns3 > .columnElement:nth-of-type(1n) {
			width: 100%;
			float: none;
			clear: both;
			margin-right: 0px;
		}

		/* 4 columns and up are reduced down to two columns */
		.columns4 > .columnElement:nth-of-type(1n),
		.columns5 > .columnElement:nth-of-type(1n),
		.columns6 > .columnElement:nth-of-type(1n),
		.columns7 > .columnElement:nth-of-type(1n),
		.columns8 > .columnElement:nth-of-type(1n),
		.columns9 > .columnElement:nth-of-type(1n),
		.columns10 > .columnElement:nth-of-type(1n) {
			float: left;
			width: 49%;
			margin-right: 2%;
		}
		.columns4 > .columnElement:nth-of-type(2n+2),
		.columns5 > .columnElement:nth-of-type(2n+2),
		.columns6 > .columnElement:nth-of-type(2n+2),
		.columns7 > .columnElement:nth-of-type(2n+2),
		.columns8 > .columnElement:nth-of-type(2n+2),
		.columns9 > .columnElement:nth-of-type(2n+2),
		.columns10 > .columnElement:nth-of-type(2n+2) {
			margin-right: 0px;
		}
		.columns4 > .columnElement:nth-of-type(2n+3),
		.columns5 > .columnElement:nth-of-type(2n+3),
		.columns6 > .columnElement:nth-of-type(2n+3),
		.columns7 > .columnElement:nth-of-type(2n+3),
		.columns8 > .columnElement:nth-of-type(2n+3),
		.columns9 > .columnElement:nth-of-type(2n+3),
		.columns10 > .columnElement:nth-of-type(2n+3) {
			clear: both;
		}

		.checkoutFooter .columnElement.checkoutPriceSummary {
			width: 100%;
			float: none;
			max-width: none;
		}

	}


	/* Very small mobile */ 
	@media screen and (max-width: 320px) {

		/* All columns are reduced down to one column */
		.columns3 > .columnElement:nth-of-type(1n),
		.columns4 > .columnElement:nth-of-type(1n),
		.columns5 > .columnElement:nth-of-type(1n),
		.columns6 > .columnElement:nth-of-type(1n),
		.columns7 > .columnElement:nth-of-type(1n),
		.columns8 > .columnElement:nth-of-type(1n),
		.columns9 > .columnElement:nth-of-type(1n),
		.columns10 > .columnElement:nth-of-type(1n) {
			width: 100%;
			float: none;
			clear: both;
			margin-right: 0px;
		}

	}
