@import url('https://fonts.googleapis.com/css2?family=Quicksand:wght@300;500;600;700&display=swap');
@font-face {
  font-family: 'cs22';
  src:
    url('img/cs22.ttf?yn9wxi') format('truetype'),
    url('img/cs22.woff?yn9wxi') format('woff'),
    url('img/cs22.svg?yn9wxi#cs22') format('svg');
  font-weight: normal;
  font-style: normal;
  font-display: block;
}
* {
	border: none;
	outline: none;
	padding: 0;
	margin: 0;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
}
*:not(input):not(textarea):not(.selection) {
  -webkit-touch-callout: none; /* iOS Safari */
    -webkit-user-select: none; /* Safari */
     -khtml-user-select: none; /* Konqueror HTML */
       -moz-user-select: none; /* Old versions of Firefox */
        -ms-user-select: none; /* Internet Explorer/Edge */
            user-select: none; /* Non-prefixed version, currently
                                  supported by Chrome, Edge, Opera and Firefox */
}

body {
	position: relative;
	padding: 0;
	margin: 0;
	height: 100%;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	min-width: 1000px;
}
body, a, input, button, textarea {
	font: 16px/19px 'Quicksand', sans-serif;
	text-decoration: none;
	color: #333;
	font-weight: 500;
}
pwrp {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}
main {
	position: relative;
	display: block;
	width: 100%;
}
page {
	position: relative;
	display: block;
	width: calc(100% - 100px);
	left: 50%;
	transform: translateX(-50%);
}
page[flex] {
	display: flex;
}
top {
	position: relative;
	display: block;
	width: 100%;
	height: 250px;
	background: url(/img/chocolate.png) center top repeat-x;
	background-size: 710px;
	margin-bottom: -65px;
	z-index: 10;
	border-top: 50px solid #390300;
}
top div.toplogo {
	position: absolute;
	display: block;
	height: 100px;
	width: 330px;
	left: 50%;
	transform: translateX(-50%);
	top: -35px;
	background: url(/img/cake_shop_logo.png) center center no-repeat;
	background-size: contain;
}
top img.veganapproved {
	position: absolute;
	display: block;
	height: 60px;
	top: -40px;
	transition: height 0.5s, top 0.5s;
}
topsearch {
	position: absolute;
	display: block;
	left: 0;
	top: 30px;
	height: 35px;
	background-color: #fff;
	border-radius: 35px;
	opacity: 0.5;
	transition: opacity 0.5s;
	width: 25%;
}
topsearch:hover, topsearch[active] {
	opacity: 1;
}
topsearch input {
	background: none;
	position: absolute;
	display: block;
	left: 15px;
	top: 5px;
	bottom: 5px;
	font-weight: 600;
	width: calc(100% - 50px);
}
dosearchb {
	position: absolute;
	display: block;
	width: 29px;
	height: 29px;
	background-color: #555;
	right: 3px;
	top: 3px;
	border-radius: 30px;
	cursor: pointer;
	transition: background-color 0.5s;
}
dosearchb::after {
	position: absolute;
	display: block;
	content: "";
	background: url(/img/search.png) center center no-repeat;
	background-size: contain;
	left: 4px;
	top: 4px;
	width: 20px;
	height: 20px;
}
dosearchb:hover {
	background-color: #e5007e;
}
topmenu {
	position: absolute;
	display: flex;
	left: 0px;
	width: 100%;
	top: 80px;
	height: 45px;
	justify-content: space-around;
}
topmenu::after {
	position: absolute;
	display: block;
	left: 0;
	top: 0;
	right: 0;
	height: 50px;
	content: "";
	background: url(/img/ts.png) center bottom no-repeat;
	background-size: 100% 50px;
	pointer-events: none;
	opacity: 0.8;
}
topmenu a {
	position: relative;
	display: block;
	text-align: center;
	justify-content: space-between;
	color: #fff;
	font-size: 18px;
	line-height: 50px;
	font-weight: 700;
	transition: background-color 0.5s;
	padding-right: 20px;
	padding-left: 20px;
	border-radius: 0 0 10px 10px;
	white-space: nowrap;
}
topmenu a:nth-last-child(1) {
	display: none;
}
topmenu a:nth-last-child(2) {
	display: none;
}
topmenu a:nth-last-child(4) {
	display: none;
}
topmenu div.nomenu {
	position: absolute;
	display: block;
	width: 0;
	height: 0;
	pointer-events: none;
	z-index: -1;
}
topmenu a img {
	position: relative;
	display: inline-block;
	vertical-align: bottom;
	height: 28px;
	margin-right: 10px;
	top: -12px;
	margin-left: -5px;
}
topmenu a:hover {
	background-color: #e5007e;
}
topmenu a.tmvegan:hover {
	background-color: #005408;
}
topmenu a.tmglutenfree:hover {
	background-color: #6d4000;
}
usermenu {
	position: absolute;
	display: block;
	right: -10px;
	top: -50px;
	color: #fff;
	z-index: 999;
}
usermenu a {
	position: relative;
	display: inline-block;
	color: #fff;
	font-weight: 700;
	padding: 10px 10px;
	font-size: 13px;
	line-height: 15px;
	text-transform: uppercase;
	transition: color 0.5s;
}
usermenu a:hover {
	color: #e5007e;
}

tbasket {
	position: absolute;
	display: block;
	right: 0px;
	top: 0px;
	height: 50px;
	border: 2px solid #fff;
	border-radius: 50px;
	padding-left: 70px;
	cursor: pointer;
	transition: background-color 0.5s;
	color: #ffffff;
	font-size: 24px;
	line-height: 45px;
	padding-right: 15px;
	font-weight: bold;
}
tbasket:hover {
	background-color: #e5007e;	
}
tbasket::before {
	position: absolute;
	display: block;
	width: 40px;
	height: 40px;
	content: "";
	background: url(/img/basket.png) center center no-repeat;
	background-size: 35px;
	left: 13px;
	top: 4px;
}
tbasket::after {
	content: attr(items);
	position: absolute;
	display: block;
	left: 43px;
	bottom: 3px;
	background-color: #e5007e;
	color: #fff;
	font-weight: 700;
	padding: 2px 5px;
	font-size: 13px;
	line-height: 13px;
	border-radius: 10px;
	transition: background-color 0.5s;
}
basket:hover bitems {
	background-color: #9f095c;
}
topbanners {
	position: relative;
	display: block;
	width: 100%;
	height: 530px;
	overflow: hidden;
	transition: height 0.5s;
	opacity: 0;
	transition: opacity 0.5s;
}
topbanners::before {
	position: absolute;
	display: block;
	left: 0;
	bottom: 0;
	right: 0;
	height: 50px;
	content: "";
	background: url(/img/ts.png) center bottom no-repeat;
	background-size: 100% 50px;
	opacity: 0.5;
}
topbanner {
	position: absolute;
	display: none;
	left: 0px;
	right: 0px;
	top: 0px;
	bottom: 50px;
	transform: translateX(0%);
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	transition: transform 1s, opacity 1s;
}
topbanners[active] {
	opacity: 1;
}
topbanners[active] topbanner {
	display: block;
}
topbanner a {
	position: absolute;
	display: block;
	left: 50%;
	transform: translateX(-50%) scale(1);
	background-color: #e5007e;
	bottom: 20px;
	padding: 10px 35px;
	font-weight: 700;
	color: #fff;
	border-radius: 30px;
	border: 1px solid rgba(255, 255, 255, 0.6);
	box-shadow: 0 0 20px rgba(0, 0, 0, 0.7);
	transform-origin: center center;
	transition: transform 0.3s, background-color 0.5s;
	text-transform: uppercase;
}
topbanner a:hover {
	background-color: #009ee2;
	transform: translateX(-50%) scale(1.15);
}
topbanner[active] {
	z-index: 99;
}
topbanner[moving] {
	transform: translateX(-100%);
	opacity: 0;
}
topbanner[next] {
	z-index: 88;
}
bswapleft {
	position: absolute;
	display: block;
	top: 0;
	bottom: 50px;
	left: 0;
	width: 80px;
	background-color: rgba(150, 150, 150, 0.7);
	z-index: 100;
	opacity: 0.3;
	transition: transform 1s, opacity 0.5s;
	cursor: pointer;
	transform: translateX(-80px);
	pointer-events: all!important;
}
bswapleft:hover {
	opacity: 1;
}
bswapleft::after {
	position: absolute;
	display: block;
	left: 20px;
	width: 40px;
	height: 40px;
	top: 50%;
	transform: translateY(-50%);
	content: "";
	background: url(/img/arrleft.png) center center;
	background-size: contain;
}
topbanners:hover bswapleft {
	transform: translateX(0);
}
bswapright {
	position: absolute;
	display: block;
	top: 0;
	bottom: 50px;
	right: 0;
	width: 80px;
	background-color: rgba(150, 150, 150, 0.7);
	z-index: 100;
	opacity: 0.3;
	transition: transform 1s, opacity 0.5s;
	cursor: pointer;
	transform: translateX(80px);
	pointer-events: all!important;
}
bswapright:hover {
	opacity: 1;
}
bswapright::after {
	position: absolute;
	display: block;
	left: 20px;
	width: 40px;
	height: 40px;
	top: 50%;
	transform: translateY(-50%);
	content: "";
	background: url(/img/arrright.png) center center;
	background-size: contain;
}
topbanners:hover bswapright {
	transform: translateX(0);
}

bannerdots {
	position: relative;
	display: block;
	text-align: center;
	font-size: 0;
	height: 13px;
	margin-top: -45px;
	margin-bottom: 20px;
}
bddd {
	position: relative;
	display: inline-block;
	width: 10px;
	height: 10px;
	border: 1px solid #555;
	border-radius: 10px;
	margin: 2px;
	background-color: #eee;
	transition: background-color 0.5s;
}
bddd[active] {
	background-color: #e5007e;
}
homeblocks {
	position: relative;
	display: block;
	width: calc(100% + 20px);
	margin-left: -10px;
	font-size: 0px;
	height: 300px;
	transition: height 0.5s;
	padding-bottom: 20px;
}
homeblocks a {
	position: relative;
	display: inline-block;
	margin: 10px;
	width: calc(25% - 20px);
	vertical-align: top;
	padding: 20px;
	transform: scale(1);
	height: 100%;
	text-align: center;
	box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.2);
	transition: background-color 0.5s, color 0.5s, transform 0.5s;
	cursor: pointer;
}
homeblocks a img {
	position: absolute;
	display: block;
	width: 50%;
	left: 50%;
	bottom: 40px;
	transform: translateX(-50%);
}
homeblocks a h1 {
	position: relative;
	display: block;
	font-size: 31px;
	line-height: 30px;
	font-weight: 700;
}
homeblocks a p {
	position: relative;
	display: block;
	width: 100%;
	font-size: 14px;
	line-height: 15px;
	margin-top: 10px;
}
homeblocks a.blkbranch {
	background-color: #390300;
	color: #fff;
}
homeblocks a:nth-last-child(2) {
	display: none;
}
homeblocks a:nth-last-child(3) {
	display: none;
}
homeblocks a.blkbranch brinfno {
	position: absolute;
	width: 80%;
	display: block;
	left: 50%;
	top: calc(50% + 40px);
	transform: translate(-50%, -50%);
	font-weight: 300;
	font-size: 21px;
	line-height: 23px;
}
homeblocks a.blkbranch brinfno[nobranch] {
	font-size: 18px;
	font-weight: 700;
	line-height: 21px;
	color: #fd0acd;
}
homeblocks a:hover {
	background-color: #e5007e;
	color: #fff;
	transform: scale(1.1);
	z-index: 10;
}
chcbloks {
	position: relative;
	display: block;
	width: 100%;
	font-size: 0;
}
chcakeblk {
	position: relative;
	display: inline-block;
	width: calc(50% - 20px);
	height: 405px;
	margin-top: 20px;
	font-size: 0;
	font-weight: 0;
	padding-top: 70px;
	margin: 10px;
	overflow: hidden;
	vertical-align: top;
	margin-top: 0;
	margin-bottom: -10px;
}
chcakeblk h1 {
	position: absolute;
	display: block;
	width: 100%;
	height: 50px;
	top: 1px;
}
chcakeblk h1::before {
	position: absolute;
	left: 0px;
	right: 0px;
	height: 5px;
	content: "";
	top: 33px;
	border-radius: 5px;
	background-image: -webkit-linear-gradient(left, #000000 0%, rgba(0, 0, 0, 0) 50%, black 100%);
	background-image: -moz-linear-gradient(left, #000000 0%, rgba(0, 0, 0, 0) 50%, black 100%);
	background-image: -ms-linear-gradient(left, #000000 0%, rgba(0, 0, 0, 0) 50%, black 100%);
	background-image: linear-gradient(to right, #000000 0%, rgba(0, 0, 0, 0) 50%, black 100%);
	opacity: 0.2;
}
a.chmainb {
	position: absolute;
	display: block;
	white-space: nowrap;
	top: 10px;
	left: 50%;
	transform: translateX(-50%) scale(1);
	background-color: #e5007e;
	padding: 4px 30px 6px;
	border-radius: 30px;
	font-size: 30px;
	line-height: 30px;
	color: #fff;
	border: 1px solid #fff;
	box-shadow: 0 3px 10px rgba(0, 0, 0, 0.3);
	cursor: pointer;
	z-index: 99;
	transition: transform 0.5s, background-color 0.5s;
}
a.chmainb:hover {
	transform: translateX(-50%) scale(1.15);
	background-color: #049de1;
}
a.chmainb::after {
	position: absolute;
	display: block;
	content: "~ View all ~";
	background-color: #e5007e;
	left: 50%;
	transform: translateX(-50%);
	font-size: 12px;
	font-weight: 700;
	padding: 0 15px 4px;
	line-height: 12px;
	border: 1px solid #fff;
	border-top: none;
	border-radius: 5px 5px 20px 20px;
	bottom: -13px;
	box-shadow: 0 5px 10px rgba(0, 0, 0, 0.3);
	transition: background-color 0.5s;
}
a.chmainb:hover::after {
	background-color: #049de1;	
}
a.cklst {
	position: relative;
	display: inline-block;
	margin: 5px;
	transform: scale(1);
	width: calc(20% - 10px);
	height: 220px;
	background-size: 90%;
	background-position: center bottom 25px;
	background-repeat: no-repeat;
	background-color: #eee;
	overflow: hidden;
	transition: background-color 0.5s, transform 0.5s, border-color 0.5s;	
	border: 2px solid #eee;
	border-radius: 4px;
}
a.chmlst {
	position: relative;
	display: inline-block;
	margin: 5px 5px 0;
	margin-bottom: -5px;
	transform: scale(1);
	width: calc(33% - 10px);
	height: 155px;
	background-size: 90%;
	background-position: center bottom 10px;
	background-repeat: no-repeat;
	background-color: #eee;
	overflow: hidden;
	transition: background-color 0.5s, transform 0.5s, border-color 0.5s;
	border: 2px solid #eee;
	border-radius: 4px;
}
a.cklst cakename {
	position: absolute;
	display: block;
	left: 0px;
	right: 0px;
	bottom: 5px;
	font-weight: 600;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	font-size: 15px;
	line-height: 15px;
	height: 17px;
	color: #333;
	transition: color 0.5s;
}
a.cklst:hover cakename {
	color: #fff;
}
a.chmlst:hover, a.cklst:hover {
	background-color: #098cc9;
	transform: scale(1.05);
	border-color: #e4007e;
}
a.chmlst cakecode, a.cklst cakecode {
	position: absolute;
	display: block;
	padding: 10px 10px 6px 15px;
	background-color: #333;
	border-radius: 0 0 5px 0;
	font-size: 15px;
	font-weight: 700;
	color: #fff;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.45);
	top: -5px;
	left: -5px;
	transition: background-color 0.5s;
	line-height: 15px;
}
a.chmlst:hover cakecode, a.cklst:hover cakecode {
	background-color: #e4007e;
}
optlist a.cklst {
	width: 175px;
	height: 200px;
}
cicons {
	position: absolute;
	display: block;
	right: 0px;
	bottom: 5px;
	background-color: rgba(230, 230, 230, 0.8);
	font-size: 0;
	line-height: 0;
	border-radius: 5px 0 0 5px;
	padding: 3px;
}
a.cklst cicons {
	bottom: 25px;
}
ciphoto, civegan, cigluten, cidelivery {
	position: relative;
	display: inline-block;
	width: 25px;
	height: 20px;
	background: url(/img/mphoto.png) center center no-repeat;
	background-size: contain;
	margin: 1px;
}
civegan {
	background: url(/img/mvegan.png) center center no-repeat;	
	background-size: 25px;
	width: 20px;
}
cigluten {
	background: url(/img/mglutenfree.png) center center no-repeat;	
	background-size: 18px;
	transform: rotate(-20deg);
	width: 20px;
}
cidelivery {
	background: url(/img/delivery.svg) center center no-repeat;	
	background-size: 18px;
	width: 20px;
	
}
descrblock cicons {
	right: 40px;
	bottom: 20px;
	transform-origin: right;
	transform: scale(1.5);
	padding-right: 7px;
}
bblock {
	padding: 40px;
	background-color: #333;
	width: 100%;
	bottom: 0px;
	left: 0px;
	margin-top: auto;
}
reviews {
	position: relative;
	display: block;
	width: 100%;
	padding: 100px;
	background: url(/img/rip2.png) center bottom repeat-x, url(/img/rip1.png) center top repeat-x #333;
	background-size: 900px;
	margin-top: 20px;
}
reviews page {
	height: 160px;
}
review {
	position: absolute;
	display: block;
	opacity: 0;
	width: 100%;
	transition: opacity 1s;
}
review[show] {
	opacity: 1;
}
review h2 {
	color: #e4007e;
	font-size: 33px;
	line-height: 30px;
}
review p {
	color: #eee;
	margin-top: 15px;
	line-height: 23px;
}
review rname {
	position: relative;
	display: block;
	color: #aaa;
	font: 16px/16px Georgia, "Times New Roman", Times, serif;
	font-style: italic;
	margin-top: 15px;
}
page.clist {
	z-index: 1;
}
page.pmain.perror {
	position: absolute;
	display: block;
	top: calc(50% - 100px);
	text-align: center;
}
page.pmain.perror p {
	margin-top: 20px;
}
clist {
	position: relative;
	display: block;
	width: 100%;
	font-size: 0;
	text-align: center;
	padding: 190px 0 30px;
	line-height: 0;	
	background: url(/img/rip1.png) center top repeat-x #ddd;
	background-size: 900px;
	margin-top: -210px;
	margin-bottom: -20px;
}
clist.veganlist {
	background-color: #3b9b41;
}
clist.glutenlist {
	background-color: #d1a360;
}
clist.heartlist {
	background: url(/img/rip1.png) center top repeat-x, url(/img/prtn_heart.jpg) center center;
	background-size: 900px, 400px;
}
clist.search {
	margin-top: 0px;
	padding: 0px 0 30px;
	background: none;
}
clist.search h3 {
	position: relative;
	display: block;
	text-align: center;
	font-size: 30px;
	line-height: 170px;
}
srchbar {
	position: relative;
	display: block;
	width: 100%;
	padding: 50px 0 100px;
	background: url(/img/rip2.png) center bottom repeat-x #009ee2;
}
srchbar h1 {
	position: relative;
	display: block;
	text-align: center;
	font-size: 35px;
	line-height: 60px;
	color: #fff;
}
srchbar input {
	position: relative;
	display: block;
	width: 500px;
	left: 50%;
	transform: translateX(-50%);
	font-size: 25px;
	line-height: 25px;
	padding: 10px 20px;
	border-radius: 30px;
	height: 60px;
	background-color: #e5e4e4;
	border: 2px solid #555;
	transition: border-color 0.5s;
}
srchbar input:focus {
	border-color: #e5007e;
}
srchbar srchbtn {
	position: absolute;
	display: block;
	left: calc(50% + 195px);
	width: 50px;
	height: 50px;
	background-color: #333;
	border-radius: 30px;
	bottom: 5px;
	cursor: pointer;
	transition: background-color 0.5s;
}
srchbar srchbtn::after {
	position: absolute;
	display: block;
	content: "";
	background: url(/img/search.png) center center no-repeat;
	background-size: contain;
	background-size: 30px;
	left: 0px;
	top: 0px;
	width: 50px;
	height: 50px;
}
srchbar srchbtn:hover {
	background-color: #e5007e;
}
orddet {
	position: relative;
	display: block;
	width: 100%;
	padding: 50px 0 80px;
	background: url(/img/rip2.png) center bottom repeat-x #009ee2;
	margin-bottom: -50px;
}
orddet h1 {
	position: relative;
	display: block;
	text-align: center;
	font-size: 35px;
	line-height: 60px;
	color: #fff;	
}
optlist {
	position: relative;
	display: block;
	width: 100%;
	font-size: 0;
	text-align: center;
	padding: 70px 0 30px;
	line-height: 0;	
	background: url(/img/rip1.png) center top repeat-x #ddd;
	margin-bottom: -40px;	
	background-size: 900px;
}
optlist h1 {
	position: relative;
	display: block;
	font-size: 24px;
	line-height: 50px;
	color: #e2017d;
}
seasonal {
	position: relative;
	display: block;
	width: 100%;
	font-size: 0;
	text-align: center;
	padding: 10px;
	line-height: 0;
}
seasonal h1 {
	position: relative;
	display: block;
	text-align: center;
	font-weight: 300;
	font-size: 50px;
	line-height: 40px;
	color: #049de1;
	width: 100%;
	margin-bottom: 20px;
}
seasonal a.scakes {
	position: relative;
	display: inline-block;
	width: calc(25% - 14px);
	height: 220px;
	background-color: #dca6a6;
	background-size: cover;
	margin: 7px;
	border: 2px solid #fff;
	border-radius: 5px;
	box-shadow: 0 1px 7px rgba(0, 0, 0, 0.2);
	transition: border-color 0.5s, box-shadow 0.5s, transform 0.5s;
	cursor: pointer;
	background-position: center center;
	border-radius: 30px;
	font-size: 14px;
	line-height: 12px;
}
seasonal a.scakes:hover {
	border-color: #e4007e;
	transform: scale(1.05);
	box-shadow: 0 1px 15px rgba(0, 0, 0, 0.4);
}
seasonal.crange {
	background: url(/img/rip2.png) center bottom repeat-x, url(/img/rip1.png) center top repeat-x #333;
	background-size: 900px;
	padding: 60px 0px;
}
seasonal.crange h1 {
	color: #e4007e;
}
seasonal.crange a.scakes {
	box-shadow: 0 1px 7px rgba(0, 0, 0, 0.8);
}
seasonal.crange a.scakes:hover {
	box-shadow: 0 1px 7px rgba(0, 0, 0, 1);
}

seasonal a.scakes h2 {
	position: absolute;
	display: block;
	max-width: 90%;
	left: 50%;
	bottom: 20px;
	transform: translateX(-50%);
	color: #333;
	background-color: #eee;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	padding: 5px 15px;
	font-size: 20px;
	line-height: 20px;
	border-radius: 20px;
	transition: background-color 0.5s, color 0.5s;
}
a.scakes h2:empty {
    display: none;
}
seasonal a.scakes:hover h2 {
	background-color: #e4007e;
	color: #fff;
}
bblock page {
	display: flex;
}
bblock page ul {
	flex: 1;
	color: #ffffff;
	list-style: none;
	padding: 0px 20px;
}
bblock page ul li a {
	color: #ffffff;
	font-size: 13px;
	line-height: 15px;
	white-space: nowrap;
	transition: color 0.5s;
	cursor: pointer;
}
bblock page ul li a:hover {
	color: #e3007e;
}
bblock page ul li b {
	color: #009ee2;
	font-size: 15px;
	line-height: 15px;
	font-weight: 700;
	white-space: nowrap;
}
bblock page ul li:not(:first-child) b {
	line-height: 40px;
}
div.cakeshop-logo-bottom {
	width: 170px;
	height: 50px;
	background: url(/img/cake_shop_logo.png) center center no-repeat;
	background-size: contain;
}
img.joinusimg {
	width: 170px;
	padding-top: 20px;
}
bblock li.payment::after {
	position: absolute;
	display: block;
	content: "";
	width: 200px;
	height: 80px;
	background: url(/img/PaymentSense_Extended_200x125.png) left top no-repeat;
	background-size: contain;
}
bblock li.paymentpp::after {
	position: absolute;
	display: block;
	content: "";
	width: 200px;
	height: 80px;
	background: url(/img/PayPal_Extended_200x125.png) left top no-repeat;
	background-size: contain;
}
osteps {
	position: relative;
	display: block;
	text-align: center;
	padding: 50px 50px 20px;
	border-bottom: 2px solid #eee;
	color: #aaa;
	font-weight: 700;
}
osteps::before {
	position: absolute;
	display: block;
	content: "";
	left: 50px;
	right: 50px;
	top: 70px;
	height: 4px;
	background-image: -webkit-linear-gradient(left, white 0%, #aaa 49.8%, white 100%);
	background-image: -moz-linear-gradient(left, white 0%, #aaa 49.8%, white 100%);
	background-image: -ms-linear-gradient(left, white 0%, #aaa 49.8%, white 100%);
	background-image: linear-gradient(to right, white 0%, #aaa 49.8%, white 100%);
}
ostep {
	position: relative;
	display: inline-block;
	padding-top: 40px;
	width: 20%;
}
ostep::before {
	position: absolute;
	display: block;
	content: attr(cnt);
	top: 0px;
	left: 50%;
	transform: translateX(-50%);
	border: 4px solid #aaa;
	background-color: #eee;
	width: 30px;
	height: 30px;
	border-radius: 40px;
	text-align: center;
	font-weight: 700;
	font-size: 20px;
	line-height: 29px;
	color: #aaa;
}
ostep.stepdone {
	color: #333;
}
ostep.stepdone::before {
	background-color: #aaa;
	color: #555;
	border-color: #555;
}
ostep.stepactive {
	color: #e5007e;
}
ostep.stepactive::before {
	background-color: #333;
	color: #fff;
	border-color: #e5007e;
}
ul.ordercats {
	position: relative;
	display: block;
	list-style: none;
	width: 100%;
	text-align: center;
	font-size: 0;
	margin-bottom: 20px;
}
ul.ordercats li {
	position: relative;
	display: inline-block;
	font-size: 25px;
	line-height: 25px;
	background-color: #9a9a9a;
	cursor: pointer;
	transition: background-color 0.5s;
	font-family: 'Rancho', cursive;
	padding: 0 5px;
}
ul.ordercats li:hover {
	background-color: #049de1;
}
ul.ordercats li:first-of-type {
	border-bottom-left-radius: 8px;
}
ul.ordercats li:last-of-type {
	border-bottom-right-radius: 8px;
}
ul.ordercats li:not(:first-of-type) {
	border-left: 2px dotted #c5c5c5;
}

ul.ordercats li a {
	position: relative;
	display: block;
	color: #ffffff;
	padding: 5px 15px;
}
descrblocks {
	position: relative;
	display: block;
	width: 100%;
	font-size: 0;
	line-height: 0;
}
descrblock {
	position: relative;
	display: inline-block;
	vertical-align: top;
}
descrblock:nth-child(1) {
	width: 60%;	
}
descrblock:nth-child(2) {
	width: 40%;	
}
dimage {
	position: relative;
	display: block;
	width: calc(100% - 80px);
	height: 500px;
	background-size: contain;
	background-position: center center;
	background-repeat: no-repeat;
	margin: 20px;
}
dimage::before {
	position: absolute;
	display: block;
	left: -20px;
	right: -20px;
	top: -20px;
	bottom: -20px;
	content: "";
	background-size: 100%;
	z-index: -1;
	opacity: 0.4;
	border-radius: 5px;
	background-color: #ddd;
}
pdcode {
	position: absolute;
	display: block;
	font-size: 20px;
	line-height: 20px;
	top: 10px;
	left: 0px;
	padding: 10px 20px;
	background-color: #e5007e;
	border-radius: 0 10px 10px 0;
	font-weight: 700;
	color: #fff;
}
descrblock h1 {
	font-size: 30px;
	line-height: 30px;
	color: #e5007e;
}
descrblock p {
	font-size: 16px;
	line-height: 17px;
	margin-top: 5px;
	margin-bottom: 5px;
}
descrblock h2 {
	font-size: 20px;
	line-height: 20px;
	color: #009ee2;
	margin-top: 15px;
}
descrblock h3 {
	font-size: 20px;
	line-height: 20px;
	color: #444;
	margin-top: 20px;
	padding-top: 15px;
}
descrblock h4 {
	position: relative;
	display: inline-block;
	font-size: 20px;
	line-height: 20px;
	color: #009ee2;
	background-color: #d5ebf5;
	padding: 5px 10px;
	margin-top: 5px;
	margin-bottom: 10px;
}
descrblock p.ainfo {
	position: relative;
	display: block;
	background-color: #fcd2e9;
	padding: 10px 20px;
	border-radius: 3px;
	margin-top: 20px;
	font-weight: 600;
	text-align: center;
}
descrblock p.ainfono {
	position: relative;
	display: block;
	background-color: #049de1;
	padding: 25px;
	border-radius: 3px;
	margin-top: 20px;
	font-weight: 600;
	color: #fff;
	text-align: center;
}
descrblock a.extlink {
	color: #065a80;
	text-decoration: underline;
	font-style: italic;
	font-size: 13px;
	line-height: 13px;
	font-weight: bold;
}
orderblk, orderblkf {
	position: relative;
	display: block;
	background-color: #f4f4f4;
	border-radius: 5px;
	overflow: hidden;
	padding: 10px;
	margin-top: 10px;
}
oopts {
	position: relative;
	display: block;
	width: 30%;
	margin-top: 10px;
}
oopts[caption]::before {
	position: absolute;
	display: block;
	content: attr(caption);
	font-size: 16px;
	top: -23px;
	line-height: 16px;
	left: 5px;
	font-weight: 700;
	color: #089ce0;
}
cbox, cline {
	position: relative;
	display: block;
	font-size: 16px;
	line-height: 16px;
	border: 1px solid #aaa;
	height: 40px;
	margin-top: 35px;
	border-radius: 5px;
	background-color: #eee;
	cursor: pointer;
}
cline input {
	position: absolute;
	display: block;
	left: 0px;
	right: 0px;
	top: 5px;
	padding: 0px 10px;
	font-size: 20px;
	background: none;
}
cbox::before, cline::before {
	position: absolute;
	display: block;
	content: attr(caption);
	top: -25px;
	color: #009ee2;
	font-weight: 700;
}
cbox::after {
	position: absolute;
	display: block;
	content: "\25BC";
	font-weight: normal;
	right: 10px;
	top: 5px;
	font-size: 10px;
	line-height: 26px;
	font-style: normal;
	border-left: 1px solid #aaa;
	text-indent: 8px;
	padding-top: 3px;
}
cbox[open]::after {
	content: "\25b3";
}
cbox:hover, tbox:hover {
	border-color: #009ee2;
}
cbox cvalue {
	position: absolute;
	display: block;
	left: 10px;
	top: 10px;
	height: 30px;
	width: calc(100% - 50px);
	font-weight: 700;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	font-size: 17px;
	line-height: 16px;
}
cbox cvalue i {
	position: relative;
	font-weight: normal;
	font-style: normal;
	margin-left: 10px;
	font-size: 14px;
	top: -1px;
}
tbox input {
	position: absolute;
	display: block;
	left: 10px;
	top: 3px;
	width: calc(100% - 20px);
	font-size: 17px;
	line-height: 32px;
	font-weight: 700;
	background: none;
}
cboxitems {
	position: absolute;
	display: none;
	left: 3px;
	right: 3px;
	background-color: #f3f3f3;
	border: 1px solid #009ee2;
	border-top: 1px solid #aaa;
	top: 38px;
	overflow: hidden;
	border-radius: 0 0 5px 5px;
}
cbox[open] {
	background-color: #f3fbfe;
}
cbox[open] cboxitems {
	display: block;
	z-index: 999;
}
cboxitem {
	position: relative;
	display: block;
	padding: 10px;
	font-weight: 600;
	border-bottom: 1px solid #bbb;
	background-color: #fafafa;
	transition: background-color 0.5s, color 0.5s;
}
cboxitem:nth-child(even) {
	background-color: #eee;
}
cboxitem:hover {
	background-color: #e4007e;
	color: #fff;
}
cboxitem:last-child {
	border-bottom: none;
}
cboxitem[selected] {
	background-color: #049de1;
	color: #fff;
}
cboxitem i {
	position: relative;
	display: block;
	font-weight: normal;
	font-style: normal;
	font-size: 13px;
	line-height: 13px;
}
orderblkf {
	position: relative;
	display: block;
	background-color: #f4f4f4;
	border-radius: 5px;
	overflow: hidden;
	padding: 10px;
	margin-top: 10px;
}

ordcalc {
	position: relative;
	display: block;
	font-size: 0px;
	line-height: 0px;
	text-align: center;
	background-color: #048fcb;
	border-radius: 3px;
	color: #ffffff;
	margin-top: 20px;
	height: 100px;
}
ordcalc ordp {
	position: absolute;
	display: block;
	font-size: 45px;
	line-height: 45px;
	font-weight: 400;
	right: 20px;
	top: 30px;
}

ordcalc ordp[discount]::before {
	position: absolute;
	display: block;
	content: attr(discount);
	top: -20px;
	font-size: 20px;
	line-height: 20px;
	font-weight: 700;
	text-decoration: line-through;
	right: 3px;
	color: #2c2c2c;
}
ordcalc ordp:first-letter {
	font-weight: 600;
	font-size: 30px;
	margin-right: 2px;
}

ordq {
	position: absolute;
	display: block;
	top: 53px;
	transform: translateY(-50%);
	left: 10px;
	width: 110px;
}
ordq::before {
	position: absolute;
	display: block;
	content: "QUANTITY";
	font-size: 10px;
	line-height: 10px;
	font-weight: 700;
	width: 100%;
	text-align: center;
	top: -30px;
	color: #ffffff;
}
ordq input {
	position: absolute;
	display: block;
	width: 65px;
	text-align: center;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	padding: 2px 5px;
	font-size: 25px;
	line-height: 25px;
	border: none;
	background: none #d8dde0;
	color: #05304d;
	font-weight: bold;
}
ordqsub, ordqadd {
	position: absolute;
	display: block;
	top: 50%;
	width: 30px;
	height: 30px;
	transform: translateY(-50%);
	z-index: 10;
	background-color: #05304d;
	border-radius: 30px;
	cursor: pointer;
	color: #ffffff;
}
ordqsub:hover, ordqadd:hover {
	background-color: #cee2ef;
	color: #05304d;
}
ordqsub {
	left: 0px;
}
ordqadd {
	right: 0px;
}
ordqsub::after, ordqadd::after {
	position: absolute;
	display: block;
	content: "";
	font-weight: bold;
	line-height: 29px;
	width: 30px;
	text-align: center;
	font-weight: 700;
	font-size: 27px;
}
ordqsub::after {
	content: "-";
}
ordqadd::after {
	content: "+";
}

ordbranch,
deliveryto {
	position: relative;
	display: block;
	margin-top: 10px;
	padding: 10px 15px;
	background-color: #687785;
	color: #fff;
	font-size: 14px;
	line-height: 15px;
	cursor: pointer;
}
ordbranch:hover {
	background-color: #384958;
}
ordbranch::before,
deliveryto::before {
	position: relative;
	display: block;
	content: "Selected branch";
	margin-bottom: 10px;
	border-bottom: 1px solid #aaa;
}
deliveryto::before {
	content: "Delivery address";
}
ordbranch a {
	color: #def5ff;
}

collpart ordbranch,
collpart deliveryto {
	margin-top: 10px;
	border-radius: 10px;
	background: none;
	color: #000;
	padding-top: 40px;
	padding-left: 10px;
	padding-bottom: 30px;
	margin-left: -10px;
	margin-right: -10px;
}
collpart ordbranch:hover,
collpart deliveryto:hover {
	background-color: #f1f5f7;
}
collpart ordbranch::after,
collpart deliveryto::after {
	position: absolute;
	display: block;
	content: "Change branch";
	right: 10px;
	bottom: 10px;
	font-size: 13px;
	color: #049de0;
	font-weight: bold;
	text-decoration: underline;
}
collpart deliveryto::after {
	content: "Change address";
}
collpart ordbranch::before,
collpart deliveryto::before {
	position: absolute;
	left: 10px;
	top: 5px;
	color: #fd0eca;
	width: calc(100% - 20px);
	border-bottom: 1px dotted #e6b0da;
	font-size: 20px;
	line-height: 28px;
	font-weight: 700;
}
collpart i sup {
	font-size: 16px;
	font-weight: 600;
	vertical-align: 17px;
}
ordbranch[nolink] {
	pointer-events: none;
}
ordbranch[nolink]::after {
	display: none;
}
ordbranch[nolink] a {
	color: #09597c;
}

ordna {
	position: relative;
	display: block;
	font-size: 14px;
	line-height: 16px;
	text-align: center;
	margin-top: 10px;
	padding: 15px;
	background-color: #fbd2e9;
	font-weight: bold;
}
addtobasket {
	position: relative;
	display: block;
	background-color: #e4007e;
	margin-top: 10px;
	color: #ffffff;
	font-size: 20px;
	line-height: 60px;
	text-align: center;
	cursor: pointer;
	font-weight: bold;
}
addtobasket:hover {
	background-color: #9c0c5c;
}

oopts input {
	position: relative;
	display: block;
	padding: 5px 10px;
	width: 100%;
	font-size: 29px;
	border-radius: 5px;
	height: 50px;
	border: 1px solid #aaa;
	text-align: center;
}
orderblkf button {
	position: absolute;
	display: block;
	width: 60%;
	background-color: #e2017d;
	height: 50px;
	color: #ffffff;
	padding: 15px 0px;
	border-radius: 5px;
	cursor: pointer;
	transition: background-color 0.5s;
	right: 10px;
	bottom: 10px;
	font-weight: 700;
}
orderblkf button:hover {
	background-color: #9a0098;
}
orderblkf button[disabled] {
	pointer-events: none;
	background-color: #555;
}
cookiepolicy {
	position: fixed;
	display: block;
	left: 50%;
	bottom: 0px;
	transform: translateX(-50%);
	background-color: #333;
	padding: 50px;
	box-shadow: 0 0 50px #000000;
	color: #eee;
	width: 700px;
}
cookiepolicy h3 {
	position: relative;
	display: block;
	font-size: 30px;
	line-height: 30px;
	color: #fe08ce;
	margin-bottom: 20px;
}
cookiepolicy p {
	position: relative;
	display: block;
	margin-top: 10px;
}
cookiepolicy p a {
	color: #02a9ec;
	transition: color 0.5s;
	cursor: pointer;
}
cookiepolicy p a:hover {
	color: #fd0acd;
}
cookiepolicy button {
	position: relative;
	display: block;
	margin-top: 50px;
	padding: 10px 30px;
	text-transform: uppercase;
	font-weight: bold;
	background-color: #009cdf;
	color: #fff;
	cursor: pointer;
	transition: background-color 0.5s, color 0.5s;
}
cookiepolicy button:hover {
	background-color: #fd0acd;
	color: #333;
}
marticle page {
	background-image: url(/img/ptext.jpg);
	padding: 40px 50px 50px;
	box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
	font-size: 18px;
	line-height: 22px;
}
marticle page>img {
	position: relative;
	display: block;
	margin: auto;
	width: 100%;
	border: 30px solid #eee;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
	transform: rotate(-2deg);
	margin-bottom: 50px;
	max-width: 1200px;
}
marticle h1 {
	font-size: 60px;
	line-height: 65px;
	color: #fe08ce;
	font-weight: 300;
	text-align: center;
	border-bottom: 1px solid #fe08ce;
	margin-bottom: 20px;
}
marticle h2 {
	font-size: 30px;
	line-height: 33px;
	color: #02a9ec;
	margin-top: 20px;
}
marticle h3 {
	font-size: 21px;
	line-height: 24px;
	color: #fe08ce;
	margin-top: 20px;
}
marticle p {
	margin: 10px 0px;
}
marticle page p b {
	font-weight: 800;
}
marticle ol {
	margin-top: 10px;
	margin-left: 25px;
	list-style: none;
}
marticle li {
	margin-top: 5px;
}
marticle ol li {
 counter-increment: cntr;	
}
marticle ol li::before {
	position: absolute;
	left: 50px;
	text-align: left;
	content: counter(cntr);
	font-size: 15px;
	font-weight: 800;
	width: 12px;
	line-height: 21px;
	color: #49aee5;
}
srchbar[map] {
	background-image: none;
	height: 180px;
}
srchbar[map]::after {
	position: absolute;
	display: block;
	content: "";
	left: 0px;
	width: 100%;
	height: 50px;
	background: url(/img/rip3.png) center top repeat-x;
	background-size: 700px;
	top: 180px;
	z-index: 10;
}
div#map {
	margin-top: 10px;
	position: relative;
	display: block;
	width: 100%;
	height: 600px;
	background-color: #eee;
}
branchlist {
	position: relative;
	display: block;
	margin-top: -5px;
	background-color: #fff;
	text-align: center;
	font-size: 0;
	line-height: 0;
	padding-bottom: 10px;
}
branchlist::before {
	position: absolute;
	display: block;
	content: "";
	left: 0px;
	width: 100%;
	height: 35px;
	background: url(/img/rip2.png) center top repeat-x;
	background-size: 500px;
	top: -35px;
}
branchlist h2, h3 {
	position: relative;
	display: block;
	text-align: center;
	padding-top: 10px;
	color: #fe0dcb;
	font-size: 40px;
	line-height: 40px;
	border-bottom: 1px dotted #e6b0da;
	margin-bottom: 10px;
}
branchlist h3  {
	font-size: 25px;
	line-height: 39px;
	color: #555;
	border-bottom: 1px dotted #ccc;
}
div.mapboxgl-ctrl.mapboxgl-ctrl-attrib {
	margin-bottom: 30px;
	margin-right: 10px;
	border-radius: 3px;
	background-color: rgba(255, 255, 255, 0.7);
}
div.mapboxgl-ctrl.mapboxgl-ctrl-attrib a {
	font: bold 11px "Helvetica Neue", Arial, Helvetica, Geneva, sans-serif;
	color: #5f5f5f;
}
brsmllist {
	position: absolute;
	display: block;
	z-index: 9;
	left: 40px;
	top: 250px;
	background-color: #fff;
	box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.32);
}
brsmllist:empty {
	display: none;
}
smlbranch {
	position: relative;
	display: block;
	padding: 15px;
	cursor: pointer;
	background-color: #fff;
	transition: background-color 0.5s;
}
selbrl {
	position: absolute;
	display: block;
	left: 9px;
	bottom: 27px;
}
selbrl::after {
	position: absolute;
	display: block;
	content: "\2665";
	font-size: 20px;
	line-height: 20px;
	color: #fd0eca;
	font-weight: 700;
}
smlbranch:hover {
	background-color: #cfebf8;
}
smlbranch:not(:last-child) {
	border-bottom: 1px solid #aaa;
}
smlbranch brname {
	position: relative;
	display: block;
	color: #e5007e;
	font-weight: 600;
	font-size: 16px;
	line-height: 16px;
}
smlbranch braddr {
	position: relative;
	display: block;
	font-size: 13px;
	line-height: 14px;
	max-width: 250px;
	margin-top: 5px;
}
smlbranch brphone {
	margin-top: 5px;
	position: relative;
	display: block;
	font-weight: 700;
	color: #049de1;
}
smlbranch brdist {
	position: absolute;
	display: block;
	right: 0px;
	bottom: 10px;
	font-weight: 700;
	font-size: 12px;
	line-height: 12px;
	color: #ffffff;
	background-color: #aaa;
	padding: 3px 7px 3px 8px;
	border-radius: 9px 0 0 9px;
}
a.allbrnch {
	position: relative;
	display: inline-block;
	width: 225px;
	height: 200px;
	background-color: #eee;
	margin: 5px;
	cursor: pointer;
	transition: background-color 0.5s, color 0.5s;
	color: #049de1;
}
a.allbrnch:hover {
	background-color: #fd0ecb;
	color: #fff;
}
a.allbrnch brdist {
	position: absolute;
	right: 0px;
	top: 0px;
	background-color: #333;
	padding: 3px 5px 3px 10px;
	font-size: 10px;
	font-weight: 700;
	border-radius: 10px 0 0 10px;
	line-height: 11px;
	color: #fff;
}
allbimg {
	position: absolute;
	display: block;
	width: calc(100% - 20px);
	left: 10px;
	top: 10px;
	height: 155px;
	background: url(/img/noimage_branch.jpg) center center no-repeat;
	background-size: cover;
}
allname {
	position: absolute;
	display: block;
	text-align: center;
	font-size: 16px;
	line-height: 16px;
	font-weight: 700;
	left: 0px;
	width: 100%;
	bottom: 10px;
}
mapbr {
	font-size: 13px;
	border: 1px solid #aaa;
	padding: 2px 5px 2px 30px;
	border-radius: 5px;
	font-weight: bold;
	line-height: 19px;
	background-color: #fff;
	height: 25px;
}
mapbr::before {
	position: absolute;
	display: block;
	content: "";
	bottom: -5px;
	left: 8px;
	width: 10px;
	height: 10px;
	background-color: #fff;
	transform: rotateZ(45deg);
	border: 1px solid #aaa;
}
mapbr::after {
	position: absolute;
	display: block;
	width: 28px;
	height: 23px;
	content: "";
	background: url(/img/icon.png) center center no-repeat #fff;
	background-size: 19px;
	left: 0px;
	top: 0px;
	border-radius: 5px;
}
mapbr[selected] {
	background-color: #fe00cb;
	color: #fff;
}
mapbr[selected]::after, mapbr[selected]::before {
	background-color: #fe00cb;	
}
mappin {
	width: 60px;
	height: 60px;
	background: url(/img/mappin.png) center center no-repeat;
	background-size: contain;
	margin-left: -28px;
	margin-top: 4px;
}
brsmllist[openingtimes] {
	width: 380px;
	padding: 20px;
}
brsmllist[openingtimes] h4 {
	position: relative;
	display: block;
	color: #fe00cb;
	font-size: 30px;
	line-height: 50px;
}
brsmllist[openingtimes] h4::after {
	position: absolute;
	display: block;
	content: attr(nowopen);
	right: -20px;
	top: 14px;
	color: #fd01ca;
	font-size: 12px;
	line-height: 13px;
	background-color: #333;
	padding: 5px 17px 5px 10px;
	font-weight: 700;
	border-radius: 10px 0 0 10px;
	text-transform: uppercase;
}
table.openingtimes {
	position: relative;
	width: 100%;
	border-spacing: 0px;
    border-collapse: separate;
	font-size: 20px;
	line-height: 27px;
	font-weight: 600;
}
table.openingtimes td:nth-child(n+2) {
	font-weight: 400;
	font-size: 18px;
	text-align: right;
	width: 40px;
}
table.openingtimes tr[today] td {
	color: #02a9ec;	
}
table.openingtimes td:nth-child(3) {
	text-align: center;
}

srchbar[map] p {
	position: relative;
	display: block;
	text-align: center;
	color: #fff;
	font-size: 20px;
	line-height: 24px;
}
srchbar[map] p a.binfophone {
	position: relative;
	display: inline-block;
	font-size: 20px;
	line-height: 24px;
	font-weight: 600;
	color: #eee902;
	text-decoration: none;
	transition: color 0.5s;
	cursor: pointer;
}
srchbar[map] p a.binfophone:hover {
	color: #fd01ca;
}

usethisbranch, selectedbranch {
	position: absolute;
	display: block;
	left: 50%;
	transform: translateX(-50%);
	background-color: #fd01ca;
	border-radius: 10px;
	padding: 10px 20px;
	top: 170px;
	z-index: 99;
	color: #fff;
	font-weight: 700;
	font-size: 23px;
	line-height: 30px;
	box-shadow: 0 0 15px rgba(0, 41, 114, 0.53);
	cursor: pointer;
	transition: background-color 0.5s, color 0.5s;
}
usethisbranch:hover {
	background-color: #eee902;
	color: #333;
}
selectedbranch {
	background-color: #057cb1;
}
cform {
	position: relative;
	display: flex;
	flex-wrap: wrap;
}
cform[disabled] {
	opacity: 0.4;
	pointer-events: none;
	filter: grayscale(100%);
}
cform[disabled][caption]::after {
	position: absolute;
	display: block;
	left: 50%;
	top: 50%;
	content: attr(caption);
	font-size: 20px;
	line-height: 20px;
	color: #ffffff;
	background-color: #000;
	transform: translate(-50%, -50%);
	border-radius: 10px;
	padding: 10px 20px;
	box-shadow: 0 0 10px #000000;
}
inpitem {
	position: relative;
	display: block;
	flex: 1;
	margin: 5px;
}
inpitem input, inpitem textarea {
	position: relative;
	display: block;
	width: 100%;
	font-size: 17px;
	line-height: 20px;
	border: 1px solid #ccc;
	padding: 10px;
	background-color: #eee;
	border-radius: 3px;
	transition: border-color 0.5s, background-color 0.5s;
}
inpitem input:focus, inpitem textarea:focus {
	background-color: #ffecfa;
	border-color: #fd01ca;
}
inpitem textarea {
	resize: none;
	min-height: 150px;
}
inpitem[caption] {
	margin-top: 25px;	
}
inpitem[caption]::before {
	position: absolute;
	display: block;
	content: attr(caption);
	font-size: 13px;
	line-height: 13px;
	top: -15px;
	font-weight: 700;
	color: #444;
}
buttonline {
	position: relative;
	display: block;
	width: 100%;
	text-align: right;
	margin-top: 10px;
}
buttonline button {
	position: relative;
	display: inline-block;
	background-color: #e2017d;
	color: #ffffff;
	padding: 15px 25px;
	border-radius: 5px;
	cursor: pointer;
	transition: background-color 0.5s;
	font-weight: 700;
	margin: 5px;
}
buttonline button:hover {
	background-color: #9a0098;
}
modals {
	position: fixed;
	display: block;
	left: 0px;
	top: 0px;
	bottom: 0px;
	right: 0px;
	z-index: 99999;
	background-color: rgba(0, 0, 0, 0.7);
	opacity: 1;
	transition: opacity 0.5s;
}
modals:empty {
	opacity: 0;
	z-index: -1;
	pointer-events: none;
}
modal {
	position: absolute;
	display: flex;
	min-width: 450px;
	max-width: 1200px;
	max-height: 80vh;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	background-color: #eee;
	padding: 20px;
	box-shadow: 0 0 40px rgba(0, 0, 0, 0.7);
	flex-direction: column;
}
modal:nth-of-type(2) {
	width: 85%;
}
modal:nth-of-type(3) {
	width: 90%;
}
modal:nth-of-type(4) {
	width: 95%;
}
modal:not(:last-of-type) {
	pointer-events: none;
	filter: brightness(0.3);
}
modal[caption]::before {
	position: relative;
	display: block;
	flex: 0 0;
	content: attr(caption);
	color: #eb4394;
	font-size: 20px;
	border-bottom: 1px solid #eb4394;
	line-height: 23px;
	padding-bottom: 5px;
	margin-bottom: 5px;
}
modal mbody {
	position: relative;
	display: block;
	overflow-x: hidden;
	overflow-y: auto;
}
modal[noscroll] mbody {
	overflow: visible;
}
modal mbody p {
	font-size: 15px;
	line-height: 19px;
}
modal mbody p:not(:first-child) {
	margin-top: 10px;
}
mbuttons {
	position: relative;
	display: block;
	width: 100%;
	flex: 0 0 40px;
	text-align: right;
	margin-top: 15px;
	padding-top: 5px;
	font-size: 0;
	line-height: 0;
}
mbuttons mbtn {
	position: relative;
	display: inline-block;
	font-size: 14px;
	line-height: 14px;
	padding: 13px 20px;
	background-color: #555;
	color: #fff;
	margin-left: 5px;
	font-weight: bold;
	text-transform: uppercase;
	border-radius: 5px;
	cursor: pointer;
}
mbuttons mbtn:hover {
	filter: brightness(50%);
	filter: contrast(3);
}
mbuttons mbtn[success] {
	background-color: #04980f;
}
mbuttons mbtn[danger] {
	background-color: #be0909;
}
mbuttons mbtn[disabled] {
	opacity: 0.2;
	filter: brightness(0.6);	
}
mclose {
	position: absolute;
	display: block;
	font: 17px/35px "cs22";
	right: 10px;
	top: 10px;
	width: 35px;
	height: 35px;
	text-align: center;
	color: #000;
	opacity: 0.5;
}
modal[error] {
	background-color: #e30000;
}
modal[error][caption]::before {
	color: #fff;
	border-bottom: 1px solid #000;
}
modal[error] mbody {
	color: #eee;
}
orderpart {
	position: relative;
	display: inline-block;
	width: calc(100% - 300px);
	vertical-align: text-top;
}
orderpart h3, collpart h3 {
	text-align: left;
	font-size: 21px;
	line-height: 29px;
	margin-top: 20px;
}
collpart {
	position: relative;
	display: inline-block;
	width: 280px;
	vertical-align: text-top;
	margin-left: 20px;
	margin-bottom: 10px;
}
table.basket {
	width: 100%;
}
table.basket td {
	padding: 10px;
}
table.basket td sup {
	position: relative;
	display: inline-block;
	font-size: 10px;
	line-height: 10px;
	font-weight: 800;
	margin-left: 1px;
	vertical-align: 5px;
}
table.basket td:nth-child(3) {
	text-align: right;
}
table.basket td:nth-child(2) {
	text-align: center;
}
table.basket thead td {
	background-color: #eee;
	border-bottom: 2px solid #333;
	padding: 15px 10px;
	font-weight: 700;
}
table.basket tbody td {
	position: relative;
	border-bottom: 1px solid #ddd;
	vertical-align: top;
}
table.basket tbody td b {
	position: absolute;
	left: -115px;
	font-weight: 800;
	margin-right: 5px;
}
table.basket tbody td i {
	font-weight: normal;
	font-style: normal;
	color: #049de0;
}
table.basket bimage {
	position: absolute;
	display: block;
	top: 10px;
	left: 0px;
	width: 70px;
	height: 70px;
	background-size: contain;
	background-position: center center;
	background-repeat: no-repeat;
}
table.basket bitem {
	position: relative;
	display: block;
	margin-left: 80px;
}
table.basket bitem bname {
	position: relative;
	display: block;
	color: #fc0fc9;
	font-size: 27px;
	line-height: 30px;
	margin-bottom: 5px;
}
table.basket bitem biline {
	position: relative;
	display: block;
	margin-left: 115px;
}
table.basket td bskedit, table.basket td bskdel {
	position: absolute;
	width: 30px;
	height: 30px;
	right: 35px;
	bottom: 5px;
	background-color: #eee;
	cursor: pointer;
}
table.basket td bskedit::after, table.basket td bskdel::after {
	position: absolute;
	display: block;
	content: "\270E";
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
}
table.basket td bskdel {
	right: 0px;
}
table.basket td bskdel::after {
	content: "×";
}
table.basket td bskedit:hover {
	color: #fff;
	background-color: #02a9eb;
}
table.basket td bskdel:hover {
	color: #fff;
	background-color: #c00202;
}
table.basket tr.baskettotal td {
	background-color: #555555;
	color: #ffffff;
	font-weight: 700;
}

oldprice {
	position: relative;
	display: block;
	font-size: 12px;
	line-height: 11px;
	font-weight: 700;
	text-decoration: line-through;
	color: #888;
}
uplimg {
	position: relative;
	display: inline-block;
	width: 70px;
	height: 70px;
	background-color: #aaa;
	background-position: center center;
	background-size: contain;
	margin-left: 20px;
	background-repeat: no-repeat;
}
uplimg[noimage] {
	cursor: pointer;
	transition: background-color 0.5s;	
}
uplimg[noimage]:hover {
	background-color: #fd0ecb;
}
uplimg[noimage]::after {
	position: absolute;
	display: block;
	content: "Upload photo";
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	text-align: center;
	font-weight: 700;
	color: #fff;
	font-size: 13px;
	line-height: 14px;
}
qchange {
	position: relative;
	display: inline-block;
	width: 30px;
	height: 30px;
	border-radius: 30px;
	background-color: #eee;
	vertical-align: 0px;
	margin: 7px;
	font-size: 20px;
	line-height: 26px;
	text-align: center;
	cursor: pointer;
	transition: background-color 0.5s, color 0.5s;
}
qchange:hover {
	background-color: #e5007e;
	color: #fff;
}
collpart a.inlink {
	position: absolute;
	display: block;
	text-decoration: underline;
	right: 0px;
	font-weight: 700;
	font-size: 13px;
	line-height: 15px;
	color: #02a9ec;
	cursor: pointer;
	transition: color 0.5s;
	margin-top: 5px;
}
collpart a.inlink:hover {
	color: #e5007e;
}
alrginf {
	position: relative;
	display: block;
	margin-top: 10px;
	padding: 10px 15px;
	background-color: #ffe4f2;
	border-radius: 5px;
	color: #a00058;
	font-size: 12px;
	line-height: 15px;
	margin-bottom: 10px;
}
alrginf b {
	position: relative;
	display: block;
	font-size: 15px;
	line-height: 15px;
	margin-bottom: 5px;
}
showcal {
	position: relative;
	display: block;
	width: 100%;
	text-align: center;
	background-color: #009ee1;
	border-radius: 10px;
	color: #fff;
	padding: 5px;
	font-weight: 700;
	font-size: 25px;
	line-height: 40px;
	transition: background-color 0.5s;
	cursor: pointer;	
}
showcal:hover {
	background-color: #e4007e;
}
showcal b {
	position: relative;
	display: block;
	font-size: 70px;
	line-height: 56px;
	font-weight: 400;
	background-color: rgba(0, 0, 0, 0.21);
	width: 150px;
	margin: auto;
	border-radius: 5px;
	padding-bottom: 10px;
}
showcal b sup {
	font-size: 34px;
	font-weight: 800;
}
showcal i {
	font-weight: normal;
	font-style: normal;
	position: relative;
	display: block;
	font-size: 40px;
	line-height: 55px;
	font-weight: 300;
}
showcal[nolink] {
	pointer-events: none;
}

pbutton {
	position: relative;
	display: block;
	width: 100%;
	text-align: center;
	margin-top: 50px;
	background-color: #e5007e;
	color: #fff;
	font-weight: 700;
	font-size: 20px;
	line-height: 60px;
	border-radius: 5px;
	cursor: pointer;
	transition: background-color 0.5s, color 0.5s;
}
pbutton:hover {
	background-color: #049de0;
	color: #000;
}
emptyb {
	position: relative;
	display: block;
	text-align: center;
	padding: 100px;
}
calendar {
	position: relative;
	display: inline-block;
	width: 259px;
	font-size: 0;
	line-height: 0;
	vertical-align: top;
}
calendar[caption]::before, timesel[caption]::before {
	position: relative;
	display: block;
	content: attr(caption);
	font-size: 20px;
	line-height: 20px;
	text-align: center;
	margin-bottom: 10px;
}
cday {
	position: relative;
	display: inline-block;
	width: 35px;
	height: 35px;
	font-size: 16px;
	text-align: center;
	background-color: #ddd;
	vertical-align: top;
	margin: 1px;
	line-height: 34px;
	cursor: pointer;
	transition: background-color 0.5s;
	border: 1px solid #bbb;
}
cday:nth-child(-n+7) {
	background-color: #888;
	font-weight: 800;
	font-size: 12px;
	height: 25px;
	line-height: 23px;
	color: #fff;
	pointer-events: none;
	cursor: default;
	border-color: #888;
}
cday:empty {
	pointer-events: none;
	cursor: default;
	background-color: #eee;	
	border-color: #eee;
}
cday[cna] {
	pointer-events: none;
	cursor: default;
	color: #bcbcbc;
	background-color: #e9e9e9;	
	border-color: #ddd;
}
cday[today] {
	color: #02a9ec;
	font-weight: 800;
}
cday:hover {
	background-color: #72c0ec;
}
cday[selected] {
	background-color: #fa239a;
	color: #fff;
	border-color: #e2017d;
}
cday[today][selected] {
	color: #85e8fd;
}
cmntprev, cmntnext {
	position: absolute;
	top: 0px;
	width: 25px;
	height: 25px;
	background-color: #eee;
	cursor: pointer;
}
cmntprev::before {
	position: absolute;
	display: block;
	content: "";
	width: 0;
	height: 0;
	left: 8px;
	top: 5px;
	border-top: 7px solid transparent;
	border-right: 10px solid #555;
	border-bottom: 7px solid transparent;
}
cmntnext::before {
	position: absolute;
	display: block;
	content: "";
	width: 0;
	height: 0;
	left: 8px;
	top: 5px;
	border-top: 7px solid transparent;
	border-left: 10px solid #555;
	border-bottom: 7px solid transparent;
}
cmntprev {
	left: 0px;
}
cmntnext {
	right: 0px;
}
cmntprev:hover::before {
	border-right: 10px solid #e2017d;	
}
cmntnext:hover::before {
	border-left: 10px solid #e2017d;	
}
timesel {
	position: relative;
	display: inline-block;
	width: 100px;
	font-size: 0;
	line-height: 0;
	vertical-align: top;	
	margin-left: 40px;
	height: 280px;
	overflow: hidden;
}
tmsup, tmsdown {
	position: absolute;
	display: block;
	width: 101px;
	background-color: #ddd;
	height: 30px;
	cursor: pointer;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.7);
}
tmsup:active, tmsdown:active {
	background-color: #c5dded;
}
tmsup {
	top: 0px;
}
tmsdown {
	bottom: 0px;
}
tmsup::before {
	position: absolute;
	display: block;
	content: "";
	width: 0;
	height: 0;
	left: 50%;
	top: 9px;
	transform: translateX(-50%);
	border-left: 7px solid transparent;
	border-right: 7px solid transparent;
	border-bottom: 10px solid #555;
}
tmsdown::before {
	position: absolute;
	display: block;
	content: "";
	width: 0;
	height: 0;
	left: 50%;
	top: 9px;
	transform: translateX(-50%);
	border-left: 7px solid transparent;
	border-right: 7px solid transparent;
	border-top: 10px solid #555;
}
tmsup:hover::before {
	border-bottom: 10px solid #e2017d;
}
tmsdown:hover::before {
	border-top: 10px solid #e2017d;
}
avtimes {
	position: absolute;
	display: block;
	width: 100%;
	top: 30px;
}
timesel::after {
	position: absolute;
	display: block;
	left: 0;
	top: 30px;
	right: 0px;
	bottom: 30px;
	content: "";
	background-image: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0) 40%, rgba(0, 0, 0, 0) 60%, rgba(0, 0, 0, 0.2) 100%);
	background-image: -moz-linear-gradient(top, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0) 40%, rgba(0, 0, 0, 0) 60%, rgba(0, 0, 0, 0.2) 100%);
	background-image: -ms-linear-gradient(top, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0) 40%, rgba(0, 0, 0, 0) 60%, rgba(0, 0, 0, 0.2) 100%);
	background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0) 40%, rgba(0, 0, 0, 0) 60%, rgba(0, 0, 0, 0.2) 100%);
	pointer-events: none;
}
atv {
	position: relative;
	display: block;
	width: 100%;
	height: 30px;
	text-align: center;
	font-size: 17px;
	border-bottom: 1px solid #bbb;
	line-height: 29px;
	background-color: #e7e7e7;
	cursor: pointer;
	transition: background-color 0.5s;
}
atv:hover {
	background-color: #72c0ec;	
}
atv[tna] {
	pointer-events: none;
	cursor: default;
	color: #bcbcbc;
	background-color: #e9e9e9;	
}
atv[selected] {
	background-color: #e2017d;
	color: #fff;
}
chkuserp {
	position: relative;
	display: flex;
	flex: 1;
	margin: 20px;
	flex-wrap: wrap;
	align-content: flex-start;
	padding-bottom: 50px;
	padding-top: 20px;
}
chkuserp:not(:last-child)::before {
	position: absolute;
	display: block;
	right: -21px;
	top: 20px;
	bottom: 0px;
	border-right: 1px solid #aaa;
	content: "";
}
chkuserp h3 {
	position: relative;
	display: block;
	height: 50px;
	font-size: 25px;
	line-height: 40px;
	flex: 1;
	flex-basis: 100%;
}
chkuserp p  {
	position: relative;
	display: flex;
	font-size: 15px;
	line-height: 19px;
	flex: 1;
	flex-basis: 100%;
	margin-bottom: 10px;
}
chkuserp.loginw {
	width: 300px;
	left: calc(50% - 170px);
	height: 240px;
}
inpline {
	position: relative;
	display: block;
	flex: 1;
	margin-top: 5px;
}
inpline[full] {
	flex-basis: 100%;
}
inpline[caption] {
	margin-top: 25px;
}
inpline[caption]::before {
	position: absolute;
	display: block;
	content: attr(caption);
	font-size: 14px;
	top: -17px;
	font-weight: 700;
	line-height: 14px;
	color: #02a9ec;
}
inpline[dropdown]::after {
	position: absolute;
	display: block;
	content: "\25BC";
	right: 8px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 10px;
	line-height: 10px;
	pointer-events: none;
}
inpline input, inpline select {
	position: relative;
	display: block;
	width: 100%;
	height: 40px;
	border: 1px solid #aaa;
	background-color: #eee;
	font-size: 22px;
	line-height: 23px;
	color: #000000;
	padding: 8px;
	border-radius: 2px;
	transition: border-color 0.5s, background-color 0.5s;
	-webkit-appearance: none;
}
inpline select {
	cursor: pointer;
}
inpline input:hover, inpline select:hover {
	border-color: #02a9ec;
}
inpline input:focus, inpline select:active {
	border-color: #fe00cb;
	background-color: #fafafa;
}
inpline input[error] {
	background-color: #f8e0e0;
	border-color: #bd0101;
}
inpchk {
	position: relative;
	display: block;
	margin-top: 20px;
	margin-left: 30px;
	cursor: pointer;
	border-bottom: 1px solid rgba(1, 168, 236, 0);
	transition: border-color 0.5s;
}
inpchk::before {
	position: absolute;
	display: block;
	width: 20px;
	height: 20px;
	border: 1px solid #aaa;
	content: "\2714";
	left: -30px;
	top: -3px;
	border-radius: 3px;
	transform: border-color 0.5s;
	text-align: center;
	font-weight: bold;
	font-size: 20px;
	line-height: 20px;
	color: #ddd;
}
inpchk:hover {
	border-color: #02a9ec;
}
inpchk:hover::before  {
	border-color: #02a9ec;	
}
inpchk[selected]::before {
	color: #009afe;
}
lbttonline {
	position: absolute;
	display: block;
	text-align: right;
	margin-top: 50px;
	bottom: 0px;
	width: 100%;
}
lbutton {
	position: relative;
	display: inline-block;
	background-color: #02a9ec;
	color: #fff;
	padding: 8px 20px;
	font-weight: 700;
	cursor: pointer;
	transition: background-color 0.5s;
	vertical-align: text-bottom;
	height: 36px;
	margin-left: 5px;
}
lbutton[redb] {
	background-color: #d21111;
}
lbutton:hover {
	background-color: #e5007e;
}
lbutton[redb]:hover {
	background-color: #8a0808;
}
lbutton[disabled] {
	pointer-events: none;
	opacity: 0.5;
	filter: grayscale(0.8);
}
lbutton#lwg {
	padding: 0;
	background: none;
	margin-right: 5px;
}
a.lblink {
	position: relative;
	display: block;
	font-size: 13px;
	line-height: 15px;
	font-weight: bold;
	text-decoration: underline;
	color: #07a8eb;
	cursor: pointer;
	transition: color 0.5s;
	margin-bottom: 10px;
}
a.lblink:hover {
	color: #e5007e;
}
#psf {
	position: relative;
	display: block;
	width: 450px;
	height: 95px;
	background-size: 471px;
}
#psf iframe {
	position: relative;
	display: block;
	width: 450px;
	height: 95px;
}
billing {
	position: relative;
	display: block;
	width: 450px;
}
billing input {
	position: relative;
	display: block;
	width: 450px;
	border-radius: 5px;
	font-size: 15px;
	padding: 9px 10px;
	border: 1px solid #bbb;
	margin: 10px 0;
}
billing input#ca_city {
	width: 340px;
	border-radius: 5px 0 0 5px;
	border-right: none;
}
billing input#ca_postcode {
	position: absolute;
	right: 0px;
	top: 39px;
	width: 110px;
	border-radius: 0 5px 5px 0;
	border-left: non;
	text-transform: uppercase;
}
billing::after {
	position: relative;
	display: block;
	width: calc(100% + 2px);
	margin-left: -1px;
	margin-bottom: -20px;
	height: 50px;
	content: "";
	background: url(/img/PaymentSense_Extended_535x50.png) center top no-repeat;
	background-size: contain;
}
iframe.threeDs {
	position: fixed;
	display: block;
	left: 50%;
	top: 50%;
	width: 370px;
	height: 370px;
	transform: translate(-50%, -50%);
	z-index: 99999;
}
psamount {
	position: absolute;
	display: block;
	left: 40px;
	bottom: 52px;
	font-size: 40px;
	font-weight: 600;
}
paybusy {
	position: absolute;
	display: none;
	content: "";
	left: 0px;
	top: 0px;
	bottom: 0px;
	right: 0px;
	background-color: rgba(0, 0, 0, 0.5);
	z-index: 99;
}
paybusy[busy] {
	display: block;
}
orderpstat {
	position: absolute;
	display: block;
	left: 50%;
	transform: translateX(-50%);
	background-color: #8cc63f;
	padding: 10px 30px;
	color: #ffffff;
	font-weight: 700;
	text-transform: uppercase;
	font-size: 20px;
	line-height: 20px;
	border-radius: 20px;
}
orderpstat[orred] {
	background-color: #e40000;
}
statuslights {
	position: relative;
	display: block;
	margin-top: 20px;
}
bbtn {
	position: relative;
	display: block;
	padding: 15px 15px 15px 50px;
	background-color: #ecf5f9;
	margin-bottom: 5px;
	border-radius: 5px;
	color: #777;
}
bbtn[icon]::before {
	position: absolute;
	display: block;
	left: 10px;
	top: 50%;
	width: 30px;
	transform: translateY(-50%);
	font: 24px ecs;
	content: attr(icon);
	text-align: center;
	color: #999;
}
bbtn[done]:nth-of-type(1) {
	background-color: #177fad;
	color: #fff;
}
bbtn[done]:nth-of-type(2) {
	background-color: #17a6ad;
	color: #fff;
}
bbtn[done]:nth-of-type(3) {
	background-color: #17ad93;
	color: #fff;
}
bbtn[done]:nth-of-type(4) {
	background-color: #17ad65;
	color: #fff;
}
bbtn[done]:nth-of-type(5) {
	background-color: #18ad1e;
	color: #fff;
}
bbtn[done]::before {
	color: #cbff13;
}
statuslights[admin] bbtn:not([done]) {
	cursor: pointer;
	transition: background-color 0.5s, color 0.5s;
}
statuslights[admin] bbtn:not([done]):hover {
	background-color: #fa11ca;
	color: #fff;
}
statuslights[admin] bbtn[icon]:not([done]):hover::before {
	color: #fff;
}
balloonm {
	position: absolute;
	width: 200px;
	height: 110px;
	background: url(/img/balloon1.png) center center no-repeat;
	background-size: contain;
	left: calc(74% - 100px);
	top: -4px;
	pointer-events: none;
}
balloonm::after {
	position: absolute;
	display: block;
	left: 0px;
	right: 0px;
	top: 0px;
	bottom: 0px;
	content: "";
	background: url(/img/balloon2.png) center center no-repeat;
	background-size: contain;
	animation: ballooncc 5s infinite;
}
@keyframes ballooncc {
    0% { opacity: 0; }
    50% { opacity: 1; }
    100% { opacity: 0; }
}
bmessage {
	position: absolute;
	display: block;
	left: 0px;
	right: 0px;
	top: 35px;
	bottom: 0px;
	text-align: center;
	z-index: 9;
	color: #ffffff;
	transition: opacity 0.5s;
	opacity: 0;
	font-size: 17px;
	line-height: 22px;
	font-weight: 500;
}
bmessage[open] {
	opacity: 1;
}
bmessage b {
	position: relative;
	display: block;
	font-size: 18px;
	line-height: 17px;
	font-weight: 700;
	text-transform: uppercase;
}
sblocation {
	position: relative;
	display: flex;
	width: 100%;
	border: 1px solid #aaa;
	border-radius: 20px;
	height: 40px;
	background-color: #fff;
	margin-bottom: 10px;
}
sblocation::after {
	position: absolute;
	display: block;
	content: "Post Code";
	left: 15px;
	top: 0px;
	font-size: 10px;
	font-weight: bold;
	color: #777;
}
sblocation input {
	flex: 1 50%;
	border: none;
	padding: 0;
	background: none!important;
	font-size: 20px;
	line-height: 25px;
	height: 25px;
	color: #3a7cdb;
	margin-left: 15px;
	text-transform: uppercase;
	font-weight: bold;
	margin-top: 12px;
}
sblocation.brlist {
	width: calc(100% - 20px);
	margin-left: 10px;
	margin-top: 10px;
}
sblocation.brlist::after {
	content: "Sort by distance to your Post Code ";
}
sblocation.search {
	margin: 10px;
	width: calc(100% - 20px);
}
sblocation.search::after {
	content: "";
}
sblocation.brlist input {
	margin-top: 7px;
	line-height: 30px;
}
sblocation.search input {
	text-transform: none;
	line-height: 40px;
}
sblist {
	position: relative;
	display: block;
	height: 300px;
	overflow-x: hidden;
	overflow-y: auto;
	background-color: #fff;
	box-shadow: inset 0 1px 6px rgba(0, 0, 0, 0.3);
	border-radius: 3px;
}
sbtn {
	position: relative;
	flex: 1;
	height: 36px;
	border-radius: 36px;
	background-color: #777;
	margin: 1px;
	border: 3px solid #fff;
	color: #fff;
	line-height: 11px;
	font-size: 13px;
	font-weight: bold;
	padding: 10px 10px 10px 50px;
	white-space: nowrap;
}
sbtn:empty {
	flex: 0 0 36px;
	background-color: #333;
	padding: 0px;
	margin-right: -25px;
	z-index: 9;
}
sbtn::before {
	position: absolute;
	display: block;
	content: attr(icon);
	font: 18px "cs22";
	top: 50%;
	transform: translateY(-50%);
	left: 32px;
}
sbtn:empty::before {
	left: 9px;	
	font: 15px "cs22";
}
sblocation.search sbtn {
	right: 27px;
}
sbtn[srchicon]::before {
	font-size: 16px;
	left: 8px;
	margin-top: -1px;
}
blitm {
	position: relative;
	display: block;
	padding: 11px 10px 11px 30px;
	overflow: hidden;
	white-space: nowrap;
}
blitm[distance]::after {
	position: absolute;
	content: attr(distance);
	display: block;
	right: 10px;
	top: 7px;
	font-size: 10px;
	background-color: #777;
	color: #fff;
	font-weight: bold;
	line-height: 10px;
	padding: 3px 6px 4px;
	border-radius: 10px;
}
blitm:nth-child(even) {
	background-color: rgba(0, 0, 0, 0.04);
}
blitm[selected]::before {
	position: absolute;
	display: block;
	content: "\f00c";
	font-family: "cs22";
	left: 10px;
	color: #00830d;
	top: 50%;
	transform: translateY(-50%);
}
blitm[selected] {
	background-color: rgba(149, 224, 0, 0.41);
}
blitma {
	position: relative;
	display: block;
	font-size: 10px;
	line-height: 11px;
	margin-top: 3px;
}
dtpicker {
	position: relative;
	display: block;
	font-size: 0;
	line-height: 0;
}
dtpdate {
	position: relative;
	display: inline-block;
	width: calc(100% - 70px);
	font-size: 15px;
	line-height: 15px;
	vertical-align: top;
}
dtpdate[delivery] {
	width: 100%;
}
dpdmnth {
	position: relative;
	display: block;
	width: 100%;
	height: 30px;
	background-color: #ddd;
}
dpdmnth::after {
	position: absolute;
	display: block;
	content: attr(caption);
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	pointer-events: none;
	white-space: nowrap;
}
dpdprev,
dpdnext {
	position: absolute;
	display: block;
	width: 30px;
	height: 30px;
}
dpdprev::after,
dpdnext::after {
	position: absolute;
	display: block;
	content: "\f053";
	font-family: "cs22";
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
}
dpdnext::after {
	transform: translate(-50%, -50%) rotate(180deg);	
}
dpdprev {
	left: 0px;
}
dpdnext {
	right: 0;
}
dpddays {
	position: relative;
	display: flex;
	width: 100%;
	flex-wrap: wrap;
}
dpddays ddy {
	position: relative;
	flex: 1 13%;
	height: 30px;
	background-color: #ddd;
	text-align: center;
	line-height: 29px;
	border-right: 1px solid #fff;
	border-top: 1px solid #fff;
}
dpddays ddy[today] {
	color: #0178ec;
	font-weight: bold;
}
dpddays ddy[selected] {
	color: #0178ec;
	font-weight: bold;
	background-color: #ea4393;
	color: #fff;
}
dpddays ddy:nth-child(-n+7) {
	background-color: #aaa;
	font-size: 9px;
	height: 20px;
	color: #ffffff;
	line-height: 19px;
	font-weight: bold;
}
dpddays ddy:nth-child(7n) {
	border-right: none;
}

dtptime {
	position: relative;
	display: inline-block;
	width: 65px;
	height: 200px;
	background-color: #ddd;
	font-size: 15px;
	line-height: 15px;
	vertical-align: top;
	margin-left: 5px;
}
dtptime::before {
	position: absolute;
	display: block;
	left: 0px;
	top: 0px;
	right: 0px;
	height: calc(50% - 15px);
	content: "";
	background: -webkit-linear-gradient(top, rgba(225, 225, 225, 0.95) 33.9%, rgba(225, 225, 225, 0) 100%);
	background: -moz-linear-gradient(top, rgba(225, 225, 225, 0.95) 33.9%, rgba(225, 225, 225, 0) 100%);
	background: -ms-linear-gradient(top, rgba(225, 225, 225, 0.95) 33.9%, rgba(225, 225, 225, 0) 100%);
	background: linear-gradient(to bottom, rgba(225, 225, 225, 0.95) 33.9%, rgba(225, 225, 225, 0) 100%);
	z-index: 9;
	pointer-events: none;
}
dtptime::after {
	position: absolute;
	display: block;
	left: 0px;
	bottom: 0px;
	right: 0px;
	height: calc(50% - 15px);
	content: "";
	background: -webkit-linear-gradient(bottom, rgba(225, 225, 225, 0.95) 33.9%, rgba(225, 225, 225, 0) 100%);
	background: -moz-linear-gradient(bottom, rgba(225, 225, 225, 0.95) 33.9%, rgba(225, 225, 225, 0) 100%);
	background: -ms-linear-gradient(bottom, rgba(225, 225, 225, 0.95) 33.9%, rgba(225, 225, 225, 0) 100%);
	background: linear-gradient(to top, rgba(225, 225, 225, 0.95) 33.9%, rgba(225, 225, 225, 0) 100%);
	z-index: 9;
	pointer-events: none;
}
dtptimes {
	position: absolute;
	display: block;
	left: 0px;
	top: 0px;
	width: 100%;
	bottom: 0px;
	overflow-y: scroll;
}
ddt {
	position: relative;
	display: block;
	width: 100%;
	text-align: center;
	line-height: 30px;
	height: 30px;
	border-bottom: 1px solid #fff;
}
ddt[selected] {
	background-color: #e94392;
	color: #ffffff;
	line-height: 29px;
	font-weight: bold;
}
ddt[disabled],
ddy[disabled] {
	color: #bbb;
}
potabs {
	position: relative;
	display: flex;
	width: 100%;
}
ptab {
	position: relative;
	flex: 1;
	height: 70px;
	background-color: #6b717e;
	border-radius: 3px;
	border: 1px solid #aaa;
	font-size: 13px;
	line-height: 15px;
	font-weight: bold;
	color: #ffffff;
	cursor: pointer;
}
ptab:hover {
	background-color: #6188be;
}
ptab[selected] {
	background-color: #ff0a7b;
}
ptab::after {
	position: absolute;
	display: block;
	content: attr(caption);
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	text-align: center;
	text-transform: uppercase;
}
ptab:not(:first-of-type) {
	margin-left: 5px;
}
blk {
	position: relative;
	display: block;
	margin-top: 15px;
	width: 100%;
}
alink {
	position: relative;
	display: block;
	font-weight: bold;
	color: #1c78a6;
	font-size: 12px;
	line-height: 20px;
}
cline[nobox] {
	border: none;
	padding: 0;
}
table.ordlist {
	position: relative;
	width: 100%;
    border-spacing: 0px;
    border-collapse: separate;
}
table.ordlist td {
	position: relative;
	padding: 10px 5px;
	vertical-align: middle;
	border-left: 1px dotted rgba(167, 167, 167, 0.32);
}
table.ordlist thead td {
	background-color: #333;
	color: #ffffff;
	font-weight: bold;
}
table.ordlist tr td:first-of-type {
	padding-left: 15px;
	border: none;
}
table.ordlist tr td:nth-of-type(3) {
	font-size: 0;
	line-height: 0;
	white-space: nowrap;
}
table.ordlist tr td:last-of-type {
	padding-right: 15px;
	width: 10%;
	text-align: right;
	white-space: nowrap;
}
table.ordlist tbody tr {
	cursor: pointer;
}
table.ordlist tbody tr:nth-child(even) {
	background-color: rgba(0, 0, 0, 0.1);
}
table.ordlist tr[warning] td {
	color: #c20000;
}
table.ordlist tbody tr:hover {
	background-color: #f2d5e5;
}

oicon {
	position: relative;
	display: inline-block;
	width: 20px;
	height: 20px;
	padding: 0;
	margin: 0;
	background-color: #d7d7d7;
	border-radius: 10px;
	margin-left: 1px;
	border: 1px solid #eee;
	color: #ffffff;
}
oicon:not(:first-child) {
	margin-left: -5px;
}
oicon:last-child {
	margin-right: -9px;
}
oicon:first-child {
	margin-left: -2px;
}
tbody tr:nth-child(even) oicon {
	background-color: #c3c3c3;	
	border: 1px solid #d6d6d6;
}
oicon::after {
	position: absolute;
	display: block;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	font: 10px/10px cs22;
	content: "";
}
oicon.icopaym::after {
	content: "\f154";	
}
oicon.icoack::after {
	content: "\f164";
}
oicon.icoprep::after {
	content: "\f254";	
	font-size: 8px;
}
oicon.icoready::after {
	content: "\f00c";	
}
oicon.icocoll::after {
	content: "\f08b";
	padding-left: 2px;
}
oicon[done] {
	background-color: #02bc1c!important;
}
ordstatl {
	position: relative;
	display: block;
	padding: 10px 9px 11px 140px;
	border-bottom: 1px solid #bbb;
}
ordstatl::before {
	position: absolute;
	display: block;
	content: attr(date);
	left: 10px;
	font-size: 12px;
	line-height: 11px;
	font-weight: bold;
	color: #777;
	top: 50%;
	transform: translateY(-50%);
}
bskimg {
	position: absolute;
	display: block;
	right: 10px;
	bottom: 10px;
	width: 50px;
	height: 45px;
	background-color: #ddd;
	background-position: center center;
	background-size: cover;
	border-radius: 3px;
	border: 1px solid #bbb;
	background-repeat: no-repeat;
	pointer-events: none;
}
bskimg[empty] {
	border-color: #009ee2;
}
bskimg[empty]::before {
	position: absolute;
	display: block;
	content: "Upload\Aimage";
	font-size: 9px;
	line-height: 9px;
	text-align: center;
	width: 35px;
	white-space: pre;
	left: 50%;
	transform: translateX(-50%);
	bottom: 3px;
	color: #333;
}
bskimg[empty]::after {
	position: absolute;
	display: block;
	content: "\f030";
	font: 13px/13px "cs22";
	left: calc(50% - 7px);
	transform: scale(1);
	top: 6px;
	animation: uplimga 2s ease infinite;
}
input.phupl {
	position: absolute;
	display: block;
	right: 10px;
	bottom: 10px;
	width: 50px;
	height: 45px;
	cursor: pointer;
}
@keyframes uplimga {
  0% {
	transform: scale(1);
	color: #333;
  }
  60% {
	transform: scale(1);
	color: #333;
  }
  70% {
	transform: scale(1.8);
	color: #009ee2;
  }
  80% {
	transform: scale(1);
	color: #333;
  }
  90% {
	transform: scale(1.8);
	color: #009ee2;
  }
  100% {
	transform: scale(1);
	color: #333;
  }
}
cerror {
	position: relative;
	display: block;
	width: 100%;
	height: 300px;
	margin-bottom: 10px;
	margin-top: -30px;
}
cerror::before {
	position: absolute;
	display: block;
	width: 250px;
	height: 280px;
	content: "";
	background: url(/img/sadcake.png) center center no-repeat;
	background-size: contain;
	left: 50%;
	transform: translateX(-50%);
}
cerror::after {
	position: absolute;
	display: block;
	content: attr(message);
	font-size: 20px;
	bottom: 15px;
	text-align: center;
	width: 100%;
}
cselect {
	position: relative;
	display: inline-block;
	background-size: 28px;
	background-repeat: no-repeat;
	background-position: center center;
	width: 34px;
	height: 25px;
	vertical-align: middle;
	cursor: pointer;
	border-radius: 3px 3px 0px 0px;
}
cselect:hover {
	background-color: #eee;
}
csitems {
	position: absolute;
	display: none;
	right: 0px;
	top: 24px;
	background-color: #eee;
	box-shadow: 0 3px 5px #000000;
	border-radius: 3px 0 3px 3px;
	overflow: hidden;
}
cselect:hover csitems {
	display: block;
}
csitems a {
	color: #000;
	position: relative;
	display: block;
	text-indent: 30px;
	background-size: 28px;
	white-space: nowrap;
	background-repeat: no-repeat;
	background-position: 5px center;
	padding: 10px 15px;
	width: 100%;
}
csitems a:hover {
	background-color: #02a9ec;
	color: #fff;
}
ul.coldel {
	position: relative;
	display: flex;
	list-style: none;
	margin-top: 10px;
}
ul.coldel li {
	position: relative;
	display: block;
	flex: 1;
	padding: 20px;
	background-color: #ccc;
	text-align: center;
	cursor: pointer;
    border-radius: 5px;
}
ul.coldel li+li {
	margin-left: 5px;
}
ul.coldel li[active] {
	background-color: #e5007e;
	color: #fff;
}
ul.coldel li:hover {
	background-color: #aaa;
}
ul.coldel li[active]:hover {
	background-color: #b40264;	
}
ul.coldel li[disabled] {
	pointer-events: none;
	background-color: #ccc;
	color: #aaa;
}
delslots {
	position: relative;
	display: flex;
	width: 100%;
	padding-top: 20px;
	margin-top: 5px;
}
delslots::before {
	position: absolute;
	display: block;
	left: 0;
	top: 0;
	content: attr(caption);
	width: 100%;
	text-align: center;
	font-size: 13px;
	line-height: 18px;
	background-color: #888;
	border-radius: 5px 5px 0 0;
	height: 20px;
	color: #fff;
	font-weight: bold;
}
delslot {
	position: relative;
	display: flex;
	flex: 1;
	height: 60px;
	background-color: #ddd;
	border-radius: 0 0 5px 5px;
	cursor: pointer;
}
delslot+delslot {
	margin-left: 5px;
}
delslot range {
	position: absolute;
	display: block;
	width: 100%;
	top: 35%;
	transform: translateY(-50%);
	text-align: center;
	font-size: 14px;
	line-height: 14px;
	font-weight: bold;
}
delslot range sup {
	font-size: 9px;
	line-height: 9px;
	text-transform: uppercase;
	vertical-align: 0px;
}
delslot::before {
	position: absolute;
	display: block;
	bottom: 5px;
	content: attr(price);
	font-size: 13px;
	line-height: 13px;
	width: 100%;
	text-align: center;
}
delslot:hover {
	background-color: #049de0;
	color: #fff;
}
delslot[selected] {
	background-color: #e4007e;
	color: #fff;
}
delslot[none] {
	pointer-events: none;
	color: #aaa;
	background-color: #eee;
}
delslot[none]::before {
	content: "N/A";
}
delslot[checking] {
	pointer-events: none;
	background-color: #eee;
	color: #aaa;
}
delslot[checking]::before {
	content: "Checking...";
	animation: dslotch 2s infinite;
	font-size: 11px;
	line-height: 11px;
	font-weight: bold;
}
@keyframes dslotch {
    0% { color: #e5007e; }
    50% { color: #02a9ec; }
    100% { color: #e5007e; }
}


/* XMAS */
body.xmastheme {
	background-color: #e6f5ff;
}
body.xmastheme top {
	background: url(/img/chocolate_xmas.png) center top repeat-x;	
	background-size: 710px;
	border-top: 50px solid #8db9d3;
}
body.xmastheme topmenu::after {
	opacity: 0.2;
}
body.xmastheme topmenu a {
	color: #05436e!important;
}
body.xmastheme topmenu a:hover {
	background-color: rgba(0, 168, 236, 0.48);
}
body.xmastheme topmenu a img {
	filter: grayscale(1) contrast(0);
}
body.xmastheme usermenu a {
	color: #11518e;
}
body.xmastheme usermenu a:hover {
	color: #e5007e;
}
body.xmastheme top div.toplogo {
	top: -35px;
	background: url(/img/cake_shop_logo_xmas.png) center center no-repeat;
	background-size: contain;
}
reviews {
	background: url(/img/rip2_xmas.png) center bottom repeat-x, url(/img/rip1_xmas.png) center top repeat-x #1d3547;
	background-size: 900px;
}


/* COOKIES */
cookieswindow {
	position: fixed;
	display: block;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	z-index: 99999;
	background-color: rgba(32, 12, 26, 0.9);
}
cookiesconsent {
	position: absolute;
	display: block;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	background-color: #eee;
	padding: 20px;
	border-radius: 10px;
}
cookiesconsent::before {
	position: relative;
	display: block;
	content: attr(caption);
	color: #e61e84;
	font-weight: bold;
	font-size: 20px;
	line-height: 20px;
	margin-bottom: 20px;
}
cookiesconsent p {
	margin-bottom: 10px;
}
cookiebutton {
	position: relative;
	display: inline-block;
	background-color: #e61e84;
	padding: 10px 20px;
	margin-top: 10px;
	color: #fff;
	font-weight: bold;
	cursor: pointer;
}
cookiebutton:hover {
	background-color: #840873;
}