@charset "UTF-8";
/* CSS Document */

html, body {
	margin: 0;
	padding: 0;
	width: 100%;
	height: 100%;
	font-family: 'Nunito Sans', sans-serif; /* 200,300,400,700,800,900 */
	font-weight: 400;
	font-style: normal;
	font-size: 10px;
	line-height: normal;
	color: #222;
	background: #FFF;
	-moz-text-size-adjust: none;
	-ms-text-size-adjust: none;
	-webkit-text-size-adjust: none;
	background-color: #FFF;
	-webkit-font-smoothing: antialiased;
/*-webkit-font-smoothing: subpixel-antialiased;*/
}

/* ===================================== colors / backgrounds ============================== */

body, html {
	background: #EBEBEB;
}

main {
	background: #F4F4F4;
}

.darkblue-bg {
	background:#005078;
}

.darkblue-bg h2, .darkblue-bg p {
 color: #FFF;
}

/* ===================================== Main blocks ================================== */

article, aside, canvas, figure, figcaption, footer, header, hgroup, #menu, nav, section, address, main, img {  
	display: block;
	padding: 0;
	margin: 0;
}

html {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

*, *:before, *:after {
	-webkit-box-sizing: inherit;
 	-moz-box-sizing: inherit;
	box-sizing: inherit;
}

#page, .widthlimit {
	width: 100%;
	max-width: 1400px;
	margin: 0 auto;
}

main, section, .fullwidth, header, footer, .excerpt, .articlerow, .addressinfo, #banner {
	float: left;
	width: 100%;
	clear: both;
}

.textcolumnlimit {
	width: 100%;
	max-width: 760px;
	margin: 0 auto;
}

figure, img {
	width: 100%;
}

a, a:active, a:focus, img, img a, a img {
	outline: none;
	outline: 0;
}

img, a img {
	border: none;
	border: 0;
}

:focus {
    outline: none !important;
}

.oneof4, .twoof4, .threeof4, .fourof4, .oneof3, .oneof2, .halfcolumn, .column-1-4, .contentcolumn, .subnavcolumn, .twothirds, .column-1-4, .externalarticle {
	float: left;
}

.flex-stretch {
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	flex-wrap: wrap;
}

.flex-center {
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
}


@media screen and (max-width: 767px) {
	.oneof3, .twothirds, .halfcolumn {
		width: 100%;
		clear: both;
	}
}

@media screen and (min-width: 768px) {
	.oneof3 {
		width: 33.33%;
	}
	.twothirds {
		width: 66.67%;
	}
	.halfcolumn {
		width: 50%;
	}
	.columns {
		column-count: 2;
		column-gap: 40px;
	}
}

@media screen and (max-width: 499px) {
	.oneof4, .twoof4, .threeof4, .fourof4, .column-1-4, .externalarticle {
		width: 100%;
		clear: both;
	}
}

@media screen and (min-width: 500px) and (max-width: 1023px) {
	.oneof4, .twoof4, .threeof4, .fourof4, .column-1-4, .externalarticle {
		width: 50%;
	}
	.oneof4, .threeof4 {
		clear: left;
	}
	.twoof4, .fourof4 {
		clear: right;
	}
}

@media screen and (min-width: 1024px) {
	.oneof4, .twoof4, .threeof4, .fourof4, .column-1-4 {
		width: 25%;
	}
	.externalarticle {
		width: 33.33%;
	}
	.oneof4 {
		clear: left;
	}
	.fourof4 {
		clear: right;
	}
	.twoof4, .threeof4, .column-1-4 {
		clear: none;
	}
}

#banner {
	background-repeat: no-repeat;
    background-position: center center;
	background-size: cover;
}


/* ============================ Paddings ============================ */

.oneof2, .oneof3, .twothirds, .oneof4, .twoof4, .threeof4, .fourof4, .column-1-3, -column-1-2, .column-1-3 {
	margin-top: 20px;
	margin-bottom: 20px;
	float: left;
}

@media screen and (max-width: 500px) {
	.halfpadding {
		padding-left: 7px;
		padding-right: 7px;
	}
	.fullpadding {
		padding-left: 14px;
		padding-right: 14px;
	}
	.halfpaddingaround {
		padding: 7px 7px 7px 7px;
	}
	.fullpaddingaround {
		padding: 14px 14px 14px 14px;
	}
	section {
		padding-top: 30px;
		padding-bottom: 30px;
	}
	.neg-margin {
		margin-top: -40px;
	}
	#banner {
		height: 240px;
	}
}

@media screen and (min-width: 501px) and (max-width: 768px) {
	.halfpadding {
		padding-left: 15px;
		padding-right: 15px;
	}
	.fullpadding {
		padding-left: 30px;
		padding-right: 30px;
	}
	.halfpaddingaround {
		padding: 15px 15px 15px 15px;
	}
	.fullpaddingaround {
		padding: 30px 30px 30px 30px;
	}
	section {
		padding-top: 30px;
		padding-bottom: 30px;
	}
	.neg-margin {
		margin-top: -60px;
	}
	#banner {
		height: 380px;
	}
}

@media screen and (min-width: 769px) and (max-width: 1000px) {
	.halfpadding {
		padding-left: 20px;
		padding-right: 20px;
	}
	.fullpadding {
		padding-left: 40px;
		padding-right: 40px;
	}
	.halfpaddingaround {
		padding: 20px 20px 20px 20px;
	}
	.fullpaddingaround {
		padding: 40px 40px 40px 40px;
	}
	section {
		padding-top: 40px;
		padding-bottom: 40px;
	}
	.neg-margin {
		margin-top: -80px;
	}
	#banner {
		height: 500px;
	}
}

@media screen and (min-width: 1001px) {
	.halfpadding {
		padding-left: 30px;
		padding-right: 30px;
	}
	.fullpadding {
		padding-left: 60px;
		padding-right: 60px;
	}
	.halfpaddingaround {
		padding: 30px 30px 30px 30px;
	}
	.fullpaddingaround {
		padding: 60px 60px 60px 60px;
	}
	section {
		padding-top: 60px;
		padding-bottom: 60px;
	}
	.neg-margin {
		margin-top: -100px;
	}
	#banner {
		height: 550px;
	}
}

/* =============================== Animation =============================== */

input[type="submit"], input[type="button"], button, .btn, .underline, .addressinfo,
#consent a.button-ish-link, .clickable {
	-webkit-transition: all .3s ease-in-out;
	-moz-transition: all .3s ease-in-out;
	-o-transition: all .3s ease-in-out;
	transition: all .3s ease-in-out;
}




/* ==================================== Typografi ==================================== */

/* reset */

h1, h2, h3, h4, h5, h6, p, ul, ol, li, blockquote {
	padding: 0;
	margin: 0;
}

p {
	font-size: 1.6em;
	line-height: 1.6em;
	margin-bottom: 1em;
}

a {
	color: #00aeef;
}

ul, ol {
	font-size: 1.6em;
	line-height: 1.6em;
	padding-left: 26px;
	margin-bottom: 1em;
}

b, strong {
	font-weight: 700;
}

h1, h2.heading1 {
	font-weight: 200;
	margin-bottom: .6em;
}

h2 {
	font-weight: 200;
	margin-bottom: .6em;
}

h3 {
	font-size: 1.6em;
	line-height: normal;
	margin-bottom: .5em;
	font-weight: 700;
}

h4 {
	font-size: 1.6em;
	line-height: 1.6em;
	font-weight: 700;
}

h5, th {
	font-size: 1.6em;
	line-height: 1.6em;
	font-weight: 200;
	text-transform: uppercase;
	margin-bottom: .5em;
}

h1 > strong, , h2.heading1 > strong {
	font-weight: 900;
}

@media screen and (max-width: 767px) {
	h1, h2.heading1 {
		font-size: 2.9em;
		font-weight: 300;
	}
	h2 {
		font-size: 2.3em;
		font-weight: 300;
	}
	.excerpt p, p.excerpt {
		font-size: 1.6em;
		font-weight: 700;
	}
}

@media screen and (min-width: 768px) and (max-width: 1023px) {
h1, h2.heading1 {
		font-size: 3.8em;
	}
	h2 {
		font-size: 2.6em;
font-weight: 300;
	}
	.excerpt p, p.excerpt {
		font-size: 2em;
	}
}

@media screen and (min-width: 1024px) {
	h1, h2.heading1 {
		font-size: 4.2em;
	}
	h2 {
		font-size: 3em;
	}
	.excerpt p, p.excerpt {
		font-size: 2.4em;
		font-weight: 300;
	}
}

.centered-content {
	text-align: center;
}

/* ================================== Header ================================= */

header {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 2;
}

.contacttrigger {
	display: inline-block;
	float: right;
	clear: none;
	background: url(https://garanticonsult.no/images/common/contacttrigger-icon.svg) no-repeat center center;
}

.logout {
	display: inline-block;
	float: right;
	clear: none;
	background: url(https://garanticonsult.no/images/common/logout-red.svg) no-repeat center center;
}

.login {
	display: inline-block;
	float: right;
	clear: none;
	background: url(https://garanticonsult.no/images/common/login.svg) no-repeat center center;
}

#logo {
	float: left;
	clear: none;
	background: url(https://garanticonsult.no/images/common/signatur.svg) no-repeat center center;
	background-size: contain;
}


@media screen and (max-width: 1023px) {
	#page {
		padding-top: 50px;
	}
	#navtrigger, .contacttrigger, .logout, .login {
		width: 50px;
		height: 50px;
		float: right;
		clear: none;
		border-left: 1px solid #555;
		cursor: pointer;
	}
    #smallscreennav {
        display: none;
    }
    #logo {
        width: 160px;
        height: 50px;
    }
	#icon-container {
		display: inline-block;
		float: right;
		clear: none;
	}
	header > .widthlimit > .fullwidth.fullpadding {
		padding-right: 0;
	}
}

@media screen and (min-width:1024px) {
	#page {
		padding-top: 60px;
	}
	#icon-container {
		/*display: none;*/
		display: inline-block;
		float: right;
		clear: none;
	}
    #smallscreennav {
        display: none;
    }
    #logo {
		width: 180px;
		height: 60px;
    }
	#navtrigger, .contacttrigger, .logout, .login {
		width: 60px;
		height: 60px;
		float: right;
		clear: none;
		border-left: 1px solid #555;
		cursor: pointer;
	}
}


#navtrigger {
	background: url(https://garanticonsult.no/images/common/navtrigger-icon.svg) no-repeat center center;
}

header ul {
	margin-bottom: 0;
}

ul#largescreennav {
    clear: none;
	float: right;
}

ul#largescreennav li {
	float: left;
	list-style: none;
	line-height: normal;
}

ul#largescreennav li a {
    line-height: 60px;
	margin-left: 20px;
	font-size: 1.3rem;
}


header li a {
    text-decoration: none;
    font-weight: 500;
    text-transform: uppercase;
    color: #FFF;
}

.no-touchdevice header a:hover, header li.here a {
    color: #00aeef;
}

ul#smallscreennav {
padding-left: 0;
}

ul#smallscreennav, ul#smallscreennav li {
list-style: none;
text-align: center;
}

ul#smallscreennav li a {
	font-weight: 300;
	line-height: 48px;
	border-bottom: 1px solid #555;
	display: block;
}


/* ====================================== Article listing ======================================== */

.articlerow.even {
	flex-direction: row-reverse;
}

.articleimage {
	background-color: #EEE;
	background-repeat: no-repeat;
    background-position: center center;
	background-size: cover;
}


@media screen and (max-width: 599px) {
	.oneof2, .articleimage, .articletext {
		width: 100%;
		float: left;
		clear: both;
	}
	.articleimage {
		min-height: 240px;
	}
}

@media screen and (min-width: 600px) {
	.articlerow {
		position: relative;
		margin-top: 7vh;
		margin-bottom: 7vh;
	}
	.articleimage {
		width: 50%;
		float: right;
		clear: none;
		z-index: 0;
	}
	.articletext {
		width: 50%;
		float: left;
		clear: none;
		margin-top: 7vh;
		margin-bottom: 7vh;
        background: #F4F4F4;
		z-index: 1;
	}
	.articleimage {
		position: absolute;
		top: 0;
		bottom: 0;
	}
	.articlerow.even > .articleimage {
		right: 0;
	}
	.articlerow.even > .articletext {
		margin-right: 50%;
	}
	.articlerow.odd > .articletext {
		margin-left: 50%;
	}
}

/* ====================================== Garantilisting ================================== */

.garanti.even {
    background: #FFF;
}

.garanti.category-1 {
	border-left: 6px solid #39b54a;
}

.garanti.category-2 {
	border-left: 6px solid #f7931e;
}

.garanti.category-3 {
	border-left: 6px solid #dd0000;
}

.garanti.category-4 {
	border-left: 6px solid #ffff00;
}

.accordionheader {
	padding-top: 15px;
	padding-bottom: 15px;
	background: #fff;
	float: left;
	width: 100%;
	clear: both;
	cursor: pointer;
	margin-top: 2px;
	line-height: normal;
}

.accordionheader.category-1 {
	border-left: 6px solid #39b54a;
}

.accordionheader.category-2 {
	border-left: 6px solid #f7931e;
}

.accordionheader.category-3 {
	border-left: 6px solid #dd0000;
}

.accordionheader.category-4 {
	border-left: 6px solid #ffff00;
}


/* ====================================== Buttons / links ==================================== */


a.textlink {
	padding: 5px 20px 5px 0px;
	background: url(https://garanticonsult.no/images/common/simplearrow-right.svg) no-repeat right center;
	color: #222;
	font-size: 1.6rem;
	line-height: 1.6rem;
	font-weight: 400;
	border-bottom: 1px solid #00aeef;
	text-decoration: none;
	text-transform: uppercase;
	display: inline-block;
}

.garanti a {
	text-decoration: none;
}

a > span.darklink {
	border-bottom: 1px solid #00aeef;
	color: #222;
	font-weight: 600;
}

/* ================================ Select filter ================================= */

#select-filter > button, #select-filter > button:hover {
	border-top: none;
	border-left: none;
	border-right: none;
	padding: 0 0 3px 0;
	margin-right: 24px;
	float: left;
	clear: none;
	border-bottom: 3px solid #00aeef;
	background: transparent;
	color: #444;
}

#select-filter > button.category-1, #select-filter > button.category-1:hover {
	border-color: #39b54a;
}

#select-filter > button.category-2, #select-filter > button.category-2:hover {
	border-color: #f7931e;
}

#select-filter > button.category-3, #select-filter > button.category-3:hover {
	border-color: #dd0000;
}

#select-filter > button.category-4, #select-filter > button.category-4:hover {
	border-color: #ffff00;
}

#select-filter > button.mixitup-control-active {
	color: #999;
	border-color: #BBB;
}

/* =============================== Footer elements ================================ */

footer {
    padding-top:30px;
    padding-bottom: 30px;
}

footer p, footer h4 {
	font-size: 1.5rem;
	line-height: 1.5em;
}

a.addressinfo {
	color: #333;
	text-decoration: none;
}

.addressinfo {
	padding-left: 80px;
}

.no-touchdevice .addressinfo.streetaddress {
    background: url(https://garanticonsult.no/images/common/streetaddress-outline.svg) no-repeat 0px 6px;
}
.no-touchdevice .addressinfo.streetaddress:hover, .touchdevice .addressinfo.streetaddress {
    background: url(https://garanticonsult.no/images/common/streetaddress-outline-blue.svg) no-repeat 0px 6px;
}

.no-touchdevice .addressinfo.mail {
    background: url(https://garanticonsult.no/images/common/mail-outline.svg) no-repeat 0px 6px;
	font-size: 2em;
    line-height:70px;
}
.no-touchdevice .addressinfo.mail:hover, .touchdevice .addressinfo.mail {
    background: url(https://garanticonsult.no/images/common/mail-outline-blue.svg) no-repeat 0px 6px;
}

.addressinfo.phone {
    background: url(https://garanticonsult.no/images/common/phone-outline.svg) no-repeat 0px 6px;
    font-size: 2.2em;
    line-height:70px;
}
.addressinfo.phone:hover, .touchdevice .addressinfo.phone {
    background: url(https://garanticonsult.no/images/common/phone-outline-blue.svg) no-repeat 0px 6px;
}

/* ======================================== Contact form ==================================== */


#contact {
	width: 100%;
	min-height: 100%;
	position: fixed;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	overflow-y: scroll !important;
	background: rgba(0,0,0,.6);
	padding-top: 100px;
	padding-bottom: 100px;
	display: none;
    z-index: 3;
}

#contact .form-background {
	border-radius: 6px;
	-webkit-border-radius: 6px;
	-moz-border-radius: 6px;
	background: #FFF;
	margin: 0 auto;
	width: 90%;
	max-width: 600px;
}

#close-button {
	width:40px;
	height:40px;
	float:right;
	margin-top: -20px;
	margin-right: -20px;
	cursor: pointer;
}

button[type=submit] {
-webkit-appearance: none;
  -moz-appearance: none;
   appearance: none;
}

button, button[type=submit], .btn, a.btn {
	font-weight: 700;
	text-transform: uppercase;
	text-decoration: none;
	font-size: 1.3em;
	padding: 10px 30px;
	border-radius: 0;
	border: 2px solid #444;
	cursor: pointer;
	color: #444;
	display: block;
	clear: both;
	width: auto;
	float: left;
	background: transparent;
}

.no-touchdevice button:hover, .no-touchdevice button[type=submit]:hover, .no-touchdevice .btn:hover, .no-touchdevice a.btn:hover {
	background-color: #444;
	color: #FFF;
}

input[type=text], input[type=email] {
	border:0;
	border: none;
	border: 1px solid #666;
	border-radius: 0;
	padding: 7px 6px;
	font-size: 1.5em;
	font-weight: 400;
	margin-bottom: 10px;
	width: 100%;
	clear: both;
}

input[type=submit] {
	float:left;
	clear:both;
	width: auto;
	border: 1px solid #009EE2;
	background: #FFF;
	height: 40px;
	border-radius: 20px;
	font-size: 1.3em;
	font-weight: 500;
	color: #666;
	margin: 0;
	padding-left: 30px;
	padding-right: 55px;
	margin:0;
}

.no-touchdevice input[type=submit]:hover {
/*	padding-left: 40px;
	padding-right: 45px;*/
	color: #FFF;
	background: #009EE2;
/*	background-attachment: absolute;
	background-image: url(https://garanticonsult.no/images/common/arrow-right-white-small.svg);
	background-repeat: no-repeat;
	background-position: right 20px center;*/
}

.formwrapper .clickable {
	margin-top: 30px;
}

.field-error, label > .field-error {
	color: #CC3333;
	font-size: 1rem;
}

input[type=text].errorclass {
	color: #993333;
	border-color: #993333;
}

.formwrapper {
	width: 100%;
	clear:both;
/*	padding: 10px 30px 30px 30px;*/
}

.formwrapper:after {
    content: "";
    display: table;
    clear: both;
}

#contact-thanks {
	display: none;
}

a.clickable {
	line-height: normal;
	margin: 0;
	padding: 0;
	text-decoration: none;
}

.clickable, a.clickable {
	display: table;
	height: 46px;
	text-align: center;
	font-size: 1.3em;
	padding: 0 40px;
	cursor: pointer;
	font-weight: 700;
	line-height: normal;
	text-transform: uppercase;
	color: #FFF;
	background: #009EE2;
}

.clickable span, a.clickable span {
	display: table-cell;
	vertical-align: middle;
}

.clickable.inverse, a.clickable.inverse {
    background: transparent;
    color: #FFF;
    border: 2px solid #FFF;
}

.clickable.greybordered, a.clickable.greybordered {
    background: transparent;
    color: #333;
    border: 2px solid #333;
}

.no-touchdevice .clickable.inverse:hover, .no-touchdevice a.clickable.inverse:hover {
    background: #FFF;
    border-color: #FFF;
    color: #222;
}

.no-touchdevice .clickable.greybordered:hover, .no-touchdevice a.clickable.greybordered:hover {
    background: #333;
    color: #fff;
}

#close-button {
	border-radius: 50%;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	background: #00aeef;
}

label.freeform-label {
	font-weight: 700;
}


/* === Honey trap === */

#name {
	display: none;
}

/* == Checkbox / radio button styling == */

.fancyinput {
  -ms-user-select: none;
  position: relative;
}

label {
	font-size: 1.3em;
}

label.blockify {
    display: block;
  }
  input[type='checkbox'],
  input[type='radio'] {
    cursor: pointer;
    width: auto;
    height: auto;
    padding: 0;
  }

.fancyinput [type='checkbox']:checked + label,
.fancyinput [type='checkbox']:not(:checked) + label,
.fancyinput [type='radio']:checked + label,
.fancyinput [type='radio']:not(:checked) + label {
  position: relative;
  padding-left: 30px;
  cursor: pointer;
}

.fancyinput [type='checkbox']:checked,
.fancyinput [type='checkbox']:not(:checked),
.fancyinput [type='radio']:checked,
.fancyinput [type='radio']:not(:checked) {
  position: absolute;
  opacity: 0;
}

.fancyinput [type='checkbox']:checked + label:before,
.fancyinput [type='checkbox']:not(:checked) + label:before,
.fancyinput [type='radio']:checked + label:before,
.fancyinput [type='radio']:not(:checked) + label:before {
  content: '';
  position: absolute;
  left: 0;
  width: 22px;
  height: 22px;
  border: 1px solid #444;
  background: #fff;
}

.fancyinput [type='checkbox']:checked + label:before,
.fancyinput [type='checkbox']:not(:checked) + label:before {
  border-radius: 0px;
  margin-top: 1px;
}

.fancyinput [type='radio']:checked + label:before,
.fancyinput [type='radio']:not(:checked) + label:before {
  border-radius: 50%;
  margin-top: 3px;
}

.fancyinput [type='checkbox']:focus + label:before,
.fancyinput [type='checkbox']:checked + label:before,
.fancyinput [type='radio']:focus + label:before,
.fancyinput [type='radio']:checked + label:before {
  border-color: #444;
}

.fancyinput [type='checkbox']:focus + label:before,
.fancyinput [type='radio']:focus + label:before {
  border-color: #444;
}

.fancyinput [type='checkbox']:checked + label:after {
  content: '';
  display: block;
  position: absolute;
  background: url(https://garanticonsult.no/images/common/checkbox-check.svg);
  background-size: contain;
  background-repeat: no-repeat;
  border-color: #444;
  height: 12px;
  width: 12px;
  top: 7px;
  left: 5px;
}

.fancyinput [type='radio']:checked + label:after {
  content: '';
  display: block;
  position: absolute;
  background: url(/assets/radio-check.svg);
  background-size: contain;
  background-repeat: no-repeat;
  border-color: #444;
  height: 12px;
  width: 12px;
  top: 7px;
  left: 4px;
}

.fancyinput label.blockify {
  display: block;
  margin: 5px 0;
}

.fancyinput-label {
  width: 100%;
}


/* ================================== Loginform ================================== */

.loginform {
	width: 100%;
	max-width: 300px;
	margin: 0px auto;
}

.loginform input[type="text"], .loginform input[type="password"] {
	width: 100%;
	padding: 8px;
	font-size: 16px;
	border: 1px solid #666;
	margin-bottom: 0px;
}

.loginform label {
	font-size: 11px;
	font-weight: 700;
}

.loginform input[type="submit"] {
	border: none;
	background: #222;
	color: #FFF;
	font-size: 12px;
	font-weight: 700;
	padding: 11px 8px;
	width: 100%;
	border-radius: 0;
	text-transform: uppercase;
	margin-top: 15px;
}

/* ================================= Consent ================================= */

#consent {
	width: 100%;
	position: fixed;
	left: 0;
	bottom: 0;
	z-index: 4;
	padding-top: 15px;
	padding-bottom: 15px;
	background: #222;
	color: #FFF;
}

#consent p {
	font-size: 1.2em;
	float: left;
	line-height: 1.4em;
	padding: 5px 20px 5px 0;
	margin-bottom: 5px;
	color: #FFF;
}

#consent a {
	color: #FFF;
	font-weight: 700;
}

#consent a.button-ish-link {
	font-size: 1.1em;
	float: left;
	padding: 6px 19px 5px 19px;
	border: 1px solid #FFF;
	color: #FFF;
	text-decoration: none;
}

#consent a.button-ish-link:hover {
	background: #FFF;
	color: #222;
}