/* CANVAS ACTIVE */
body[class*="modal-open"]  {
	position: absolute;
	height: 100vh;
	overflow-y: hidden !important;
}

* {
    -webkit-tap-highlight-color: rgba(0,0,0,0)
}

html {
	scroll-behavior: smooth;
}

.icon-arrow, .icon-arrow-round {
	width: 26px;
    height: 26px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
	cursor: pointer;
	background: #000;
	border-radius: 50%;
	position: absolute;
	left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}

.icon-arrow, .icon-arrow-round::before {
	font-family: 'Font Awesome 5 Pro';
	font-size: 16px;
	color: #fff;
}

.icon-arrow.left-arrow::before, .icon-arrow-round.left-arrow::before {content: '\f053';}
.icon-arrow.right-arrow::before, .icon-arrow-round.right-arrow::before {content: '\f054';}

.canvas-module.active,
.canvas-module-xs.active {
	display: block;
}

/* SLIDER CSS  */
.product-slider-wrapper {
	position: relative;
	/* width: calc(100% + 20px); */
	width: 100%;
    /*margin-left: -15px;
    margin-right: -15px;*/
}

.product-slider-wrapper .product-slider {
	max-width: 100%;
    overflow: -moz-scrollbars-none;
    -ms-overflow-style: none;
    scrollbar-width: none;
    overflow-x: auto;
    -ms-scroll-snap-type: x mandatory;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
	scroll-padding-left: 7.5px;
}
.product-slider::-webkit-scrollbar {display: none;}
.product-slider-wrapper .product-slider .PT_Wrapper_All {-ms-flex-wrap: nowrap; flex-wrap: nowrap; max-width: 100%; margin-right: calc(15px*-.2); margin-left: calc(15px*-.2);/*margin-left: 0;*/ display: flex; gap: 0;}
.product-slider-wrapper .product-slider .PT_Wrapper_All .PT_Wrapper {flex-basis: calc(20% - var(--gutter)); width: calc(20% - var(--gutter)); max-width: calc(20% - var(--gutter)); margin: calc(var(--gutter, 1em) / 2); min-width: 0;}
@supports (scroll-snap-stop: normal) and (scroll-snap-align: center) {
	.product-slider-wrapper .product-slider .PT_Wrapper_All .PT_Wrapper {scroll-snap-align: center; scroll-snap-stop: normal; }
}
@supports (scrollbar-width: none) {
	:not(html) {scrollbar-width: none;}
}

.product-slider-controller .product-slider-prev,
.product-slider-controller .product-slider-next {
	border-radius: 0;
	transform: none;
	top: -30px;
	right: 20px;
	left: initial;
	opacity: 0.3;
	transition: opacity 150ms ease-in, background-color 150ms ease-in;
	pointer-events: none;
}
.product-slider-controller .product-slider-prev {right: 50px;}
.product-slider-controller .product-slider-prev.active,
.product-slider-controller .product-slider-next.active {
	pointer-events: initial;
	opacity: 1;
}

.product-slider-controller .product-slider-prev.active:hover, .product-slider-controller .product-slider-next.active:hover {background-color: var(--lowlight-color2);}


.canvas-right-module.active,
.canvas-left-module.active,
.canvas-right-module-xs.active,
.canvas-left-module-xs.active,
.canvas-right-module-sm.active,
.canvas-left-module-sm.active,
.canvas-left-module-md.active {
	-webkit-transform: translateX(0);
	transform: translateX(0);
}

/* DIMMER */
.mask:after {
	content: '';
	display: block;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.04);
	position: absolute;
	pointer-events: none;
}

#dimmer,
.overlay {
	background: rgba(0, 0, 0, 0.5);
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0;
	left: 0;
	opacity: 0;
	pointer-events: none;
	z-index: -1;
}

#dimmer.active,
.overlay.active,
body[class*='modal-open'] #dimmer {
	z-index: 60;
	opacity: 1;
	pointer-events: initial;
}
body.checkout-modal-open-right #dimmer {z-index: 61;}
body.checkout-modal-open-right #AIRvarukorg-Wrap {z-index: 62; max-width: 90%;}

.PT_Wrapper_All.Bilder_Artikelgrupp .PT_Wrapper {border: none; padding: 0;}
.PT_Wrapper_All.Bilder_Artikelgrupp .PT_Faktaruta {position: absolute; bottom: 1rem; left: 0; right: 0; text-align: center; z-index: 4;}
.PT_Wrapper_All.Bilder_Artikelgrupp .PT_Bildruta img {top: -25px;}
.PT_Wrapper_All.Bilder_Artikelgrupp .PT_Beskr {font-weight: 600;}
.PT_Wrapper_All.Bilder_Artikelgrupp .PT_Beskr a {color: #7E7E7E; padding: 0 10px;}
@media only screen and (max-width: 600px) {
	.PT_Wrapper_All.Bilder_Artikelgrupp .PT_Faktaruta {bottom: .5rem;}
}

.btn-xs,
.utlamningsstalle a {
	padding: .33em; /* fallback */
	padding: calc(var(--gutter)/3);
}

.btn-sm {
	padding: .5em; /* fallback */
	padding: calc(var(--gutter)/2);
}

.btn-md,
.do_more #more_of_it,
.Checkout a,
/*#SubmitFalt .buy-button {
	padding: var(--gutter);
}*/

.btn-lg {
	padding: 1.5em; /* fallback */
	padding: calc(1.5*var(--gutter));
}

.btn-auto,
.Knapp_Visa_Onskelista_Tabell,
.Knapp_Kop a,
.Knapp_Kop2 {
	width: auto;
}

.do_more #more_of_it {
	margin: 1em auto;
	/* max-width: 300px; */
	border-radius: 30px;
	font-weight: 600;
	font-size: 1rem;
	padding: var(--gutter, 1em) calc(var(--gutter, 1em)*4);
	width: auto;
	box-shadow: rgba(50, 50, 93, 0.25) 0px 13px 27px -5px, rgba(0, 0, 0, 0.3) 0px 8px 16px -8px;
}
.do_more #more_of_it:hover {background-color: var(--base-background6);}
.do_more {
	text-align: center;
}
.product_count {margin-top: 2em;}
.pagination {display: flex; flex-wrap: wrap;}
.pagination span, .pagination a {padding: 2px 5px;}

.btn,
.info-link,
.Knapp_Generell a,
.do_more #more_of_it,
button,
.utlamningsstalle a {
	background: var(--cta-background2);
	color: var(--cta-color2);
}

.btn.cta-primary,
.buy-button,
input[type='button'],
.Checkout a,
.Knapp_Kop a,
.Knapp_Kop2 {
	background: var(--cta-background1);
	color: var(--cta-color1);
}

.secondary-rounded {
	margin: 1em auto;
    border-radius: 30px;
    font-weight: 600;
    font-size: 1rem;
    padding: var(--gutter,1em) calc(var(--gutter,1em)*4);
    width: auto;
    box-shadow: rgb(50 50 93 / 25%) 0 13px 27px -5px, rgb(0 0 0 / 30%) 0 8px 16px -8px;
}

.buy-button {
	position: relative;
}

.buy-button .feedback {
	display: none;
}

/*.buy-button[data-state='default'] .label {
	font-size: 20px;
}*/

/* fill content with default value to keep auto width of element same as default-state 
.buy-button:not([data-state='default']) .label:before {
	content: attr(data-default);
	color: transparent;
	font-size: 14px;
}*/

/* icons for states */
.buy-button:not([data-state='default']) .label:after {
	font-family: "Font Awesome 5 Pro";
	position: absolute;
	transform: translate(-50%, -50%);
	top: 50%;
	left: 50%;
	line-height: normal;
	font-size: 14px;
	color: var(--cta-color1);
}

/* icon for processing 
.buy-button[data-state='processing'] .label:after {
	content: '\f1ce';
	transform: none;
	-webkit-animation: air-loading 1s linear infinite;
	animation: air-loading 1s linear infinite;
	margin: -.5rem 0 0 -.5rem;
}*/

/* icon for success 
.buy-button[data-state='success'] .label:after {
	content: '\f00c';
}*/

/* icon for error 
.buy-button[data-state='error'] .label:after {
	content: '\f321';
}*/


/* Close */
/*tidigare .close-header*/
.HTML_infogad_top .header, .modal-header {
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	align-items: center;
	justify-content: space-between;
	background: var(--theme-background1);
	color: var(--theme-color1);
	padding: 1.5rem 1rem;
	box-shadow: var(--main-box-shadow);
	position: relative;
	margin-bottom: 1rem;
}

.HTML_infogad_top .header .AIRvarukorg-Qty {margin: 0;}

.modal-header {
	padding: 20px;
}

.modal-header .modal-heading {font-size: 18px; font-weight: 600;}

.login-info-container {padding: 0 20px 20px 20px;}
.modal-input-label {
	margin-bottom: 5px;
    display: inline-block;
    font-weight: 500;
    font-size: 14px;
}
.inloggningsruta .login-info-heading {margin: 25px 0 20px 0;}

.login-info-container .loginpass a {color: var(--base-background5); transition: color 150ms ease-in;}
.login-info-container .loginpass a:hover {color: var(--cta-background1); text-decoration: underline;}

.general-btn:hover {filter: brightness(1.06);}
.general-btn:hover::after {transform: translate(8px, -50%);}

.HTML_infogad_top .header p {
	font-size: 20px;
    margin: 0;
    font-weight: 600;
}

.close-header i {
	color: var(--base-color2);
	cursor: pointer;
}

.close-header:before,
.close-header i {
	/* padding-left: var(--gutter); */
	font-size: 1.5em;
}

.HTML_infogad_top .header .close::after, .modal-header .close::after, .MyPagesMenu-header .Close::after {
	font-family: "Font Awesome 5 Pro";
	content: "\f00d";
	font-size: 2em;
	color: var(--base-color4);
	cursor: pointer;
	font-weight: 300;
}

.close-header:before,
.close-header:after {
	font-size: 1.4em;
}

/* fix */
.topoffer-slider-wrapper:not([style="display:none;"]:first-child) {
    margin-top: 0;
}

@media screen and (max-width: 48em) {
	/*.close-header {
		height: calc(30px + 2em);
		height: calc(30px + var(--gutter)*2);
		position: relative;
		line-height: calc(30px + 2em);
		line-height: calc(30px + var(--gutter)*2);
	}

	.close-header:after {
		position: absolute;
		top: 0;
		bottom: 0;
		right: 0;
		width: calc(22px + 2em);
		width: calc(22px + var(--gutter)*2);
	}*/
	/* #SubmitFalt .buy-button .label, #SubmitFalt a.buy-button {font-size: 18px;} */

	.modal-header-xs {
		display: -webkit-box;
		display: -moz-box;
		display: -ms-flexbox;
		display: -webkit-flex;
		display: flex;
		align-items: center;
		justify-content: space-between;
		background: var(--theme-background1);
		color: var(--theme-color1);
		padding: 20px;
		box-shadow: var(--main-box-shadow);
		position: relative;
		margin-bottom: 1rem;
	}

	.footer .tab {display: flex; justify-content: space-between; align-items: center; line-height: 1.5; padding: 12px 0; border-bottom: 1px solid var(--border-marked); font-size: 16px; cursor: pointer;}
	.footer .tab-container {margin: 0;}
	.footer .tab::after {
		font-family: 'Font Awesome 5 Pro';
		content: '\f078';
		display: inline-block;
		transition: transform 0.25s ease;
		text-align: center;
		margin-right: 5px;
	}
	.footer li.topmenu {line-height: 1.5;}
	.footer .tab.active::after {transform: rotate(180deg);}
	.footer .tabContent {display: none;}
	.footer .tabContent.active {display: block;}
	.footer {padding-top: var(--gutter);}
	.footer .landsvaljare-container {margin-top: 1em;}
}

@media screen and (min-width: 48.01em) {

	/* HOVER */
	.btn:hover,
	.buy-button:hover,
	input[type='button']:hover,
	button:hover,
	.info-link:hover,
	.do_more #more_of_it:hover .Checkout a:hover,
	.Knapp_Kop a:hover,
	.Knapp_Kop2:hover,
	.Knapp_Generell a:hover,
	.utlamningsstalle a:hover {
		filter: brightness(0.80);
	}

}

/* Input - Select - Form elemets  */
input:not([type='range']):not([type='color']),
select,
textarea,
button {
	-webkit-appearance: none;
	-moz-appearance: none;
	-webkit-box-shadow: none;
	appearance: none;
	outline: none;
	box-shadow: none;
	font-size: inherit;
	font-family: inherit;
}

textarea {
	padding: var(--gutter);
}

select {
	padding-right: 3em; /* fallback */
	padding-right: calc(var(--gutter)*3);
	position: relative;
	cursor: pointer;
	width: 100% !important;
}

.select-wrapper>select {
	background-color: transparent;
}

input:not([type='button']):not([type='submit']):not([type='reset']):not([type='file']):not([type='color']):not([type='range']):not(#sokterm):focus,
select:focus,
textarea:focus,
button:focus,
.select-ul-li.open {
	outline: none;
	border-color: var(--border-marked);
}


input[type='checkbox'],
input[type='radio'] {
	height: 0.7rem;
    width: 0.70rem;
    padding: 3px !important;
    margin: 0 3px;
    cursor: pointer;
	/* ta bort, ändra övriga */
	margin: 0 3px;
	cursor: pointer;
}

input[type='radio'] {
	border-radius: 100% !important;
	/* ta bort, ändra övriga */
}

input[type='checkbox']:checked {
	background: linear-gradient(#000, #000) content-box, linear-gradient(#ffffff, #efefef) padding-box !important;
	/* ta bort, ändra övriga */
}

input[type='radio']:checked {
	/* background: radial-gradient(circle, var(--brand-color1) 33%, rgba(0,0,0,0) 45%)!important; ta bort, ändra övriga */
	background: radial-gradient(circle, #000 50%, rgba(0, 0, 0, 0) 75%) content-box, linear-gradient(#ffffff, #efefef) padding-box !important;
	/* ta bort, ändra övriga */

}

.select-ul-li {
	cursor: pointer;
	position: relative;
}

.select-ul-li.open ul,
.select-ul-li.open .select-ul-li-dd {
	display: block;
	z-index: 3;
}

.select-ul-li li {
	list-style: none;
	line-height: 2em;
}

.end-xs .select-ul-li ul,
.end-xs .select-ul-li-dd {
	left: initial;
	right: 0;
}

.ValjSortordning:after {
	right: 0;
}

.label {
	display: block;
	font-weight: 700;
}

.Kontaktform input:not([type='checkbox']),
.Kontaktform textarea {
	width: 100%;
}

@media only screen and (min-width: 48em) {

	.ul-padding ul {
		display: block;
		list-style-type: disc;
		margin-block-start: 1em;
		margin-block-end: 1em;
		margin-inline-start: 0px;
		margin-inline-end: 0px;
		padding-inline-start: 40px;
	}

	td,
	tr {
		text-overflow: ellipsis;
		white-space: normal;
	}

}


/* MISC */

a[onmouseover*="overlib"] {
	pointer-events: none;
}

img[alt="space"] {
	display: none;
}

/*Spinner*/
@-webkit-keyframes air-loading {
	0% {
		-webkit-transform: rotate(0deg);
		transform: rotate(0deg)
	}

	100% {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg)
	}
}

@keyframes air-loading {
	0% {
		-webkit-transform: rotate(0deg);
		transform: rotate(0deg)
	}

	100% {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg)
	}
}

/* TRANSITION */

.btn,
.buy-button,
input[type='button'],
button,
.info-link,
.do_more #more_of_it,
.Knapp_Generell a,
.Checkout a,
.Knapp_Kop a,
.Knapp_Kop2,
input,
select,
textarea,
.Artgrp_VisaFler a:hover {
	transition: 200ms ease-in-out all;
}

.canvas-right-module,
.canvas-left-module,
.canvas-right-module-xs,
.canvas-left-module-xs,
.canvas-right-module-sm,
.canvas-left-module-sm,
.canvas-left-module-md {
	transition: -webkit-transform 0.5s;
	transition: transform 0.5s;
}

/* Kundprofil */

#SKM_Kund_ID label:after {
	content: ":";
	margin-right: 5px;
}

.Snabbkassa_Kundfalt_Marginal:not(.Avtal),
#SKM_PNr {
	display: -webkit-box !important;
	display: -moz-box !important;
	display: -moz-box !important;
	display: -ms-flexbox !important;
	display: -webkit-flex !important;
	display: flex !important;
	position: relative;
}

#SKM_PNr label {
	margin-bottom: 8px;
}

#SKM_PNr+table {
	position: relative;
}

#SKM_PNr+table tr td:nth-child(2) {
	display: none;
}

#SKM_PNr+table *:not(img) {
	width: 100%
}

#SKM_PNr+table img[name*="Profilstatus_PNr"] {
	position: absolute;
	right: 1rem;
	top: 0;
	bottom: 0;
	margin: auto;
}

#LankAdressblockAnvnamn,
#LankAdressblockLeveransadress,
#LankAdressblockOvrigt {
	display: -webkit-box !important;
	display: -moz-box !important;
	display: -moz-box !important;
	display: -ms-flexbox !important;
	display: -webkit-flex !important;
	display: flex !important;
}

#LankAdressblockAnvnamn b,
#LankAdressblockLeveransadress b,
#LankAdressblockOvrigt b {
	order: 1;
	margin-top: 1rem;
}

#LankAdressblockAnvnamn label,
#LankAdressblockLeveransadress label,
#LankAdressblockOvrigt label {
	order: 2;
}

.in_checkout #Adressblock2 .Snabbkassa_Kundfalt_Marginal {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
.in_checkout #Adressblock2 .Snabbkassa_Kundfalt_Marginal>img {top: inherit;}
.in_checkout .Pnr_Tabell img[name="Profilstatus_Pnr"] {top: 50%; transform: translateY(-50%);}


#Adressblock2 .Snabbkassa_Kundfalt_Marginal>img {
	width: auto;
	position: absolute;
	right: 0;
	top: 0;
	margin: auto;
}


.Avtal {
	position: relative;
}

#Adressblock2 .Snabbkassa_Kundfalt_Marginal.Avtal *:not(input[type="checkbox"]):not(i.fal) {
	width: auto !important;
	right: auto;
}

#Adressblock2 .Snabbkassa_Kundfalt_Marginal.Avtal input:not([data-component="contract"]) {
	width: 1em !important;
}

#Adressblock2 .Snabbkassa_Kundfalt_Marginal.Avtal label:first-child {
	display: none;
}


.Avtal img {
	position: relative !important;
	margin-left: 10px !important
}

input.KundprofilFaltFEL:not([type='button']):not([type='submit']):not([type='reset']):not([type='file']):not([type='color']):not([type='range']):not(#sokterm) {
	border: 1px solid var(--danger-color);
}
#Adressblock2 .Snabbkassa_Kundfalt_Marginal select {padding: 0 var(--gutter);}

@media only screen and (min-width: 48em) {
	#Adressblock {
		width: 50%;
	}
	#Adressblock2 .Snabbkassa_Kundfalt_Marginal>*:not(img) {
		width: 50%;
	}
}

@media only screen and (max-width: 48em) {

	#Adressblock2 {
		width: 100%;
	}

	#Adressblock2 {
		font-size: 0.8rem
	}
	.Snabbkassa_Kundfalt_Marginal:not(.Avtal), #SKM_PNr{flex-direction: column;}
	#Adressblock2 .Snabbkassa_Kundfalt_Marginal>img {
		top: 20px;
	}
	.in_checkout #Adressblock2 .Snabbkassa_Kundfalt_Marginal>img {top: 50%;}

}

/*wishlist*/
.wishlist-button{cursor: pointer;}

/*Presentkort*/
@media screen and (max-width: 48em){
	.Presentkort table{width: 100%;}
	.Presentkort table.PS_Tabell td:first-child{width: 100%;text-align: center;}
	.Presentkort table.PS_Tabell tr{display: flex; flex-wrap: wrap; justify-content: center;}
}

/* Dialogruta */
#dialogruta {
	position: fixed;
	max-height: 500px;
	max-width: 500px;
	height: fit-content;
	text-align: left;
	top: 0;
	margin: auto;
	left: 0;
	bottom: 0;
	z-index: 61;
	background: var(--base-background1);
	border: var(--border-std);
	right: 0;
	visibility: hidden;
	padding: calc(var(--gutter)*2);
}

#dialogruta h1 {
	margin-top: 0;
	margin-top: 0;
	font-size: 18px;
}

#dialogruta h1 img {
	display: none;
}

#dialogruta a:last-child{
	background: var(--base-background6);
    color: var(--base-color6);
    line-height: 35px;
    display: block;
    padding: 0 10px;
    text-transform: uppercase;
    font-size: 12px;
    font-weight: 700;
    text-align: center;
}


/* LOADER / PRELOAD */

.preloader {
	display: none;
	/* opacity: 0; */
	/* pointer-events: none; */
}

/* General class for modals  */
.modal {
	width: 440px;
    max-width: 90%;
    display: none;
    position: fixed;
    /* padding: 30px; */
    margin: 0;
    z-index: 61;
    top: 140px;
    max-height: calc(100vh - 160px);
    overflow: auto;
    left: 50%;
    -webkit-transform: translate3d(-50%,0,0);
    -ms-transform: translate3d(-50%,0,0);
    -o-transform: translate3d(-50%,0,0);
    -moz-transform: translate3d(-50%,0,0);
    transform: translate3d(-50%,0,0);
    background: #fff;
    -ms-overflow-style: none;
    scrollbar-width: none;
}
.modal.active {display: block; opacity: 1 !important;}

@media screen and (max-width: 850px) {
	.modal {
    	/* padding: 20px; */
    	top: 80px;
    	max-height: calc(100vh - 100px);
	}
}

@media only screen and (max-width: 480px) {
	.modal {
		left: 5%;
		right: 5%;
		-webkit-transform: none;
		-ms-transform: none;
		-o-transform: none;
		-moz-transform: none;
		transform: none;
	}
	.product-slider-controller .product-slider-prev,
	.product-slider-controller .product-slider-next {
		right: 0px;
	}
	.product-slider-controller .product-slider-prev {right: 30px;}
}