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

* {
	/* element-box inkluderer padding, border i den totale width og height */
	padding: 0px;
	margin: 0px;
	box-sizing: border-box;
	scroll-behavior: smooth;
	cursor: none;
}

html {
	font-family: 'Red Hat Text', sans-serif;
}

body {
	/*tager udgangspunkt i default browser størrelsen EM er lig med 16px. denne omregning giver 1 em lig med 10px */
	font-size: 62.5%;
	animation: transitionIn 1s;
}

h1 { 
	font-size: 5em;
	letter-spacing: 6px;
	color: white;
	text-transform: uppercase;
	font-weight: 900;
	margin-bottom: 20px;
}
h2 { 
	font-size: 4em;
	color: white;
	text-transform: uppercase;
	font-weight: 900;
	margin-bottom: 20px;
}

.portfolio-text h3 { 
	font-size: 4em;
	text-align: left;
	color: white;
	font-weight: 300;
	margin-bottom: 20px;
}

.portfolio-text strong { 
	font-weight: 800;
}

h4 {
	font-size: 2.5em;
	color: white;
	text-transform: uppercase;
	font-weight: 900;
	margin-bottom: 30px;
}

p { 
	font-size: 1.5em;
}

.portfolio-text p { 
	text-align: left;
	font-size: 1.8em;
}

.om-mig-text h3 { 
	font-size: 4em;
	text-align: left;
	color: white;
	font-weight: 300;
	margin-bottom: 20px;
}

.om-mig-text strong { 
	font-weight: 800;
}

.om-mig-text p { 
	text-align: left;
	font-size: 1.8em;
	line-height: 1.5em;
	letter-spacing: 1px;
}

.link { 
	color: #fff;
	text-decoration: underline;
}

.portfolio {
	padding-top: 30px;
}

.padding {
	padding: 80px 0px 80px 0px
}

.fullsize-video-bg h2 {
	font-weight: 500;
}

/* ANIMATIONS ––––––––––––––––––––––––––––––––––––––––––––––––––------------------------------------------------- */

@keyframes transitionIn {
	from {opacity: 0;}	
	to {opacity: 1;}
}

/* LOADING SCREEN ––––––––––––––––––––––––––––––––––––––––––––––––––------------------------------------------------- */

#loading {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #111;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 9999;
}

.loader {
    width: 60px;
    height: 60px;
    border: 4px solid #333;
    border-top: 4px solid #fff;
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* VIDEO LANDING PAGE ––––––––––––––––––––––––––––––––––––––––––––––––––------------------------------------------------- */


* {
	-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;
}

html {
	color: #fff;
	text-align: center;
	height: 100%;
}
body {
	height: 100%;
}

#video-viewport {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
	z-index: 0;
	display: block;
	align-items: initial;
	justify-content: initial;
	will-change: transform;
}
video {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate3d(-50%, -50%, 0);
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    object-fit: cover;
    pointer-events: none;
    will-change: transform;
}

/* Disable heavy parallax on small screens for performance and UX */
@media (max-width: 767px) {
    #video-viewport { position: absolute; }
    video { position: absolute; top: 50%; left: 50%; transform: translate3d(-50%, -50%, 0); min-height: 100%; }
}

.fullsize-video-bg {
	height: 100%;
	overflow: hidden;
}

.fullsize-video-bg:before {
	content: "";
	background: rgba(0,0,0,0.75);
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
}
.fullsize-video-bg:after {
	content: "";
	background-image: url("../img/landing-page-texture.png");
	background-size: 3px 3px;
	position: absolute;
	opacity: 50%;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
}

.fullsize-video-bg .inner {
	display: table;
	width: 100%;
	max-width: 24em;
	height: 100%;
	margin: 0 auto;
	padding: 0;
	position: relative;
	z-index: 2;
	text-shadow: 0 1px 5px rgba(0, 0, 0, 0.5);
}
.fullsize-video-bg .inner > div {
	text-align: center;
	display: table-cell;
	vertical-align: middle;
	padding: 0 2em;
}

.page-content {
	position: absolute;
	top: 50%;
	Left: 50%;
	transform: translate(-50%, -50%);
	z-index: 3;
	width: 100%;
	max-width: 800px;
	text-align: center;
	padding: 0 40px;
	box-sizing: border-box;
}

.page-content h2 {
	font-size: 2.5em;
}

/* BASIC BOX ––––––––––––––––––––––––––––––––––––––––––––––––––------------------------------------------------- */

.box {
	min-height: 150px;
	padding: 1.5em;
	color: #ffffff;
	text-align: center;
	margin: 0 0 1.0em 0;
}

.box-col-25-left {
	min-height: 150px;
	padding: 1.5em;
	color: #ffffff;
	text-align: center;
	margin: 0 0 1.0em 0;
}

.box-col-25-right {
	min-height: 150px;
	padding: 1.5em;
	color: #ffffff;
	text-align: center;
	margin: 0 0 1.0em 0;
}

.row::after {
	content: "";
	clear: both;
	display: block; 
	margin: 0 0 1.0em 0;
}

.boxEmpty {
	min-height: 50px;
	padding: 1.5em;
	color: #ffffff;
	text-align: center;
	margin: 0 0 1.0em 0;  
}

.boxEmpty3 {
	min-height: 25px;
	padding: 1.5em;
	color: #ffffff;
	text-align: center;
	margin: 0 0 1.0em 0;  
}

.boxContact {
	min-height: 75px;
	padding: 1.5em;
	color: #ffffff;
	text-align: center;
	margin: 0 0 1.0em 0;
}

.boxBottom {
    height: 0px;
    padding: 1.5em;
    margin: 0 0 1em 0;
}

.boxContact p {
	line-height: 1.8em;
}


/* BACKGROUND COLORS ––––––––––––––––––––––––––––––––––––––––––––––––––------------------------------------------------- */

.BG-box {background-color: #161616}
.BG-box2 {background-color: #131313}

.dim {
	color: white;
	opacity: 0.5;
	font-size: 1.3em;
}

[class*="col-"] {
	float: left; 
}

.row::after {
	content: "";
	clear: both;
	display: block; 
	margin: 0 0 1.0em 0;
}

.content {
	width: 80%;
	margin: 0 auto; 
	padding-top: 1.0em;
}

.content-gallery {
	width: 80%;
	margin: 0 auto; 
	padding-top: 3.0em;
	
}

/* ICONS ––––––––––––––––––––––––––––––––––––––––––––––––––------------------------------------------------- */

.icon {
	align-content: center;
	height: auto;
	width: 25px;
	padding-top: 1.8em;
	padding-bottom: 7px;	
}

/* SCROLL ICON ––––––––––––––––––––––––––––––––––––––––––––––––––------------------------------------------------- */

.mouse {
	position: absolute;
	width: 22px;
	height: 42px;
	bottom: 40px;
	left: 50%;
	margin-left: -12px;
	border-radius: 15px;
	border: 2px solid #FFFFFF;
	animation: intro 1s;
	z-index: 3;
}

.scroll {
	display: block;
	width: 3px;
	height: 3px;
	margin: 6px auto;
	border-radius: 4px;
	background: #FFF;
	animation: finger 1s infinite;
	z-index: 3;
}	

@keyframes intro {
  0%{
    opacity: 0;
    transform: translateY(40px);
	  }
  100%{
    opacity: 1;
    transform: translateY(0);
}
	}

@keyframes finger {
  0%{
    opacity: 1;
	  }
  100%{
    opacity: 0;
    transform: translateY(20px);
	  }
}

/* CURSOR ––––––––––––––––––––––––––––––––––––––––––––––––––------------------------------------------------- */

.cursor {
    position: fixed;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background-color: #FFF;
    pointer-events: none;
    mix-blend-mode: difference;
    z-index: 9999;
    transition: transform 0.2s;
}

/* SCROLLBAR ––––––––––––––––––––––––––––––––––––––––––––––––––------------------------------------------------- */

::-webkit-scrollbar-track
{
	border-radius: 10px;
	background-color: rgba(0,0,0,0.00);
}

::-webkit-scrollbar
{
	width: 8px;
	background-color: rgba(255,255,255,0.00);
}

::-webkit-scrollbar-thumb
{
	border-radius: 10px;
	background-color: rgba(255,255,255,1);
}

/* BURGER MENU ––––––––––––––––––––––––––––––––––––––––––––––––––------------------------------------------------- */

input#menuToggle {
	display: none;
}

input#menuToggle2 {
	display: none;
}

.open-lines {
	background-color: #FFF;
	width: 24px;
	height: 2px;
	display: block;
	border-radius: 2px;
	position: relative;
	top: 8px;
}

.open-lines:before {
	content: "";
	background-color: #FFF;
	width: 24px;
	height: 2px;
	display: block;
	border-radius: 2px;
	position: relative;
	top: -7px;
	transform: rotate(0deg);
	transition: all 0.3s ease;
}

.open-lines:after {
	content: "";
	background-color: #FFF;
	width: 24px;
	height: 2px;
	display: block;
	border-radius: 2px;
	position: relative;
	z-index: 50;
	top: 5px;
	transform: rotate(0deg);
	transition: all 0.3s ease;
}

.menuOpen {
	width: 42px;
	height: 40px;
	display: block;
	padding: 10px;
	position: fixed;
	top: 30px;
	right: 30px;
	z-index: 99;
	border-radius: 3px;
}

.menuOpen:hover .open-lines:before {
	top: -8px;
}

.menuOpen:hover .open-lines:after {
	top: 6px;
}

.nav-menu {
	position: fixed;
	width: 100vw;
	height: 100vh;
	top: 0;
	left: 0;
	background: rgba(0,0,0, .90);
	z-index: 49;
	display: flex;
	align-items: center;
	justify-content: center;
}

.nav-menu label {
	width: 30px;
	height: 30px;
	position: absolute;
	right: 35px;
	top: 35px;
	background-size: 100%;
}

.nav-menu .menuContent {
	position: relative;
	text-align: center;
}

.nav-menu ul {
	list-style: none;
	padding: 0;
	margin: 0 auto;
}

.nav-menu ul li a {
	display: inline-block;
	margin-bottom: 10px;
	color: #fff;
	font-size: 2em;
	font-weight: normal;
	line-height: 1.2;
	letter-spacing: 2px;
	text-decoration: none;
  	text-transform: uppercase;
	padding: 10px 20px;
	transition: all 0.2s;
}

.nav-menu ul li a:hover {
	color: #878787;
	letter-spacing: 4px;
}
.menuEffects {
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.5s, visibility 0.5s;
}

.menuEffects ul {
	transform: translateY(0%);
	transition: all 0.5s;
}

#menuToggle:checked ~ .menuEffects {
	opacity: 1;
	visibility: visible;
	transition: opacity 0.5s;
}

#menuToggle:checked ~ .menuEffects ul a li {
	opacity: 1;
}

#menuToggle:checked ~ .menuOpen .open-lines {
	background-color: transparent;
}

#menuToggle:checked ~ .menuOpen .open-lines:before {
	content: "";
	background-color: white;
	transform: rotate(45deg);
	position: absolute;
	top: 0;
	right: 0;
	z-index: 1;
}

#menuToggle:checked ~ .menuOpen .open-lines:after {
	content: "";
	background-color: white;
	transform: rotate(-45deg);
	position: relative;
	top: 0;
	right: 0;
	z-index: 1;
}

#menuToggle:not(:checked) ~ .menuOpen ul {
	transform: translateY(-30%);
}


/* TIMELINE ––––––––––––––––––––––––––––––––––––––––––––––––––------------------------------------------------- */

.timeline {
	width: 80%;
	height: auto;
	max-width: 800px;
	margin: 0 auto;
	position: relative;
}

.timeline ul {
	list-style: none;
}

.timeline ul li {
	padding: 20px;
	background-color: #3B3B3B;
	color: white;
	border-radius: 10px;
	margin-bottom: 20px;
}

.timeline ul li:last-child {
	margin-bottom: 0;
}

.timeline-content h3 {
	font-weight: 500;
	font-size: 25px;
	line-height: 30px;
	margin-bottom: 10px;
}

.timeline-content p {
	font-size: 16px;
	line-height: 30px;
	font-weight: 300;
}

.timeline-content .date {
	font-size: 1.5em;
	font-weight: 300;
	margin-bottom: 10px;
	letter-spacing: 2px;
}

@media only screen and (min-width: 768px) {
  .timeline:before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 2px;
    height: 100%;
    background-color: gray;
  }
  .timeline ul li {
    width: 50%;
    position: relative;
    margin-bottom: 50px;
  }
  .timeline ul li:nth-child(odd) {
    float: left;
    clear: right;
    transform: translateX(-30px);
    border-radius: 20px 0px 20px 20px;
  }
  .timeline ul li:nth-child(even) {
    float: right;
    clear: left;
    transform: translateX(30px);
    border-radius: 0px 20px 20px 20px;
  }
  .timeline ul li::before {
    content: "";
    position: absolute;
    height: 20px;
    width: 20px;
    border-radius: 50%;
    background-color: gray;
    top: 0px;
  }
  .timeline ul li:nth-child(odd)::before {
    transform: translate(50%, -50%);
    right: -30px;
  }
  .timeline ul li:nth-child(even)::before {
    transform: translate(-50%, -50%);
    left: -30px;
  }
  .timeline-content .date {
    position: absolute;
    top: -30px;
  }
  .timeline ul li:hover::before {
    background-color: #CBCBCB;
  }
}

.container {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 100px 0;
}

/* GALLERY ––––––––––––––––––––––––––––––––––––––––––––––––––------------------------------------------------- */

.lb {
	display: none;
	position: fixed!important;
	z-index: 999;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background: rgba(0,0,0,0.8);
	text-align:center;
}

.lb img {
	max-width: 90%;
	max-height: 80%;
	margin-top: 5%;
}

.lb:target {
	outline: none;
	display: block;
}

.button-cases {
	color: #ffffff;
	background-color: #1a1a1a;
	border: 2px solid #ffffff;
	border-radius: 10px;
	padding: 10px 26px;
	display: inline-block;
	font-size: 18px;
	letter-spacing: 1px;
	text-decoration: none;
	margin-top: 30px;
	margin-bottom: 0px;
	transition: .5s;
}

.button-cases:hover {
	opacity: 0.5;
}

.button-cases a {
	color: #ffffff;
	display: inline-block;
	font-size: 18px;
	letter-spacing: 1px;
	text-decoration: none;
}


.gallery { 
    -webkit-column-count: 4;
    -moz-column-count: 4;
    column-count: 4;
    -webkit-column-gap: 30px;
    -moz-column-gap: 30px;
    column-gap: 30px;
    margin-top: 30px;
    overflow: hidden;
}

.gallery img { 
    width: 100%; 
    height: auto;
	border-radius: 8px;
    transition: 500ms;
    margin-bottom: 30px;
    opacity: 1;
    page-break-inside: avoid; /* For Firefox. */
    -webkit-column-break-inside: avoid; /* For Chrome & friends. */
    break-inside: avoid; /* For standard browsers like IE. :-) */
}
.gallery img:hover {
    opacity: 0.7;
}

.gallery-img2 { 
	border-radius: 15px;
	transition: .5s;
}

.poster-img { 
	border-radius: 15px;
	transition: .5s;
}

.poster-img:hover {
	opacity: 0.5;
}

@media screen and (max-width: 799px) {
	
.gallery { 
	-webkit-column-count: 2;
	-moz-column-count: 2;
	column-count: 2;
}
	
.gallery div { margin: 0; 
	width: 200px;
}

@media screen and (max-width: 400px) {
	
.gallery { 
	-webkit-column-count: 1;
	-moz-column-count: 1;
	column-count: 1;
    }
	
.gallery div { 
	margin: 0; 
	width: 200px;
    }
	
}


/* PDF PAGE ––––––––––––––––––––––––––––––––––––––––––––––––––------------------------------------------------- */

.PDFpage {
	height: 100%;
	width: auto;
}

}
