.*, *::before, *::after {
    box-sizing: border-box;
}

:root {
font-size: 16px;
}

html {
height: 100%;
font-family:sans-serif; 
overflow-y: scroll;
-moz-scrollbars-vertical;
}

@font-face {
   font-family: OpenSans;
   src: local('Open Sans');
}

@media print {
	#header, #footer {
		display:none !important;
		}
	.noprint {
		display:none !important;
	}
}


body {
height: 100%;
font-family:'Open Sans', sans-serif; 
color:#2c2c2c;
font-weight:400;
line-height: 150%;
background-color:#F0F4F6; 
margin:0;
}
@media (max-width:770px) {
	body {
		/*padding:2%;*/
		}
	}

#header {
/*background-color:#F0F4F6;*/
background-color:#FFF;
padding:15px 0 5px 0;
}

#footer {
background-color: #F0F4F6;
}

#bottom_spacer {
height:200px;
}

.logo {
	float:left;
	margin:0 0 1rem 0;
	}
@media (max-width:460px) {
	.logo {
		float:none;
		margin:11px 0 1rem 0px;
		}
	}

#hamburger_desktop {
	display:none;
	margin:1px 0 0 0;
	}
#hamburger_mobile {
	display:none;
	margin:0 10px 0 0;
	}
@media (max-width:770px) {
	#hamburger_desktop {
		display:none;
		}
	#hamburger_mobile {
		display:block;
		}
	#menublock_visible {
		display:none;
		}
	}


#search_block {
	float:right;
}
#search_input {
	width:250px;
}
@media (max-width:770px) {
	#search_block {
		margin-top:15px;
		float:none;
	}
	#search_input {
		width:172px;
	}
}


.spacer_desktop_10 {
	height:10px;
	}
@media (max-width:770px) {
	.spacer_desktop_10 {
		height:0px;
		}
	}

#menumotor_query {
	width:200px;
	}
@media (max-width:770px) {
	#menumotor_query {
		width:155px;
		}
	}

#utilbox {
	position:fixed;
	top:100px;
	left:200px;
	box-shadow:2px 2px 0px 0px #000;
	cursor:move;
	overflow:visible !important;
	z-index:1147483608;
	box-shadow:3px 3px 6px 0px #999;
	border-radius:5px; display:table;
}

#reportbox {
box-sizing:border-box;
padding:15px 10px 20px 15px;
background:#EEE;
border:1px solid #FA6900;
border-radius:5px;
}

#dialogbox {
	position:absolute; 
	width:320px;
	min-height:100px; 
	margin:20px 0 0 0; 
	overflow:visible !important; 
	font-size:14px; 
	padding:15px 10px 20px 15px; 
	background:#EFEFEF;
	border:2px solid #FA6900;
	border-radius:5px;
	box-sizing: border-box;
	left:50%;
	transform:translateX(-50%);
}
@media (max-width:770px) {
	#dialogbox {
		width:90%;
	}
}



.contentrow:hover {
background-color:#F0F4F6;
}

#menublock_desktop {
	margin-top:10px;
	}
@media (max-width:770px) {
	#menublock_desktop {
		display:none;
		}
	}
@media (min-width:770px) {
	#menublock_mobile {
		display:none !important;
		}
	}

.topnavbuttons {
text-align:right;
background-color:transparent; 
padding:10px 0;
font-size:16px;
}
.topnavbuttons a {
font-weight:400;
}
@media (max-width:770px) {
	.topnavbuttons {
		border-top:none; 
		float:none;
		}
	}

.navbuttons {
float:right; 
margin:15px 0 0 0;
font-weight:00;
}
.navbutton_sep {
	padding:0 2px 0 2px;
	}
.navbutton {
	font-size:1.2rem;
	font-weight:400;
	}
@media (max-width:770px) {
	.navbuttons {
		width:100%;
		float:left; 
		text-align:left;
		margin:0.8rem 0 0.8rem 0;
		}
	.navbutton {
		width:31%;
		font-size:1.2rem;
		display:inline-block;
		text-align:center;
		border-radius:4px;
		border-right:1px solid #666;
		border-bottom:1px solid #666;
		padding:10px 0px;
		margin:0 2% 0 0;
		}
	.navbutton_sep {
		display:none;
		}
	.navbutton.selected {
		color:#FFF;
		background-color:#00796C;
		}
	}

.subnavbuttons {
text-align:center;
margin:0px 0 1rem 0;
}
.subnavbutton {
display:inline-block;
margin-left:7px;
font-weight:400;
}
@media (max-width:770px) {
	.subnavbuttons {
		width:100%;
		float:left;
		clear:both;
		margin:0px 0 0.8rem 0;
		}
	.subnavbutton {
		display:block;
		text-align:center;
		font-size:80%;
		background-color:#EEE;
		border-radius:4px;
		border-top:1px solid #999;
		border-right:1px solid #666;
		border-bottom:1px solid #666;
		border-left:1px solid #999;
		padding:10px 0px;
		margin:0 4% 10px 4%;
		}
	.subnavbutton_sep {
		display:none;
		}
	.subnavbutton.selected {
		color:#FFF;
		background-color:#666;
		}
	}

@media (max-width:770px) {
	.locale.selected {
		background-color:#27a1c5;
		color:#FFF;
		}
	}

#front_top_spacer {
	height:4rem;
	}
@media (max-width:770px) {
	#front_top_spacer {
		height:1rem;
		}
	}

#front_top_title {
	margin-top:0.5rem;
	font-size:42px;
	line-height:140%;
	}
@media (max-width:770px) {
	#front_top_title {
		font-weight:800;
		margin:0 0 10px 0;
		font-size:28px;
		line-height:130%;
		}
	}

#front_middle_teaser {
	font-size:1.25rem;
	line-height:160%;
	background-color:#000;
	color:#FFF;
	margin:4rem 0;
	padding:5rem 0;
	}
@media (max-width:770px) {
	#front_middle_teaser {
		font-size:16px;
		line-height:150%;
		margin:3rem 0;
		padding:3rem 0;
		}
	}


@media (max-width:770px) {
	.infopops a {
		display:block;
		padding-top:5px;
		padding-bottom:5px; 
		list-style-type:none;
		}
	.infopops li {
		list-style-type:none;
		padding-left:0;
		margin-left:0;
		margin-bottom:1rem;
		}
	.infopops ul, .infopops ol {
		padding-left:0; 
		margin-left:0; 
		margin-bottom:3rem; 
		}
	}


.outer_wrapper {
text-align:center;
background-color:#FFF;
min-height:600px;
/*border-radius:10px;
margin:0 10px 0 10px;*/
padding:15px 0px 15px 0px;
border:1px none #BBB;
}

.inner_wrapper {
/*max-width:800px;*/
padding:0 10px 1rem 10px;
}

.inner {
border:1px none #FF0000;
max-width:930px;
margin:0 auto;
clear:both;
padding:0 10px;
}

.mobile_break {
display:none;
}
@media (max-width:770px) {
	.mobile_break {
		display:block;
		clear:both;
		height:5px;
		visibility:hidden;
		}
	.max95percent {
		max-width:95%;
		}
}

.left {
text-align:left;
}

.narrow {
max-width:550px;
margin:0 auto;
}


.iw_xxx {
width:380px;
box-sizing:border-box;

}
@media (max-width:770px) {
	.iw_xxx {
		width:280px;
		}
	}
@media (max-width:520px) {
	.iw_xxx {
		width:230px;
		}
	}
@media (max-width:440px) {
	.iw_xxx {
		width:180px;
		}
	}
@media (max-width:320px) {
	.iw_xxx {
		width:160px;
		}
	}


.linkframe {
border:1px solid transparent;
}
a.linkframe:hover {
border:1px dashed #aaa;
border-radius:4px;
opacity:0.8;
}


tr, td {
text-align:left;
}

h1 {
font-size:40px;
font-weight:400;
line-height:140%;
margin:0;
}
@media (max-width:770px) {
	h1 {
		font-size:32px !important;
		line-height:130%;
		}
	}

h2 {
font-size:30px;
font-weight:400;
line-height:140%;
margin:0 0 5px 0;
}
@media (max-width:770px) {
	h2 {
		font-size:24px;
		line-height:130%;
		}
	}

h3 {
font-size:25px;
font-weight:400;
line-height:140%;
margin:0 0 5px 0;
}
@media (max-width:770px) {
	h3 {
		font-size:20px;
		line-height:130%;
		}
	}

h4 {
font-size:20px;
line-height:140%;
font-weight:400;
margin:0 0 5px 0;
}
@media (max-width:770px) {
	h4 {
		font-size:16px;
		line-height:130%;
		}
	}

h5 {
font-size:16px;
font-weight:400;
line-height:140%;
margin:0 0 5px 0;
}
@media (max-width:770px) {
	h5 {
		font-size:14px;
		line-height:140%;
		}
	}

.red {
color:#BB0000;
}
.green {
color:#009000;
}

.bold {
font-weight:600;
}

.nowrap {
white-space:nowrap;
}

.asterisk {
color:#fa6900;
}

table {
font-size:14px;
border-spacing:0;
border-collapse:separate;
border-top:1px solid #DDD;
border-left:1px solid #DDD;
border-right:1px solid #DDD;
border-radius:4px;
}

table tr {
}

table td, th {
text-align:left;
border-left:solid #DDD 1px;
border-bottom:solid #DDD 1px;
vertical-align:top;
padding:5px;
margin:0px;
}

td:first-child {
border-left: none;
}

table.noborder {
border:none;
}
table.noborder td {
border:none;
}

table.tight {
border-padding:0;
}
table.tight td, tr {
padding:0 0px 0 0px;
margin:0px;
}

table.semitight {
border-padding:1px;
}
table.semitight td, tr {
padding:1px 4px 1px 4px;
margin:0px;
}

table.airy {
border-padding:10px;
}
table.airy td, tr {
padding:10px 10px 10px 10px;
margin:0px;
}

table.middle td {
vertical-align:middle;
}

table.light td, th {
border-top:solid #EEE 1px;
border-right:solid #EEE 1px;
border-bottom:solid #EEE 1px;
border-left:solid #EEE 1px;
}

table tr.clickable {
	cursor:pointer;
	}
table tr.clickable:hover {
	background-color:#daf1f8;
	}

table tr.selected {
	background-color:#F0F4F6;
	}

.general.selected {
	color:#FFF;
	background-color:#666;
	}


.clear_mobile {
display:none;
}
.show_mobile {
	display:none !important;
	}
@media (max-width:770px) {
	.clear_mobile {
		display:block;
		clear:both;
		}
	.hide_mobile {
		display:none !important;
		}
	.show_mobile {
		display:initial !important;
		}
	}




input[type=submit], .submit {
border-radius:4px;
background-color: #27a1c5;
padding:5px 15px; 
border-top:1px solid #AAA; 
border-right:1px solid #666; 
border-bottom:1px solid #666; 
border-left:1px solid #AAA;
box-sizing:border-box;
color:#FFF;
margin-right:5px;
font-size:14px;
font-weight:400;
width:auto;
}
input[type=submit]:hover, .submit:hover {
opacity:0.8;
color:#FFF;
}

input, textarea, select {
border-radius:4px;
font-size:14px;
padding:6px;
box-sizing:border-box;
font-family: 'Open Sans', sans-serif;
background-color:#F6F6F6;
border:1px solid #999;
border-radius: 5px;
width:100%;
box-sizing:border-box;
}

textarea, input {
width:100%;
}

input[type=checkbox], input[type=radio] {
width:auto;
}

select {
width:auto;
}

select.compact {
padding:2px 2px;
font-size:12px;
}


ul li, ol li {
padding:4px 0;
}

li {
list-style-position:outside;
}

ul.tight li {
padding:2px 0;
}

hr.one {
border:0;
height:1px;
background-image: linear-gradient(to right, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.45), rgba(0, 0, 0, 0));
width:65%;
margin:1rem auto;
} 

hr.two {
border:0;
height:1px;
background-image: linear-gradient(to right, rgba(0, 0, 0, 1), rgba(0, 0, 0, 0));
width:65%;
margin:1.5rem 0;
} 

hr.three {
border:0;
height:20px;
background-image: linear-gradient(to right, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0));
width:100%;
margin:1.5rem 0;
} 

b {
font-weight:600;
}

.frontbutton {
	margin:0 auto; 
	font-size:1.25rem;
	line-height:140%;
	text-align:center;
	text-decoration:none;
	padding:10px;
	color:#000;
/*
background-color:rgba(229,234,240,0.5);
  border-top:1px solid #999;
  border-left:1px solid #999;
  border-right:1px solid #333;
  border-bottom:1px solid #333;
  border-radius:10px;
	*/
}

@media (max-width:770px) {
	.frontbutton {
		width:100%; 
		height:auto; 
	  padding:15px 15px;
	  margin:0 0% 2% 0%;
		}
	}
@media (min-width:770px) {
	.frontbutton {
		width:32.66666666%; 
		margin:0 1% 0 0;
		}
	}

.button {
color:#000;
display:inline-block;
/*background-color:#27a1c5;*/
background-color:#daf1f8;
border-radius:4px;
border-top:1px solid #BBB;
border-right:1px solid #666;
border-bottom:1px solid #666;
border-left:1px solid #BBB;
padding:3px 8px;
margin:0 2px 0 0;
text-align:center;
}
.button.large {
padding:4px 10px;
}
.button.xl {
padding:6px 12px;
}
.button.xxl {
padding:8px 16px;
}
.button:hover {
opacity:0.8;
text-decoration:underline;
}

@media (max-width:770px) {
	.button {
		color:#222;
		background-color:#daf1f8;
		border-radius:4px;
		border-top:1px solid #BBB;
		border-right:1px solid #666;
		border-bottom:1px solid #666;
		border-left:1px solid #BBB;
		padding:6px 10px;
		margin:2px 2px 2px 0;
		display:inline-block;
		white-space:nowrap;
		}
	.button.fullwidth {
		text-align:center;
		box-sizing: border-box;
		width:100%;
		margin:0.5rem 0;
		}
	}

.button.selected {
	color:#FFF;
	background-color:#00796C;
	}

.aboutbutton {
	white-space:nowrap; 
	margin:0 5px 10px 0; 
	display:block; 
	float:left;
	}
@media (max-width:770px) {
	.aboutbutton {
		float:none;
		}
	}



.frontbutton:hover {
opacity:1;
color:#000;
}


.moreless_container:hover {
opacity:1;
}

.moreless{
	margin:0;
	max-width:150px;
	}

@media (max-width:770px) {
	.moreless{
		padding:2px 4px;
		margin:0 0 0 0;
		/* background-color:#EEE; */
		max-width:150px;
		}
	}

.close {
display:block;
float:right;
color:#000;
line-height:1rem;
color:#FFF;
background-color:#444;
border-radius:4px;
border-right:1px solid #666;
border-bottom:1px solid #666;
padding:8px 10px;
font-size:90%;
margin:0 0px 5px 5px;
}
.close:hover {
opacity:0.8;
text-decoration:underline;
}


.saved {
position:absolute; 
color:#FA6900;
padding:20px; 
border:3px solid #FA6900; 
border-radius:15px; 
background-color:#FFF; 
min-width:200px; 
text-align:center;
}

.cool {
border:1px solid #666;
background-color:#FA6900;
color:#FFF;
}

.cool:hover {
background-color:#FA6900;
color:#FFF;
opacity:0.8;
}

.error {
font-style:italic;
color:#900000;
text-decoration:underline;
font-size:140%;
}
.success {
color:#008000;
}
.alert {
color:#900000;
}

.xxxxl {
  font-size:4rem;
  line-height:3.85rem;
}
@media (max-width:770px) {
	.xxxxl {
	  font-size:2.25rem;
	  line-height:2.85rem;
	}
	}

.xxxl {
  font-size:2.25rem;
  line-height:2.85rem;
}

.xxl {
  font-size:1.65rem;
  line-height:2.25rem;
}

.xl {
  font-size:1.25rem;
  line-height:1.85rem;
}

.normal {
font-size:14px;
}

.small {
font-size:13px;
line-height:140%;
}

.xs {
font-size:12px;
line-height:18px;
}

.xxs {
font-size:11px;
line-height:17px;
}

.xxxs {
font-size:10px;
line-height:16px;
}

.xlarge {
  font-size:1rem;
  line-height:2.7rem;
  border-radius:4px;
  padding:10px 20px;
}

.large {
  font-size:1rem;
  line-height:1.4rem;
  border-radius:4px;
  padding:4px 12px;
  margin-right:5px;
}

.midi {
}
@media (max-width:770px) {
	.midi {
	  padding:3px 6px;
		margin:2px 5px 2px 0;
		}
	}

.mini {
  padding:2px 4px;
  font-size:0.8rem;
  margin:0 2px 0 0;
}

.mellomtittel {
 margin:1.8rem 0 0.2rem 0;
 display:block;
}

.selected {
border-bottom: 1px solid #666;
}
.selected.white {
border-bottom: 1px solid #FFF;
}



.blue {
color:#27a1c5;
}


.clearfix:before,
.clearfix:after {
    content: " ";
    display: table;
}

.clearfix:after {
    clear: both;
}

#relationbox table, #relationbox select {
	font-size:12px;
	line-height:150%;
	width:100%;
}

#relationbox td, #relationbox select {
	padding:1px 3px;
}


/* FLEX-TABLE */

[role="table"] {
width:100%;
border-collapse: collapse;
}

[role="table"] [role="row"] {
	display:flex;
	flex-direction: row;
	flex-wrap: no-wrap;
	width:100%;
	box-sizing:border-box;
}

@media (max-width: 770px) {
    [role="table"] [role="row"] {
		flex-direction: column;
		margin-top: 1rem;
    }
	   [role="table"].border [role="row"] {
		border-radius:8px;
		border:1px solid #999;
		padding:10px;
		background-color:#F0F4F6;
    }
	[role="table"] [role="cell"] {
		width:100% !important;
		text-align:left !important;
		overflow-wrap: break-word;
		word-wrap: break-word;
		word-break: break-word;
		hyphens: auto;
		flex:0 0 100% !important;
	}
}

[role="table"] [role="cell"] {
	flex: 1 1 auto;
	display:table-cell;
	padding: 5px 10px 5px 0;
	box-sizing:border-box;
}

[role="table"] [role="cell"]:nth-child(1) {
	width:20%;
}
[role="table"] [role="cell"]:nth-child(2) {
	width:80%;
}

[role="table"].compact [role="cell"] {
padding:4px 2px;
}


.center {
	text-align:center;
	margin-left:auto;
	margin-right:auto;
}



a {
padding:0;
border-bottom:1px solid transparent;
/*background-color: rgba(201, 213, 235, 0.75);*/
color: #1d82a0;
/*color:#27a1c5;*/
text-decoration: none;
}

a:hover:not(.procon) {
opacity:0.9;
/*color: #fa6900;*/
border-bottom:1px solid #666;
}

@media (max-width:770px) {
	a {
/*		white-space:nowrap;
		background-color:#daf1f8;
		border-top:1px solid #BBB;
		border-right:1px solid #666;
		border-bottom:1px solid #666;
		border-left:1px solid #BBB;
		border-radius:4px;
		padding:0px 8px;
		font-size:0.9rem;
		display:inline-block;
		margin:2px 2px 2px 0; */
		}
	a:hover {
		}
	}

a.white {
color:#FFF;
}
a.white:hover {
color:#EEE;
border-bottom:1px solid #EEE;
}

/* Ikke forandre formatering på a */	
.plain {
border:1px solid transparent;
background-color:transparent;
margin:0;
padding:0;
}
.plain:hover {
border:1px solid transparent;
}