/*  Alltreko Bygg AB */


@import url('https://unpkg.com/aos@2.3.1/dist/aos.css');
@import url('https://fonts.googleapis.com/css2?family=Work+Sans:ital,wght@0,300;0,400;0,600;1,300;1,400;1,600&display=swap');

/* ==========================================================================
    Generellt
========================================================================== */


*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	font-size: 62.5%;
}

body {
	background-color: #fff;
	background-position:  center !important;
	overflow-x: hidden !important;
	background-attachment: fixed !important;
	font-family: 'Work Sans', sans-serif;
}



body.isMobile .body-background {
	background-position: center center;
	background-size: cover;
}

.LayoutPage .section-block,
.SubPage .LayoutPage .section-block {
	padding: 15rem 5rem;
}

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

	.LayoutPage .section-block,
	.SubPage .LayoutPage .section-block {
		padding: 10rem 2.5rem;
	}
}

.LayoutPage .section-block-wrapper {
	max-width: 120rem;
}

/* Video background */
.fullscreen-bg-video {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	overflow: hidden;
	z-index: -100;
}

#bg-video {
	position: absolute;
	top: 50%;
	left: 50%;
	width: auto;
	height: auto;
	min-width: 100%;
	min-height: 100%;
	-webkit-transform: translate(-50%, -50%);
	-moz-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

.section-block-wrapper::after {
	content: '';
	display: table;
	clear: both;
}

/* Layout
========================================================================== */
/* Paddings */
.p-2 .section-block,
.p-2:not(.section-wrapper) {
    padding: 2rem !important;
}
.p-4 .section-block,
.p-4:not(.section-wrapper) {
    padding: 4rem !important;
}

.pt-0 .section-block,
.pt-0:not(.section-wrapper) {
    padding-top: 0 !important;
}

.width-1200 .section-block-wrapper {
	max-width: 130rem;
}

.mw-1400 .section-block .section-block-wrapper {
	max-width: 140rem;
}

.width-1500 .section-block .section-block-wrapper {
	max-width: 160rem;
	padding: 0 5rem;
}

.display-none {
	display: none;
}

.EditMode .display-none {
	display: block;
}

.bg-bluegray .section-block {
	background: #C8D0D3;
	background: linear-gradient(46deg, #c5dde6, #eaeced);
}

@media only screen and (max-width:750px) {
	.p-4 .section-block,
	.p-4:not(.section-wrapper) {
		padding: 2rem !important;
	}
	
}

/* ==========================================================================
Split Wrapper
========================================================================== */
.section-split .section-block .normaltext-type {
	max-width: none;
}

.section-split .section-block .section-block-wrapper {
	max-width: 160rem;
}

.split-reverse {
	flex-direction: row-reverse;
}

.split-wrapper {
	display: flex;
	flex-wrap: wrap;
	position: relative;
}

.split-wrapper.reverse {
	flex-direction: row-reverse;
}

.split-content {
	width: 50%;
	padding: 8rem 9rem;
	text-align: left;
	display: flex;
}

.split-content .split-text {
	align-self: center;
}

.split-image {
	width: 50%;
	position: relative;
	overflow: hidden;
	box-shadow: 0px 2px 10px rgba(0, 0, 0, 0.21);
}

.split-image img {
	position: absolute;
	transform: translate(-50%, -50%);
	top: 50%;
	left: 50%;
	height: 100%;
	min-width: 100%;
	min-height: 100%;
	max-width: none !important;
}

@supports (object-fit: cover) {
	.split-image img {
		position: relative;
		transform: none;
		top: auto;
		left: auto;

		object-fit: cover;
		object-position: center;
		height: 100% !important;
		width: 100% !important;
	}

	.split-image-product img {
		object-fit: contain !important;
	}
}


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

	.split-reverse .split-content {
		padding-left: 0;
	}

	.split-content {
		padding: 6rem 4rem;
	}
}

@media only screen and (max-width:1080px) {
	.split-content {
		width: 100%;
		order: 0;
	}

	.split-image {
		width: 100%;
		order: 1;
	}
}

@media only screen and (max-width:696px) {
	.split-content {
		padding: 0 0 2rem 0;
	}
}

/* Cards
========================================================================== */
.cards-wrapper {
    display: flex;
    flex-wrap: wrap;
}

/* Bredder */
.cards-wrapper.w-33 .card-item {
    width: calc((100% / 3) - 2rem);
    margin: 1rem;
}

/* Generellt */
a.card-item {
    transition: .3s ease;
}

@media only screen and (max-width: 1050px) {
    /* Bredder */
    .cards-wrapper.w-33 .card-item {
        width: calc((100% / 2) - 2rem);
        margin: 1rem;
    }
}

@media only screen and (max-width: 750px) {
    /* Bredder */
    .cards-wrapper.w-33 .card-item {
        width: 100%;
        margin: 1rem 0;
    }
}

@media only screen and (max-width: 480px) {
    /* Paddings */
    .card-item.p-3,
    .card-item .p-3 {
        padding: 2rem;
    }
}

/* Card 1-1 */
.card-1-1 a.card-item {
	border-bottom: 5px solid #0066B3;

}
.card-1-1 a {
	text-decoration: none;
	
}
.card-1-1 a.card-item:hover {
    background: #0065b34e;
}
  
.card-1-1 i {
    margin-right: 1rem;
}

/* Box shadow */
.box-shadow {
    box-shadow: 0 1rem 3rem rgba(229, 229, 229, 0.731);
}
.br-2{
	border-radius: 2rem !important;
}

.text-black{
	color: black !important;
}


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

.btn {
	max-width: 50rem;
	width: auto;
	box-sizing: border-box;
	padding: 2rem 4rem;
	border-radius: 4rem;
	text-align: center;
	font-size: 1.3rem;
	letter-spacing: 0.3rem;
	line-height: 1em;
	-webkit-transition: all .4s ease;
	transition: all .4s ease;
	display: inline-block;
	text-transform: uppercase;
	font-weight: 400;
}


.btn {
	background: transparent;
	border: 2px solid #0875D6;
	color: #0875D6;
}


.btn:hover {
	background: #0875D6;
	border: 2px solid #0875D6;
	color: #fff;
}


.btn-orange {
	background: transparent;
	border: 2px solid #9FC519;
	color: #9FC519;
}

.btn-orange:hover {
	background: #9FC519;
	border: 2px solid #9FC519;
	color: #fff;
}

.btn-info {
	background: transparent;
	border: 2px solid #000;
	color: #000;
}

.btn-info:hover {
	background: #000;
	border: 2px solid #000;
	color: #fff;
}

.btn-filled-white {
	background: white;
	border: 2px solid white;
	color: #000;
}

.btn-outlined-white {
	background: transparent !important;
	border: 2px solid white;
	color: white;
}

.btn-filled-black {
	background: #000;
	border: 2px solid #000;
	color: white;
}

.btn-outlined-black {
	background: transparent !important;
	border: 2px solid #000;
	color: white;
}

.btn-filled-white:hover {
	background: transparent;
	border: 2px solid white;
	color: white;
}

.btn-filled-black:hover {
	background: transparent;
	border: 2px solid #000;
	color: #000;
}

.btn-outlined-white:hover {
	background: white !important;
	border: 2px solid white;
	color: #000;
}

.btn-outlined-black:hover {
	background: #000 !important;
	border: 2px solid #000;
	color: white;
}


.btn-wrapper {
	margin-top: 2.5rem;
}



.btn-link:after {
	font-family: 'Font Awesome 5 Pro';
	font-weight: 700;
	content: '\f061';
	margin-left: 0.8rem;
	text-decoration: none;
	display: inline-block;
	transform: translateX(1rem);
}

.btn-link:after:hover {
	transform: translateX(1.5rem);
}

/* ==========================================================================
Text och typsnitt
========================================================================== */
p,
a,
li {
	line-height: 1.8;
	font-size: 1.8rem;
	color: #5c5f63;
	font-family: inherit;
	font-weight: 300;
	text-decoration: none;
}

p {
	padding: 0 0 1.2em 0;
}

a:hover {
	color: #9FC519;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: 'Rubik', sans-serif;
	font-weight: 600;
	letter-spacing: 0px;
	line-height: 1.3;
	color: #969696;
	text-transform: normal;
	text-transform: none;
}

.handwritten {
	font-family: tornac, 'Parisienne', sans-serif;
	font-weight: 400;
	font-style: normal;
}


.heading {
	font-size: 1.7rem;
	padding-bottom: 2rem;
	letter-spacing: .2em;
	font-weight: 500;
	color: #9FC519;
	text-transform: uppercase;
}

h2,
h3,
.subheading {
	font-size: 5rem;
	font-weight: 700;
	color: #3e3e3e;
	padding-bottom: 3rem;
}


strong {
	color: #0875D6;
}

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

	h1,
	h2,
	h3,
	h4,
	h5,
	h6 {
		line-height: 1.4;
	}


	h2,
	h3,
	.subheading {
		font-size: 3.5rem;
		padding-bottom: 2rem;
	}

}

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



	h2,
	h3,
	.subheading {
		font-size: 2.5rem;
		padding-bottom: 2rem;
	}

}

.text-columns .section-block .section-block-wrapper {
	max-width: 150rem;
}

.text-columns .section-block .col-block {
	padding: 0 4rem;
}

.text-columns .section-block .normaltext-type {
	text-align: left;
}

.text-columns .section-block .heading-type * {
	text-align: left;
}

.text-columns .section-block .heading-type {
	max-width: 70rem;
}

.text-columns .section-block .heading-type h3 {
	font-size: 3.5rem;
}

@media only screen and (max-width:1080px) {
	.text-columns .section-block .col-block {
		width: 100%;
	}
}

@media only screen and (max-width:696px) {
	.text-columns .section-block .col-block {
		padding: 0;
	}
}

/* lilla "abc"-blocket */
.smalltext-type {
	max-width: none;
}

/* stora "ABC"-blocket */
.normaltext-type {
	max-width: 90rem;
	margin: 0 auto;
	text-align: center;
}


ul.list {
	padding-inline-start: 3rem;
	overflow: visible;
	margin: 0;
	margin-bottom: 2rem;
}

ul.list li {
	font-family: inherit;
	font-weight: 300;
	line-height: inherit;
	padding-bottom: 2rem;
	list-style: none;
}

ul.list li a {
	color: inherit;
}

ul.list li::before {
	content: "\f111";
	display: inline-block;
	width: 3rem;
	font-size: .5em;
	margin-left: -3rem;
	color: #0097FC;
	font-family: 'Font Awesome 5 Pro';
	font-weight: 700;
	top: 0;
	vertical-align: middle;
}

ul.list.check li::before {
	content: "\f00c";
	font-size: .8em;
}


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



header {
	background-color: transparent;
	box-shadow: none;
	-moz-transition: 0.4s ease-in-out;
	-webkit-transition: 0.4s ease-in-out;
	transition: 0.4s ease-in-out;
	height: 8rem;
}

header .container {
	max-width: 100%;
	position: relative;
}

header .container::after {
	content: '';
	display: table;
	clear: both;
}



header .container::after {
	content: '';
	display: table;
	clear: both;
}


header .header-logo {
	width: 21rem;
	padding: 1rem 2rem;
	box-sizing: border-box;
	position: absolute;
	left: 0;
	-moz-transition: 0.4s ease-in-out;
	-webkit-transition: 0.4s ease-in-out;
	transition: 0.4s ease-in-out;
}

@media only screen and (max-width: 510px) {
	header .header-logo {
		display: none;
	}
}

/* HEADER SCROLLED -------  */
header.scrolled {
	box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.09);
	z-index: 10;
	background: #32257E;
}

header.scrolled .header-logo {
	width: 19rem;
}



nav.mainmenu ul.TemplateMenu>li {
	line-height: auto;
	height: auto;
	cursor: pointer;
}

.cta-btn {
	position: absolute;
	top: 3.3rem;
	right: 2rem;
}

.btn-nav {
	padding: 1.5rem 4rem !important;
	width: auto;
	font-size: 1.4rem !important;
	text-transform: uppercase;
	font-weight: 400;
	background: #0875D6;
	border: 2px solid #0875D6;
	color: #fff !important;
	border-radius: 4rem;
	line-height: 1 !important;
	-moz-transition: 0.2s ease-in-out;
	-webkit-transition: 0.2s ease-in-out;
	transition: 0.2s ease-in-out;
	text-decoration: none !important;
}

.btn-nav:hover {
	background: #9FC519 !important;
	border-color: #9FC519 !important;
	color: #fff !important;
}


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

	.cta-btn {
		right: 12rem;
	}
}

@media only screen and (max-width:510px) {
	.cta-btn {
		right: auto;
		left: 1rem;
	}
}

nav.mainmenu {
	text-align: center;
}

nav.mainmenu a {
	font-family: inherit;
	font-weight: 500;
	font-style: normal;
	font-size: 1.4rem;
	line-height: 8rem;
	letter-spacing: 0.1rem;
	color: #fff;
	text-transform: uppercase;
	padding: 0 2rem;
	margin: 0;
	transition: all 300ms linear;
}



nav.mainmenu li:hover a,
nav.mainmenu li.active a {
	background: transparent;
	color: #0978d7;
}

/* Dropdown menu */
nav.mainmenu ul>li.expandable-li:hover {
	background-color: transparent;
}

nav.mainmenu li:hover,
nav.mainmenu li.active {
	background-color: transparent !important;
}

nav.mainmenu ul>li.expandable-li:hover>a {
	color: #de712d;
	padding-bottom: 0;
}

header .mobile-menu span {
	height: .2rem;
	width: 100%;
	background: #000;
	border-radius: 0px;
	margin-bottom: .7rem;
	display: none;
}



nav.mainmenu ul>li>ul {
	background: #303033;
	padding: 0;
	box-sizing: border-box;
	box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.22);
	line-height: normal;
	height: auto;
	min-width: 100%;
	width: auto;
	text-align: left;
	z-index: 10;
}

nav.mainmenu ul>li>ul>li {
	padding: 0 15px;
	background: #303033;
}


nav.mainmenu ul>li>ul a {
	background: transparent !important;
	text-decoration: none !important;
	white-space: nowrap;
	line-height: 3rem;
}



nav.mainmenu ul>li>ul>li>a {
	color: #fff !important;
	text-transform: unset;
	letter-spacing: normal;
	padding: 10px;
}

nav.mainmenu ul>li>ul>li>ul a {
	color: #444 !important;
}

nav.mainmenu ul>li>ul>li>ul {
	/*     top: -20px; */
	right: 0px;
}

nav.mainmenu ul>li.expandable-li:hover ul {
	background: #101010;
}

nav.mainmenu ul>li>ul>li:hover a,
nav.mainmenu ul>li>ul>li.active a {
	color: #fff !important;
}


nav.mainmenu ul>li>ul>li.expandable-li:hover>a {
	color: #fff;
	border-bottom: none;
	padding-bottom: 10px;
}

nav.mainmenu li:hover .nav-dropdown:after {
	text-decoration: none !important;
}


nav.mainmenu .parent.expandable {
	cursor: default;
}

nav.mainmenu .parent.expandable:after {
	content: '\f0da';
}


nav.mainmenu ul>li.expandable-li:hover>ul>li>a {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* Styling for first level ul */

nav.mainmenu ul>li>ul {
	width: auto;
	margin-top: -2px;
	border-bottom: 5px solid #0066B3;
}

nav.mainmenu ul>li>ul>li {
	overflow: hidden;
}

/* Background color on active submenu item */
nav.mainmenu ul>li:hover>ul>li.active {
	background-color: #555;
}

/* Background color on hover */
nav.mainmenu ul>li:hover>ul>li:hover {
	background-color: #727272;
}


nav.mainmenu ul>li.expandable-li:hover>ul>li>a {
	color: #fff;
}

nav.mainmenu ul>li>ul>li>a {
	line-height: 5rem;
	padding: 0 4rem 0 2rem;
	color: #fff !important;
	font-size: 1.2rem;
}

#overlay {
	z-index: 7;
}

@media only screen and (min-width: 980px) {

	nav.mainmenu .expandable:after,
	.nav-expandable:after {
		font-family: 'Font Awesome 5 Pro';
		font-weight: 700;
		content: '\f0d7';
		margin-left: 7px;
		text-decoration: none;
		display: inline-block;
	}

	nav.mainmenu li:hover .expandable:after {
		text-decoration: none !important;
	}
}


/* Hamburger */


:root {
	--menu-color: #fff;
}

.hamburger--collapse.is-clicked .hamburger-inner::before {
	background-color: #fff;
}

@media only screen and (min-width: 1201px) {

	.hamburger {
		display: none;
	}

	.expandable:after {
		font-family: 'Font Awesome 5 Pro';
		font-weight: 700;
		content: '\f0d7';
		margin-left: 7px;
		text-decoration: none;
		display: inline-block;
		font-size: .8em;
		vertical-align: middle;
	}

}

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

	header .cta-btn {
		right: 6rem;
	}

	/* Navigation */
	nav.mainmenu {
		text-align: left;
		display: none;
		position: fixed;
		height: 100%;
		left: 0;
		width: 35rem;
		background-color: #32257e;
		z-index: 15;
		top: 0;
		box-shadow: none;
		overflow-y: scroll;
	}

	nav.mainmenu .Padding {
		margin: 8rem 0 !important;
	}

	nav.mainmenu li {
		text-align: left;
		display: block;
	}

	nav.mainmenu li a {
		margin: unset;
		padding: unset;
		padding-left: 4rem;
		font-size: 1.6rem;
		line-height: 3.7;
		color: #fff !important;
	}

	nav.mainmenu .header-btn {
		left: 4rem;
		margin-top: 2rem;
	}

	header nav.mainmenu li.header-btn a {
		padding: inherit !important;
		color: #fff !important;
	}

	header nav.mainmenu li.header-btn:hover a {
		color: #fff !important;
	}

	#overlay {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-color: rgba(0, 0, 0, 0.75);
		z-index: 7;
	}

	/* Hamburger */
	.hamburger {
		position: absolute;
		z-index: 99;
		left: auto;
		right: 1rem;
		top: 1.5rem;
	}

	.hamburger-inner,
	.hamburger-inner::after,
	.hamburger-inner::before {
		color: #fff;
		background-color: #fff;
	}

	/* Dropdown */
	nav.mainmenu ul>li>ul {
		background-color: #fff !important;
		width: auto !important;
		border: none;
	}

	nav.mainmenu ul>li>ul {
		display: contents !important;
	}

	nav.mainmenu ul>li>ul>li a {
		color: #fff !important;
	}

	nav.mainmenu ul>li>ul>li>a {
		width: auto;
		padding: 0 0 0 6rem;
	}

	nav.mainmenu ul>li.expandable-li:hover>a {
		padding-bottom: 0;
	}

	nav.mainmenu ul.TemplateMenu>li,
	.scrolled nav.mainmenu ul.TemplateMenu>li {
		line-height: unset;
		height: unset;
	}

}



/* ==========================================================================
Top-section
========================================================================== */
.fullscreen-bg-video{
	z-index: -1;
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 100%;
    transform: translate(-50%,-50%);
}

.top-section {
	background-color: rgba(0, 0, 0, 0.2);
	overflow: hidden;
	position: relative;
}

/*
.top-section:after {
    content: "";
    display: block;
    position: absolute;
    width: 45vw;
    height: 200vh;
        background: rgba(0, 0, 0, 0.56);
    left: -10rem;
    top: -50vh;
    z-index: 1;
}
*/


/*
@keyframes effectIn {
	0% {
		width: 100vw;
	}
	100% {
		width: 50vw;
	}
}
*/


.page-title-wrap {
	background-color: transparent;
	top: 50%;
	left: 50%;
	width: 100%;
	max-width: none;
	padding: 0;
	z-index: 3;
	text-align: left;
}

.page-title-innerwrap {
	max-width: 85rem;
	padding-left: 10rem;
}

.page-title-wrap .btn {
	margin: 1rem;
}


.page-title-wrap h1,
.page-title-wrap h2 {
	color: #fff;
	padding: 0;
	line-height: 1.3;
	text-shadow: none;
	font-weight: 300;
}



.page-title-wrap h1 {
	text-transform: uppercase;
	letter-spacing: 1.1rem;
	font-size: 2.6rem;
	padding-bottom: 3rem;
	color: #fff;
	font-weight: 300;
}


.page-title-wrap h2 {
	font-size: 6rem;
	font-weight: 700;
	text-transform: none;
	line-height: 1.3;
	text-shadow: 0px 2px 10px rgba(0, 0, 0, 0.17);
	letter-spacing: 0;
}


.page-title-wrap p {
	color: #5b5b5b;
	padding-top: 2rem;
	padding-bottom: 0;
	max-width: 60rem;
}

.page-title-wrap strong {
	color: #9FC519;
}

/* Video background */
.fullscreen-bg-video {
	position: absolute !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

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

	.page-title-wrap h2 {
		font-size: 5rem;
	}

	.page-title-innerwrap {
		max-width: 65rem;
		padding-left: 5rem;
	}
}

@media only screen and (max-width:900px) {
	.page-title-wrap {
		text-align: center;
		padding: 2rem;
		max-width: 100rem;
	}

	.page-title-innerwrap {
		max-width: none;
		padding: 0;
	}
}

@media only screen and (max-width:696px) {
	.page-title-wrap h2 {
		font-size: 4rem;
	}
}

@media only screen and (max-width:550px) {
	.page-title-wrap {
		top: 40%;
	}

	.page-title-wrap h1 {
		letter-spacing: 0.5rem;
		font-size: 2rem;
	}

	.page-title-wrap h2 {
		font-size: 2.5rem;
		line-height: 1.6;
	}
}

/* ========= Certifikat top-section ========= */
.tag-wrapper {
	position: absolute;
	right: 3rem;
	bottom: 3rem;
	padding: 2rem;
	background: #fff;
	box-shadow: 0 2rem 4rem rgba(0, 0, 0, 0.2);
}

.tag-wrapper img {
	width: auto;
	height: 15rem;
}

.SubPage .tag-wrapper {
	display: none;
}


@media only screen and (max-width:550px) {
	.tag-wrapper img {
		width: auto;
		height: 9rem;
	}
}

/* ==========================================================================
Startsida
========================================================================== */

/* Parallax
========================================================================== */
.parallax {
	max-width: 100% !important;
	background-attachment: fixed !important;
	background-position: center center !important;
	background-repeat: no-repeat;
	background-size: cover !important;
}

.isMobile .parallax {
	background-attachment: scroll !important;
	max-width: 100% !important;
	background-size: cover !important;
}

.parallax .section-block {
	height: 70vh;
}

.parallax-1 {
	background: url('/assets/images/husgrund-2000px.jpg');
	background-position: center center;
}

@media only screen and (max-width:900px) {
	.parallax-1 {
		display: none;
	}
}

/* Om oss
========================================================================== */
.about .section-block {
	background: #FFF;
}

.about .section-block *:not(.heading) {
	color: #000;
}

#om-oss .about-logo-wrapper {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}

#om-oss .villa-logo img {
	max-width: 130px !important;
	padding: 1rem;
}

#om-oss .reco-logo img {
	margin-left: 1rem;

}

#om-oss .alltrekobygg-logo {
	max-width: 130px !important;
	padding: 1rem;
}

/* Agande
========================================================================== */
.product .section-block {
	background: #f8f8f8;
}

.product .section-block h3 {
	font-size: 4.5rem;
}

.product .split-image img {
	object-fit: contain;
}

/*

.product .section-block *:not(h2) {
	color:#fff;
}
*/

/* Referensobj
========================================================================== */
.references h3 {
	max-width: 70rem;
	margin: 0 auto;
}

.product-gallery .project-thumb-wrapper {
	width: 26%;
	margin: 0;
	box-shadow: none;
	height: 50rem;
}

.product-gallery .project-thumb-wrapper .project-thumb {
	background: transparent;
	padding: 12rem 3rem;
}

.product-gallery .project-thumb-wrapper:hover .project-thumb {
	background-color: rgba(0, 0, 0, 0.29);
}

.product-gallery .project-thumb p {
	font-size: 1.8rem;
	line-height: 1.8;
	text-align: center;
}

.g-startsida .project-thumb-wrapper:nth-child(1) {
	width: 48%;
}

.g-startsida .project-thumb-wrapper:nth-child(5) {
	width: 48%;
}

.g-startsida .project-thumb-wrapper:nth-child(7),
.g-startsida .project-thumb-wrapper:nth-child(8),
.g-startsida .project-thumb-wrapper:nth-child(9) {
	width: 31.33333%;
}

/* Omdomen
========================================================================== */
.reco .section-block {
	background: #72ba89;
	padding: 8rem;
}


/* Services
========================================================================== */
.LayoutPage .services .section-block-wrapper {
	max-width: 130rem;
}

.LayoutPage .services .section-block {
	padding-top: 0;
	padding-bottom: 0;
	background: #fff;
}

.split-services {
	display: flex;
	justify-content: space-between;
	padding: 0 2rem;
}

.service-item {
	position: relative;
	margin: 0 2rem 8rem 2rem;
	background-color: #FFF;
	box-shadow: 0 1rem 1.5rem rgba(18, 19, 64, 0.1);
	padding: 0;
	overflow: hidden;
	transition: all .3s ease;
	margin-top: -15rem;
}

.service-item:hover {
	text-decoration: none;
}

.service-item img {
	width: 100%;
}

.service-item .service-text {
	padding: 4rem;
}

.service-item .service-text h3 {
	font-size: 3rem;
}

.service-item::after {
	content: '';
	display: block;
	width: 100%;
	height: 5px;
	background-image: linear-gradient(90deg, #0869c9 0%, #0196fc 100%);
	position: absolute;
	bottom: 0;
	left: 0;
}

.service-link::after {
	content: '\2192';
	display: inline-block;
	transform: translateX(-20px);
	transition: all .3s ease;
}

.service-link:hover::after {
	transform: translateX(0);
	transition: all .3s ease;
}

@media only screen and (max-width: 1080px) {
	.service-item {
		margin: -15rem 1rem 8rem 1rem;
	}

	.split-services {
		padding: 0;
	}
}

@media only screen and (max-width:1024px) {
	.service-item .service-text h3 {
		font-size: 2rem;
	}
}

@media only screen and (max-width:900px) {
	.service-item {
		width: 100%;
		margin: 0 0 2rem 0;
	}

	.split-services {
		flex-direction: column;
	}
}

@media only screen and (max-width: 696px) {
	.service-item {
		margin: 0 0 5rem;
		width: 100%;
		padding: 4rem 2rem;
	}
}

/* Samarbetspartners
========================================================================== */
.LayoutPage .partners .section-block {
	padding: 8rem 2rem;
}

.integrations-logos-wrapper {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin-top: 2rem;
}

.integrations-logo {
	background: transparent;
	box-shadow: none;
	width: 23%;
	margin: 1%;
	vertical-align: middle;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-justify-content: center;
	-moz-justify-content: center;
	justify-content: center;
}

.integrations-logo img {
	width: 100%;
	height: 100%;
	object-fit: contain !important;
	vertical-align: middle;
	text-align: center;
	height: 10rem !important;
}

.integrations-logo {
	-moz-transform: scale(0.9);
	-webkit-transform: scale(0.9);
	transform: scale(0.9);
	-moz-transition: 0.2s ease-in-out;
	-webkit-transition: 0.2s ease-in-out;
	transition: 0.2s ease-in-out;
}

.integrations-logo:hover {
	-moz-transform: scale(0.98);
	-webkit-transform: scale(0.98);
	transform: scale(0.98);
}


@media only screen and (max-width: 1150px) {
	.integrations-logo {
		width: 31%;
		margin: 1%;
	}
}

@media only screen and (max-width: 650px) {
	.integrations-logo {
		width: 48%;
	}
}

@media only screen and (max-width: 510px) {
	.integrations-logo {
		width: 98%;
	}
}



/* Gallery
========================================================================== */
.section-gallery .section-block .section-block-wrapper {
	max-width: 150rem;
}

.product-gallery .project-thumb-wrapper {
	width: 23%;
	margin: 1%;
	box-shadow: 0px 0px 12px rgba(0, 0, 0, 0.15);
	height: 310px;
}

.product-gallery .project-thumb-wrapper .project-thumb {
	background: transparent;
	padding: 110px 20px;
}

.product-gallery .project-thumb-wrapper:hover .project-thumb {
	background-color: rgba(0, 0, 0, 0.29);
}

.product-gallery .project-thumb p {
	font-size: 40px;
	text-align: center;
}


.g-startsida .project-thumb-wrapper:nth-child(1) {
	width: 48%;
}

.g-startsida .project-thumb-wrapper:nth-child(5) {
	width: 48%;
}


.g-startsida .project-thumb-wrapper:nth-child(7),
.g-startsida .project-thumb-wrapper:nth-child(8),
.g-startsida .project-thumb-wrapper:nth-child(9) {
	width: 31.33333%;
}

/* Kontakt
========================================================================== */

#offert .section-block .section-block-wrapper {
	max-width: 130rem;
}


#offert .col-0 {
	padding-right: 5rem;
	padding-top: 10rem;
	width: 55%;
}

#offert .col-0 .normaltext-type {
	text-align: left;
}


#offert .col-1 {
	background-color: #fff;
	border-radius: 2px;
	padding: 5rem !important;
	-webkit-box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.1);
	box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.1);
	/*     margin-bottom: -10rem; */
	z-index: 5;
	position: relative;
	width: 45%;
}



#offert h4 {
	text-align: center;
	color: #0F4C5C;
}

/* Contact options */

.contact-options {
	margin: 0 0;
	font-style: normal;
}

.contact-option {
	display: flex;
	margin: 1rem 0;
	color: #fff;
	align-items: center;
}

.contact-option:hover {
	color: #4ab2e4;
}

.contact-option::before {
	display: inline-block;
	font-family: 'Font Awesome 5 Pro';
	font-weight: 300;
	font-size: 1.5em;
	margin-right: 2rem;
	vertical-align: middle;
	color: #4ab2e4;
	width: 2em;
	text-align: center;
}



.contact-option:hover::before {
	text-decoration: none;
}

.contact-option.address::before {
	content: '\f3c5';
}

.contact-option.phone::before {
	content: '\f67d';
}

.contact-option.mail::before {
	content: '\f658';
}

/* Contact form  */

.Contact .ContactForm div.ContactFormMessage p,
.Contact .ContactForm .ContactFormEmail p,
.Contact .ContactForm .ContactFormField p,
.Contact .ContactForm .ContactFormName p {
	color: #444;
	font-size: 1.3rem;
	text-transform: uppercase;
	letter-spacing: 2px;
}

.ContactForm {
	display: flex;
	flex-wrap: wrap;
}

#offert .ContactFormName,
#offert .ContactFormEmail,
#offert .ContactFormField,
#offert .ContactFormMessage {
	width: 100%;
	position: relative;
	top: auto;
	left: auto;
	display: inline-block;
}



#offert .ContactForm input,
#offert .ContactForm textarea {
	border: 1px solid #7e7575 !important;
	background: transparent;
	border-radius: 5px;
	padding: 1.2em;
	height: 15rem;
}

#offert input:focus,
#offert textarea:focus {
	border-color: #47bbbf !important;
}

#offert input::placeholder,
#offert textarea::placeholder {
	font-size: .8em;
}

#offert .ContactForm .ContactSubmit {
	width: 100% !important;
	max-width: 40rem;
	margin: 2rem auto 0 auto;
	padding: 1.9rem 3rem;
	background: #0875D6;
	border: 2px solid #0875D6 !important;
	color: #fff;
	display: block;
	text-align: center;
	text-transform: uppercase;
	font-weight: 400;
	letter-spacing: 0.1em;
	font-size: 1.4rem;
	border-radius: 4rem;
	-webkit-transition: 0.4s ease-in-out;
	transition: 0.4s ease-in-out;
	font-family: inherit;
}

#offert .ContactForm .ContactSubmit:hover {
	background: #9FC519;
	border: 2px solid #9FC519 !important;
	color: #fff;
}

.LayoutPage .Contact .ContactForm div.ContactFormMessage p {
	margin-top: 1rem;
}


#hitta-hit .gmap {
	height: 45rem;
}


@media screen and (-ms-high-contrast: active),
screen and (-ms-high-contrast: none) {


	#offert .ContactForm input:not(.ContactSubmit),
	#offert .ContactForm textarea {
		padding: 0 !important;
	}

}

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

	#offert .col-block {
		width: 100%;
	}

	#offert .col-0 {
		padding-top: 0;
	}

	#offert .col-1 {
		padding: 2rem !important;
	}

	#offert .section-block {
		background-size: 100% 10rem;
	}

}

/* Instagram
========================================================================== */
#instagram {
	background: linear-gradient(to bottom, #FFF 60%, #32257E 40%);
}

.startpage #instagram {
	background: linear-gradient(to bottom, #f8f8f8 60%, #32257E 40%);
}

#instagram .section-block {
	padding: 3rem !important;
}

#instagram .section-block-wrapper {
	max-width: unset !important;
}

@media only screen and (max-width:980px) {
	#instagram .section-block {
		padding: 2rem !important;
	}
}

/* ==========================================================================
Undersidor
========================================================================== */

.SubPage .top-section {
	display: none;
}

.SubPage header {
	background: #32257E;
}

.SubPage nav.mainmenu a {
	color: #fff;
}

.SubPage nav.mainmenu li:hover a,
.SubPage nav.mainmenu li.active a {
	color: #0875D6;
}

/* HEADER IMAGE */
.SubPage .header-img {

	background-size: cover !important;
	background-repeat: no-repeat;
	background-position: 40% center;
}


.SubPage .header-img .section-block {
	height: 65vh;
	background: transparent;
	position: relative;
	/*     border-bottom: 1rem solid #0266b3; */
}

.SubPage .header-img .heading-type {
	top: 100%;
	left: 50%;
	max-width: 90rem;
	padding: 4rem;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	text-align: center;
	background-color: #0066B3;
	position: absolute;
	z-index: 2;
	width: 100%;
	height: auto;
	transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	-moz-transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
}


.SubPage .header-img .heading-type h1 {
	color: #fff;
	font-size: 3.5rem;
	font-weight: bold;
	text-align: center;
	padding: 0;
	text-shadow: none;
}

@media only screen and (max-width:1466px) {
	.SubPage .header-img .section-block {
		height: 50vh;
	}

}

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

	.SubPage .header-img .heading-type {
		max-width: 100%;
		border-radius: 0;
	}

	.SubPage .header-img .heading-type h1 {
		font-size: 3rem;
	}
}


/* HEADER BLOCK */
.LayoutPage .header-block .section-block {
	margin-top: 5rem;
	padding: 12rem 2rem;
	background: #FFF;
}


.header-block .section-block *:not(.heading) {
	text-align: center;
	color: #000;
}

.header-block .section-block .subheading {
	max-width: 80rem;
	margin: 0 auto;
}

.header-block p {
	margin: 0 auto;
	max-width: 70rem;
	padding: 0;
}

.split-bg-left .section-block,
.split-bg-right .section-block {
	position: relative;
}

.split-bg-left .section-block:before {
	content: '';
	position: absolute;
	top: 10rem;
	left: 0;
	bottom: 0;
	right: 0;
	width: 100%;
	max-width: 120rem;
	background: #f0f0f0;
	max-height: 78%;
}

.split-bg-right .section-block:before {
	content: '';
	position: absolute;
	top: 10rem;
	right: 0;
	bottom: 0;
	right: 0;
	width: 100%;
	z-index: 0;
	max-width: 120rem;
	background: #f0f0f0;
	max-height: 78%;
}




.split-bg-right .split-content {
	padding-right: 0;
}



@media only screen and (max-width:1080px) {
	.split-bg-right .section-block:before {
		max-height: 100%;
	}

	.split-bg-right .split-content {
		padding-bottom: 0;
	}
}

.SubPage .text-columns h4 {
	color: #de712d;
	padding-top: 2rem;
	padding-bottom: 0;
}

.SubPage .text-columns .heading-type {
	max-width: 70rem;
	padding-bottom: 2rem;
}

/* Undersida Projekt
========================================================================== */
.sub-projects .section-block-wrapper {
	max-width: none;

}

.sub-projects .LayoutPage .section-block {
	padding: 0;
}

/* Inuti includefilen */
.hero-section {
	max-width: none;
	padding: 12rem 2rem;
	margin: 0 auto;
	margin-top: 5rem;
	background: #FFF;
}

.hero-section {
	text-align: center;
}

.headline-wrapper .heading {
	font-size: 1.7rem;
	padding-bottom: 2rem;
	letter-spacing: .2em;
	font-weight: 500;
	color: #9FC519;
	text-transform: uppercase;
}

.headline-wrapper .subheading {
	font-size: 5rem;
	color: #000;
	font-weight: 800;
	text-transform: none;
	line-height: 1.1;
	padding-bottom: 2rem;
	letter-spacing: 0;
	text-shadow: none;
	font-family: 'Yantramanav', sans-serif;
	font-style: normal;
}


.filter-section {
	padding: 5rem 4rem;
	max-width: 150rem;
	margin: 0 auto;
}

@media only screen and (max-width:510px) {
	.headline-wrapper .subheading {
		font-size: 3rem;
	}

	.filter-section {
		padding: 4rem 2rem;
	}
}

.filter-items-wrapper {
	margin-bottom: 4rem;
}

.filter-buttons ul {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	padding: 0;
	margin: 0;
}

.filter-buttons .filter-item {
	font-family: inherit;
	font-weight: 500;
	font-style: normal;
	font-size: 1.5rem;
	line-height: 1.5;
	letter-spacing: normal;
	color: #787878;
	text-transform: none;
	padding: 1.5rem;
	cursor: pointer;
	display: block;
}

.filter-buttons .filter-item {
	border-right: .5px solid #eeeeee;
}




/* Active & hover on button */
.filter-buttons .filter-item.active-project {
	background-color: transparent;
	border: 1px solid #9FC519;
	color: #9FC519;
}

.filter-buttons .filter-item:hover {
	color: #9FC519;
	text-decoration: none !important;
}




/* ----- */
#gallery .section-block-wrapper {
	max-width: 160rem;
}

.gallery .section-block {
	padding-top: 9rem !important;
}


.product-gallery .project-thumb-wrapper {
	width: 31%;
	margin: 1%;
	box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.02);
	height: 25rem;
}

.product-gallery .project-thumb-wrapper .project-thumb {
	background: transparent;
	padding: 11rem 2rem;
}

.product-gallery .project-thumb-wrapper:hover .project-thumb {
	background-color: rgba(0, 0, 0, 0.33);
	cursor: -webkit-zoom-in;
}

.product-gallery .project-thumb .project-name {
	font-size: 1.7rem;
	font-weight: 800;
	text-align: left;
	padding-top: 6rem;
	padding-bottom: .5rem;
}

.product-gallery .project-thumb .project-place {
	font-size: 1.4rem;
	text-align: left;
}

@media only screen and (max-width: 1270px) {
	.product-gallery .project-thumb-wrapper {
		height: 30rem;
	}
}

@media only screen and (max-width: 1024px) {
	.product-gallery .project-thumb-wrapper {
		height: 25rem;
	}
}

@media only screen and (max-width: 1000px) {
	.product-gallery .project-thumb-wrapper {
		height: 30rem;
		width: 48% !important;
	}
}

@media only screen and (max-width: 680px) {
	.product-gallery .project-thumb-wrapper {
		height: 15rem;
	}
}

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

	.product-gallery .project-thumb-wrapper {
		height: 23rem;
	}
}

/* ==========================================================================
Footer
========================================================================== */
.footer {
	background: #32257E;
	padding: 0;
	box-sizing: border-box;
}

.footer .container {
	max-width: none;
	box-sizing: border-box;
	margin: 0 auto;
	padding: 0;
}

.footer .footer-top {
	max-width: 150rem;
	padding: 0;
	padding-top: 3rem;
	box-sizing: border-box;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 0 auto;
}

.footer-col-top {
	width: 25%;
	padding: 5rem 3rem;
	/* align-self: center; */
}

.footer-col-top:first-child {
	width: 40%;
}

.footer-col-top:first-child {
	background: #32257E;
}

.footer-col-top:first-child .fas {
	color: #fff;
}

.footer-col-top:first-child a:hover {
	color: #fff !important;
}

.col-offices .footer-nav li a:before {
	font-family: 'Font Awesome 5 Pro';
	font-weight: 700;
	content: '\f276';
	margin-right: 2rem;
	text-decoration: none;
	display: inline-block;
	color: #e73137;
}


.footer-col-top.contact-wrapper {
	display: flex;
	flex-wrap: wrap;
}


.footer-top * {
	text-align: left !important;
}


.contact-person {
	width: 50%;
	padding: 1rem;
}

.contact-wrapper .contact-person h4 {
	font-size: 1.5rem;
}

.contact-wrapper .contact-person h6 {
	color: #9FC519;
}

.footer h4,
.footer h5 {
	font-size: 2.4rem;
	padding-bottom: 2rem;
	color: #fff;
	font-size: 2rem;
	text-transform: uppercase;
	letter-spacing: 0.15rem;
	padding-bottom: 1rem;
	font-weight: 600;
}

.footer h5 {
	font-size: 2rem;
	letter-spacing: 0.2rem;
	padding-top: 3rem;
	padding-bottom: 1.5rem;
	margin: 0;
	font-weight: 300;
	text-transform: uppercase;
	color: #fff;
}

.footer .fas {
	color: #e73137;
	padding-right: 1rem;
}

.footer p,
.footer a,
.footer li {
	font-size: 1.6rem;
	padding: 0;
	font-weight: 300;

	line-height: 1.6em;
	padding-bottom: 4px;
	color: #fff;
	text-decoration: none !important;
}

.footer img {
	width: 265px;
	height: auto;
}

.footer ul {
	margin: 0;
	list-style: none;
	padding-left: 0;
}

.footer .container .footer-wrapper {
	width: 100%;
	text-align: center;
	margin: 0 auto;
}

.footer .footer-bottom {
	text-align: center;
	margin: 0 auto;
	width: 100%;
	padding: 15px;
	margin: 0 auto;
	box-sizing: border-box;
	background: #32257E;
	max-width: none;
	min-height: 0;
	padding: 2rem 5rem;
	box-sizing: border-box;
	font-size: .55rem;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	line-height: 1;
}

.footer-col-bottom {
	box-sizing: border-box;
	align-self: center;
}


.footer-col-bottom * {
	font-size: 1.3rem;
	text-align: center;
}

.footer .container .fab {
	margin: 0;
	font-size: 2rem;
	vertical-align: middle;
	padding: 0;
	padding-left: 1rem;
	color: #fff;
}


.footer .container .fab:hover {
	color: #9FC519 !important;
}

.footer-col-bottom p {
	color: #fff;
	font-size: 1.1rem;
	padding: 0;
}

.footer .social-icons {
	padding-top: 10px;
}

.footer a {
	display: inline-block;
}

.footer a:hover {
	color: #9FC519 !important;
	text-decoration: underline;
}

/* WebbEss Stamp  */
.footer .webbess-stamp {
	display: flex;
	align-items: center;
	padding: 0;
	font-size: 1.2rem;
	font-weight: normal;
}

.webbess-stamp img {
	width: 2.3rem;
	margin-left: 1rem;
	filter: invert();
}


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

	.footer .footer-bottom {
		min-height: auto;
	}

	.footer .footer-top {
		max-width: 60rem;
	}

	.footer-col-top,
	.footer-col-top:nth-child(2),
	.footer-col-top:first-child {
		width: 100%;
		margin-bottom: 0;
		padding: 3rem 2rem;
	}

	.footer-col-bottom {
		width: 100%;
		margin: 10px 0;
	}

	.footer *,
	.footer-col-bottom:last-child p {
		text-align: center !important;
	}

	.footer h4 {
		padding-bottom: 10px;
	}



}