/* only screen and (max-width: 786px)  */

/* css variables */ 
:root {
	--horizontal-margin: 20px; /* page margin */ 
}

body {
	position: static;
}

/* reveal effect for carousel slide items */
@keyframes reveal {
	0%,
	100% { opacity: 0; }
	50% { opacity: 1; }
}

/* overlay carousel */
.overlay-carousel-slider {
	white-space: nowrap;
	font-size: 0;
	overflow-x: scroll;
	overflow-y: hidden;
	padding-bottom: 25px;
	scroll-behavior: smooth;
	overscroll-behavior-y: auto;
	overscroll-behavior-x: none;
	scrollbar-width: none;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
}

.overlay-carousel-slider::-webkit-scrollbar,
.overlay-carousel-slider::-webkit-scrollbar {
	display: none;
}

.overlay-carousel-slider > ul {
	display: flex;
	flex-direction: row;
	gap: 2px;
}

.overlay-carousel-slider ul > li .ui-overlay  {
	width: 100%;
	height: 100%;
	aspect-ratio: 4 / 3;
}

/* enable marker group on the scroller */
@supports (scroll-marker-group: after) {
	.overlay-carousel-slider {
		position: relative;
		scroll-marker-group: after;
		anchor-name: --overlay-carousel;
		padding-bottom: 50px;
	}

	/* style the marker group */
	.overlay-carousel-slider::scroll-marker-group {
		position: absolute;
		position-anchor: --overlay-carousel;
		left: anchor(center);
		top: calc(anchor(bottom) - 20px);
		transform: translateX(-50%) translateY(-100%);
		display: flex;
		gap: 12px;
		z-index: 1;
	}

	/* generate one marker per slide */
	.overlay-carousel-slider > ul > li::scroll-marker {
		content: "";
		display: inline-block;
		width: 8px;
		height: 8px;
		border-radius: 50%;
		background-color: rgba(0,0,0,0.2);
		transition: transform .2s ease, background-color .2s ease;
	}

	.overlay-carousel-slider > ul > li::scroll-marker:target-current {
		background-color: rgba(0,0,0,1);
		transform: scale(1.3333);
	}

	/* when there is only one slide: hide everything marker-related + remove reserved space */
	.overlay-carousel-slider:has(> ul > li:only-child) {
		scroll-marker-group: none;
		anchor-name: none;
		padding-bottom: 25px;
	}

	/* safety: ensure no marker is rendered if only one slide */
	.overlay-carousel-slider > ul > li:only-child::scroll-marker {
		content: none;
		display: none;
	}

	/* safety: ensure marker group does not render if only one slide */
	.overlay-carousel-slider:has(> ul > li:only-child)::scroll-marker-group {
		display: none;
	}
}

/* scroll marker polyfill */
@supports not (scroll-marker-group: after) {
	.slider-dots-polyfill {
		position: relative;
		display: flex;
		gap: 12px;
		height: 25px;
		justify-content: center;
		align-items: start;
		pointer-events: none;
		padding-top: 4px;
		top: -4px;
		z-index: 1;
	}

	.slider-dots-polyfill > .dot {
		display: block;
		flex: 0 0 8px;
		width: 8px;
		height: 8px;
		border-radius: 50%;
		background-color: rgba(0,0,0,0.2);
		transition: transform .2s ease, background-color .2s ease;
		pointer-events: all;
		padding: 0;
		border: 0;
		appearance: none;
		-webkit-appearance: none;
	}

	.slider-dots-polyfill > .dot.active {
		background-color: rgba(0,0,0,1);
		transform: scale(1.3333);
	}
}

/* animation timeline is supported - add effect when swiping */
@supports (animation-timeline: scroll()) {

	/* add effect when swiping in and out of view */
	.overlay-carousel-slider ul > li {
		animation: reveal ease both;
		animation-timeline: view(inline);
	}
	
	/* makes subsequent slides to be "visible" to the intersection observer and therefore pre-rendered */
	.overlay-carousel-slider ul > li:not(.has-webgl):not(:first-child) {
		transform: translateX(-2px);
	}
}

body,p,div,nav,.table,
.collapsible .content-inner p,
.flex-form .form-placeholder {
	font-size: 13px;
}

.table.table-price-summary td,
.table.table-price-summary th {
	padding: 2px 5px;
}

/* iOS will automatically zoom in the page if input font-size are less than 16px */
/* iOS will not apply certain styling to inputs without -webkit-appearance: none */
@supports (-webkit-touch-callout: none) {
	input[type="search"],
	select.form-control,
	textarea.form-control,
	input.form-control {
		font-size: 16px !important;
		-webkit-appearance: none;
	}
}

.xs-hidden {
	display: none !important;
}

.btn {
	max-width: 350px;
}

.btn,
.collapsible li.menu-item > a  {
	-webkit-tap-highlight-color: transparent;
}

/* justified text should be left aligned on mobile */
.justify {
	text-align: left;
	text-align-last: left;
}

/* headers when displayed in faq should be smaller */
.collapsible.faq-wrapper .collapsible-content h2,
.collapsible.faq-wrapper .collapsible-content .h2,
.collapsible.faq-wrapper .collapsible-content h3,
.collapsible.faq-wrapper .collapsible-content .h3,
.collapsible.faq-wrapper .collapsible-content h4,
.collapsible.faq-wrapper .collapsible-content .h4,
.collapsible.faq-wrapper .collapsible-content h5,
.collapsible.faq-wrapper .collapsible-content .h5 {
	font-size: 13px !important;
	font-weight: 600 !important;
}

#main section.module:not(.single-column) .wrapper .content .flex-row .flex-column {
	max-width: 100%;
}

#main section.module.promotion .wrapper > .container .cover > li {
	align-items: end;
}

#main section.module.promotion .wrapper > .container .cover > li.nav-dots {
	height: 45px;
}

#main section.module.promotion .wrapper > .container .cover > li.nav-dots > button {
	height: 12px;
	width: 12px;
}

#main section.module.promotion .promotion-logotype {
	display: flex;
	justify-content: center;
	margin-bottom: 25px;
}

#main section.module.promotion .promotion-logotype img {
	max-width: 165px;
}

#main section.module.promotion .wrapper > .container img {
	max-height: 48%;
}

#main section.module.promotion .wrapper > .container .cover {
	position: static;
	width: 100%;
}

/* enable swipe events */
[data-toggle="promotor-carousel"] > li.active {
	pointer-events: auto;
	touch-action: pan-y;
}

#main section.module .wrapper {
	padding-top: 0;
	padding-left: var(--horizontal-margin) !important;
	padding-bottom: 0;
	padding-right: var(--horizontal-margin) !important;
}

.padding-25 {
	padding: var(--horizontal-margin);
}

.wrapper.margins,
#footer .footer-address {
	margin-left: var(--horizontal-margin) !important;
	margin-right: var(--horizontal-margin) !important;
}

a, .btn-link {
	white-space: normal;
}

#main section {
	padding: 25px 0 25px 0;
}

/* special rules for regular sections (non modules) on startpage */
body.startpage #main section:last-of-type {
	padding: 25px 0 25px 0;
}

/* special rules for regular sections (non modules) on startpage */
body.startpage #main section p.center {
	text-wrap: balance;
}

#main section > h2,
body.startpage #main section:not(.module) > h2 {
	text-wrap: balance;
	margin-top: 20px;
	margin-bottom: 25px;
}

#scroll-to-top {
	bottom: 90px;
	right: 20px;
	width: 40px;
	height: 40px;
	font-size: 30px;
}

/* buttons */
.btn {
	font-size: 18px;
	font-weight: 500;
	padding: 20px 28px;
	text-overflow: ellipsis;
	overflow: hidden;
	white-space: nowrap;
}

.btn:not(.btn-logo-tool).btn-xs,
.btn:not(.btn-logo-tool).btn-sm {
	font-size: 12px !important;
	padding: 16px 18px !important;
}

.btn.btn-sm.btn-logo-tool {
	font-size: 12px;
	padding: 18px 20px;
}

.btn.btn-md {
	font-size: 14px;
	padding: 18px 20px;
}

.btn-md.btn-dark, 
.btn-md.btn-transparent, 
.btn-md.btn-monochrome {
	padding: 16px 20px;
}

.btn-logo-tool.btn-md::before, 
.btn-logo-tool.btn-sm::before, 
.btn-logo-tool.btn-xs::before {
	top: 2px;
	left: 2px;
	bottom: 2px;
	right: 2px;
	border-width: 1px;
}

#product-option-content .wrapper-upload {
	display: flex;
	justify-content: center;
}

#product-option-content .wrapper-upload .btn {
	max-width: 320px;
	margin-left: 35px;
	margin-right: 35px;
}

body .body-backdrop {
	top: 0 !important;
	bottom: 0 !important;
}

body.bright-backdrop-visible {
	touch-action: none;
	-webkit-user-select: none;
	user-select: none;
	overscroll-behavior: contain;
}

body .header-backdrop,
body.bright-backdrop-visible #header .header-backdrop {
	display: none;
}

body.main-menu-visible.backdrop-visible .body-backdrop {
	background-color: rgba(0,0,0,0.05);
	bottom: 0;
	z-index: 3;
}

body.backdrop-visible.search-result-visible .body-backdrop {
	z-index: 3;
}

body.backdrop-visible {
	overflow-y: hidden;
}

#main section:first-of-type {
	padding-top: 0;
}

h1, h2, h3, h4, h5, h6, 
.h2, .h3, .h4, .h5, .h6 {
	line-height: 1.6;
}

h2,
.h2 {
	font-size: 24px !important;
}

#main .category-description ul.usp { 
	margin: 20px 0 0 0;
}

/* hide header */
#header,
body:not(.scroll-top) > #header {
	position: absolute;
	transition: none;
	left: -9999px;
	max-height: 0;
	z-index: 5;
}

/* reset color on the footer buttons when main menu is visible */
body.main-menu-visible #footer-menu > .bottom-links .btn-link > .material-icons,
body.main-menu-visible #footer-menu > .bottom-links .btn-link[data-label]::after {
	color: white !important;
}

/* hide the top hamburger button */
#top-menu {
	position: absolute;
	height: 0;
	width: 0;
	margin-top: 0;
	margin-left: 0;
	z-index: 5;
}

/* hide the top hamburger button */
#top-menu .nav-hamburger {
	position: absolute;
	height: 0;
	width: 0;
	padding: 0;
	background-color: transparent;
}

#top-menu .nav-hamburger .bars,
#top-menu .nav-hamburger > label {
	display: none;
}

#top-menu .nav-hamburger #main-menu {
	transform: translateY(100%);
	transition: visibility 0s linear .35s, transform .35s cubic-bezier(0,0,0.1,1);
	visibility: hidden;
}

#top-menu .nav-hamburger > input:checked ~ #main-menu {
	left: 0;
	visibility: visible;
	transform: translateY(0);
	transition: visibility 0s linear 0s, transform .35s cubic-bezier(0,0,0.1,1);
}

/* main menu */
#main-menu,
#main-menu .menu-fold-out {
	position: fixed;
	display: block;
	width: 100%;
	top: 0 !important;
	left: 0;
	right: 0;
	bottom: 0;
	max-height: calc(100vh - 70px);
	max-height: calc(100dvh - 70px);
	padding: 0;
	padding-left: 0;
	border: 0;
}

body.scroll-top #main-menu {
	top: 0;
}

#main-menu .menu-header .btn-previous,
#main-menu .menu-header .btn-close {
	display: block;
	position: absolute;
	top: 8px;
	padding: 10px;
}

#main-menu .menu-header .btn-previous {
	left: 10px;
}

#main-menu .menu-header .btn-close {
	right: 10px;
}

#main-menu .menu-header .btn-previous {
	display: block;
}

#main-menu .btn-close {
	display: none;
}

#main-menu .btn-close .material-icons,
#main-menu .btn-previous .material-icons {
	font-size: 24px;
}

#main-menu > ul, 
#main-menu .menu-fold-out > ul {
	min-height: auto;
	max-height: calc(100vh - 130px);
	max-height: calc(100dvh - 130px);
	background-color: white;
	padding-bottom: 50vh;
}

#main-menu, 
#main-menu .menu-fold-out {
	width: 100% !important;
}

/* full width container */
#main-menu .menu-fold-out.full-width {
	padding: 0;
}

#main-menu .menu-fold-out.full-width > .inner > ul ul {
	grid-template-columns: 1fr;
}

#main-menu .menu-fold-out.full-width > .inner {
	max-height: calc(100vh - 130px);
	max-height: calc(100dvh - 130px);
	padding-bottom: 300px;
}

#main-menu .menu-fold-out.full-width > .inner > ul ul {
	margin-bottom: 2.5em;
}

#main-menu .menu-fold-out.full-width ul > li a {
	padding-top: 12px;
	padding-left: var(--horizontal-margin);
	padding-bottom: 12px;
	padding-right: var(--horizontal-margin);
}

#main-menu > .menu-header,
#main-menu .menu-fold-out.full-width .menu-header {
	display: block;
}

#main-menu .menu-fold-out.full-width h3 {
	margin-bottom: 0;
}

#main-menu .menu-header {
	padding: 0;
	height: 60px;
	margin-bottom: 0;
}

/* menu header shadow */
#main-menu.header-overflow > .menu-header::before,
#main-menu .menu-fold-out.header-overflow > .menu-header::before {
	bottom: 0;
}

#main-menu .menu-header ul {
	padding: 0;
	margin: 0;
	height: 100%;
}

#main-menu .menu-header ul > li {
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}

#main-menu ul > li a {
	font-size: 13px;
	padding-left: var(--horizontal-margin);
	margin-right: 0;
}

#main-menu ul > li.image > a {
	background-color: var(--menu-background-color);
	margin-top: 10px;
	margin-left: var(--horizontal-margin);
	margin-bottom: 10px;
	margin-right: var(--horizontal-margin);
	border-radius: 4px;
}

#main-menu ul > li.sub > a::after {
	font-size: 20px;
	right: 15px;
}

#main-menu .menu-fold-out {
	transform: translate(100%);
	transition: transform 0.2s cubic-bezier(0,0,0.1,1);
}

#main-menu ul ul > li.expanded > .menu-fold-out, 
#main-menu ul ul > li > .menu-fold-out:target {
	transform: translate(0);
}

#main-menu ul ul > li.hidden {
	display: block !important;
}

#main-menu .menu-fold-out,
#main-menu .menu-fold-out .menu-fold-out 	{
	top: 0;
	left: 0 !important;
	bottom: initial;
	padding-top: 0;
}

#main-menu .menu-header h3,
#main-menu .menu-header .h3 {
	text-overflow: ellipsis;
	white-space: nowrap;
	overflow: hidden;
	font-size: 19px;
	font-weight: 800;
	padding-left: 65px;
	padding-right: 65px;
	margin: 0;
}

#main-menu h3,
#main-menu .h3 {
	padding-top: 0;
	margin-bottom: 15px;
	padding-left: var(--horizontal-margin);
	font-size: 19px;
	font-weight: 600;
}

#main-menu .select-modal-container {
	margin-top: 0;
	padding-left: var(--horizontal-margin);
	padding-right: var(--horizontal-margin);
}

/* quick search */
#search {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin-left: unset;
	background-color: var(--secondary-background-color);
	max-height: 100vh;
	max-height: 100dvh;
	max-width: 100%;
	transform: translateY(100%);
	transition: visibility 0s linear .35s, transform .35s cubic-bezier(0,0,0.1,1);
	visibility: hidden;
	pointer-events: none;
}

#header .search-mode > #search {
	transform: translateY(0);
	transition: visibility 0s linear 0s, transform .35s cubic-bezier(0,0,0.1,1);
	visibility: visible;
	pointer-events: all;
	z-index: 100;
}

#search > .search-wrapper,
#search > .search-wrapper > .mobile-header {
	display: flex;
	align-items: center;
	justify-content: center;
}

#search > .search-wrapper {
	position: relative;
	height: 25vh;
	min-height: 200px;
	background-color: var(--info-color);
	z-index: 1;
}

#search > .search-wrapper > .mobile-header .logo {
	margin-top: -25px;
}

#search > .search-wrapper > .mobile-header > .subheader {
	position: absolute;
	bottom: 40px;
}

#search .search-bar {
	position: absolute;
	top: max(200px, 25vh);
	left: 35px;
	right: 35px;
	width: auto;
	transform: translate(50%, -50%);
	opacity: 0;
	transition: opacity 0.2s cubic-bezier(0,0,0.1,1), transform 0.2s cubic-bezier(0,0,0.1,1);
	transition-delay: 0.35s;
}

#header .search-mode #search .search-wrapper > .search-bar {
	transform: translate(0, -50%);
	opacity: 1;
}

#search .search-bar .btn-submit {
	padding: 8px 20px 5px 15px;
	-webkit-tap-highlight-color: transparent;
}

#search .search-bar input[type="search"] {
	padding: 15px 45px 15px 25px;
	height: 50px;
	border-radius: 25px;
	box-shadow: 0px 5px 15px 0px rgba(0,0,0,0.1);
}

#search .search-bar input[type="search"]::-webkit-search-cancel-button {
	height: 50px;
	width: 50px;
	right: 8px;
}

#search .btn-close {
	position: absolute;
	display: block;
	top: 8px;
	right: 10px;
	left: auto;
	bottom: auto;
	color: white;
	padding: 10px;
	-webkit-tap-highlight-color: transparent;
}

#search .btn-close > .material-icons {
	font-size: 24px;
	font-weight: 400;
}

/* search result */
#search-result {
	top: 25vh;
	height: 100%;
	max-height: 75vh;
	max-height: 75dvh;
	overflow-y: auto;
	overflow-x: hidden;
	overscroll-behavior: none;
	scroll-behavior: smooth;
	padding-left: 35px;
	padding-right: 35px;
	padding-bottom: 25vh;
}

/* search result spinning loader */ 
body.search-result-visible #search-result.result-loading::after {
	border: 7px solid rgba(0,0,0,0.1);
	border-top: 7px solid rgba(0,0,0,0.3);
	width: 100px;
	height: 100px;
	margin-left: -50px;
	margin-top: -75px;
}

#search-result .wrapper > .content {
	grid-template-columns: 1fr;
	column-gap: 0;
	padding: 65px 0 0 0;
}

#search-result .wrapper > .content div {
	font-size: 13px;
}

#search-result .wrapper > .content ul {
	margin-bottom: 35px !important;
}

#search-result .wrapper > .content > .column.list-items::after {
	display: none;
}

#search-result .wrapper > .content > .column.list-items ul {
	top: unset;
}

#search-result .wrapper > .content > .column.product-boxes > ul {
	grid-template-columns: 1fr;
	column-gap: 25px;
	row-gap: 25px;
}

#search-result .wrapper > .content > .column.product-boxes {
	padding-top: 45px;
	border-top: 1px solid rgba(0,0,0,0.12);
}

/* breadcrumb styling */
#breadcrumb {
	display: block;
	top: -1px;
	left: 0;
	width: 100vw;
	padding-left: 25px;
	padding-right: 25px;
	white-space: nowrap;
}

body:not(.product) #breadcrumb ol.breadcrumb > li:nth-last-child(4):before {
	display: none;
}

body:not(.product) #breadcrumb ol.breadcrumb > li:not(:nth-last-child(4)):not(:nth-last-child(3)) {
	display: none;
}

/* main */
#main .wrapper > .container > h2,
#main .wrapper > .container > .h2 {
	padding: 0 30px;
}

#main h3,
#main .h3 {
	font-size: 18px !important;
}

#main h4,
#main .h4 {
	font-size: 16px;
}

#main section > .wrapper > .container > h1:not(.no-indent),
#main section > .wrapper > .container > .h1:not(.no-indent),
#main section > .wrapper > .container > h2:not(.no-indent),
#main section > .wrapper > .container > .h2:not(.no-indent) {
	padding: 0 15px;
	text-wrap: balance;
}

#main ul.display-grid.product > li h3, 
#main ul.display-grid.product > li .h3 {
	font-size: 16px !important;
}

#main ul:not([data-toggle="product-carousel"]).display-grid.product {
	grid-auto-rows: min-content;
	margin-left: calc(var(--horizontal-margin) * -1);
	margin-right: calc(var(--horizontal-margin) * -1);
}

#main ul:not([data-toggle="product-carousel"]).display-grid.product > li {
	padding-top: 15px;
	padding-right: var(--horizontal-margin);
	padding-bottom: 20px;
	padding-left: var(--horizontal-margin);
}

#main ul:not([data-toggle="product-carousel"]).display-grid.product > li h3,
#main ul:not([data-toggle="product-carousel"]).display-grid.product > li .h3 {
	display: flex;
	font-size: 16px !important;
	line-height: 1.6;
}

#main ul:not([data-toggle="product-carousel"]).display-grid.product > li h3 > .underline,
#main ul:not([data-toggle="product-carousel"]).display-grid.product > li .h3 > .underline {
	display: block;
	text-overflow: ellipsis;
	white-space: nowrap;
	overflow: hidden;
}

#main ul:not([data-toggle="product-carousel"]).display-grid.product > li h3 > .underline::after,
#main ul:not([data-toggle="product-carousel"]).display-grid.product > li .h3 > .underline::after {
	bottom: 2px;
}

#main ul:not([data-toggle="product-carousel"]).display-grid.product:not(.columns-2) > li > .container-box {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: 25px;
}

#main ul:not([data-toggle="product-carousel"]).display-grid.product > li > .container-box .img-container {
	margin: initial;
}

#main ul:not([data-toggle="product-carousel"]).display-grid.product > li .has-price {
	min-height: unset;
	padding-bottom: 0;
}

#main ul.display-grid.product > li h4,
#main ul.display-grid.product > li .h4	{
	font-size: 12px;
	margin-right: 0;
}

#main ul.display-grid.product > li h3,
#main ul.display-grid.product > li .h3	{
	margin-right: 0;
}

#main ul:not([data-toggle="product-carousel"]).display-grid.product > li .price {
	position: relative;
	margin-top: 20px;
	padding-bottom: 20px;
	top: unset;
	font-size: 16px;
	font-weight: 600;
}

#main ul.display-grid > li .price small {
	font-size: 11px;
	font-weight: 400;
}

#main ul:not([data-toggle="product-carousel"]).display-grid.product > li .price > ins,
#main ul:not([data-toggle="product-carousel"]).display-grid.product > li .price > del {
	display: block;
	line-height: 1.4;
}

#main ul.display-grid.product > li .color-preview {
	position: relative;
	top: 0;
	z-index: 1;
	gap: 5px;
}

#main ul.display-grid.product > li .color-preview.desktop {
	display: none;
}

#main ul.display-grid.product > li .color-preview.mobile {
	display: inline-flex;
}

#main ul.display-grid > li .color-preview > .color-circle {
	opacity: 1;
	width: 13px;
	height: 13px;
}

ul.display-grid > li .color-preview > span.color-circle.selected::before {
	font-size: 8px;
}

#main  ul.display-grid > li .color-preview > span.color-circle.count {
	font-size: 9px;
	font-weight: 500;
	width: 24px;
	height: 24px;
}

/* product grid layout styling (two columns) */
ul.display-grid.product.columns-2 {
	row-gap: 10px;
}

ul.display-grid.product.columns-2 > li {
	border-bottom: 1px solid var(--border-color);
	grid-column: auto !important;
}

ul.display-grid.product.columns-2 > li .content {
	padding-bottom: 20px;
}

ul.display-grid.product.columns-2 > li h3,
ul.display-grid.product.columns-2 > li .h3 {
	justify-content: center;
}

ul.display-grid.product:not(.columns-2) > li > .container-box a::before {
	bottom: 0;
}

/* sitemap layout */
ul.sitemap {
	gap: 0;
	margin-bottom: 0;
}

ul.sitemap > li > h2 {
	margin-top: 0;
	margin-bottom: 10px;
}

ul.sitemap > li > ul {
	grid-template-columns: 1fr;
	column-gap: 0;
	row-gap: 0;
	margin-bottom: 25px;
}

/* reference image gallery */
#main section ul.display-grid.reference {
	gap: 20px;
}

#main .product-header {
	padding-top: 0;
	padding-left: var(--horizontal-margin);
	padding-bottom: 0;
	padding-right: var(--horizontal-margin);
}

#main section:not(.module):not(:last-of-type) .btn-container {
	margin-bottom: 10px;
}

#main ul.display-grid.product > li .btn-remove {
	display: none;
}

/* category description overrides */
section.category-description .flex-row {
	gap: 35px;
}

section.category-description .flex-row > .flex-column:first-child {
	padding-right: 0;
}

/* hide main category image */
section.category-description .flex-row > .flex-column + .flex-column {
	display: none;
}

/* section spacing */
body.category #main section:not(.contrast):not(.product-section):not(.module):not(:first-of-type) {
	padding: 70px 0 25px 0;
}

body.category #main section:not(#product-filter):not(#product-listing):not(.module):nth-of-type(2) {
	padding-top: 30px;
}	

/* contrast section */
body.category #main section.contrast:not(.module):not(:first-of-type) {
	margin-top: 50px;
	padding-bottom: 50px;
}

/* product carousel */
body.category #main section.product-section {
	padding-top: 50px;
	padding-bottom: 50px;
}

body.category .container.ingress > p {
	font-size: 16px;
	text-align: left;
}

body.category .container + .container {
	margin-top: 45px;
	padding-top: 45px;
}

.container.columns article,
.container.columns .column {
	margin-bottom: 45px;
}

#main ul.display-grid.product,
#main ul.display-grid.module,
#main ul.display-grid.product.divider {
	grid-template-columns: 1fr;
}

#main ul:not([data-toggle="product-carousel"]).display-grid.product.divider > li {
	border-color: var(--border-color) !important;
}

#main ul:not([data-toggle="product-carousel"]).display-grid.module > li {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

#main ul.display-grid.module,
#main ul.display-grid.category {
	margin-left: calc(var(--horizontal-margin) * -1);
	margin-right: calc(var(--horizontal-margin) * -1);
}

/* large switch slider */
.toggle-large {
	width: calc(100vw - var(--horizontal-margin) * 2);
	max-width: calc(100vw - var(--horizontal-margin) * 2);
	height: 40px;
}

/* the slider */
.toggle-large > .slider {
	border-radius: 20px;
}

.toggle-large > .slider:before {
	height: 36px;
	border-radius: 18px;
}

#main ul.display-grid.category > li > .container-box > .headline {
	margin-right: 0;
	margin-left: 35px;
}

#main ul.display-grid.category > li > .container-box .img-container img {
	max-width: 100px;
}

#main ul.display-grid.category span.underline::after {
	bottom: 0;
}

#main .collapsible.wrap-multi-column > ul.collapsible-nav .menu-item {
	flex: 1 1 50%;
}

#main .collapsible > ul.collapsible-nav > li.menu-item > a img {
	padding: 0 30px;
}

#main .collapsible > ul.collapsible-nav > li.menu-item > a,
#main .collapsible .content-inner {
	font-size: 13px !important;
	white-space: normal;
}
	
#main .collapsible ul > li.collapsible-content .content-inner {
	padding-top: 25px;
	padding-bottom: 25px;
}

#main section.module .wrapper .content .flex-row {
	column-gap: 0 !important;
}

#main section.module .wrapper .content .flex-column {
	max-width: 100%;
}

#main section.module .wrapper .content .flex-column p {
	text-wrap: balance;
}

#main section.module .wrapper .btn-container > .btn {
	max-width: 320px;
}

#main section.module .wrapper .content {
	padding-top: 25px;
}

/* remove padding since it only increases the page margin */
#main section.logo-tool-promoter .padding-25 {
	padding: 25px 0 0 0;
}

body.startpage #main section.module h1, 
body.startpage #main section.module .h1 {
	text-align: center;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	font-size: clamp(24px, 5vw, 44px);
}

body.startpage #main section.module h2, 
body.startpage #main section.module .h2 {
	text-align: center;
	text-wrap: balance;
	font-size: 32px !important;
}

#main section.module .wrapper h3, 
#main section.module .wrapper .h3 {
	padding-bottom: 15px;
}

#main section.module .wrapper h1,
#main section.module .wrapper h2, 
#main section.module .wrapper h3,
#main section.module .wrapper .h1, 
#main section.module .wrapper .h2, 
#main section.module .wrapper .h3 {
	text-align: center;
}

/* this is the top module, so different rules apply */
body.startpage #main section.module.promotion:first-of-type .wrapper h2,
body.startpage #main section.module.promotion:first-of-type .wrapper .h2 {
	font-size: 14px !important;
	padding-bottom: 15px;
}

/* this is the top module, so different rules apply */
body.startpage #main section.module.promotion:first-of-type .btn-container .btn {
	margin-top: 25px !important;
	z-index: 1;
}

#main section.module .wrapper .content .flex-column p {
	text-align: center;
}

#main section  .wrapper .content .flex-column p {
	padding-left: 0;
	padding-right: 0;
}

#main section.module .wrapper p, 
#main section.module .wrapper div {
	line-height: 1.9;
	font-weight: 300;
}

#main section.module.promotion .wrapper p:last-of-type {
	margin-bottom: 0;
}

#main section.module .wrapper .btn {
	margin-top: 40px !important;
}

#main section.eco .wrapper .content .flex-column img.iso {
	padding-left: 25px;
	padding-right: 25px;
}

#main section.logo-tool-promoter .wrapper {
	padding: 0;
}

#main section.module.promotion .wrapper > .container {
	position: relative;
}

#main section.module.promotion .wrapper .content {
	min-height: 750px;
}

#main section.logo-tool-promoter .wrapper .content {
	padding-top: 0;
}

#main section.module.logo-tool-promoter .wrapper .content .flex-column:nth-child(1) {
	padding-right: 0;
}

#main section.logo-tool-promoter .wrapper .content .flex-column + div.flex-column {
	padding: 25px 25px 0 25px !important;
}

#main section.logo-tool-promoter .wrapper .overlay-thumbnails > a {
	margin-right: 1px;
}

#main section.logo-tool-promoter .wrapper .overlay-color-selection {
	padding-bottom: 0;
}

#main section.logo-tool-promoter .wrapper .overlay-color-selection span {
	height: 22px;
	width: 22px;
}

#main section.logo-tool-promoter .wrapper .overlay-color-selection > span {
	margin-right: 15px;
	margin-bottom: 15px;
}

#main section.logo-tool-promoter .wrapper .overlay-color-selection > span.selected > span {
	transform: scale(1.4);
}

#main .top-reviews > .reviews-content > article {
	padding: 30px;
	margin-bottom: 25px;
	border-radius: 7px;
	box-shadow: 0 0 15px rgba(0, 0, 0, 0.12);
}

#main section #overlay-control-panel {
	display: none;
}

/* modal */
.ui-modal:not(.slide-up-dialog) {
	opacity: 1;
	box-shadow: none;
	z-index: 9999;
}

.ui-modal:not(#logo-upload):not(.slide-up-dialog).transition {
	transition: visibility 0s linear .2s;
}

.ui-modal:not(#logo-upload):not(.slide-up-dialog).transition.show {
	transition: visibility 0s linear 0s;
}

.ui-modal:not(#logo-upload):not(.slide-up-dialog):not(.manager-cookies-modal) > .ui-modal-inner > .ui-modal-dialog {
	transform: translateX(100%);
}

.ui-modal:not(#logo-upload):not(.slide-up-dialog).transition > .ui-modal-inner > .ui-modal-dialog {
	animation: slideout .2s cubic-bezier(0,0,0.1,1);
	animation-fill-mode: forwards;
}

.ui-modal:not(#logo-upload):not(.slide-up-dialog).transition.show > .ui-modal-inner > .ui-modal-dialog {
	animation: slidein .2s cubic-bezier(0,0,0.1,1);
	animation-fill-mode: forwards;
}

.ui-modal > .ui-modal-inner {
	margin: 0;
	padding: 0;
}

.ui-modal.center-dialog > .ui-modal-inner {
	margin-top: 0;
}

.ui-modal > .ui-modal-inner > .ui-modal-dialog > .btn-close {
	top: 20px !important;
	right: 20px !important;
}

.ui-modal > .ui-modal-inner > .ui-modal-dialog > .btn-close .material-icons {
	font-size: 24px;
}

.ui-modal:not(.slide-up-dialog) > .ui-modal-inner > .ui-modal-dialog {
	position: fixed;
	width: 100vw;
	height: 100vh;
	min-height: 100vh;
	max-height: 100vh;
	margin: 0;
	padding: 30px;
	border-radius: 0;
}

.ui-modal > .ui-modal-inner > .ui-modal-dialog > .ui-modal-content > .ui-modal-title,
.ui-modal > .ui-modal-inner > .ui-modal-dialog > .ui-modal-content > .ui-modal-body > .ui-confirm-title {
	font-size: 18px;
	line-height: 1.3;
	margin-top: 0;
}

.ui-modal > .ui-modal-inner > .ui-modal-dialog > .ui-modal-content > .ui-modal-title > span {
	padding-right: 25px;
	line-height: 1.5;
}

.ui-modal > .ui-modal-inner > .ui-modal-dialog > .ui-modal-content > .ui-modal-title > span,
.ui-modal > .ui-modal-inner > .ui-modal-dialog > .ui-modal-content > .ui-modal-body > .ui-confirm-title {
	display: block;
	text-overflow: ellipsis;
	white-space: nowrap;
	overflow: hidden;
}

.ui-modal.center > .ui-modal-inner > .ui-modal-dialog > .ui-modal-content > .ui-modal-title, 
.ui-modal > .ui-modal-inner > .ui-modal-dialog > .ui-modal-content > .ui-modal-title.center {
	padding: 0 25px;
}

.ui-modal > .ui-modal-inner > .ui-modal-dialog > .ui-modal-content {
	height: 100%;
	overflow: visible;
}

.ui-modal.slide-up-dialog > .ui-modal-inner > .ui-modal-dialog > .ui-modal-content > .ui-modal-body {
	max-height: calc(100vh - 186px);
	max-height: calc(100dvh - 186px);
	overflow-y: auto;
	overflow-x: hidden;
	overscroll-behavior: none;
	scrollbar-width: none;
}

.ui-modal:not(.slide-up-dialog) > .ui-modal-inner > .ui-modal-dialog > .ui-modal-content > .ui-modal-body {
	min-height: calc(100vh - 135px);
	max-height: calc(100vh - 135px);
	min-height: calc(100dvh - 135px);
	max-height: calc(100dvh - 135px);
	overflow-y: auto;
	overflow-x: hidden;
	overscroll-behavior: none;
	scrollbar-width: none;
	padding-right: 0 !important;
}

.ui-modal:not(.slide-up-dialog) > .ui-modal-inner > .ui-modal-dialog > .ui-modal-content > .ui-modal-title + .ui-modal-body  {
	min-height: calc(100vh - 185px);
	max-height: calc(100vh - 185px);
	min-height: calc(100dvh - 185px);
	max-height: calc(100dvh - 185px);
}

.ui-modal.wider-dialog.header-overflow > .ui-modal-inner > .ui-modal-dialog > .ui-modal-content > .ui-modal-title::before {
	bottom: -24px;
}

.ui-modal.wider-dialog.footer-overflow > .ui-modal-inner > .ui-modal-dialog > .ui-modal-content > .ui-modal-footer::before {
	top: 0;
}

.ui-modal > .ui-modal-inner > .ui-modal-dialog > .ui-modal-content,
.ui-modal > .ui-modal-inner > .ui-modal-dialog > .ui-modal-content p,
.ui-modal > .ui-modal-inner > .ui-modal-dialog > .ui-modal-content ul {
	font-size: 13px;
}

.ui-modal > .ui-modal-inner > .ui-modal-dialog > .ui-modal-content p {
	margin-bottom: 15px;
}

.ui-modal > .ui-modal-inner > .ui-modal-dialog > .ui-modal-content p:last-child {
	margin-bottom: 0;
}

.ui-modal > .ui-modal-inner > .ui-modal-dialog > .ui-modal-content h2,
.ui-modal > .ui-modal-inner > .ui-modal-dialog > .ui-modal-content .h2 {
	font-size: 18px !important;
}

.ui-modal > .ui-modal-inner > .ui-modal-dialog > .ui-modal-content h3,
.ui-modal > .ui-modal-inner > .ui-modal-dialog > .ui-modal-content .h3 {
	font-size: 14px !important;
}

.ui-modal > .ui-modal-inner > .ui-modal-dialog > .ui-modal-content h4,
.ui-modal > .ui-modal-inner > .ui-modal-dialog > .ui-modal-content .h4 {
	font-size: 13px !important;
	line-height: 1.4;
}

.ui-modal > .ui-modal-inner > .ui-modal-dialog > .ui-modal-content > .ui-modal-body > .button-container {
	text-align: center;
	padding-left: 30px;
	padding-right: 30px;
}

.ui-modal > .ui-modal-inner > .ui-modal-dialog > .ui-modal-content .btn {
	max-width: 320px;
}

.ui-modal > .ui-modal-inner > .ui-modal-dialog > .ui-modal-content > .ui-modal-footer > .btn:only-child {
	max-width: 200px;
}

.ui-modal > .ui-modal-inner > .ui-modal-dialog > .ui-modal-content > .ui-modal-footer {
	justify-content: center;
	column-gap: 20px;
	padding-top: 30px;
}

.ui-modal > .ui-modal-inner > .ui-modal-dialog > .ui-modal-content .form-control:not(label) {
	max-width: unset;
}

.ui-modal > .ui-modal-inner > .ui-modal-dialog > .ui-modal-content > .ui-modal-footer,
.ui-modal > .ui-modal-inner > .ui-modal-dialog > .ui-modal-content > .ui-modal-footer > .btn{
	margin-top: 0;
}

/* slide up dialog overrides */
@keyframes slideup {
	from {
		transform: translateY(100%);
	}
	to {
		transform: translateY(0);
	}
}

@keyframes slidedown {
	from {
		transform: translateY(0);
	}
	to {
		transform: translateY(100%);
	}
}

@keyframes slidein {
	from {
		transform: translateX(100%);
	}
	to {
		transform: translateX(0);
	}
}

@keyframes slideout {
	from {
		transform: translateX(0);
	}
	to {
		transform: translateX(100%);
	}
}

.ui-modal.slide-up-dialog,
.ui-modal.slide-up-dialog.show  {
	position: relative;
	top: auto;
	bottom: auto;
	left: auto;
	right: auto;
	height: 0;
	z-index: 9999;
}

.ui-modal.slide-up-dialog > .ui-modal-inner > .ui-modal-dialog {
	position: fixed;
	transform: translateY(100%);
	bottom: 0;
	width: 100vw;
	height: auto;
	margin: 0;
	padding: 30px;
	border-radius: 0;
	border-top-left-radius: 12px;
	border-top-right-radius: 12px;
	max-height: 100vh;
}

.ui-modal.slide-up-dialog > .ui-modal-inner > .ui-modal-dialog::before {
	content: "";
	position: absolute;
	top: 8px;
	left: 0;
	right: 0;
	margin-left: auto;
	margin-right: auto;
	width: 35px;
	height: 3px;
	border-radius: 2px;
	background-color: rgba(0,0,0,0.2);
}

.ui-modal.slide-up-dialog.transition > .ui-modal-inner > .ui-modal-dialog {
	animation: slidedown .15s ease-in;
	animation-fill-mode: forwards;
}

.ui-modal.slide-up-dialog.transition.show > .ui-modal-inner > .ui-modal-dialog {
	animation: slideup .15s ease-out;
	animation-fill-mode: forwards;
}

.ui-modal.slide-up-dialog > .ui-modal-inner {
	min-height: unset;
}

/* override the wider-dialog width when mobile */
.ui-modal.wider-dialog > .ui-modal-inner > .ui-modal-dialog {
	min-width: initial;
	padding: 25px;
}

/* file reminder content styling */
.ui-modal .upload-files-reminder td,
.ui-modal .upload-files-reminder td a,
.ui-modal .upload-files-reminder .label-heading,
.ui-modal .upload-files-reminder .label-design,
.ui-modal .upload-files-reminder > .divider .flex-column > .btn {
	font-size: 13px;
}

/* image with thumbnail */
.image-with-thumbnail-container .image-carousel {
	padding: unset;
}

.image-with-thumbnail-container .image-carousel ul {
	overflow: unset;
}

.image-with-thumbnail-container > .image-carousel > ul > li {
	min-width: 100%;
}

.image-with-thumbnail-container > .image-carousel-nav {
	visibility: hidden;
	left: -100vw;
	right: auto;
}

.image-with-thumbnail-container > .thumbnail-carousel.hidden:not(.only-one-image) {
	display: block !important;
}

.image-with-thumbnail-container > .thumbnail-carousel > ul {
	width: calc(100vw - var(--horizontal-margin) * 2);
}

/* footer */
#footer {

}

/* reverse the display order */
#footer > .section {
	display: flex;
	flex-direction: column-reverse;
}

#footer > .section.first .wrapper,
#footer > .section.second .wrapper {
	margin: var(--horizontal-margin);
	padding: 0;
}

#footer > .section .wrapper.first {
	margin: 35px 25px;
	border-bottom: 0;
}

/* logotype container */
#footer > .section .wrapper.columns.first .container {
	display: flex;
	flex-direction: column;
	gap: 35px;
}

#footer > .section .wrapper.columns .container > .column {
	gap: 35px;
	justify-content: center;
}

/* extra margin for the logotype */
#footer > .section .wrapper.second > .container.logotype {
	margin-top: 45px;
	margin-bottom: 20px;
}

#footer > .section .wrapper.navigation-links > .container {
	margin-top: 0;
	padding: 0;
}

#footer > .section .wrapper.columns.last .container {
	display: grid;
	row-gap: 50px;
	column-gap: 25px;
	grid-template-columns: repeat(2, minmax(100px, 1fr));
	padding-top: 50px;
	padding-bottom: 0;
}

#footer > .section .wrapper.columns.last .container figure {
	display: flex;
	flex-direction: column;
}

#footer > .section .wrapper.columns.last .container figure > img {
	max-width: 90px;
}

#footer > .section .wrapper.columns .container  figure > figcaption {
	font-size: 11px;
	padding-top: 10px;
}

/* hide my account links on mobile (already have a button in footer menu) */
#footer > .section ul.navigation.columns > li.my-account {
	display: none
}

/* address container */
#footer > .section .container.address {
	margin-top: 0;
	padding-top: 45px;
	margin-bottom: 90px;
	border-top: 1px solid rgba(255,255,255,0.15);
}

/* hide desktop footer address */
#footer > .section .container.address .desktop-address {
	display: none;
}

/* show mobile footer address */
#footer > .section .container.address .mobile-address {
	display: block;
}

#footer > .section .container.address {
	padding-left: 0;
	padding-right: 0;
}

/* extra space between the copyright symbol and rest of the address */
#footer > .section .container.address .mobile-address > div:last-child {
	margin-top: 15px;
}

#footer > .section ul.navigation.columns {
	margin-bottom: 0;
	border-top: 1px solid rgba(255,255,255,0.15);
	column-count: 1;
}

#footer > .section li.menu-item {
	border-bottom: 1px solid rgba(255,255,255,0.15);
}

#footer > .section li.menu-item > a {
	position: relative;
	font-size: 14px;
	margin: 0;
	padding: 20px 25px 20px 0;
	font-weight: 700;
}

#footer > .section li.menu-item > a:not(.enabled) {
	pointer-events: all;
}

#footer > .section li.menu-item > a::after {
	font-family: "Material Icons";
	content: "chevron_right";
	-webkit-font-feature-settings: "liga";
	font-size: 24px;
	font-weight: 400;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	color: var(--inverse-text-color);
}

#footer > .section li.menu-item.active > a::after {
	transform: rotate(45deg);
}

#footer > .section li.menu-item li > a {
	font-size: 13px;
	font-weight: 100;
}

/* sub level are hidden on mobile */
#footer > .section ul.navigation > li.menu-item > .content {
	display: none;
}

/* footer menu */
#footer-menu {
	display: block;
	position: fixed;
	left: 0;
	right: 0;
	height: 70px;
	bottom: 0;
	background-color: var(--info-secondary-color);
	transition: none;
	z-index: 5;
}

/* hamburger button */
#footer-menu .nav-hamburger {
	position: relative;
	top: 0;
	left: 0;
	bottom: 0;
	width: 67px;
	height: 60px;
	padding: 18px 20px 36px 20px;
	-webkit-tap-highlight-color: transparent;
}

/* active hamburger button */
#footer-menu .nav-hamburger > input:checked ~ .bars > span {
	background-color: var(--design-color);
}

/* active hamburger button label */
#footer-menu .nav-hamburger > input:checked + label {
	color: var(--design-color);
}

#footer-menu .nav-hamburger::before {
	display: none;
}

#footer-menu .nav-hamburger > label {
	bottom: 0;
	opacity: 1;
	transition: opacity 0.15s ease;
	text-transform: initial;
}

/* logotype in footer menu */
#footer-menu > .logotype {
	position: absolute;
	left: 0;
	bottom: 69px;
	width: 125px;
	background-color: var(--info-secondary-color);
}

#footer-menu > .logotype::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	right: -25px;
	width: 50px;
	background-color: var(--info-secondary-color);
	z-index: -1;
	border-top-right-radius: 4px;
	transform: skewX(40deg);
	backface-visibility: hidden;
}

#footer-menu > .logotype > a {
	display: block;
	padding: 9px 3px 4px 27px;
}

#footer-menu > .bottom-links ul.navigation {
	display: flex;
	justify-content: space-around;
}

#footer-menu > .bottom-links .btn-link {
	position: relative;
	padding: 16px 22px 25px 22px;
	background-color: transparent;
	-webkit-tap-highlight-color: transparent;
}

#footer-menu > .bottom-links .btn-link > .material-icons,
#footer-menu > .bottom-links .btn-link > .material-icons-outlined {
	color: white;
	font-size: 24px;
}

#footer-menu > .bottom-links .btn-link[data-label]::after {
	content: attr(data-label);
	color: var(--inverse-text-color);
	position: absolute;
	left: 0;
	right: 0;
	bottom: 11px;
	font-size: 11px;
	font-weight: 500;
}

#footer-menu > .bottom-links .btn-link[data-count]::before {
	font-family: 'plus_jakarta', sans-serif;
	letter-spacing: 0.01em;
	font-size: 9px;
	height: 16px;
	width: 16px;
	color: white;
	text-align: center;
	content: attr(data-count);
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	top: 10px;
	right: 16px;
	background-color: var(--danger-color);
	border-radius: 50%;
	border: 1px solid white;
}

#footer-menu li.state-active > .btn-link > .material-icons,
#footer-menu li.state-active > .btn-link > .material-icons-outlined,
#footer-menu li.state-active > .btn-link[data-label]::after,
#footer-menu ul:not(.state-toggle) > li.active > .btn-link > .material-icons,
#footer-menu ul:not(.state-toggle) > li.active > .btn-link > .material-icons-outlined,
#footer-menu ul:not(.state-toggle) > li.active > .btn-link[data-label]::after {
	color: var(--design-color);
}

/* circle progress indicator */
.ui-progress-status .ui-progress-circle {
	width: 200px;
	height: 200px;
}

.ui-progress-status .ui-progress-circle svg {
	height: 200px;
}

.ui-progress-status .ui-progress-circle::after {
	font-size: 32px;
}

.ui-progress-status .ui-progress-circle .ui-progress-background {
	stroke-width: 1.2;
}

.ui-progress-status .ui-progress-circle .ui-progress-progress {
	stroke-width: 1.2;
}

/* smooth transition between updates */
.ui-progress-status.transition .ui-progress-circle .ui-progress-progress {
	transition: stroke-dashoffset .025s linear;
}

/* tooltips */
.ui-tooltip-content {
	border-radius: 4px;
	font-size: 13px;
	padding: 8px 12px;
}

/* rounded boxes */
.flex-boxed {
	flex-direction: column;
	gap: 30px;
}

.flex-boxed > .flex-column {
	padding: 30px;
	border-radius: 7px;
	box-shadow: 0 0 15px rgba(0,0,0,0.12);
}

.flex-boxed h3, 
.flex-boxed .h3 {
	font-weight: 800;
	margin-bottom: 15px;
}

.flex-form > .flex-row {
	flex-direction: column;
}

.flex-form > .flex-row > .flex-column + .flex-column  {
	margin-top: -25px;
}

/* not enough size for varying column sizes when mobile resolutions */
.flex-form .flex-column.flex-grow-25,
.flex-form .flex-column.flex-grow-33 {
	flex-basis: 0;
}

/* when placeholder belongs to input it does not wrap */
.flex-form .flex-column input + .form-placeholder {
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	max-width: calc(100% - 30px);
}

/* when placeholder belongs to textarea it does not wrap */
.flex-form .flex-column textarea + .form-placeholder {
	white-space: normal;
}

#main section.success.second {
	padding-bottom: 50px;
}

/* config preview open close button */
html.config-preview-open #btn-close-fullscreen {
	top: 15px;
	left: 15px;
}

html.config-preview-open #btn-close-fullscreen > span {
	font-size: 28px;
}

#product-preview-config > .preview-config-wrapper {
	display: block;
	overscroll-behavior: none;
	scroll-behavior: smooth;
	touch-action: pan-y !important;
}

#product-preview-config > .preview-config-wrapper::-webkit-scrollbar {
	display: none;
}

#product-preview-config > .preview-config-wrapper > .grid-item {
	max-height: unset;
	margin: unset !important;
}

@media (orientation: portrait) {
	#product-preview-config > .preview-config-wrapper {
		padding-top: 25px;
		touch-action: pan-y pinch-zoom !important;
		overflow-y: auto;
		overflow-x: hidden;
	}
}

@media (orientation: landscape) {
	#product-preview-config > .preview-config-wrapper {
		display: flex;
		padding-top: 0;
		touch-action: pan-x pinch-zoom !important;
		max-height: 100vh;
		overflow-y: hidden;
		overflow-x: auto;
	}
	
	#product-preview-config > .preview-config-wrapper > .grid-item {
		display: contents;
	}
}