/*
	font-family: 'Source Sans Pro', sans-serif;
*/

*:focus { outline:none;}

body {
	height:100%;
	margin:0;
	padding:0px;
	background:#fff;
	font-family:'Source Sans Pro', Arial, Helvetica, sans-serif;
	font-size:16px;
	line-height:21px;
	font-weight:400;
	color:#666;
}
a {color:#e21f24;cursor:pointer;}
a:hover {color:#000;}
a, a:hover, a:visited, a:active { outline:none !important; text-decoration:none !important;}


a.moreInfo {
	color:#e21f24;
	position: relative;
	text-decoration: none;
	display: inline-block;
}
a.moreInfo span {
	width: 0;
	height: 100%;
	position: absolute;
	display: block;
	border-bottom: 1px solid #e21f24;
	left: 50%;
	top: 0;
		-moz-transition: 0.2s ease;
		-ms-transition: 0.2s ease;
		-o-transition: 0.2s ease;
		-webkit-transition: 0.2s ease;
	transition: 0.2s ease;
}
a.moreInfo:hover span {
	text-decoration: none;
	display: inline-block;
	width: 100%;
	left:0;
}

strong, b { font-weight:600}
i { font-weight:400i}
i strong, i b, b i, strong i { font-weight:700i;}

.Weight300 { font-weight:300;}
.Weight400 { font-weight:400;}
.Weight500 { font-weight:500;}
.Weight600 { font-weight:600;}
.Weight700 { font-weight:700;}
.Weight800 { font-weight:800;}
.Weight900 { font-weight:900;}

.Uppercase { text-transform:uppercase;}

p {
	margin:0 0 25px 0;
	padding:0;
}

hr {
  margin:24px 0px 25px 0px;
  padding:0;
  border:0;
  border-top:1px solid #fff;
  border-bottom:1px solid #d5d5d5;
}


/**===== HEADING =*/
h1, h2, h3, h4, h5, h6 {
	font-family:'Source Sans Pro', Arial, Helvetica, sans-serif;
	margin:0px;
	padding:0px;
	color:#000;
	font-weight:400;
}
h1 {
	font-size:1.6em;
	line-height:1.2em;
}

h2 {
	font-size:1.5em;
	line-height:1.2em;
}

h3 {
	font-size:1.4em;
	line-height:1.2em;
}

h4 {
	font-size:1.3em;
	line-height:1.2em;
}

h5 {
	font-size:1.2em;
	line-height:1.3em;
}

h6 {
	font-size:1.1em;
	line-height:1.3em;
}


/**===== LIST STYLING =*/
ul, ol {
	margin:10px 0 20px 50px;
	padding:0px;
}
ul li, ol li {
	margin:0px;
	padding:0 0px 10px 0;
}
ul li:last-child { border:none;}

li.activepg a {
	color: #000000 !important;
}

li.activepg a:before {
	content: '- ';
}

.fb-page, .fb-page iframe[style], .fb-page span {width: 100% !important;}

img { vertical-align:top;}

.img_border {
	border:1px solid #ccc;
	padding:5px;
	background:none;
}

.img_left {float:left;margin:0px 20px 15px 0px;}
.img_right {float:right;margin:0px 0px 15px 20px;}

.left { float:left;}
.right { float:right;}

.AlignCenter { text-align:center;}
.AlignLeft { text-align:left;}
.AlignRight { text-align:right;}

.clear { clear:both;}
.ClearLeft {clear:left;}
.ClearRight { clear:right;}

.pad10 { padding:10px;}
.pad15 { padding:15px;}
.pad20 { padding:20px;}
.pad20_0 { padding:20px 0px;}
.pad25 { padding:25px;}
.pad30 { padding:30px;}
.pad35 { padding:35px;}
.pad40 { padding:40px;}
.pad50 { padding:50px;}


/**===== TEXT COLORS =*/
.TextBlack { color:#000 !important;}
.TextGrey { color:#333 !important;}
.TextWhite { color:#fff !important;}
.TextBrown { color:#835b38 !important;}
.TextPurple { color:#973ec0 !important;}
.TextViolet { color:#5e5398 !important;}
.TextOrange { color:#ffaa00 !important;}
.TextPink { color:#ee84aa !important;}
.TextGreen { color:#20a820 !important;}
.TextBlue { color:#247ba0 !important;}
.TextYellow { color:#f8df02 !important;}
.TextRed { color:#e21f24 !important;}
.TextLightBlue { color:#85d5f6 !important;}

.Note { font-size:14px; line-height:18px;font-weight:400;}
strong.Note { font-weight:500;}


/**===== BACKGROUND COLORS =*/
.BgWhite { background:#fff; border:1px solid #ccc;}
.BgBlack {background:#1f1f1f;color:#fff;}
.BgDrkGray {background:#2f2f2f;color:#fff;}
.BgLitGrey {background:#eeeeee;}
.BgBrown  {background:#3980a4;color:#fff;}
.BgPurple { background:#973ec0;color:#fff;}
.BgViolet { background:#5e5398;color:#fff;}
.BgOrange { background:#ffaa00;color:#fff;}
.BgPink { background:#ee84aa;color:#fff;}
.BgGreen { background:#20a820;color:#fff;}
.BgBlue { background:#247ba0;color:#fff;}
.BgYellow { background:#f8df02;color:#000;}
.BgRed { background:#e21f24;color:#fff;}
.BgMaroon { background:#75091e;color:#fff;}
.BgLightBlue  { background:#b8dbea;}


.BgLitGrey .Heading1 span { background:#eeeeee;}
.BgRed .Heading1 {
	color:#fff;
	background:url(../images/heading_border2.png) repeat-x left 16px;
}
.BgRed .Heading1 span { background:#ae2d32;}

.BgBlack .Heading2 {color:#fff;}
.BgBlack a.moreInfo { color:#ffaa00;}
.BgBlack a.moreInfo span { border-color:#ffaa00;}

.BgBlack .text_field,
.BgLitGrey .text_field,
.BgRed .text_field { border:none;}

.BgRed a { color:#fff;}
.BgRed a.moreInfo { color:#fff;}
.BgRed a.moreInfo span { border-color:#fff;}

.BgRed .button { background:rgba(0,0,0,.3);}



/**===== INPUT BUTTON =*/
.button {
	background:#20a820;
	border:none;
	display: inline-block;
	padding:12px 25px 12px 25px;
	height:auto;
	margin:0;
	font-family:'Source Sans Pro', Arial, Helvetica, sans-serif;
	color:#fff;
	font-weight:400;
	font-size:1em;
	line-height:1.1em;
	vertical-align: middle;
	cursor: pointer;
		-webkit-user-select: none;
		-moz-user-select: none;
		-ms-user-select: none;
	user-select: none;
	transition: background 200ms ease;
}

.button:hover {
	background:#33c933 !important;
}

.button.added {
	background: red !important;
}

.BtnRed {background:#e21f24;}
.BtnOrange {background:#ffaa00;}

.BtnDisabled, .BtnDisabled:hover {background-color:#cccccc; !important}
.item[data-has-sizes] .BtnDisabled {
	background-color:#cccccc; !important
}

.BtnFullWidth {
	display: flex;
}

.BtnFullWidth .button { width:100%; flex: 1; margin-bottom: 0; }

.modal-size-select {
	margin-bottom: 5px;
}

.BtnFullWidth.no-qty .add-to-cart-qty {
	display: none;
}

.BtnFullWidth .add-to-cart-qty {
	width: 63px;
	border-left: solid 7px #20a820;
	padding: 0 10px;
	border-top: solid 7px #20a820;
	border-bottom: solid 7px #20a820;
	border-right: 0;
}

.TblWrapp .add-to-cart-qty {
	padding-top: 2px;
	padding-bottom: 2px;
	margin-bottom: 8px;
}

.TblWrapp .ProdPriceDiscountList {
	width: 50px;
	height: 50px;
	transform: translateY(-10px);
}

.FaIconBtn {
	border:none;
	background:#e21f24;
	color:#fff;
	height:40px;
	width:40px;
	line-height:40px;
	text-align:center;
	font-size:18px;
}



/**===== INPUT FIELD =*/
.text_field {
	line-height: initial !important;
}

.text_field, input[type=text], input[type=password], input[type=number], select {
    border: 1px solid #ccc;
    background: #fff;
    font-family: 'Source Sans Pro', Arial, Helvetica, sans-serif;
    color: #000;
    font-size: 1em;
    line-height: 1em;
	font-weight:400;
    padding: 12px 10px 12px 15px;
    margin: 0;
    width: 100%;
    height: auto;
		-moz-transition: all 0.3s ease;
		-ms-transition: all 0.3s ease;
		-o-transition: all 0.3s ease;
		-webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
    position: relative;
}
.text_field:focus {}

select {padding: 11px 10px 11px 0 !important;}

@-moz-document url-prefix() { 
  select {
	 padding-top: 9px !important;
	 padding-bottom: 8px !important;
	 text-indent:5px !important;
  }
}


.FieldWrapper { position:relative;}

.FieldWrapper2 {
	position:relative;
	width:48%;
}

.AddressField { width:28%; margin-right:5%;}

.IconFieldWrapp .fa {
	position:absolute;
	top:1px;
	left:1px;
    background: #f0eeee;
    font-size: 20px;
    line-height: 43px;
    height: 43px;
    width: 43px;
    text-align: center;
    color: #999;
    border-right: 1px solid #d5d5d5;
}
.IconFieldWrapp .text_field { text-indent:55px;}

.FieldBtnFixed {
	position:absolute;
	top:1px;
	right:1px;
}

.FormWrapper { width:65%;}
.FormWrapper .text_field { margin-top:2px;}

@media All and (max-width: 650px) {
	.FormWrapper { width:100%;}
}
@media All and (max-width: 550px) {
	.FieldWrapper2, .AddressField { width:100%;}
}


/**===== RADIO BUTTON =*/
ul.RadioStyle{
	margin:0 0 5px 0;
	padding:0;
	display:inline-block;
}
ul.RadioStyle li{
	margin:0 20px 10px 0;
	padding:0;
	border:none;
	background:none;
	color: #666;
	position: relative;
	display:inline-block;
}
ul.RadioStyle li input[type=radio]{
	position: absolute;
	visibility: hidden;
}
ul.RadioStyle li label{
	display: block;
	position: relative;
	font-weight: 700;
	font-size:16px;
	padding: 0 0 0 30px;
	margin: 0 auto;
	height: auto;
	z-index: 9;
	cursor: pointer;
	-webkit-transition: all 0.25s linear;
}
ul.RadioStyle li:hover label{color: #000;}

ul.RadioStyle li .check{
	display: block;
	position: absolute;
	border: 3px solid #ccc;
		-moz-border-radius: 100%;
		-ms-border-radius: 100%;
		-o-border-radius: 100%;
		-webkit-border-radius: 100%;
	border-radius: 100%;
	height: 20px;
	width: 20px;
	top:1px;
	left:0;
	z-index: 5;
		-moz-transition: border .25s linear;
		-ms-transition: border .25s linear;
		-o-transition: border .25s linear;
		-webkit-transition: border .25s linear;
	transition: border .25s linear;
}
ul.RadioStyle li:hover .check {border: 3px solid #000;}

ul.RadioStyle li .check::before {
	display: block;
	position: absolute;
	content: '';
	border-radius: 100%;
	height: 8px;
	width: 8px;
	top: 3px;
	left: 3px;
	margin: auto;
	transition: background 0.25s linear;
	-webkit-transition: background 0.25s linear;
}

.RadioStyle input[type=radio]:checked ~ .check {border: 3px solid #000;}
.RadioStyle input[type=radio]:checked ~ .check::before{background: #000;}
.RadioStyle input[type=radio]:checked ~ label{color: #000;}


.BgBlack ul.RadioStyle li{ color:#fff;}
.BgBlack ul.RadioStyle li:hover label{color: #fff;}
.BgBlack ul.RadioStyle li .check { border-color:#fff;}
.BgBlack ul.RadioStyle li:hover .check {border-color:#ffaa00;}

.BgBlack input[type=radio]:checked ~ .check {border-color:#ffaa00;}
.BgBlack input[type=radio]:checked ~ .check::before{background: #ffaa00;}
.BgBlack input[type=radio]:checked ~ label{color: #ffaa00;}



/**===== CHECKBOX =*/
/*http://cssdeck.com/labs/css-checkbox-styles/*/

.SquaredBox input[type=checkbox] {visibility: hidden;}

.SquaredBox {
	display:inline-block;
	margin:0 8px 0 0;
	width: 22px;
	height: 22px;
	background: #fcfff4;

	background: -webkit-linear-gradient(top, #fcfff4 0%, #dfe5d7 40%, #b3bead 100%);
	background: -moz-linear-gradient(top, #fcfff4 0%, #dfe5d7 40%, #b3bead 100%);
	background: -o-linear-gradient(top, #fcfff4 0%, #dfe5d7 40%, #b3bead 100%);
	background: -ms-linear-gradient(top, #fcfff4 0%, #dfe5d7 40%, #b3bead 100%);
	background: linear-gradient(top, #fcfff4 0%, #dfe5d7 40%, #b3bead 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fcfff4', endColorstr='#b3bead',GradientType=0 );
		-moz-box-shadow: inset 0px 1px 1px white, 0px 1px 3px rgba(0,0,0,0.5);
		-ms-box-shadow: inset 0px 1px 1px white, 0px 1px 3px rgba(0,0,0,0.5);
		-o-box-shadow: inset 0px 1px 1px white, 0px 1px 3px rgba(0,0,0,0.5);
		-webkit-box-shadow: inset 0px 1px 1px white, 0px 1px 3px rgba(0,0,0,0.5);
	box-shadow: inset 0px 1px 1px white, 0px 1px 3px rgba(0,0,0,0.5);
	position: relative;
}

.SquaredBox label {
	cursor: pointer;
	position: absolute;
	width: 16px;
	height: 16px;
	left: 3px;
	top: 3px;

		-moz--box-shadow: inset 0px 1px 1px rgba(0,0,0,0.5), 0px 1px 0px rgba(255,255,255,1);
		-ms-box-shadow: inset 0px 1px 1px rgba(0,0,0,0.5), 0px 1px 0px rgba(255,255,255,1);
		-o-box-shadow: inset 0px 1px 1px rgba(0,0,0,0.5), 0px 1px 0px rgba(255,255,255,1);
		-webkit-box-shadow: inset 0px 1px 1px rgba(0,0,0,0.5), 0px 1px 0px rgba(255,255,255,1);
	box-shadow: inset 0px 1px 1px rgba(0,0,0,0.5), 0px 1px 0px rgba(255,255,255,1);

	background: -webkit-linear-gradient(top, #222 0%, #45484d 100%);
	background: -moz-linear-gradient(top, #222 0%, #45484d 100%);
	background: -o-linear-gradient(top, #222 0%, #45484d 100%);
	background: -ms-linear-gradient(top, #222 0%, #45484d 100%);
	background: linear-gradient(top, #222 0%, #45484d 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#222', endColorstr='#45484d',GradientType=0 );
}

.SquaredBox label:after {
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
	filter: alpha(opacity=0);
	opacity: 0;
	content: '';
	position: absolute;
	width: 12px;
	height: 12px;
	background: #e21f24;

	background: -webkit-linear-gradient(top, #e21f24 0%, #e21f24 100%);
	background: -moz-linear-gradient(top, #e21f24 0%, #e21f24 100%);
	background: -o-linear-gradient(top, #e21f24 0%, #e21f24 100%);
	background: -ms-linear-gradient(top, #e21f24 0%, #e21f24 100%);
	background: linear-gradient(top, #e21f24 0%, #e21f24 100%);

	top: 2px;
	left: 2px;

		-moz-box-shadow: inset 0px 1px 1px white, 0px 1px 3px rgba(0,0,0,0.5);
		-ms-box-shadow: inset 0px 1px 1px white, 0px 1px 3px rgba(0,0,0,0.5);
		-o-box-shadow: inset 0px 1px 1px white, 0px 1px 3px rgba(0,0,0,0.5);
		-webkit-box-shadow: inset 0px 1px 1px white, 0px 1px 3px rgba(0,0,0,0.5);
	box-shadow: inset 0px 1px 1px white, 0px 1px 3px rgba(0,0,0,0.5);
}

.SquaredBox label:hover::after {
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=30)";
	filter: alpha(opacity=30);
	opacity: 0.3;
}

.SquaredBox input[type=checkbox]:checked + label:after {
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
	filter: alpha(opacity=100);
	opacity: 1;
}


/**===== SELECT =*/
.StyledSelect {
	overflow: hidden;
	width:100%;
	background:url(../images/select.png) no-repeat top right #fff;
}

.StyledSelect select {
	background: transparent;
	border: none;
	padding: 5px 10px;
	width: 100%;
	border: 1px solid #000;
	width:100%;
	color: #000;
	font-size: .9em;
    line-height: 1.5em;
		-moz-appearance: none;
		-ms-appearance: none;
		-o-appearance: none;
		-webkit-appearance: none;
	appearance: none;
	cursor:pointer;
}



/**===== PAGINATION NAV =*/
ul.pagination {
	margin:6px 0 0 0;
	padding:0px;
}
ul.pagination li {
	margin:0px;
	padding:0px;
	background:none;
	border:none;
	font-weight:600;
}
.pagination li a { color:#000 !important;}
.pagination > li > a, .pagination > li > span {
	background:none;
	border:none;
}
.pagination li a:hover, .pagination li span:hover, .pagination li a:focus, .pagination li span:focus {color:#ae2d32 !important;}
.pagination > li > a:hover, .pagination > li > span:hover, .pagination > li > a:focus, .pagination > li > span:focus { color:#ae2d32; background:none;}

@media All and (max-width:780px) {
	.pagination > li > a, .pagination > li > span {
		padding:6px;
		font-size:15px;
	}
}



/**===== DATE STYLING =*/
.date {
	width:100%;
	margin:0px 0px 10px 0px;
	border-top: 2px solid #dbd1be;
}
.date ul {
	margin:8px 0px 10px 0px !important;
	padding:10px 0px 0px 10px !important;
	list-style:none;
	float:left;
	font-size:13px;
	background:url(../images/cigar_open.png) no-repeat;
	height:49px;
	width:100%;
}
.date ul li {
	float:left;
	margin:0px 0px 0px 3px !important;
	padding:4px 8px 6px 8px !important;
	list-style:none;
	display:block;
	border:none;
	color:#fff;
	background:rgba(000, 000, 000, .5);
	color:#fff;
	text-transform:uppercase;
	border-radius:3px;
		-moz-border-radius:3px;
		-ms-border-radius:3px;
		-o-border-radius:3px;
		-webkit-border-radius:3px;
	behavior:url(css/PIE.htc);
}


.newsdate ul {
	margin:5px 0px 5px 0px !important;
	padding:10px 0px 0px 10px !important;
	list-style:none;
	float:left;
	font-size:12px;
}
.newsdate ul li {
	float:left;
	margin:0px 1px 0px 0px !important;
	padding:4px 8px 4px 8px !important;
	list-style:none;
	display:block;
	border:none;
	color:#444444;
	background:#ccc;
}

.BlogBG {
	background:#f5f5f5;
	color:#000;
	font-size:15px;
}



/**===== NOTIFICATIONS =*/
#sMsg {
	position: fixed;
	top:100px;
	left: 0;
	padding: 0 40px;
	width: 100vw;
	display: none;
}

.red, .green, .yellow, .blueInfo {
	display: block;
	background:no-repeat 15px 15px;
	border:1px solid #ae4c4b;
	padding:12px 10px 12px 50px;
}
.red {
	background-image:url(../images/bullet_error.png);
	background-color:#ef8d8e; 
	border-color: #ae4c4b;
	color:#822223;
}
.green {
	background-image:url(../images/bullet_success.png);
	background-color:#a8da93; 
	border-color: #448d3e;
	color:#1d571c;
}
.yellow {
	background-image:url(../images/bullet_attention.png);
	background-color:#f7efa7; 
	border-color: #c5a46f;
	color:#8f5212;
}
.blueInfo {
	background-image:url(../images/bullet_info.png);
	background-color:#b0c1db; 
	border-color: #5581a4;
	color:#2a4b76;
}


/**===== BREADCRUMBS =*/
.BreadCrumbs {
	font-weight:500;
	font-size:14px;
	line-height:16px;
	color:#999;
	display:flex;
	background:#eee;
	margin-bottom:30px;
	padding:10px;
	font-weight:600;
}
.BreadCrumbs a { margin-right:6px;}

.BreadCrumbs .fa {
	/*color:#e21f24;*/
	font-size:17px;
}

.BreadCrumbs a {color:#e21f24;}
.BreadCrumbs a:hover {color:#000;}

.BreadCrumbs a:after {
	font-family: FontAwesome;
	content:'\f105';
	font-size:13px;
	margin:0 0 0 10px;
	font-weight:bold;
}


/**===== TABLE STYLING =*/
.table_title {
	background:#ffaa00;
	
	/** Micke ändrat 2017-09-19      color:#fff !important;*/
	color:#626161 !important;
	font-weight:600 !important;
}
.table_border {
	background:#fff;
	border:1px solid #eee;
}
.table_bg {
	background:#f0f0f0;
	border:1px solid #eee;
}
.table_title, .table_border, .table_bg {
	padding:15px 0;
	font-size:1.1em;
	line-height:1em;
	color:#000;
	font-weight:400;
}

.table_bg strong, .table_border strong { font-weight:500;}

.table_title p, .table_border p, .table_bg p {
	margin:0 12px 0 12px;
	padding:0px;
}

.table_border .text_field, .table_bg .text_field  {
	width:50px;
	text-align:left;
	padding:5px 0 5px 0;
	text-indent:10px;
	color:#999;
}

.table_img {
	border:1px solid #eee;
	padding:3px;
	position:relative;
}
.table_img img {
	width:auto;
	max-height:80px;
}

.table_img .fa {
	display:none;
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	text-align:center;
	line-height:70px;
	font-size:24px;
	background:rgba(206,15,66,.8);
	color:#fff;
}
.table_img:hover .fa {display:block;}

.TableFaIcon .fa {
	font-size: 35px;
	line-height:20px;
	color:#20a820;
}

.TblProdDesc a {color:#666;}
.TblProdDesc p {
	font-size:.85em;
}
.TblProdDesc h2 {
	font-size:1.1em;
	line-height:1em;
	color:#000;
	font-weight:600;
	margin:0 12px 5px 12px;
}

.TblPrice {
	font-size:1.5em;
	line-height:.85em;
	color:#e21f24;
	font-weight:600;
}
.TblPrice span {
	font-size:14px;
	color:#666;
}

.OldPrice { text-decoration:line-through;}


.CouponCode {
	width:90%;
	margin:5px 12px 0 0;
	position:relative;
}
.CouponCode .text_field {
	width:100%;
	text-align:left;
	height:46px;
	line-height:46px;
	padding:0;
	text-indent:12px;
}
#CouponBTN {
	position:absolute;
	top:2px;
	right:2px;
}

.CartWrapper2 { width:49.2%;}
.CartTableWidthLeft { width:77.6%;}
.CartTableWidthRight { width:22.4%;}

@media All and (max-width: 768px) {
	.CartWrapper2 { width:100%;}
	.CartTableWidthLeft { width:86%;}
	.CartTableWidthRight { width:14%;}
	
}
@media All and (max-width: 760px) {
	.TableWrapper {
		width:100%;
		overflow-y: hidden;
	}
	.TableWrapper table {
		min-width:800px;
		overflow:auto;
	}	
	.CollLess { display:none;}
	
	.CartTableWidthLeft { width:90%;}
	.CartTableWidthRight { width:10%;}
}


/*=== Loader =*/
#preloader {
	width:100%;
	height:100%;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #fff;
    z-index: 99999;
}

#status {
    width:60px;
    height:60px;
	margin: -30px 0 0 -30px;
    position: absolute;
    left:50%;
    top:50%;
    background-image: url(../images/preloader.gif);
    background-repeat: no-repeat;
    background-position: center;
}