/* Body */

html, body {
	height: 100%;
}

.wrapper {
	margin: 0 auto;
	padding: 1px 0;
	max-width: 940px;
}

#cookie_approve_banner {
	position: fixed;
	z-index: 1000;
	right: 0;
	bottom: 0;
	left: 0;
	padding: 1px 0;
	width: 100%;
	background: #004a8d;
	background: rgba(0, 74, 141, 0.95);
	font-size: 14px;
	color: #fff;
}

#cookie_approve_banner p {
	margin: 20px;
	padding-right: 160px;
}

#cookie_approve_banner a {
	color: #adadad;
}

#cookie_approve_banner .button-cookie {
	display: inline-block;
	vertical-align: middle;
	float: right;
	position: relative;
	left: 160px;
	margin: -10px 10px 0;
	padding: 10px 20px;
	background: #fff;
	border-radius: 6px;
	font-weight: 600;
	color: #333;
	text-decoration: none;
}

#cookie_approve_banner .button-cookie:hover, #cookie_approve_banner .button-cookie:focus {
	color: #333;
}

/*
 * Header
 */

#header {
	position: fixed;
	z-index: 500;
	top: 0;
	right: 0;
	left: 0;
	height: 83px;
	background: #fff;
	border-top: 3px solid #03c;
}

#header_logo {
	float: left;
	margin-top: 13px;
}

#header_logo img {
	width: 173px;
}

/* Menu */

#menu_open {
	display: none;
}

#menu ul, #menu ul li, #menu ul li a {
	display: inline-block;
}

#menu {
	text-align: right;
}

#menu ul li a {
	padding: 24px 10px;
	font-family: 'Open Sans Condensed', sans-serif;
	font-weight: 700;
	font-size: 16px;
	color: #000;
	text-transform: uppercase;
}

#menu ul ul {
	display: none;
}

#menu ul li a.current, #menu ul li a:hover {
	color: #03c;
}

.is-startpage #menu ul li a.current, .is-startpage #menu ul li a:hover {
	color: #000;
}

/*
 * Banner
 */
#banner {
	padding-top: 83px;
	height: 40%;
}

#banner .parallax-frame {
	background-position: center center;
	background-size: cover;
}

/*
 * Google Maps
 */

.gm-style img {
	max-width: none;
}

/*
 * Position elements off screen
 */

.off-screen {
	overflow: hidden;
	width: 1px;
	height: 1px;
	white-space: nowrap;
	text-indent: 100%;
}

/*
 * Content
 */

#content {
	padding-bottom: 110px;
}

#content.wrapper {
	background: url('../images/site/bg-intro.png') no-repeat center right;
}

#inner_content {
	float: right;
	margin-left: 20px;
	width: calc(100% - 270px);
}

#submenu {
	float: left;
	position: relative;
	top: -80px;
	margin-top: 37px;
	width: 250px;
	min-height: 250px;
	background: url('../images/site/bg-sidebar.png') no-repeat;
	background-size: cover;
}

#submenu h2 {
	margin-top: 10px;
	margin-bottom: 15px;
	font-family: 'Open Sans Condensed', sans-serif;
	font-size: 20px;
	color: #133cb5;
	letter-spacing: 0;
}

#submenu > *:first-child {
	padding-top: 30px;
}

#submenu > * {
	padding-right: 35px;
	padding-left: 35px;
}

#submenu ul {
	list-style-type: none;
}

#submenu ul li a {
	display: block;
	position: relative;
	padding: 5px 0;
	font-family: 'Open Sans Condensed', sans-serif;
	font-weight: 700;
	font-size: 16px;
	color: #000;
}

#submenu ul li:first-child a {
	font-size: 18px;
}

#submenu ul li a:hover {
	color: #03c;
}

#submenu ul li a.current {
	padding-left: 13px;
}

#submenu ul li a.current:before {
	content: '»';
	display: block;
	position: absolute;
	top: 11px;
	left: 0;
	width: 13px;
	height: 17px;
	font-size: 17px;
	line-height: 13px;
	color: #03c;
}

/*
 * Startpage specific
 */

.is-startpage #banner {
	height: 73%;
}

.is-startpage #content {
	padding-top: 0;
	padding-bottom: 0;
}

.is-startpage h1, .is-startpage .h1 {
	text-align: center;
}

#startpage_content {
	padding-top: 75px;
	padding-bottom: 110px;
	background: url('../images/site/bg-intro.png') no-repeat center right;
}

#startpage_news {
	padding: 70px 0;
	background-color: #e6e7fd;
	text-align: center;
}

#startpage_news .wrapper > .read-more {
	margin-top: 31px;
}

#startpage_news .news-item {
	display: block;
	overflow: hidden;
	box-sizing: border-box;
	position: relative;
	margin: 10px;
	padding: 20px;
	height: 213px;
	background-color: #fff;
	color: #000;
}

#startpage_news .inline-1-3:nth-child(3n) .news-item {
	margin-right: 0;
}

#startpage_news .inline-1-3:nth-child(3n-2) .news-item {
	margin-left: 0;
}

#startpage_news .news-item .headline {
	display: block;
	margin-bottom: 12px;
	font-weight: 700;
	font-size: 15px;
}

#startpage_news .news-item .pubdate {
	display: inline-block;
	margin: 0 auto;
	margin-bottom: 13px;
	padding: 5px;
	background-color: #acaefa;
	font-weight: 600;
	font-size: 12px;
	color: #fff;
}

#startpage_news .news-item .news-content {
	text-align: justify;
}

#startpage_news .news-item .read-more {
	display: block;
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	width: auto;
	background-color: transparent;
	font-size: 14px;
	color: #1141cf;
	text-align: center;
	text-transform: inherit;
}

#startpage_business {
	box-sizing: border-box;
	padding: 55px 0;
	height: 500px;
	background: url('../images/site/bg-services.jpg') no-repeat;
	background-attachment: fixed;
	background-size: cover;
}

#startpage_business .slick-list {
	margin: 0 auto;
	max-width: 860px;
}

#startpage_business .slick-prev, #startpage_business .slick-next {
	overflow: hidden;
	position: absolute;
	z-index: 2;
	top: 50%;
	margin-top: -7.5px;
	width: 50px;
	height: 50px;
	background-repeat: no-repeat;
	text-indent: 100%;
}

#startpage_business .slick-prev {
	left: 20px;
	background-image: url('../images/site/icon-left-arrow.png');
}

#startpage_business .slick-next {
	right: 20px;
	background-image: url('../images/site/icon-right-arrow.png');
}

#startpage_business .slide, #startpage_business .business-item {
	height: 100%;
}

#startpage_business .business-item {
	display: block;
	position: relative;
	margin: 0 5px;
	width: 310px;
	background-color: #fff;
}

#startpage_business .business-item .h1 {
	display: block;
	margin: 20px 0 15px;
	font-weight: 700;
	font-size: 18px;
	letter-spacing: normal;
	text-align: center;
}

#startpage_business .business-item .business-content {
	overflow: hidden;
	margin-bottom: 50px;
	padding: 0 20px;
	height: 120px;
	color: #2d2d2d;
	text-align: center;
}

#startpage_business .business-item .business-content > * {
	margin-top: 0;
	padding-top: 0;
}

#startpage_business .business-item .business-content:before {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100px;
	background: -moz-linear-gradient(top, rgba(254,255,255,0) 0%, rgba(255,255,255,1) 53%, rgba(255,255,255,1) 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(top, rgba(254,255,255,0) 0%,rgba(255,255,255,1) 53%,rgba(255,255,255,1) 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom, rgba(254,255,255,0) 0%,rgba(255,255,255,1) 53%,rgba(255,255,255,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */

	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00feffff', endColorstr='#ffffff',GradientType=0 ); /* IE6-9 */
}

#startpage_business .business-item .read-more {
	display: block;
	position: absolute;
	right: 0;
	bottom: 15px;
	left: 0;
	width: auto;
	background-color: transparent;
	font-size: 15px;
	color: #1141cf;
	text-align: center;
	text-transform: inherit;
}

/*
 * News Module
 */



/*
 * E-mail form
 */

#emailform .form-buttons button {
	float: right;
	width: 170px;
}

#contact_map {
	height: 100%;
}

/* Forms */

.form-group {
	margin-top: 10px;
	margin-bottom: 10px;
	line-height: 1;
}

.form-group[class*='inline-'] {
	margin-top: 5px;
	margin-bottom: 5px;
}

.form-group.inline-left > * {
	margin-right: 5px;
}

.form-group.inline-right > * {
	margin-left: 5px;
}

.form-inline .form-group {
	display: inline-block;
	vertical-align: top;
}

.form-aligned .form-group label, .form-aligned .form-control-group .label {
	display: inline-block;
	vertical-align: top;
	padding-top: 13px;
	width: 30%;
}

.form-aligned .form-group input, .form-aligned .form-group textarea {
	display: inline-block;
	vertical-align: top;
	width: 30%;
}

.form-aligned .form-control-group label {
	display: block;
}

.form-stacked .form-group label, .form-stacked .form-control-group .label {
	display: block;
	padding-bottom: 5px;
	font-weight: 600;
}

.form-stacked .form-control-group label {
	padding-bottom: 0;
	font-weight: 400;
	white-space: nowrap;
}

.form-control-group input {
	display: inline-block;
}

.form-control-group label {
	display: inline-block;
	padding-right: 25px;

	cursor: pointer;
}

.form-stacked .form-group input, .form-stacked .form-group select, .form-stacked .form-group textarea {
	display: block;
	width: 100%;
}

.form-stacked .form-group span {
	display: block;
}

.form-stacked .form-group.inline-1-1 input, .form-stacked .form-group.inline-1-1 select, .form-stacked .form-group.inline-1-1 textarea {
	width: 100%;
}

.form-no-labels label {
	position: absolute;
	top: 0;
	left: -9999px;
}

.form-full-inputs input, .form-full-inputs textarea {
	width: 100%;
}

.form-buttons button {
	width: 100%;
}

input, textarea, select {
	display: block;
	box-sizing: border-box;
	padding: 12px 14px;
	background: #fff;
	border: 1px solid #999;
	font-weight: 400;
	font-size: 15px;
	line-height: 20px;
	color: #333;
}

textarea {
	max-width: 100%;
}

input:-webkit-autofill {
	-webkit-box-shadow: 0 0 0 1000px #fff inset;
}

/* Styles för placeholders måste vara enskilda för varje renderingsmotor! */
::-webkit-input-placeholder {
	opacity: 1;
	font-weight: 400;
	color: #2d2d2d;
}

:-moz-placeholder {
	opacity: 1;
	font-weight: 400;
	color: #2d2d2d;
}

::-moz-placeholder {
	opacity: 1;
	font-weight: 400;
	color: #2d2d2d;
}

:-ms-input-placeholder {
	opacity: 1;
	font-weight: 400;
	color: #2d2d2d;
}

input[type=file], input[type=checkbox], input[type=radio] {
	border: 0;
}

.form-captcha div {
	position: relative;
	padding-left: 110px;
	border: 1px solid #999;
}

.form-captcha img {
	position: absolute;
	z-index: 1;
	top: -1px;
	left: -1px;
}

.form-captcha input {
	display: inline-block;
	vertical-align: top;
	width: 180px;
	border: 0;
}

/*
 * Footer
 */

#footer {
	box-sizing: border-box;
	padding-top: 60px;
	height: 250px;
	background-color: #2d2d2d;
	color: #888;
	text-align: center;
}

#footer:before {
	content: '';
	display: block;
	margin: 0 auto;
	width: 280px;
	height: 100px;
	background: url('../images/site/logo-white.png') no-repeat top center;
}

#footer p {
	margin: 10px 0;
}

#footer a:not(.link-seamless) {
	font-weight: 600;
	color: #8283b6;
}

#footer a.link-seamless {
	color: #888;
}

#footer_contact_link {
	margin-top: 10px;
}

#trinax_link {
	margin-bottom: 0;
}

/**
 * Textslider plugin
 * @version 1.1
 * @date 2015-05-08
 */

.textslider {
	position: relative;
}

.textslider-inner {
	overflow: hidden;
	position: relative;
	height: 100%;
}

.textslider .slide {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-position: center center;
	background-size: cover;
}

.textslider .slide .slide-caption {
	position: absolute;
	top: 43%;
	left: calc(50% - 365px);
	padding: 37px 0;
	width: 730px;
	background-color: rgba(0, 0, 0, 0.7);
	font-family: 'Open Sans Condensed', sans-serif;
	font-weight: 700;
	font-size: 32px;
	color: #fff;
	text-align: center;
}

.textslider .slide .slide-caption > * {
	margin: 0;
}

.textslider-prev, .textslider-next {
	overflow: hidden;
	position: absolute;
	text-indent: 100%;
}

.textslider-breadcrumbs {
	position: absolute;
	right: 0;
	bottom: 30px;
	left: 0;
	margin: 0;
	height: 10px;
	text-align: center;
}

.textslider-breadcrumb {
	display: inline-block;
	margin-right: 10px;
	width: 10px;
	height: 10px;
	text-indent: -9999px;
}

/*
 * Slick carousel
 */

.slick-slider {
	display: block;
	box-sizing: border-box;
	position: relative;

	-webkit-tap-highlight-color: transparent;
	touch-action: pan-y;
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	user-select: none;
}

.slick-list {
	display: block;
	overflow: hidden;
	position: relative;
	margin: 0;
	padding: 0;
}

.slick-list:focus {
	outline: none;
}

.slick-list.dragging {
	cursor: pointer;
	cursor: hand;
}

.slick-slider .slick-track, .slick-slider .slick-list {
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
}

.slick-track {
	display: block;
	position: relative;
	top: 0;
	left: 0;
}

.slick-track:before, .slick-track:after {
	content: '';
	display: table;
}

.slick-track:after {
	clear: both;
}

.slick-loading .slick-track {
	visibility: hidden;
}

.slick-slide {
	display: none;
	float: left;
	height: 100%;
	min-height: 1px;
}

.slick-slide img {
	display: block;
}

.slick-slide.slick-loading img {
	display: none;
}

.slick-slide.dragging img {
	pointer-events: none;
}

.slick-initialized .slick-slide {
	display: block;
}

.slick-loading .slick-slide {
	visibility: hidden;
}

/**
 * ParallaxScroll plugin
 * @version 1.0
 * @date 2015-11-25
 */

.js-parallax {
	overflow: hidden;
}

.parallax-frame {
	height: 100%;
}

/*
 * Fancybox
 */

.fancybox-opened .fancybox-skin {
	-webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
}

/* Media queries */

@media screen and (max-width: 960px) {
	.spread-grid {
		width: auto;
	}

	.wrapper {
		padding: 0 10px;
	}

	.textslider-prev, .textslider-next {
		display: block;
		top: 30px;
		width: 30px;
	}

	.textslider-prev {
		left: 0;
	}

	.textslider-next {
		right: 0;
	}
}

@media screen and (max-width: 800px) {
	#cookie_approve_banner p {
		margin-right: 20px;
		padding-right: 0;
	}

	#cookie_approve_banner .button-cookie {
		float: none;
		position: static;
		left: auto;
		margin-top: 0;
	}

	/* Wrapper */

	/* Animate whole page, menu and header in x-axis when menu is opened on mobile */
	#header, #menu, .is-startpage #menu, #menu:after, #banner, #content, #footer {
		-webkit-transition: left ease-in 0.2s;
		transition: left ease-in 0.2s;
	}

	#header, #banner, #content, #footer {
		position: relative;
		left: 0;
	}

	/* Header */

	#header_contact {
		display: none;
	}

	#header {
		height: 63px;
	}

	#header > .wrapper {
		height: auto;
	}

	#header_logo {
		display: block;
		float: none;
		margin: 8px auto 0;
		width: 142px;
	}

	#header_logo img, .is-compact #header_logo img {
		height: 44px;
	}

	#banner {
		padding-top: 0;
		height: 25%;
	}

	#menu_open {
		display: block;
		position: absolute;
		z-index: 105;
		top: 0;
		left: 20px;
		padding: 20px 20px 0 0;
		width: 23px;
		height: 37px;

		-webkit-transition: left ease-in 0.2s;
		transition: left ease-in 0.2s;
	}

	.active #menu_open {
		padding: 30px 20px 0 0;
	}

	.active #menu_open {
		position: fixed;
		left: 86%;
		width: 23px;
	}

	.open-menu .omnu-line {
		display: block;
		position: relative;
		margin: 0 0 3px;
		height: 4px;
		background: #acaef5;
		border-radius: 8px;

		-webkit-backface-visibility: hidden;
		backface-visibility: hidden;
		-webkit-perspective: 200px;
		perspective: 200px;
		-webkit-transform: none;
		transform: none;
		-webkit-transform-origin: center center 0;
		transform-origin: center center 0;
		-webkit-transform-style: preserve-3d;
		transform-style: preserve-3d;
		-webkit-transition: all 277ms ease-in-out 0s;
		transition: all 277ms ease-in-out 0s;
	}

	.active .open-menu .omnu-line {
		border-radius: 8px;
	}

	.active .open-menu #omnu_line2 {
		opacity: 0;
	}

	.active .open-menu #omnu_line1 {
		top: 11px;
		margin: 0;

		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}

	.active .open-menu #omnu_line3 {
		top: 0;
		margin: 0;

		-webkit-transform: rotate(-45deg);
		transform: rotate(-45deg);
	}

	/* Menu */

	#menu {
		display: block;
		float: none;
		overflow: auto;
		position: fixed;
		z-index: 103;
		top: 0;
		bottom: 0;
		left: -100%;
		margin: 0;
		width: 100%;
		height: 100%;
		background: #fff;

		-webkit-transition: left ease-in 0.2s;
		transition: left ease-in 0.2s;
	}

	#menu::after {
		content: '';
		display: block;
		box-sizing: border-box;
		position: fixed;
		z-index: 5;
		top: 0;
		left: -100%;
		padding: 0 10px;
		width: 100%;
		height: 90px;
		background: #fff url('../images/site/logo.png') no-repeat left 20px / 200px;
		background-position: 20px 17px;
	}

	.active #menu, .active #menu::after {
		left: 0;
	}

	#menu .wrapper ul {
		margin: 0;
		padding: 0;
	}

	#menu .wrapper > ul {
		position: absolute;
		right: 0;
		left: 0;
		margin-top: 90px;
		opacity: 1;

		-webkit-transition: all ease-in 0.2s;
		transition: all ease-in 0.2s;
	}

	#menu .wrapper .menu-show-subs {
		right: 100%;
		left: -100% !important;

		-webkit-transition: all ease-in 0.2s;
		transition: all ease-in 0.2s;
	}

	#menu .wrapper ul > li > a {
		display: block;
		opacity: 1;
		text-align: left;

		-webkit-transition: opacity ease-in 0.2s;
		transition: opacity ease-in 0.2s;
	}

	#menu .menu-show-subs > li > a {
		opacity: 0;
	}

	#menu .wrapper ul li {
		display: block;
		position: relative;
		margin: 0 10px;
		padding: 0;
		border-bottom: 1px solid #ccc;
	}

	#menu .wrapper ul li:first-child {
		border-top: 1px solid #ccc;
	}

	#menu ul li:last-child {
		border-bottom: 0;
	}

	#menu .wrapper ul li a {
		padding: 18px 40px;
		color: #2d2d2d;
	}

	#menu .has-subs a {
		margin-right: 60px;
	}

	#menu .has-subs > ul {
		display: block;
		overflow: auto;
		position: fixed;
		z-index: 5;
		top: 90px;
		right: 0;
		bottom: 0;
		left: 100%;
		height: 100%;
		opacity: 0;

		-webkit-transition: all ease-in 0.2s;
		transition: all ease-in 0.2s;
	}

	#menu .has-subs > ul.show-subs {
		left: 0;
		opacity: 1;
	}

	#menu .show-subs.menu-show-subs {
		position: static;
	}

	#menu .has-subs > ul.show-subs li {
		height: auto;
	}

	#menu li.has-subs > a {
		width: 70%;
	}

	.go-back a:before, li.has-subs:after {
		content: '»';
		position: absolute;
		top: 0;
		bottom: 0;
		padding-top: 14px;
		width: 60px;
		font-weight: 700;
		font-size: 18px;
		color: #03c;
		text-align: center;
	}

	#menu li:first-child.go-back a {
		padding-left: 40px !important;
	}

	.go-back a:before {
		/* arrow goes on the left side - go back button */
		content: '«';
		left: 0;
		padding-top: 14px;
		width: 33px;
	}

	li.has-subs:after {
		/* arrow goes on the right side - children navigation */
		right: 0;
	}

	/* Banner */

	.is-startpage #banner {
		height: 217px;
	}


	.is-startpage #banner .slide-caption h2 {
		font-size: 36px;
	}

	/* Content */

	h1, .h1 {
		font-size: 22px;
	}

	.leftimg, .rightimg, .leftImg, .rightImg, .resp-nofloat.floatleft, .resp-nofloat.floatright {
		display: block;
		float: none;
		margin: 0;
	}

	.spread-grid, .spread-row {
		display: block;
	}

	.inline-r-block {
		display: block;
		width: auto;
	}

	.inline-r-1-2 {
		width: 50%;
	}

	.inline-r-1-3 {
		width: 33.33%;
	}

	[class*='spread-'] {
		display: block;
		width: auto;
	}

	.inline-left.inline-r-block > *, .inline-right.inline-r-block > * {
		margin-right: 0;
		margin-left: 0;
	}

	/*
	 * Content
	 */

	#content {
		padding-top: 30px;
		padding-bottom: 50px;
	}

	#inner_content {
		float: none;
		margin: 0;
		padding: 0;
		width: 100%;
	}

	#submenu {
		display: none;
	}

	/* Start page specific */

	#startpage_quote, #startpage_news {
		background-attachment: scroll;
	}

	#startpage_content {
		padding-top: 0;
		padding-bottom: 10px;
		text-align: center;
	}

	#startpage_services .inline-r-block {
		margin-top: 50px;
		margin-bottom: 50px;
	}

	#startpage_news {
		padding: 1px 0 40px;
	}

	#startpage_news .news-item {
		margin: 10px 0;
	}

	#startpage_business {
		padding: 30px 0 85px;
		height: auto;
		background-attachment: scroll;
	}

	#startpage_business .business-item {
		margin: 0 10px;
		width: 320px;
	}

	.is-startpage #banner .slide .slide-caption {
		top: 40%;
		left: auto;
		margin: 0 20px;
		padding: 20px 0;
		width: calc(100% - 40px);
		font-size: 16px;
	}

	#startpage_business .slick-next, #startpage_business .slick-prev {
		top: auto;
		bottom: 25px;
	}

	#startpage_business .slick-prev {
		right: calc(50% + 5px);
		left: auto;
	}

	#startpage_business .slick-next {
		right: auto;
		left: calc(50% + 5px);
	}

	/* E-mail form */



	/* Footer */

	#footer .wrapper {
		padding: 1px 10px;
		text-align: center;
	}

	.hide-mobile {
		display: none !important;
	}

	.hide-desktop {
		display: inherit !important;
	}
}

/* Fix for Mobile Safari making larger text size */

@media screen and (max-device-width: 480px) {
	body {
		-webkit-text-size-adjust: none;
	}
}