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

/* 
blå=#def0f5
gul =#fcf5d1
*/

body{
	margin: 0px;
	font-family:"Roboto Condensed", sans-serif;
	  font-weight:300;
	background-color: black;
	color: #FFFFFF;
}
body.slide-out {
    transform: translateX(-100%);
    transition: transform 0.7s ease-in-out;
}


html {
    scroll-behavior:smooth;
}

p{
	font-size: 14px;
	margin: 0px;
	padding-top: 5px;
	cursor:default;
}

p.info{
	font-size: 20px;
	padding-bottom: 15px;
}

h1{
	font-size: 40px;
	margin: 0px;
	cursor:default;
}
h2{
margin: 0px;
font-size: 20px;
	padding-top: 10px;
	cursor:default;
}
h3{
	font-weight: 400;
	cursor:default;
	
}

href{
	color: none;
}

nav ul li{
writing-mode: vertical-rl;
padding-bottom: 20px;
margin: 0px;
list-style: none;
transform:rotate(180deg);
	color: #FFFFFF;
padding-right: 20px;
	text-decoration: underline;
}


nav ul{
	padding-left: 15px;
}
nav{
	padding-right: 110px;
	padding-top: 10px;
	

}

nav a.logo{
	padding: 15px;
	margin-top: 10px;
}

nav a {
	font-size: 18px;
}

gallery.scroller_inner p{
	color: #FFFFFF;
	align-content: flex-end;
	margin: 0;
	padding-bottom: 30px;
}


screen{
	display: flex;
	width: 100vw;
	background-color: black;
	overflow: hidden;
	height: 100vh;
}

/* Gallery billeder */

.scroller_inner div {
	display: block;
	background-color: aqua;
	margin-bottom: 20px;
	height: 400px;

}

/* scroll */
.scroller {
    max-height: 100vh;
    position: relative;
	overflow-y: auto;

	
 
}

/* grupperet Gallery billeder */
.scroller_inner {
    display: flex;
    padding-block: 3rem;
    animation: scroll-vertical 150s linear infinite; /* hastighed på auto scoll*/
	margin-top: 20px;
	flex-direction: column;
	align-items: flex-end;
	margin: 0;
	padding: 0;	
	
}



.scroller[data-paused="true"] .scroller_inner {
    animation-play-state: paused; /* pauser animatiuon når man hover*/
}

.scroller div li {
    list-style-type: none;
    font-size: 200px;
    background-color: aqua;
    border: solid black;
    flex: 0 0 auto;
    height: 250px;
}

/* Faded edges for the scroller */
.scroller[data-animated="true"] {
    overflow: hidden;
    -webkit-mask: linear-gradient(0deg, transparent, white 20%, white 80%, transparent);
    mask: linear-gradient(0deg, transparent, white 20%, white 80%, transparent);
}

/* Keyframes for automatic scrolling */
@keyframes scroll-vertical {
   0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(-50%);
  }
}


.scroller_inner a {
    display: flex;
    text-decoration: none; /* Remove underline for images */
	justify-content: flex-start;
	flex-direction: column;
	align-items: flex-end;
	margin: 0;
	padding: 0;
	width: calc( 100vw - var(--kategorySize) - var(--contactSize) );
	padding-bottom: 5px;
}

.scroller_inner img {
    pointer-events: all; /* Ensure clickable images */
}

kategory{
	display: flex;
	    align-items: center;
	padding-right: 60px;	

}
kategory ul li{
	color: #FFFFFF;
	list-style:none;
	font-size: 18px;
	cursor: default;

}

kategory li {
    font-weight: 300;
    transition: font-weight 0.3s ease;
}

kategory li.active {
    font-weight: bold;
	text-decoration: underline;
  
}

a.logo:hover img{
	animation: rotate 1s ease-in-out;/* Rotere animation imens hover */
}
@keyframes rotate {
	from {
		transform: rotate(0deg); /* stater i 0deg */
	}
	to{
		transform: rotate(360deg);/* slutter i 360deg */
	}
}

#contact {
	color: #FFFFFF;
	font-size: 20px;
	width: 0;
    opacity: 0;
    visibility: hidden; /* Hides the element */
    transition: all 0.8s ease; /* Smooth transition */
	padding-top: 110px;
		
}
nav a:hover{
	font-weight:700;
	transition: all 0.4s ease;
	cursor:pointer;}

#contact.active {
	display:block;
	width: 400px;
	opacity: 1;
    visibility: visible;
	

	 }

#wrapper {
	width: 100vw;
		display: flex;
		flex-direction: row;
		transition: all 0.7s ease;
}
	#wrapper.active {
		width: calc( 100vw + 400px );
;
	}

#aboutme {
	color: #FFFFFF;
	font-size: 20px;
	width: 0;
    opacity: 0;
    visibility: hidden; /* Hides the element */
    transition: all 0.8s ease; /* Smooth transition */
	padding-top: 110px;
		
}
nav a:hover{
	font-weight:700;
	transition: all 0.4s ease;
	cursor:pointer;
	color: aliceblue;
}

#aboutme.active {
	display:block;
	width: 400px;
	opacity: 1;
    visibility: visible;
	padding-top: 0;

	 }


#contact h1{
	font-size: 30px;
}

#contact p{
	padding-bottom: 20px;
	font-size: 18px;
}

#contact p a{
	text-decoration: none;
	color: #FFFFFF;
	transition: transform 0.3s ease-in-out,;
}
#contact p a:hover {
            transform: scale(1.1); /* Scale up slightly */
	font-weight: 400;

    transition: transform 0.2s ease-in-out; /* Add a bounce-like effect */
        }

#aboutme p{
	padding-bottom: 20px;
}

#hello {
	padding-bottom: 20px;
}

#aboutme img{
	padding-bottom: 10px;
}

section{
	width: cal(100vw + 20px);
	display: flex;
	scroll-snap-align: start;
	margin: 0;
	
}


text{
	display: flex;

}


text.active {
		padding-right: 200px;
	}


#about_btn a{
	color: #FFFFFF;
}

h1{
	overflow: hidden; /* Ensure content is hidden initially */
    white-space: nowrap; /* Prevent text from wrapping to the next line */
    border-right: 2px solid white; /* Simulate the cursor */
    animation: typing1 2s steps(20, end),cursor 0.1s step-end infinite alternate;
    animation-fill-mode: forwards; /* Ensure the animation stops at the end */
}
/* Typing effect */
@keyframes typing1 {
    from {
        width: 0;
        border-right: 2px solid white;
    }
    to {
        width: 100%;
        border-right: none; /* Remove the cursor at the end */
    }
}

/* Cursor blinking */
@keyframes cursor {
    50% {
        border-color: transparent;
	}}



/* Parent for hover effekten */
.image-container {
    position: relative;
    display: inline-block; /* Keeps images inline */
    width: 30%; /* Matches your image width */
    height: auto;
    overflow: hidden; /* Prevents content spill */
}

/* Images inside the container */
.image-container img {
    display: block;
    width: 100%; /* Takes up full width of container */
    height: auto;
    object-fit: cover; /* Ensures the image fits nicely */
    aspect-ratio: 1 / 1; /* Keeps images square */
    transition: transform 0.6s ease; /* Optional zoom effect */
}


/* Original .pictures styling (no changes here) */
.pictures {
    display: flex;
	padding-top: 20px;
	justify-content: space-between;
	column-gap: 15px;
}

.pictures img {
    object-fit: cover; /* Ensures image can zoom and fit */
    aspect-ratio: 1 / 1; /* Keeps images square */
    width: 100%; /* Adjusted to fit parent container */
    height: auto;
}


.two .pictures img{
	padding-top: 15px;
	width: 30%;
	overflow: hidden;
}
.blue:hover{
	color: blue;
	font-weight: 400;
}

text div {
	margin-right:120px;
}

.content{
	width: 100%;
	height: 100%;
	top:0;
	left: 0;
	position: absolute;
	display: flex;
	justify-content: flex-end;
	align-items: flex-start;
	flex-direction: column;
	opacity: 0;
	transition: 0.6s;
	font-size: 15px;
	font-weight: 200;
	padding-left: 10px;

}

.content:hover {
	opacity:1;
}



.oasen{
	display: block;
	padding: 0;
}

.intro {
	display: flex;
}
.intro img {
	max-width: 100%;
 height: 300px;
object-fit: fill;
	padding-left: 50px; 
}

h1#typing-header{
	font-size: 40px;
}

/* Pre-load */
.preload {
    position: fixed;
    z-index: 1;
    left: 0;
    top: 0;
    width: 100%;
    height: 100vh;
    background-color: #def0f5;
    display: flex; /* Brug flexbox til centrering */
    flex-direction: column; /* Stabler elementer lodret */
    justify-content: center; /* Centrerer elementer lodret */
    align-items: center; /* Centrerer elementer horisontalt */
    gap: 2px; /* Mellemrum mellem billedet og teksten */
    transition: 1s;
}

.preload img {
    width: 160%; /* Skaler billedet korrekt */
    max-width: 500px; /* Gør billedet responsivt */
    height: auto;
}

.logo-header1{
	padding-bottom: 10px;
	margin: 0;
	font-size: 40px;
	 color: #000000;
	
}


.logo-header {
    display: flex; /* Flexbox til horisontal placering */
    justify-content: center;
    align-items: center;
    gap: 10px; /* Mellemrum mellem spans */
    color: #000000;
    font-weight: 300;
    font-size: 30px; /* Skriftstørrelse */
    text-transform: uppercase; /* Ensartet tekst */
    text-align: center;
	margin: 0;
	padding-top: 0px;
}

.pre-logo {
    display: inline-block; /* Sørger for inline-layout */
    opacity: 0; /* Start usynligt */
    transform: translateY(20px); /* Start lidt forskudt */
    transition: opacity 0.6s ease, transform 0.6s ease;
}

.pre-logo.active {
    opacity: 1; /* Gør synligt */
    transform: translateY(0); /* Flytter tilbage til udgangspunktet */
}

.pre-logo.fade {
    opacity: 0; /* Fade-out */
    transform: translateY(-20px); /* Flytter lidt op under fade-out */
}

h4{
	  margin: 0; 
}

header{
	display: flex;
	justify-content: space-between;
}
main{
	display: flex;
	flex-direction: column;
	width: 100vw;
}

.content_O{
	display: flex;
	justify-content: flex-end;
	padding-top: 20px;
	height: 80%;

}

#o1{
	width: 100%;
	object-fit: cover;
}

img #o1{
	width: 100%;
	height: 80%;
object-fit: cover;}

#o2{
	width: 50%;
	height: 50%;
	object-fit: cover;;
	padding-top: 40px;
}

main p{
	
	padding-top: 20px;
}

#o3{
	padding-top: 20px;
	width: 70%;
	height: 600px;
	object-fit: cover;
}
	
.kontainer{
	padding-bottom: 50px;
	padding-top: 100px;
}

	.slider-wrapper {
		position: relative;
		max-width: 48rem;
		margin:0;

	
	}
	.slider {
		display: flex;
		aspect-ratio: 16/9;
		width: 100%;
		overflow: auto;
		scroll-snap-type: x mandatory;
		scroll-behavior: smooth;
		box-shadow: 0 1.5rem 3rem -0.75rem hsla(0, 0%, 0%, 0.25);
	
	}
		
		.slider::-webkit-scrollbar {
			display: none; /* For Chrome, Safari, and Edge */
		}
		
			
	.slider img {
		flex: 1 0 100%;
		scroll-snap-align: start;
		object-fit: cover;
	}
	.slider-nav {
		display: flex;
		column-gap: 1rem;
		position: absolute;
		bottom: 1.25rem;
		left: 50%;
		transform: translateX(-50%);
		z-index: 1;
	}
	.slider-nav a {
		width: 0.5rem;
		height: 0.5rem;
		border-radius: 50%;
		background-color: darkgrey;
		opacity: 0.5;
		transition: opacity ease 250ms;
		cursor: pointer;
	}
	.slider-nav a:hover {
		opacity: 1;
	}
	
	.slider-nav a.active {
	background-color: #FFFFFF; /* Highlight the active dot */
	opacity: 1;
}

.pil{
	padding-right: 20px;
}

footer{
	display: flex;
	justify-content: space-between;
	padding-left: 20px;
	padding-right: 20px;
	padding-bottom: 30px;
}

.overskift{
font-size: 40px;
}


#wrapper {
    transition: transform 0.8s ease;
    display: flex;
}

#wrapper.shift-left {
    transform: translateX(-400px); /* Skub wrapperen ud af skærmen */
}

.overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: rgba(0,0,0,0.7);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.5s ease;
	z-index: 999;}

.overlay.active {
     
    opacity: 1;
    visibility: visible;

}
.project-overlay {
      position: fixed;          /* Fixér position */
    top: 0;
    right: 0px;            /* Samme bredde som overlayens bredde */
    width: 600px;
    height: 100vh;
    background: #000;

    padding: 40px;
    overflow-y: auto;
    transition: right 0.8s ease;
    display: none;
    z-index: 1000;
	 transform: translateX(58%);  /* Starter ude til højre, uden luft */


}


.project-overlay.active {
	   display: block;
    right: 0;                 /* Når aktiv, flyt ind på skærmen */
}
.overlay.active {
    opacity: 1;
    visibility: visible;
}

.close-project{
	display: flex;
	margin: 0px;
	align-items: center;

}

.close-project h3 {
	margin: 0px;
}
/* Billeder af process */
.responsive-img {
         width: 600px;
    height: 350px;
    object-fit: cover;
	padding-bottom: 20px;
    }
.responsive-img-long {
  width: 600px;
  height: auto;
	display: block;
	padding-bottom: 20px;
}
.responsive-video {
  width: 100%;
  max-width: 800px;
  height: auto;
  margin-bottom: 20px;
}

.beskrivelse{
	padding-bottom: 20px;
}

.open-project {
	cursor:pointer;
}

.arrow{
	cursor: pointer;
}
@media only screen and (max-width: 1365px) {
	
	body{
		background-color: black;
	}
	h1{ 
		font-size: 30px;
	}
	
	p.info{
		font-size: 20px;
		
	}
	
	div.image-container{
		margin: 0;
	}
	.two .pictures img {
		padding: 0;
	}
	h1#typing-header{
		font-size: 30px;
	}
	/* HOMEPAGE */	
}
@media only screen and (max-width: 1023px) {
	
	body{
		background-color: black;
	}
	h1{ 
		font-size: 18px;
		padding-top: 5px;
		}
	
	h2{
		font-size: 15px;
	}

	
	p{
		font-size:  12px;
	}
	p.info{
		font-size: 15px;
	}

	div.container{
		display: block;
		}
	
	.pictures img {
    object-fit: cover; /* Ensures image can zoom and fit */
    aspect-ratio: 1 / 1; /* Keeps images square */
    height: auto;
}
	
	div.image-container{
		margin: 0;
	}
	
	section{
	scroll-snap-align: none;
	margin: 0px;
	height: none; 
	
}
	section one{
	margin: 0;
	}
	
	.two .pictures img {
		padding: 0;
	}
	
	h1#typing-header{
		font-size: 18px;
	}
	.container {
		overflow-y: none;
	}
	nav{
		padding-right: 20px;
	}
}
	
@media only screen and (max-width: 800px) {
	body{
		background-color:black;
	}
	
/* ABOUT ME*/	
	.intro {
	padding-right: 30px;
		padding-left: 50px;
	}
	
	.intro img {
		display: none;
	}
	section{
	scroll-snap-align: none;
	margin: 0px;
	height: none; 
}
	
/* HOMEPAGE */	
	.scroller_inner p{
		font-size: 10px;
	}
	
	kategory ul li {
		font-size: 15px;
}
	.scroller_inner a {
	width: calc( 100vw - 10px - 50px );
}
	nav{
		padding-right: 10px;
	}
	kategory{
		padding-right: 30px;
	}
	#wrapper {
		width:none;
	
	}
	.image-container {
    width: 400px;
		padding-right: 15px;
		padding-bottom: 0px;
		padding-top: 15px;
		
   
}
	.one {
		padding-left: 50px;
		padding-top: 10px;
	}
	
	.container {
   overflow-y: none;

}
	.pictures {
		display: block;
	padding: 0px;


	}
	
	
.logo-header1{
	font-size: 26px;
}

.logo-header {
	font-size: 20px;
	}
	
.project-overlay {
    right: 0px;            /* Samme bredde som overlayens bredde */
    width: 300px;
    height: 100vh;
	 transform: translateX(110%);  /* Starter ude til højre, uden luft */
}

.responsive-img {
    width: 300px;
    height: 200px;
    object-fit: cover;
    padding-bottom: 10px;
}
	
.responsive-img-long {
  width: 300px;
  height: auto;
	display: block;
	padding-bottom: 10px;
}
.responsive-video {
  width: 300px;
  max-width: 800px;
  height: auto;
  margin-bottom: 10px;
}

.beskrivelse{
	padding-bottom: 15px;
}

}

	

	

