BODY {
	background-color: #ffffff;
	font-family: 'Source Sans Pro', sans-serif;
	margin: 0;
	color: #555555;
	font-size: 1.25rem;
	line-height: 120%;
	font-weight: 300;
	}
#logo {
	display: block;
	position: absolute;
	top:1em;
	left: 0;
	width: 11rem;
	height: 6.5em;
	max-width: 11rem;
	max-height: 6.5rem;
	min-width: 8rem;
	min-height: 8vw;
	background-image: url(/images/logo.png);
	background-size: contain;
	background-position: center center;
	background-repeat: no-repeat;
	z-index: 48;
	}
/*
BODY.forside #logo {
	left: 6em;
	top: 1em;
	}
*/
NAV {
	position: fixed;
	top: 0;
	left: 0;
	height: 0;
	width: 100%;
	overflow: hidden;
    -webkit-transition: 0.5s ease-in-out;
    -moz-transition: 0.5s ease-in-out;
    -o-transition: 0.5s ease-in-out;
    transition: 0.5s ease-in-out;
    background-color: #e30d18;
    z-index: 50;
	}

.rodbak {
    background-color: #e30d18;
	box-sizing: border-box;
	}
.padding {
	padding: 1rem;
	}

NAV.aapen {
	height: auto;
	padding-top: 3em;
	padding-bottom: 3em;
    -webkit-transition: 0.5s ease-in-out;
    -moz-transition: 0.5s ease-in-out;
    -o-transition: 0.5s ease-in-out;
    transition: 0.5s ease-in-out;
	}

NAV A {
	color: #ffffff;
	font-size: 1.1rem;
	line-height: 1.75em;
	text-decoration: none;
	text-transform: uppercase;
	display: inline-block;
	float: left;
	clear: left;
	}

#burgerwrapping {
	display: block;
	position: fixed;
	height: 0;
	left: 0;
	right: 0;
	margin-left; auto;
	margin-right: auto;
	text-align: center;
	z-index: 50;
	}
#burgerwrapping .indre {
	position: relative;
	width: calc(100% - 4em);
	max-width: 900px;
	display: inline-block;
	text-align: right;
	height: 0;
	}
#hamburger {
	display: inline-block;
	position: relative;
	right: 0;
	width: 2em;
	height: 1em;
	}
#hamburger::after {
	content: "☰";
	font-size: 1.5em;
	color: #e30d18;
	position: absolute;
	top: 0.7em;
	left: 0;
	line-height: 1em;
	}

#hamburger.aapen::after {
	color: #ffffff;
	content: "✕";
	}

#sprog {
	display: block;
	position: absolute;
	font-size: 1.8rem;
	right: 3.5rem;
	top: 1.75rem;
	text-decoration: none;
	}

.tekstspeil {
	display: block;
	position: relative;
	width: calc(100% - 4em);
	left: 0;
	right: 0;
	max-width: 900px;
	margin-left: auto;
	margin-right: auto;
	}

FOOTER {
	display: block;
	position: relative;
	padding: 1rem 0 1rem 0;
	top:30px;
	left: 0;
	right:0;
	width: 100%;
	height: 5em;
	background-color: #e30d18;
	color: #ffffff;
	}

.rodbak, .rodbak H1, .rodbak H2 {
	color: #ffffff;
	}

#nyhetsbrev FORM, #nyhetsbrev FORM INPUT {
	display: inline;
	float: left;
	}

#kform {
	display: block;
	position: relative;
	overflow: hidden;
	}

INPUT.fluepapir {
	display: block;
	position: absolute;
	top: -30px;
	left: 0;
	width: 1;
	height: 1;
	}
	

#nyhetsbrev FORM INPUT {
	background-color: transparent;
	border-bottom: 1px solid #ffffff;
	}
	


/* Forside-promoboks */
#promo {
	display: block;
	position: relative;
	box-sizing: border-box;
	width: 100%;
	float: left;
	margin-bottom: 4rem;
	border: 1px solid #fff;
	padding-top: 40%;
	overflow: hidden;
	}
	
#hovedpromo {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 61%;
	height: 100%;
	min-height: 100px;
	float: left;
	box-sizing: border-box;
	padding-top: 43%;
	padding: 0;
	}

#hovedpromo .promobilde {
	position: absolute;
	top: 0;
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: center center;
	}

#hovedpromo P {
	display: block;
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	background-color: rgba(0,0,0,.7);
	color: #fff;
	z-index: 99;
	padding: 2rem 1rem 2rem 1rem;
	margin: 0;
	box-sizing: border-box;
	font-size: 110%;
	font-size: 1.6vw;
	line-height: 100%;
	font-weight: light;
	text-align: center;
	}

#heis {
	display: block;
	position: absolute;
	top: 0;
	left: 62%;
	width: 38%;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	background-color: #CCCCCC;
	}

#heis .element {
	display: block;
	position: relative;
	float: left;
	clear: left;
	box-sizing: border-box;
	padding-top: 26.3%;	
	overflow: hidden;
	width: 100%;
	background-color: #CCCCCC;
	font-size: 0.6rem;
	}

/*
#heis .element * {
	filter: brightness(75%);
	}
#heis .element:hover *	
	filter: brightness(75%);
	}
*/
#heis .element:after {
	display: block;
	position:absolute;
	content: "";
	top: 0;
	left: 0;
	width: 100%;
	padding-top:26.3%;
	background-color: rgba(0,0,0,0.5);
	z-index:199;
	}

#heis .element:hover:after, #heis .element.aktiv:after {
	background-color: rgba(0,0,0,0);
	}

#heis .promobilde {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 40%;
	box-sizing: border-box;
	padding-top: 26%;
	background-size: cover;
	background-position: center center;
	}

	

#heis .element P {
	display: block;
	position: absolute;
	top: 8%;
	left: 45%;
	width: 50%;
	height:30%;
	text-overflow: ellipsis;
	margin-top: 0;
	font-size: 1vw;
	}

.innfravenstre {
	left: -100vw;
	animation: innfravenstre 0.3s forwards;
	animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275);
	}
.innfrahoyre {
	right: -100vw;
	animation: innfrahoyre 0.5s forwards;
	animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

@keyframes innfrahoyre {
	0% { right: -100%; }
	100% { right: 0; }
	}


@keyframes innfravenstre {
	0% { left: -100%; }
	100% { left: 0; }
	}


/* store.cgi */
.produktlisting .navn {
	display: block;
	float: left;
	width: 50%;
	overflow: hidden;
	}
.produktlisting .varenr {
	display: block;
	float: left;
	width: 20%;
	overflow: hidden;
	}
.produktlisting .bestille {
	display: block;
	float: left;
	width: 30%;
	overflow: hidden;
	}
.produktlisting .antall {
	display: block;
	float: left;
	width: 5em;
	}


#bestilling .avbestille {
	display: inline-block;
	position: relative;
	margin-left: 1em;
	margin-right: 1em;
	width: 1rem;
	height: 1rem;
	color: #ffffff;
	background-color:red;
	border-radius: 0.5rem;
	font-weight: normal;
	font-size:1em;
	line-height: 0.9em;
	text-align: center;
	padding-left: 0;
	margin-left: -1.5rem;
	}
#bestilling .avbestille::after {
	content: "-";
	position: absolute;
	text-align: center;
	width: 1rem;
	height: 1rem;
	left: 0;
	line-height: 0.6rem;	
	}

#bestilling {
	border-bottom: 2px dashed red;
	padding: 1rem 0 1rem 0;
	}
#bestilling input[type="number"]{
    }
#bestilling .prod.navn {
	width: 50%;
	}
#bestilling .prod.levtid {
	width: calc(10% - 1rem);
	}

LI .pantall {
        display: inline-block;
        display: none;
        border: none;
        background: transparent;
        color: #000;
        position: relative;
        width: 3rem;
        left: 0;
	}

/*
input[type=number]::-webkit-inner-spin-button, 
input[type=number]::-webkit-outer-spin-button { 
  -webkit-appearance: none; 
}

input[type=number] {
  -moz-appearance: textfield;
}
/*


/* Staubo-store */
LI.divider { font-weight: bold; text-transform: uppercase; }
LI.divider UL { display: block; display:none; font-weight: normal; text-transform: none; }
LI.divider.aktiv UL { display:block; }
LI {
	display: block;
	position: relative;
	width: 99%;
	padding: 4px;
	line-height: 20px;
	background-color: #CCCCCC;
	color: #000;
	margin: 3px;
	margin-left: 0px;
	clear: both;
	}
LI.usynlig {
	display: none;
	}
LI.divider UL LI {
	}

UL {
	display: block;
	margin: 0px;
	margin-top: 4px;
	padding: 0px;
	list-style: none;
	}

LI LI.produkt.aktiv {
	background-color: #222222;
	}


.prod {
	display: inline-block;
	padding-left: 1em;
	box-sizing: border-box;
	}
.prod.pid { width: 10%; }
.prod.navn { width: 50%;overflow:hidden; }
.prod.intern { width: 10%; }
.prod.ekstern { width: 15%; }
.prod.pris { width: 15%; }
.prod.levtid { width: 10%; }

.item .pantall {
	position: absolute;
	display: none;
	left: -2rem;
	width: 3rem;
	font-size: 1rem;
	
	}
.item .bestille {
	display: block;
	display: none;
	position: absolute;
	right: 0;
	width: 1.5rem;
	height: 1.5rem;
	border-radius: 1em;
	background-color: green;
	color: #ffffff;
	line-height: 1.5rem;
	top: -0rem;
	text-align: center;
	font-weight: bold;
	}
/*
.bestille::after {
	position: absolute;
	position: absolute;
	text-align: center;
	width: 1rem;
	height: 1rem;
	left: 0;
	line-height: 0.6rem;	
	color: #ffffff;
	border: 1px solid blue;
	
	}
*/
.item.aktiv { background-color: #DDDDDD; }

.item.aktiv .bestille, .item.aktiv .pantall {
	display: block;
	}





.toppmargin {
	padding-top: 10em;
	}
	
.spalte {
	display: block;
	float: left;
	width: 45%;
	margin-right: 5%;
	}

.tredjedel {
	display: block;
	position: relative;
	float: left;
	width: 30%;
	margin-right: 3%;
	}
.hoyrejustert {
	float: right;
	clear: right;
	margin-right: 0;
	margin-left: 3%;
	}

.tredjedel IMG {
	width: 100%;
	height: auto;
	}

IMG.spalte {
	height:auto;
	}

IMG.venstrebilde {
	float:left;
	margin-right: 1em;
	max-width: 33%;
	height: auto;
	}

P.ingress {
	font-weight: 700;
	}

.hovedbilde {
	width: 100%;
	height: auto;
	}

/* Tekststiler */
H1 {
	color: #777777;
	font-size: 2.5rem;
	font-weight: 300;
	line-height: 3rem;
	}
H2 {
	color: #777777;
/*	font-size: 1.7rem;
	line-height: 1.7rem; */
	font-size: 1.25rem;
	line-height: 1.25rem;
	font-weight: 600;
	margin-bottom: -1.25rem;
	}

.forsidebilde {
	width: 100%;
	height: auto;
	}

A {
	color: #e30d18;
	}

FOOTER A {
	color: #ffffff;
	}
BODY.forside H1 {
	margin-top: -0.5em;
	text-align: center;
	padding: 0 2em 0.5em 2em;
	}

/* Formular */

input[type=text], input[type="password"], textarea {
  display: block;
  margin: 0;
  min-width: 300px;
  font-size: 16px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
  -webkit-border-radius: none;
  -moz-border-radius: none;
  -ms-border-radius: none;
  -o-border-radius: none;
  border-radius: none;
	padding: 3px 4px;
	border: solid 1px gainsboro;
  -webkit-transition: box-shadow 0.3s, border 0.3s;
  -moz-transition: box-shadow 0.3s, border 0.3s;
  -o-transition: box-shadow 0.3s, border 0.3s;
  transition: box-shadow 0.3s, border 0.3s;
}
input[type=text]:focus, input[type=text].focus, input[type=password]:focus, input[type="password"].focus, textarea:focus {
  border: solid 1px #707070;
  -webkit-box-shadow: 0 0 5px 1px #969696;
  -moz-box-shadow: 0 0 5px 1px #969696;
  box-shadow: 0 0 5px 1px #969696;
}

input.formular {
	box-sizing: border-box;
	padding: 5px;
	}

input[type="submit"], input[type="button"] {
  background: #ed1f26;
  background-image: -webkit-linear-gradient(top, #ed1f26, #bd171f);
  background-image: -moz-linear-gradient(top, #ed1f26, #bd171f);
  background-image: -ms-linear-gradient(top, #ed1f26, #bd171f);
  background-image: -o-linear-gradient(top, #ed1f26, #bd171f);
  background-image: linear-gradient(to bottom, #ed1f26, #bd171f);
  -webkit-border-radius: 8;
  -moz-border-radius: 8;
  border-radius: 8px;
  color: #ffffff;
  font-size: 20px;
  padding: 9px 20px 10px 20px;
  text-decoration: none;
  border: 0;
  border-style: none;
}

input[type="submit"]:hover, input[type="button"]:hover {
  background: #b8333a;
  background-image: -webkit-linear-gradient(top, #b8333a, #7a161b);
  background-image: -moz-linear-gradient(top, #b8333a, #7a161b);
  background-image: -ms-linear-gradient(top, #b8333a, #7a161b);
  background-image: -o-linear-gradient(top, #b8333a, #7a161b);
  background-image: linear-gradient(to bottom, #b8333a, #7a161b);
  text-decoration: none;
}

textarea.formular { 
	width: 98%; 
	resize: vertical; 
       max-height: 7rem; 
       min-height: 5rem; 
	}




/* Telefontilpassninger */
/* @media only screen and (min-device-width: 320px) and (max-device-height: 700px) and (-webkit-device-pixel-ratio: 2){ */

@media only screen and (max-width: 767px) {

.tekstspeil {
	width: calc(100% - 1rem);
	}

BODY.forside H1 {
	margin-top: -0.5em;
	text-align: center;
	padding: 0 0.5rem 0 0.5rem;
	}



/* Tilpasninger til forsidekarusellen */
#heis {
	display: none;
	}
#promo {
	padding-top: 60%;
	}

#hovedpromo {
	width: 100%;
	padding-top: 60%;
	}
.promobilde {
	}
#hovedpromo P {
	font-size: 110%;
	line-height: 130%;
	padding: 0.5rem;
	}

H1 {
	font-size: 1.7rem;
	line-height: 1.9rem;
	}
#logo {
	width: 5rem;
	height: 3rem;
	left: 0;
	}
.toppmargin {
	padding-top: 60px;
	}

FOOTER {	
	font-size: 0.6rem;
	line-height: 0.7rem;
	}

}


