@font-face {
	font-family: 'Karla';
	font-style: bold;
	font-weight: 700;
	src: url('../font/Karla/static/Karla-Bold.ttf') format('truetype');
}

@font-face {
	font-family: 'Source Sans Pro';
	font-style: normal;
	font-weight: 400;
	src: url('../font/Source_Sans_Pro/SourceSansPro-Regular.ttf') format('truetype');
}

@font-face {
	font-family: 'Source Sans Pro';
	font-style: bold;
	font-weight: 700;
	src: url('../font/Source_Sans_Pro/SourceSansPro-Bold.ttf') format('truetype');
}

@font-face {
	font-family: 'Source Sans Pro';
	font-style: italic;
	font-weight: 400;
	src: url('../font/Source_Sans_Pro/SourceSansPro-Italic.ttf') format('truetype');
}

body {
	font-family: 'Source Sans Pro', sans-serif;
	font-weight: normal;
	font-size: 16px;
	line-height: 1.8;
	margin: 0;
	display: flex;
	flex-flow: column wrap;
	align-items: center;
}

div, img {
	box-sizing: border-box;
	display: block;
}

img {
	max-width: 100%;
}

h1, h2, h4 {
	color: #000;
	margin-bottom: 0;
}

h1 { font-size: 2.0rem; }
h2 { font-size: 1.6rem; }
h4 { font-size: 1.2rem; }

p {
	margin-top: 8px;
	color: #353535;
}

a {
	text-decoration: none;
	color: #009edd;
}

.btn {
	border: none;
	font-family: Karla;
	font-weight: 700;
	padding: 12px 24px;
	font-size: 0.9rem;
	text-transform: uppercase;
}
.btn.cta {
	background-color: #000;
	color: #fff;
}

.header {
	background-color: #fff;
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: fixed;
	z-index: 2;
	width: 100%;
	padding: 0 16px;
	box-shadow: 0 1px 3px rgba(0,0,0,.1);
}
	.header .logo a {
		line-height: 0;
	}
		.header .logo a img {
			max-height: 68px;
		}
	.header .nav {
		display: flex;
		flex-flow: row nowrap;
	}
		.header .nav .item {
			padding: 20px;
			text-transform: uppercase;
			font-family: Karla;
			font-weight: 700;
			font-size: 0.9rem;
			color: #000;
			border-bottom: 3px solid rgba(0,0,0,0);
			transition: border-color .2s;
		}
		.header .nav .item:hover {
			border-color: #000;
		}
		.header .nav .item.current {
			color: #fff;
			background-color: #000;
		}

	.header .mobile-nav {
		display: none;
		padding: 12px;
		cursor: pointer;
		position: absolute;
		top: 10px;
		right: 8px;
	}
	@media screen and (max-width: 900px) {
		.header {
			flex-flow: row wrap;
		}
		.header .logo a img {
		}
		.header .nav {
			flex-flow: column wrap;
			display: none;
			background-color: #fff;
			width: 100%;
			flex: 0 0 100%;
			padding: 16px 0;
		}
		.header .mobile-nav {
			display: block;
		}
	}


.footer {
	background-color: #000;
	padding: 64px;
	width: 100%;
}
	.footer p {
		color: #666;
	}
		.footer .company {
			margin-top: 20px;
			font-size: 13px;
			text-align: center;
		}
			.footer .company a {
				text-decoration: underline;
			}
			.footer .company .insta-more a {
				justify-content: center;
			}

.header-space {
	height: 70px;
}

/** Index **/
.work {
	width: 100%;
	max-width: 600px;
	text-align: left;
}
	.work h4 {
		display: flex;
		align-items: flex-start;
	}
	.work h4.rest {
		margin-top: 8px;
	}
	.work h4 img {
		width: 28px;
		margin-right: 8px;
		margin-top: 4px;
	}

.contact-section {
	padding-bottom: 100px!important;
}

/** Referenser **/
	
.insta-more-after {
	margin-top: 30px;
}

/** Kontakt **/

.persons {
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
	margin-top: 20px;
}
	.persons .person {
		margin: 30px 60px;
		text-align: center;
	}
	@media screen and (max-width: 400px) {
		.persons .person {
			margin: 15px 30px;
		}
	}
		.persons .person img {
			max-width: 250px;
			border-radius: 50%;
			width: 100%;
		}
		.persons .person .name {
			margin-bottom: 0;
		}
		.persons .person .tel {
			margin-top: 0;
		}

.common {
	text-align: center;
}

/** Components **/

.hamburger {
	display: flex;
	flex-flow: column wrap;
	justify-content: space-between;
	height: 24px;
	width: 30px;
}
	.hamburger .line {
		width: 100%;
		height: 4px;
		margin: 0 1%;
		background-color: #000;
	}
	.hamburger .line.top {
		transform-origin: 0% 0%;
		transition: transform 0.2s ease-in-out;
	}
	.hamburger .line.middle {
		transition: transform 0.2s ease-in-out;
	}
	.hamburger .line.bottom {
		transform-origin: 0% 100%;
		transition: transform 0.2s ease-in-out;
	}
	.hamburger.active .line.top {
		transform: rotate(45deg);
	}
	.hamburger.active .line.middle {
		transform: scaleX(0);
	}
	.hamburger.active .line.bottom {
		transform: rotate(-45deg);
	}


.cover {
	width: 100%;
}
	.cover img {
		max-height: 700px;
		object-fit: cover;
		object-position: 50% 50%;
		width: 100%;
		max-height: 50vh;
	}
	@media screen and (max-width: 900px) {
		.cover img {
			height: 50vh;
			max-height: unset;
		}
	}


.section {
	padding: 48px 16px;
	display: flex;
	flex-flow: column wrap;
	align-items: center;
	width: 100%;
}
	.section .section {
		padding: 0;
	}
	.section.contained {
		max-width: 1200px;
	}
	.section.contained.small {
		max-width: 800px;
	}
	.section.contained.xsmall {
		max-width: 600px;
	}
	.section.faded {
		background-color: #f9f9f9;
	}

.jumbo {
	max-width: 700px;
	margin-top: 40px 0;
}
.jumbo.center {
	text-align: center;
}
	.jumbo .jumbo-title {
		font-size: 1.8rem;
		line-height: 2.1rem;
		margin: 0;
		color: #000;
	}
	.jumbo .jumbo-description {
		font-size: 1.1rem;
	}
	.jumbo .jumbo-cta {
		display: flex;
		justify-content: center;
		margin-top: 20px;
	}

.cards {
	margin: 20px 0;
	display: flex;
	flex-flow: row wrap;
}
	.cards .card {
		position: relative;
		display: flex;
		flex-flow: column nowrap;
		flex: 0 0 31.3%;
		margin: 1%;
		background-color: #fff;
		box-shadow: 0 1px 3px rgba(0,0,0,.1);
		border-radius: 3px;
	}
	@media screen and (max-width: 900px) {
		.cards .card {
			flex: 0 0 100%;
			margin: 8px 0;
		}
	}

	.cards .card .card-image {
		border-top-left-radius: 3px;
		border-top-right-radius: 3px;
		object-fit: cover;
		height: 230px;
		width: 100%;
		object-position: 50% 30%;
	}
	.cards .card .card-insta-logo {
		position: absolute;
		top: 10px;
		right: 10px;
		width: 30px;
	}
	.cards .card .card-title {
		margin: 10px 20px 4px 20px;
	}
	.cards .card .card-text {
		margin: 4px 20px 10px 20px;
		flex-grow: 1;
	}
	.cards .card .card-link {
		border-top: 1px solid #f9f9f9;
		padding: 10px 20px;
		text-align: center;
	}
		.cards .card .card-link a {
			display: block;
			width: 100%;
		}



.feed {
	margin-top: 30px;
}
	.feed .posts {
		display: flex;
		max-width: 900px;
		flex-flow: row wrap;
		margin-top: -10px;
		margin-left: -10px;
		margin-right: -10px;
	}
		.feed .posts .post {
			flex: 1 0 100%;
			padding: 10px;
			cursor: pointer;
		}
		.post img {
			width: 100%;
			display: block;
			pointer-events: none;
		}

		@media screen and (min-width: 300px) {
			.feed .posts .post {
				flex: 1 0 50%;
			}
		}
		@media screen and (min-width: 600px) {
			.feed .posts .post {
				flex: 1 0 33%;
			}
		}
	.feed .insta-more {}
		.feed .insta-more a {
			justify-content: flex-end;
		}

.insta-more {
	margin: 16px 0 10px;
}
	.insta-more a {
		color: #202020;
		font-size: 0.9rem;
		display: flex;
	}
	.insta-more.light a {
		color: #666;
	}
		.insta-more a img {
			width: 18px;
			margin-top: 3px;
			margin-left: 8px;
		}

.modal {
	display: flex;
	opacity: 0;
	transition: opacity .1s ease-in;
	visibility: hidden;
	justify-content: center;
	align-items: center;
	position: fixed;
	width: 100vw;
	height: 100vh;
	top: 0;
	left: 0;
	z-index: 3;
	background-color: rgba(0,0,0,.2);
}
.modal.open {
	opacity: 1;
	visibility: visible;
	cursor: pointer;
}
	.modal img {
		max-width: 80vw;
		max-height: 80vh;
		box-shadow: 0 0 100px rgba(0,0,0,.2);
	}

	@media screen and (max-width: 900px) {
		.modal img {
			max-width: 90vw;
			max-height: 90vh;
		}
	}


/** End Components **/

