/*! jQuery UI - v1.13.2 - 2022-07-14
* http://jqueryui.com - etail image path updated
* Includes: core.css, accordion.css, autocomplete.css, menu.css, button.css, controlgroup.css, checkboxradio.css, datepicker.css, dialog.css, draggable.css, resizable.css, progressbar.css, selectable.css, selectmenu.css, slider.css, sortable.css, spinner.css, tabs.css, tooltip.css, theme.css
* Copyright jQuery Foundation and other contributors; Licensed MIT */

/* Layout helpers
----------------------------------*/
.ui-helper-hidden {
	display: none;
}
.ui-helper-hidden-accessible {
	border: 0;
	clip: rect(0 0 0 0);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
}
.ui-helper-reset {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	line-height: 1.3;
	text-decoration: none;
	font-size: 100%;
	list-style: none;
}
.ui-helper-clearfix:before,
.ui-helper-clearfix:after {
	content: "";
	display: table;
	border-collapse: collapse;
}
.ui-helper-clearfix:after {
	clear: both;
}
.ui-helper-zfix {
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	position: absolute;
	opacity: 0;
	-ms-filter: "alpha(opacity=0)"; /* support: IE8 */
}

.ui-front {
	z-index: 100;
}


/* Interaction Cues
----------------------------------*/
.ui-state-disabled {
	cursor: default !important;
	pointer-events: none;
}


/* Icons
----------------------------------*/
.ui-icon {
	display: inline-block;
	vertical-align: middle;
	margin-top: -.25em;
	position: relative;
	text-indent: -99999px;
	overflow: hidden;
	background-repeat: no-repeat;
}

.ui-widget-icon-block {
	left: 50%;
	margin-left: -8px;
	display: block;
}

/* Misc visuals
----------------------------------*/

/* Overlays */
.ui-widget-overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.ui-accordion .ui-accordion-header {
	display: block;
	cursor: pointer;
	position: relative;
	margin: 2px 0 0 0;
	padding: .5em .5em .5em .7em;
	font-size: 100%;
}
.ui-accordion .ui-accordion-content {
	padding: 1em 2.2em;
	border-top: 0;
	overflow: auto;
}
.ui-autocomplete {
	position: absolute;
	top: 0;
	left: 0;
	cursor: default;
}
.ui-menu {
	list-style: none;
	padding: 0;
	margin: 0;
	display: block;
	outline: 0;
}
.ui-menu .ui-menu {
	position: absolute;
}
.ui-menu .ui-menu-item {
	margin: 0;
	cursor: pointer;
	/* support: IE10, see #8844 */
	list-style-image: url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7");
}
.ui-menu .ui-menu-item-wrapper {
	position: relative;
	padding: 3px 1em 3px .4em;
}
.ui-menu .ui-menu-divider {
	margin: 5px 0;
	height: 0;
	font-size: 0;
	line-height: 0;
	border-width: 1px 0 0 0;
}
.ui-menu .ui-state-focus,
.ui-menu .ui-state-active {
	margin: -1px;
}

/* icon support */
.ui-menu-icons {
	position: relative;
}
.ui-menu-icons .ui-menu-item-wrapper {
	padding-left: 2em;
}

/* left-aligned */
.ui-menu .ui-icon {
	position: absolute;
	top: 0;
	bottom: 0;
	left: .2em;
	margin: auto 0;
}

/* right-aligned */
.ui-menu .ui-menu-icon {
	left: auto;
	right: 0;
}
.ui-button {
	padding: .4em 1em;
	display: inline-block;
	position: relative;
	line-height: normal;
	margin-right: .1em;
	cursor: pointer;
	vertical-align: middle;
	text-align: center;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;

	/* Support: IE <= 11 */
	overflow: visible;
}

.ui-button,
.ui-button:link,
.ui-button:visited,
.ui-button:hover,
.ui-button:active {
	text-decoration: none;
}

/* to make room for the icon, a width needs to be set here */
.ui-button-icon-only {
	width: 2em;
	box-sizing: border-box;
	text-indent: -9999px;
	white-space: nowrap;
}

/* no icon support for input elements */
input.ui-button.ui-button-icon-only {
	text-indent: 0;
}

/* button icon element(s) */
.ui-button-icon-only .ui-icon {
	position: absolute;
	top: 50%;
	left: 50%;
	margin-top: -8px;
	margin-left: -8px;
}

.ui-button.ui-icon-notext .ui-icon {
	padding: 0;
	width: 2.1em;
	height: 2.1em;
	text-indent: -9999px;
	white-space: nowrap;

}

input.ui-button.ui-icon-notext .ui-icon {
	width: auto;
	height: auto;
	text-indent: 0;
	white-space: normal;
	padding: .4em 1em;
}

/* workarounds */
/* Support: Firefox 5 - 40 */
input.ui-button::-moz-focus-inner,
button.ui-button::-moz-focus-inner {
	border: 0;
	padding: 0;
}
.ui-controlgroup {
	vertical-align: middle;
	display: inline-block;
}
.ui-controlgroup > .ui-controlgroup-item {
	float: left;
	margin-left: 0;
	margin-right: 0;
}
.ui-controlgroup > .ui-controlgroup-item:focus,
.ui-controlgroup > .ui-controlgroup-item.ui-visual-focus {
	z-index: 9999;
}
.ui-controlgroup-vertical > .ui-controlgroup-item {
	display: block;
	float: none;
	width: 100%;
	margin-top: 0;
	margin-bottom: 0;
	text-align: left;
}
.ui-controlgroup-vertical .ui-controlgroup-item {
	box-sizing: border-box;
}
.ui-controlgroup .ui-controlgroup-label {
	padding: .4em 1em;
}
.ui-controlgroup .ui-controlgroup-label span {
	font-size: 80%;
}
.ui-controlgroup-horizontal .ui-controlgroup-label + .ui-controlgroup-item {
	border-left: none;
}
.ui-controlgroup-vertical .ui-controlgroup-label + .ui-controlgroup-item {
	border-top: none;
}
.ui-controlgroup-horizontal .ui-controlgroup-label.ui-widget-content {
	border-right: none;
}
.ui-controlgroup-vertical .ui-controlgroup-label.ui-widget-content {
	border-bottom: none;
}

/* Spinner specific style fixes */
.ui-controlgroup-vertical .ui-spinner-input {

	/* Support: IE8 only, Android < 4.4 only */
	width: 75%;
	width: calc( 100% - 2.4em );
}
.ui-controlgroup-vertical .ui-spinner .ui-spinner-up {
	border-top-style: solid;
}

.ui-checkboxradio-label .ui-icon-background {
	box-shadow: inset 1px 1px 1px #ccc;
	border-radius: .12em;
	border: none;
}
.ui-checkboxradio-radio-label .ui-icon-background {
	width: 16px;
	height: 16px;
	border-radius: 1em;
	overflow: visible;
	border: none;
}
.ui-checkboxradio-radio-label.ui-checkboxradio-checked .ui-icon,
.ui-checkboxradio-radio-label.ui-checkboxradio-checked:hover .ui-icon {
	background-image: none;
	width: 8px;
	height: 8px;
	border-width: 4px;
	border-style: solid;
}
.ui-checkboxradio-disabled {
	pointer-events: none;
}
.ui-datepicker {
	width: 17em;
	padding: .2em .2em 0;
	display: none;
}
.ui-datepicker .ui-datepicker-header {
	position: relative;
	padding: .2em 0;
}
.ui-datepicker .ui-datepicker-prev,
.ui-datepicker .ui-datepicker-next {
	position: absolute;
	top: 2px;
	width: 1.8em;
	height: 1.8em;
}
.ui-datepicker .ui-datepicker-prev-hover,
.ui-datepicker .ui-datepicker-next-hover {
	top: 1px;
}
.ui-datepicker .ui-datepicker-prev {
	left: 2px;
}
.ui-datepicker .ui-datepicker-next {
	right: 2px;
}
.ui-datepicker .ui-datepicker-prev-hover {
	left: 1px;
}
.ui-datepicker .ui-datepicker-next-hover {
	right: 1px;
}
.ui-datepicker .ui-datepicker-prev span,
.ui-datepicker .ui-datepicker-next span {
	display: block;
	position: absolute;
	left: 50%;
	margin-left: -8px;
	top: 50%;
	margin-top: -8px;
}
.ui-datepicker .ui-datepicker-title {
	margin: 0 2.3em;
	line-height: 1.8em;
	text-align: center;
}
.ui-datepicker .ui-datepicker-title select {
	font-size: 1em;
	margin: 1px 0;
}
.ui-datepicker select.ui-datepicker-month,
.ui-datepicker select.ui-datepicker-year {
	width: 45%;
}
.ui-datepicker table {
	width: 100%;
	font-size: .9em;
	border-collapse: collapse;
	margin: 0 0 .4em;
}
.ui-datepicker th {
	padding: .7em .3em;
	text-align: center;
	font-weight: bold;
	border: 0;
}
.ui-datepicker td {
	border: 0;
	padding: 1px;
}
.ui-datepicker td span,
.ui-datepicker td a {
	display: block;
	padding: .2em;
	text-align: right;
	text-decoration: none;
}
.ui-datepicker .ui-datepicker-buttonpane {
	background-image: none;
	margin: .7em 0 0 0;
	padding: 0 .2em;
	border-left: 0;
	border-right: 0;
	border-bottom: 0;
}
.ui-datepicker .ui-datepicker-buttonpane button {
	float: right;
	margin: .5em .2em .4em;
	cursor: pointer;
	padding: .2em .6em .3em .6em;
	width: auto;
	overflow: visible;
}
.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current {
	float: left;
}

/* with multiple calendars */
.ui-datepicker.ui-datepicker-multi {
	width: auto;
}
.ui-datepicker-multi .ui-datepicker-group {
	float: left;
}
.ui-datepicker-multi .ui-datepicker-group table {
	width: 95%;
	margin: 0 auto .4em;
}
.ui-datepicker-multi-2 .ui-datepicker-group {
	width: 50%;
}
.ui-datepicker-multi-3 .ui-datepicker-group {
	width: 33.3%;
}
.ui-datepicker-multi-4 .ui-datepicker-group {
	width: 25%;
}
.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,
.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header {
	border-left-width: 0;
}
.ui-datepicker-multi .ui-datepicker-buttonpane {
	clear: left;
}
.ui-datepicker-row-break {
	clear: both;
	width: 100%;
	font-size: 0;
}

/* RTL support */
.ui-datepicker-rtl {
	direction: rtl;
}
.ui-datepicker-rtl .ui-datepicker-prev {
	right: 2px;
	left: auto;
}
.ui-datepicker-rtl .ui-datepicker-next {
	left: 2px;
	right: auto;
}
.ui-datepicker-rtl .ui-datepicker-prev:hover {
	right: 1px;
	left: auto;
}
.ui-datepicker-rtl .ui-datepicker-next:hover {
	left: 1px;
	right: auto;
}
.ui-datepicker-rtl .ui-datepicker-buttonpane {
	clear: right;
}
.ui-datepicker-rtl .ui-datepicker-buttonpane button {
	float: left;
}
.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,
.ui-datepicker-rtl .ui-datepicker-group {
	float: right;
}
.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,
.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header {
	border-right-width: 0;
	border-left-width: 1px;
}

/* Icons */
.ui-datepicker .ui-icon {
	display: block;
	text-indent: -99999px;
	overflow: hidden;
	background-repeat: no-repeat;
	left: .5em;
	top: .3em;
}
.ui-dialog {
	position: absolute;
	top: 0;
	left: 0;
	padding: .2em;
	outline: 0;
}
.ui-dialog .ui-dialog-titlebar {
	padding: .4em 1em;
	position: relative;
}
.ui-dialog .ui-dialog-title {
	float: left;
	margin: .1em 0;
	white-space: nowrap;
	width: 90%;
	overflow: hidden;
	text-overflow: ellipsis;
}
.ui-dialog .ui-dialog-titlebar-close {
	position: absolute;
	right: .3em;
	top: 50%;
	width: 20px;
	margin: -10px 0 0 0;
	padding: 1px;
	height: 20px;
}
.ui-dialog .ui-dialog-content {
	position: relative;
	border: 0;
	padding: .5em 1em;
	background: none;
	overflow: auto;
}
.ui-dialog .ui-dialog-buttonpane {
	text-align: left;
	border-width: 1px 0 0 0;
	background-image: none;
	margin-top: .5em;
	padding: .3em 1em .5em .4em;
}
.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset {
	float: right;
}
.ui-dialog .ui-dialog-buttonpane button {
	margin: .5em .4em .5em 0;
	cursor: pointer;
}
.ui-dialog .ui-resizable-n {
	height: 2px;
	top: 0;
}
.ui-dialog .ui-resizable-e {
	width: 2px;
	right: 0;
}
.ui-dialog .ui-resizable-s {
	height: 2px;
	bottom: 0;
}
.ui-dialog .ui-resizable-w {
	width: 2px;
	left: 0;
}
.ui-dialog .ui-resizable-se,
.ui-dialog .ui-resizable-sw,
.ui-dialog .ui-resizable-ne,
.ui-dialog .ui-resizable-nw {
	width: 7px;
	height: 7px;
}
.ui-dialog .ui-resizable-se {
	right: 0;
	bottom: 0;
}
.ui-dialog .ui-resizable-sw {
	left: 0;
	bottom: 0;
}
.ui-dialog .ui-resizable-ne {
	right: 0;
	top: 0;
}
.ui-dialog .ui-resizable-nw {
	left: 0;
	top: 0;
}
.ui-draggable .ui-dialog-titlebar {
	cursor: move;
}
.ui-draggable-handle {
	-ms-touch-action: none;
	touch-action: none;
}
.ui-resizable {
	position: relative;
}
.ui-resizable-handle {
	position: absolute;
	font-size: 0.1px;
	display: block;
	-ms-touch-action: none;
	touch-action: none;
}
.ui-resizable-disabled .ui-resizable-handle,
.ui-resizable-autohide .ui-resizable-handle {
	display: none;
}
.ui-resizable-n {
	cursor: n-resize;
	height: 7px;
	width: 100%;
	top: -5px;
	left: 0;
}
.ui-resizable-s {
	cursor: s-resize;
	height: 7px;
	width: 100%;
	bottom: -5px;
	left: 0;
}
.ui-resizable-e {
	cursor: e-resize;
	width: 7px;
	right: -5px;
	top: 0;
	height: 100%;
}
.ui-resizable-w {
	cursor: w-resize;
	width: 7px;
	left: -5px;
	top: 0;
	height: 100%;
}
.ui-resizable-se {
	cursor: se-resize;
	width: 12px;
	height: 12px;
	right: 1px;
	bottom: 1px;
}
.ui-resizable-sw {
	cursor: sw-resize;
	width: 9px;
	height: 9px;
	left: -5px;
	bottom: -5px;
}
.ui-resizable-nw {
	cursor: nw-resize;
	width: 9px;
	height: 9px;
	left: -5px;
	top: -5px;
}
.ui-resizable-ne {
	cursor: ne-resize;
	width: 9px;
	height: 9px;
	right: -5px;
	top: -5px;
}
.ui-progressbar {
	height: 2em;
	text-align: left;
	overflow: hidden;
}
.ui-progressbar .ui-progressbar-value {
	margin: -1px;
	height: 100%;
}
.ui-progressbar .ui-progressbar-overlay {
	background: url("data:image/gif;base64,R0lGODlhKAAoAIABAAAAAP///yH/C05FVFNDQVBFMi4wAwEAAAAh+QQJAQABACwAAAAAKAAoAAACkYwNqXrdC52DS06a7MFZI+4FHBCKoDeWKXqymPqGqxvJrXZbMx7Ttc+w9XgU2FB3lOyQRWET2IFGiU9m1frDVpxZZc6bfHwv4c1YXP6k1Vdy292Fb6UkuvFtXpvWSzA+HycXJHUXiGYIiMg2R6W459gnWGfHNdjIqDWVqemH2ekpObkpOlppWUqZiqr6edqqWQAAIfkECQEAAQAsAAAAACgAKAAAApSMgZnGfaqcg1E2uuzDmmHUBR8Qil95hiPKqWn3aqtLsS18y7G1SzNeowWBENtQd+T1JktP05nzPTdJZlR6vUxNWWjV+vUWhWNkWFwxl9VpZRedYcflIOLafaa28XdsH/ynlcc1uPVDZxQIR0K25+cICCmoqCe5mGhZOfeYSUh5yJcJyrkZWWpaR8doJ2o4NYq62lAAACH5BAkBAAEALAAAAAAoACgAAAKVDI4Yy22ZnINRNqosw0Bv7i1gyHUkFj7oSaWlu3ovC8GxNso5fluz3qLVhBVeT/Lz7ZTHyxL5dDalQWPVOsQWtRnuwXaFTj9jVVh8pma9JjZ4zYSj5ZOyma7uuolffh+IR5aW97cHuBUXKGKXlKjn+DiHWMcYJah4N0lYCMlJOXipGRr5qdgoSTrqWSq6WFl2ypoaUAAAIfkECQEAAQAsAAAAACgAKAAAApaEb6HLgd/iO7FNWtcFWe+ufODGjRfoiJ2akShbueb0wtI50zm02pbvwfWEMWBQ1zKGlLIhskiEPm9R6vRXxV4ZzWT2yHOGpWMyorblKlNp8HmHEb/lCXjcW7bmtXP8Xt229OVWR1fod2eWqNfHuMjXCPkIGNileOiImVmCOEmoSfn3yXlJWmoHGhqp6ilYuWYpmTqKUgAAIfkECQEAAQAsAAAAACgAKAAAApiEH6kb58biQ3FNWtMFWW3eNVcojuFGfqnZqSebuS06w5V80/X02pKe8zFwP6EFWOT1lDFk8rGERh1TTNOocQ61Hm4Xm2VexUHpzjymViHrFbiELsefVrn6XKfnt2Q9G/+Xdie499XHd2g4h7ioOGhXGJboGAnXSBnoBwKYyfioubZJ2Hn0RuRZaflZOil56Zp6iioKSXpUAAAh+QQJAQABACwAAAAAKAAoAAACkoQRqRvnxuI7kU1a1UU5bd5tnSeOZXhmn5lWK3qNTWvRdQxP8qvaC+/yaYQzXO7BMvaUEmJRd3TsiMAgswmNYrSgZdYrTX6tSHGZO73ezuAw2uxuQ+BbeZfMxsexY35+/Qe4J1inV0g4x3WHuMhIl2jXOKT2Q+VU5fgoSUI52VfZyfkJGkha6jmY+aaYdirq+lQAACH5BAkBAAEALAAAAAAoACgAAAKWBIKpYe0L3YNKToqswUlvznigd4wiR4KhZrKt9Upqip61i9E3vMvxRdHlbEFiEXfk9YARYxOZZD6VQ2pUunBmtRXo1Lf8hMVVcNl8JafV38aM2/Fu5V16Bn63r6xt97j09+MXSFi4BniGFae3hzbH9+hYBzkpuUh5aZmHuanZOZgIuvbGiNeomCnaxxap2upaCZsq+1kAACH5BAkBAAEALAAAAAAoACgAAAKXjI8By5zf4kOxTVrXNVlv1X0d8IGZGKLnNpYtm8Lr9cqVeuOSvfOW79D9aDHizNhDJidFZhNydEahOaDH6nomtJjp1tutKoNWkvA6JqfRVLHU/QUfau9l2x7G54d1fl995xcIGAdXqMfBNadoYrhH+Mg2KBlpVpbluCiXmMnZ2Sh4GBqJ+ckIOqqJ6LmKSllZmsoq6wpQAAAh+QQJAQABACwAAAAAKAAoAAAClYx/oLvoxuJDkU1a1YUZbJ59nSd2ZXhWqbRa2/gF8Gu2DY3iqs7yrq+xBYEkYvFSM8aSSObE+ZgRl1BHFZNr7pRCavZ5BW2142hY3AN/zWtsmf12p9XxxFl2lpLn1rseztfXZjdIWIf2s5dItwjYKBgo9yg5pHgzJXTEeGlZuenpyPmpGQoKOWkYmSpaSnqKileI2FAAACH5BAkBAAEALAAAAAAoACgAAAKVjB+gu+jG4kORTVrVhRlsnn2dJ3ZleFaptFrb+CXmO9OozeL5VfP99HvAWhpiUdcwkpBH3825AwYdU8xTqlLGhtCosArKMpvfa1mMRae9VvWZfeB2XfPkeLmm18lUcBj+p5dnN8jXZ3YIGEhYuOUn45aoCDkp16hl5IjYJvjWKcnoGQpqyPlpOhr3aElaqrq56Bq7VAAAOw==");
	height: 100%;
	-ms-filter: "alpha(opacity=25)"; /* support: IE8 */
	opacity: 0.25;
}
.ui-progressbar-indeterminate .ui-progressbar-value {
	background-image: none;
}
.ui-selectable {
	-ms-touch-action: none;
	touch-action: none;
}
.ui-selectable-helper {
	position: absolute;
	z-index: 100;
	border: 1px dotted black;
}
.ui-selectmenu-menu {
	padding: 0;
	margin: 0;
	position: absolute;
	top: 0;
	left: 0;
	display: none;
}
.ui-selectmenu-menu .ui-menu {
	overflow: auto;
	overflow-x: hidden;
	padding-bottom: 1px;
}
.ui-selectmenu-menu .ui-menu .ui-selectmenu-optgroup {
	font-size: 1em;
	font-weight: bold;
	line-height: 1.5;
	padding: 2px 0.4em;
	margin: 0.5em 0 0 0;
	height: auto;
	border: 0;
}
.ui-selectmenu-open {
	display: block;
}
.ui-selectmenu-text {
	display: block;
	margin-right: 20px;
	overflow: hidden;
	text-overflow: ellipsis;
}
.ui-selectmenu-button.ui-button {
	text-align: left;
	white-space: nowrap;
	width: 14em;
}
.ui-selectmenu-icon.ui-icon {
	float: right;
	margin-top: 0;
}
.ui-slider {
	position: relative;
	text-align: left;
}
.ui-slider .ui-slider-handle {
	position: absolute;
	z-index: 2;
	width: 1.2em;
	height: 1.2em;
	cursor: pointer;
	-ms-touch-action: none;
	touch-action: none;
}
.ui-slider .ui-slider-range {
	position: absolute;
	z-index: 1;
	font-size: .7em;
	display: block;
	border: 0;
	background-position: 0 0;
}

/* support: IE8 - See #6727 */
.ui-slider.ui-state-disabled .ui-slider-handle,
.ui-slider.ui-state-disabled .ui-slider-range {
	filter: inherit;
}

.ui-slider-horizontal {
	height: .8em;
}
.ui-slider-horizontal .ui-slider-handle {
	top: -.3em;
	margin-left: -.6em;
}
.ui-slider-horizontal .ui-slider-range {
	top: 0;
	height: 100%;
}
.ui-slider-horizontal .ui-slider-range-min {
	left: 0;
}
.ui-slider-horizontal .ui-slider-range-max {
	right: 0;
}

.ui-slider-vertical {
	width: .8em;
	height: 100px;
}
.ui-slider-vertical .ui-slider-handle {
	left: -.3em;
	margin-left: 0;
	margin-bottom: -.6em;
}
.ui-slider-vertical .ui-slider-range {
	left: 0;
	width: 100%;
}
.ui-slider-vertical .ui-slider-range-min {
	bottom: 0;
}
.ui-slider-vertical .ui-slider-range-max {
	top: 0;
}
.ui-sortable-handle {
	-ms-touch-action: none;
	touch-action: none;
}
.ui-spinner {
	position: relative;
	display: inline-block;
	overflow: hidden;
	padding: 0;
	vertical-align: middle;
}
.ui-spinner-input {
	border: none;
	background: none;
	color: inherit;
	padding: .222em 0;
	margin: .2em 0;
	vertical-align: middle;
	margin-left: .4em;
	margin-right: 2em;
}
.ui-spinner-button {
	width: 1.6em;
	height: 50%;
	font-size: .5em;
	padding: 0;
	margin: 0;
	text-align: center;
	position: absolute;
	cursor: default;
	display: block;
	overflow: hidden;
	right: 0;
}
/* more specificity required here to override default borders */
.ui-spinner a.ui-spinner-button {
	border-top-style: none;
	border-bottom-style: none;
	border-right-style: none;
}
.ui-spinner-up {
	top: 0;
}
.ui-spinner-down {
	bottom: 0;
}
.ui-tabs {
	position: relative;/* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */
	padding: .2em;
}
.ui-tabs .ui-tabs-nav {
	margin: 0;
	padding: .2em .2em 0;
}
.ui-tabs .ui-tabs-nav li {
	list-style: none;
	float: left;
	position: relative;
	top: 0;
	margin: 1px .2em 0 0;
	border-bottom-width: 0;
	padding: 0;
	white-space: nowrap;
}
.ui-tabs .ui-tabs-nav .ui-tabs-anchor {
	float: left;
	padding: .5em 1em;
	text-decoration: none;
}
.ui-tabs .ui-tabs-nav li.ui-tabs-active {
	margin-bottom: -1px;
	padding-bottom: 1px;
}
.ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor,
.ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor,
.ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor {
	cursor: text;
}
.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor {
	cursor: pointer;
}
.ui-tabs .ui-tabs-panel {
	display: block;
	border-width: 0;
	padding: 1em 1.4em;
	background: none;
}
.ui-tooltip {
	padding: 8px;
	position: absolute;
	z-index: 9999;
	max-width: 300px;
}
body .ui-tooltip {
	border-width: 2px;
}

/* Component containers
----------------------------------*/
.ui-widget {
	font-family: Arial,Helvetica,sans-serif;
	font-size: 1em;
}
.ui-widget .ui-widget {
	font-size: 1em;
}
.ui-widget input,
.ui-widget select,
.ui-widget textarea,
.ui-widget button {
	font-family: Arial,Helvetica,sans-serif;
	font-size: 1em;
}
.ui-widget.ui-widget-content {
	border: 1px solid #c5c5c5;
}
.ui-widget-content {
	border: 1px solid #dddddd;
	background: #ffffff;
	color: #333333;
}
.ui-widget-content a {
	color: #333333;
}
.ui-widget-header {
	border: 1px solid #dddddd;
	background: #e9e9e9;
	color: #333333;
	font-weight: bold;
}
.ui-widget-header a {
	color: #333333;
}

/* Interaction states
----------------------------------*/
.ui-state-default,
.ui-widget-content .ui-state-default,
.ui-widget-header .ui-state-default,
.ui-button,

/* We use html here because we need a greater specificity to make sure disabled
works properly when clicked or hovered */
html .ui-button.ui-state-disabled:hover,
html .ui-button.ui-state-disabled:active {
	border: 1px solid #c5c5c5;
	background: #f6f6f6;
	font-weight: normal;
	color: #454545;
}
.ui-state-default a,
.ui-state-default a:link,
.ui-state-default a:visited,
a.ui-button,
a:link.ui-button,
a:visited.ui-button,
.ui-button {
	color: #454545;
	text-decoration: none;
}
.ui-state-hover,
.ui-widget-content .ui-state-hover,
.ui-widget-header .ui-state-hover,
.ui-state-focus,
.ui-widget-content .ui-state-focus,
.ui-widget-header .ui-state-focus,
.ui-button:hover,
.ui-button:focus {
	border: 1px solid #cccccc;
	background: #ededed;
	font-weight: normal;
	color: #2b2b2b;
}
.ui-state-hover a,
.ui-state-hover a:hover,
.ui-state-hover a:link,
.ui-state-hover a:visited,
.ui-state-focus a,
.ui-state-focus a:hover,
.ui-state-focus a:link,
.ui-state-focus a:visited,
a.ui-button:hover,
a.ui-button:focus {
	color: #2b2b2b;
	text-decoration: none;
}

.ui-visual-focus {
	box-shadow: 0 0 3px 1px rgb(94, 158, 214);
}
.ui-state-active,
.ui-widget-content .ui-state-active,
.ui-widget-header .ui-state-active,
a.ui-button:active,
.ui-button:active,
.ui-button.ui-state-active:hover {
	border: 1px solid #003eff;
	background: #007fff;
	font-weight: normal;
	color: #ffffff;
}
.ui-icon-background,
.ui-state-active .ui-icon-background {
	border: #003eff;
	background-color: #ffffff;
}
.ui-state-active a,
.ui-state-active a:link,
.ui-state-active a:visited {
	color: #ffffff;
	text-decoration: none;
}

/* Interaction Cues
----------------------------------*/
.ui-state-highlight,
.ui-widget-content .ui-state-highlight,
.ui-widget-header .ui-state-highlight {
	border: 1px solid #dad55e;
	background: #fffa90;
	color: #777620;
}
.ui-state-checked {
	border: 1px solid #dad55e;
	background: #fffa90;
}
.ui-state-highlight a,
.ui-widget-content .ui-state-highlight a,
.ui-widget-header .ui-state-highlight a {
	color: #777620;
}
.ui-state-error,
.ui-widget-content .ui-state-error,
.ui-widget-header .ui-state-error {
	border: 1px solid #f1a899;
	background: #fddfdf;
	color: #5f3f3f;
}
.ui-state-error a,
.ui-widget-content .ui-state-error a,
.ui-widget-header .ui-state-error a {
	color: #5f3f3f;
}
.ui-state-error-text,
.ui-widget-content .ui-state-error-text,
.ui-widget-header .ui-state-error-text {
	color: #5f3f3f;
}
.ui-priority-primary,
.ui-widget-content .ui-priority-primary,
.ui-widget-header .ui-priority-primary {
	font-weight: bold;
}
.ui-priority-secondary,
.ui-widget-content .ui-priority-secondary,
.ui-widget-header .ui-priority-secondary {
	opacity: .7;
	-ms-filter: "alpha(opacity=70)"; /* support: IE8 */
	font-weight: normal;
}
.ui-state-disabled,
.ui-widget-content .ui-state-disabled,
.ui-widget-header .ui-state-disabled {
	opacity: .35;
	-ms-filter: "alpha(opacity=35)"; /* support: IE8 */
	background-image: none;
}
.ui-state-disabled .ui-icon {
	-ms-filter: "alpha(opacity=35)"; /* support: IE8 - See #6059 */
}

/* Icons
----------------------------------*/

/* states and images */
.ui-icon {
	width: 16px;
	height: 16px;
}
.ui-icon,
.ui-widget-content .ui-icon {
	background-image: url("/images/jqueryui/ui-icons_444444_256x240.png");
}
.ui-widget-header .ui-icon {
	background-image: url("/images/jqueryui/ui-icons_444444_256x240.png");
}
.ui-state-hover .ui-icon,
.ui-state-focus .ui-icon,
.ui-button:hover .ui-icon,
.ui-button:focus .ui-icon {
	background-image: url("/images/jqueryui/ui-icons_555555_256x240.png");
}
.ui-state-active .ui-icon,
.ui-button:active .ui-icon {
	background-image: url("/images/jqueryui/ui-icons_ffffff_256x240.png");
}
.ui-state-highlight .ui-icon,
.ui-button .ui-state-highlight.ui-icon {
	background-image: url("/images/jqueryui/ui-icons_777620_256x240.png");
}
.ui-state-error .ui-icon,
.ui-state-error-text .ui-icon {
	background-image: url("/images/jqueryui/ui-icons_cc0000_256x240.png");
}
.ui-button .ui-icon {
	background-image: url("/images/jqueryui/ui-icons_777777_256x240.png");
}

/* positioning */
/* Three classes needed to override `.ui-button:hover .ui-icon` */
.ui-icon-blank.ui-icon-blank.ui-icon-blank {
	background-image: none;
}
.ui-icon-caret-1-n { background-position: 0 0; }
.ui-icon-caret-1-ne { background-position: -16px 0; }
.ui-icon-caret-1-e { background-position: -32px 0; }
.ui-icon-caret-1-se { background-position: -48px 0; }
.ui-icon-caret-1-s { background-position: -65px 0; }
.ui-icon-caret-1-sw { background-position: -80px 0; }
.ui-icon-caret-1-w { background-position: -96px 0; }
.ui-icon-caret-1-nw { background-position: -112px 0; }
.ui-icon-caret-2-n-s { background-position: -128px 0; }
.ui-icon-caret-2-e-w { background-position: -144px 0; }
.ui-icon-triangle-1-n { background-position: 0 -16px; }
.ui-icon-triangle-1-ne { background-position: -16px -16px; }
.ui-icon-triangle-1-e { background-position: -32px -16px; }
.ui-icon-triangle-1-se { background-position: -48px -16px; }
.ui-icon-triangle-1-s { background-position: -65px -16px; }
.ui-icon-triangle-1-sw { background-position: -80px -16px; }
.ui-icon-triangle-1-w { background-position: -96px -16px; }
.ui-icon-triangle-1-nw { background-position: -112px -16px; }
.ui-icon-triangle-2-n-s { background-position: -128px -16px; }
.ui-icon-triangle-2-e-w { background-position: -144px -16px; }
.ui-icon-arrow-1-n { background-position: 0 -32px; }
.ui-icon-arrow-1-ne { background-position: -16px -32px; }
.ui-icon-arrow-1-e { background-position: -32px -32px; }
.ui-icon-arrow-1-se { background-position: -48px -32px; }
.ui-icon-arrow-1-s { background-position: -65px -32px; }
.ui-icon-arrow-1-sw { background-position: -80px -32px; }
.ui-icon-arrow-1-w { background-position: -96px -32px; }
.ui-icon-arrow-1-nw { background-position: -112px -32px; }
.ui-icon-arrow-2-n-s { background-position: -128px -32px; }
.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }
.ui-icon-arrow-2-e-w { background-position: -160px -32px; }
.ui-icon-arrow-2-se-nw { background-position: -176px -32px; }
.ui-icon-arrowstop-1-n { background-position: -192px -32px; }
.ui-icon-arrowstop-1-e { background-position: -208px -32px; }
.ui-icon-arrowstop-1-s { background-position: -224px -32px; }
.ui-icon-arrowstop-1-w { background-position: -240px -32px; }
.ui-icon-arrowthick-1-n { background-position: 1px -48px; }
.ui-icon-arrowthick-1-ne { background-position: -16px -48px; }
.ui-icon-arrowthick-1-e { background-position: -32px -48px; }
.ui-icon-arrowthick-1-se { background-position: -48px -48px; }
.ui-icon-arrowthick-1-s { background-position: -64px -48px; }
.ui-icon-arrowthick-1-sw { background-position: -80px -48px; }
.ui-icon-arrowthick-1-w { background-position: -96px -48px; }
.ui-icon-arrowthick-1-nw { background-position: -112px -48px; }
.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }
.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }
.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }
.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }
.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }
.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }
.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }
.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }
.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }
.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }
.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }
.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }
.ui-icon-arrowreturn-1-w { background-position: -64px -64px; }
.ui-icon-arrowreturn-1-n { background-position: -80px -64px; }
.ui-icon-arrowreturn-1-e { background-position: -96px -64px; }
.ui-icon-arrowreturn-1-s { background-position: -112px -64px; }
.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }
.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }
.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }
.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }
.ui-icon-arrow-4 { background-position: 0 -80px; }
.ui-icon-arrow-4-diag { background-position: -16px -80px; }
.ui-icon-extlink { background-position: -32px -80px; }
.ui-icon-newwin { background-position: -48px -80px; }
.ui-icon-refresh { background-position: -64px -80px; }
.ui-icon-shuffle { background-position: -80px -80px; }
.ui-icon-transfer-e-w { background-position: -96px -80px; }
.ui-icon-transferthick-e-w { background-position: -112px -80px; }
.ui-icon-folder-collapsed { background-position: 0 -96px; }
.ui-icon-folder-open { background-position: -16px -96px; }
.ui-icon-document { background-position: -32px -96px; }
.ui-icon-document-b { background-position: -48px -96px; }
.ui-icon-note { background-position: -64px -96px; }
.ui-icon-mail-closed { background-position: -80px -96px; }
.ui-icon-mail-open { background-position: -96px -96px; }
.ui-icon-suitcase { background-position: -112px -96px; }
.ui-icon-comment { background-position: -128px -96px; }
.ui-icon-person { background-position: -144px -96px; }
.ui-icon-print { background-position: -160px -96px; }
.ui-icon-trash { background-position: -176px -96px; }
.ui-icon-locked { background-position: -192px -96px; }
.ui-icon-unlocked { background-position: -208px -96px; }
.ui-icon-bookmark { background-position: -224px -96px; }
.ui-icon-tag { background-position: -240px -96px; }
.ui-icon-home { background-position: 0 -112px; }
.ui-icon-flag { background-position: -16px -112px; }
.ui-icon-calendar { background-position: -32px -112px; }
.ui-icon-cart { background-position: -48px -112px; }
.ui-icon-pencil { background-position: -64px -112px; }
.ui-icon-clock { background-position: -80px -112px; }
.ui-icon-disk { background-position: -96px -112px; }
.ui-icon-calculator { background-position: -112px -112px; }
.ui-icon-zoomin { background-position: -128px -112px; }
.ui-icon-zoomout { background-position: -144px -112px; }
.ui-icon-search { background-position: -160px -112px; }
.ui-icon-wrench { background-position: -176px -112px; }
.ui-icon-gear { background-position: -192px -112px; }
.ui-icon-heart { background-position: -208px -112px; }
.ui-icon-star { background-position: -224px -112px; }
.ui-icon-link { background-position: -240px -112px; }
.ui-icon-cancel { background-position: 0 -128px; }
.ui-icon-plus { background-position: -16px -128px; }
.ui-icon-plusthick { background-position: -32px -128px; }
.ui-icon-minus { background-position: -48px -128px; }
.ui-icon-minusthick { background-position: -64px -128px; }
.ui-icon-close { background-position: -80px -128px; }
.ui-icon-closethick { background-position: -96px -128px; }
.ui-icon-key { background-position: -112px -128px; }
.ui-icon-lightbulb { background-position: -128px -128px; }
.ui-icon-scissors { background-position: -144px -128px; }
.ui-icon-clipboard { background-position: -160px -128px; }
.ui-icon-copy { background-position: -176px -128px; }
.ui-icon-contact { background-position: -192px -128px; }
.ui-icon-image { background-position: -208px -128px; }
.ui-icon-video { background-position: -224px -128px; }
.ui-icon-script { background-position: -240px -128px; }
.ui-icon-alert { background-position: 0 -144px; }
.ui-icon-info { background-position: -16px -144px; }
.ui-icon-notice { background-position: -32px -144px; }
.ui-icon-help { background-position: -48px -144px; }
.ui-icon-check { background-position: -64px -144px; }
.ui-icon-bullet { background-position: -80px -144px; }
.ui-icon-radio-on { background-position: -96px -144px; }
.ui-icon-radio-off { background-position: -112px -144px; }
.ui-icon-pin-w { background-position: -128px -144px; }
.ui-icon-pin-s { background-position: -144px -144px; }
.ui-icon-play { background-position: 0 -160px; }
.ui-icon-pause { background-position: -16px -160px; }
.ui-icon-seek-next { background-position: -32px -160px; }
.ui-icon-seek-prev { background-position: -48px -160px; }
.ui-icon-seek-end { background-position: -64px -160px; }
.ui-icon-seek-start { background-position: -80px -160px; }
/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */
.ui-icon-seek-first { background-position: -80px -160px; }
.ui-icon-stop { background-position: -96px -160px; }
.ui-icon-eject { background-position: -112px -160px; }
.ui-icon-volume-off { background-position: -128px -160px; }
.ui-icon-volume-on { background-position: -144px -160px; }
.ui-icon-power { background-position: 0 -176px; }
.ui-icon-signal-diag { background-position: -16px -176px; }
.ui-icon-signal { background-position: -32px -176px; }
.ui-icon-battery-0 { background-position: -48px -176px; }
.ui-icon-battery-1 { background-position: -64px -176px; }
.ui-icon-battery-2 { background-position: -80px -176px; }
.ui-icon-battery-3 { background-position: -96px -176px; }
.ui-icon-circle-plus { background-position: 0 -192px; }
.ui-icon-circle-minus { background-position: -16px -192px; }
.ui-icon-circle-close { background-position: -32px -192px; }
.ui-icon-circle-triangle-e { background-position: -48px -192px; }
.ui-icon-circle-triangle-s { background-position: -64px -192px; }
.ui-icon-circle-triangle-w { background-position: -80px -192px; }
.ui-icon-circle-triangle-n { background-position: -96px -192px; }
.ui-icon-circle-arrow-e { background-position: -112px -192px; }
.ui-icon-circle-arrow-s { background-position: -128px -192px; }
.ui-icon-circle-arrow-w { background-position: -144px -192px; }
.ui-icon-circle-arrow-n { background-position: -160px -192px; }
.ui-icon-circle-zoomin { background-position: -176px -192px; }
.ui-icon-circle-zoomout { background-position: -192px -192px; }
.ui-icon-circle-check { background-position: -208px -192px; }
.ui-icon-circlesmall-plus { background-position: 0 -208px; }
.ui-icon-circlesmall-minus { background-position: -16px -208px; }
.ui-icon-circlesmall-close { background-position: -32px -208px; }
.ui-icon-squaresmall-plus { background-position: -48px -208px; }
.ui-icon-squaresmall-minus { background-position: -64px -208px; }
.ui-icon-squaresmall-close { background-position: -80px -208px; }
.ui-icon-grip-dotted-vertical { background-position: 0 -224px; }
.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }
.ui-icon-grip-solid-vertical { background-position: -32px -224px; }
.ui-icon-grip-solid-horizontal { background-position: -48px -224px; }
.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }
.ui-icon-grip-diagonal-se { background-position: -80px -224px; }


/* Misc visuals
----------------------------------*/

/* Corner radius */
.ui-corner-all,
.ui-corner-top,
.ui-corner-left,
.ui-corner-tl {
	border-top-left-radius: 3px;
}
.ui-corner-all,
.ui-corner-top,
.ui-corner-right,
.ui-corner-tr {
	border-top-right-radius: 3px;
}
.ui-corner-all,
.ui-corner-bottom,
.ui-corner-left,
.ui-corner-bl {
	border-bottom-left-radius: 3px;
}
.ui-corner-all,
.ui-corner-bottom,
.ui-corner-right,
.ui-corner-br {
	border-bottom-right-radius: 3px;
}

/* Overlays */
.ui-widget-overlay {
	background: #aaaaaa;
	opacity: .003;
	-ms-filter: Alpha(Opacity=.3); /* support: IE8 */
}
.ui-widget-shadow {
	-webkit-box-shadow: 0px 0px 5px #666666;
	box-shadow: 0px 0px 5px #666666;
}
/* ------------------------------------------------------------------------------------
	SCREEN - v6 swiffy 2023
	Filename : swiffy.css
	Last Updated : 04. 04. 2023
	Copyright :(c) 2023 Etail Systems Ltd
	Author : Etail Systems Ltd
	Web : http://www.etailsystems.com

------------------------------------------------------------------------------------- */

.swiffy-slider  {
	position: relative;
	display: block;
	width: 100%;
	--swiffy-slider-snap-align: center;
	--swiffy-slider-item-width: 100%;
	--swiffy-slider-item-gap: 1rem;
	--swiffy-slider-item-reveal: 0rem;
	--swiffy-slider-item-ratio: 1/1;
	--swiffy-slider-item-count: 1;

	--swiffy-slider-nav-zoom: 1;
	--swiffy-slider-track-opacity: 0.1;
	--swiffy-slider-track-height: 0;
	--swiffy-slider-nav-outside-size: 3.5rem;
	--swiffy-slider-indicator-outside-size: 1.5rem;
	--swiffy-slider-animation-duration: .75s;
	--swiffy-slider-animation-delay: 0s;
	--swiffy-slider-animation-timing: ease-in-out;
}

.swiffy-slider,
.swiffy-slider::after,
.swiffy-slider::before {
	box-sizing: border-box
}

.swiffy-slider ::-webkit-scrollbar {
	height: var(--swiffy-slider-track-height)
}

.swiffy-slider ::-webkit-scrollbar-track {
	background: rgba(0, 0, 0, var(--swiffy-slider-track-opacity))
}

.swiffy-slider ::-webkit-scrollbar-thumb {
	background: rgba(0, 0, 0, .4);
	border-radius: 1rem
}

.swiffy-slider ::-webkit-scrollbar-thumb:hover {
	background: rgba(0, 0, 0, .6)
}

.slider-container {
	--swiffy-slider-item-gap-totalwidth: calc(var(--swiffy-slider-item-gap) * (var(--swiffy-slider-item-count) - 1));
	--swiffy-slider-item-width: calc((100% - var(--swiffy-slider-item-reveal) - var(--swiffy-slider-item-gap-totalwidth)) / var(--swiffy-slider-item-count));
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	-ms-scroll-snap-type: x mandatory;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	display: grid;
	align-items: center;
	height: 100%;
	grid: auto/auto-flow -webkit-max-content;
	grid: auto/auto-flow max-content;
	grid-auto-rows: 100%;
	grid-auto-columns: var(--swiffy-slider-item-width);
	grid-auto-flow: column;
	grid-gap: var(--swiffy-slider-item-gap);
	list-style: none;
	margin: 0;
	padding: 0;
	scrollbar-width: none;
	scrollbar-color: rgba(0, 0, 0, .4) rgba(0, 0, 0, var(--swiffy-slider-track-opacity));
	background-clip: padding-box
}

.slider-container>* {
	scroll-snap-align: var(--swiffy-slider-snap-align);
	position: relative;
	width: 100%;
	height: 100%
}

.slider-item-helper .slider-container>* {
	background-size: cover;
	background-color: #e1e1e1;
	background-position: 50% 50%;
	display: flex;
	justify-content: center;
	align-items: center
}

.slider-item-helper:not(.slider-item-ratio) .slider-container>* {
	min-height: 20rem
}

.slider-item-ratio .slider-container>*>*{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover
}

.slider-item-ratio-contain .slider-container>*>*{
	-o-object-fit: contain;
	object-fit: contain
}

.slider-item-ratio .slider-container>::after{
	display: block;
	padding-top: calc(100% / var(--swiffy-slider-item-ratio) );
	content: ""
}


.slider-indicators {
	display: flex;
	justify-content: center;
	padding: 0;
	list-style: none;
	width:100%;
}

.slider-nav-scrollbar .slider-indicators {
	margin-bottom: calc(1rem + var(--swiffy-slider-track-height))
}

.slider-indicators>.active {
	opacity: 1;
	background-color: var(--swiffy-slider-active-item-color);
}


.slider-indicators>* {
	box-sizing: content-box;
	flex: 0 1 auto;
	width: 2rem;
	height: .2rem;
	padding: 0;
	border: .4rem solid transparent;
	cursor: pointer;
	background-color: var(--swiffy-slider-item-color);
	background-clip: padding-box;
	opacity: .5;
	transition: opacity .4s ease;
	
	width: 10px;
	height:10px;
	border: .4rem solid transparent;
	border-radius: 50%

	
}

.slider-nav {
	position: absolute;
	top: 0;
	left: 0.5rem;
	bottom: 0;
	border: 0;
	background-color: transparent;
	cursor: pointer;
	padding: 0;
	visibility: hidden;
	opacity: .8;
	transition: visibility .1s, opacity .2s linear;
	margin-bottom: var(--swiffy-slider-track-height);
	display: flex;
	align-items: center;
	padding: 0 .5rem;
	-webkit-filter: drop-shadow(0 0 .5rem rgba(0, 0, 0, .5));
	filter: drop-shadow(0 0 .5rem rgba(0, 0, 0, .5));
	transform: scale(var(--swiffy-slider-nav-zoom));
	/* overflow:hidden; */
}

.slider-nav::before {
	position: absolute;
	content: "";
	/* padding: .5rem 0; */
	width: 3rem;
	height: 3rem;
	pointer-events:all;
	background-color:var(--white);
}

.slider-nav::after {
	content: "";
	-webkit-mask: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'><path fill-rule='evenodd' d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'></path></svg>");
	mask: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'><path fill-rule='evenodd' d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'></path></svg>");
	-webkit-mask-size: cover;
	mask-size: cover;
	background-color: var(--swiffy-slider-nav);
	background-origin: content-box;
	width: 3rem;
	height: 3rem
}

.slider-nav-arrow .slider-nav::after {
	-webkit-mask: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'><path fill-rule='evenodd' d='M12 8a.5.5 0 0 1-.5.5H5.707l2.147 2.146a.5.5 0 0 1-.708.708l-3-3a.5.5 0 0 1 0-.708l3-3a.5.5 0 1 1 .708.708L5.707 7.5H11.5a.5.5 0 0 1 .5.5z'></path></svg>");
	mask: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'><path fill-rule='evenodd' d='M12 8a.5.5 0 0 1-.5.5H5.707l2.147 2.146a.5.5 0 0 1-.708.708l-3-3a.5.5 0 0 1 0-.708l3-3a.5.5 0 1 1 .708.708L5.707 7.5H11.5a.5.5 0 0 1 .5.5z'></path></svg>")
}

.slider-nav-chevron .slider-nav::after {
	-webkit-mask: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'><path fill-rule='evenodd' d='M9.224 1.553a.5.5 0 0 1 .223.67L6.56 8l2.888 5.776a.5.5 0 1 1-.894.448l-3-6a.5.5 0 0 1 0-.448l3-6a.5.5 0 0 1 .67-.223z'></path></svg>");
	mask: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'><path fill-rule='evenodd' d='M9.224 1.553a.5.5 0 0 1 .223.67L6.56 8l2.888 5.776a.5.5 0 1 1-.894.448l-3-6a.5.5 0 0 1 0-.448l3-6a.5.5 0 0 1 .67-.223z'></path></svg>")
}

.slider-nav-caret .slider-nav::after {
	-webkit-mask: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'><path d='M10 12.796V3.204L4.519 8 10 12.796zm-.659.753-5.48-4.796a1 1 0 0 1 0-1.506l5.48-4.796A1 1 0 0 1 11 3.204v9.592a1 1 0 0 1-1.659.753z'></path></svg>");
	mask: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'><path d='M10 12.796V3.204L4.519 8 10 12.796zm-.659.753-5.48-4.796a1 1 0 0 1 0-1.506l5.48-4.796A1 1 0 0 1 11 3.204v9.592a1 1 0 0 1-1.659.753z'></path></svg>")
}

.slider-nav-caretfill .slider-nav::after {
	-webkit-mask: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'><path d='m3.86 8.753 5.482 4.796c.646.566 1.658.106 1.658-.753V3.204a1 1 0 0 0-1.659-.753l-5.48 4.796a1 1 0 0 0 0 1.506z'></path></svg>");
	mask: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'><path d='m3.86 8.753 5.482 4.796c.646.566 1.658.106 1.658-.753V3.204a1 1 0 0 0-1.659-.753l-5.48 4.796a1 1 0 0 0 0 1.506z'></path></svg>")
}

.swiffy-slider:hover .slider-nav {
	visibility: visible
}

.swiffy-slider.slider-nav-autohide.slider-item-first-visible .slider-nav:not(.slider-nav-next) {
	visibility: hidden
}

.swiffy-slider.slider-nav-autohide.slider-item-last-visible .slider-nav.slider-nav-next {
	visibility: hidden
}

.slider-nav-outside .slider-container {
	margin: 0 var(--swiffy-slider-nav-outside-size)
}

.slider-nav-outside .slider-nav {
	padding: 0
}

.swiffy-slider .slider-nav:hover {
	opacity: 1
}

.slider-nav-square .slider-nav {
	padding: 0
}


.slider-nav-round .slider-nav::before {
	border-radius: 50%
}

.slider-nav-round .slider-nav::after {
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' %3E%3Cpath fill-rule='evenodd' d='M15 8a.5.5 0 0 0-.5-.5H2.707l3.147-3.146a.5.5 0 1 0-.708-.708l-4 4a.5.5 0 0 0 0 .708l4 4a.5.5 0 0 0 .708-.708L2.707 8.5H14.5A.5.5 0 0 0 15 8z'%3E%3C/path%3E%3C/svg%3E");
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' %3E%3Cpath fill-rule='evenodd' d='M15 8a.5.5 0 0 0-.5-.5H2.707l3.147-3.146a.5.5 0 1 0-.708-.708l-4 4a.5.5 0 0 0 0 .708l4 4a.5.5 0 0 0 .708-.708L2.707 8.5H14.5A.5.5 0 0 0 15 8z'%3E%3C/path%3E%3C/svg%3E")
}

.slider-nav-dark .slider-nav::after {
	background-color: var(--swiffy-slider-nav-dark)
}

.slider-nav-sm {
	--swiffy-slider-nav-zoom: .75;
	--swiffy-slider-nav-outside-size: 2.5rem
}

.slider-nav.slider-nav-next::after {
	transform: rotate(180deg)
}

.slider-nav.slider-nav-next {
	right: .5rem;
	left: unset
}

.slider-nav-visible .slider-nav {
	visibility: visible
}

.slider-nav-dark .slider-nav {
	opacity: .6
}

.slider-nav-mousedrag .slider-container {
	cursor: -webkit-grab;
	cursor: grab
}

.slider-nav-mousedrag.dragging .slider-container {
	-ms-scroll-snap-type: unset;
	scroll-snap-type: unset;
	scroll-behavior: unset;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none
}

.slider-nav-mousedrag.dragging .slider-nav {
	visibility: hidden
}

@media (hover:hover) {
	.slider-nav-mousedrag .slider-container::after {
		content: "";
		position: absolute;
		width: 100%;
		height: 100%
	}
}

@media (prefers-reduced-motion:no-preference) {
	.slider-nav-animation.slider-nav-animation-fast {
		--swiffy-slider-animation-duration: .25s
	}
	.slider-nav-animation.slider-nav-animation-slow {
		--swiffy-slider-animation-duration: 1.25s
	}
	.slider-nav-animation .slider-container>*>* {
		transition: opacity var(--swiffy-slider-animation-duration) var(--swiffy-slider-animation-timing), transform var(--swiffy-slider-animation-duration) var(--swiffy-slider-animation-timing);
		transition-delay: var(--swiffy-slider-animation-delay)
	}
	.slider-nav-animation .slider-container .slide-visible>* {
		transition: opacity var(--swiffy-slider-animation-duration) var(--swiffy-slider-animation-timing), transform var(--swiffy-slider-animation-duration) var(--swiffy-slider-animation-timing);
		transition-delay: var(--swiffy-slider-animation-delay)
	}
	.slider-nav-animation.slider-nav-animation-fadein .slider-container>*>* {
		opacity: .5
	}
	.slider-nav-animation.slider-nav-animation-scale .slider-container>*>* {
		transform: scale(.9)
	}
	.slider-nav-animation.slider-nav-animation-appear .slider-container>*>* {
		opacity: .3;
		transform: scale(.9)
	}
	.slider-nav-animation.slider-nav-animation-scaleup .slider-container>*>* {
		transform: scale(.25)
	}
	.slider-nav-animation.slider-nav-animation-zoomout .slider-container>* {
		overflow: hidden
	}
	.slider-nav-animation.slider-nav-animation-zoomout .slider-container>*>* {
		transform: scale(1.3)
	}
	.slider-nav-animation.slider-nav-animation-turn .slider-container>*>* {
		transform: rotateY(70deg)
	}
	.slider-nav-animation.slider-nav-animation-slideup .slider-container>*>* {
		transform: translateY(60%) scale(.99)
	}
	.slider-nav-animation.slider-nav-animation-slideup .slider-container {
		overflow-y: hidden
	}
	.slider-nav-animation .slider-container>.slide-visible>* {
		opacity: 1;
		transform: none
	}
}

@media (min-width:62rem) {
	.slider-item-show2:not(.slider-item-snapstart) .slider-container>*,
	.slider-item-show4:not(.slider-item-snapstart) .slider-container>*,
	.slider-item-show6:not(.slider-item-snapstart) .slider-container>* {
		scroll-snap-align: unset
	}
	.slider-item-show2:not(.slider-item-snapstart) .slider-container>::before,
	.slider-item-show4:not(.slider-item-snapstart) .slider-container>::before,
	.slider-item-show6:not(.slider-item-snapstart) .slider-container>::before {
		content: " ";
		display: block;
		position: absolute;
		left: calc((var(--swiffy-slider-item-gap)/2)*-1);
		top: 0;
		width: 1px;
		height: 1px;
		scroll-snap-align: var(--swiffy-slider-snap-align)
	}
	.slider-nav-outside-expand .slider-nav {
		margin-left: -4rem
	}
	.slider-nav-outside-expand .slider-nav.slider-nav-next {
		margin-right: -4rem
	}
	.slider-nav-sm.slider-nav-outside-expand .slider-nav {
		margin-left: -3.5rem
	}
	.slider-nav-sm.slider-nav-outside-expand .slider-nav.slider-nav-next {
		margin-right: -3.5rem
	}
	.slider-indicators-sm.slider-indicators {
		display: none
	}
}

@media (max-width:62rem) {
	.swiffy-slider {
		--swiffy-slider-track-height: 0rem;
		--swiffy-slider-item-reveal: 0rem;
		--swiffy-slider-item-count: 1;
		--swiffy-slider-nav-zoom: .875
	}
	.swiffy-slider .slider-item-show2-sm {
		--swiffy-slider-item-count: 2
	}
	.slider-item-reveal {
		--swiffy-slider-item-reveal: 4rem
	}
	.slider-item-snapstart.slider-item-reveal {
		--swiffy-slider-item-reveal: 2rem
	}
	.slider-item-show6 .slider-container {
		grid-auto-columns: calc(25% - (var(--swiffy-slider-item-gap)/ 4*3))
	}
	.slider-item-show6.slider-item-reveal .slider-container {
		grid-auto-columns: calc(25% - (var(--swiffy-slider-item-gap)/ 4*3) - .5rem)
	}
	.slider-item-show6.slider-item-reveal .slider-container>* {
		scroll-snap-align: unset
	}
	.slider-item-show6.slider-item-reveal .slider-container>::before {
		content: " ";
		display: block;
		position: absolute;
		left: calc((var(--swiffy-slider-item-gap)/2)*-1);
		top: 0;
		width: 1px;
		height: 1px;
		scroll-snap-align: center
	}
	.slider-nav::after,
	.slider-nav::before {
		width: 2rem;
		height: 2rem;
		padding: .3rem
	}
	.slider-nav-round .slider-nav::after,
	.slider-nav-square .slider-nav::after {
		width: 1.75rem;
		height: 1.75rem;
		margin: .125rem
	}
	.slider-nav-outside .slider-container,
	.slider-nav-outside-expand .slider-container {
		margin: 0 2rem
	}
	.slider-nav-outside-expand .slider-container {
		margin: 0 var(--swiffy-slider-nav-outside-size)
	}
	.slider-nav-outside-expand .slider-nav {
		padding: 0
	}
	.slider-indicators-round .slider-indicators>*,
	.slider-indicators-round.slider-indicators>*,
	.slider-indicators-square .slider-indicators>*,
	.slider-indicators-square.slider-indicators>* {
		width: .3rem;
		height: .3rem
	}
	.slider-indicators {
		/* margin-bottom: .5rem; */
		/* display: none; */
	}
	.slider-nav-scrollbar .slider-indicators {
		margin-bottom: 0
	}
	.slider-indicators>* {
		/* width: 1rem; */
		/* height: .125rem; */
		/* border-width: .25rem; */
	}
	.slider-indicators-sm .slider-indicators,
	.slider-indicators-sm.slider-indicators {
		display: flex
	}
}

@media (max-width:48rem) {
	.slider-item-show6 .slider-container {
		grid-auto-columns: calc(50% - (var(--swiffy-slider-item-gap)/ 2))
	}
	.slider-item-show6.slider-item-reveal .slider-container {
		grid-auto-columns: calc(50% - (var(--swiffy-slider-item-gap)/ 2) - 1.5rem)
	}
}

@media (hover:none) {
	.swiffy-slider.slider-nav-touch .slider-nav {
		visibility: visible
	}
	.swiffy-slider:not(.slider-nav-touch).slider-nav-outside .slider-container,
	.swiffy-slider:not(.slider-nav-touch).slider-nav-outside-expand .slider-container {
		margin: 0 0
	}
	.slider-item-nosnap-touch {
		--swiffy-slider-snap-align: unset
	}
}
/* ------------------------------------------------------------------------------------
	SCREEN - v6 Aromatize Trade 2025v1
	Filename : sitepanes.css
	Last Updated : 04. 12. 2025
	Copyright :(c) 2025 Etail Systems Ltd
	Author : Etail Systems Ltd
	Web : http://www.etailsystems.com

	Table of Contents
		=Definitions
		=Reset
		=Normalise
		=Page 
		=Typography 	
		=Grid Layout
		=SiteContainers		
		=FIXEDTop Panel #ptf		
		=Top Panel #pt	
		=Center Panel #pc
		=Main Panel #pmid
		=Footer Panel #pf
		=Bottom Panel #pb
		=FIXEDBottom Panel #pbf
		=Breadcrumb
		=OwlCarousel Overrides
		=Swiffy Slider
		=Blog
		=SearchHeader / SearchFooter 	
		=FilterSearch 		
		=Deptsingle
		=Subdepartment tree 
		=FeaturedProducts 
		=ProductPage 
		=Super Attributes
		=Basket
		=Checkout Process
		=MyAccount
		=ConfirmationPage
		=Sitemap  
		=Client Specific Stylings 

/* -------------------------------------------------------------------------------------	
=Definitions
------------------------------------------------------------------------------------- */

:root {

	--site-max-width: 1400px;
	--menu-max-width: calc(100vw - 2rem);
	--left-panel-width: calc(var(--site-max-width) / 5);
	--right-panel-width: calc(var(--site-max-width) / 5);
	--line-height: 1.5;
	--letter-spacing: .2rem;
	--outline-width: 3px;
	--spacing: 1rem;
	--half-spacing: .5rem;
	
	/*standard colors */
	--error-color: #B51E1E;
	--warn-color: rgb(230 167 27);
	--info-color: #5eb20a;
	--help-color: #2879ff;
	--black: #0f110c;
	--white: #fdfffc;
	--off-white: #f9f9f9;
	
	/* client color scheme */
	--black: #0f110c;
	--white: #fdfffc;
	--off-white: #F2F3F5;
	--pink: #e39b99;
	--dark-pink:#fc6c85;
	--spring-blue:#7fb3bf;
	--summer-green:#1d5b21;
	--autumn-green:#2f4444;
	--dark-autumn-green:#97bcbc;
	

	
	--red: #8B1E3F;
	--green: #1c7c54;
	--grey: #d5cece;
	--dark-grey: #A0A0A0;
	--light-grey: #dcdcdc;

	--featured-color: var(--pink);

	--featured-color-alpha: rgb(255 153 153 / 50%);
	--featured-text-color: var(--white);

	--featured-alt-color: var(--autumn-green);



	/*Section colors */
	--background-color: var(--white);
	--top-bar-color: var(--featured-color);
	--top-bar-text-color: var(--white);
	--top-bar-link-color: var(--white);
	--top-panel-color: var(--white);
	--center-panel-color: var(--off-white);
	--main-panel-color: var(--off-white);
	--footer-panel-color: var(--off-white);
	--footer-panel-alt-color: var(--grey);
	--bottom-panel-color: var(--featured-color);
	--bottom-panel-heading-color: var(--white);
	--bottom-panel-text-color: var(--white);
	--bottom-bar-color: var(--featured-color);
	--bottom-bar-text-color: var(--white);
	--panel-color: var(--white);
	--dropdown-color: var(--white);
	--popout-color: var(--white);
	--form-color: var(--white);


	--typography-spacing-vertical: .5rem;
	--block-spacing-vertical: calc(var(--spacing) * 2);
	--block-spacing-horizontal: var(--spacing);
	--form-element-spacing-vertical: 0.5rem;
	--form-element-spacing-horizontal: .725rem;

	--form-label-font-weight: var(--text-font-weight);
	
	/* fonts */
	--text-font: "Nunito", sans-serif;
  
	--text-font-weight: 400;
	--heading-font: "Abhaya Libre", serif;
	--heading-font-weight: 600;
	--sub-heading-font: "Abhaya Libre", serif;
	--sub-heading-font-weight: 700;
	--button-font: "Nunito", sans-serif;
	--button-font-weight: 600;
	--font-awesome: "Font Awesome 6 Pro";
	--font-size: 16px;
	
	/* grid info */
	--grid-spacing-vertical: var(--spacing);
	--grid-spacing-horizontal: var(--spacing);

	/*nav */
	--nav-element-spacing-vertical: 1rem;
	--nav-element-spacing-horizontal: 0.5rem;
	--nav-link-spacing-vertical: 0.5rem;
	--nav-link-spacing-horizontal: 0.5rem;
	--navbar-dropdown-text: var(--heading-font);
	--navbar-heading-font: var(--heading-font);
	--navbar-heading-font-size: 1.5em;
	
	--navbar-color: var(--featured-color);
	--navbar-heading-color: var(--white);
	--navbar-heading-weight: 400;
	--navbar-link-color: var(--black);
	--navbar-icon-color: var(--dark-grey);
	--navbar-active-color: var(--featured-alt-color);
	--navbar-active-text-color: var(--white);
	--navbar-hover-color: var(--off-white);
	--navbar-hover-text-color: var(--black);
	
	--navbar-dropdown-width: 240px;
	--navbar-dropdown-item-height: 40px;
	--navbar-dropdown-color: var(--light-grey);
	--navbar-dropdown-text-color: var(--black);
	--navbar-dropdown-text-size: .875rem;
	--navbar-sidebar-color: var(--off-white);
	--navbar-sidebar-text-color: var(--grey);
	--navbar-sidebar-hover-color: var(--off-white);
	--navbar-popout-color: var(--white);
	
	/*Buttons */
	--button-color: var(--featured-color);
	--button-text-color: var(--white);
	--button-border-color: var(--button-color);
	--button-hover-text-color: var(--white);
	--button-hover-color: var(--featured-alt-color);
	--button-hover-border-color: var(--button-hover-color);
	--alt-button-color: var(--off-white);
	--alt-button-text-color: var(--grey);
	--alt-button-border-color: var(--grey);
	--alt-button-hover-text-color: var(--grey);
	--alt-button-hover-color: var(--grey);
	--alt-button-hover-border-color: var(--grey);
	--checkout-button: var(--featured-alt-color);
	--checkout-button-text: var(--white);
	--info-button: var(--info-color);
	--info-button-text: var(--white);
	--icon-color: var(--error-color);
	
	/*Borders */
	--border-color: var(--grey);
	--border-alt-color: var(--grey);
	--border-color-light: var(--light-grey);
	--border-radius: 0em;
	--border-width: 1px;

	/* shadows */
	--box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.5);
	--transition: 0.5s ease-in-out;
	
	/*Text */
	--color: var(--black);
	--text-color: var(--black);
	--text-color-light: var(--light-grey);
	--text-heading-color: var(--black);
	--text-sub-heading-color: var(--dark-grey);
	--text-link-color: var(--pink);
	--text-link-color-hover: var(--pink);
	--text-link-color-focus: transparent;
	--text-decoration: none;
	--text-decoration-color: var(--pink);
	
	/* featured product element fprd*/
	--fprd-color: var(--off-white);
	--fprd-title-font: var(--sub-heading-font);
	--fprd-title-font-weight: var(--font-weight);
	--fprd-title-color: var(--black);
	/*swiffy nav options */
	--swiffy-slider-nav: var(--featured-color);
	--swiffy-slider-item-color: var(--grey);
	--swiffy-slider-active-item-color: var(--featured-color);
}

/* -------------------------------------------------------------------------------------
=Reset 
------------------------------------------------------------------------------------- */

html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,
address,big,cite,code,del,dfn,em,font,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,
tt,var,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,
tr,th,td {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-weight: inherit;
	font-style: inherit;
	font-size: 100%;
	font-family: inherit;
	vertical-align: baseline;
	-webkit-font-smoothing: antialiased;

	
}

/* To enable HTML5 elements in IE */

article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section {
	display: block;
}

input,select,textarea {
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-ms-box-sizing: border-box;
}

input:focus,textarea:focus,select:focus {
	outline-offset: 0px;
}

/* -------------------------------------------------------------------------------------
=Normalise v8.0.1 | MIT License | github.com/necolas/normalize.css 
------------------------------------------------------------------------------------- */

html {
	line-height: var(--line-height);
	-webkit-text-size-adjust: 100%;
}

hr {
	box-sizing: content-box;
	height: 0;
	overflow: visible;
}

pre {
	font-family: monospace, monospace;
	font-size: 1em;
}

a {
	background-color: transparent;
}

abbr[title] {
	border-bottom: none;
	text-decoration: underline;
	text-decoration: underline dotted;
}

b,strong {
	font-weight: var(--heading-font-weight);
}

code,kbd,samp {
	font-family: monospace, monospace;
	font-size: 1em;
}

small {
	font-size: 80%;
}

sub,sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

img,picture,video,canvas,svg {
	display: block;
	max-width: 100%;
	height: auto;
	margin: auto;
}

.imgcont {}

.imgcont img {
	display: block;
}

button,input,optgroup,select,textarea {
	font-family: inherit;
	font-size: 100%;
	line-height: 1.15;
	margin: 0;
}

button,input {
	overflow: visible;
}

button,select {
	text-transform: none;
}

button,
[type="button"],
[type="reset"],
[type="submit"] {
	-webkit-appearance: button;
}

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
	outline: 1px dotted ButtonText;
}

fieldset {
	padding: 0.35em 0.75em 0.625em;
}

legend {
	box-sizing: border-box;
	color: inherit;
	display: table;
	max-width: 100%;
	padding: 0;
	white-space: normal;
}

progress {
	vertical-align: baseline;
}

textarea {
	overflow: auto;
}

[type="checkbox"],
[type="radio"] {
	box-sizing: border-box;
	padding: 0;
}

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

[type="search"] {
	-webkit-appearance: textfield;
	outline-offset: -2px;
}

[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit;
}

details {
	display: block;
}

summary {
	display: list-item;
}

template {
	display: none;
}

[hidden] {
	display: none;
}

::placeholder {
	/* Chrome, Firefox, Opera, Safari 10.1+ */
	color: var(--grey);
	opacity: 1;
	/* Firefox */
}

:-ms-input-placeholder {
	/* Internet Explorer 10-11 */
	color: var(--grey);
}

::-ms-input-placeholder {
	/* Microsoft Edge */
	color: var(--grey);
}

/* -------------------------------------------------------------------------------------
=Page 
------------------------------------------------------------------------------------- */

html {
	-webkit-font-smoothing: antialiased
}

body {
	background-color: var(--background-color);
	font-family: var(--text-font);
	-webkit-font-smoothing: antialiased;
	/* Looks pretty much the same than Windows */
	color: var(--text-color);
	font-size: 16px;
}

ol {
	margin-left: .5em;
}

/* -------------------------------------------------------------------------------------
=Typography 
------------------------------------------------------------------------------------- */

/* Defaults
------------------------------------------------------- */
p {
	overflow-wrap: break-word;
}

b,
strong {
	font-weight: 700;
}

sub,
sup {
	position: relative;
	font-size: 0.75em;
	line-height: 0;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

a,
[role=link] {
	--background-color: transparent;
	outline: none;
	background-color: var(--background-color);
	color: inherit;
	-webkit-text-decoration: var(--text-decoration);
	text-decoration: var(--text-decoration);
	text-decoration-color: var(--text-decoration-color);
	transition: background-color var(--transition), color var(--transition), box-shadow var(--transition), -webkit-text-decoration var(--transition);
	transition: background-color var(--transition), color var(--transition), text-decoration var(--transition), box-shadow var(--transition);
	transition: background-color var(--transition), color var(--transition), text-decoration var(--transition), box-shadow var(--transition), -webkit-text-decoration var(--transition);
}

a:is([aria-current], :hover, :active, :focus),
[role=link]:is([aria-current], :hover, :active, :focus) {
	--color: var(--text-link-color-hover);
	--text-decoration: underline;
}

a:focus,
[role=link]:focus {
	--background-color: var(--text-link-color-focus);
}

h1,
h2,
h3,
h4,
h5,
h6 {
	margin-top: 0;
	margin-bottom: var(--typography-spacing-vertical);
	font-family: var(--heading-font);
	font-weight: var(--heading-font-weight);
	font-size: var(--font-size);
	overflow-wrap: break-word;
}

h1 em,
h2 em,
h3 em,
h4 em,
h5 em,
h6 em {
	font-style: normal;
	font-family: var(--text-font);
	font-weight: 200;
}

h1 span,
h2 span,
h3 span,
h4 span,
h5 span,
h6 span {}

h1 {
	font-size: 2em;
	--typography-spacing-vertical: .5rem;
}

h2 {
	font-size: 2.5em;
	--typography-spacing-vertical: .5rem;
}

h3 {
	font-size: 1.5em;
	--typography-spacing-vertical: .5rem;
}

h4 {
	font-size: 1.25em;
	--typography-spacing-vertical: .5rem;
}

h5 {
	font-size: 1.125em;
	--typography-spacing-vertical: .5rem;
}

p {
	font-family: var(--text-font);
	margin-bottom: var(--typography-spacing-vertical);
}

em {
	font-style: italic;
}

small {
	font-size: .825em;
}

[type=checkbox],
[type=radio] {
	--border-width: 2px;
}

[type=checkbox][role=switch] {
	--border-width: 3px;
}

thead th,
thead td,
tfoot th,
tfoot td {
	--border-width: 3px;
}

:not(thead):not(tfoot)>*>td {
	--font-size: 0.875em;
}

pre,
code,
kbd,
samp {
	--font-family: "Menlo", "Consolas", "Roboto Mono", "Ubuntu Monospace", "Noto Mono", "Oxygen Mono", "Liberation Mono", monospace, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
}

kbd {
	--text-font-weight: var(--heading-font-weight);
}

/* custom dropdown - same on all things... */

select,
textarea {
	padding: var(--half-spacing);
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	border-radius: 0;
	border: 1px solid var(--border-color);
}

select {
	background: url(data:image/svg+xml;base64,PHN2ZyBpZD0iTGF5ZXJfMSIgZGF0YS1uYW1lPSJMYXllciAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0Ljk1IDEwIj48ZGVmcz48c3R5bGU+LmNscy0xe2ZpbGw6I2ZmZjt9LmNscy0ye2ZpbGw6IzQ0NDt9PC9zdHlsZT48L2RlZnM+PHRpdGxlPmFycm93czwvdGl0bGU+PHJlY3QgY2xhc3M9ImNscy0xIiB3aWR0aD0iNC45NSIgaGVpZ2h0PSIxMCIvPjxwb2x5Z29uIGNsYXNzPSJjbHMtMiIgcG9pbnRzPSIxLjQxIDQuNjcgMi40OCAzLjE4IDMuNTQgNC42NyAxLjQxIDQuNjciLz48cG9seWdvbiBjbGFzcz0iY2xzLTIiIHBvaW50cz0iMy41NCA1LjMzIDIuNDggNi44MiAxLjQxIDUuMzMgMy41NCA1LjMzIi8+PC9zdmc+) #fff no-repeat right .5em center;
	padding-right: 2em;
	padding-left: .5em;
	display: inline;
	max-width: 100%;
	border: 1px solid var(--border-color);
	border-radius: var(--border-radius);
	color: var(--text-color);
	font-size: 1rem;
	font-family: var(--text-font);
	cursor: pointer;
}

/* Articles
------------------------------------------------------- */

/*articles - may require many unsets for other things... */

#pm .artp ul {
	list-style-type: disc;
	padding-inline-start: 2em;
	margin-block-start: 1em;
	margin-block-end: 1em;
	font-size: 1em;
}

#pm .artp ul ul,
#pm .artp ul ul ul {
	margin-block-start: 0em;
	margin-block-end: 0em;
}

#pm .artp ul li {}

#pm .artp ul.nobullets {
	list-style-type: none;
	margin: .5em 0;
}

#pm .artp ol {
	font-size: 1.2em;
	list-style-type: decimal;
	padding-inline-start: 2em;
	margin-block-start: 1em;
	margin-block-end: 1em;
}

#pm .artp ol li {}

#pm .artp ol ol,
#pm .artp ol ol ol {
	margin-block-start: 0em;
	margin-block-end: 0em;
}

#pm .artp a {
	font-weight: 500;
}

#pm .artp a:hover {
	text-decoration: underline;
	text-decoration-color: var(--text-decoration-color);
}

/* Buttons 
------------------------------------------------------- */

.submit,
a.btn {
	display: inline-block;
	vertical-align: middle;
	font-size: 1em;
	font-weight: var(--button-font-weight);
	text-align: center;
	cursor: pointer;
	font-family: var(--button-font);
	text-transform: capitalize;
	background-color: var(--button-color);
	color: var(--button-text-color);
	border: 1px solid var(--button-border-color);
	border-radius: var(--border-radius);
	outline: none;
	padding: var(--half-spacing) var(--spacing)
}

.submit:hover,
a.btn:hover {
	text-decoration: none;
	background-color: var(--button-hover-color);
	color: var(--button-hover-text-color);
	border: 1px solid var(--button-hover-border-color);
}

/* iphone specific overrides */

textarea,
input.text,
input.inputtext,
input.inputtext_short,
.ui-widget select,
input[type="text"],
input[type="email"],
input[type="button"],
input[type="submit"],
input[type="image"],
input#searchbox,
.input-checkbox {
	/* -webkit-appearance: none; */
	font-size: 16px;
	font-weight: 400;
	padding: var(--half-spacing);
	width: auto;
	border-width: 1px;
	border-style: solid;
}

td a.btn {
	display: block;
}

input.inputtext,
input.inputtext_light {
	font-size: 1rem;
	padding: var(--half-spacing);
	border: 1px solid var(--border-color);
	border-radius: var(--border-radius);
	color: var(--text-color);
}

/* Tables 
------------------------------------------------------- */

/* Headings 
------------------------------------------------------- */

.deptprods h3,
.carousel.prod h2,
.header h2,
.header h3,
.depttree h4.tagline{
	font-size: 1.5em;
	/* margin: 2rem 0; */
	padding:.5em;
	margin-bottom: 2rem;
	position: relative;
	z-index: 1;
	overflow: hidden;
	text-align: center;
	background-color:var(--featured-color);
	border-bottom: 2px var(--featured-alt-color) solid;
	color:var(--featured-text-color);
}

/* -------------------------------------------------------------------------------------
=Grid Layout
------------------------------------------------------------------------------------- */

#pm .pmind {
	display: grid;
	grid-template-columns: repeat(60, minmax(0, 1fr));
	grid-gap: var(--spacing);
	grid-auto-flow: dense;
	/*don't put margin here*/
}

/*this would be avoided if we just wrote the content out in blocks
would be also better if we could add our own "blocks" for things to be in
you currently can't have a banner and an article side by side because of this */

#pm .pmind .pbnr {
	grid-column: 1/-1;
}

#pm .pmind .pbnr {
	display: grid;
	grid-template-columns: repeat(60, minmax(0, 1fr));
	grid-gap: var(--spacing);
	grid-auto-flow: dense;
}

/*set the default for any non grid class article #pm is needed as the css class is set higher than the immediate parent container */

.art,
.prdlst,
.carousel,
.brnd,
#depts {
	grid-column: 1/-1;
}

.fullWidth img,
.halfWidth img,
.halfWidthDbl img,
.thirdWidth img,
.hpLink img,
.quarterWidth img,
.twoThirdWidth img,
.fullWidth picture,
.halfWidth picture,
.halfWidthDbl picture,
.thirdWidth picture,
.hpLink picture,
.quarterWidth picture,
.twoThirdWidth picture {
	display: block;
	width: 100%;
	height: auto;
}

/* layout base classes
------------------------------------------------------- */

.fullWidth {
	grid-column: 1/-1;
}

.titleArticle {
	grid-column: 1/-1;
	text-align: center;
}

.halfWidth {
	grid-column: auto / span 30;
}

.halfWidthDbl {
	position: relative;
	grid-column: auto / span 30;
	grid-row: span 2;
}

.quarterWidth {
	grid-column: auto / span 15;
}

.threeQuarter{
	grid-column: auto / span 45;
}

.deptsingle,
.thirdWidth,
.hpLink{
	grid-column: auto / span 20;
}

.twoThirdWidth {
	grid-column: auto / span 40;
}

.fifthWidth{
	grid-column: auto / span 12;
}

.fullWidth,
.halfWidth,
.quarterWidth,
.threeQuarter,
.thirdWidth,
.twoThirdWidth {
	position: relative;
	border-radius: var(--border-radius);
	/* border: 1px solid var(--border-color); */
}

.fullWidth img,
.halfWidth img,
.quarterWidth img,
.threeQuarter img,
.thirdWidth img,
.twoThirdWidth img{
	width:100%;
	
}

.imageText,
.textImage,
.deptfooter {
	grid-column: 1/-1;
	width: unset;
	padding: 0;
	display: grid;
	grid-gap: 1em;
	grid-template-columns: auto auto;
	width: 100%;
	max-width: var(--site-max-width);
	margin: auto;
}

.imageText .imgcont {
	grid-column: 1;
}

.imageText .artp {
	grid-column: 2;
}

.textImage .artp {
	grid-column: 1;
	grid-row: 2;
}

.textImage .imgcont {
	grid-column: 2;
	grid-row: 2;
}

.imageText h2,
.textImage h2 {
	grid-column: 1/-1;
}

.deptHeader h2{
		font-size: 1.5em;
	/* margin: 2rem 0; */
	padding:.5em;
	margin-bottom: 2rem;
	position: relative;
	z-index: 1;
	overflow: hidden;
	text-align: center;
	background-color:var(--featured-color);
	border-bottom: 2px var(--featured-alt-color) solid;
	color:var(--featured-text-color);
}

/* responsive iframe - used in articles*/

.responsive-iframe {
	width: calc(100% - 2em);
	margin: 1em;
	display: inline-block;
	vertical-align: top;
	margin-top: 2em;
}

.responsive-iframe .artp,
.responsive-iframe {
	position: relative;
	overflow: hidden;
	padding-top: 56.25%;
}

.responsive-iframe iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

.blog .fullWidth,
.blog .halfWidth,
.blog .quarterWidth,
.blog .thirdWidth,
.blog .twoThirdWidth {
	position: relative;
	border-radius: var(--border-radius);
	border: 1px solid var(--border-color);
	border: 0;
	/* added to ensure carousel elements work right in firefox */
	display: grid;
	grid-template-columns: 100%;
}

.blog .form {
	grid-column: 1/-1;
}

/* -------------------------------------------------------------------------------------
=SiteContainers
------------------------------------------------------------------------------------- */

#cont {
	margin: auto;
}

#site {
	background-color: var(--background-color);
}

/* -------------------------------------------------------------------------------------
=FIXEDTop Panel #ptf
------------------------------------------------------------------------------------- */

#ptf {
	top: 0px;
	width: 100%;
	background-color: var(--top-bar-color);
	border-bottom: 2px var(--featured-alt-color) solid;
	color: var(--featured-text-color);
	text-align: center;
}

/*hide on checkout process */

.chkflow #ptf {
	display: none;
}

#ptf .ext {
	/* padding:.25rem; */
	display: grid;
	grid-template-areas: ". vat info .";
	--spacerwidth: calc((100% - var( --site-max-width)) / 2);
	grid-template-columns: var(--spacerwidth) 1fr 1fr var(--spacerwidth);
	align-items: center;
}

#p52166656,
#p42500109 {
	grid-area: info;
	text-align: right;
	font-size:small;
}

#ptf .info ul {}

#ptf .info li {
	display: inline-block;
	vertical-align: middle;
	margin: var(--half-spacing);
	text-align: center;
	text-transform:capitalize;
}

#ptf .info .icon a.img {
	grid-area: icon;
	display: inline-block;
	vertical-align: middle;
	margin-right: .5rem;
}

#ptf .info .icon .img img {
	display: block;
	max-height: 1rem;
	width: auto;
}

#ptf .info .icon a.lnk {
	display: inline-block;
	vertical-align: middle;
}

/* -------------------------------------------------------------------------------------
=Top Panel #pt
------------------------------------------------------------------------------------- */

:root {
	--basket-width: 250px;
}

#pt {
	width: 100%;
	margin: auto;
	background-color: var(--top-panel-color);
}

/*see media queries for other layouts layout */
#pt .ext {
		/* spacer width is used on wider view ports to keep top panel central */
		--spacer-width: calc((100% - var(--site-max-width)) / 2);
		--logo-width: 300px;
		--search-width:300px;
		--icons-width: 242px;
		--gap-width:calc((100% - (var(--logo-width) + var(--search-width) + var(--basket-width) + var(--icons-width))) /3);
		--left-gap:calc( (50% - var(--search-width)) - (var(--logo-width)/2) - var(--spacer-width));
		--right-gap:calc( (50% - var(--basket-width) - var(--icons-width)) - (var(--logo-width)/2) - var(--spacer-width));
		background-color: var(--top-panel-color);
		margin: 0 auto;
		position: relative;
		display: grid;
		grid-column-gap: 0rem;
		grid-template-columns: 
			var(--spacer-width) 
				var(--search-width) 
				var(--left-gap)
				var(--logo-width) 
				var(--right-gap)
				var(--icons-width) 
				var(--basket-width) 
			var(--spacer-width);
		grid-template-areas: 
			". search .  logo .  icons basket  ." 
			 "nav nav  nav nav nav nav nav nav";
		align-items: center;
		position:relative;
	}

#pt .ext>* {
	min-width: 0;
}

/* defaults */
li.pipe{
	display:none;
}

/* fake search toggle, hidden by default - requires an article creating as the COMS implementation doesnt work! */
#a132251648 {
	display: none;
}

/* logo
------------------------------------------------------- */

#pt .pbnr {
	grid-area: logo;
	padding: 3em 0em;
}

#pt .pbnr img {
	margin: 0 auto;
	width:100%;
}

#pt .pbnr a.txt {
	display: none;
}

/* search
------------------------------------------------------- */
#pt .search {
	grid-area: search;
	text-align: center;
	font-size: 16px;
	padding: 0;
	/* width: calc(100% - 2em); */
}

#pt .search form {
	background-color: var(--white);
	border-radius: var(--border-radius);
	border: 1px var(--black) solid;
}

#pt .search input {
	display: inline-block;
	vertical-align: top;
}

#pt .search input#searchbox {
	width: calc(100% - 2.5rem);
	background-color: transparent;
	margin: auto;
	font-size: 16px;
	padding: .5rem .5rem;
	border: none;
}

#pt .search input#searchbox:focus-visible {
	border: none;
	outline: none;
}

/*could do with some way of nicely seeing font awesome icons in coms */
#pt .search input#search {
	width: auto;
	margin: 0;
	padding: .5rem .75rem;
	background-color: transparent;
	color: var(--black);
	font-family: var(--font-awesome);
	border: none;
}

/* Icons
------------------------------------------------------- */

#p52166663,
#p52133888{
	grid-area:icons;
}

#p52166663 .icon a.img,
#p52133888 .icon a.img{
	grid-area:icon;
	display:block;
}

#p52166663 .icon .img img,
#p52133888 .icon .img img{
	display:block;
	max-height:1.5rem;
	width:auto;
}

#p52166663 ul,
#p52133888 ul{
	display:grid;
	grid-template-columns: auto auto auto;
	align-items:center;
	grid-template-areas:"phone account favourites";
}

#p52166663 li.icon,
#p52133888 li.icon {
	display:grid;
	grid-template-columns:1fr;
	grid-template-areas:
		"icon"
		"text";
	/* margin:var(--spacing); */
	text-align:center;
	
	margin-right:1rem;
}

#p52166663 li.icon:last-of-type,
#p52133888 li.icon:last-of-type{
	margin-right:0;
}

/*first one will be phone - requires different styling */
#p52166663  li:first-child,
#p52133888  li:first-child{
	grid-area:phone;
	grid-template-columns:2em 12ch;
	grid-template-areas:
		"icon text";
	grid-gap:var(--half-spacing);
	align-items:center;
}

#p52166663 a.lnk,
#p52133888 a.lnk,
#p52166663 .sout,
#p52133888 .sout{
	display:none
}



/* QuickOrder
------------------------------------------------------- */
.qord {
	display:none !important;
}

/* Basket
------------------------------------------------------- */
#pt .bskt {
	grid-area: basket;
	border-radius: var(--border-radius);
}

#pt .bskt img {
	margin: 0;
}

#mybskt p,
#mybskt h4 {
	color: var(--black);
	font-weight: 600;
	padding: 0;
	margin: 0;
}

#pt .bskt #mybskt {
	padding: 0em .5em;
	text-align: center;
	align-items: center;
	background-color: var(--transparent);
	color: var(--pink);
	border-radius: var(--border-radius);
	display: grid;
	grid-template-columns: 2em auto auto;
	grid-template-areas:
		"icon items value"
		" icon freeshipping freeshipping";
	grid-column-gap: 1em;
}

#pt .bskt #mybskt p {
	font-size: .925em;
	font-family: var(--heading-font);
	margin: 0;
	padding: 0;
	line-height: 1;
}

/*items in basket */
#bsktitems,
a.bsktitems {
	grid-area: items;
}

#bsktitems span {
	color: var(--black);
}

#bsktvalue,
a.bsktvalue {
	grid-area: value;
}

#bsktvalue span {
	color: var(--black);
}

/*we should show this button at all times and not just when there is something in the basket
hiding until sorted properly */
#pt .bskt #mybskt a.btn,
#pt .bskt #mybskt img.btn {
	display: none;
}

#pt .bskt #mybskt a.btn:hover {
	background-color: transparent;
}

#pt .bskt #mybskt a.btn img {
	margin: 0;
}

#pt .bskt h4 {
	grid-area: freeshipping;
	font-size: .725rem;
	text-align: center;
	margin: 0;
	align-self: end;
}

/* client specific 
------------------------------------------------------- */

/* -------------------------------------------------------------------------------------
=Center Panel #pc
------------------------------------------------------------------------------------- */

#pc {
	margin: auto;
	display: flow-root;
	text-align: center;
	max-width:var(--site-max-width);
	background-color:var(--white);
}

.home #pc{
	margin-top:1rem;
}

#pc .bnr{
	margin-bottom:1rem;
}

/* -------------------------------------------------------------------------------------
=Main Panel #pmid
------------------------------------------------------------------------------------- */

#pmid {
	width: 100%;
	margin: auto;
	background-color: var(--main-panel-color);
	/*used to ensure left panel displays correctly, unsure why though... */
	display: flex;
	justify-content: flex-start;
	min-height: 85vh;
	padding-top:1em;
}

/* filter search results? 
------------------------------------------------------- */

#fs {
	display: none;
}

/* full width panel 
------------------------------------------------------- */

.pmfull {
	margin: 0 auto;
	position: relative;
	/*padding should be put in media queries */
	width: var(--site-max-width);
	background-color: var(--main-panel-color);
}

/* left panel - when filter is in use
------------------------------------------------------- */

#pl {
	width: 0px;
	transition: var(--transition);
}

/* Right panel
------------------------------------------------------- */

#pr {
	width: var(--right-panel-width);
	margin: 0;
	margin-right: auto;
	margin-left: 1rem;
	vertical-align: top;
}

/* wide panel (used if left or right panels exist 
------------------------------------------------------- */

.pmwide {
	background-color: var(--main-panel-color);
	width: var(--site-max-width);
	display: inline-block;
	vertical-align: top;
	margin: 0;
	margin-left: auto;
}

.pmstd {
	width: var(--site-max-width);
}

/*no idea what #fs if for*/

#pl+#fs+.pmwide,
#pl+.pmwide {
	/* margin-left:0; */
	margin-right: auto;
}

/* -------------------------------------------------------------------------------------
=Footer Panel #pf
------------------------------------------------------------------------------------- */

#pf {
	width: 100%;
	margin: auto;
	margin-top: 1em;
	background-color: var(--footer-panel-color);
}

#pf .ext {
	margin: 0 auto;
	position: relative;
	/*padding should be put in media queries */
	max-width: var(--site-max-width);
	width: 100%;
	padding: 0;
	padding-top: 2em;
	padding-bottom: 2em;
}

#pf .carousel {
	margin-bottom: 2em;
}

#pf .arts {
	display: grid;
	grid-template-columns: repeat(60, minmax(0, 1fr));
	grid-gap: var(--spacing);
	grid-auto-flow: dense;
	/*don't put margin here*/
}

#pf .imgcont {
	outline: 2px solid var(--white);
	outline-offset: -1em;
	position: relative;
}

#pf .imgcont div {
	font-family: var(--heading-font);
	padding: 1rem 1.5rem;
	display: inline-block;
	position: absolute;
	bottom: 0;
	right: 0;
	font-size: 1.5em;
}

/* Newsletter 
------------------------------------------------------- */

.news {
	grid-area: subscribe;
	grid-column:1/-1;
	text-align: center;
	width: 50%;
	margin: auto;
}

 .news h3 {
	margin-bottom: 1em;
}

 .news form {
	text-align: left;
	align-self: center;
}

.news_input_container {
	display: grid;
	grid-template-areas: "email subscribe";
	grid-template-columns: 1fr auto;
}

#pf .ext .news label {
	display: none;
}

#pf .ext .news input#email {
	grid-area: email;
	padding: 1em;
	border: 1px var(--border-color) solid;
	border-radius: var(--border-radius);
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
	border-right: 0;
}

#pf .ext .news input#subscribe {
	grid-area: subscribe;
	padding: 1em 3em;
	border-radius: var(--border-radius);
	border-top-left-radius: 0;
	border-bottom-left-radius: 0;
	color: var(--white);
	background-color: var(--red);
	border-color: var(--red);
}

/* client specific 
------------------------------------------------------- */

/* -------------------------------------------------------------------------------------
=Bottom Panel #pb
------------------------------------------------------------------------------------- */

#pb {
	width: 100%;
	margin: auto;
}

/* Info defaults 
------------------------------------------------------- */

/* hide icons if present on info links */
#pb .info li.icon img {
	display: none;
}

#pb .info h3 {
	font-size: 1.5em;
	/* font-family:var(--text-font); */
	text-transform: capitalize;
	margin-bottom: 2.5rem;
	color: var(--bottom-panel-heading-color);
}

#pb .info p {
	color: var(--bottom-panel-text-color);
}

#pb .info ul {
	padding: 0;
}

#pb .info li {
	list-style: none;
	font-size: 1em;
	color: var(--bottom-panel-text-color);
	padding: 0;
	padding-bottom: .5em;
}

/*old stuff we don't want written out*/
#pb li.pipe {
	display: none;
}

ul.inline,
ul.socials,
ul.contacts {
	margin-left: 0;
	padding-left: 0;
	list-style: none;
}

ul.inline li {
	display: inline-block;
	padding-right: .5em;
}

/* Article defaults 
------------------------------------------------------- */

/* hide icons if present on info links */

#pb .art li.icon img {
	display: none;
}

#pb .art h2 {
	font-size: 1.5em;
	/* font-family:var(--text-font); */
	text-transform: capitalize;
	margin-bottom: 2.5rem;
	color: var(--bottom-panel-heading-color);
}

#pb .info p {
	color: var(--bottom-panel-text-color);
}

/* client specific 
------------------------------------------------------- */

#pb .ext {
	z-index:1;
	--spacer-width: calc((100% - var( --site-max-width)) / 2);
	background-color: var(--bottom-panel-color);
	margin: 0 auto;
	padding-top: 2em;
	padding-bottom: 2em;
	position: relative;
	display: grid;
	grid-gap: 2em;
	align-items: start;
	grid-template-columns: var(--spacer-width) repeat(4, 1fr) 1.5fr var(--spacer-width);
	grid-template-areas:
		". about information account saleshelp  details."
		". payment payment payment payment details .";
	color: var(--white);
}


#p16613383,
#p42500102 {
	grid-area: about;
}

#p16613384,
#p42500103 {
	grid-area: information;
}

#p16613385,
#p42500104 {
	grid-area: account;
}


#p16613386,
#p42500105 {
	grid-area: saleshelp;
}


#a109477890{
	grid-area:details;
}

#a109477890 li {
	list-style: none;
	/* margin: 0 1em; */
}




/* -------------------------------------------------------------------------------------
=FIXEDBottom Panel #pbf
------------------------------------------------------------------------------------- */

#pbf {
	background-color: var(--bottom-bar-color);
	font-size: .725em;
}

#pbf .ext {
	--spacer-width: calc((100% - var( --site-max-width)) / 2);
	margin: 0 auto;
	position: relative;
	display: grid;
	/* padding-top:1em; */
	/* padding-bottom:1em; */
	text-align: center;
	color: var(--white);

	grid-template-areas:". links copyright  payment .";

	grid-template-columns: var(--spacer-width) 1fr 1fr 1fr var(--spacer-width);
}

#pbf p {
	margin: 0;
}

#p52166670,
#p42500107{
	grid-area:links;
	text-align:left;
}

#p52166670 li,
#p42500107 li{
	display:inline-block;
	margin:.5em 1em;
}

#a109477889{
	grid-area:payment;
	text-align:right;
}

.etailcopy{
	grid-area:copyright;
}


#a109477889 .imgcont{
	display:inline-block;

	
}
#a109477889 img{
	max-height:30px;
	width:auto;
}

/* cookie popup
------------------------------------------------------- */

#pbf .cookie {
	position: fixed;
	bottom: 0%;
	left: 0%;
	width: 100%;
	z-index: 1000;
	background: var(--black);
	text-align: center;
}

#pbf .cookie p {
	margin: 0 auto;
	float: none;
	color: var(--bottom-bar-text-color);
	padding: .5em 0
}

#pbf .cookie p a {
	float: none;
	color: var(--bottom-bar-text-color);
	text-decoration: underline;
	/* padding: 0 5px; */
}

#pbf .cookie img {
	float: none;
	display: inline-block;
	vertical-align: middle;
	margin-left: 10px
}

#pbf .cookie img:hover {
	cursor: pointer
}

/* -------------------------------------------------------------------------------------
=Breadcrumb	 
------------------------------------------------------------------------------------- */

.page_home .bdcb,
.home .bdcb {
	display: none;
}

.bdcb {
	width: var(--site-max-width);
	margin: auto;
	text-align: left;
}

.crumb {
	display: block;
	/* text-align: center; */
	margin: 0 var(--half-spacing);
}

.bdcb ul li {
	list-style: none;
	display: inline-block;
	margin: 0;
}

.bdcb ul li img{
	display:none;
}

.bdcb li a,
.bdcb li h1,
.bdcb li h3 {
	font-family: var(--text-font);
	color: var(--text-color);
	font-size: .825rem;
	padding: 0;
	margin: 0;
	display: inline-block;
}

/*active page */

.bdcb li h1,
.bdcb li h3 {
	font-size: .825rem;
	margin: 0;
	color: var(--text-color);
}

/*for the break between the crumb*/

.bdcb li:after {
	display: inline-block;
	font-family: var(--font-awesome);
	color: var(--text-color);
	font-size: .6rem;
	font-weight: normal;
	content: "\f054";
	margin: .5rem;
}

.bdcb li:last-child:after {
	content: "";
	margin: 0;
	display: none;
}

.bdcb span {
	display: inline-block;
	margin: 0;
}

.bdcb h1 {}

/* -------------------------------------------------------------------------------------
=OwlCarousel Overrides
------------------------------------------------------------------------------------- */

/* base settings */

.carousel {
	position: relative;
	/*these are needed to prevent firefox messing things up - otherwise we need to use specific sizes for grid layouts */
	max-width: 100%;
	grid-column: 1/-1;
}

.owl-stage-outer {}

/* this should be the title for the carousel */

.carousel h2 {}

.carousel:hover {
	cursor: -moz-grab;
	cursor: -webkit-grab;
	cursor: grab;
}

.noNav .owl-controls {
	display: none;
}

.owl-controls {
	text-align: center;
}

.owl-nav {}

.owl-dot {
	display: inline-block;
	vertical-align: top;
	text-align: center;
}

.owl-dot span {
	display: inline-block;
	vertical-align: top;
	width: 0.825em;
	height: .825em;
	margin: .5em;
	border-radius: 50%;
}

.owl-dot.active span,
.owl-dot:hover span {}

.owl-theme .owl-controls {
	position: absolute;
	top: 0%;
	left: 0%;
	width: 100%;
	height: 100%;
	pointer-events: none;
}

.owl-theme .owl-nav {
	text-align: center;
	-webkit-tap-highlight-color: transparent;
}

.owl-nav .owl-prev,
.owl-nav .owl-next {
	position: absolute;
	font-size: 2em;
	font-weight: 600;
	font-family: var(--heading-font);
	margin: .25rem;
	padding: .5rem;
	background: var(--featured-alt-color);
	display: block;
	cursor: pointer;
	color: var(--background-color);
	opacity: .8;
	pointer-events: auto;
}

.owl-prev {
	top: calc(50% - 1em);
	left: 0em;
}

.owl-next {
	top: calc(50% - 1em);
	right: 0em;
}

.owl-nav .owl-prev:hover,
.owl-nav .owl-next:hover {
	text-decoration: none;
	opacity: 1;
}

/* -------------------------------------------------------------------------------------
=Swiffy Slider
------------------------------------------------------------------------------------- */

.swiffy-slider {}

.swiffy-slider ul,
.swiffy-slider li {}

.swiffy-slider .slidecont p {
	padding: 0;
	margin: 0;
}

.slider-product {
	--swiffy-slider-item-count: 5;
}

.slider-cta {
	--swiffy-slider-item-count: 3;
}

.slider-dept {
	--swiffy-slider-item-count: 5;
	--swiffy-slider-nav-light: #fff;
}

.slider-dept-alt {
	--swiffy-slider-item-count: 10;
}

.slider-featured {
	--swiffy-slider-item-count: 5;
}

/* product sliders - code needs some tweaking */

.carousel.prod h2 {
	text-align: center;
	padding: .5rem;
	margin-bottom: 1rem;
}

.carousel.prod .swiffy-slider {
	--swiffy-slider-item-count: 5;
}

/* department sliders - code needs some tweaking */

.carousel.dept .swiffy-slider {
	--swiffy-slider-item-count: 4;
}

.carousel.dept .deptlink a.txt {}

/* -------------------------------------------------------------------------------------
=Blog
------------------------------------------------------------------------------------- */

#site.blog #pm {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	grid-gap: var(--spacing);
	grid-auto-flow: dense;
	grid-auto-rows: min-content;
}

/* Blog previews
------------------------------------------------------- */

#pm .blog:not(.art) {
	border-radius: var(--border-radius);
	display: grid;
	grid-template-columns: 1fr;
	grid-template-areas: "image" "title" "date" "readmore";
	background-color: var(--off-white);
	padding-bottom: 1em;
}

#pm .blog:not(.art) a.img {
	grid-area: image;
	border-bottom: 3px white solid;
}

#pm .blog:not(.art) a.img img {
	width: 100%;
	height: auto !important;
}

#pm .blog:not(.art) a.title {
	grid-area: title;
	font-family: var(--heading-font);
	color: var(--text-heading-color);
	text-align: center;
	padding: 1rem;
	font-size: 1.25em
}

#pm .blog:not(.art) p.date {
	grid-area: date;
	text-align: center;
	color: var(--text-color);
}

#pm .blog:not(.art) a.more {
	grid-area: readmore;
	margin: auto;
	padding: .5rem 2rem;
	background-color: var(--button-color);
	color: var(--button-text-color);
	font-family: var(--heading-font);
	text-align: center;
	font-size: 1.125em;
	border-radius: var(--border-radius);
}

/*blog summary text - not wanted for this client */

#pm .blog:not(.art) .artp {
	display: none;
}

/* Blog Posts
------------------------------------------------------- */

.art.blog {}

.art.blog h2 {
	text-align: center;
	color: var(--text-heading-color);
}

.art.blog .imgcont {
	margin: 2em 0;
}

.art.blog .imgcont img {
	border-radius: var(--border-radius);
}

/* Blog navigation buttons
------------------------------------------------------- */

.blogBtns {
	grid-column: 1/-1;
	display: grid;
	grid-template-areas: "prev next";
}

.blogBtns a.prev {
	grid-area: prev;
	background-color: var(--button-color);
	color: var(--button-text-color);
	text-align: center;
	border-radius: var(--border-radius);
	margin-right: auto;
	padding: .5rem 2rem;
}

.blogBtns a.next {
	grid-area: next;
	background-color: var(--button-color);
	color: var(--button-text-color);
	text-align: center;
	border-radius: var(--border-radius);
	margin-left: auto;
	padding: .5rem 2rem;
}

/* blog widget
------------------------------------------------------- */

.blogs {
	grid-column: 1/-1;
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-gap: 2em;
	padding: 2em;
}

#pm .blogs .blog:not(.art) a.title {
	grid-area: title;
}

/* Blog  widget previews
------------------------------------------------------- */

#pm .blogs .blog {
	border-radius: var(--border-radius);
}

#pm .blogs .blog img {
	border-top-left-radius: var(--border-radius);
	border-top-right-radius: var(--border-radius);
}

#pm .blog:not(.art) a.title {
	grid-area: title;
}

#pm .blogs .blog:not(.art) p.date {
	grid-area: date;
	display: none;
}

#pm .blogs .blog:not(.art) a.more {
	grid-area: readmore;
}

/* -------------------------------------------------------------------------------------
=SearchHeader / SearchFooter 
------------------------------------------------------------------------------------- */

.deptwrap {}

.searchheader {
	display: grid;
	grid-template-columns: 1fr auto;
	grid-template-areas: "items filter sort-by itemsperpage";
	grid-gap: 1em;
	align-items: center;
	/* height:36px; */
	z-index: 99;
	background-color: var(--main-panel-color);
}

.searchheader .search {
	/* for unknown reasons we re-write out the searchbox in the search header*/
	display: none !important;
}

.searchheader label {
	font-family: var(--text-font);
	font-weight: normal;
	font-size: .825rem;
	margin: 0;
	margin-right: .5rem;
}

.searchheader .paging {
	/*important needed as something shoves an inline style there!*/
	display: none !important;
}

.searchheader {

}

/* results found */

.searchheader h5#rescou {
	grid-area: items;
	font-family: var(--text-font);
	font-weight: normal;
	font-size: .825rem;
	margin: 0;
}

/* sort by */

.searchheader #sorpan,
.searchheader form[name="dispord"] {
	grid-area: sort-by;
	margin: 0;
}

/* results per page */

.searchheader #rpppan,
.searchheader .rpp {
	margin: 0;
	grid-area: itemsperpage;
}

/*paging */

.paging {
	grid-area: paging;
	text-align: center;
}

/*writing out "page" is a little daft */

.paging label {
	display: none;
}

.paging span,
.paging a {
	font-size: 1em;
	display: inline-block;
	margin-right: .5em;
	border: 1px solid var(--border-color);
	border-radius: .25rem;
	padding: var(--half-spacing);
}

.paging span:last-child,
.paging a:last-child {
	margin-right: 0;
}

/*this should be the current page */

.currpg {
	font-weight: var(--heading-font-weight);
}

.searchfooter {
	padding: .5em;
	text-align: center;
	margin: 1em 0;
}

#sr {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	grid-column-gap: var(--grid-spacing-horizontal);
	grid-row-gap: var(--grid-spacing-vertical);
	position: relative;
	margin: 1em 0;
}

.pmwide #sr {
	grid-template-columns: repeat(5, 1fr);
}

/* -------------------------------------------------------------------------------------
=FilterSearch 
------------------------------------------------------------------------------------- */

#pl .filter {
	height: 100%;
	width: 0%;
	position: fixed;
	z-index: 10001;
	top: 0px;
	left: 0px;
	background-color: var(--popout-color);
	overflow-x: hidden;
	transition: var(--transition);
	box-shadow: var(--box-shadow);
	padding: .5em 1rem;
	display: none;
}

#pl .filter::-webkit-scrollbar {
	width: 10px;
}

#pl .filter::-webkit-scrollbar-track {
	background: var(--off-white);
}

/* Handle */

#pl .filter::-webkit-scrollbar-thumb {
	background: var(--grey);
}

/* Handle on hover */

#pl .filter::-webkit-scrollbar-thumb:hover {
	background: var(--dark-grey);
}

#fstrigbtn {
	display: block;
}

#pl .filter.showfilter {
	display: block;
	width: 50%;
	max-width: 300px;
}

.filter .bt {}

.filter .bt h3 {
	font-weight: var(--heading-font-weight);
	font-size: 1.25rem;
}

.longattrsection .items {
	overflow-x: hidden;
	-ms-overflow-x: scroll;
	margin-bottom: 1rem;
}

.HeaderContent h5 {
	font-size: 1rem;
}

.collapsed h5 {}

.collapsed h5:hover {}

.items {}

.citem {
	padding: var(--spacing) 0;
	font-family: var(--sub-heading-font);
	margin: 0;
	cursor: pointer;
	text-align: left;
}

.citem::before,
.citemselected::before {
	font-family: var(--font-awesome);
	margin-right: .5rem;
	font-size: 1.25rem;
	display: inline-block;
	vertical-align: middle;
}

.citem::before {
	content: '\f0c8';
}

.citemselected::before {
	content: '\f14a';
	color: var(--green);
	font-weight: 600
}

.citem:empty {
	display: none;
}

.citem:hover {}

.citemselected:hover {}

/* price slider 
------------------------------------------------------- */

/* should be a toggle in coms to turn this on or off - also could do with a class on it for better targeting purposes */

div[sectiontype="priceslider"] {
	display: none;
}

.mnu_filter_search {
	display: grid;
}

div[sectiontype="Refine by Colour"] {
	grid-row: 1;
}

.longattrsection .items {
	overflow-x: hidden;
	-ms-overflow-x: scroll;
	margin-bottom: 1rem;
}

.attrsection {}

.filter .HeaderContent {
	padding: var(--spacing) 0;
	position: relative;
	cursor: pointer;
	display: grid;
	align-items: center;
	grid-template-columns: 1fr 1rem;
	border-bottom: 1px solid var(--border-color)
}

.HeaderContent:after {
	content: '\f107';
	font-family: var(--font-awesome);
	font-size: 1rem;
}

.HeaderContent.collapsed:after {
	content: '\f106';
}

.HeaderContent h5 {
	margin: 0;
	font-size: 1rem;
	padding: 0;
	position: relative;
	cursor: pointer;
}

.items {}

#divPriceRangeDisplay {
	text-align: center;
	padding: var(--spacing);
}

#sldiv {
	margin: 1em;
}

/* filter buttons
------------------------------------------------------- */

.fltrattrbtn,
.resetfs {
	display: inline-block;
	vertical-align: middle;
	/* margin-right:.5rem; */
	/* margin-bottom:.5rem; */
	text-align: center;
	padding: var(--half-spacing) var(--spacing);
	border: 1px solid var(--border-color);
	border-radius: var(--border-radius);
	cursor: pointer;
}

#fstrigbtn {}

.fstrigspn {
	display: inline-block;
	vertical-align: middle;
	/* margin-right:.5rem; */
	/* margin-bottom:.5rem; */
	text-align: center;
	padding: var(--half-spacing) var(--spacing);
	border: 1px solid var(--border-color);
	border-radius: var(--border-radius);
	cursor: pointer;
	font-size: .825rem;
	font-family: var(--text-font);
	font-weight: var(--text-font-weight);
}

.fstrigspn:before {
	content: "\f1de";
	font-family: var(--font-awesome);
	display: inline-block;
	font-size: 1em;
	margin-right: .5rem;
}

/*as we currently write out TWO clear filter buttons*/

.resetfs+.resetfs,
.fltrattrbtn+.resetfs {
	display: none;
}

.fltrattrtxt,
.resetfs h5 {
	font-size: .825rem;
	font-family: var(--text-font);
	font-weight: var(--text-font-weight);
	margin: 0;
}

.fltrattrbtn {
	background-color: var(--light-grey);
	border-color: var(--light-grey);
}

.fltrattrtxt:after {
	content: "\0058";
	font-family: var(--font-awesome);
	display: inline-block;
	font-size: .725em;
	margin-left: .5rem;
}

/* close filter button */

.fsclsdiv {
	text-align: right;
}

.fsclsdiv .fsclsspn {
	border: 1px solid var(--black);
	color: var(--black);
	background-color: var(--off-white);
	border-radius: var(--border-radius);
	font-family: monospace;
	padding: .5em;
	cursor: pointer;
}

/* -------------------------------------------------------------------------------------
=Deptsingle  
------------------------------------------------------------------------------------- */

.deptsingle {
	position: relative;
	grid-column: auto / span 4;
}


.deptsingle .deptlink{
	text-align:center;

	display:grid;
	grid-template-areas:"image";
	border:1px solid var(--border-color);
}

.deptsingle .deptlink a.img{
	grid-area:image;
}

.deptsingle .deptlink a.txt{
	background-color:rgba(255, 255, 255, 70%);
	margin:auto;
	grid-area:image;
	outline: 1px solid var(--featured-alt-color);
	outline-offset: -1rem;
	padding:2rem 4rem;
	font-family:var(--heading-font);
	font-weight:var(--heading-font-weight);
	font-size:1.5em
	
}

.deptsingle img,
.deptsingle picture {
	display: block;
	width: 100%;
	height: auto;
}


.deptprods{
	grid-column:1/-1;
	position:relative;
	/* using grid display seems to break the swiffy element
	display:grid;
	grid-template-areas:"title"
	"products"
	"link"
	*/
}

.deptprods .carousel{
	margin-bottom:1em;
}

.deptprods a.seeall{
	grid-area:link;
	text-align:center;
	position:absolute;
	bottom:0;

	/*this is written out in the wrong place - also the title should already be a link to this */
	display:none;
}

/* -------------------------------------------------------------------------------------
=Subdepartment tree  
------------------------------------------------------------------------------------- */

.depttree {
	grid-column: 1/-1;
}

.depttree>.bt h3 {
	display: none;
}

.depttree {
	display: block;
}

.depttree ul {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	grid-gap: 1rem;
}

.depttree li {
	text-align:center;
	border:1px solid var(--border-color);

	display:grid;
	grid-template-areas:"image";
	align-items:end;
}

.depttree li a.img{
	grid-area:image;

}

.depttree li a.img img {
	width: 100%;
	margin: 0 !important;
	object-fit: cover;
}

.depttree li a.txt {
	grid-area:image;
	background-color:rgba(255, 255, 255, 50%);
	/* margin:auto; */
	padding:1rem 1rem;
	font-family:var(--heading-font);
	font-weight:var(--heading-font-weight);
	font-size:1.125em;
	min-height:2em;
	
	align-content:center;
}

/* -------------------------------------------------------------------------------------
=FeaturedProducts 
------------------------------------------------------------------------------------- */

/* Base settings
------------------------------------------------------- */

#deptlist .fprdcont,
#searchlist .fprdcont {}

.fprd {
	position: relative;
}

.fprd:hover {}

.fprd {
	display: grid;
	padding: .5em;
		background-color:var(--white);
	/* grid-row-gap: var(--half-spacing); */
	grid-template-columns: 1fr auto 1fr;
	/*use grid template areas */
	grid-template-areas:
		"image image image"
		"title title title"
		"client-ref client-ref client-ref"
		"carton-qty unit-price selling-price"
		"buy-pane buy-pane buy-pane";
	align-items: start;
}

.h3nostock {
	grid-column: 1/-1;
}

/* Overrides for if in a carousel element
------------------------------------------------------- */

.slider-container .fprd {}

.slider-container .fprd .prevprice,
.slider-container .fprd .saving {
	display: none;
}


/* Wishlist on fprd
------------------------------------------------------- */
.fprd .sfl{
	grid-area:unset !important;
	position:absolute;
	top:.5rem;
	right:.5rem;
	width:2.5rem;
	height:2.5rem;
	z-index:1;	

}

.fprd .sfl .submit {
	background-color:var(--featured-color);
	background-color:transparent;
	border:none;
	line-height:1;
}


.fprd .sfl .rsfl,
.fprd .sfl .asfl{
	display:grid;
	grid-template-areas:"button";
		align-content:center;
	align-items:center;
}

.fprd .sfl .rsfl .submit,
.fprd .sfl .asfl .submit{
	width: 2.5rem;
	height:2.5rem;
	grid-area:button;
	padding:2px;
}


/* image 
------------------------------------------------------- */

.fprd .fprdimg {
	grid-area: image;
	position: relative;
	display: grid;
	align-items: start;
}

.fprd .fprdimg img{
	margin:0;
	width:100%;
}

.fprd .fprdimg a {}

/*swap image shows on hover using visibility */
.fprd .fprdimg .swap{
	position:absolute;
	width:100%;
	
	opacity:0;
	transition: visibility 0s, opacity .25s linear;
}

.fprd .fprdimg .swap:hover{
	opacity:1;
	transition: visibility 0s, opacity 0.25s linear;

}

.fprd .fprdimg a {}

.fprd .fprdimg img {
	object-fit: cover;
	width: 100%;
	/*remove when we stop writing out inline styles - chase DH*/
	margin:0 !important;
}

.fprd .fprdimg img:hover {}

/* image flags
------------------------------------------------------- */

.fprdimg .flag {
	position: absolute;
	pointer-events: none;
	right:0;
}

.fprdimg .flag.newin {
	right: 0;
	top: 0;
	max-width: 6em;
}

/* title
------------------------------------------------------- */

.fprd .fprdtitle,
.fprd a.title {
	grid-area: title;
	text-align:center;
	color: var(--fprd-title-color);
	font-family:var(--heading-font);
	font-weight:var(--heading-font-weight);
	padding: .5em 0;
	font-size:20px;
	min-height:3em;
}

.fprd .fprdtitle span,
.fprd a.title span {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;	
}

#sr.listview .fprd .fprdtitle {
	height: auto;
	text-align: left;
}

.fprd .fprdtitle a.lnk,
.fprd a.title {}

/* strapline
------------------------------------------------------- */

.fprd .strap {
	grid-area: strap;
	display: none;
}

/* description - used for seo
------------------------------------------------------- */
.fprd .fprddescr {
	grid-area: description;
	display: none;
}

/* pricing structure
------------------------------------------------------- */
.fprd h6 {
	font-family: var(--text-font);
	margin: 0;
	padding: 0;
}

.fprd h6 span {
	font-size: small;
	display: block;
	color: var(--text-sub-heading-color);
}

.fprd label {
	margin: 0;
	padding: 0;
	font-size: small;
	color: var(--text-sub-heading-color);
}

.fprd .rrp {
	grid-area: prev-price;
}

.fprd .price {
	grid-area: selling-price;
	text-align: right;
}

.fprd .trade {
	grid-area: selling-price;
	text-align:right;
}



.fprd .offer:not(.flag) {
	grid-area: selling-price;
display:none;
}

/* if rrp is showing then don't show prev-price as its redundant here */
.fprd .rrp+.prevprice {
	display: none;
}

/*perhaps not show prev price here when savings % is showing ? */
.fprd .prevprice {
	display: none;
}

.fprd .prevprice h6 {
	text-decoration: line-through;
	text-decoration-color: var(--red);
}

.fprd .prevprice h6 span {
	display: none;
}

/* saving ribbon */
.fprd .saving {
	--featured-color: var(--featured-alt-color);
	/*funky ribbon effect courtesy of freecodecamp */
	--f: .5em;/* control the folded part*/
	--r: .5em;/* control the ribbon shape */
	--t: .5em;/* the top offset */
	position: absolute;
	top:var(--t);
	left: calc(-1*var(--f));
	
	padding: 0 10px var(--f) calc(10px + var(--r));
	  clip-path: polygon(0 0,0 calc(100% - var(--f)),var(--f) 100%,
      var(--f) calc(100% - var(--f)),100% calc(100% - var(--f)),
      calc(100% - var(--r)) calc(50% - var(--f)/2),100% 0);background: var(--featured-color);
	box-shadow: 0 calc(-1*var(--f)) 0 inset #0005;
}

.fprd .saving label {
	color: var(--white);
}

.fprd .saving h6 {
	color: var(--white);
}

/* pricebreaks 
------------------------------------------------------- */
.pricebreak {}

/* Unit specifics 
------------------------------------------------------- */

.fprd .unit {
	grid-area: unit-price;
	text-align: center;
}

.fprd .packsize {
	grid-area: packsize;
	text-align: left;
}

.fprd .packsize p {
	font-size: .725em;
}

.fprd .unit label {
	color: var(--text-sub-heading-color);
}

.fprd .unit h6 {
	color: var(--color3);
}

.fprd .unit h6 span {
	display: none;
}

.fprd .qty {
	grid-area: carton-qty;
}



.fprd .qty h6 {}

/* clientref/model code
------------------------------------------------------- */

.fprd .clientref {
	grid-area: client-ref;
	/* padding:0 .5em; */
	text-align: left;
	font-family: var(--heading-font);
	text-transform: capitalize;
	/* align-self:start; */
}

.fprd .clientref span {}

.fprd .model,
.fprd .clientref {
	margin: 0;
	font-weight: var(--heading-font-weight);
	font-family:var(--text-font);
	font-size: .9em;
}

.fprd .model span,
.fprd .clientref span {
	font-size: small;
	display: block;
	font-weight: var(--text-font-weight);
	display:none;
}

.fprd .model {
	grid-area: model-number;
	text-align: right;
}

/* brand
------------------------------------------------------- */
.fprd .brand {
	grid-area: brand;
	font-size: .725em;
	color: var(--grey);
}

.fprd .brand span {
	display: none;
}

/* Product flags
------------------------------------------------------- */
/* piflags are product specific flags, like made in uk, our top pick etc */
.piflags {}

/*flags may exist either within the image or as a separate element, position accordingly */
.fprdimg .piflags {
	position: absolute;
	top: 0;
	left: 0;
	pointer-events:none;
}

.fprd .piflags ul {
	margin: 0;
	padding: 0;
}

.piflags ul li {
	list-style: none;
	margin: 0;
	display: block;
}

.fprdimg .piflags ul li img {
	margin:0;
	max-width:5rem;
}

/* quantity in basket - CAUTION not shown everywhere... 
------------------------------------------------------- */

.fprd .qtyInBskt {
	display: none;
}

/* more info and quickview button 
------------------------------------------------------ */

.fprdinfo {
	grid-area: fprdinfo;
	margin: 1rem;
}

/* quick view */

.fprd a.btn.qkvw {}

.fprd:hover a.qkvw {}

.fprdinfo a.qkvw:hover {}

/* Buy form 
------------------------------------------------------- */

.fprd form {
	grid-area: buy-pane;
	text-align: center;
	max-width: 100%;
	display: block;

}

.fprd form .stock {}

.fprd form .stock h6 {
	font-size: .825em;
	color: var(--grey);
}

.fprd form select {}

.fprd form label {
	/*seems daft to display a label for an input that is obvious*/
	display: none;
}

.fprd button {
	-webkit-appearance: none;
	background-color: var(--off-white);
	color: var(--dark-grey);
	font-size: 16px;
	padding: var(--half-spacing) var(--half-spacing);
	width: 2em;
	border: 1px var(--off-white) solid;
	cursor: pointer;
	display: inline-block;
	vertical-align: middle;
}

.fprd button:hover,
.fprd button:active {
	background-color: var(--red);
	color: var(--white);
}

.fprd button.fpskuqtysub {}

.fprd button.fpskuqtyadd {}

.fprd input.fpskuqty {
	display: inline-block;
	vertical-align: middle;
	text-align: center;
	border-radius: var(--border-radius);
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
	border-right: 0;
}

.fprd .submit {
	display: inline-block;
	vertical-align: middle;
	border-radius: 0;
	border-top-right-radius: var(--border-radius);
	border-bottom-right-radius: var(--border-radius);
}

/* sample request
------------------------------------------------------- */

.fprd form.smplreqform {
	grid-area: image;
	z-index: 100;
	align-self: end;
	text-align: right;
}

.fprd form.smplreqform .submit {
	background-color: var(--red);
	border: none;
}

/* Email when in stock
------------------------------------------------------- */

.fprd .ewis {
	grid-area: buy-pane;
	align-self: end;
	margin: 0;
}

/* fprd adverts
------------------------------------------------------- */

.fprd.add {
	display: block;
	position: relative;
	padding: 0;
}

.fprd.add .bnr {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.fprd.add .bnr picture,
.fprd.add .bnr img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.fprd.add .toi {
	position: absolute;
	bottom: 0;
	color: var(--white);
	padding: var(--spacing);
}

.fprd.add p {
	color: var(--white);
}

/* -------------------------------------------------------------------------------------
=ProductPage 
------------------------------------------------------------------------------------- */

#pmid.page_buy {}

/*change of layout here */

#pmid.page_buy #pm.pmfull {
	width: 100%;
}

/* Product Panels 
------------------------------------------------------- */

#pi {
	margin: 0;
	padding: 0;
	/* padding-top: 1em; */
}



#pi .main {
	margin: 0 auto;
	position: relative;
	/*padding should be put in media queries */
	width: var(--site-max-width);
	display: grid;
	/* width set to assume 600px - use fr to scale
	
	calc by doing image size / (width - gap)*/
	grid-template-columns: 600px 1fr;
	grid-template-areas:
		"top top"
		"left right"
		"left ."
		"bottom bottom";
	grid-column-gap: 2rem;
}

#pi .top{
	display:none;
}

#pi .main .top {
	position: relative;
	grid-area: top;
}

#pi .main .left {
	position:relative;
	grid-area: left;
	display: grid;
	grid-template-columns:1fr;
	grid-template-areas:"product-title"
	"gallery";
}

#pi .main .left .pititle{
 display:none;
}

.nonmem #pi .main .left {}



/* save for later
------------------------------------------------------- */
#pi .sfl{
	position:absolute;
	top:.5rem;
	right:.5rem;
}

#pi .sfl input{
	background-color:var(--white);
	width:2em;
	height:2em;
	padding:0;
	border:none;
}




.nonmem #pi .pibuy+.pibuy {
	grid-area: membersignin;
	border-bottom: 0;
}

#pi .main .right {
	position:relative;
	grid-area: right;
	display: grid;
	grid-template-areas:
		"product-title product-title "
		"product-buy-pane product-buy-pane"
		"model model"
		"product-links product-links"
		"product-description product-description";
	grid-template-columns:  1fr auto;
}

#pi .main .bottom {
	grid-area: bottom;
}

/*same class used for a div outside of the main section */
#pi .main+.bottom {
	margin-top: 1rem;
	padding-top: 1rem;
	margin: auto;
	/* background-color:var(--off-white); */
}

#pi .brandmanu h5,
#pi .brandmanu h6 {
	display: inline-block;
	margin: 0;
	margin-right: .5rem;
	font-size:1.3em;
}
#pi .brandmanu h6 {
	font-family:var(--text-font);
	font-weight:initial;
	font-size: 1em;
}
/* Model
------------------------------------------------------- */
#pi .brandmanu.model {
	grid-area:model;
}

/* Brand
------------------------------------------------------- */
#pi .brandmanu.brand {
	grid-area: brand;
}
#pi .brandmanu.brand img{
	margin:0;
	max-height:64px;
	width:auto;
}

/* Barcode
------------------------------------------------------- */
#pi .brandmanu.barcode {
	grid-area: barcode;
}
#pi .brandmanu.barcode img{
	margin:0;
	max-height:64px;
	width:auto;
	margin-top:1em;
}



#pi .brandmanu.clientref h5,
#pi .brandmanu.clientref h6 {
	font-family: var(--text-font);
	color: var(--text-color);
	font-size: small;
	font-weight: normal;
	margin: 0;
	padding: 0;
	display: block;
	margin-right: var(--half-spacing)
}

#pi .brandmanu.clientref h5 {
	font-weight: 600;
}

/* Clientref
------------------------------------------------------- */
#pi .brandmanu.clientref {
	grid-area: client-ref;
}

/* Manufacturer
------------------------------------------------------- */
#pi .brandmanu.manu {
	grid-area: manufacturer;
}

/* Barcode
------------------------------------------------------- */
#pi .brandmanu.gtin {
	grid-area: barcode;
	text-align: right;
}

/* Barcode Inner
------------------------------------------------------- */
#pi .brandmanu.inner {
	grid-area: barcode-inner;
}

/* Barcode Outer
------------------------------------------------------- */
#pi .brandmanu.outer {
	grid-area: barcode-outer;
	background-color: var(--off-white);
	border: 1px solid var(--border-color);
	border-left: 0;
}

/* Product Title
------------------------------------------------------- */
#pi .pititle {
	grid-area: product-title;
	border-top: 0;
	border-bottom: 0;
	color: var(--fprd-title-color);
	margin-bottom:1rem;
}

#pi .pititle h2 {
	font-size: 2.5em;
	margin-bottom: 0;
}

/* Strapline
------------------------------------------------------- */
h4.strap {
	grid-area: product-strapline;
	font-family: var(--text-font);
	font-weight: normal;
	font-size: 1.2em;
}

/* Gallery - now Swiffy
------------------------------------------------------- */
#pi .sticky {
	position: sticky;
	top: 0;
}

#pi .gallery {}

#pi .gallery #mainimages {
	cursor: pointer;
	/* border:1px solid var(--border-color); */
}

#pi .gallery #mainimages img {
	width: 100%;
	object-fit: cover;
	margin: auto 0 !important;
}


#pi .gallery .slider-main {
	margin-bottom: 1rem;
}

#pi .gallery .slider-thumb {
	--swiffy-slider-item-count: 1;
	--swiffy-slider-item-ratio: 3/4;
	margin-bottom: 1rem;
}

#pi #mainimages .slider-nav {
	/* pointer-events: none; */
}

#pi .gallery .slider-main .slider-indicators {
	display: none;
}

#pi .gallery #galleryimages {
	grid-area: thumbs;
	--swiffy-slider-item-count: 4;
	margin-top: 2em;
}

#pi .gallery #galleryimages li img {
	cursor: pointer;
		width: 100%;
	object-fit: cover;
}


#pi .gallery #galleryimages .video:after{
	font-family:var(--font-awesome);

	color:var(--white);
	content:"\f144";
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;

	margin:auto;
	text-align:center;
	font-size:4em;
	pointer-events:none;
	
}

#pi .gallery #galleryimages .video img{
	aspect-ratio: 1/1;
	cursor:pointer;
}

#pi .gallery #galleryimages .slider-indicators {
	display: none;
}

/*main gallery videos */
.youtubeplayercontainer>* {
	min-height: 20rem
}

.youtubeplayercontainer>* {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover
}

.youtubeplayercontainer>* {
	-o-object-fit: contain;
	object-fit: contain
}


#pi .gallery h4 {
	display: none;
}

/*we don't want product flags showing here - should be controlled by a field in coms, we want the normal product flags like free shipping */
#pi .gallery .piflags {
	position:absolute;
	top:.5em;
	left:.5em;
	z-index:1;
}

#pi .gallery .piflags img{
	max-width:100px;
}

/* Price Panel
------------------------------------------------------- */
.pricecomp {
	grid-area: product-price;
	position:relative;
	margin:auto;
}

.pricecomp div{
	display:inline-block;
	text-align:center;

}
.pricecomp .price h6 {
	font-size: 1.5em;
}

.pricecomp .price label {
	display: none;
}

/* Buy Panel
------------------------------------------------------- */
#pi .pibuy {
	grid-area:product-buy-pane;
	/* margin-top: 2em; */
	align-items: start;
	
}

.pibuy label {
	display: block;
}

/* for some reasone we always show "price in..." */
.pibuy .title {
	display: none
}

#pi .pibuy h6 {
	font-family: var(--heading-font);
	font-size: 1.25em;
	display: inline-block;
	padding: 0;
	margin-bottom: 0;
	font-family:var(--text-font);
}

#pi .pibuy h6 span {
	font-family: var(--text-font);
	display: block;
	font-size: x-small
}

#pi .pibuy label {
	font-family: var(--heading-font);
}


#pi .pibuy .unit,
#pi .pibuy .qty,
#pi .pibuy .trade,
#pi .pibuy .price,
#pi .pibuy .rrp,
#pi .pibuy .prevprice,
#pi .pibuy .offer,
#pi .pibuy .saving{
	display:inline-block;
	vertical-align:top;
	margin-right:1em;
}










/*rrp price */
#pi .pibuy .rrp h6 {
	text-decoration: line-through;
	text-decoration-color: var(--red)
}

#pi .pibuy .rrp label {}
#pi .pibuy .rrp span {}

/*normal price */
#pi .pibuy .price {
	grid-area: selling-price;
}

/*offer price */
#pi .pibuy .offer {
	grid-area: offer-price;
}

#pi .pibuy .offer h6 {
	font-weight: 600;
	font-size: 2em;
}

#pi .pibuy .offer h6 span {
	font-weight: normal;
}

/*previous price (goes with offer) */

#pi .pibuy .prevprice {
	grid-area: prev-price;
}

#pi .pibuy .prevprice h6 {
	text-decoration: line-through;
	text-decoration-color: var(--red);
}

#pi .pibuy .prevprice h6 span {
	display: none;
}

/*saving  info */
#pi .pibuy .saving {
	grid-area: saving;

	--featured-color: var(--featured-alt-color);
	/*funky ribbon effect courtesy of freecodecamp */
	--f: .5em;/* control the folded part*/
	--r: .5em;/* control the ribbon shape */
	--t: .5em;/* the top offset */
	position: absolute;
	margin-right:0;
	right: 0;
	padding: 0 10px var(--f) calc(10px + var(--r));
	clip-path: 
		polygon(0 0,100% 0,100% calc(100% - var(--f)),calc(100% - var(--f)) 100%,
		calc(100% - var(--f)) calc(100% - var(--f)),0 calc(100% - var(--f)),
		var(--r) calc(50% - var(--f)/2));
	background: var(--featured-color);
	box-shadow: 0 calc(-1*var(--f)) 0 inset #0005;
	color:var(--white)
}

#pi .pibuy .saving h6 {
	font-size:1em;
}
#pi .pibuy .saving label {}
#pi .pibuy .saving span {}

/*unit price */
#pi .pibuy .unit
{
	grid-area:unit;
	/* font-size:small; */
}

#pi .pibuy .qty {
	/* text-align:center; */
	/* font-size:small; */
}

/*trade price */
#pi .pibuy .trade {
	margin-bottom:1em;
}

#pi .pibuy .trade h6 {
	font-size: 2em;
}

#pi .pibuy .trade label {}

/* Messages */

/*basket cutoff message? should have a class!*/

#pi .pibuy p {
	grid-area: cutoff;
	font-size: .825em;
}

#pi .pibuy p#bspresponse {
	grid-area: bspresponse;
	padding: 0;
}

#pi .pibuy h4 {}

#pi .pibuy h5 {}

#pi .pibuy p.p_stock {}

/* stock */

#pi .pibuy .stock {
	grid-area: stock;
	/*being written out when not actually in use!
	so don't add margin here*/
	list-style: none;
}

#pi .pibuy .stock li.in {
	font-weight: 600;
}

#pi .pibuy .stock li.in:before {
	content: '\f00c';
	font-family: "Font Awesome 5 Pro";
	margin-right: .5em;
	font-size: 1em;
	color: var(--info-color);
	font-weight: 600;
}

/*order cutoff timer? */

#pi .pibuy p.cutoff {
	color: var(--info-color);
}

#pi .pibuy p.cutoff::before {}

/* quantity in basket info */
#pi .pibuy .qtyInBskt {
	grid-area: quantity-in-basket;
	display:none;
}

/*dynamic price */

#pi .pibuy .dynprice {
	display: inline-block;
	vertical-align: middle;
	/* margin:0 .5em; */
}

#pi .pibuy p#dynpricejaq {
	display: inline-block;
	vertical-align: middle;
	font-family: var(--heading-font);
	font-size: 2em;
	margin-bottom: 0;
	margin-right: 1em;
}

.jaqshadow {
	display: none!important;
}

#bspsubmit {
	grid-area: save-for-later;
	display: inline-block;
	margin: 1rem 0;
	margin-right: auto;
	padding: var(--half-spacing);
	background-color: var(--alt-button-color);
	border-color: var(--alt-button-border-color);
	color: var(--alt-button-text-color);
}

#bspsubmit:hover {
	background-color: var(--alt-button-hover-color);
	border-color: var(--alt-button-border-color);
	color: var(--alt-button-hover-text-color);
}

/* Wishlisth
-------------------------------------------------------*/

#wishlist {
	grid-area: wishlist;
	margin: 0;
	align-self: start;
}

#wishlist label {
	display: inline;
	font-size: .825em;
}

#wishlist .chkbox {
	margin-right: .5em;
}

#wishlist .submit {
	background-color: var(--pink);
	border-color: var(--pink);
	grid-area: buy;
	font-size: .825em;
	font-weight: var(--button-font-weight);
	cursor: pointer;
	font-family: var(--button-font);
	text-transform: capitalize;
	outline: none;
	border: none;
}

/* Buy Form
-------------------------------------------------------*/

#buy_form {
	grid-area: buy-pane;
	margin: 1rem 0;
}

/* attributes/sku select */

#buy_form .attr {}

#buy_form .attr .attrlabel {
	display: none;
}

.attritem select {
	width: 100%
}

#buy_form select,
#buy_form textarea {}

#buy_form select {
	max-width: 100%;
	margin-bottom: 1em;
}

#pi .pibuy .attrqty {
	/* display: grid; */
	/* grid-template-columns: repeat(5, 1fr); */
	/* grid-template-areas:
		"qty buy buy sample . ."; */
}

/* quantity input 
---------------------------*/

#pi .pibuy .attrqty .qtyinput {
	grid-area: qty;
	display: inline-block;
	vertical-align:middle;
	/* margin-bottom: 0; */
	/* display: grid; */
}

/*increase/decrease buttons */

#pi .pibuy .attrqty .qtyinput button {
	/*doesn't currently seem to be a way of turning these on or of in v5 or v6 */
	display: none;
}

/*hide quantity label*/

#pi .pibuy .attrqty .qtyinput label {
	display: none;
}

.attrqty .qtyinput #skuqty {
	display: inline-block;
	vertical-align: middle;
}

.attrqty .qtyinput #skuqty {
	text-align: center;
	padding: 1em;
	width: auto;
	display: block;
	border: 1px solid var(--border-color);
	border-radius: var(--border-radius);
	border-right: none;
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
	text-align: center
}

#pi .pibuy .attrqty .submit#buy {
	grid-area: buy;
	display: inline-block;
	vertical-align:middle;
	padding: 1em;
	border-radius: var(--border-radius);
	text-align: center;
	border-top-left-radius: 0;
	border-bottom-left-radius: 0;
	margin-right: 1rem;
}

/* Sample request 
-------------------------------------------------------*/
#pi .pibuy #smplreq {
	grid-area: sample;
	display: inline-block;
	background-color: var(--red);
	border: 1px solid var(--red);
	margin-left: 1em;
}

/* message if no option selected*/

#pi .pibuy label#selectResponse {
	color: var(--error-color);
	grid-column: 1/-1;
	display: none;
}

/* Descriptions
-------------------------------------------------------*/

#pi .pidesc {
	grid-area: product-description;
	margin: 2em 0;
}

/*duplicated product title auto written out in the description */
#pi .pidesc h2[itemprop="name"] {
	font-family: var(--heading-font);
	font-size: 1.5em;
	display:none;
}


/* Extra Descriptions
-------------------------------------------------------*/

.pidescx {
	grid-area: product-extra-description;
	padding: 1.5em 0;
}

.pidescx ul {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	text-align: center;
}

.pidescx li {
	list-style: none;
	font-family: var(--heading-font);
	font-size: 1.5em
}

.pidescx li:last-child {
	border: none;
}

.pidescx li span {
	margin-right: .5em;
	font-family: var(--text-font);
}

.pidescx br {
	display: none;
}

/* Product leadtime
-------------------------------------------------------*/

#pi .pidesc.desp {
	grid-area: product-leadtime;
	display: grid;
	grid-template-columns: auto 1fr;
	grid-template-areas: "icon text";
	grid-gap: var(--spacing);
	padding: 1rem;
	border: 1px solid var(--border-color);
	border-radius: var(--border-radius);
	margin-bottom: 1rem;
}

#pi .pidesc.desp span {
	display: none;
}

#pi .pidesc.desp h5 {
	grid-area: icon;
	display: none;
}

#pi .pidesc.desp p {
	grid-area: text;
	margin: 0;
	font-size: .825rem;
}

/* Product specific delivery info
-------------------------------------------------------*/

#pi .delivery {
	grid-area: product-delivery;
}

/* Bullets
-------------------------------------------------------*/
#pi .bullets {
	grid-area: product-bullets;
	font-size: 1.2em;
	padding: 0 1em;
	margin-bottom: 1em;
}

/* Links
-------------------------------------------------------*/

#pi .pilinks {
	grid-area: product-links;
	padding: 1em 0;
	/* font-size:.825em; */
}

#pi .pilinks li {
	display: inline-block;
	margin: 0;
	padding: 0;
}

#pi .pilinks ul li.query a.lnk {
	cursor: pointer;
	display: inline-block;
	vertical-align: middle;
}

#pi .pilinks ul li.query a.lnk:before {
	font-family: var(--font-awesome);
	font-weight: var(--heading-font-weight);
	margin-right: .5em;
	font-size: 1em;
	display: inline-block;
	content: '\f059';
}

/* Flags (site flags like offer) - would be better if these were inside the gallery - they won't be sticky either unless moved
-------------------------------------------------------*/

/* Product flags
-------------------------------------------------------*/
#pi .piflags {
	/* this conflicts with flags on related products on the product page */
	/* grid-area: product-piflags; */
}

/* Next Day Delivery Countdown
-------------------------------------------------------*/

/* Product Files
-------------------------------------------------------*/

#pi .pifile {
	grid-area: product-files;
	text-align: center;
	padding-bottom: 1.5em;
}

#pi .pifile li {
	list-style: none;
	display: inline-block;
	margin: .5em;
}

/* Product Departments
-------------------------------------------------------*/

#pi .alldepts:before {
	grid-column: 1/-1;
	content: 'View the whole department';
	display: block;
	margin: 1em;
	text-align: center;
	font-family: var(--heading-font);
	color: var(--text-heading-color);
	font-size: 1.25em;
}

#pi .alldepts {
	grid-area: product-departments;
}

#pi .alldepts a {
	display: inline-block;
	margin: var(--half-spacing);
	text-decoration-color: var(--text-decoration-color);
}

/* Product PDL Article - could do with a class otherwise it will break other article used in places like the tabbed description
-------------------------------------------------------*/

#pi .art {
	grid-area: product-article;
}

/* Tabbed Descriptions
-------------------------------------------------------*/

#pi .pi_tab,
#pi #pi_wrapper {
	grid-area: product-tabbed-description;
	margin: 1em 0;
}

#pi ul.pi_tabs {
	cursor: pointer;
	margin: 0;
	padding: 0;
}

#pi ul.pi_tabs li {
	list-style: none;
	display: inline-block;
	margin: 0;
	padding: 1em;
	margin-right: .5em;
	border: 1px var(--border-color) solid;
	border-radius: var(--border-radius);
	border-bottom-left-radius: 0;
	border-bottom-right-radius: 0;
	border-bottom: 0;
	text-align: center;
}

#pi ul.pi_tabs li.selected {
	font-weight: bolder;
	border: 1px var(--border-color) solid;
	border-bottom: 1px var(--off-white) solid;
	background-color: var(--red);
	color: var(--white);
}

#pi ul.pi_tabs li:last-child {}

#pi .pi_tab_content {
	margin: auto;
	padding: 1rem;
	border: 1px var(--border-color) solid;
	max-height: 300px;
	overflow-y: scroll;
}

/* accordion description (uses tabbed element)
------------------------------------------------------*/

#pi .pi_accordion {
	grid-area: product-tabbed-description;
}

#pi .pi_accordion .piflags ul {
	/* outline:1px red solid; */
	display: block;
	margin-left: 0;
}

/* Associated Products
------------------------------------------------------*/

#pi .pass {
	width: var(--site-max-width);
	margin: auto;
	grid-area: product-recommended;
	margin-top: 1rem;
}

#pi .pass h3.header {
	text-align: center;
	font-size: 2em;
	padding: .5rem 0
}

#pi .pass .fprd {
	border: 0;
	margin-bottom: 1rem;
	/* grid-template-rows:auto; */
	border: 2px var(--border-color) solid;
}

#pi .pass .fprd form,
#pi .pass .fprd .brand,
#pi .pass .fprd label,
#pi .pass .fprd h6 span {
	display: none;
}

/* Recommended Products 
------------------------------------------------------*/

#pi .prec {
	width: var(--site-max-width);
	margin: auto;
	grid-area: product-recommended;
	margin-top: 1rem;
	grid-gap: 2em;
	display: grid;
	grid-template-columns: 3fr 7fr;
	grid-template-areas: "title products";
	margin-bottom: 2em;
	position: relative;
}

#pi .prec h3 {
	grid-area: title;
	color: var(--white);
	align-self: center;
	text-align: center;
	font-size: 3em;
	padding: 0 1em;
	margin: 0;
	position: relative;
	z-index: 2;
}

#pi .prec .carousel {
	grid-area: products;
}

#pi .prec .slider-indicators {
	display: flex;
	display: none;
}

#pi .prec .carousel.prod .swiffy-slider {
	--swiffy-slider-item-count: 3;
}

/* buytogether Products 
------------------------------------------------------*/

.buytogether {
	grid-area: buytogether;
}

.buytogether ul,
.buytogether li {
	list-style: none;
}

.buytogether li.header {
	text-align: center;
	padding: 1rem 0;
	font-size: 1.5em;
	font-family: var(--heading-font);
	color: var(--text-heading-color);
	border-top: 1px var(--off-white) solid;
	border-bottom: 1px var(--off-white) solid;
}

.boughtto {
	padding: 1em;
	display: grid;
	grid-template-columns: 80% 20%;
}

/*this section holds the images of the products that will be bought together */

.boughtto li.imgs {
	text-align: center;
	grid-column: 1/-1;
}

.boughtto li.imgs span {
	display: inline-block;
	vertical-align: middle;
}

.boughtto li.imgs span img {
	max-width: 20vw;
}

.boughtto li.imgs span.plus1 {
	font-size: 2em;
	width: 2em;
	/* margin:1em; */
}

.boughtto li.prods {
	display: grid;
	grid-column: 1;
	grid-template-columns: 1fr auto 5em;
	grid-template-areas: " title price checkbox";
	grid-gap: 1em;
	margin-top: 1em;
}

.boughtto li.prods:last-of-type {
	margin-bottom: 0;
}

.boughtto li.prods .chkbox {
	grid-area: checkbox;
	text-align: right;
}

.boughtto li.prods .descr {
	grid-area: title;
	text-align: right;
}

.boughtto li.prods .price {
	grid-area: price;
}

.boughtto li.total {
	margin-top: 1em;
	grid-column: 2;
	grid-row: 2;
}

.boughtto li.btn {
	grid-column: 2;
	grid-row: 3/5;
	align-self: end;
}

/* Related
------------------------------------------------------*/

#pi .prel {
	width: var(--site-max-width);
	margin: auto;
	grid-area: product-recommended;
	margin-top: 1rem;
}

#pi .prel h3.header {
	font-size: 1.5em;
	margin: 2rem 0;
	padding:.5em;
	margin-bottom: 2rem;
	position: relative;
	z-index: 1;
	overflow: hidden;
	text-align: center;

	background-color:var(--featured-color);
	border-bottom: 2px var(--featured-alt-color) solid;
	color:var(--featured-text-color);
}

#pi .prel .fprd {}

/* -------------------------------------------------------------------------------------
=Super Attributes 
------------------------------------------------------------------------------------- */

.cls_superattrribute.hideAttr:not(.attributeTypeDimensions) {
	visibility: hidden;
	display: block;
	height: 0;
	opacity: 0;
	padding: 0 !important;
	transform: translateY(0);
	transition: all .1s ease;
}

.sacontainerpanel {}

.sacontainerpanel ul,
.sacontainerpanel li {
	list-style: none;
}

.sacontainerpanel .sa_ddl_content {
	padding: 0 1em;
	margin-bottom: 1em;
}

/* Defaults
------------------------------------------------------- */

/*validator messages */

.sa_validator {
	color: var(--error-color);
}

/*this needs a code review - be dealt with in a standard message way like add to basket popups etc */

/*currently displays if you can't make that blind - and is a different message to if you put in measurements outside of the limits, try using max width and drop of blind to demo*/

.cls_superattrribute #sa_pnl_product_not_found {
	display: none;
	z-index: 2000;
}

/*help icon */

.cls_superattrribute img[id^="help"] {
	cursor: pointer;
	/* width: 1em; */
}

/* attributeTypePrice_Matrix_Calculator 
------------------------------------------------------- */

.attributeTypePrice_Matrix_Calculator {
	/*required for the help icon position*/
	position: relative;
}

.attributeTypePrice_Matrix_Calculator #saten_pnl_show {}

.attributeTypePrice_Matrix_Calculator .att_container {
	margin-bottom: 1rem;
	display: grid;
	align-items: center;
	grid-template-areas: "header header header" "attX attY calcprice";
	grid-gap: 1em;
	align-items: center;
	grid-template-columns: auto auto auto;
}

.attributeTypePrice_Matrix_Calculator .att_header {
	grid-area: header;
	line-height: 1;
	text-align: left;
	background-color: var(--red);
	color: var(--white);
	padding: 1em;
	/* margin-bottom:1em; */
}

.attributeTypePrice_Matrix_Calculator label {
	display: inline-block;
	font-size: 1em;
}

/*should be the measure in cm/inch/mm control - currently not displaying as there are no choices yet we still may be writing it out*/

.attributeTypePrice_Matrix_Calculator .att_measure {
	grid-area: attmeasure;
	display: none;
}

.att_X {
	grid-area: attX;
	text-align: center;
	margin-left: 1em;
}

.att_Y {
	grid-area: attY;
	text-align: center;
}

.att_X label,
.att_Y label {
	margin-right: .5em
}

.att_X input::-webkit-outer-spin-button,
.att_X input::-webkit-inner-spin-button,
.att_Y input::-webkit-outer-spin-button,
.att_Y input::-webkit-inner-spin-button {
	/* display: none; <- Crashes Chrome on hover */
	-webkit-appearance: none;
	margin: 0;
	/* <-- Apparently some margin are still there even though it's hidden */
}

.att_X input[type=number],
.att_Y input[type=number] {
	-moz-appearance: textfield;
	/* Firefox */
}

.sa_error {
	color: var(--error-color);
	display: inline-block !important;
	vertical-align: top;
}

.attributeTypePrice_Matrix_Calculator .calc_price {
	grid-area: calcprice;
}

.attributeTypePrice_Matrix_Calculator .calc_price:before {
	font-family: var(--font-awesome);
	content: "\f1ec";
	font-weight: 100;
	display: inline-block;
	vertical-align: middle;
	font-size: 2em;
	margin-right: .5rem;
}

.attributeTypePrice_Matrix_Calculator .calc_price .submit {
	display: inline-block;
	padding: .5em 1em;
	margin: 0 1em;
	border-radius: var(--border-radius);
	text-align: center;
}

/*the widths on these are not nice - need making better !*/

.attributeTypePrice_Matrix_Calculator input.inputtext_short {
	max-width: 10em;
	text-align: center;
	border: 1px solid var(--border-color);
}

.attributeTypePrice_Matrix_Calculator .calc_price .submit {}

/* attributeTypeDimensions 
***************************************************************/

.attributeTypeDimensions {
	position: relative;
}

.attributeTypeDimensions .attrContainer {
	display: grid;
	grid-template-columns: 1fr 1fr;
	text-align: center;
}

.attributeTypeDimensions .sa_name {
	grid-column: 1/-1;
	text-align: left;
	margin-bottom: 1rem;
	font-weight: 600;
}

.attributeTypeDimensions .width,
.attributeTypeDimensions .drop {
	display: grid;
	grid-column: 1/-1;
	grid-template-columns: 1fr 1fr 1fr;
	grid-gap: 1rem;
}

.attributeTypeDimensions .width .sa_name,
.attributeTypeDimensions .drop .sa_name {
	display: block;
	margin: 0;
	font-weight: normal;
}

.attributeTypeDimensions .width input,
.attributeTypeDimensions .drop input {
	width: 100%;
}

.attributeTypeDimensions .width span,
.attributeTypeDimensions .drop span {
	display: none;
}

.cls_superattrribute.attributeTypeDimensions img[id^="help"] {}

.attributeTypeDimensions .submit {
	grid-column: 1/-1;
	display: inline-block;
	width: 100%;
	padding: 1em;
	margin-bottom: 1em;
	border-radius: var(--border-radius);
	text-align: center;
}

/* attributeTypeRadio_button
***************************************************************/

.attributeTypeRadio_button {}

.attributeTypeRadio_button .radioholder {}

.attributeTypeRadio_button .radioholder label {}

/* attributeTypeText_Box_Free_Text_Entry 
***************************************************************/

.attributeTypeText_Box_Free_Text_Entry {}

.attributeTypeText_Box_Free_Text_Entry .inputtext {
	max-width: 100%;
	width: calc(100% - 3rem);
}

.attributeTypeText_Box_Free_Text_Entry .attrContainer>div:first-of-type {
	position: relative;
	display: grid;
	align-items: start;
	grid-template-columns: 50% 50%;
	padding: .5rem 0;
}

/*attributeTypeDrop_down_list
***************************************************************/

.attributeTypeDrop_down_list {
	position: relative;
	display: grid;
	align-items: start;
	grid-template-columns: 100%;
	text-align: left;
}

/*hack to do with validator text placeholder */

.attributeTypeDrop_down_list div {
	line-height: 0;
}

.attributeTypeDrop_down_list div label {
	line-height: 1;
}

/* end hack*/

.attributeTypeDrop_down_list .info.sa_name {
	line-height: 1;
	text-align: left;
	background-color: var(--red);
	color: var(--white);
	padding: 1em;
	margin-bottom: 1em;
}

.attributeTypeDrop_down_list select {
	width: 50%;
}

/* whatever this is we don't want it! */

.sa_pnl_product_popup_image_show {}

/*attributeTypeSingle_Image_Upload 
***************************************************************/

.attributeTypeSingle_Image_Upload {
	position: relative;
}

.attributeTypeSingle_Image_Upload .attrContainer {
	position: relative;
	display: grid;
	align-items: start;
	grid-template-columns: 50% 50%;
	grid-template-areas: "label image" "fileupload fileupload";
	padding: .5rem 0;
}

.attributeTypeSingle_Image_Upload .attrContainer label {
	grid-area: label;
}

/*delete image */

.attributeTypeSingle_Image_Upload .siup_triggerdel {
	position: absolute;
	bottom: 1rem;
	right: 1rem;
}

/*should be the file uploader*/

.attributeTypeSingle_Image_Upload input {
	grid-area: fileupload;
	padding: 1rem;
}

.attributeTypeSingle_Image_Upload .progress {}

/*should be the uploaded image */

.cls_superattrribute.attributeTypeSingle_Image_Upload div[id^="siup"] {
	grid-area: image;
}

/* -------------------------------------------------------------------------------------
=Basket
------------------------------------------------------------------------------------- */

/*needs #pm as .bskt is used in the header */

#pm .bskt {
	display: grid;
	grid-template-columns: 6fr 3fr;
	grid-gap: 0;
	grid-column-gap: 2em;
	grid-template-areas: "breadcrumb breadcrumb" "header header" "lines totals" "lines voucher" "lines shipping" "lines buttons" "lines ." "prompane prompane";
	align-items: start;
	margin-bottom: 4rem;
}

/*this is a bit of a hack, all the prom contents should be in their own container ! */

#pm .bskt .carousel {
	grid-area: prompane;
}

/* if basket is empty and user is in it */

.bskt .empty {
	grid-area: header;
	text-align: center;
	margin: 2em;
}

.bskt .empty .header {}

.bskt .empty .total {}

/* Checkout Breadcrumb
------------------------------------------------------- */

.chkcrumb {
	grid-area: breadcrumb;
}

/* Basket header
------------------------------------------------------- */

#pm .bskt .header {
	grid-area: header;
}

/*we don't want the image here, but it may be used for something else */

#pm .bskt .header .icon {
	display: none;
}

#pm .bskt .header .title {
	display: block;
	font-family: var(--heading-font);
	font-weight: var(--heading-font-weight);
	font-size: 1.5rem;
	margin-bottom: .5rem;
}

#pm .bskt .header .title span {
	font-size: 1rem;
	font-weight: normal;
	color: var(--grey);
}

/* Basket Lines
------------------------------------------------------- */

#pm .bskt .alllines {
	grid-area: lines;
}

#pm .bskt .line {
	padding-bottom: var(--spacing);
	margin-bottom: var(--spacing);
	align-items: start;
	display: grid;
	--image-width: 4rem;
	--description-width: 1fr;
	--qty-width: auto;
	--netprice-width: auto;
	--rem-width: auto;
	--total-width: 100px;
	grid-template-columns: var(--image-width) var(--description-width) var(--qty-width) var(--total-width) var(--rem-width);
	grid-template-areas: "icon desc qty price  rem" "icon desc qty netprice  rem" "icon desc qty .  rem" "icon . . . .";
	/* border-bottom: 1px solid var(--border-color); */
	grid-column-gap: 1rem;
}

/* Image */

#pm .bskt .line .prodimg {
	grid-area: icon;
	align-self: start;
}

#pm .bskt .line .prodimg img {
	margin: 0 !important;
	;
}

/* Product Info - in list form */

#pm .bskt .line .prodinfo {
	grid-area: desc;
	margin: 0;
	padding: 0;
}

#pm .bskt .line .prodinfo .surcharge {}

#pm .bskt .line .prodinfo li {
	list-style: none;
	font-size: .725rem;
	margin-left: .5em
}

#pm .bskt .line .prodinfo li img {
	margin: 0;
	max-width: 250px
}

#pm .bskt .line .prodinfo li.descr {
	margin-left: 0;
	font-size: initial;
	font-family: var(--heading-font);
	font-weight: var(--heading-font-weight);
	/* margin-bottom: var(--half-spacing); */
}

#pm .bskt .line .prodinfo li.lead {
	color: var(--info-color);
	font-weight: bolder;
}

#pm .bskt .line .prodinfo li.lead {
	color: var(--text-color);
	font-style: italic;
	font-weight: normal;
	margin: .5rem 0;
}

#pm .bskt .line .prodinfo li.lead span {
	display: inline-block;
	font-style: normal;
	padding: .25rem;
	margin-right: .5rem;
}

#pm .bskt .line .prodinfo li.lead span:before {
	font-family: var(--font-awesome);
	content: "\f00c";
	display: inline-block;
	font-size: 1em;
	margin-right: 1em;
}

/*product quantity */

#pm .bskt .lines .line .qty {
	grid-area: qty;
	/* align-self: center; */
}

#pm .bskt .lines .line .netprice {
	grid-area: netprice;
	font-size: .725em;
	text-align: right;
	/* margin-left:.5em; */
}

#pm .bskt .lines .line .qty form {
	line-height: 1;
}

#pm .bskt .lines .line .qty label,
#pm .bskt .lines .line .qty #update {
	display: none;
}

#pm .bskt .lines .line .qty button {
	-webkit-appearance: none;
	/*need a way to disable these in COMS */
	display: none;
}

#pm .bskt .lines .line .qty button {
	-webkit-appearance: none;
	background-color: var(--off-white);
	color: var(--dark-grey);
	font-size: 16px;
	padding: var(--half-spacing) var(--half-spacing);
	width: 2em;
	border: 1px var(--off-white) solid;
	cursor: pointer;
	display: inline-block;
	vertical-align: middle;
}

#pm .bskt .lines .line .qty button:hover,
#pm .bskt .lines .line .qty button:active {
	background-color: var(--red);
	color: var(--white);
}

#pm .bskt .lines .line .qty button.skuqtybsktsub {}

#pm .bskt .lines .line .qty button.skuqtybsktadd {}

#pm .bskt .lines .line .qty input.inputtext {
	display: inline-block;
	vertical-align: middle;
	text-align: center;
	border-radius: var(--border-radius);
	text-align: center;
	font-size: 1em;
	margin: 0 .5em;
}

/* remove item */

#pm .bskt .line .rem {
	grid-area: rem;
	text-align: center;
	/* align-self: center; */
}

#pm .bskt .line .rem input {
	font-family: var(--font-awesome);
	color: var(--grey);
	background-color: transparent;
	border: none;
	font-weight: 400;
}

/* if product is multi sku then show this in the same area as the quantity update */

#pm .bskt .lines .line .skuselect {
	grid-area: skuselect;
	align-self: end;
}

#pm .bskt .lines .line .skuselect select {
	margin: 0;
	font-size: small;
	width: auto;
}

/* remove item */

#pm .bskt .line .price {
	grid-area: price;
	text-align: right;
}

/* out of stock messages */

.oos {
	color: var(--error-color);
}

#pm .bskt .gifttext {
	grid-area: gifttext;
	font-size: .725em;
	margin-left: .5em
}

#pm .bskt .gifttext a {
	text-decoration: underline;
	padding: 0 .5em
}

#pm .bskt .giftwrap {
	grid-area: giftwrap;
	font-size: .725em;
	margin-left: .5em
}

#pm .bskt .giftwrap a {
	text-decoration: underline;
	padding: 0 .5em
}

.gtentry {
	grid-area: gtentry;
}

.gtentry li {
	display: block;
}

.gtentry .chars {
	font-size: .725em;
}

/* Basket Sample Lines
------------------------------------------------------- */

#pm .bskt .lines.sample {
	grid-area: samples;
}

/* Basket Subtotal
------------------------------------------------------- */

.prodsubtotal {
	/*why display this... we have this info in the totals area... */
	display: none;
	grid-area: basket-sub-total;
	text-align: right;
	font-size: 1.25em;
	margin-bottom: var(--spacing);
}

.prodsubtotal label {}

.prodsubtotal span {}

/* Delivery info
------------------------------------------------------- */

/* for free delivery messages */

#pm .bskt .header.freedel {
	grid-area: freedelivery;
	text-transform: none;
	font-size: 1em;
	padding: 0;
	display: none;
}

.header.delivery {
	/*doesn't exist but should be on the actual delivery header */
}

/* Shipping 
------------------------------------------------------- */

#bsktid .shipping {
	grid-area: shipping;
	background-color: var(--off-white);
	padding: 1rem;
	text-align: left;
}

#bsktid .shipping .header {
	display: none;
}

#bsktid .shipping .title {
	text-align: center;
}

#bsktid .shipping ul {
	margin: 0;
	padding: 0;
}

#bsktid .shipping li {
	list-style: none;
	margin-bottom: .5em;
}

#bsktid .shipping li.delivery p {
	text-align: center;
}

/*think these should be a header */

#bsktid .shipping li.delivery .store {
	/* display:none; */
}

#bsktid .shipping li.delivery .store h4 {
	display: inline;
	margin-left: 1em;
}

#bsktid .shipping li.delivery .address {
	/* display:none; */
}

#bsktid .shipping li.delivery .address h4 {
	display: inline;
	margin-left: 1em;
}

#bsktid .shipping ul li.ship {
	margin: 0;
	padding: 0;
	list-style: none;
	margin-bottom: var(--half-spacing);
	display: grid;
	grid-template-columns: 4em 1fr;
}

#bsktid .shipping ul li.ship input {
	margin: 0;
	padding: 0;
	margin-right: auto;
	font-size: 2em;
	-ms-transform: scale(1.5);
	/* IE 9 */
	-webkit-transform: scale(1.5);
	/* Chrome, Safari, Opera */
	transform: scale(1.5);
}

#bsktid .shipping ul li.ship label {
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: 1fr 100px;
	font-weight: normal;
}

#bsktid .shipping ul li.ship input[type="radio"]:checked+label {}

#bsktid .shipping ul li.ship label span {
	margin-left: var(--half-spacing);
	text-align: right;
}

#bsktid .shipping ul li.delivery.deliveryto form {
	display: grid;
	grid-template-columns: 1fr 100px;
	grid-template-areas: "title title" "postcode locate" "country country" "address options";
	margin-bottom: 1em;
}

#bsktid .shipping ul li.delivery.deliveryto form span {
	grid-area: title;
	text-align: center;
	text-align: left;
	display: none;
}

#bsktid .shipping ul li.delivery.deliveryto form input.postcode {
	grid-area: postcode;
}

#bsktid .shipping ul li.delivery.deliveryto form input.submit {
	grid-area: locate;
}

#bsktid #countryid {
	grid-area: country;
}

#bsktid .shipping ul li.delivery.deliveryto form .ship_edit {
	grid-area: country;
	text-align: center;
}

/*if only one country we show the country as a span - a bit redundant so hidden */

#bsktid .shipping .delivery.deliveryto form span {}

#bsktid .shipping ul li.delivery.collectstore {
	display: grid;
	color: var(--text-color);
	grid-template-columns: 1fr 1fr;
	grid-template-areas: "title title" "location location" "address options";
}

#bsktid .shipping ul li.delivery.collectstore label {
	grid-area: title;
}

#bsktid .shipping ul li.delivery.collectstore form {
	grid-area: location
}

#bsktid .shipping ul li.delivery.collectstore.info:before {
	display: none;
}

#bsktid .shipping ul li.delivery.collectstore p {
	padding: 0;
	margin: 0;
}

#bsktid .shipping ul li.delivery.collectstore .address {
	grid-area: address;
	margin-left: var(--spacing);
	text-align: left;
}

/*better code structure needed - is just a p if only one option is available*/

#bsktid .shipping ul li.delivery.collectstore #serviceid,
#bsktid .shipping ul li.delivery.collectstore .address+p {
	grid-area: options;
	align-self: end;
}

/* Basket Totals
------------------------------------------------------- */

.bskttotals {
	/*if we could move the basket actions (payment buttons, vouchers, surcharge) into the same div as the basket totals 
	we could go sticky */
	background-color: var(--off-white);
	grid-area: totals;
	text-align: center;
	padding: var(--spacing);
	padding-bottom: 0;
	display: grid;
	grid-template-columns: 1fr;
}

.bskttotals .total {
	margin: 0 2rem;
	margin-top: 1rem;
	font-size: 1.5em;
	text-align: left;
	display: grid;
	grid-template-areas: "label total";
	font-family: var(--heading-font);
}

.bskttotals .total label {
	grid-area: label;
}

.bskttotals .total span {
	grid-area: total;
	margin-bottom: var(--half-spacing);
	text-align: right;
}

.bskttotals .subtotal {
	margin: 0 2rem;
	display: grid;
	grid-template-areas: "label total"
}

.bskttotals .subtotal label {
	display: block;
	grid-area: label;
	text-align: left;
}

.bskttotals .subtotal span {
	display: block;
	grid-area: total;
	text-align: right;
}

/* Vouchers
------------------------------------------------------- */

.vouchentryaccord {
	grid-area: voucher;
	background-color: var(--off-white);
	padding: 0 1rem;
	text-align: center;
}

.vouchentryaccord ul,
.vouchentry ul {
	list-style: none;
}

.vouchentryaccord li,
.vouchentry li {
	list-style: none;
}

.vouchentryaccord li.pane {
	display: none;
}

#pm .bskt .vouchentryaccord .header {
	grid-template-columns: 1fr;
	font-size: 1rem;
	border: none;
	border: 0;
	padding: 0;
	font-size: .825rem;
	text-decoration: underline;
	align-items: center;
	padding: 1em;
}

#pm .bskt .vouchentryaccord .header img {
	display: none;
}

#pm .bskt .accordion .header.current {
	margin-bottom: 0;
	border-bottom-left-radius: 0;
	border-bottom-right-radius: 0;
	border-bottom: 0;
}

.vouchentryaccord .header img {
	/* width:1.5em; */
}

#pm .ul.accordion .vouchentryaccord .pane,
#pm .bskt ul.accordion .pane {
	padding: 1em;
	padding-top: 0;
	display: none;
	border-bottom-left-radius: var(--border-radius);
	border-bottom-right-radius: var(--border-radius);
	border-top: 0;
}

#pm .bskt ul.accordion li.pane ul {
	margin: 0;
}

.vouchentry ul.vouch {
	margin: 0;
	padding: 0;
	display: grid;
	grid-row-gap: .5em;
	grid-gap: 1em;
	grid-template-columns: 1fr 100px;
	grid-template-areas: "code submit"
}

.vouchentry .appliedpromovoucher {
	/* margin-top:1em; */
	padding: var(--half-spacing) var(--half-spacing);
	font-size: .725rem;
	;
}

.vouchentry .remove a {
	display: block;
	font-size: .725rem;
}

.remove input {
	width: 100%;
	display: block;
}

.vouchentry ul li {
	list-style: none;
	margin: 0;
	padding: 0;
}

.vouchentry ul li.info {
	grid-area: title;
	/*due to duplicate title when voucher applied */
	display: none;
}

.vouchentry ul li.vouchentry {
	grid-area: code;
}

.vouchentry ul li.vouchentry input {
	width: 100%;
	font-size: .725em;
}

.vouchentry .submit {
	grid-area: submit;
	font-size: .725em;
}

/* Basket Payment Buttons
------------------------------------------------------- */

.bsktbuttons {
	grid-area: buttons;
	text-align: center;
	padding: var(--spacing);
	margin-bottom: 1rem;
}

.bsktbuttons a.btn,
.bsktbuttons a.btn:hover {
	border: none;
	display: block;
	margin-bottom: 1em;
	background-color: var(--checkout-button);
}

#pm .sp_button {}

/*font awesome icons */

#pm .sp_button a.btn::before {
	font-family: var(--font-awesome);
	margin-right: var(--half-spacing)
}

/*Sagepay*/

#pm .sp_button.sagepay a.btn::before {
	content: '\f09d';
}

/*braintree*/

#pm .sp_button.braintree a.btn::before {
	content: '\f09d';
}

/*iwoca*/

#pm .sp_button.iwoca a.btn::before {
	content: '\f53a';
}

/*bacs*/

#pm .sp_button.invoice a.btn::before,
#pm .sp_button.bacs a.btn::before {
	content: '\f570';
	left: 0.825em;
}

/*lease */

#pm .sp_button a.btn.lease::before {
	content: '\f2b5';
}

/* continue shopping */

.bsktbuttons .cont a.btn {
	display: block;
	font-size: .825rem;
	border: 2px var(--button-color) solid;
	background-color: transparent;
	color: var(--button-color);
}

.bsktbuttons .startcheckout {
	grid-area: pay;
	margin-bottom: .5em;
}

.bsktbuttons .startcheckout a {
	color: var(--white);
	background-color: var(--checkout-button);
	border: 1px solid var(--checkout-button);
}

.bsktbuttons .startcheckout a:before {
	content: "\f023";
	font-family: var(--font-awesome);
	margin-right: 1rem;
}

.bsktbuttons .startcheckoutcollect {
	grid-area: collect;
	margin-bottom: .5em;
}

.bsktbuttons .startcheckout a.btn {
	display: block;
}

.bsktbuttons .clear {
	grid-area: empty;
}

.bsktbuttons .clear a.btn {
	display: block;
	margin-top: 1em;
}

.bsktbuttons .cont {
	grid-area: continue;
	/* display: none; */
}

/*promo content on basket - awful layout - why is this a ul?*/

#pm ul.prompane {
	grid-area: prompane;
	list-style: none;
	grid-gap: 0;
	grid-column-gap: 4em;
	margin: 0;
}

#pm ul.prompane li i {
	grid-area: icon;
}

#pm ul.prompane li span {
	grid-area: text;
	font-size: .825rem
}

/* delivery messages*/

.stddelinfo {
	grid-area: standarddelivery;
}

.priordelinfo {
	grid-area: prioritydelivery;
}

.priordelinfo,
.stddelinfo {
	display: grid;
	border-radius: var(--border-radius);
	background-color: var(--off-white);
	padding: var(--spacing);
	margin-bottom: 1rem;
	grid-template-areas: "icon message price" "icon details .";
	grid-template-columns: 4rem 1fr 5rem;
	grid-column-gap: 2rem;
}

.priordelinfo img,
.stddelinfo img {
	grid-area: icon;
}

.priordelinfo h4,
.stddelinfo h4 {
	grid-area: message;
	margin: 0;
}

.priordelinfo h5,
.stddelinfo h5 {
	grid-area: details;
	margin: 0;
}

.priordelinfo p,
.stddelinfo p {
	grid-area: price;
	margin: 0;
}

.ordertimer {
	font-size: .825rem;
}

#pm ul.prompane .returns {
	display: grid;
	grid-template-areas: "icon message ." "icon details . ";
	grid-template-columns: 4rem 1fr auto;
	grid-column-gap: 2rem;
	align-items: center;
}

#pm ul.prompane .returns img {
	grid-area: icon;
}

#pm ul.prompane .returns h4 {
	grid-area: message;
	margin: 0;
}

#pm ul.prompane .returns h5 {
	grid-area: details;
	margin: 0;
	font-family: var(--text-font);
	font-size: .825rem
}


/* -------------------------------------------------------------------------------------
=Accordion Checkout process Need !important to override jquery ui 
------------------------------------------------------------------------------------- */
#pmid.page_checkoutprocess {}

#pmid.page_checkoutprocess #pm{
	display:grid;
	grid-template-areas:"process breadcrumb";
	grid-template-columns:7fr 3fr;
	grid-column-gap:1em;
	position:relative;
}

/*this doesn't like grid */
#checkout_panel_processing,
#ro_accord_processing {
	display:none !important;
}

#pm .accord {}

/* Containers 
------------------------------------------------------- */
#ul_top{
	grid-area:top;
}
#ul_left{
	grid-area:left;
}
#ul_right{
	grid-area:right
}
#ul_bottom{
	grid-area:bottom;
}


/* typography 
------------------------------------------------------- */


/* Accordion tabs 
------------------------------------------------------- */
#pm .accord .ui-accordion-header {
	font-family: var(--heading-font);
	font-size:1.2em;
    margin: 0;
    position: relative;
    cursor: pointer;
    background:var(--featured-color);
}

#personalisation_panel, #gift_panel {
    border: none;
}

#checkout_accordion ul {
    list-style: none;
}

/* Customer Details
------------------------------------------------------- */
#basket_customer_details{
	display:grid;
	grid-template-areas:"top top"
						"left right"
						"bottom bottom";
	grid-column-gap:1rem;
	grid-template-columns:1fr 1fr;
}

#basket_customer_details input,
#basket_customer_details select,
#basket_customer_details textarea{
	width:100%;
}

#basket_customer_details li{
	margin-top:1rem;
}

#basket_customer_details li.help{
	font-size:.725em;
	margin-top:0;
}


/* Delivery Details 
------------------------------------------------------- */
#basket_delivery_details{
	display:grid;
	grid-template-areas:"left right"
		"bottom bottom";
	grid-gap:1rem;
	grid-template-columns:1fr 1fr;
}


#delivery_to_other {
	text-decoration:underline;
	margin-bottom:1em;
}

#basket_delivery_details input,
#basket_delivery_details select,
#basket_delivery_details textarea{
 width:100%;
}

#basket_delivery_details li{
	margin-top:1rem;
}

/* Delivery Date Details 
------------------------------------------------------- */
#basket_delivery_date{}

#basket_delivery_date h4{
	display:none;
}

#basket_delivery_date select{
	margin:1em 0;
	padding:.5em;
}

#basket_delivery_date input{
	width:100%;
}





/* Specific Fields 
------------------------------------------------------- */


/* Confirm Basket 
------------------------------------------------------- */
#basket_confirm_details{}
#basket_confirm_details .bsktsum {
	display: grid;
	grid-template-areas: "lines"
	"editbskt"
	"totals"
	"terms"
	"termsart"
	"continue";
}

#basket_confirm_details .bsktsum .lines{
	grid-area:lines;
	display:block;
	background-color:transparent;
}

#basket_confirm_details .bsktsum .editbskt{
	grid-area:editbskt;
}


#basket_confirm_details .bsktsum .editbskt span{
	float:none !important;
	font-family:var(--heading-font);
}
#basket_confirm_details .bsktsum .editbskt a{
	display:block;
	text-decoration:underline;
	margin-bottom:1rem;
	font-size:.825em;
	
}

#basket_confirm_details .bsktsum .totals{
	grid-area:totals;
}

#basket_confirm_details .bsktsum .terms{
	grid-area:terms;
	align-items:center;
	align-content:center;
	
}

#basket_confirm_details .bsktsum .terms h5{
	margin:0;
}

#basket_confirm_details .bsktsum .terms input{

	margin:1em;
}

#basket_confirm_details .bsktsum .termsart{
	grid-area:termsart;
	text-align:left;
	font-size:.825em;
}

#basket_confirm_details .bsktsum .continue{
	grid-area:continue;
}


#basket_confirm_details .bsktsum .continue input{
	width:100%;
}


/* Payment 
------------------------------------------------------- */
#checkout_accordion #payment_panel #psagepay {}
#checkout_accordion #payment_panel #psagepay.form .bt,
#checkout_accordion #payment_panel #psagepay.form .bb {}
#checkout_accordion #payment_panel #psagepay.form .bc {}
#checkout_accordion #payment_panel #psagepay h3 {}
#checkout_accordion #payment_panel #psagepay iframe {}




/* Breadcrumb pane 
------------------------------------------------------- */
#pm .accordbdcb {}

#pm .accordbdcb ul li.title {
	display:none;
}
#pm .accordbdcb .checkoutLogos{}
#pm .accordbdcb .checkoutLogos img{}
#pm .accordbdcb ul {
	
}
#pm .accordbdcb ul li {
	display:block;
	font-size:1em;
	padding:1em;
}
#pm .accordbdcb ul li.header {
	font-family:var(--heading-font);
	font-size:1.2em;
	background-color:var(--featured-color);
	color:var(--white);
	padding: .5rem;
	margin-bottom:.5rem;
}
#pm .accordbdcb ul li:last-child {}

#pm .accordbdcb ul li span {}


/* Delivery date selection 
------------------------------------------------------- */
#pm .deldates .delcapnone {}
#pm .deldates .delcapgone {}


/* Order info 
------------------------------------------------------- */
#pm .ordinfo table tr td {}
#pm .ordinfo h3 {}
#pm .ordinfo table tr td a {}


/* terms and conditions article in checkout
------------------------------------------------------- */
#pp {
    width: 1000px;
    margin: 0 auto;
    background-color: #fff;
}

#pp p, #pp h3, #pp h4 {
    margin: 0 1rem;
}

#pp h3, #pp h4 {
    margin-bottom: .5rem;
}



/* -------------------------------------------------------------------------------------
=Checkout Process
------------------------------------------------------------------------------------- */

#pt.checkouttop .ext {
	--breadcrumb-width: 1fr;
	--spacerwidth: calc((100% - var(--site-max-width)) / 2);
	grid-template-columns: var(--spacerwidth) 1fr var(--breadcrumb-width) var(--spacerwidth);
	grid-template-areas: ". logo breadcrumb .";
}

#pt.checkouttop .ext .pane {
	grid-area: breadcrumb;
	text-align: center;
}

#pt.checkouttop .ext .pane li {
	display: inline-block;
	margin: 0;
	margin-right: 1em;
	/* color:var(--white); */
}

#pt.checkouttop .ext .pane li:last-child {
	margin-right: 0em;
}

#pt.checkouttop .ext .pane li:before {
	font-family: var(--font-awesome);
	content: "\f054";
	display: inline-block;
	font-size: 1em;
	margin-right: 1em;
	color: var(--white);
}

#pt.checkouttop .ext .pane li:first-child:before {
	content: "";
	margin: 0;
	display: none;
}

.chksteps_prev,
.chksteps_curr,
.chksteps_next {
	text-transform: capitalize;
	font-family: var(--heading-font);
	font-weight: var(--heading-font-weight)
}

.chksteps_prev {
	color: var(--grey)
}

.chksteps_curr {
	color: var(--text-color)
}

.chksteps_next {
	color: var(--grey)
}

/* Signin/guest pane
------------------------------------------------------- */

#pmid.page_checkoutsignin {
	/* margin-top:4em; */
}

.checkoutsignin .signin {
	width: 50%;
	margin: 5em auto;
	display: grid;
	align-items: start;
	grid-template-columns: 1fr;
	grid-gap: 4em;
	grid-template-areas: "signin" "guest ";
}

.page_checkoutsignin .form#psign {
	grid-area: signin;
	width: auto;
}

.page_checkoutsignin .form#pguest {
	grid-area: guest;
	width: auto;
}

.page_checkoutsignin .form label {
	display: block;
}

.page_checkoutsignin form input,
.page_checkoutsignin form select {
	width: calc(100% - 2em);
}

.page_checkoutsignin form img {
	display: inline-block;
	vertical-align: top;
}

.page_checkoutsignin .form#psign .submit,
.page_checkoutsignin .form#pguest .submit {
	grid-column: 1/-1;
	width: auto;
	padding: var(--half-spacing) var(--spacing);
	margin: auto;
}

.exstregfield {
	display: none;
}

.page_delivery,
.page_checkout,
.page_checkoutsignin,
.page_delivery,
.page_shipping,
.page_payment {}

/* Address (delivery and invoice) 
------------------------------------------------------- */

/*this isn't needed */

.page_delivery form[name="back"] {
	display: none !important;
}

.page_delivery h3,
.page_checkout h3 {
	font-size: 2em;
	font-weight: var(--heading-font-weight);
	position: relative;
	z-index: 1;
	overflow: hidden;
	text-align: center;
	margin: 2rem;
}

.page_delivery form,
.page_checkout form {
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-template-areas: "address summary" "address continue" "address .";
	grid-column-gap: 1rem;
	padding-bottom: 2rem;
}

.page_delivery form input,
.page_checkout form input,
.page_delivery form select,
.page_checkout form select,
.page_delivery form textarea,
.page_checkout form textarea {
	width: calc(100% - 2em);
}

.page_delivery form img,
.page_checkout form img {
	display: inline-block;
	vertical-align: top;
}

.page_delivery form .terms,
.page_checkout form .terms {}

.page_delivery form .terms h5,
.page_checkout form .terms h5 {
	display: grid;
	grid-template-areas: "checkbox text";
	grid-template-columns: 2rem 1fr;
	align-items: center;
	font-family: var(--text-font);
	font-weight: normal;
	font-size: .825rem
}

.page_delivery form .terms input,
.page_checkout form .terms input {
	grid-area: checkbox;
	margin: 0;
	width: auto;
}

.page_delivery form .termsart,
.page_checkout form .termsart {
	text-align: left;
	font-size: .825rem;
}

/*class needed on this ul!*/

.page_delivery form>ul,
.page_checkout form>ul {
	grid-area: address;
}

.page_delivery .form li.info,
.page_checkout .form li.info {
	display: none;
}

.page_delivery .form li label,
.page_checkout .form li label {
	display: none;
}

.page_delivery .form li.reqmsg,
.page_checkout .form li.reqmsg {
	color: var(--error-color);
}

/*display corrections for same invoice as delivery address checkbox */

.page_delivery .form .deladd .chkbox {
	width: auto;
	margin-right: 1rem;
}

.page_delivery .form .deladd label {
	display: inline-block;
}

/*if member this shows */

.page_delivery li.chkbox {}

.page_delivery li.chkbox input {
	width: auto;
	margin: 0;
	margin-right: .5rem;
	display: inline-block;
	vertical-align: middle;
}

.page_delivery .chkbox .help {
	display: inline-block;
	vertical-align: middle;
}

.page_delivery form[name="delAddress"] {}

.page_delivery .remove {
	font-size: .825rem;
	color: var(--error-color)
}

/* Postcode Lookup
------------------------------------------------------- */

.page_delivery .pclup,
.page_checkout .pclup,
.page_delivery .pclupdel,
.page_checkout .pclupdel {
	display: grid;
	width: calc(100% - 2em);
	grid-template-columns: 1fr 1fr auto;
	grid-gap: 1em;
	grid-template-areas: "title title title" "postcode locate manual" "address address address";
	align-items: center;
}

#txtPostCodeLookup {
	grid-area: postcode;
}

#btnPostCodeLookup {
	grid-area: locate;
}

#pclupManualAddress {
	grid-area: manual;
	text-align: center;
}

span.or {
	grid-area: change;
	text-align: right;
	display: none;
}

#pnlMultiAddressOption,
#pnlMultiAddressOptionDel {
	grid-area: address;
}

#ddlMultiAddress,
#ddlMultiAddressDel {
	background-image: none;
	padding: .5em;
	width: 100%;
}

.page_delivery .pclup input,
.page_checkout .pclup input,
.page_delivery .pclupdel input,
.page_checkout .pclupdel input {
	width: auto;
	display: block;
	margin: 0;
}

/* Special Instructions
------------------------------------------------------- */

.form li.specialinst textarea {
	margin-bottom: 0;
}

/* Order Fulfilment/shipping
------------------------------------------------------- */

.page_shipping {}

.page_shipping .pmfull {
	margin: 0 auto;
	position: relative;
	width: calc(var(--site-max-width) / 2);
}

.page_shipping h3 {
	font-size: 2em;
	font-weight: var(--heading-font-weight);
	position: relative;
	z-index: 1;
	overflow: hidden;
	text-align: center;
	margin: 2rem;
}

.page_shipping select {
	width: 100%;
}

.page_shipping .service,
.page_shipping .shippinginfo,
.page_shipping .deliveryinfo {
	margin: 1rem 0;
}

.page_shipping .subtotal {
	margin: 1rem 0;
	display: grid;
	grid-template-areas: "label value";
	grid-template-columns: 1fr auto
}

.page_shipping .subtotal label {
	grid-area: label;
	font-family: var(--heading-font);
	font-weight: var(--heading-font-weight)
}

.page_shipping .subtotal span {
	grid-area: value;
	text-align: right;
}

.page_shipping .cont a {
	display: block;
}

/* Payment
------------------------------------------------------- */

.page_payment {}

.page_payment #pm {
	margin: 0 auto;
	position: relative;
	width: calc(var(--site-max-width) / 2);
	max-width: 600px;
	/* 
	using grid layout just isn't feasible here with the way the content blocks are
	it breaks/works depending on the size of the basket
	
	display: grid; 
	grid-template-columns: 1fr 1fr;
	grid-template-areas:
		"header header"
		"payment payment"
		"cont cont"
		"details details"
		"summary summary";*/
}

.page_payment #pm .bdcb {
	display: none;
}

.page_payment #pm .bt {
	grid-area: header;
	text-align: center;
	margin-bottom: 1rem
}

.page_payment h3 {
	font-size: 2em;
	font-weight: var(--heading-font-weight);
	position: relative;
	z-index: 1;
	overflow: hidden;
	text-align: center;
	margin: 2rem;
}

.termsagreemsg {
	margin-bottom: 1em;
	text-align: center;
}

.termsart {
	margin-bottom: 1em;
	text-align: center;
}

.termsmsgcontainer {}

.page_payment #pm form.payoptsform {
	grid-area: payment;
	/* display: grid; */
	grid-template-areas: "options"
		"pay"
}

.page_payment #pm form.payoptsform .payopts {
	margin: auto;
}

/*only used in testing - cash payment */
.pt_cash {
	grid-area: cash;
}

/* custom radio buttons with images */
.page_payment #pm .sp_button {
	margin-bottom: 1em;
	position: relative;
}

.page_payment #pm .sp_button label,
.page_payment #pm .sp_button input {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	cursor: pointer;
}

.page_payment #pm .sp_button input[type="radio"] {
	opacity: 0;
	z-index: 100;
}

.page_payment #pm .sp_button label {
	z-index: 90;
	line-height: 1.8em;
	color: transparent;
}

.page_payment #pm .sp_button input {
	grid-area: check;
	display: block;
}

.page_payment #pm .sp_button.pt_debitcreditcard {
	grid-area: debit;
	background: url('/bouk/i/art/card.webp') #fff no-repeat center;
	aspect-ratio: 1200/117;
	background-size: contain;
}

.page_payment #pm .sp_button.pt_debitcreditcard input[type="radio"]:checked+label {
	background: url('/bouk/i/art/card_checked.webp') #fff no-repeat center;
	aspect-ratio: 1200/117;
	background-size: contain;
}

.page_payment #pm .sp_button.pt_invoice {
	grid-area: invoice;
	cursor: pointer;
	background: url('/bouk/i/art/invoice.webp') #fff no-repeat center;
	aspect-ratio: 1200/117;
	background-size: contain;
	margin-bottom: 1em;
}

.page_payment #pm .sp_button.pt_invoice input[type="radio"]:checked+label {
	background: url('/bouk/i/art/invoice_checked.webp') #fff no-repeat center;
	aspect-ratio: 1200/117;
	background-size: contain;
}

.page_payment #pm .sp_button.pt_paypal {
	grid-area: debit;
	background: url('/bouk/i/art/paypal.webp') #fff no-repeat center;
	aspect-ratio: 1200/117;
	background-size: contain;
}

.page_payment #pm .sp_button.pt_paypal input[type="radio"]:checked+label {
	background: url('/bouk/i/art/paypal_checked.webp') #fff no-repeat center;
	aspect-ratio: 1200/117;
	background-size: contain;
}

.page_payment #pm .bc form[action="/payment.aspx"] input[type="submit"] {
	grid-area: pay;
	display: block;
	margin-top: 1em;
	background-color: var(--checkout-button);
	border: 1px solid var(--checkout-button);
	color: var(--White);
	width: 100%;
	padding: .5em 1em;
	text-transform: capitalize;
	font-family: var(--headingFontAlt);
	font-weight: 600;
	font-size: 1.5em;
	margin-bottom: 1em;
}

.page_payment #pm .bc form[action="/payment.aspx"] input[type="submit"] {
	grid-area: pay;
	display: block;
	margin-top: 1em;
	background-color: var(--checkout-button);
	border: 1px solid var(--checkout-button);
	color: var(--White);
	width: 100%;
	padding: .5em 1em;
	text-transform: capitalize;
	font-family: var(--headingFontAlt);
	font-weight: 700;
	font-size: 1.5em;
	margin-bottom: 1em;
}

/*payment article */
.page_payment #pm .art {
	grid-area: header;
}

.page_payment #pm .art ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.page_payment #pm .art li {
	display: grid;
	grid-template-columns: auto 1fr;
	grid-template-areas: "icon text";
	grid-gap: var(--spacing);
	padding: 1rem;
	border: 1px solid var(--border-color);
	border-radius: var(--border-radius);
	margin-bottom: 1rem;
}

.page_payment #pm .art li:last-child {
	margin-bottom: 0;
}

.page_payment #pm .art li i {
	grid-area: icon;
	color: var(--navy)
}

.page_payment #pm .art li span {
	grid-area: text;
	font-size: .825rem
}

.payoptentry,
#psagepay {
	grid-area: details;
}

.page_payment #pm form.payoptsform .submitcontainer {
	grid-area: pay;
	text-align: center;
}

.page_payment input[type="submit"] {
	display: block;
	padding: 1rem 0;
	width: 100%;
}

.confirmorder {
	grid-area: details;
}

/* Basket Summary
------------------------------------------------------- */

.bsktsum {
	grid-area: summary;
	display: grid;
	grid-template-areas: "title" "totals" "summary"
}

.bsktsum h4 {
	display: none;
}

/*we only want the header on the payment page*/
.page_payment .bsktsum h4 {
	grid-area: title;
	text-align: center;
	margin: .5em;
	display: block;
}

/*but we don't want the basket lines summary on the payment page*/
.page_payment .bsktsum .lines {
	display: none;
}

/*basket lines 
--------------------------*/
.bsktsum .lines {
	grid-area: summary;
	background-color: var(--off-white);
	/* padding: 1em; */
	border-radius: var(--border-radius);
	margin-bottom: 1em;
	display:none;
}

.bsktsum .lines .line {
	align-items: start;
	display: grid;
	grid-template-columns: 2em 1fr 2ch 8ch;
	grid-template-areas: "thumb desc qty price" "thumb . . .";
	grid-column-gap: .5rem;
	border-bottom: 1px solid var(--border-color);
	padding-bottom: .5em;
	margin-bottom: 1em;
}

.bsktsum .lines .line:last-child {
	border-bottom: none;
}

.bsktsum .lines .line .unitprice {
	display: none;
}

.bsktsum .lines .thumb {
	grid-area: thumb;
	list-style: none;
}

.bsktsum .lines .thumb img {
	margin: 0 !important;
}

/* Product Info - in list form */
.bsktsum .lines .prodinfo {
	grid-area: desc;
	list-style: none;
}

.bsktsum .lines li {
	font-size: .725rem;
	margin-left: .5rem;
	display:none;
}

.bsktsum .lines li.descr {
	display:block;
	font-size: .825rem;
	font-family: var(--heading-font);
	font-weight: 500;
	margin-left: 0;
}

.bsktsum .lines li.flags {}

.bsktsum .lines li.flags img {
	margin: 0;
	max-width: 100%;
}

.bsktsum .lines .qty {
	grid-area: qty;
	font-size: .825em;
}

.bsktsum .lines .qty label {
	display: none;
}

.bsktsum .lines .price {
	grid-area: price;
	font-size: .825em;
	text-align: right;
}

.bsktsum .totals {
	grid-area: totals;
	padding: 0;
	border-radius: var(--border-radius);
	margin-bottom: 1em;
}

.bsktsum .totals .subtotal {
	display: grid;
	grid-template-areas: "label value";
	grid-template-columns: 1fr 20ch;
	grid-gap: .5em;
	margin-bottom:1rem;
}

.bsktsum .totals label {
	grid-area: label;
}

.bsktsum .totals span {
	grid-area: value;
	text-align: right;
}

.bsktsum .totals .subtotal:last-child {
	/* font-family: var(--heading-font); */
	text-align: left;
	font-size: 1.2em;
	font-weight:600;
}

.bsktsum .totals .subtotal:last-child label {
	display: inline-block;
	margin-right: .5em;
	font-family: var(--text-font);
}

.bsktsum .totals .subtotal:last-child span {}

.ordertotal {}

/* Continue Checkout Process
------------------------------------------------------- */
.page_delivery .contbtn,
.page_checkout .contbtn {
	grid-area: continue;
}

.page_delivery .contbtn input,
.page_checkout .contbtn input {
	width: 100%;
	background-color: var(--checkout-button);
	border-color: var(--checkout-button);
}

.forinvoice {}

.page_delivery .forinvoice .chkbox label {}

/* -------------------------------------------------------------------------------------
=MyAccount
------------------------------------------------------------------------------------- */
/* is this the sign in page form */
.form.myaccount#psign {}
.page_useraccount{}

.page_useraccount #pl,
.page_orderinfo #pl,
.page_register #pl{
	/*display:none;*/
}


/* account icons
------------------------------------------------------- */

.page_useraccount #pm li.icon{
	display:inline-block;
	margin-right:1em;
}

.page_useraccount #pm li.icon a.img{
    display:block;
    text-align:center;
    border:1px solid var(--border-color);
}

.page_useraccount #pm li.icon a.lnk{
	display:block;
    text-align:center;
    margin:.5em auto;
}


.page_useraccount #pm li.icon a.img img{
	display:block;
	margin:auto;
	   
}

.page_useraccount #pm h4 {
	font-size:1.5em;
	color:var(--text-color);
	font-family:var(--heading-font);
	margin: 2rem 0;
	margin-bottom:2rem;
	position: relative;
	z-index: 1;
	overflow: hidden;
	text-align: center;
}

.page_useraccount #pm ul.orders,
.page_useraccount #pm ul.contact,
.page_useraccount #pm ul.details{
	display:grid;
	grid-template-columns:repeat(5, 1fr);
	text-align:left;
}

.page_useraccount #pm ul.orders img,
.page_useraccount #pm ul.contact img,
.page_useraccount #pm ul.details img{
	max-width:100%;
	height:auto;
}



/* Account messages
------------------------------------------------------- */
.acctmsg h3{
	text-align:center;
}

/* account menu panel
------------------------------------------------------- */
	
#pmam + .pmfull{
	width: calc(var(--site-max-width) - 2rem);
}

/* this shows on other account pages - is no longer needed with the menu button*/
a.myacct{
	/* display:none; */
}

/* show/hide menu button */
#mamtrigbtn {
	vertical-align: middle;
	text-align: center;
	padding: var(--half-spacing) var(--spacing);
	border: var(--border-width) solid var(--border-color);
	border-radius: var(--border-radius);
	cursor: pointer;
	font-size: .825rem;
	font-family: var(--text-font);
	font-weight: var(--text-font-weight);
	display:inline-block;
}

#mamtrigbtn span{
	display:block;
}

#mamtrigbtn span:before {
	content: "\f7f3";
	font-family: var(--font-awesome);
	display: inline-block;
	font-size: 1em;
	margin-right: .5rem;
}
	
#pmam .myacctmenu{
	height: 100%;
	width: 50%; /* 0 width - change this with JavaScript */
	max-width:300px;
	position: fixed;
	z-index: 10001; 
	top: 0; 
	left: 0;
	background-color: var(--popout-color);
	overflow-x: hidden; /* Disable horizontal scroll */
	transition: var(--transition);
	box-shadow: var(--box-shadow);
	padding:1rem;
	display:none;
}

#pmam .myacctmenu.showmyacctmenu{
	display:block;
}

#pmam li{
	list-style:none;
	margin-bottom:.5rem;
}

/*how many times am I going to add this back in... */
/*we don't want the icons here! */
#pmam li a.img{
	display:none;
}


.fsclsdiv .fsclsspn{
	display:inline-block;
}

/* close member panel button */
.mamclsdiv {
	text-align:right;
}

.mamclsdiv .mamclsspn{
	display:inline-block;
	border:1px solid var(--off-white);
	color:var(--grey);
	background-color:var(--off-white);
	border-radius:50%;
	font-family:monospace;
	padding:.125rem;
	margin:0rem;
	width:1rem;
	height:1rem;
	line-height:1;
	text-align:center;
	cursor:pointer;
	display:inline-block;
}

/* account recent items
------------------------------------------------------- */
.page_useraccount .ritm{
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	grid-column-gap: var(--grid-spacing-horizontal);
	grid-row-gap: var(--grid-spacing-vertical);
	position: relative;
	margin: 1em 0;
}

.page_useraccount .ritm h3.header{
	grid-column:1/-1;
	text-align:center;
	font-size:2.5em;
}

/* account articles
------------------------------------------------------- */
.page_useraccount .arts{
	grid-area:memberarts;
}

/* account 
------------------------------------------------------- */
.page_useraccount .carousel.prod{
	grid-area:memberarts;
}

/* page_orderinfo
------------------------------------------------------- */
.page_orderinfo{}

.page_orderinfo ul.order,
.page_orderinfo ul.order span,
.page_orderinfo ul.order label{
	display:block;
}

.page_orderinfo ul.order li{
	list-style:none;
	margin-bottom:1em;
}


/* member orders view 
------------------------------------------------------- */
.member-orders{
	margin:1em 0
}

/* Wishlists 
------------------------------------------------------- */
.wishlist{}
/* -------------------------------------------------------------------------------------
=ConfirmationPage 
------------------------------------------------------------------------------------- */

.page_confirmation {}

.page_confirmation li {
	list-style: none;
}

.page_confirmation .header {
	font-size: 1.5em;
}

.page_confirmation .subhead {
	font-size: 1.25em;
	margin-bottom: 1rem;
}

.page_confirmation .header {
	display: block;
	font-family: var(--heading-font);
	font-weight: var(--heading-font-weight);
	position: relative;
	z-index: 1;
	overflow: hidden;
	text-align: center;
	margin-bottom: 2rem;
}

.page_confirmation .subhead {
	display: block;
	font-family: var(--heading-font);
	font-weight: var(--heading-font-weight);
	position: relative;
	z-index: 1;
	overflow: hidden;
	text-align: center;
	margin-bottom: 2rem;
}

.page_confirmation .info {
	text-align: center;
}

.page_confirmation .info li {
	margin-bottom: 1rem;
}

.page_confirmation .info li.subhead:before,
.page_confirmation .info li.subhead:after {
	content: '';
	display: none;
}

/* Basket Line items
------------------------------------------------------- */

.page_confirmation .conf .order {}

.page_confirmation .conf .order .line {
	display: grid;
	grid-gap: .5em;
	grid-template-columns: 64px 1fr auto 100px;
	grid-template-areas: "icon desc qty price";
	padding: 1em;
	align-self: center;
	align-items: start;
}

/* Image */

.page_confirmation .conf .order .line img {
	margin: 0 !important;
}

/* Product title*/

.page_confirmation .conf .order .line .descr {
	align-self: start;
	font-size: 1rem;
	font-family: var(--heading-font);
	font-weight: var(--heading-font-weight);
}

.page_confirmation .conf .order .line .price {
	text-align: right;
	font-family: var(--heading-font);
	font-weight: var(--heading-font-weight);
	align-self: start;
}

/* Basket Subtotal
------------------------------------------------------- */

.page_confirmation .conf .order .subtotal {
	padding: 1em;
	border-top: 1px var(--border-color) solid;
	text-align: right;
}

.page_confirmation .conf .order .subtotal label {
	margin-right: 1em;
}

.page_confirmation .conf .order .subtotal span {
	font-size: 1.2em;
	font-family: var(--heading-font);
	font-weight: var(--heading-font-weight);
}

.page_confirmation .conf .order .address {
	text-align: center;
	margin-bottom: 4rem;
}

/* Post order customer registration panel
------------------------------------------------------- */

.page_confirmation .conf .ordreg {
	padding: 1em;
	margin: 1em 0;
}

.page_confirmation .conf .ordreg input {
	margin: .5em 0;
}

.page_confirmation .conf .ordreg .info {
	margin: .5em 0;
}

.page_confirmation .conf .ordreg .help {
	font-size: .725em;
	padding: 1em 0
}

.success .form li {}

/* -------------------------------------------------------------------------------------
=Sitemap 
------------------------------------------------------------------------------------- */

#pm .smap ul {
	list-style-position: inside;
	list-style: none;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
}

#pm .smap ul li {}

/* First Level */

#pm .smap ul li {}

#pm .smap ul li a {
	font-weight: var(--heading-font-weight);
	font-size: 1.2em;
}

/* Second Level */

#pm .smap ul li ul {
	grid-template-columns: 1fr;
}

#pm .smap ul li ul li {
	width: 100%;
}

#pm .smap ul li ul li a {
	font-weight: normal;
	font-size: 1em;
}

/* Third Level */

#pm .smap ul li ul li ul li a {
	font-weight: normal;
}

/* -------------------------------------------------------------------------------------
=Client Specific Stylings 
------------------------------------------------------------------------------------- */

/*something is writing the word "each" on the product page - don't want it so hiding it! */
p.generic{
	display:none;
}

/* Custom CSS 
------------------------------------------------------- */

/* home page
------------------------------------------------------- */
#site.home #pc .imgcont{
	text-align:center;

	display:grid;
	grid-template-areas:"image";
}

#site.home #pc .imgcont picture{
	grid-area:image;
}

#site.home #pc .imgcont .slideCont{
	background-color:rgba(255, 255, 255, 70%);
	margin:auto;
	grid-area:image;
	outline: 1px solid var(--featured-alt-color);
	outline-offset: -1em;
	padding:2em 4em;
}
/* ------------------------------------------------------------------------------------
	SCREEN - v6 nav 2025
	Filename : nav.css
	Last Updated : 16. 01. 2025
	Copyright :(c) 2025 Etail Systems Ltd
	Author : Etail Systems Ltd
------------------------------------------------------------------------------------- */

:root{
	--menu-line-height:50px;
}

picture,
picture img{
	display:block;
}

/* menu toggle - hidden by default, shows on mobile/smaller viewport
------------------------------------------------------- */
.home-hamburger {
	grid-area: nav-start;
	display: none;
	z-index: 1000;
}

.home-hamburger .visible-xs {
	visibility: hidden;
}

/*wrapper 
------------------------------------------------------- */
.nav-wrapper *,
.nav-wrapper *:before,
.nav-wrapper *:after {
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

.nav-wrapper {
	grid-area:nav;
	position: relative;
	width: 100%;
	min-height: var(--navbar-height);
	margin: 0 auto;
	text-align:center;
	background-color:var(--navbar-color);
	border-bottom: 2px var(--featured-alt-color) solid;
}

.nav-wrapper ul,
.nav-wrapper li{
	margin:0;
	padding:0;
	list-style: none;
}

/* -------------------------------------------------------------------------------------
=Top Nav
------------------------------------------------------------------------------------- */

.nav-wrapper .nav {
	margin: 0 auto;
	padding: 0;
	list-style: none;
	position: relative;
	/*used to stop the gaps with inline block stuff
	font-size:0;*/
	width: 100%;
	max-width: var(--menu-max-width);
	text-align:center;
	color:var(--navbar-dropdown-text-color);
}

ul.nav>li {
	display:inline-block;
}

/* top nav links
------------------------------------------------------- */
ul.nav .l0>a,
ul.nav .l1>a{
	display: block;
	line-height:var(--menu-line-height);
	/* if drop down icon is being used */
	padding: 0 calc(1em + 6px) 0 0.5em;
	color: var(--navbar-heading-color);
	font-family:var(--navbar-heading-font);
	font-size:var(--navbar-heading-font-size);
	text-decoration: none;
}

ul.nav>li>a:only-child {
	padding: 0 1em 0 1em;
}

@media(min-width:922px) {
	ul.nav>li>a:hover,
	ul.nav>li:hover>a {
		background: var(--navbar-active-color);
		color:var(--navbar-active-text-color);
		/*don't change the font weight on hover unless you want elements to shift left/right as the size changes */
	}
}
ul.nav>li.active-menu-item>a,
ul.nav>li.first-menu-item>a {
	background: var(--navbar-active-color);
	color:var(--navbar-active-text-color);
	font-weight:600;
}

ul.nav>li>a .fa {
	position: relative;
	width: 24px;
}

ul.nav>li>a>img {
	max-width: 16px;
	display: block;
}

/* Classic Dropdown
-------------------------------------------------------------------------------------------------------------- */

/* dropdown icons
------------------------------------------------------- */
.nav .deptlink{
	display:grid;
}


.nav .classic .deptlink{
	display:grid;
	grid-template-areas:"link popout";
	grid-template-columns:1fr 2em;
	align-items:center;
}

.nav .classic .deptlink a.img{
	grid-area:image;
	padding:.5em;
}

.nav .classic .deptlink a.txt{
	grid-area:link;
	display:block;
	padding:.5em 1em;
	font-family:var(--text-font);
	font-weight:600;
	font-size:var(--navbar-heading-font-size);
	/* color:var(--navbar-dropdown-text-color); */
}

/* css arrows if has child item */
.deptlink:after{
	font-family: var(--font-awesome);
	text-decoration: none;
	font-size: 16px;
	padding: 0;
	content: '\f105';
	grid-area:popout;
	margin:auto;
	text-align:center;
	/* outline:1px red solid; */
}

.deptlink:only-child:after,
.l3 .deptlink:after{
	content: "";
}

ul.nav>li.classic {
	display:inline-block;
	position:relative;
}

/* 2nd Level
------------------------------------------------------- */
ul.nav>li>ul.l2,
ul.nav>li>.menu-drop-down{
	position: absolute;
	width: var(--navbar-dropdown-width);
	z-index:1001;
	text-align:left;
	background: var(--navbar-dropdown-color);
	-webkit-box-shadow: var(--box-shadow);
	-moz-box-shadow: var(--box-shadow);
	box-shadow: var(--box-shadow);
}

ul.nav>li>ul.l2 li:hover {
	background: var(--navbar-active-color);
	color:var(--navbar-active-text-color);
}



/* 3rd Level
------------------------------------------------------- */

ul.nav>li>ul>li>ul.l3{
	position: absolute;
	width: var(--navbar-dropdown-width);
	z-index:1001;
	text-align:left;
	background: var(--navbar-dropdown-color);
	-webkit-box-shadow: var(--box-shadow);
	-moz-box-shadow: var(--box-shadow);
	box-shadow: var(--box-shadow);
	color:var(--navbar-dropdown-text-color);
	left: var(--navbar-dropdown-width);
	top: 0;
}


/* 4th Level
------------------------------------------------------- */
ul.nav>li>ul>li>ul>li>ul.l4,
ul.nav>li>ul>li>ul>li>ul.l5{
	display:none;
}

/* this class should only be applied to top level menu items if their sub menu flows outside of the viewport,
used for dropdowns that are close to the right edge - this change should align the right edge of the dropdown to the right edge of the screen
removing horizontal scroll
*/

.over .l2{
	/* outline:1px red solid; */
	right:0;
}
ul.nav>li.over>ul>li>ul.l3,
ul.nav>li.popl>ul>li>ul.l3{
	left: auto;
	right: var(--navbar-dropdown-width);
		-webkit-box-shadow: var(--box-shadow-alt);
	-moz-box-shadow: var(--box-shadow-alt);
	box-shadow: var(--box-shadow-alt);
}


/* -------------------------------------------------------------------------------------
=Mega-menu / Mega-menu-classic 
------------------------------------------------------------------------------------- */

/* Mega Menus */

ul.nav>li.mega-menu-classic>div,
ul.nav>li.mega-menu>div {
	position: absolute;
	z-index:1001;
	width: var(--menu-max-width);
	height: auto;
	top: var(--navbar-height);
	left: 0;
	background: var(--navbar-dropdown-color);
	overflow: hidden;
	-webkit-box-shadow: var(--box-shadow);
	-moz-box-shadow: var(--box-shadow);
	box-shadow: var(--box-shadow);
}

/* Mega Menu - Clasic */
.mega-menu-classic{}

.mega-menu-classic .menu-grid > .menu-row ul.l2{
	display:grid;
	grid-template-columns:repeat(5,1fr);
	grid-gap:1rem;
	margin-bottom:1rem;
}

.mega-menu-classic .menu-grid > .menu-row ul.l2  a.txt{
	font-family:var(--heading-font);
	font-weight:var(--heading-font-weight);
}



.mega-menu-classic .menu-grid > .menu-row ul.l3{
	text-align:left;
}

.mega-menu-classic .menu-grid > .menu-row ul.l3  a.txt{
	font-family:var(--text-font);
	font-weight:var(--text-font-weight);
}

.nav .mega-menu-classic .deptlink{
	display:grid;
	grid-template-areas:
		"image";
	grid-template-columns:1fr;
	align-items:end;
}

.nav .mega-menu-classic .deptlink a.img{
	grid-area:image;
}

.nav .mega-menu-classic .deptlink a.img img{
	width:100%;
}

.nav .mega-menu-classic .deptlink a.txt{
	grid-area:image;
	background-color:rgba(255, 255, 255, 50%);
	/* margin:auto; */
	padding:1rem 1rem;
	font-family:var(--heading-font);
	font-weight:var(--heading-font-weight);
	font-size:1.125em;
	min-height:5em;
	align-content:center;
}

.mega-menu-classic .deptlink:after{
	content: "";
	display:none;
}

/* CONTENT GRID */
div.menu-grid,
div.menu-grid-lined {
	position: relative;
	width: 100%;
	padding: 0;
	margin: 0;
}

div.menu-grid>div.menu-row {
	position: relative;
	padding:var(--half-spacing);
	height:auto;
}

/*  Content Related */
ul.nav>li.mega-menu-classic>div ul{
	margin: 0;
}

/* don't show l2;s */
.mega-menu-classic .l2 .menu-grid-lined{
	display:none;
}

/* Mega Menu */
.mega-menu .menu-grid > .menu-row ul{
	display:grid;
	grid-template-columns: repeat(5,1fr);
	grid-gap:1rem;
}


.nav .mega-menu .deptlink{
	display:grid;
	grid-template-areas:
		"image"
		"link";
	grid-template-columns:1fr;
	align-items:center;
	text-align:center;
}

.nav .mega-menu .deptlink a.img{
	grid-area:image;
}

.nav .mega-menu .deptlink a.img img{
	width:100%;
}

.nav .mega-menu .deptlink a.txt{
	grid-area:link;
	display:block;
	padding:.5em;
}



ul.nav>li.mega-menu>div>ul.mega-menu-nav {
	position: relative;
	width: var(--navbar-dropdown-width);
	height: 100%;
	margin:0;
	/* height: 500px;  if you don't want javascript to define height, use manual height */
	left: 0;
	top: 0;
	background: var(--navbar-sidebar-color);
	color:var(--navbar-sidebar-text-color);
}


/*side bar items */
ul.nav > li.mega-menu > div > ul.mega-menu-nav > li > .deptlink{
	display:grid;
	grid-template-areas:
		"image title popout";
	grid-template-columns:3em 1fr 1em;
	align-items:center;
	text-align:left;
	min-height:var(--navbar-dropdown-item-height);
	padding:.5em;
}

ul.nav > li.mega-menu > div > ul.mega-menu-nav > li:hover > .deptlink{
	background-color:var(--navbar-active-color);
	color:var(--white);
}


ul.nav > li.mega-menu > div > ul.mega-menu-nav > li > .deptlink a.img{
	display:block;
	grid-area:image;
	padding:.5em;
}

ul.nav > li.mega-menu > div > ul.mega-menu-nav > li > .deptlink a.txt{
	display:block;
	grid-area:title;
	font-family:var(--heading-font);
}

ul.nav > li.mega-menu > div > ul.mega-menu-nav > li:hover > .deptlink a.txt{
text-decoration:none;
}



/*sort out icons - none in side bar */
.mega-menu-nav .l2 .deptlink .img{
	display:none;
}

ul.nav > li.mega-menu > div > ul.mega-menu-nav > li.active-menu-item > .deptlink
ul.nav > li.mega-menu > div > ul.mega-menu-nav > li.first-menu-item > .deptlink {
  background: var(--navbar-sidebar-hover-color);
}

ul.nav>li.mega-menu>div>ul.mega-menu-nav>li>a {
	display: block;
	line-height: 40px;
	padding: 0 15px;
	text-decoration: none;
}

ul.nav>li.mega-menu>div>ul.mega-menu-nav>li.active-menu-item>a,
ul.nav>li.mega-menu>div>ul.mega-menu-nav>li.first-menu-item>a {
	background: #e6e6e6;
}

ul.nav>li.mega-menu>div>ul.mega-menu-nav>li>div.menu-grid {
	position: absolute;
	width: calc(var(--menu-max-width) - var(--navbar-dropdown-width));
	height: auto;
	max-height:100%;
	min-height: 100%;
	left: var(--navbar-dropdown-width);
	top: 0;
	background: var(--navbar-popout-color);
}

.mega-menu-nav .l3 .deptlink .img{
	display:block;
}

ul.nav>li.mega-menu>div>ul.mega-menu-nav>li:hover>a {
	background: #ddd;
}



.mega-menu-nav .l4 {
	display:none;
}



.nav-wrapper .visible-xs {
	visibility: hidden;
	position: absolute;
}
/* DEVICES EXCEPT MOBILE/tablet */
@media(min-width:991px) {

	/*  CLASSIC 2ND, 3RD, 4TH LEVEL --> HIDE ON NON-MOBILE */
	ul.nav>li>ul,
	ul.nav>li>ul>li>ul,
	ul.nav>li>ul>li>ul>li>ul {
		/* hide */
		visibility: hidden;
		opacity: 0;
	}
	/*  CLASSIC 2ND, 3RD, 4TH LEVEL --> SHOW ON NON-MOBILE WHEN HOVERED TO PARENT */
	ul.nav>li:hover>ul,
	ul.nav>li>ul>li:hover>ul,
	ul.nav>li>ul>li>ul>li:hover>ul {
		/* show */
		visibility: visible;
		opacity: 1;
	}
	/*  MEGA, MEGA BLOG, MEGA SHOP --> HIDE ON NON-MOBILE */
	ul.nav>li.mega-menu-classic>div,
	ul.nav>li.mega-menu>div {
		/* hide */
		visibility: hidden;
		opacity: 0;
		z-index:-1001;
	}
	/*  MEGA, MEGA BLOG, MEGA SHOP --> SHOW ON NON-MOBILE */
	ul.nav>li.mega-menu-classic:hover>div,
	ul.nav>li.mega-menu:hover>div {
		visibility: visible;
		opacity: 1;
		z-index:1001;
		background: var(--navbar-dropdown-color);
	}
	/*  MEGA BLOG */
	ul.nav>li.mega-menu>div>ul.mega-menu-nav>li>div:not(.deptlink) {
		/* hide */
		visibility: hidden;
		opacity: 0;
	}
	ul.nav>li.mega-menu:hover>div>ul.mega-menu-nav>li.active-menu-item>div,
	ul.nav>li.mega-menu:hover>div>ul.mega-menu-nav>li.first-menu-item>div	{
		visibility: visible;
		opacity: 1;
	}
	ul.nav>li.mega-menu>div>ul.mega-menu-nav>li:hover>div {
		visibility: visible;
		opacity: 1;
		z-index: 101;
	}

	ul.nav>li.l1>a:not(:only-child):after {
		/* css down-arrows if has child item */
		font-family: var(--font-awesome);
		text-decoration: none;
		content: '\f107';
		font-size:1rem;
		position: absolute;
		margin-left: 5px;
	}
	ul.nav>li:hover>a:after {
		-webkit-transform: rotate(-180deg);
		-moz-transform: rotate(-180deg);
		-o-transform: rotate(-180deg);
		-ms-transform: rotate(-180deg);
		transform: rotate(-180deg);
	}
	

	

	ul.nav>li.mega-menu>div>ul.mega-menu-nav>li.active-menu-item>a:after,
	ul.nav>li.mega-menu>div>ul.mega-menu-nav>li.first-menu-item>a:after,
	ul.nav>li.mega-menu>div>ul.mega-menu-nav>li:hover>a:after {
		content: "";
		position: absolute;
		right: 0;
		margin-top: 13px;
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 6px 8px 6px 0;
		border-color: transparent #fff transparent transparent;
	}
	
}

/* ################## RESPONSIVE STYLES ###################### */

@media(max-width:992px) {

	/*start showing the menu toggle icon */
	.home-hamburger{
		display:block;
		z-index: 1000;
	}

	.home-hamburger .visible-xs {
		visibility: visible;
	}

	div.nav-wrapper .hidden-xs {
		visibility: hidden;
		display: none;
	}
	div.nav-wrapper {
		z-index:1001;
		background:var(--navbar-color);
	}
	.nav-wrapper .visible-xs {
		visibility: visible;
		position: absolute;
		left: 0;
		top: 0;
	}


	/* MENU DROPDOWN TOGGLE - MOBILE */
	span.dropdown-toggle {
		grid-area:toggle;
		align-self:center;
		margin:auto;
		z-index: 1000000;
		cursor: pointer;
	}

	span.dropdown-toggle:after {
		/* css down-arrows if has child item */
		font-family: var(--font-awesome);
		text-decoration: none;
		content: '\f107';
		color: var(--white);
		font-size: 25px;
		right: 0;
	}
	span.dropdown-toggle.dropdown-toggle-rotate {
		-webkit-transform: rotate(180deg);
		-moz-transform: rotate(180deg);
		-o-transform: rotate(180deg);
		-ms-transform: rotate(180deg);
		transform: rotate(180deg);
	}

	.mega-menu-nav > li > .deptlink{
		grid-template-areas:
			"image link";
		grid-template-columns:3em 1fr;
	}

	/* no need for css arrows if has child item  as we are now doing a vertical menu*/
	.mega-menu-nav .deptlink:after{
		content: '';
	}

	.nav .deptlink{
		display:grid;
		grid-template-areas:
			"image link";
		grid-template-columns:3em 1fr;
		align-items:center;
		/* min-height:var(--menu-line-height); */
	}

	.nav .deptlink a.img{
		grid-area:image;
		padding:.5em;
	}

	.nav .deptlink a.txt{
		grid-area:link;
		padding:.5em;
		color:var(--navbar-link-color)
	}

	/* -------------------------------------------------------------------------------------
	=Top Nav
	------------------------------------------------------------------------------------- */

	div.nav-wrapper>ul.nav {
		position: absolute;
		top: 50px;
		width: 100%;
		background-color:var(--featured-color);
		text-align:left;
	}

	ul.nav>li,
	ul.nav>li.classic
	{
		float: none;
		display:grid;
		grid-template-areas:"toggle title"
		"dropdown dropdown";
		grid-template-columns:50px 1fr;
	}

	ul.nav>li>ul.l2,
	ul.nav>li>.menu-drop-down{
		-webkit-box-shadow: none;
		-moz-box-shadow:  none;
		box-shadow: none;
	}

		ul.nav>li>ul>li>ul.l3{
		-webkit-box-shadow: none;
		-moz-box-shadow:  none;
		box-shadow: none;
	
	}


	/* home icon added on mobile */
	ul.nav>li.l0>a:before{
		content: '\e3af';
		text-align:center;
		font-family:var(--font-awesome);
		font-weight:600;
		font-size:25px;
		width: 50px;
		height: 50px;
		color:var(--navbar-heading-color);
		position: absolute;
		left: 0;
		top: 0;
	}

	/*side bar items */
	.l1 .deptlink,
	.l2 .deptlink,
	.l3 .deptlink{
		grid-area:title;
	}


	ul.nav>li.active-menu-item>a,
	ul.nav>li.first-menu-item>a {
		background: transparent;
		color:var(--navbar-active-text-color);
		font-weight:400;
	}

	/* classic */

	.classic{}

	.classic li.l2{
		float: none;
		display:grid;
		grid-template-areas:"toggle title"
		". dropdown";
		grid-template-columns:50px 1fr;
	}


	ul.nav>li>ul.l2 li:hover {
		background: var(--off-white);
		color:var(--navbar-active-text-color);	
	}

	.nav .classic .deptlink:after{
		display:none;
		content: "";
	}

/* mega menu / mega menu classic */
	.mega-menu li.l0,
	.mega-menu li.l1,
	.mega-menu li.l2,
	.mega-menu-classic li.l2{
		float: none;
		display:block;
		display:grid;
		grid-template-areas:"toggle title"
							"dropdown dropdown";
		grid-template-columns:50px 1fr;
		margin-left:1em;
		
	}

	.mega-menu-classic li.l2{
		float: none;
		display:block;
		display:grid;
		grid-template-areas:"title"
							"dropdown";
		grid-template-columns:1fr;
	}

	ul.nav>li>a,
	ul.nav .l1>a{
		grid-area:title;
		font-family:var(--heading-font);
		color:var(--white)
		
	}
	ul.nav>li>a:only-child {
		padding: 0 .5em;
	}


	/* MENU MEGA */
	ul.nav>li.mega-menu-classic,
	ul.nav>li.mega-menu {
		position: relative;
	}
	ul.nav>li.mega-menu-classic>div,
	ul.nav>li.mega-menu>div {
		position: relative;
		top: auto;
		left: auto;
		border-top: none;
		-webkit-box-shadow: none;
		-moz-box-shadow: none;
		box-shadow: none;
	}
	ul.nav > li.mega-menu > div > ul.mega-menu-nav > li:hover > .deptlink{
		background-color:unset;
	}



	
	/* MENU MEGA */
	ul.nav>li.mega-menu>div>ul.mega-menu-nav {
		width: 100%;
		height: auto;
		left: auto;
		top: auto;
	}
	ul.nav>li.mega-menu>div>ul.mega-menu-nav>li {
		position: relative;
	}
	ul.nav>li.mega-menu>div>ul.mega-menu-nav>li>a,
	ul.nav>li.mega-menu>div>ul.mega-menu-nav>li>.deptlink{
		/*no... you can't remove the !important */
		grid-area:title !important;
		line-height: 50px;
		padding: 0;
	}
	ul.nav>li.mega-menu>div>ul.mega-menu-nav>li>div {
		position: relative;
		width: 100%;
		min-height: auto;
		left: auto;
		top: auto;
		z-index: auto;
	}

	


	/* MENU HIDE/SHOW SUBMENUS - MOBILE */
	ul.nav>li>ul>li>ul>li>ul,
	ul.nav>li>ul>li>ul,
	ul.nav>li>ul,
	ul.nav,
	ul.nav>li.mega-menu-classic>div,
	ul.nav>li.mega-menu>div>ul.mega-menu-nav>li>div:not(.deptlink),
	ul.nav>li.mega-menu>div:not(.deptlink){
		max-height: 0;
		transform: scaleY(0);
		overflow: hidden;
	}
	ul.nav>li>ul.mobile-sublevel-show,
	ul.nav>li>ul>li>ul.mobile-sublevel-show,
	ul.nav>li>ul>li>ul>li>ul.mobile-sublevel-show,
	ul.nav.mobile-sublevel-show,
	ul.nav>li.mega-menu-classic>div.mobile-sublevel-show,
	ul.nav>li.mega-menu>div.mobile-sublevel-show,
	ul.nav>li.mega-menu>div>ul.mega-menu-nav>li>div.mobile-sublevel-show
	{
		max-height: 20000px;
		transform: scaleY(1);
		position:initial;
		width:100%;
		height:auto !important; /* added possible due to chris playing with images, mobile dropdown stopped working */
		grid-area:dropdown;
	}

	ul.nav>li.mega-menu>div>ul.mega-menu-nav>li>div.menu-grid{
		position:initial;
		width:100%;
	}

	div.menu-grid>div.menu-row {
		position: relative;
		padding:0;
		height:auto;
	}
	div.menu-grid > div.menu-row ul.l3{
		display:block;
		background: var(--navbar-popout-color);
		margin-bottom:0;
	}

	div.menu-grid > div.menu-row ul.l3 li.l3 .deptlink a.img{
		max-width: 50px;
		background-color:transparent;
	}


	
	/* Hamburger icon - mobile */
	.c-hamburger {
		display: block;
		position: relative;
		overflow: hidden;
		margin: auto;
		padding: 0;
		width: 50px;
		height: 50px;
		font-size: 0;
		text-indent: -9999px;
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
		box-shadow: none;
		border-radius: 0;
		border: none;
		cursor: pointer;
		-webkit-transition: background 0.3s;
		transition: background 0.3s;
	}
	.c-hamburger:focus {
		outline: none;
	}
	/*middle bit of the x */
	.c-hamburger span {
		display: block;
		position: absolute;
		top: 50%;
		
		left: var(--half-spacing);
		right: var(--half-spacing);
		height: 3px;
		background:var(--white);
	}
	/* top and bottom bits of the x */
	.c-hamburger span::before,
	.c-hamburger span::after {
		position: absolute;
		display: block;
		left: 0;
		width: 100%;
		height: 3px;
		background-color: var(--white);
		content: "";
	}
	.c-hamburger span::before {
		top: -10px;
	}
	.c-hamburger span::after {
		bottom: -10px;
	}
	/**
   * Hamburger to "x" (htx). Takes on a hamburger shape, bars slide
   * down to center and transform into an "x".
   */
	.c-hamburger--htx {
		background-color:transparent;
	}
	.c-hamburger--htx span {
		-webkit-transition: background 0s 0.3s;
		transition: background 0s 0.3s;
	}
	.c-hamburger--htx span::before,
	.c-hamburger--htx span::after {
		-webkit-transition-duration: 0.3s, 0.3s;
		transition-duration: 0.3s, 0.3s;
		-webkit-transition-delay: 0.3s, 0s;
		transition-delay: 0.3s, 0s;
	}
	.c-hamburger--htx span::before {
		-webkit-transition-property: top, -webkit-transform;
		transition-property: top, transform;
	}
	.c-hamburger--htx span::after {
		-webkit-transition-property: bottom, -webkit-transform;
		transition-property: bottom, transform;
	}
	/* active state, i.e. menu open */
	.c-hamburger--htx.is-active {
		background-color: transparent;
	}
	.c-hamburger--htx.is-active span {
		background: none;
	}
	.c-hamburger--htx.is-active span::before {
		top: 0;
		-webkit-transform: rotate(45deg);
		-ms-transform: rotate(45deg);
		transform: rotate(45deg);
	}
	.c-hamburger--htx.is-active span::after {
		bottom: 0;
		-webkit-transform: rotate(-45deg);
		-ms-transform: rotate(-45deg);
		transform: rotate(-45deg);
	}
	.c-hamburger--htx.is-active span::before,
	.c-hamburger--htx.is-active span::after {
		-webkit-transition-delay: 0s, 0.3s;
		transition-delay: 0s, 0.3s;
	}
}

/* MEDIA QUERY --> SMALL DEVICES */

@media(min-width:768px) and (max-width:991px) {
	.nav-wrapper .hidden-md {
		visibility: hidden;
		display: none;
	}
	div.nav-wrapper {}
	ul.nav>li.mega-menu>div>ul.mega-menu-nav {}
	ul.nav>li.mega-menu>div>ul.mega-menu-nav>li>div {}
	
	div.menu-grid.menu-grid-lined>div.menu-row:after {
		background: none;
	}
}


/* TRANSITION EFFECTS */
@media(min-width:767px) {
	/* Arrows */
	ul.nav>li>a:after {
		transition: all 0.3s ease;
	}
	ul.nav>li>ul>li>a:after,
	ul.nav>li>ul>li>ul>li>a:after,
	ul.nav>li>ul>li>ul>li>ul>li>a:after {
		transition: all 0.3s ease;
	}
	/* 1st level move-up effect */
	ul.nav>li>ul,
	ul.nav>li>div {
		/*transform: translateY(25px);*/
		transition: all 0.3s ease;
	}
	ul.nav>li:hover>ul,
	ul.nav>li:hover>div {
		transform: translateY(0);
	}
	/* 2nd 3rd 4th level move-left/right effect */
	ul.nav>li>ul>li>ul,
	ul.nav>li>ul>li>ul>li>ul,
	ul.nav>li>ul>li>ul>li>ul>li>ul {
		/*transform: translateX(25px);*/
		transition: all 0.3s ease;
	}
	ul.nav>li>ul>li:hover>ul,
	ul.nav>li>ul>li>ul>li:hover>ul,
	ul.nav>li>ul>li>ul>li>ul>li:hover>ul {
		transform: translateX(0);
	}
}
/* ------------------------------------------------------------------------------------
	SCREEN - Extra extra large devices (large laptops and desktops, 1400px and up)
	Last Updated : 31. 08. 2023
	Copyright :(c) 2023 Etail Systems Ltd
	Author : Etail Systems Ltd
------------------------------------------------------------------------------------- */

@media only screen and (min-width: 1400px) {

	/* defaults */
	:root{
		--site-max-width:1400px;
		--menu-max-width:1400px;
	}

	/* -------------------------------------------------------------------------------------
	=Bottom Panel #pb
	------------------------------------------------------------------------------------- */

	/* accordion dropdown for info panels
	------------------------------------------------------- */
	#pb .accordion{
		background-color:transparent;
	}
	
	#pb .accordion .header {
		background-color:transparent;
		font-size: 1.25em;
		text-transform:uppercase;
		margin-bottom: 1rem;
		color: var(--bottom-panel-heading-color);
		padding:0;
		border-radius: 0;
		display: none;
	}
	
	#pb .accordion .header img{
		display:none;
	}
	
	
	#pb ul.accordion li.pane {
		display: block !important;
		padding: 0;
		color:var(--black);
		background-color:transparent;
	}
	
	#pb ul.accordion li.pane  h3.header{
		display:none;
	}
	
	#pb ul.accordion li.pane ul {
		list-style-type: none;
		margin-left: 0em;
	}
	

}
/* ------------------------------------------------------------------------------------
	SCREEN - Extra large devices (large laptops and desktops, 1200px and up) 
	Last Updated : 31. 08. 2023
	Copyright :(c) 2023 Etail Systems Ltd
	Author : Etail Systems Ltd
------------------------------------------------------------------------------------- */
@media only screen and (min-width: 1200px) and (max-width:1399px) {
	:root{
	    --site-max-width:100%;
		--menu-max-width:100%;

		--menu-line-height:50px;
		--navbar-heading-font-size:19px;
	 }

	/* -------------------------------------------------------------------------------------
	=FIXEDTop Panel #ptf
	------------------------------------------------------------------------------------- */
	#ptf{
		padding:0 .5rem;
		width:calc(100% - 1rem);
	}


	/* -------------------------------------------------------------------------------------
	=SiteContainers
	------------------------------------------------------------------------------------- */
	#cont {
		margin: auto;
	}
	
	#site {
		background-color: var(--background-color);
	}


	/* -------------------------------------------------------------------------------------
	=Top Nav
	------------------------------------------------------------------------------------- */

	/* -------------------------------------------------------------------------------------
	=Top Panel #pt
	------------------------------------------------------------------------------------- */
	#pt .ext {
		--logo-width: 300px;
		--search-width:300px;
		--icons-width: 6.5rem;
		--gap-width:calc((100% - (var(--logo-width) + var(--search-width) + var(--basket-width) + var(--icons-width))) /3);
		--left-gap:calc( (50% - var(--search-width)) - (var(--logo-width)/2));
		--right-gap:1fr;
	}


	/* search
	------------------------------------------------------- */
	#pt .search {
		grid-area: search;
		text-align: center;
		font-size: 16px;
		padding: 0 1rem;
		/* width: calc(100% - 2em); */
	}


	/* Icons
	------------------------------------------------------- */
	
	#p52166663,
	#p52133888{
		grid-area:icons;
		text-align:right;
	}

	#p52166663 ul,
	#p52133888 ul{
		grid-template-columns: 1.5rem 1.5rem 1.5rem;
		grid-gap:1rem;
		float:right;
	}
	
	#p52166663 li.icon,
	#p52133888 li.icon {
		display:grid;
		grid-template-columns:1fr;
		grid-template-areas:
			"icon";
		margin:0;
	}


	#p52166663 a.tel,
	#p52166663 a.lnk,
	#p52166663 .sout,
	#p52133888 a.tel,
	#p52133888 a.lnk,
	#p52133888 .sout{
		display:none;
	}
	
	

	/* -------------------------------------------------------------------------------------
	=Main Panel #pmid - start to introduce padding on main content at this point 
	------------------------------------------------------------------------------------- */
	
	#pmid {
		padding:1rem;
		width:calc(100% - 2rem);
	}
	
	/* -------------------------------------------------------------------------------------
	=Bottom Panel #pb
	------------------------------------------------------------------------------------- */

	/* accordion dropdown for info panels
	------------------------------------------------------- */
	#pb .accordion{
		background-color:transparent;
	}
	
	#pb .accordion .header {
		background-color:transparent;
		font-size: 1.25em;
		text-transform:uppercase;
		margin-bottom: 1rem;
		color: var(--bottom-panel-heading-color);
		padding:0;
		border-radius: 0;
		display: none;
	}
	
	#pb .accordion .header img{
		display:none;
	}
	
	
	#pb ul.accordion li.pane {
		display: block !important;
		padding: 0;
		color:var(--black);
		background-color:transparent;
	}
	
	#pb ul.accordion li.pane  h3.header{
		display:none;
	}
	
	#pb ul.accordion li.pane ul {
		list-style-type: none;
		margin-left: 0em;
	}
	

}
/* ------------------------------------------------------------------------------------
	SCREEN - Large devices (basic laptops and desktops, 992px - 1200px and up) 
	Last Updated : 17. 02. 2025
	Copyright :(c) 2025 Etail Systems Ltd
	Author : Etail Systems Ltd
------------------------------------------------------------------------------------- */

@media only screen and (min-width: 992px) and (max-width: 1199px) {
	/* defaults */
	:root{
		--site-max-width:100%;
		--menu-line-height:50px;
		--navbar-heading-font-size:16px;
	}
	/* -------------------------------------------------------------------------------------
	=FIXEDTop Panel #ptf
	------------------------------------------------------------------------------------- */
	#ptf{
		padding:0 .5rem;
		width:calc(100% - 1rem);
	}


	/* -------------------------------------------------------------------------------------
	=SiteContainers
	------------------------------------------------------------------------------------- */
	#cont {
		margin: auto;
	}
	
	#site {
		background-color: var(--background-color);
	}


	/* -------------------------------------------------------------------------------------
	=Top Nav
	------------------------------------------------------------------------------------- */

	/* -------------------------------------------------------------------------------------
	=Top Panel #pt
	------------------------------------------------------------------------------------- */
	#pt .ext {
		--logo-width: 300px;
		--search-width:300px;
		--icons-width: 6.5rem;
		--gap-width:calc((100% - (var(--logo-width) + var(--search-width) + var(--basket-width) + var(--icons-width))) /3);
		--left-gap:calc( (50% - var(--search-width)) - (var(--logo-width)/2));
		--right-gap:1fr;
	}


	/* search
	------------------------------------------------------- */
	#pt .search {
		grid-area: search;
		text-align: center;
		font-size: 16px;
		padding: 0 1rem;
		/* width: calc(100% - 2em); */
	}


	/* Icons
	------------------------------------------------------- */
	
	#p52166663,
	#p52133888{
		grid-area:icons;
		text-align:right;
	}

	#p52166663 ul,
	#p52133888 ul{
		grid-template-columns: 1.5rem 1.5rem 1.5rem;
		grid-gap:1rem;
		float:right;
	}

	#p52166663 li.icon,
	#p52133888 li.icon {
		display:grid;
		grid-template-columns:1fr;
		grid-template-areas:
			"icon";
		margin:0;
	}

		#p52166663 a.tel,
	#p52166663 a.lnk,
	#p52166663 .sout,
	#p52133888 a.tel,
	#p52133888 a.lnk,
	#p52133888 .sout{
		display:none;
	}
	
	

	/* -------------------------------------------------------------------------------------
	=Main Panel #pmid - start to introduce padding on main content at this point 
	------------------------------------------------------------------------------------- */
	
	#pmid {
		padding:1rem;
		width:calc(100% - 2rem);
	}
	
	/* -------------------------------------------------------------------------------------
	=Bottom Panel #pb
	------------------------------------------------------------------------------------- */

	/* accordion dropdown for info panels
	------------------------------------------------------- */
	#pb .accordion{
		background-color:transparent;
	}
	
	#pb .accordion .header {
		background-color:transparent;
		font-size: 1.25em;
		text-transform:uppercase;
		margin-bottom: 1rem;
		color: var(--bottom-panel-heading-color);
		padding:0;
		border-radius: 0;
		display: none;
	}
	
	#pb .accordion .header img{
		display:none;
	}
	
	
	#pb ul.accordion li.pane {
		display: block !important;
		padding: 0;
		color:var(--black);
		background-color:transparent;
	}
	
	#pb ul.accordion li.pane  h3.header{
		display:none;
	}
	
	#pb ul.accordion li.pane ul {
		list-style-type: none;
		margin-left: 0em;
	}
	

}
/* ------------------------------------------------------------------------------------
	SCREEN - Medium devices (landscape tablets, 768px and up) 
	Last Updated : 04. 12. 2025
	Copyright :(c) 2023 Etail Systems Ltd
	Author : Etail Systems Ltd
------------------------------------------------------------------------------------- */
@media only screen and (min-width: 768px) and (max-width: 992px)  {

	/* -------------------------------------------------------------------------------------	
	=Definitions
	------------------------------------------------------------------------------------- */
	:root{
		--site-max-width:100%;
		--navbar-dropdown-color:var(--featured-color);
	}

	h2{
		font-size:1.8em;
	}

	/* -------------------------------------------------------------------------------------
	=Swiffy Slider
	------------------------------------------------------------------------------------- */
	.swiffy-slider {}
	.swiffy-slider ul, .swiffy-slider li {}
	
	.swiffy-slider .slidecont p {
		padding: 0;
		margin: 0;
	}
	
	.slider-product {
		--swiffy-slider-item-count: 4;
	}

	.slider-cta {
		--swiffy-slider-item-count: 1;
	}
	
	/* product sliders - code needs some tweaking */
	.carousel.prod .swiffy-slider {
		--swiffy-slider-item-count: 4;
	}
	
	/* department sliders - code needs some tweaking */
	.carousel.dept .swiffy-slider {
		--swiffy-slider-item-count: 4;
	}
	
	.carousel.dept .deptlink a.txt {}

	
	
	/* -------------------------------------------------------------------------------------
	=SiteContainers
	------------------------------------------------------------------------------------- */
	#cont {
		margin: auto;
	}
	
	#site {
		background-color: var(--background-color);
	}

	/* -------------------------------------------------------------------------------------
	=Grid Layout
	------------------------------------------------------------------------------------- */


#pm .pmind {
	display: grid;
	grid-template-columns: repeat(60, minmax(0, 1fr));
	grid-gap: var(--spacing);
	grid-column-gap:5px;
	grid-auto-flow: dense;
	/*don't put margin here*/
}

	/* layout base classes
	------------------------------------------------------- */
	.fullWidth {
		grid-column: 1/-1;
	}
	
	.titleArticle{
		grid-column:1/-1;
		text-align:center;
	}
	
	.halfWidth{
		grid-column: 1/-1;
	}
	
	.halfWidthDbl {
		grid-column: auto / span 30;
		grid-row: span 1;
		grid-column: 1/-1
	}
	
	.quarterWidth {
		grid-column: auto / span 30;
	}
	
	.carousel:has(.twoThirds),
	.twoThirds {
		grid-column: 1/-1;
	}

	/* -------------------------------------------------------------------------------------
	=FIXEDTop Panel #ptf
	------------------------------------------------------------------------------------- */
	#ptf{}

	#ptf .ext {
		grid-template-areas: "vat ";
		grid-template-columns:  1fr;
		align-items:center;
		padding:.5em;
	}


	#p52166656,
	#p42500109 {
		display:none;
	}

	/* -------------------------------------------------------------------------------------
	=Top Panel #pt
	------------------------------------------------------------------------------------- */

	#pt .ext {

	/* spacer width is used on wider view ports to keep top panel central */
	--spacer-width: calc((100% - var(--site-max-width)) / 2);

	--menu-width:4em;
		
	/*logo width is fixed*/
	--logo-width:1fr;
	
	/*search sits central, scales as required*/
	--search-width:4em;
	
	/*these two elements sit at the end - but we need to balance out the fixed logo width*/
	--contact-width:auto;
	--basket-width:4em;
	
	align-items:center;
	grid-template-columns: 1fr 3fr 1fr 1fr;
	grid-template-areas:
		". logo logo ."
		"menulink icons searchtoggle basket"
		"search search search search  "
		"nav nav nav nav  ";	
	}

	/* logo
	------------------------------------------------------- */
	#pt .pbnr {
		grid-area: logo;
		padding:1em 1em;
	}

	#pt .pbnr img{
		max-width:320px;
	}
	

	/* QuickOrder
	------------------------------------------------------- */
	
	
	/* Icons
	------------------------------------------------------- */
	#p52166663,
	#p52133888{
		grid-area:icons;
		background-color:var(--featured-color);
		height:100%;
		width:100%;
		align-content:center;
		
	}
	
	#p52166663 .icon a.img,
	#p52133888 .icon a.img{
		grid-area:icon;
		display:block;
	}

	#p52166663 .icon .img img,
	#p52133888 .icon .img img{
		display:block;
		max-height:2rem;
		width:auto;
	}
	

	/*first one will be phone - requires different styling */
	#p52166663  li:first-child,
	#p52133888  li:first-child{
		grid-area:phone;
		grid-template-columns:auto;
		grid-template-areas:
			"icon";
		grid-gap:var(--half-spacing);

		align-items:center;
	}
	

	#p52166663 a.tel,
	#p52133888 a.tel,
	#p52166663 a.lnk,
	#p52133888 a.lnk,
	#p52166663 .sout,
	#p52133888 .sout{
		display:none;
	}

	#p52166663 a.img img,
	#p52133888 a.img img{
		filter:invert();
	}

	#p52166663 li.icon,
	#p52133888 li.icon {
		display:grid;
		grid-template-columns:1fr;
		grid-template-areas:
			"icon";
		margin:0;
	}

	/* Search
	------------------------------------------------------- */

	/* mikes hack of a search toggle */
	#a132251648{
		display:block;

		grid-area:searchtoggle;
		text-align:center;

		background-color:var(--featured-color);
		height:100%;
		width:100%;
		align-content:center;
	}

	#a132251648 button{
		cursor: pointer;
		background-color:transparent;
		border:0;
		outline:0;
		color:var(--white) ;
		font-size:2rem;

		line-height:1;
	}
	
	#pt .search {
		grid-area: search;
		visibility:hidden;
		height:0;
	}

	#pt .search.toggleSearch {
		grid-area: search;
		visibility:visible;
		height:auto;
		margin:1em;
		padding:0;
	}

	
	
	
	/* nav display 
	------------------------------------------------------- */
	.home-hamburger{
		grid-area:menulink;
		display:block;
		z-index: 1000;
		background-color:var(--featured-color);
		height:100%;
		width:100%;
		align-content:center;
	}

	.home-hamburger .visible-xs {
		visibility: visible;
	}

	div.nav-wrapper {
		z-index:1001;
		min-height:0;
		background:var(--navbar-color);
		
	}
	
	div.nav-wrapper>ul.nav {
		top: 0;
	}

	/*remove deptlink stylings on mega-menu - they are retained for mega-menu-classic */
	.mega-menu div.menu-grid > div.menu-row ul li .deptlink{
		background-color:var(--navbar-dropdown-color);
		display:grid;
		grid-template-areas:"image title popout";
		grid-template-columns:3em 1fr 1em;
		align-items:center;
		text-align:left;
		min-height:var(--navbar-dropdown-item-height);
		padding:.5em;
		padding-left:2em;
	}


	.mega-menu div.menu-grid > div.menu-row ul li .deptlink a.img{
		display:block;
		grid-area:image;
		padding:.5em;
	}
	
	.mega-menu div.menu-grid > div.menu-row ul li .deptlink a.img{
		grid-column:1;
		grid-row:1;
	}

	.mega-menu div.menu-grid > div.menu-row ul li .deptlink a.img img{
		width: 100%;
		object-fit: cover;
		margin:auto;
	}
	
	.mega-menu div.menu-grid > div.menu-row ul li .deptlink a.txt{
		color:var(--text-color);
		font-family: var(--text-font);
		font-weight: normal;
		margin:0;

		display:block;
		grid-area:title;
		font-family:var(--heading-font);
	}

	/* for classic menu - change grid layout */
	.mega-menu-classic div.menu-grid > div.menu-row ul,
	.mega-menu-classic div.menu-grid > div.menu-row ul.l2{
		grid-template-columns:repeat(1,1fr);
		grid-gap: 0;
		margin:0 2em;
	}

	.mega-menu-classic div.menu-grid > div.menu-row ul.l3{
		display:none;
	}
	
	div.menu-grid > div.menu-row ul li .deptlink{
		grid-template-columns: 1fr;
		grid-template-areas:"link";
		align-items:center;
		/* grid-gap:1em; */
		/* grid-template-rows:auto; */
	}

	div.menu-grid > div.menu-row ul li .deptlink a.img{
		grid-area:image;
		align-self:start;
		/*don't show image */
		display:none;
	}

	div.menu-grid > div.menu-row ul li .deptlink a.txt{
		grid-area:link;
		display:block;
		padding:.5em 1rem;
		padding-left:2rem;
		font-family:var(--text-font);
		font-weight:400;
		font-size:1.2em;
		min-height:auto;
		background-color:transparent;
		color:var(--white);
	}

	/* Basket - change layout
	------------------------------------------------------- */

	#pt .bskt {
		grid-area: basket;
		text-align:right;
		position: relative;

		background-color:var(--featured-color);
		height:100%;
		width:100%;
		align-content:center;
	}

	
	#pt .bskt #mybskt{
		padding:0;
		text-align:center;
		align-items:center;
		background-color:transparent;
		border-radius:var(--border-radius);
		display:block;


	}

	#pt .bskt #mybskt a.btn,
	#pt .bskt #mybskt img.btn{
		margin:0;
		display:block;
	}

	#pt .bskt #mybskt a.btn img{
		filter:invert();
		max-height:2rem;
		width:auto;
	}
	
	/*items in basket */
	#pt .bskt #bsktitems,
	#pt .bskt a.mybsktlnk{
	    position: absolute;
	    top: 0rem;
	    right: .0rem;
	    background-color: var(--off-white);
	    color: var(--dark-grey);
	    border-radius: 50%;
	    text-align: center;
	    width: 1.5rem;
	    height: 1.5rem;
	    line-height: 1.5rem;
	    font-size: .825em;
	    font-weight:600;
	}
	
	#pt .bskt #bsktitems span{
		display:none;
	}

	#pt .bskt #mybskt p{
		font-family:var(--text-font);
		line-height:1.5rem;
	}

	
	#pt .bskt #bsktvalue,
	#pt .bskt a.bsktvalue{
		display:none;
	}

	#pt .bskt #mybskt a.btn{
		background:none;
		padding:0em;
		margin:0;
		border:none;
		display:inline-block;
	}

	/* no hover basket on mobile */
	.hoverbskt {
		display:none !important;
	}

	/*no space for free shipping header on mobile */
	#pt .bskt h4{
		display:none;
	}

	/* -------------------------------------------------------------------------------------
	=Center Panel #pc
	------------------------------------------------------------------------------------- */
	#pc{
		margin:0;
	}

	.home #pc {
		margin-top:1rem;
	}

	.bdcb {
		display: none;
	}

	/* client specific 
	------------------------------------------------------- */


	/* -------------------------------------------------------------------------------------
	=Left Panel #pl
	------------------------------------------------------------------------------------- */

	/* -------------------------------------------------------------------------------------
	=Right Panel #pr
	------------------------------------------------------------------------------------- */
	#pr {
		width: calc(var(--site-max-width) - 2rem);
		margin:0 1rem;
	}


	/* -------------------------------------------------------------------------------------
	=Main Panel #pmid
	------------------------------------------------------------------------------------- */
	#pmid{
		/* display:block; */
	}
	
	.pmfull,
	.pmstd{
		width: calc(var(--site-max-width) - 2rem);
		margin:0 1rem;
		padding-top:1rem;
	}

	.pmwide{
		background-color: var(--main-panel-color);
		width: calc(var(--site-max-width) - 2rem);
		display: block;
		vertical-align: top;
		margin:0 1rem;
	}


	.pmwide #sr {
		grid-template-columns: repeat(2, 1fr);
	}		
	
	#pmid.page_buy #pm.pmfull{
		width:calc(100% - 2rem)
	}
	



	/* -------------------------------------------------------------------------------------
	=Footer Panel #pf
	------------------------------------------------------------------------------------- */
	#pf{}

	#pf .ext {
		position: relative;
		/* padding:0 1em; */
		width:calc(100% - 2em);
	}

	#pf #carouselArtImgs {
		--swiffy-slider-item-count:2
	}



	/* Newsletter 
	------------------------------------------------------- */
	#pf .ext .news {
		grid-area:subscribe;
		text-align:center;
		width:75%;
		margin:auto;
	}

	.news_input_container{
		display:grid;
		grid-template-areas:"email"
			"subscribe";
		grid-template-columns:1fr;
	
	}

	#pf .ext .news input#email {
		border:1px var(--border-color) solid;
		border-radius:var(--border-radius);
		margin-bottom:1em;
	}
	
	#pf .ext .news input#subscribe {
		border:1px var(--red) solid;
		border-radius:var(--border-radius);
	}

	/* -------------------------------------------------------------------------------------
	=Bottom Panel #pb
	------------------------------------------------------------------------------------- */
		#pb{}

	#pb .ext {
		grid-gap:1em;
		padding:0 1em;
		padding-top: 3em;
		padding-bottom: 3em;
		grid-template-columns: 1fr;

		grid-template-areas:
		"about"
		"information"
		"account" 
		"saleshelp"
		"details";
		color: var(--white);
	}

	#pb .art h2 {
		margin-bottom:1em;
	}
	
	#a113770496{
		text-align:center;
	}

	#a109477890{
		text-align:center;
	}	

	/* accordion
	------------------------------------------------------- */
	#pb .ext h3.header{
		display:none;
	}

	#pb .accordion{
		width:100%;
	}

	
	#pb .accordion .header {
		font-family: var(--heading-font);
		font-weight: var(--heading-font-weight);
		font-size: 1.25em;
		cursor: pointer;
		border-radius: 0;
		margin: 0;
		background-color:transparent;
		text-transform:capitalize;
		margin-bottom:0em;
		border:none;
	}

	#pb .accordion .header img{
	}

	#pb .accordion h3{
		display:none;
	}

	#pb .accordion .pane{
		display: none;
		padding:0em;
		color:var(--black);
		background-color:transparent;
	}

	#pb .accordion .pane ul{
		margin:0;
		margin-left:2em;
		display:block;
		padding:0;
	}

	

	/* -------------------------------------------------------------------------------------
	=FIXEDBottom Panel #pbf
	------------------------------------------------------------------------------------- */
	#pbf{}

	#pbf .ext {
		background-position:top left;
		grid-template-areas:"links "
		"payment"
		"copyright";
		grid-template-columns: 1fr;
	}

	#a109477889{
		grid-area:payment;
		text-align:center;
	}



	
	
	/* -------------------------------------------------------------------------------------
	=Blog
	------------------------------------------------------------------------------------- */
	#site.blog {}

	#site.blog #pm{
		display: grid;
		grid-template-columns: repeat(2, calc(50% - 1em));
		grid-gap: var(--spacing);
		grid-auto-flow: dense;
		grid-auto-rows: min-content;
	}

	#pm .blog:not(.art) a.title{
		grid-area:title;
		font-family:var(--heading-font);
		color:var(--dark-blue);
		text-align:center;
		padding:1em;
		font-size:1em
	}

	#pm .blog:not(.art) a.more{
		grid-area:readmore;
		margin:auto;
		padding:0;
		background-color:transparent;
		color:var(--blue);
		font-family:var(--text-font);
		text-align:center;
		font-size:1em;
		border-radius:var(--border-radius);
	}

	
	/* -------------------------------------------------------------------------------------
	=SearchHeader / SearchFooter
	------------------------------------------------------------------------------------- */
	.searchheader {
		display: grid;
		grid-template-columns: auto auto auto;
		grid-template-areas: "items  items filter"
			"sort-by sort-by itemsperpage";
		grid-gap: .5em;
		align-items: center;
		/* height:36px; */
		z-index: 99;
		background-color: var(--main-panel-color);
	}
	
	.searchheader .search {
		/* for unknown reasons we re-write out the searchbox in the search header*/
		display: none !important;
	}
	
	.searchheader label {
		display:none;
	}
.searchheader #rpppan,
.searchheader .rpp {
	margin: 0;
	grid-area: itemsperpage;
	text-align:right;
}
	
	/* -------------------------------------------------------------------------------------
	=FilterSearch
	------------------------------------------------------------------------------------- */
	
	/* -------------------------------------------------------------------------------------
	=Department
	------------------------------------------------------------------------------------- */

	/* dept listings
	------------------------------------------------------- */
	.depttree ul{
		grid-template-columns:repeat(3, 1fr);
	}
		
	#sr {
		grid-template-columns: repeat(3, 1fr);
	}

	.pmwide #sr {
		grid-template-columns: repeat(3, 1fr);
	}


	/* -------------------------------------------------------------------------------------
	=FeaturedProducts
	------------------------------------------------------------------------------------- */

	
	/* product listings
	------------------------------------------------------- */
	
	.fprd label {
		margin: 0;
		padding: 0;
		font-size: 10px;
	}


	/* Buy form 
	------------------------------------------------------- */
	.fprd form {
		grid-template-areas:
			"label qty"
			"buy buy";
		grid-gap: .5em;
		margin-top:.5em;
	}

	.fprd input.fpskuqty {
		margin-left:auto;
	}



	/* -------------------------------------------------------------------------------------
	=ProductPage
	------------------------------------------------------------------------------------- */
	#pi .main {
		grid-template-columns:calc(50% - 1em) calc(50% - 1em);
	}

	#pi .gallery #mainimages{
		position:unset;
		top:0;
	}


	#pi .pititle h2{
		font-size:2em;
	}

	.pidescx li span{
		margin-right:0em;
	}

	.pidescx  br{
		display:block;
	}

	.pifile img{
		max-width:150px;
	}

	#pi .top{
		display:block;
		grid-area:top;
	}

	#pi .right .pititle{
		display:none;
	}


	/* Product Panels 
	------------------------------------------------------- */
	
	#pi .main .right {
		position:relative;
		grid-area: right;
		display: grid;
		grid-template-areas:
			"product-title product-title "
			"model model"
			"product-buy-pane product-buy-pane"
			"product-links product-links"
			"product-description product-description";
		grid-template-columns:  1fr auto;
	}
	
	
	/* -------------------------------------------------------------------------------------
	=Basket
	------------------------------------------------------------------------------------- */

	#pm .bskt {
		display: grid;
		grid-template-columns: 1fr;
		grid-gap:0;
		grid-column-gap: 4em;
		grid-template-areas:
			"breadcrumb "
			"header "
			"freedelivery "
			"lines"
			"totals"
			"voucher"
			"shipping"
			"buttons"	
			"prompane";
		align-items:start;
		margin-bottom:4rem;
	}


	#pm .bskt  .line{

		grid-template-columns: var(--image-width) 1fr auto auto;
		grid-template-areas:
			"icon desc desc desc"
			"icon giftwrap giftwrap giftwrap"
			"icon gifttext gifttext gifttext"
			"icon gtentry gtentry gtentry "
			". skuselect skuselect skuselect"
			"qty qty price rem"
			". . netprice  . ";
		border-bottom:1px solid	var(--border-color);
		grid-column-gap:1rem;
	}

	#pm .bskt  .line .qty label{
		display:none;
	}
	
	/* -------------------------------------------------------------------------------------
	=Checkout Process
	------------------------------------------------------------------------------------- */
	#pt.checkouttop .ext {
		--breadcrumb-width:1fr;
		grid-template-columns:100%;
		grid-template-areas:"logo"
							"breadcrumb";
	}

	#pt.checkouttop .ext .pane{
		text-align:center;
	}


	/* invoice/delivery address
	------------------------------------------------------- */
	.page_delivery form,
	.page_checkout form{
		padding:1rem;
		grid-template-columns:1fr;
		grid-template-areas: "address"
							"continue"
							"summary";
	}

	/* Order Fulfilment/shipping
	------------------------------------------------------- */
	#pmid.page_shipping{
		padding:1rem;
		width:calc(var(--site-max-width) - 2rem);
	}
	
	.page_shipping .pmfull {
		margin: 0 auto;
		position: relative;
		width: 75%;
	}

	/* Payment
	------------------------------------------------------- */
	#pmid.page_payment{
		padding:1rem;
		width:calc(var(--site-max-width) - 2rem);
	}

	.page_payment #pm {
		margin: 0 auto;
		position: relative;
		width: var(--site-max-width);
	}

	/* member pages */
	.page_useraccount .pmfull,
	.page_orderinfo .pmfull{
		background-color: var(--main-panel-color);
		width: var(--site-max-width);
		padding:0;
		display: inline-block;
		vertical-align: top;
		margin: 0;
		margin-right: 0;
	}

	/* -------------------------------------------------------------------------------------
	=Accordion Checkout process Need !important to override jquery ui 
	------------------------------------------------------------------------------------- */
	#pmid.page_checkoutprocess {}
	
	#pmid.page_checkoutprocess #pm{
		display:grid;
		grid-template-areas:"process";
		grid-template-columns:1fr;
		grid-column-gap:1em;
	}


	
	/* Customer Details
	------------------------------------------------------- */
	#basket_customer_details{
		display:grid;
		grid-template-areas:"top"
							"left"
							"right"
							"bottom";
		grid-column-gap:1rem;
		grid-template-columns:1fr;
	}
	
	
	/* Delivery Details 
	------------------------------------------------------- */
	#basket_delivery_details{
		display:grid;
		grid-template-areas:"left"
			"right"
			"bottom";
		grid-gap:1rem;
		grid-template-columns:1fr;
	}
	
		
	#pm .accordbdcb{
		display:none;
	}
	
	/* -------------------------------------------------------------------------------------
	=MyAccount
	------------------------------------------------------------------------------------- */
	/*account menu panel*/
	#pmam {
		width: 0;
		margin:0;
	}

	#pmam + .pmfull{
		width: calc(var(--site-max-width) - 2rem);
	}


	/* show/hide menu button */
	#mamtrigbtn {
		display:block;
	}


		
	#pmam .myacctmenu{
		height: 100%;
		width: 50%; /* 0 width - change this with JavaScript */
		position: fixed;
		z-index: 10001; 
		top: 0; 
		left: 0;
		background-color: var(--popout-color);
		overflow-x: hidden; /* Disable horizontal scroll */
		transition: var(--transition);
		box-shadow: var(--box-shadow);
		padding:1rem;
		display:none;
	}

	#pmam .myacctmenu.showmyacctmenu{
		display:block;
	}


	.mamclsdiv .mamclsspn{
	display:inline-block;
	}

	#fstrigbtn{
		display:block;
	}

	.fsclsdiv .fsclsspn{
		display:inline-block;
	}

	/* -------------------------------------------------------------------------------------
	=ConfirmationPage
	------------------------------------------------------------------------------------- */


	/* -------------------------------------------------------------------------------------
	=Sitemap 
	------------------------------------------------------------------------------------- */
	#pm .smap ul {
		list-style-position: inside;
		list-style: none;
		display: grid;
		grid-template-columns: repeat(1, 1fr);
	}


/* -------------------------------------------------------------------------------------
=Client Specific Stylings 
------------------------------------------------------------------------------------- */
	
}
/* ------------------------------------------------------------------------------------
	SCREEN - Small devices (portrait tablets and large phones, 600px and up)  
	Last Updated : 04. 12. 2025
	Copyright :(c) 2025 Etail Systems Ltd
	Author : Etail Systems Ltd 
------------------------------------------------------------------------------------- */
@media only screen and (min-width: 600px) and (max-width:768px) {

	/* -------------------------------------------------------------------------------------	
	=Definitions
	------------------------------------------------------------------------------------- */
	:root{
		--site-max-width:100%;
		--navbar-dropdown-color:var(--featured-color);
	}

	h2{
		font-size:1.8em;
	}
	
	/* layout base classes
	------------------------------------------------------- */
	.fullWidth {
		grid-column: 1/-1;
	}
	
	.titleArticle{
		grid-column:1/-1;
		text-align:center;
	}
	
	.halfWidth{
		grid-column: 1/-1;
	}
	
	.halfWidthDbl {
		grid-column: auto / span 6;
		grid-row: span 1;
		grid-column: 1/-1
	}
	
	.quarterWidth {
		grid-column: auto / span 6;
	}
	
	.thirdWidth,
	.hpLink{
		grid-column: 1/-1
	}


	.carousel:has(.twoThirds),
	.twoThirds {
		grid-column: 1/-1;
	}

	/* -------------------------------------------------------------------------------------
	=Swiffy Slider
	------------------------------------------------------------------------------------- */
	.swiffy-slider {}
	.swiffy-slider ul, .swiffy-slider li {}
	
	.swiffy-slider .slidecont p {
		padding: 0;
		margin: 0;
	}
	
	.slider-product {
		--swiffy-slider-item-count: 2;
	}

	.slider-cta {
		--swiffy-slider-item-count: 1;
	}
	
	/* product sliders - code needs some tweaking */
	.carousel.prod .swiffy-slider {
		--swiffy-slider-item-count: 2;
	}
	
	/* department sliders - code needs some tweaking */
	.carousel.dept .swiffy-slider {
		--swiffy-slider-item-count: 2;
	}
	
	.carousel.dept .deptlink a.txt {}

	
	/* -------------------------------------------------------------------------------------	
	=Definitions
	------------------------------------------------------------------------------------- */
	:root{
		--site-max-width:100%;
	}

	h2{
		font-size:1.8em;
	}

	/* -------------------------------------------------------------------------------------
	=SiteContainers
	------------------------------------------------------------------------------------- */
	#cont {
		margin: auto;
	}
	
	#site {
		background-color: var(--background-color);
	}

	/* -------------------------------------------------------------------------------------
	=Grid Layout
	------------------------------------------------------------------------------------- */
	#pm .pmind {
		display: grid;
		grid-template-columns: repeat(60, minmax(0, 1fr));
		grid-column-gap: 5px;
		grid-auto-flow: dense;
		/*don't put margin here*/
	}

	/* layout base classes
	------------------------------------------------------- */
	.fullWidth {
		grid-column: 1/-1;
	}
	
	.titleArticle{
		grid-column:1/-1;
		text-align:center;
	}
	
	.halfWidth{
		grid-column: 1/-1;
	}
	
	.halfWidthDbl {
		grid-row: span 1;
		grid-column: 1/-1
	}
	
	.quarterWidth,
	.fifthWidth{
		grid-column:1/-1;
	}
	/* layout base classes
	------------------------------------------------------- */
	.fullWidth {
		grid-column: 1/-1;
	}
	
	.titleArticle{
		grid-column:1/-1;
		text-align:center;
	}
	
	.halfWidth{
		grid-column: 1/-1;
	}
	
	.halfWidthDbl {
		grid-column: auto / span 30;
		grid-row: span 1;
		grid-column: 1/-1
	}
	
	.quarterWidth {
		grid-column: auto / span 30;
	}
	
	.thirdWidth,
	.hpLink{
		grid-column: 1/-1
	}


	.carousel:has(.twoThirds),
	.twoThirds {
		grid-column: 1/-1;
	}

	/* -------------------------------------------------------------------------------------
	=Swiffy Slider
	------------------------------------------------------------------------------------- */
	.swiffy-slider {}
	.swiffy-slider ul, .swiffy-slider li {}
	
	.swiffy-slider .slidecont p {
		padding: 0;
		margin: 0;
	}
	
	.slider-product {
		--swiffy-slider-item-count: 2;
	}

	.slider-cta {
		--swiffy-slider-item-count: 1;
	}
	
	/* product sliders - code needs some tweaking */
	.carousel.prod .swiffy-slider {
		--swiffy-slider-item-count: 2;
		--swiffy-slider-item-reveal:4em;
	}
	
	/* department sliders - code needs some tweaking */
	.carousel.dept .swiffy-slider {
		--swiffy-slider-item-count: 2;
	}
	
	.carousel.dept .deptlink a.txt {}

	
	/* -------------------------------------------------------------------------------------
	=FIXEDTop Panel #ptf
	------------------------------------------------------------------------------------- */
	#ptf{}

	#ptf .ext {
		grid-template-areas: "vat ";
		grid-template-columns:  1fr;
		align-items:center;
		padding:.5em;
	}


	#p42500109 {
		display:none;
	}

	/* -------------------------------------------------------------------------------------
	=Top Panel #pt
	------------------------------------------------------------------------------------- */

	#pt .ext {

	/* spacer width is used on wider view ports to keep top panel central */
	--spacer-width: calc((100% - var(--site-max-width)) / 2);

	--menu-width:4em;
		
	/*logo width is fixed*/
	--logo-width:1fr;
	
	/*search sits central, scales as required*/
	--search-width:4em;
	
	/*these two elements sit at the end - but we need to balance out the fixed logo width*/
	--contact-width:auto;
	--basket-width:4em;
	
	align-items:center;
	grid-template-columns: 1fr 3fr 1fr 1fr;
	grid-template-areas:
		". logo logo ."
		"menulink icons searchtoggle basket"
		"search search search search  "
		"nav nav nav nav  ";	
	}

	/* logo
	------------------------------------------------------- */
	#pt .pbnr {
		grid-area: logo;
		padding:1em 1em;
	}
	

	/* QuickOrder
	------------------------------------------------------- */
	
	/* Icons
	------------------------------------------------------- */
	#p52166663,
	#p52133888{
		grid-area:icons;
		background-color:var(--featured-color);
		height:100%;
		width:100%;
		align-content:center;
		
	}
	#p52166663 .icon a.img,
	#p52133888 .icon a.img{
		grid-area:icon;
		display:block;
	}
	#p52166663 .icon .img img,
	#p52133888 .icon .img img{
		display:block;
		max-height:2rem;
		width:auto;
	}
	

	/*first one will be phone - requires different styling */
	#p52166663  li:first-child,
	#p52133888  li:first-child{
		grid-area:phone;
		grid-template-columns:auto;
		grid-template-areas:
			"icon";
		grid-gap:var(--half-spacing);

		align-items:center;
	}

	#p52166663 .sout,
	#p52166663 a.tel,
	#p52166663 a.lnk,
	#p52133888 .sout,
	#p52133888 a.tel,
	#p52133888 a.lnk {
		display:none;
	}

	#p52166663 a.img img,
	#p52133888 a.img img{
		filter:invert();
	}

	#p52166663 li.icon,
	#p52133888 li.icon {
		display:grid;
		grid-template-columns:1fr;
		grid-template-areas:
			"icon";
		margin:0;
	}

	/* Search
	------------------------------------------------------- */

	/* mikes hack of a search toggle */
	#a132251648{
		display:block;

		grid-area:searchtoggle;
		text-align:center;

		background-color:var(--featured-color);
		height:100%;
		width:100%;
		align-content:center;
	}

	#a132251648 button{
		cursor: pointer;
		background-color:transparent;
		border:0;
		outline:0;
		color:var(--white) ;
		font-size:2rem;

		line-height:1;
	}
	
	#pt .search {
		grid-area: search;
		visibility:hidden;
		height:0;
	}

	#pt .search.toggleSearch {
		grid-area: search;
		visibility:visible;
		height:auto;
		margin:1em;
		padding:0;
	}

	
	
	/* nav display 
	------------------------------------------------------- */
	.home-hamburger{
		grid-area:menulink;
		display:block;
		z-index: 1000;
		background-color:var(--featured-color);
		height:100%;
		width:100%;
		align-content:center;
	}

	.home-hamburger .visible-xs {
		visibility: visible;
	}

	div.nav-wrapper {
		z-index:1001;
		min-height:0;
		background:var(--navbar-color);
		
	}
	
	div.nav-wrapper>ul.nav {
		top: 0;
	}

	/*remove deptlink stylings on mega-menu - they are retained for mega-menu-classic */
	.mega-menu div.menu-grid > div.menu-row ul li .deptlink{
		background-color:var(--navbar-dropdown-color);
		display:grid;
		grid-template-areas:"image title popout";
		grid-template-columns:3em 1fr 1em;
		align-items:center;
		text-align:left;
		min-height:var(--navbar-dropdown-item-height);
		padding:.5em;
		padding-left:2em;
	}


	.mega-menu div.menu-grid > div.menu-row ul li .deptlink a.img{
		display:block;
		grid-area:image;
		padding:.5em;
	}
	
	.mega-menu div.menu-grid > div.menu-row ul li .deptlink a.img{
		grid-column:1;
		grid-row:1;
	}

	.mega-menu div.menu-grid > div.menu-row ul li .deptlink a.img img{
		width: 100%;
		object-fit: cover;
		margin:auto;
	}
	
	.mega-menu div.menu-grid > div.menu-row ul li .deptlink a.txt{
		color:var(--text-color);
		font-family: var(--text-font);
		font-weight: normal;
		margin:0;

		display:block;
		grid-area:title;
		font-family:var(--heading-font);
	}

	/* for classic menu - change grid layout */
	.mega-menu-classic div.menu-grid > div.menu-row ul,
	.mega-menu-classic div.menu-grid > div.menu-row ul.l2{
		grid-template-columns:repeat(1,1fr);
		grid-gap: 0;
		margin:0 2em;
	}

	.mega-menu-classic div.menu-grid > div.menu-row ul.l3{
		display:none;
	}
	
	div.menu-grid > div.menu-row ul li .deptlink{
		grid-template-columns: 1fr;
		grid-template-areas:"link";
		align-items:center;
		/* grid-gap:1em; */
		/* grid-template-rows:auto; */
	}

	div.menu-grid > div.menu-row ul li .deptlink a.img{
		grid-area:image;
		align-self:start;
		/*don't show image */
		display:none;
	}

	div.menu-grid > div.menu-row ul li .deptlink a.txt{
		grid-area:link;
		display:block;
		padding:.5em 1rem;
		padding-left:2rem;
		font-family:var(--text-font);
		font-weight:400;
		font-size:1.2em;
		min-height:auto;
		background-color:transparent;
		color:var(--white);
	}
	
	/* Basket - change layout
	------------------------------------------------------- */

	#pt .bskt {
		grid-area: basket;
		text-align:right;
		position: relative;

		background-color:var(--featured-color);
		height:100%;
		width:100%;
		align-content:center;
	}

	
	#pt .bskt #mybskt{
		padding:0;
		text-align:center;
		align-items:center;
		background-color:transparent;
		border-radius:var(--border-radius);
		display:block;


	}

	#pt .bskt #mybskt a.btn,
	#pt .bskt #mybskt img.btn{
		margin:0;
		display:block;
	}

	#pt .bskt #mybskt a.btn img{
		filter:invert();
		max-height:2rem;
		width:auto;
	}
	
	/*items in basket */
	#pt .bskt #bsktitems,
	#pt .bskt a.mybsktlnk{
	    position: absolute;
	    top: 0rem;
	    right: .0rem;
	    background-color: var(--off-white);
	    color: var(--dark-grey);
	    border-radius: 50%;
	    text-align: center;
	    width: 1.5rem;
	    height: 1.5rem;
	    line-height: 1.5rem;
	    font-size: .825em;
	    font-weight:600;
	}
	
	#pt .bskt #bsktitems span{
		display:none;
	}

	#pt .bskt #mybskt p{
		font-family:var(--text-font);
		line-height:1.5rem;
	}

	
	#pt .bskt #bsktvalue,
	#pt .bskt a.bsktvalue{
		display:none;
	}

	#pt .bskt #mybskt a.btn{
		background:none;
		padding:0em;
		margin:0;
		border:none;
		display:inline-block;
	}

	/* no hover basket on mobile */
	.hoverbskt {
		display:none !important;
	}

	/*no space for free shipping header on mobile */
	#pt .bskt h4{
		display:none;
	}

	/* -------------------------------------------------------------------------------------
	=Center Panel #pc
	------------------------------------------------------------------------------------- */
	#pc{
		margin:0;
	}

	.home #pc {
		margin-top:1rem;
	}

	.bdcb {
		display: none;
	}

	/* client specific 
	------------------------------------------------------- */


	/* -------------------------------------------------------------------------------------
	=Left Panel #pl
	------------------------------------------------------------------------------------- */
	#pl {
	}

	/* -------------------------------------------------------------------------------------
	=Right Panel #pr
	------------------------------------------------------------------------------------- */
	#pr {
		width: calc(var(--site-max-width) - 2rem);
		margin:0 1rem;
	}


	/* -------------------------------------------------------------------------------------
	=Main Panel #pmid
	------------------------------------------------------------------------------------- */
	#pmid{
		display:block;
	}
	
	.pmfull,
	.pmstd{
		width: calc(var(--site-max-width) - 2rem);
		margin:0 1rem;
		padding-top:1rem;
	}

	.pmwide{
		background-color: var(--main-panel-color);
		width: calc(var(--site-max-width) - 2rem);
		display: block;
		vertical-align: top;
		margin:0 1rem;
	}


	.pmwide #sr {
		grid-template-columns: repeat(2, 1fr);
	}		
	
	#pmid.page_buy #pm.pmfull{
		width:calc(100% - 2rem)
	}
	



	/* -------------------------------------------------------------------------------------
	=Footer Panel #pf
	------------------------------------------------------------------------------------- */
	#pf{}

	#pf .ext {
		position: relative;
		/* padding:0 1em; */
		width:calc(100% - 2em);
	}

	#pf #carouselArtImgs {
		--swiffy-slider-item-count:2
	}



	/* Newsletter 
	------------------------------------------------------- */
	#pf .ext .news {
		grid-area:subscribe;
		text-align:center;
		width:75%;
		margin:auto;
	}

	.news_input_container{
		display:grid;
		grid-template-areas:"email"
			"subscribe";
		grid-template-columns:1fr;
	
	}

	#pf .ext .news input#email {
		border:1px var(--border-color) solid;
		border-radius:var(--border-radius);
		margin-bottom:1em;
	}
	
	#pf .ext .news input#subscribe {
		border:1px var(--red) solid;
		border-radius:var(--border-radius);
	}

	/* -------------------------------------------------------------------------------------
	=Bottom Panel #pb
	------------------------------------------------------------------------------------- */
		#pb{}

	#pb .ext {
		grid-gap:1em;
		padding:0 1em;
		padding-top: 3em;
		padding-bottom: 3em;
		grid-template-columns: 1fr;

		grid-template-areas:
		"about"
		"information"
		"account" 
		"saleshelp"
		"details";
		color: var(--white);
	}

	#pb .art h2 {
		margin-bottom:1em;
	}
	
	#a113770496{
		text-align:center;
	}

	#a109477890{
		text-align:center;
	}	

	/* accordion
	------------------------------------------------------- */
	#pb .ext h3.header{
		display:none;
	}

	#pb .accordion{
		width:100%;
	}

	
	#pb .accordion .header {
		font-family: var(--heading-font);
		font-weight: var(--heading-font-weight);
		font-size: 1.25em;
		cursor: pointer;
		border-radius: 0;
		margin: 0;
		background-color:transparent;
		text-transform:capitalize;
		margin-bottom:0em;
		border:none;
	}

	#pb .accordion .header img{
	}

	#pb .accordion h3{
		display:none;
	}

	#pb .accordion .pane{
		display: none;
		padding:0em;
		color:var(--black);
		background-color:transparent;
	}

	#pb .accordion .pane ul{
		margin:0;
		margin-left:2em;
		display:block;
		padding:0;
	}

	

	/* -------------------------------------------------------------------------------------
	=FIXEDBottom Panel #pbf
	------------------------------------------------------------------------------------- */
	#pbf{}

	#pbf .ext {
		background-position:top left;
		grid-template-areas:"links "
		"payment"
		"copyright";
		grid-template-columns: 1fr;
	}

	#a109477889{
		grid-area:payment;
		text-align:center;
	}



	/* left panel filter with toggle - only works if it is ONLY filter on the left panel
	------------------------------------------------------- */
	.filter {
		width:0;
	}

	.filter{
		height: 100%;
		width: 0%; /* 0 width - change this with JavaScript */
		position: fixed;
		z-index: 10001; 
		top: 0; 
		left: 0;
		background-color: var(--popout-color);
		overflow-x: hidden; /* Disable horizontal scroll */
		transition: var(--transition);
		box-shadow: var(--box-shadow);
		padding:1rem;
		display:none;
	}

	 .filter.showfilter{
		display:block;
		width:50%;
	}


	#fstrigbtn{
		display:block;
	}

	.fsclsdiv .fsclsspn{
		display:inline-block;
	}

	.filter .mnu_filter_search{
		display:grid;
		grid-template-columns:1fr;
		grid-gap:1em;
	}
	
	
	/* -------------------------------------------------------------------------------------
	=Blog
	------------------------------------------------------------------------------------- */
	#site.blog {}

	#site.blog #pm{
		display: grid;
		grid-template-columns: repeat(2, calc(50% - 1em));
		grid-gap: var(--spacing);
		grid-auto-flow: dense;
		grid-auto-rows: min-content;
	}

	#pm .blog:not(.art) a.title{
		grid-area:title;
		font-family:var(--heading-font);
		color:var(--dark-blue);
		text-align:center;
		padding:1em;
		font-size:1em
	}

	#pm .blog:not(.art) a.more{
		grid-area:readmore;
		margin:auto;
		padding:0;
		background-color:transparent;
		color:var(--blue);
		font-family:var(--text-font);
		text-align:center;
		font-size:1em;
		border-radius:var(--border-radius);
	}

	
	/* -------------------------------------------------------------------------------------
	=SearchHeader / SearchFooter
	------------------------------------------------------------------------------------- */
	.searchheader {
		display: grid;
		grid-template-columns: auto auto auto;
		grid-template-areas: "items  items filter"
			"sort-by sort-by itemsperpage";
		grid-gap: .5em;
		align-items: center;
		/* height:36px; */
		z-index: 99;
		background-color: var(--main-panel-color);
	}
	
	.searchheader .search {
		/* for unknown reasons we re-write out the searchbox in the search header*/
		display: none !important;
	}
	
	.searchheader label {
		display:none;
	}
.searchheader #rpppan,
.searchheader .rpp {
	margin: 0;
	grid-area: itemsperpage;
	text-align:right;
}
	
	/* -------------------------------------------------------------------------------------
	=FilterSearch
	------------------------------------------------------------------------------------- */
	
	/* -------------------------------------------------------------------------------------
	=Department
	------------------------------------------------------------------------------------- */

	/* dept listings
	------------------------------------------------------- */
	.depttree ul{
		grid-template-columns:repeat(2, 1fr);
	}
		
	#sr {
		grid-template-columns: repeat(1, 1fr);
	}

	.pmwide #sr {
		grid-template-columns: repeat(1, 1fr);
	}


	/* -------------------------------------------------------------------------------------
	=FeaturedProducts
	------------------------------------------------------------------------------------- */

	
	/* product listings
	------------------------------------------------------- */
	
	.fprd label {
		margin: 0;
		padding: 0;
		font-size: 10px;
	}


	/* Buy form 
	------------------------------------------------------- */
	.fprd form {
		grid-template-areas:
			"label qty"
			"buy buy";
		grid-gap: .5em;
		margin-top:.5em;
	}

	.fprd input.fpskuqty {
		margin-left:auto;
	}



	/* -------------------------------------------------------------------------------------
	=ProductPage
	------------------------------------------------------------------------------------- */
	#pi .main {
		grid-template-columns: 1fr;
		grid-template-areas: "top"
			"left"
			"right"
			"bottom";
	}

	#pi .gallery #mainimages{
		position:unset;
		top:0;
	}

	#galleryimages{
		display:none;
	}

	#pi .pititle h2{
		font-size:2em;
	}

	.pidescx li span{
		margin-right:0em;
	}

	.pidescx  br{
		display:block;
	}

	.pifile img{
		max-width:150px;
	}

	#pi .pititle{
		display:none;
	}
	
	#pi .main .left .pititle{
		display:block;
		margin:0;
	}


	/* Product Panels 
	------------------------------------------------------- */
	
	#pi .main .right {
		position:relative;
		grid-area: right;
		display: grid;
		grid-template-areas:
			"product-title product-title "
			"model model"
			"product-buy-pane product-buy-pane"
			"product-links product-links"
			"product-description product-description";
		grid-template-columns:  1fr auto;
	}
	

	/* save for later
	------------------------------------------------------- */
	#pi .sfl{
		position:absolute;
		top:unset;
		bottom:.5rem;
		right:.5rem;
	}


	
	/* -------------------------------------------------------------------------------------
	=Basket
	------------------------------------------------------------------------------------- */

	#pm .bskt {
		display: grid;
		grid-template-columns: 1fr;
		grid-gap:0;
		grid-column-gap: 4em;
		grid-template-areas:
			"breadcrumb "
			"header "
			"freedelivery "
			"lines"
			"totals"
			"voucher"
			"shipping"
			"buttons"	
			"prompane";
		align-items:start;
		margin-bottom:4rem;
	}


	#pm .bskt  .line{

		grid-template-columns: var(--image-width) 1fr auto auto;
		grid-template-areas:
			"icon desc desc desc"
			"icon giftwrap giftwrap giftwrap"
			"icon gifttext gifttext gifttext"
			"icon gtentry gtentry gtentry "
			". skuselect skuselect skuselect"
			"qty qty price rem"
			". . netprice  . ";
		border-bottom:1px solid	var(--border-color);
		grid-column-gap:1rem;
	}

	#pm .bskt  .line .qty label{
		display:none;
	}
	
	/* -------------------------------------------------------------------------------------
	=Checkout Process
	------------------------------------------------------------------------------------- */
	#pt.checkouttop .ext {
		--breadcrumb-width:1fr;
		grid-template-columns:100%;
		grid-template-areas:"logo"
							"breadcrumb";
	}

	#pt.checkouttop .ext .pane{
		text-align:center;
	}


	/* invoice/delivery address
	------------------------------------------------------- */
	.page_delivery form,
	.page_checkout form{
		padding:1rem;
		grid-template-columns:1fr;
		grid-template-areas: "address"
							"continue"
							"summary";
	}

	/* Order Fulfilment/shipping
	------------------------------------------------------- */
	#pmid.page_shipping{
		padding:1rem;
		width:calc(var(--site-max-width) - 2rem);
	}
	
	.page_shipping .pmfull {
		margin: 0 auto;
		position: relative;
		width: 75%;
	}

	/* Payment
	------------------------------------------------------- */
	#pmid.page_payment{
		padding:1rem;
		width:calc(var(--site-max-width) - 2rem);
	}

	.page_payment #pm {
		margin: 0 auto;
		position: relative;
		width: var(--site-max-width);
	}

	/* member pages */
	.page_useraccount .pmfull,
	.page_orderinfo .pmfull{
		background-color: var(--main-panel-color);
		width: var(--site-max-width);
		padding:0;
		display: inline-block;
		vertical-align: top;
		margin: 0;
		margin-right: 0;
	}
		/* -------------------------------------------------------------------------------------
	=Accordion Checkout process Need !important to override jquery ui 
	------------------------------------------------------------------------------------- */
	#pmid.page_checkoutprocess {}
	
	#pmid.page_checkoutprocess #pm{
		display:grid;
		grid-template-areas:"process";
		grid-template-columns:1fr;
		grid-column-gap:1em;
	}


	
	/* Customer Details
	------------------------------------------------------- */
	#basket_customer_details{
		display:grid;
		grid-template-areas:"top"
							"left"
							"right"
							"bottom";
		grid-column-gap:1rem;
		grid-template-columns:1fr;
	}
	
	
	/* Delivery Details 
	------------------------------------------------------- */
	#basket_delivery_details{
		display:grid;
		grid-template-areas:"left"
			"right"
			"bottom";
		grid-gap:1rem;
		grid-template-columns:1fr;
	}
	
		
	#pm .accordbdcb{
		display:none;
	}
	/* -------------------------------------------------------------------------------------
	=MyAccount
	------------------------------------------------------------------------------------- */
	/*account menu panel*/
	#pmam {
		width: 0;
		margin:0;
	}

	#pmam + .pmfull{
		width: calc(var(--site-max-width) - 2rem);
	}


	/* show/hide menu button */
	#mamtrigbtn {
		display:block;
	}


		
	#pmam .myacctmenu{
		height: 100%;
		width: 50%; /* 0 width - change this with JavaScript */
		position: fixed;
		z-index: 10001; 
		top: 0; 
		left: 0;
		background-color: var(--popout-color);
		overflow-x: hidden; /* Disable horizontal scroll */
		transition: var(--transition);
		box-shadow: var(--box-shadow);
		padding:1rem;
		display:none;
	}

	#pmam .myacctmenu.showmyacctmenu{
		display:block;
	}


	.mamclsdiv .mamclsspn{
	display:inline-block;
	}

	#fstrigbtn{
		display:block;
	}

	.fsclsdiv .fsclsspn{
		display:inline-block;
	}

	/* -------------------------------------------------------------------------------------
	=ConfirmationPage
	------------------------------------------------------------------------------------- */


	/* -------------------------------------------------------------------------------------
	=Sitemap 
	------------------------------------------------------------------------------------- */
	#pm .smap ul {
		list-style-position: inside;
		list-style: none;
		display: grid;
		grid-template-columns: repeat(1, 1fr);
	}


/* -------------------------------------------------------------------------------------
=Client Specific Stylings 
------------------------------------------------------------------------------------- */
	
}
/* ------------------------------------------------------------------------------------
	SCREEN - Extra small devices (phones, 600px and down)
	Last Updated : 04. 12. 2025
	Copyright :(c) 2025 Etail Systems Ltd
	Author : Etail Systems Ltd 
------------------------------------------------------------------------------------- */
@media only screen and (max-width: 600px) {

	/* -------------------------------------------------------------------------------------	
	=Definitions
	------------------------------------------------------------------------------------- */
	:root{
		--site-max-width:100%;
		--navbar-dropdown-color:var(--featured-color);
	}

	h2{
		font-size:1.8em;
	}

	/* -------------------------------------------------------------------------------------
	=SiteContainers
	------------------------------------------------------------------------------------- */
	#cont {
		margin: auto;
	}
	
	#site {
		background-color: var(--background-color);
	}

	/* -------------------------------------------------------------------------------------
	=Grid Layout
	------------------------------------------------------------------------------------- */

	#pm .pmind {
		display: grid;
		grid-template-columns: repeat(60, minmax(0, 1fr));
		grid-column-gap: 5px;
		grid-auto-flow: dense;
		/*don't put margin here*/
	}

	/* layout base classes
	------------------------------------------------------- */
	.fullWidth {
		grid-column: 1/-1;
	}
	
	.titleArticle{
		grid-column:1/-1;
		text-align:center;
	}
	
	.halfWidth{
		grid-column: 1/-1;
	}
	
	.halfWidthDbl {
		grid-row: span 1;
		grid-column: 1/-1
	}
	
	.quarterWidth,
	.fifthWidth{
		grid-column:1/-1;
	}
	
	.thirdWidth,
	.hpLink{
		grid-column: 1/-1
	}


	.carousel:has(.twoThirds),
	.twoThirds {
		grid-column: 1/-1;
	}

	/* -------------------------------------------------------------------------------------
	=Swiffy Slider
	------------------------------------------------------------------------------------- */
	.swiffy-slider {}
	.swiffy-slider ul, .swiffy-slider li {}
	
	.swiffy-slider .slidecont p {
		padding: 0;
		margin: 0;
	}
	
	.slider-product {
		--swiffy-slider-item-count: 2;
	}

	.slider-cta {
		--swiffy-slider-item-count: 1;
	}
	
	/* product sliders - code needs some tweaking */
	.carousel.prod .swiffy-slider {
		--swiffy-slider-item-count: 1;
		--swiffy-slider-item-reveal:4em;
	}
	
	/* department sliders - code needs some tweaking */
	.carousel.dept .swiffy-slider {
		--swiffy-slider-item-count: 2;
	}
	
	.carousel.dept .deptlink a.txt {}

	
	/* -------------------------------------------------------------------------------------
	=FIXEDTop Panel #ptf
	------------------------------------------------------------------------------------- */
	#ptf{}

	#ptf .ext {
		grid-template-areas: "vat ";
		grid-template-columns:  1fr;
		align-items:center;
		padding:.5em;
	}

	#p52166656,
	#p42500109 {
		display:none;
	}

	/* -------------------------------------------------------------------------------------
	=Top Panel #pt
	------------------------------------------------------------------------------------- */

	#pt .ext {

	/* spacer width is used on wider view ports to keep top panel central */
	--spacer-width: calc((100% - var(--site-max-width)) / 2);

	--menu-width:4em;
		
	/*logo width is fixed*/
	--logo-width:1fr;
	
	/*search sits central, scales as required*/
	--search-width:4em;
	
	/*these two elements sit at the end - but we need to balance out the fixed logo width*/
	--contact-width:auto;
	--basket-width:4em;
	
	align-items:center;
	grid-template-columns: 1fr 3fr 1fr 1fr;
	grid-template-areas:
		". logo logo ."
		"menulink icons searchtoggle basket"
		"search search search search  "
		"nav nav nav nav  ";	
	}

	/* logo
	------------------------------------------------------- */
	#pt .pbnr {
		grid-area: logo;
		padding:1em 1em;
	}
	

	/* QuickOrder
	------------------------------------------------------- */
	
	/* Icons
	------------------------------------------------------- */
	#p52166663,
	#p52133888{
		grid-area:icons;
		background-color:var(--featured-color);
		height:100%;
		width:100%;
		align-content:center;
		
	}
	
	#p52166663 .icon a.img,
	#p52133888 .icon a.img{
		grid-area:icon;
		display:block;
	}

	#p52166663 .icon .img img,
	#p52133888 .icon .img img{
		display:block;
		max-height:2rem;
		width:auto;
	}
	

	/*first one will be phone - requires different styling */
	#p52166663  li:first-child,
	#p52133888  li:first-child{
		grid-area:phone;
		grid-template-columns:auto;
		grid-template-areas:
			"icon";
		grid-gap:var(--half-spacing);

		align-items:center;
	}
	

	#p52166663 a.tel,
	#p52133888 a.tel,
	#p52166663 a.lnk,
	#p52133888 a.lnk,
	#p52166663 .sout,
	#p52133888 .sout{
		display:none;
	}

	#p52166663 a.img img,
	#p52133888 a.img img{
		filter:invert();
	}

	#p52166663 li.icon,
	#p52133888 li.icon {
		display:grid;
		grid-template-columns:1fr;
		grid-template-areas:
			"icon";
		margin:0;
	}

	/* Search
	------------------------------------------------------- */

	/* mikes hack of a search toggle */
	#a132251648{
		display:block;

		grid-area:searchtoggle;
		text-align:center;

		background-color:var(--featured-color);
		height:100%;
		width:100%;
		align-content:center;
	}

	#a132251648 button{
		cursor: pointer;
		background-color:transparent;
		border:0;
		outline:0;
		color:var(--white) ;
		font-size:2rem;

		line-height:1;
	}
	
	#pt .search {
		grid-area: search;
		visibility:hidden;
		height:0;
	}

	#pt .search.toggleSearch {
		grid-area: search;
		visibility:visible;
		height:auto;
		margin:1em;
		padding:0;
	}

	
	/* nav display 
	------------------------------------------------------- */
	.home-hamburger{
		grid-area:menulink;
		display:block;
		z-index: 1000;
		background-color:var(--featured-color);
		height:100%;
		width:100%;
		align-content:center;
	}

	.home-hamburger .visible-xs {
		visibility: visible;
	}

	div.nav-wrapper {
		z-index:1001;
		min-height:0;
		background:var(--navbar-color);
		
	}
	
	div.nav-wrapper>ul.nav {
		top: 0;
	}

	/*remove deptlink stylings on mega-menu - they are retained for mega-menu-classic */
	.mega-menu div.menu-grid > div.menu-row ul li .deptlink{
		background-color:var(--navbar-dropdown-color);
		display:grid;
		grid-template-areas:"image title popout";
		grid-template-columns:3em 1fr 1em;
		align-items:center;
		text-align:left;
		min-height:var(--navbar-dropdown-item-height);
		padding:.5em;
		padding-left:2em;
	}


	.mega-menu div.menu-grid > div.menu-row ul li .deptlink a.img{
		display:block;
		grid-area:image;
		padding:.5em;
	}
	
	.mega-menu div.menu-grid > div.menu-row ul li .deptlink a.img{
		grid-column:1;
		grid-row:1;
	}

	.mega-menu div.menu-grid > div.menu-row ul li .deptlink a.img img{
		width: 100%;
		object-fit: cover;
		margin:auto;
	}
	
	.mega-menu div.menu-grid > div.menu-row ul li .deptlink a.txt{
		color:var(--text-color);
		font-family: var(--text-font);
		font-weight: normal;
		margin:0;

		display:block;
		grid-area:title;
		font-family:var(--heading-font);
	}

	/* for classic menu - change grid layout */
	.mega-menu-classic div.menu-grid > div.menu-row ul,
	.mega-menu-classic div.menu-grid > div.menu-row ul.l2{
		grid-template-columns:repeat(1,1fr);
		grid-gap: 0;
		margin:0 2em;
	}

	.mega-menu-classic div.menu-grid > div.menu-row ul.l3{
		display:none;
	}
	
	div.menu-grid > div.menu-row ul li .deptlink{
		grid-template-columns: 1fr;
		grid-template-areas:"link";
		align-items:center;
		/* grid-gap:1em; */
		/* grid-template-rows:auto; */
	}

	div.menu-grid > div.menu-row ul li .deptlink a.img{
		grid-area:image;
		align-self:start;
		/*don't show image */
		display:none;
	}

	div.menu-grid > div.menu-row ul li .deptlink a.txt{
		grid-area:link;
		display:block;
		padding:.5em 1rem;
		padding-left:2rem;
		font-family:var(--text-font);
		font-weight:400;
		font-size:1.2em;
		min-height:auto;
		background-color:transparent;
		color:var(--white);
	}
	
	/* Basket - change layout
	------------------------------------------------------- */

	#pt .bskt {
		grid-area: basket;
		text-align:right;
		position: relative;

		background-color:var(--featured-color);
		height:100%;
		width:100%;
		align-content:center;
	}

	
	#pt .bskt #mybskt{
		padding:0;
		text-align:center;
		align-items:center;
		background-color:transparent;
		border-radius:var(--border-radius);
		display:block;


	}

	#pt .bskt #mybskt a.btn,
	#pt .bskt #mybskt img.btn{
		margin:0;
		display:block;
	}

	#pt .bskt #mybskt a.btn img{
		filter:invert();
		max-height:2rem;
		width:auto;
	}
	
	/*items in basket */
	#pt .bskt #bsktitems,
	#pt .bskt a.mybsktlnk{
	    position: absolute;
	    top: 0rem;
	    right: .0rem;
	    background-color: var(--off-white);
	    color: var(--dark-grey);
	    border-radius: 50%;
	    text-align: center;
	    width: 1.5rem;
	    height: 1.5rem;
	    line-height: 1.5rem;
	    font-size: .825em;
	    font-weight:600;
	}
	
	#pt .bskt #bsktitems span{
		display:none;
	}

	#pt .bskt #mybskt p{
		font-family:var(--text-font);
		line-height:1.5rem;
	}

	
	#pt .bskt #bsktvalue,
	#pt .bskt a.bsktvalue{
		display:none;
	}

	#pt .bskt #mybskt a.btn{
		background:none;
		padding:0em;
		margin:0;
		border:none;
		display:inline-block;
	}

	/* no hover basket on mobile */
	.hoverbskt {
		display:none !important;
	}

	/*no space for free shipping header on mobile */
	#pt .bskt h4{
		display:none;
	}

	/* -------------------------------------------------------------------------------------
	=Center Panel #pc
	------------------------------------------------------------------------------------- */
	#pc{
		margin:0;
	}

	.home #pc {
		margin-top:1rem;
	}

	.bdcb {
		display: none;
	}

	/* client specific 
	------------------------------------------------------- */


	/* -------------------------------------------------------------------------------------
	=Left Panel #pl
	------------------------------------------------------------------------------------- */
	#pl {
	}

	/* -------------------------------------------------------------------------------------
	=Right Panel #pr
	------------------------------------------------------------------------------------- */
	#pr {
		width: calc(var(--site-max-width) - 2rem);
		margin:0 1rem;
	}


	/* -------------------------------------------------------------------------------------
	=Main Panel #pmid
	------------------------------------------------------------------------------------- */
	#pmid{
		display:block;
	}
	
	.pmfull,
	.pmstd{
		width: calc(var(--site-max-width) - 2rem);
		margin:0 1rem;
		padding-top:1rem;
	}



	.pmwide{
		background-color: var(--main-panel-color);
		width: calc(var(--site-max-width) - 2rem);
		display: block;
		vertical-align: top;
		margin:0 1rem;
	}


	.pmwide #sr {
		grid-template-columns: repeat(2, 1fr);
	}		
	
	#pmid.page_buy #pm.pmfull{
		width:calc(100% - 2rem)
	}
	



	/* -------------------------------------------------------------------------------------
	=Footer Panel #pf
	------------------------------------------------------------------------------------- */
	#pf{}

	#pf .ext {
		position: relative;
		/* padding:0 1em; */
		width:calc(100% - 2em);
	}

	#pf #carouselArtImgs {
		--swiffy-slider-item-count:2
	}



	/* Newsletter 
	------------------------------------------------------- */
	#pf .ext .news {
		grid-area:subscribe;
		text-align:center;
		width:75%;
		margin:auto;
	}

	.news_input_container{
		display:grid;
		grid-template-areas:"email"
			"subscribe";
		grid-template-columns:1fr;
	
	}

	#pf .ext .news input#email {
		border:1px var(--border-color) solid;
		border-radius:var(--border-radius);
		margin-bottom:1em;
	}
	
	#pf .ext .news input#subscribe {
		border:1px var(--red) solid;
		border-radius:var(--border-radius);
	}

	/* -------------------------------------------------------------------------------------
	=Bottom Panel #pb
	------------------------------------------------------------------------------------- */
		#pb{}

	#pb .ext {
		grid-gap:1em;
		padding:0 1em;
		padding-top: 3em;
		padding-bottom: 3em;
		grid-template-columns: 1fr;

		grid-template-areas:
		"about"
		"information"
		"account" 
		"saleshelp"
		"details";
		color: var(--white);
	}

	#pb .art h2 {
		margin-bottom:1em;
	}
	
	#a113770496{
		text-align:center;
	}

	#a109477890{
		text-align:center;
	}	

	/* accordion
	------------------------------------------------------- */
	#pb .ext h3.header{
		display:none;
	}

	#pb .accordion{
		width:100%;
	}

	
	#pb .accordion .header {
		font-family: var(--heading-font);
		font-weight: var(--heading-font-weight);
		font-size: 1.25em;
		cursor: pointer;
		border-radius: 0;
		margin: 0;
		background-color:transparent;
		text-transform:capitalize;
		margin-bottom:0em;
		border:none;
	}

	#pb .accordion .header img{
	}

	#pb .accordion h3{
		display:none;
	}

	#pb .accordion .pane{
		display: none;
		padding:0em;
		color:var(--black);
		background-color:transparent;
	}

	#pb .accordion .pane ul{
		margin:0;
		margin-left:2em;
		display:block;
		padding:0;
	}

	

	/* -------------------------------------------------------------------------------------
	=FIXEDBottom Panel #pbf
	------------------------------------------------------------------------------------- */
	#pbf{}

	#pbf .ext {
		background-position:top left;
		grid-template-areas:"links "
		"payment"
		"copyright";
		grid-template-columns: 1fr;
	}

	#a109477889{
		grid-area:payment;
		text-align:center;
	}



	/* left panel filter with toggle - only works if it is ONLY filter on the left panel
	------------------------------------------------------- */
	.filter {
		width:0;
	}

	.filter{
		height: 100%;
		width: 0%; /* 0 width - change this with JavaScript */
		position: fixed;
		z-index: 10001; 
		top: 0; 
		left: 0;
		background-color: var(--popout-color);
		overflow-x: hidden; /* Disable horizontal scroll */
		transition: var(--transition);
		box-shadow: var(--box-shadow);
		padding:1rem;
		display:none;
	}

	 .filter.showfilter{
		display:block;
		width:50%;
	}


	#fstrigbtn{
		display:block;
	}

	.fsclsdiv .fsclsspn{
		display:inline-block;
	}

	.filter .mnu_filter_search{
		display:grid;
		grid-template-columns:1fr;
		grid-gap:1em;
	}
	
	
	/* -------------------------------------------------------------------------------------
	=Blog
	------------------------------------------------------------------------------------- */
	#site.blog {}

	#site.blog #pm{
		display: grid;
		grid-template-columns: repeat(2, calc(50% - 1em));
		grid-gap: var(--spacing);
		grid-auto-flow: dense;
		grid-auto-rows: min-content;
	}

	#pm .blog:not(.art) a.title{
		grid-area:title;
		font-family:var(--heading-font);
		color:var(--dark-blue);
		text-align:center;
		padding:1em;
		font-size:1em
	}

	#pm .blog:not(.art) a.more{
		grid-area:readmore;
		margin:auto;
		padding:0;
		background-color:transparent;
		color:var(--blue);
		font-family:var(--text-font);
		text-align:center;
		font-size:1em;
		border-radius:var(--border-radius);
	}

	
	/* -------------------------------------------------------------------------------------
	=SearchHeader / SearchFooter
	------------------------------------------------------------------------------------- */
	.searchheader {
		display: grid;
		grid-template-columns: auto auto auto;
		grid-template-areas: "items  items filter"
			"sort-by sort-by itemsperpage";
		grid-gap: .5em;
		align-items: center;
		/* height:36px; */
		z-index: 99;
		background-color: var(--main-panel-color);
	}
	
	.searchheader .search {
		/* for unknown reasons we re-write out the searchbox in the search header*/
		display: none !important;
	}
	
	.searchheader label {
		display:none;
	}
.searchheader #rpppan,
.searchheader .rpp {
	margin: 0;
	grid-area: itemsperpage;
	text-align:right;
}
	
	/* -------------------------------------------------------------------------------------
	=FilterSearch
	------------------------------------------------------------------------------------- */
	
	/* -------------------------------------------------------------------------------------
	=Department
	------------------------------------------------------------------------------------- */

	/* dept listings
	------------------------------------------------------- */
	.depttree ul{
		grid-template-columns:repeat(2, 1fr);
	}
		
	#sr {
		grid-template-columns: repeat(1, 1fr);
	}

	.pmwide #sr {
		grid-template-columns: repeat(1, 1fr);
	}


	/* -------------------------------------------------------------------------------------
	=FeaturedProducts
	------------------------------------------------------------------------------------- */

	
	/* product listings
	------------------------------------------------------- */
	
	.fprd label {
		margin: 0;
		padding: 0;
		font-size: 10px;
	}


	/* Buy form 
	------------------------------------------------------- */
	.fprd form {
		grid-template-areas:
			"label qty"
			"buy buy";
		grid-gap: .5em;
		margin-top:.5em;
	}

	.fprd input.fpskuqty {
		margin-left:auto;
	}



	/* -------------------------------------------------------------------------------------
	=ProductPage
	------------------------------------------------------------------------------------- */
	#pi .main {
		grid-template-columns: 1fr;
		grid-template-areas: "top"
			"left"
			"right"
			"bottom";
	}

	#pi .gallery #mainimages{
		position:unset;
		top:0;
	}

	#galleryimages{
		display:none;
	}

	#pi .pititle h2{
		font-size:2em;
	}

	.pidescx li span{
		margin-right:0em;
	}

	.pidescx  br{
		display:block;
	}

	.pifile img{
		max-width:150px;
	}

	#pi .pititle{
		display:none;
	}
	
	#pi .main .left .pititle{
		display:block;
		margin:0;
	}


	/* Product Panels 
	------------------------------------------------------- */
	
	#pi .main .right {
		position:relative;
		grid-area: right;
		display: grid;
		grid-template-areas:
			"product-title product-title "
			"model model"
			"product-buy-pane product-buy-pane"
			"product-links product-links"
			"product-description product-description";
		grid-template-columns:  1fr auto;
	}
	

	/* save for later
	------------------------------------------------------- */
	#pi .sfl{
		position:absolute;
		top:unset;
		bottom:.5rem;
		right:.5rem;
	}


	
	/* -------------------------------------------------------------------------------------
	=Basket
	------------------------------------------------------------------------------------- */

	#pm .bskt {
		display: grid;
		grid-template-columns: 1fr;
		grid-gap:0;
		grid-column-gap: 4em;
		grid-template-areas:
			"breadcrumb "
			"header "
			"freedelivery "
			"lines"
			"totals"
			"voucher"
			"shipping"
			"buttons"	
			"prompane";
		align-items:start;
		margin-bottom:4rem;
	}


	#pm .bskt  .line{

		grid-template-columns: var(--image-width) 1fr auto auto;
		grid-template-areas:
			"icon desc desc desc"
			"icon giftwrap giftwrap giftwrap"
			"icon gifttext gifttext gifttext"
			"icon gtentry gtentry gtentry "
			". skuselect skuselect skuselect"
			"qty qty price rem"
			". . netprice  . ";
		border-bottom:1px solid	var(--border-color);
		grid-column-gap:1rem;
	}

	#pm .bskt  .line .qty label{
		display:none;
	}
	
	/* -------------------------------------------------------------------------------------
	=Checkout Process
	------------------------------------------------------------------------------------- */
	#pt.checkouttop .ext {
		--breadcrumb-width:1fr;
		grid-template-columns:100%;
		grid-template-areas:"logo"
							"breadcrumb";
	}

	#pt.checkouttop .ext .pane{
		text-align:center;
	}


	/* invoice/delivery address
	------------------------------------------------------- */
	.page_delivery form,
	.page_checkout form{
		padding:1rem;
		grid-template-columns:1fr;
		grid-template-areas: "address"
							"continue"
							"summary";
	}

	/* Order Fulfilment/shipping
	------------------------------------------------------- */
	#pmid.page_shipping{
		padding:1rem;
		width:calc(var(--site-max-width) - 2rem);
	}
	
	.page_shipping .pmfull {
		margin: 0 auto;
		position: relative;
		width: 75%;
	}

	/* Payment
	------------------------------------------------------- */
	#pmid.page_payment{
		padding:1rem;
		width:calc(var(--site-max-width) - 2rem);
	}

	.page_payment #pm {
		margin: 0 auto;
		position: relative;
		width: var(--site-max-width);
	}

	/* member pages */
	.page_useraccount .pmfull,
	.page_orderinfo .pmfull{
		background-color: var(--main-panel-color);
		width: var(--site-max-width);
		padding:0;
		display: inline-block;
		vertical-align: top;
		margin: 0;
		margin-right: 0;
	}






		/* -------------------------------------------------------------------------------------
	=Accordion Checkout process Need !important to override jquery ui 
	------------------------------------------------------------------------------------- */
	#pmid.page_checkoutprocess {}
	
	#pmid.page_checkoutprocess #pm{
		display:grid;
		grid-template-areas:"process";
		grid-template-columns:1fr;
		grid-column-gap:1em;
	}


	
	/* Customer Details
	------------------------------------------------------- */
	#basket_customer_details{
		display:grid;
		grid-template-areas:"top"
							"left"
							"right"
							"bottom";
		grid-column-gap:1rem;
		grid-template-columns:1fr;
	}
	
	
	/* Delivery Details 
	------------------------------------------------------- */
	#basket_delivery_details{
		display:grid;
		grid-template-areas:"left"
			"right"
			"bottom";
		grid-gap:1rem;
		grid-template-columns:1fr;
	}
	
		
	#pm .accordbdcb{
		display:none;
	}
		
	/* -------------------------------------------------------------------------------------
	=MyAccount
	------------------------------------------------------------------------------------- */
	/*account menu panel*/
	#pmam {
		width: 0;
		margin:0;
	}

	#pmam + .pmfull{
		width: calc(var(--site-max-width) - 2rem);
	}


	/* show/hide menu button */
	#mamtrigbtn {
		display:block;
	}


		
	#pmam .myacctmenu{
		height: 100%;
		width: 50%; /* 0 width - change this with JavaScript */
		position: fixed;
		z-index: 10001; 
		top: 0; 
		left: 0;
		background-color: var(--popout-color);
		overflow-x: hidden; /* Disable horizontal scroll */
		transition: var(--transition);
		box-shadow: var(--box-shadow);
		padding:1rem;
		display:none;
	}

	#pmam .myacctmenu.showmyacctmenu{
		display:block;
	}


	.mamclsdiv .mamclsspn{
	display:inline-block;
	}

	#fstrigbtn{
		display:block;
	}

	.fsclsdiv .fsclsspn{
		display:inline-block;
	}

	/* -------------------------------------------------------------------------------------
	=ConfirmationPage
	------------------------------------------------------------------------------------- */


	/* -------------------------------------------------------------------------------------
	=Sitemap 
	------------------------------------------------------------------------------------- */
	#pm .smap ul {
		list-style-position: inside;
		list-style: none;
		display: grid;
		grid-template-columns: repeat(1, 1fr);
	}


/* -------------------------------------------------------------------------------------
=Client Specific Stylings 
------------------------------------------------------------------------------------- */
	
}
/* ------------------------------------------------------------------------------------
	SCREEN - v6 basecomponents 2024
	Last Updated : 26. 03. 2024 
	Copyright :(c) 2024 Etail Systems Ltd
	Author : Etail Systems Ltd

------------------------------------------------------------------------------------- */


/* -------------------------------------------------------------------------------------
=Autocomplete 
------------------------------------------------------------------------------------- */
.ui-helper-hidden-accessible {
	display: none;
}

.ui-widget.ui-widget-content.ui-autocomplete {
	margin: auto;
	padding: 0;
	border-radius: 0;
	max-height: 332px;
	overflow-x: hidden;
	overflow-y: scroll;
	border: 1px solid var(--border-color);
	z-index: 2000;
	background-color: var(--white)
}

.ui-autocomplete li.ui-menu-item {
	cursor: pointer;
	margin: 0;
	display: block;
}

.ui-menu-item a {
	display: grid;
	grid-template-columns: 3em 1fr;
	padding: var(--half-spacing);
	grid-template-areas: "image title";
	grid-gap: var(--spacing);
	align-items:center;
}

.foundProduct {
	grid-area: image;
}

.foundProduct img {}

.foundProductTitle {
	grid-area: title;
}

.foundProductRef {
	display: none;
}

.foundProductDesc {
	display: none;
}

.ui-autocomplete li {
	list-style: none;
}

.ui-autocomplete li:hover {}

.ui-menu .ui-menu-item a.ui-state-focus, .ui-menu .ui-menu-item a.ui-state-active {
	margin: 0;
	border-radius: 0;
	border: none;
	outline: none;
}

.ui-menu-item a.ui-state-active {}
.ui-autocomplete mark {}

/* -------------------------------------------------------------------------------------
=Email when back in stock EWIS 
------------------------------------------------------------------------------------- */
/* take care as the html markup that writes this thing out is a bit borked! */
#ewis h3 {
	font-weight: var(--heading-font-weight);
}

#ewis label {
	color: var(--text-heading-color);
}

a.lnk.ewisopen, a.lnk.ewis {
	display: block;
	height: auto;
	text-transform: capitalize;
	font-size:.625em;
}

.lnk.ewisopen:hover {
	text-decoration: underline;
	text-decoration-color:var(--orange);
}

/* -------------------------------------------------------------------------------------
=PopupDialog 
------------------------------------------------------------------------------------- */
#popupdialog {
	position: fixed;
	top: 50%;
	left: 50%;
	width: calc(var(--site-max-width) / 3);
	transform: translate(-50%, -50%);
	padding: var(--spacing);
	z-index: 2000;
	z-index: 2000;
	border: 1px solid var(--border-color);
	background-color: var(--popout-color);
	display: none;
	text-align: center;
	-webkit-box-shadow: var(--box-shadow);
	-moz-box-shadow: var(--box-shadow);
	box-shadow: var(--box-shadow);
}

#popupdialog .item {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	grid-gap: .5em;
	margin-bottom: var(--spacing)
}

#popupdialog .item img {
	grid-column: 1/-1;
	grid-row: 1;
	align-self: center;
	margin: auto;
}

#popupdialog h3 {
	font-size: 1em;
	margin-bottom: 1em;
}

#popupdialog a {
	--border-color: var(--button-border-color);
	display: inline-block;
	vertical-align: middle;
	font-size: 1em;
	font-weight: var(--button-font-weight);
	text-align: center;
	cursor: pointer;
	font-family: var(--button-font);
	text-transform: capitalize;
	background-color: var(--button-color);
	color: var(--button-text-color);
	border: 1px solid var(--button-border-color);
	border-radius: var(--border-radius);
	outline: none;
	padding: var(--half-spacing) var(--spacing)
}

#popupdialog .item .title {
	font-family: var(--heading-font);
	font-weight: var(--heading-font-weight);
	color: var(--text-heading-color);
	background-color:transparent;
	border:none;
	font-size: 1.2em;
	grid-column: 1/-1;
	grid-row: 2;
	text-align: center;
}

#popupdialog .item p.qty {
	grid-column: 1;
	grid-row: 3;
	text-align: right;
}

#popupdialog .item p.price {
	grid-column: 2;
	grid-row: 3;
	text-align: left;
}

/* this element needs a class 
.hoverbsktadd a[title="Checkout"], .hoverbsktadd .item+a {
	font-size: 1em;
	padding: var(--spacing);
	text-align: center;
	cursor: pointer;
	font-family: var(--button-font);
	text-transform: capitalize;
	background-color: var(--checkout-button);
	color: var(--button-text-color);
	border: 1px var(--button-border-color) solid;
	outline: none;
	display: inline-block;
	vertical-align: middle;
	transition: var(--transition);
	border-radius: var(--border-radius);
}

.hoverbsktadd a[title="Checkout"]:hover {}*/
#popupdialog .useraccount {}
#popupdialog .useraccount input {}
#popupdialog .useraccount a {}






/* -------------------------------------------------------------------------------------
=HoverBsket 
------------------------------------------------------------------------------------- */
.hoverbskt {
	background-color: var(--off-white);
	border:none;
	width: calc(var(--basket-width) - 1em);
	border-top:none;
	padding:.5em;
	z-index:999999;
	text-align:center;
	/* margin-top:2em; */

}

.hoverbskt h3 {
	/*pointless title - hide it */
	display:none;
}

.hoverbskt .lines .item:last-child {}
.hoverbskt .formupdate {}
.hoverbskt .formupdate input {}
.hoverbskt .formupdate input.submitQtyChange {}
.hoverbskt a,
.hoverbsktadd a,
.hoverbskt p,
.hoverbsktadd p {
	font-size: 0.825em;
}


.hoverbsktadd p.descr{
	display:none;
}

.hoverbskt .lines {
	max-height:260px;
	overflow-y:scroll;
}
.hoverbskt .lines .item {
    display:grid;
    grid-template-columns:64px 1fr;
    grid-gap:.5em;
    padding-right:.5em;
}

.hoverbskt .lines .item a.title,
.hoverbskt .lines .item p.sample {
	color:var(--textSubHeadingColor);
	font-weight:bolder;
	text-align:left;
}
.hoverbskt .lines .item img {
	aspect-ratio: 1 / 1;
	width: 100%;
	object-fit: contain;
}

.hoverbskt .lines .item p.descr {
	display:none;
}
.hoverbskt .lines .item p.qty {
}

.hoverbskt .lines .item p.price {
	grid-column:2;
	text-align:right;
}
.hoverbskt h4.count {
	padding:.5em 0;
	margin-top:.5em;
	text-align: right;
	font-size: 0.825em;
	border-top: 1px var(--border-color) solid;
}

.hoverbskt h4.total {
	text-align: right;
	font-size: 0.825em;
	font-weight:bolder;
	padding-bottom:.5em;
	margin-bottom:1em;
	border-bottom: 1px var(--border-color) solid;
}

.hoverbskt a.btn {
	display:block;
	background-color:var(--checkout-button);
	border:1px var(--checkout-button) solid;
}

/* -------------------------------------------------------------------------------------
=Out of Stock, Direct Despatch
------------------------------------------------------------------------------------- */

.ui-dialog.outofstockdialog, .ui-dialog.directdespatchdialog {
	width: 500px !important;
	max-width: 80vw;
	text-align: center;
}

.ui-dialog.outofstockdialog .outofstockpopup, .ui-dialog.directdespatchdialog .directdespatchpopup-pane {
	border: none;
}

.ui-dialog.outofstockdialog .outofstockpopup .oosheader, .ui-dialog.directdespatchdialog .ui-widget-header {
	padding: 0 0 1em 0;
}

.ui-dialog.directdespatchdialog .ui-widget-header {
	display: none;
}

.ui-dialog.directdespatchdialog .ui-widget-header .ui-dialog-titlebar-close {
	display: none;
}

.ui-dialog.outofstockdialog .outofstockpopup .oosmessage .oosdate {}

.ui-dialog.outofstockdialog .ui-dialog-titlebar {
	display: none;
}

.ui-dialog.outofstockdialog .ui-widget-content, .ui-dialog.directdespatchdialog .ui-dialog-buttonpane {
	background: transparent;
	border: none;
	margin-top: 0;
	text-align: center;
	padding: 0;
}

.ui-dialog.outofstockdialog .ui-widget-content .ui-dialog-buttonset, .ui-dialog.directdespatchdialog .ui-dialog-buttonpane .ui-dialog-buttonset {
	float: none;
}

.ui-dialog.outofstockdialog .ui-widget-content .ui-dialog-buttonset button, .ui-dialog.directdespatchdialog .ui-dialog-buttonpane .ui-dialog-buttonset button {
	--border-color: var(--button-border-color);
	display: inline-block;
	vertical-align: middle;
	font-size: 1em;
	font-weight: var(--button-font-weight);
	text-align: center;
	cursor: pointer;
	font-family: var(--button-font);
	text-transform: capitalize;
	border: 1px solid var(--button-border-color);
	border-radius: var(--border-radius);
	outline: none;
	padding: var(--half-spacing) var(--spacing);
	background-color: var(--white);
	color: var(--orange);
	border: 1px solid var(--button-border-color);
	border-radius: var(--border-radius);
	outline: none;
}

/*better use of classes would be nice! ;) */
.ui-dialog.directdespatchdialog .ui-dialog-buttonpane .ui-dialog-buttonset button:first-child {
	--border-color: var(--button-border-color);
	background-color: var(--button-color);
	color: var(--button-text-color);
	border: 1px solid var(--button-border-color);
}

.directdespatchdialog .ui-dialog-buttonpane .ui-dialog-buttonset button {}

#directdespatchpopup-pane span.ddproduct {
	font-size: 1.5em;
	display: block;
	margin-bottom: 1em;
}

.ddmessage {}
.ddmessage span.dddatemessage {}

.ddmessage span.dddate {
	display: block;
	margin-top: 1em;
	font-size: 1.2em;
}

/* -------------------------------------------------------------------------------------
=Tooltips
------------------------------------------------------------------------------------- */
.helpicon {
	display: inline-block;
	position: absolute;
	top: .5rem;
	right: .5rem;
	text-align: left;
}

.helpicon h3 {
	margin: var(--half-spacing) 0;
}

.helpicon .lefttooltip {
	min-width: 100px;
	max-width: 200px;
	top: 50%;
	right: 100%;
	margin-right: 1rem;
	transform: translate(0, -50%);
	padding: var(--half-spacing);
	color: var(--text-color);
	background-color: var(--white);
	font-weight: normal;
	font-size: .825em;
	position: absolute;
	z-index: 1000;
	box-sizing: border-box;
	display: none;
	border-radius: var(--border-radius);
	border: 1px solid var(--border-color);
}

.helpicon:hover .lefttooltip {
	display: block;
	line-height: 1;
}

.helpicon .lefttooltip i {
	position: absolute;
	top: 50%;
	left: 100%;
	margin-top: -12px;
	width: 12px;
	height: 24px;
	overflow: hidden;
}

.helpicon .lefttooltip i::after {
	content: '';
	position: absolute;
	width: 12px;
	height: 12px;
	left: 0;
	top: 50%;
	transform: translate(-50%, -50%) rotate(-45deg);
	background-color: #FFFFE0;
	border: 1px solid #DCA;
}



/* -------------------------------------------------------------------------------------
=Accordion 
------------------------------------------------------------------------------------- */
ul.accordion {
	grid-column: 1/-1;
	list-style: none;
}

/* Header including hide/show icons 
------------------------------------------------------- */
.accordion .header {
	display: grid;
	grid-template-areas:"expand question ";
	grid-gap: 1rem;
	grid-template-columns: 1rem 1fr;
	font-family:var(--text-font);
	font-size: 1em;
	cursor: pointer;
	padding: 1rem 0;
	transition: var(--transition);
	text-transform:capitalize;
	/* margin:.5em 0; */
	border-top:1px solid var(--grey)
}

.accordion .header img {
	grid-area: expand;
	cursor: pointer;
}

.accordion .header .showplus {
	
}

.accordion .header .showminus {
	display: none;
}

.accordion .header.current .showplus {
	display: none;
}

.accordion .header.current .showminus {
	display: block;
}

li.subhead {}

/* Panes
------------------------------------------------------- */
ul.accordion li.pane.first {}

ul.accordion li.pane {
	display: none;
}
 ul.accordion li.pane br{}

ul.accordion li.pane p {
	font-size:1em;
}

ul.accordion li.pane ul {
	list-style-type: disc;
	margin-left: 1em;
	font-size:1em;
}

ul.accordion li.pane li {}

ul li.title {}


/* -------------------------------------------------------------------------------------
=Copyright and Managed by 
------------------------------------------------------------------------------------- */
.etailcopy {
	grid-area:copyright;
	display: grid;
	grid-template-columns:1fr auto auto;
	grid-gap:1rem;
	padding:.5em;
	grid-template-areas:". etail copy"
}


p.etail {
	grid-area:etail;
	text-align:left;
	margin:0;
}

p.etail a {
}

p.copy {
	grid-area:copy;
	text-align:left;
	margin:0;
}

p.copy span {}

@media only screen and (max-width: 600px) {
	.etailcopy {
		grid-area:copyright;
		display: grid;
		grid-template-columns:auto auto ;
		grid-gap:1rem;
		padding:.5em;
		grid-template-areas:"etail copy"
		}
	p.copy {
	grid-area:copy;
	text-align:right;
	margin:0;
	}
}





/* vat switch
------------------------------------------------------- */
.vatsw{
	grid-area:vat;
	text-align: left;
	font-size:12px;
	/* padding:0 1rem; */
}

[type=checkbox][role=switch] {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	width: 1.25em;
	height: 1.25em;
	margin-top: -0.125em;
	margin-right: 0.375em;
	margin-left: 0;
	-webkit-margin-start: 0;
	margin-inline-start: 0;
	-webkit-margin-end: 0.375em;
	margin-inline-end: 0.375em;
	border-width: 1px;
	font-size: inherit;
	vertical-align: middle;
	cursor: pointer;	
	width: 2.25em;
	height: 1.25em;
	border-radius: 1.25em;
	line-height: 1.25em;
	
}

[type=checkbox][role=switch] {
	--background-color: var(--featured-alt-color);
	--border-color: var(--featured-alt-color);
	--border-width:2px;
	width: 2.25em;
	height: 1.25em;
	border: var(--border-width) solid var(--border-color);
	border-radius: 1.25em;
	background-color: var(--background-color);
	line-height: 1.25em;
	margin:0 .5em;
}

[type=checkbox][role=switch]:focus {}

[type=checkbox][role=switch]:checked {
	--background-color: var(--red);
	--border-color: var(--red);
}

[type=checkbox][role=switch]:before {
	display: block;
	width: calc(1.25em - (var(--border-width) * 2));
	height: 100%;
	border-radius: 50%;
	background-color: var(--white);
	content: "";
	transition: margin 0.1s ease-in-out;
}

[type=checkbox][role=switch]:checked:before {
	background-color: var(--white);
}

[type=checkbox][role=switch]:checked {
	background-image: none;
}

[type=checkbox][role=switch]:checked::before {
	margin-left: calc(1.125em - var(--border-width));
	-webkit-margin-start: calc(1.125em - var(--border-width));
	margin-inline-start: calc(1.125em - var(--border-width));
}



/*readmore stuff 
------------------------------------------------------- */
.more{
	margin:1em 0;
}

.more.noexpand{
	display:none;
	transition: var(--transition);
	
}

.showmorecss,
.showlesscss,
.showmore,
.showless{
	display:inline-block;
	vertical-align:middle;
	font-family:var(--buttonFont);
	font-size:.825em;
	border: none;
	text-align: center;
	border-color:inherit;
	cursor:pointer;
	color:var(--orange);
	text-transform:capitalize;
	transition: var(--transition);
	
}


/* Messages 
------------------------------------------------------- */
#mess {
	padding: 1em;
	margin: 1em 0;
}

li.info:not(.sa_name) {
	color: var(--info-color);
	list-style: none;
	margin-bottom:1rem;
}

li.info.req{
	color:var(--error-color)
}

li.info.acct{
	color:var(--error-color);
	font-size:2em;
}

li.info.acct a{
	margin-left:.5em;
	text-decoration:underline;
}

li.info img{
	display:inline-block;
}

li.info:not(.sa_name)::before {
	font-family: var(--font-awesome);
	content: '\f05a';
	margin-right: var(--half-spacing)
}

.warn {
	color: var(--error-color);
}

.reqmsg {
	color: var(--error-color);
	font-size: smaller;
}

.oos {
	color: var(--error-color);
}


/* -------------------------------------------------------------------------------------
=Forms
------------------------------------------------------------------------------------- */
/* Defaults
------------------------------------------------------- */
.form {
	grid-column: 1/-1;
}

/*bit of a hack - really don't want to be using an img as a way of identifying a required field */
.form img {
	display:inline;
	vertical-align:top;
	width: auto !important;
	height: auto
}

.form ul {
	margin: 0;
	padding: 0;
}

.form ul li {
	list-style: none;
	display: block;
}

.form form {
	margin: auto;
}

.form .help {
	color: var(--help-color);
	font-size: small;
}

.form label {
	display: block
}

.form li select, .form li textarea, .form li input {
	margin-bottom: var(--spacing);
	max-width:100%;
}

input:required:invalid {
	border-color: var(--error-color);
	border-width:2px;
}

.form li.reqmsg {
	color: var(--error-color);
}

.form li.header {
}

.form li.header h3{
	font-family:var(--text-font);
	font-size:1em;
}

.form label img {
	display: inline-block;
}

.form li.help, .form li.info {
	font-size: .825em;
}

.form form {}

.form form .submit {
	display: block;
}

.form .g-recaptcha {
	text-align: right;
	display: block;
	margin-left: auto;
	margin-bottom:1rem;
}

/* fix for checklists*/
.form li ul.check {
	font-weight:bold;
}
.form li ul.check input {
	margin-right: var(--half-spacing);
	width:auto;
}

/* fix for radio buttons */
.form ul.radio {}
.form li ul.radio input {
	margin-right: var(--half-spacing);
	width:auto;
	display:inline;
}

.form ul.radio label{
	display:inline;
}

/* fix for subscribe checkbox */
.form li.subscribe input {
	margin-right: var(--half-spacing);
	width:auto;
}

.form li.subscribe label {
	display: inline;
	font-weight: normal;
}

.exstreglnk, .exstfgtpwd {}

.exstreglnk h5, .exstfgtpwd h5 {
	font-family: var(--text-font);
	font-weight: normal;
	font-size: .825em;
}

/*image uploader */
.imgupl{
}

.imgupl img{
	margin:0;
	margin-right:auto;
}



/* Sign In - these conflict with new checkout forms, need to revisit
------------------------------------------------------- */
.page_signin .form {
	margin: auto;
	max-width:50%;
}

.page_signin .art{
	margin: auto;
	max-width:50%;
}

.page_signin .form label {
	display: block;
}

.page_signin .form input {
	width: calc(100% - 2em);
}

.page_signin .form input + img{
	display:inline-block;
	vertical-align:top;
}

/* Register/update details - need to add classes to all the input fields
------------------------------------------------------- */
.page_register .form {
	margin: auto;
	max-width:50%;
}

.page_register .form label {
	display: block;
}

.page_register form input,
.page_register form select {
	width: calc(100% - 2em);
}

.page_register form img{
	display:inline-block;
	vertical-align:top;
}


/* Forgotten Password
------------------------------------------------------- */
.page_passwordrequest .form#pwrem {
	width: 50%;
	margin: auto;
}

.page_passwordrequest form input,
.page_register form select {
	width: calc(100% - 2em);
}

.page_passwordrequest form img{
	display:inline-block;
	vertical-align:top;
}

.page_passwordrequest form h5 {
	font-family: var(--text-font);
	font-weight: normal;
	font-size: .825em;
}



/* -------------------------------------------------------------------------------------
=Jquery Base Overrides 
------------------------------------------------------------------------------------- */
.ui-dialog, .ui-widget.ui-widget-content {
	z-index: 1002;
	border: 1px solid var(--border-color);
}

.ui-widget {
	font-size: 1em;
	font-family: var(--text-font)
}

.ui-widget-header {
	background: none;
	border: none;
	font-family:var(--heading-font);
	font-weight:var(--heading-font-weight);
	color: var(--text-heading-color);
	font-size: 1em;
}

.ui-dialog input {
	width: 100%;
}

.ui-dialog input#subscribe {
	width: auto;
}

.ui-dialog input.submit {
	margin: var(--spacing) 0;
	text-align: center;
}

.ui-widget input[type="text"] .ui-widget input[type="email"],
.ui-widget select, .ui-widget textarea, .ui-widget button {
	padding: 0 var(--spacing);
	padding: .25em 0.5em;
	padding: var(--spacing);
	border: none;
	outline: 1px var(--border-color) solid;
}

.validateTips {
	font-size: .688em;
}

/* Interaction states
----------------------------------*/
.ui-state-active,
.ui-widget-content .ui-state-active,
.ui-widget-header .ui-state-active,
a.ui-button:active,
.ui-button:active,
.ui-button.ui-state-active:hover {
	border: 1px solid var(--border-color);
	font-weight: normal;
}

.ui-icon-background,
.ui-state-active .ui-icon-background {
	border: var(--border-color);
}

/* the ask for email address popup? */
.ui-dialog.ewisdialog {
	width: 400px !important;
	text-align: center;
}

/* ask a question popup on product pages */
.ui-dialog.techquesdialog {}
.techquesdialog label {}

/* saartdialog*/
.ui-dialog.saartdialog {
	width: 80vw !important;
	max-width: 640px;
	display: none;
}



/* -------------------------------------------------------------------------------------
=PopupDialog / Popup Add to Basket / Direct Despatch
------------------------------------------------------------------------------------- */
.hoverbsktadd, #popupdialog {
	position: fixed;
	top: 50%;
	left: 50%;
	width: calc(var(--site-max-width) / 3);
	transform: translate(-50%, -50%);
	padding: var(--spacing);
	z-index: 2000;
	z-index: 2000;
	border: 1px solid var(--border-color);
	background-color: var(--popout-color);
	/* display: none; */
	text-align: center;
	-webkit-box-shadow: var(--box-shadow);
	-moz-box-shadow: var(--box-shadow);
	box-shadow: var(--box-shadow);
}

@media only screen and (max-width: 768px) {
	.hoverbsktadd, #popupdialog {
		width: calc(var(--site-max-width) - 4em);
	}
}

.hoverbsktadd .item,
#popupdialog .item {
	display: grid;
	grid-template-areas:"image"
	"title"
	"qty"
	"price";
;
	grid-gap: .5em;
	margin-bottom: var(--spacing)
}

.hoverbsktadd .item img, #popupdialog .item img {
	grid-area:image;
	align-self: center;
	margin: 0 auto !important;
}

.hoverbsktadd h3, #popupdialog h3 {
	font-size: 1em;
	/* margin-bottom: 1em; */
}

.hoverbsktadd a, #popupdialog a {
	--border-color: var(--button-border-color);
	display: inline-block;
	vertical-align: middle;
	font-size: 1em;
	font-weight: var(--button-font-weight);
	text-align: center;
	cursor: pointer;
	font-family: var(--button-font);
	text-transform: capitalize;
	background-color: var(--button-color);
	color: var(--button-text-color);
	border: 1px solid var(--button-border-color);
	border-radius: var(--border-radius);
	outline: none;
	padding: var(--half-spacing) var(--spacing)
}

.hoverbsktadd .item a.title,
#popupdialog .item .title {
	grid-area:title;
	font-family: var(--heading-font);
	font-weight: var(--heading-font-weight);
	color: var(--dark-blue);
	background-color:transparent;
	border:none;
	font-size: 1.2em;
	text-align: center;
}

.hoverbsktadd .item p.qty,
#popupdialog .item p.qty {
	grid-area:qty;
	display:none;
}

.hoverbsktadd .item p.price, #popupdialog .item p.price {
	grid-area:price;
	color:var(--text-heading-color);
	font-size:1.5em;
}

/* this element needs a class */
.hoverbsktadd a[title="Checkout"], .hoverbsktadd .item+a {
	font-size: 1.25em;
	padding: .5rem 2rem;
	text-align: center;
	cursor: pointer;
	font-family: var(--button-font);
	text-transform: capitalize;
	background-color: var(--checkout-button);
	color: var(--white);
	border: 1px var(--checkout-button) solid;
	outline: none;
	display: inline-block;
	vertical-align: middle;
	transition: var(--transition);
	border-radius: var(--border-radius);
}

.hoverbsktadd a[title="Checkout"]:hover {}
#popupdialog .useraccount {}
#popupdialog .useraccount input {}
#popupdialog .useraccount a {}


/* cookie popup
------------------------------------------------------- */
#pbf .cookie {
    position: fixed;
    bottom: 0%;
    left: 0%;
    width: 100%;
    z-index: 1000;
    background: #0d0d0d;
    text-align: center
}

#pbf .cookie p {
    /* width: 1200px; */
    margin: 0 auto;
    float: none;
    color: #fff;
    /* font-size: .75em; */
    padding: .5em 0;
}

#pbf .cookie p a {
    float: none;
    color: #fff;
    text-decoration: underline;
    padding: 0 .25em;
}

#pbf .cookie img {
    float: none;
    display: inline-block;
    vertical-align: middle;
    margin-left: 10px
}

#pbf .cookie img:hover {
    cursor: pointer
}


/* popout stuff? - used for terms and conditions in checkout process not sure where else it may be used ... */

#pp {
	width: 100%;
	margin: auto;
	background-color: var(--main-panel-color);
	/*used to ensure left panel displays correctly, unsure why though... */
	display: flex;
	justify-content: flex-start;
	min-height: 85vh;
}

#pp .bc {
	margin: 0 auto;
	position: relative;
	/*padding should be put in media queries */
	width: var(--site-max-width);
	background-color: var(--main-panel-color);
}


#pp .artp ul {
	list-style-type: disc;
	padding-inline-start: 2em;
	margin-block-start: 1em;
	margin-block-end: 1em;
	font-size:1.2em;
}

#pp .artp ul ul, #pp .artp ul ul ul {
	margin-block-start: 0em;
	margin-block-end: 0em;
}

#pp .artp ul li {}

#pp .artp ul.nobullets {
	list-style-type: none;
	margin: .5em 0;
}

#pp .artp ol {
	font-size:1.2em;
	list-style-type: decimal;
	padding-inline-start: 2em;
	margin-block-start: 1em;
	margin-block-end: 1em;
}

#pp .artp ol li{
	
}

#pp .artp ol ol,
#pp .artp ol ol ol {
	margin-block-start: 0em;
	margin-block-end: 0em;
}

#pp .artp a {
	font-weight: 500;
	color:var(--featured-color);
	text-decoration:underline;
}

#pp .artp a:hover {
	text-decoration: underline;
	text-decoration-color: var(--featured-alt-color);
}


/* scroll to top */

/* scroll to top */
.scrolltotopicon {
	position:fixed;
	top:calc(50% - 6em);
	right:2em;
	background-color:var(--grey);
	padding:1.5em 1.5em;
	border-radius:50%;
	cursor:pointer;
	z-index:10001;
	opacity:.9;
}

.scrolltotopicon img{
	width:2em;
}

.scrolltotopicon.hidden{
	display:none;
}
