html, body {
	margin: 0;
	height: 100%;
	overflow: hidden;
	position: relative;
}

body {
	font-family: "Helvetica Neuve", helvetica, arial, sans-serif;
	font-size: 12px;
}

* {
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
	-webkit-text-size-adjust: none;
}

*:not(input) {
	-webkit-touch-callout: none;
	-webkit-user-select: none;
}

.page {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 100%;
	height: auto;
	display: none;
	background: #fcf1e3 url(images/design/papertile.jpg) repeat center center;
	color: #5a471b;
	overflow: hidden;
}

a {
	color: #5a471b;
}

img.left {
	float: left;
	margin-right: 10px;
	max-width: 40%;
	max-height: 90%;
}

img.right {
	float: right;
	margin-left: 10px;
	max-width: 40%;
	max-height: 90%;
}

img.center {
	display: block;
	margin: auto;
	max-width: 100%;
	max-height: 60%;
}

img.fullcenter {
	display: block;
	margin: auto;
	max-width: 100%;
	max-height: 90%;
}

img.pcenter {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	max-width: 100%;
	max-height: 100%;
	margin: auto;
}

.clear {
	clear: both;
}

/*

	QR-koder
	
*/

div.qr {
	position: absolute;
	bottom: 4px;
	left: 50%;
	/* width: 120px; margin-left: -60px; Passer for QR size 4 */
	/* width: 140px; margin-left: -70px; Passer for QR size 5 */
	width: 240px;
	margin-left: -120px;
	font-size: 36px;
	font-weight: bold;
	color: #000;
	text-align: center;
	white-space: nowrap;
	background: #fff;
	z-index: 100;
	border: 2px solid #ddd;
	-webkit-transition-duration: 200ms;
	-webkit-transform: translateY(70px) scale(0.5);
}

div.qr > canvas {
	display: block;
	margin: auto;
	/* padding: 14px 0 0 14px; Passer for QR size 4 */
	/* padding: 13px 0 0 10px; Passer for QR size 5 */
	/* padding: 28px 0 0 28px; Passet for lange URLer */
	padding: 25px 0 0 10px;
}

div.qr.zoomed {
	-webkit-transform: translateY(0) scale(1);
}

/*

	Tittel-linje
	
*/

.titlebar {
	top: 0;
	left: 0;
	width: 100%;
	height: 44px; /* Denne høyden er hardkodet i main.js. Pass på hvis du endrer */
	line-height: 44px;
	text-align: center;
	font-weight: bold;
	font-size: 14px;
	color: #fff;
	border-top: 1px solid #aaa;
	border-bottom: 1px solid #000;
	-webkit-box-sizing: border-box;
	/*
	Text-shadow og box-shadow gir mye dårlige animasjoner i Android
	text-shadow: 1px 1px 0px rgba(0, 0, 0, 0.5);
	box-shadow: 0 2px 2px rgba(0, 0, 0, 0.5);
	*/
	background-color: #413103;
}

.tbbutton {
	position: absolute;
	top: 2px;
	height: 40px;
	width: 48px;
	-webkit-background-size: 36px 36px;
	background-repeat: no-repeat;
	background-position: center center;
	border-radius: 5px;
}

.tbbutton.left {
	left: 4px;	
}

.tbbutton.right {
	right: 4px;	
}

.tbbutton.home{
	background-image: url(images/design/home.png);
}

.tbbutton.back {
	background-image: url(images/design/back.png);
}

.tbbutton.search {
	background-image: url(images/design/search.png);
}

.clear {
	height: 0;
	clear: both;
}

/*

	Splash
	
*/

#psplash {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #413103;
	display: table;
}

#psplash > div {
	display: table-cell;
	vertical-align: middle;
	text-align: center;
}

#slogo {
	width: 94%; /* Bruker ikke background-image her pga. at addCSSRules i main.js ikke har fått tid til å kjøre ennå */
}

#spinner {
	position: absolute;
	bottom: 5%;
	left: 50%;
	width: 30px;
	height: 30px;
	margin-left: -15px;
	-webkit-animation: clockwise 10s linear;
}


/*

	Hjem
	
*/

#logo {
	position: absolute;
	top: 1%;
	height: 12%; /* Også i main.js */
	left: 0;
	width: 100%;
	background: url(images/design/logo.png) no-repeat 50% 50%;
	background-size: contain;
}

#hjemsw {
	position: absolute;
	top: 14%; /* Også i main.js */
	height: 38%; /* Også i main.js */
	left: 0;
	width: 100%;
	border-top: 1px solid #ccc;
}

#hjemsw h2 {
	font-size: 1.1em;
	margin: 2px 0;
}

#hjemsw ul.carousellist > li {
	background: #fff;
}

#hjem-indicator {
	position: absolute;
	left: 0;
	width: 100%;
	bottom: 44%; /* Også i main.js */
	height: 4%; /* Også i main.js */
	border-top: 1px solid #aaa;
	border-bottom: 1px solid #000;
	-webkit-box-sizing: border-box;
	/*
	Text-shadow og box-shadow gir mye dårlige animasjoner i Android
	text-shadow: 1px 1px 0px rgba(0, 0, 0, 0.5);
	box-shadow: 0 2px 2px rgba(0, 0, 0, 0.5);
	*/
	background-color: #4f3d11;
}

#hjem-indicator span {
	background: #bbb;
}

#hjem-indicator span.active {
	background: #fff;
}

#navigation-container {
	position: absolute;
	left: 0;
	bottom: 0;
	height: 44%;  /* Også i main.js */
	width: 100%;
	background: #413103;
}

.hbutton {
	position: absolute;
	height: 50%;
	width: 30%;
	background-repeat: no-repeat;
	background-position: 50% 50%;
	background-size: contain;
	border-radius: 5px;
}

.hbutton:hover, .tbbutton:hover {
	background-color: #4b3b14;
}

#butt_bakerier {
	top: 0;
	left: 5%;
	background-image: url(images/design/bakerier.png);
}

#butt_produkter {
	top: 0;
	left: 35%;
	background-image: url(images/design/produkter.png);
}

#butt_kontakt {
	top: 0;
	left: 65%;
	background-image: url(images/design/kontakt.png);
}

#butt_tilbud {
	top: 50%;
	left: 5%;
	background-image: url(images/design/tilbud.png);
}

#tilbud_antall {
	display: none;
	position: absolute;
	border: 1px solid #fff;
	font-weight: bold;
	font-size: 0.9em;
	height: 1.5em;
	width: 1.5em;
	line-height: 1.5em;
	text-align: center;
	border-radius: 999px;
	color: #fff;
	background: #816f49;
}

#butt_lojalitet {
	top: 50%;
	left: 35%;
	background-image: url(images/design/lojalitet.png);
}

#butt_minside {
	top: 50%;
	left: 65%;
	background-image: url(images/design/min-side.png);
}

/* 

	Finn
	
*/

#kart {
	position: absolute;
	top: 44px;
	left: 0;
	right: 0;
	bottom: 0;
	color: #000;
	font-family: arial, sans-serif;
	font-size: 20px;
	background-color: #e5e3df;
}

a.mbutton {
	display: inline-block;
	text-decoration: none;
	color: #222;
	font-weight: bold;
	font-size: 11px;
	text-align: center;
	background-color: whiteSmoke;
	background-repeat: no-repeat;
	background-position: center center;
	border: 1px solid #ccc;
	line-height: 26px;
	width: 60px;
	height: 26px;
}

#mext {
	width: 184px;
	border-radius: 2px;
}

a.mbutton:hover, a.mbutton.selected {
	background-color: #eee;
}

#mcar {
	background-image: url(images/design/car.png);
	border-radius: 2px 0 0 2px;
}

#mwalk {
	background-image: url(images/design/walk.png);
}
	
#mbike {
	background-image: url(images/design/bike.png);
	border-radius: 0 2px 2px 0;
}

/*

	Bakerier
	
*/

#pbakeri table {
	margin-top: -1em;
}

#pbakeri td {
	padding: 0 9px 0 0;
}

.bbutton {
	text-decoration: none;
	display: block;
	color: #5a471b;
	height: 36px;
	line-height: 36px;
	font-size: 15px;
	border: 1px solid #888;
	padding-right: 2px;
	padding-left: 33px;
	border-radius: 5px;
	background-repeat: no-repeat;
	background-position: 2px center;
	-webkit-background-size: 28px 28px;
	margin-bottom: 10px;
}

.bbutton:hover, .msbutton:hover {
	background-color: #f0f0f0;
}

.bbutton.map {
	background-image: url(images/design/search-i.png);
}

.bbutton.phone {
	background-image: url(images/design/phone.png);
}

.bbutton.email {
	background-image: url(images/design/email.png);
}

#bakerisw img.center {
	border-radius: 10px;
}

/*

	Produkter / Tilbud / Lojalitet
	
*/

#produktkategorisw, #tilbudsw, #lojalitetsw {
	position: absolute;
	top: 44px;
	bottom: 30px;
	left: 0;
	width: 100%;
}

#tilbudsw h2, #lojalitetsw h2 {
	font-size: 1.4em;
	margin: 5px auto;
}

.bri1, .bri2, .bri3, .bri4 {
	margin: 12px auto;
	width: 71px;
	height: 70px;
	background-image: url(images/design/broedindikator.png);
	background-repeat: no-repeat;
	-webkit-background-size: 382px 70px;
}

.bri4 {
	background-position: 0 0;
}

.bri3 {
	background-position: 33.3% 0;
}

.bri2 {
	background-position: 66.6% 0;
}

.bri1 {
	background-position: 100% 0;
}

.ovalid {
	border: 1px solid #ccc;
	padding: 10px 0;
	font-weight: bold;
	text-align: center;
	background: #f0f0f0;
}

ul.carousellist > li {
	/*-webkit-transform: translate3d(0,0,0); / * Skal motvirke flimring, men koste minne. Virker ikke å fungere */
}

ul.carousellist.full > li {
	padding: 10px;
	position: relative;
 	-webkit-perspective: 1000;
	-webkit-transform-style: preserve-3d;
}

ul.carousellist.full > li .front, ul.carousellist.full > li .back {
	position: absolute;
	top: 10px;
	left: 10px;
	right: 10px;
	bottom: 22px;
	border-radius: 20px;
	-webkit-backface-visibility: hidden; 
	-webkit-animation-timing-function: ease-in-out;
	-webkit-animation-duration: 400ms;
	background-color: #fff;
	background-repeat: no-repeat;
	background-position: bottom right;
	-webkit-background-size: 48px 40px;
}

ul.carousellist.full > li .front {
	background-image: url(images/design/flip1.png);
	padding: 10px;  /* Er også i scroll-funksjonen i main.js */
	border: 1px solid #ccc;
	border-width: 0 1px 1px 0;
	/*
	Text-shadow og box-shadow gir mye dårlige animasjoner i Android
	box-shadow: 2px 2px 3px #888;
	*/
	text-align: center;
	z-index: 900;
}

#pproduktkategori li .front .tittel {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 10px;
	font-weight: bold;
}

#tilbudsw, #lojalitetsw {
	color: #222;
}

#tilbudsw h2, #lojalitetsw h2 {
	position: relative; /* For å unngå at det havner bak bildet på små skjermer */
	z-index: 99;
}

ul.carousellist.full > li .back {
	background-image: url(images/design/flip2.png);
	overflow: hidden;
	border: 1px solid #ccc;
	border-width: 0 1px 1px 0;
	/*
	Text-shadow og box-shadow gir mye dårlige animasjoner i Android
	box-shadow: 2px 2px 3px #888;
	*/
	-webkit-transform: rotateY(180deg);
	z-index: 800;
}

ul.carousellist.full > li .back > div:first-child {
	position: absolute;
	margin: 10px;
}

ul.carousellist.full > li .back h2 {
	text-align: center;
}

ul.carousellist > li.empty, ul.carousellist > li.empty {
	display: table;
}

ul.carousellist > li.empty > div {
	vertical-align: middle;
	display: table-cell;
	text-align: center;
	font-size: 1.4em;
	font-weight: bold;
}

ul.carousellist.full > li.rotated .front {
	-webkit-transform: rotateY(180deg);
	-webkit-animation-name: flipback;
}

ul.carousellist.full > li.rotated .back {
	-webkit-transform: rotateY(0deg);
	-webkit-animation-name: flipforward;
	z-index: 1000;
}

ul.carousellist.full > li.unrotated .front {
	-webkit-transform: rotateY(0deg);
	-webkit-animation-name: flipforward;
}

ul.carousellist.full > li.unrotated .back {
	-webkit-transform: rotateY(180deg);
	-webkit-animation-name: flipback;
}

#produktkategori-indicator, #tilbud-indicator, #lojalitet-indicator {
	position: absolute;
	left: 0;
	width: 100%;
	bottom: 0px;
	line-height: 30px;
}

#produktkategori-indicator span, #tilbud-indicator span, #lojalitet-indicator span {
	background: #888;
}

#produktkategori-indicator span.active, #tilbud-indicator span.active, #lojalitet-indicator span.active {
	background: #222;
}

.tlbutton {
	display: inline-block;
	border: 1px solid #888;
	padding: 15px 45px 15px 15px;;
	border-radius: 5px;
	background-image: url(images/design/forward.png);
	-webkit-background-size: 36px 36px;
	background-repeat: no-repeat;
	background-position: 100% center;
}

.tlbutton:hover {
	background-color: #ecdfc2;
}

#tilbudsw img.pcenter, #lojalitetsw  img.pcenter {
	top: 35px;
	bottom: 125px;
}

.kstempel {
	position: absolute;
	margin-top: -50px;
	top: 50%;
	left: 50%;
}

.kstempel > img {
	position: absolute;
}

/*

	Kontakt
	
*/

#pkontakt, #pkontaktepost {
	background: #413103;
	color: #fff;
}

#pkontakt .info img {
	max-width: 50%;
}

/*

	Min side
	
*/

#pminside {
	background: #413103;
	color: #fff;
	font-size: 1.2em;
}

#pminside form {
	padding: 10px;
}

.msbutton {
	border: 1px solid #888;
	padding: 15px;
	background-color: #fff;
	color: #413103;
	border-radius: 5px;
	font-weight: bold;
	margin: 6px 0;
	background-image: url(images/design/forward.png);
	-webkit-background-size: 36px 36px;
	background-repeat: no-repeat;
	background-position: 100% center;
}

#bforgotpassword, #blogout, #bcleardata, #bshowterms {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 20px;
	padding: 15px;
	text-align: center;
	text-decoration: underline;
}

#cloggedin {
	font-weight: bold;
}

input[type=text], input[type=email], input[type=password], input[type=date] {
	width: 100%;
	-webkit-box-sizing: border-box;
	/*-webkit-appearance: none;*/
	margin: 5px 0 15px;
	font-size: 1.2em;
}

input[type=checkbox] {
	-webkit-box-sizing: border-box;
	/*-webkit-appearance: none;*/
	margin: 5px 0 15px;
	font-size: 1.2em;
}

#fdformat {
	display: none;
}

/*

	Vilkår
	
*/

#pvilkaar {
	background: #413103;
	color: #fff;
}

/*

	Scrollbare lister
	
*/

ul.carousellist {
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	padding: 0;
	margin: 0;
	list-style-type: none;
	/* white-space: nowrap; */
 }

ul.carousellist > li {
	display: block;
	position: relative;
	float: left;
}

.indicator {
	text-align: center;
	white-space: nowrap;
}

.indicator  span {
	margin: 0 6px;
	display: inline-block;
	vertical-align: middle;
	border-radius: 99px;
	width: 8px;
	height: 8px;
}

.vscrollwrapper {
	position: absolute;
	top: 44px;
	left: 0;
	width: 100%;
	height: auto;
	bottom: 0;
}

div.vscroller {
	padding: 10px 10px 50px;
}

ul.standardlist {
	list-style-type: none;
	padding: 0 0 50px;
	margin: 0;
	width: 100%;
}

ul.standardlist > li {
	padding-left: 15px;
	padding-right: 15px;
	font-size: 13px;
	font-weight: bold;
	height: 58px;
	line-height: 58px;
	border-bottom: 1px solid #5a471b;
	background: url(images/design/arrow.png) right center no-repeat;
	-webkit-background-size: 25px 20px;
}

ul.standardlist > li:nth-child(odd) {
	background-color: #fbf4e7;
	background: url(images/design/arrow.png) right center no-repeat, url(images/design/lightpapertile.jpg) center center repeat;
	-webkit-background-size: 25px 20px, auto auto;
}

ul.standardlist > li > img {
	width: 60px;
	max-height: 50px;
	margin-right: 15px;
	vertical-align: middle;
}

ul.iphonelist {
	border-radius: 15px;
	background: white;
	color: #5a471b;
	border: 1px solid #aaa;
	border-width: 0 1px 1px 0;
	/*
	Text-shadow og box-shadow gir mye dårlige animasjoner i Android
	box-shadow: 2px 2px 3px #888;
	*/
	padding: 0;
	margin: 10px 0;
}

ul.iphonelist > li {
	list-style-type: none;
	border-top: 1px solid #aaa;
	height: 58px;
	line-height: 58px;
	font-size: 13px;
	font-weight: bold;
	position: relative;
	white-space: nowrap;
}

ul.iphonelist > li:first-child {
	border-top: 0;
}

ul.iphonelist > li > a {
	padding-left: 10px; 
	padding-right: 30px; 
	display: block;
	color: #5a471b;
	background: url(images/design/arrow.png) no-repeat right center;
	-webkit-background-size: 25px 20px;
	text-decoration: none;
}

.info {
	border-radius: 15px;
	background: white;
	color: #5a471b;
	border: 1px solid #aaa;
	border-width: 0 1px 1px 0;
	/*
	Text-shadow og box-shadow gir mye dårlige animasjoner i Android
	box-shadow: 2px 2px 3px #888;
	*/
	padding: 10px 10px 30px;
	margin: 10px 0;
}

.info a {
	color: #5a471b;
}

/*

	Overganger
	
*/

.transition {
	z-index: 1;
	visibility: visible;
	-webkit-animation-timing-function: ease-in-out;
    -webkit-animation-duration: 400ms;
}

.slide.in {
	-webkit-transform: translateX(0);
	-webkit-animation-name: slideinfromright;
}

.slide.out {
	-webkit-transform: translateX(100%);
	-webkit-animation-name: slideouttoright;
}

.reverseslide.out {
	-webkit-transform: translateX(-100%);
	-webkit-animation-name: slideouttoleft;
}

@-webkit-keyframes slideinfromright {
	from { -webkit-transform: translateX(100%); }
	to { -webkit-transform: translateX(0); }
}
@-webkit-keyframes slideouttoright {
	from { -webkit-transform: translateX(0); }
	to { -webkit-transform: translateX(100%); }
}

@-webkit-keyframes slideouttoleft {
	from { -webkit-transform: translateX(0); }
	to { -webkit-transform: translateX(-100%); }
}

.fade.in {
	opacity: 1.00;
	-webkit-animation-name: fadein;
}

.fade.out {
	opacity: 0.00;
	-webkit-animation-name: fadeout;
}

@-webkit-keyframes fadein {
	from { opacity: 0.00; }
	to { opacity: 1.00; }
}
@-webkit-keyframes fadeout {
	from { opacity: 1.00; }
	to { opacity: 0.00; }
}

.zoom.in {
	-webkit-transform: scale(1);
	-webkit-animation-name: zoomin;
}

.zoom.out {
	-webkit-transform: scale(0);
	-webkit-animation-name: zoomout;
}

@-webkit-keyframes zoomin {
	from { -webkit-transform: scale(0); }
	to { -webkit-transform: scale(1); }
}

@-webkit-keyframes zoomout {
	from { -webkit-transform: scale(1); }
	to { -webkit-transform: scale(0); }
}

@-webkit-keyframes clockwise {
	from { -webkit-transform: rotate(0); }
	to { -webkit-transform: rotate(900deg); }
}
		
@-webkit-keyframes flipback {
	0% {
		-webkit-transform: rotateY(0deg) scale(1);
	}
	50% {
		-webkit-transform: rotateY(90deg) scale(0.85);
	}
	100% {
		-webkit-transform: rotateY(180deg) scale(1);
	}
}
 
@-webkit-keyframes flipforward {
	0% {
		-webkit-transform: rotateY(180deg) scale(1);
	}
	50% {
		-webkit-transform: rotateY(270deg) scale(0.85);
	}
	100% {
		-webkit-transform: rotateY(360deg) scale(1);
	}
}

/*

	Pagination
	
*/

.pagprev, .pagnext {
	position: absolute;
	width: 40px;
	height: 40px;
	right: 8px;
	background: #fafafa;
	border-radius: 6px;
	border: 1px solid #f0f0f0;
}

.pagprev {
	top: 3px;
}

.pagnext {
	bottom: 3px;
}

.pagprev:hover, .pagnext:hover {
	background: #f0f0f0;
}

.pagprev > div, .pagnext > div {
	position: absolute;
	left: 6px;
	border-left: 14px dashed transparent;
	border-right: 14px dashed transparent;
}

.pagprev > div {
	bottom: 8px;
	border-bottom: 28px solid #5a471b;
}

.pagnext > div {
	top: 8px;
	border-top: 28px solid #5a471b;
}

.pagprev.disabled, .pagnext.disabled {
	display: none;
}

.scrollable > div {
	-webkit-transition: top 0.25s ease-in-out;
}
	
/*

	Status
	
*/

#status {
	position: absolute;
	top: 75%;
	left: 0;
	width: 100%;
	z-index: 1000;
	text-align: center;
	display: none;
}

#status span {
	font-weight: bold;
	margin: auto;
	border-radius: 5px;
	padding: 6px 12px;
	border: 2px solid #ccc;
	background: #00b;
	color: #fff;
}

/*

	RESPONSIVE
	
*/

@media (min-width: 280px) and (min-height: 420px) {
	body {
		font-size: 13px;
	}

	.titlebar {
		font-size: 17px;
	}

	ul.iphonelist > li {
		font-size: 16px;
	}

	ul.standardlist > li {
		font-size: 16px;
	}

	a.mbutton {
		font-size: 14px;
		line-height: 40px;
		width: 70px;
		height: 40px;
	}
	
	#mext {
		width: 214px;
	}

	#tilbud_antall {
		border-width: 2px;
	}
}

@media (min-width: 350px) and (min-height: 525px) {
	body {
		font-size: 14px;
	}

	.bbutton {
		float: right;
		width: 84px;
		clear: right;
	}
}

@media (min-width: 420px) and (min-height: 630px) {
	body {
		font-size: 15px;
	}
}

@media (min-width: 490px) and (min-height: 735px) {
	body {
		font-size: 16px;
	}
}

@media (min-width: 560px) and (min-height: 840px) {
	body {
		font-size: 17px;
	}
}

@media (min-width: 630px) and (min-height: 945px) {
	body {
		font-size: 18px;
	}
}

@media (min-width: 700px) and (min-height: 1050px) {
	body {
		font-size: 19px;
	}

	.bri1, .bri2, .bri3, .bri4 {
		margin: 30px auto;
		width: 101px;
		height: 100px;
		background-image: url(images/design/broedindikator.png);
		background-repeat: no-repeat;
		-webkit-background-size: 545px 100px;
	}

	#tilbud_antall {
		border-width: 3px;
	}
}

@media (min-width: 770px) and (min-height: 1155px) {
	body {
		font-size: 20px;
	}
}


