*{
	margin: 0px;
	padding: 0px;
	box-sizing: border-box;
	scroll-padding-top: 8vh; 
}

a{
    text-decoration: none;
    color: white;
}

a:link {
    text-decoration: none;
    color: white;
}

a:visited {
    text-decoration: none;
    color: white;
}

a:focus {
    text-decoration: none;
    color: white;
}

a:hover {
    text-decoration: none;
    color: white;
}

a:active {
    text-decoration: none;
    color: white;
}

body {
    background-color: #0083db;
    background-image: url("./src/img/BLUEPRINT.svg");
    background-repeat: repeat;
    background-size: 3rem;
	color: #eeeeee;
	font-family: 'Sofia Sans', sans-serif;
	display: flex;     
	align-items: center;
	justify-content: center;
  }

  .main-container{
    background: #222;
    border-radius: 2em;
    margin: 5vw;
    width: 90vw;
  }


  nav{
	display: flex;
	justify-content: space-around;
	align-items: center;
	height: 9vh;
	min-height: 38px;
  	top: 0;
  	left: 0;
  	z-index: 1;
  	width: inherit;
}

.nav-name a{
    list-style: none;
    color: #eeeeee;
	text-decoration: none;
	letter-spacing: 3px;
	font-weight: 300;
	font-size: 21px;
}

.nav-links{
	display: flex;
	justify-content: space-around;
	align-items: center;
	width: 60%;
}

.nav-links li{
	list-style: none;
}

.nav-links a{
	color: #bbbbbb;
	text-decoration: none;
	letter-spacing: 3px;
	font-weight: light;
	font-size: 14px;
	border: 1px solid transparent;
	padding: 7px 10px;
	border-radius: 3px;
}

.nav-links a{
	color: #bbbbbb;
	text-decoration: none;
	letter-spacing: 3px;
	font-weight: light;
	font-size: 14px;
	border: 1px solid transparent;
	padding: 7px 10px;
	border-radius: 3px;
}

.nav-links a.active{
	color: #eeeeee;
    font-weight: 900;
}

.flag img{
    height: 1em;
}

.factive img{
    outline: Solid 0.1em white;
}

.burger{
	display: none;
	cursor:  pointer;
}

.burger div{
	width: 25px;
	height: 3px;
	background-color: #EEEEEE;
	margin: 5px;
	transition: all 0.3s ease;
}


@media screen and (max-width: 1024px){
	.nav-name{
        margin-left: 2em;
	}
	.nav-links{
		width: 90%;
	}
}

@media screen and (max-width: 768px){
	body{
        max-width: 100%;
		overflow-x: hidden;
        width: 100%;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
	}

    .main-container{
		overflow-x: hidden;
        width: 95vw;
        margin: 2.5vw;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
	}

    header{
        overflow-x: hidden;
    }

	nav{
		overflow-x: hidden;
	}
	.nav-links{
		position: absolute;
		right: 0px;
		height: 92vh;
		top:10.5vh;
        border-radius: 3em;
		background-color: #222;
		display: flex;
		flex-direction: column;
		align-items: center;
		width: 0%;
		transform: translateX(100%);
		transition: transform 0.5s ease-in;
		padding-bottom: 10vh;
	}

	.nav-links li{
		opacity: 0;
	}

    .nav-links li a{
		display: none;
	}

	.burger{
		display: block;
	}
}

.nav-active{
	transform: translateX(-2.5vw);
    width: 50%;
    z-index: 1;
}

.nav-active.nav-links li a{
    display: block;
}


@keyframes navLinkFade{
	from{
		opacity: 0;
		transform: translateX(50px);
	}
	to{
		opacity: 1;
		transform: translateX(0px);
	}
}


.toggle .line1{
	transform: rotate(-45deg) translate(-5px,6px);
}
.toggle .line2{
	opacity: 0;
}
.toggle .line3{
	transform: rotate(45deg) translate(-5px,-6px);
}

main{
    width: 100%;
}


.bio{
    margin: 5em;
    margin-bottom: 0;
    display: flex;
    align-items: center;
    justify-content: space-around;
}

.profilepic{
    width: 25vw;
    height: 25vw;
    border: Solid 1em;
    border-color: #444;
    border-radius: 50%;
    overflow: hidden;
}

.profilepic img{
    width: 120%;
    margin: -10%;
}

.biodesc{
    margin-left: 5em;
    width: 50%;
}

.name{
    font-weight: 300;
    font-size: 35px;
}

.desc{
    font-weight: 200;
    text-indent: 0.25em;
}
.desc p{
    margin-bottom: 0.5em;
}


.bio_buttons{
    display: flex;
    margin-top: 2em;
    justify-content: center;
    align-items: stretch;
    gap: 2em;
    flex-wrap: wrap;
}

.button{
    background-color: rgb(60, 60, 60);
	border: 2px solid;
	padding: 0.5em 2em;
	border-radius: 2em;
	box-shadow: 8px 8px 8px 0 rgba(0, 0, 0, 0.1);
	transition: all 0.5s ease;
	max-width: 18em;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
	text-align: center;
	text-decoration: none;
	font-weight: 200;
	font-size: 18px;
    gap: 2em;	
}


.button.blue{
    border-color: #0083db;
}

.button.white{
    border-color: #ffffff;
}

.button.blue a{
    color: white;
}

.button.white a{
    color: white;
}

.button.blue:hover{
    background-color: #0083db;
}

.button.white:hover{
    color: #222;
    background-color: #ffffff;
    
}

.button.white:hover a{
    color: #222;
    
}

.button img{
    height: 1.2em;
    filter: invert(100%);
    width: 1.2em;
}

@media screen and (max-width: 1024px){
}

@media screen and (max-width: 768px){
    .bio{
        flex-direction: column;
    }
    .profilepic{
        width: 50vw;
        height: 50vw;
        border: Solid .5em;
        border-color: #444;

    }
    .biodesc{
        text-align: center;
        margin: 0;
        margin-top: 1em;
        width: 90%;
    }

    .bio_buttons{
        flex-direction: column;
        align-items: center;
    }
}


.section-title{
    font-weight: 600;
    font-size: 25px;
    margin-left: 2em;
    margin-top: 3em;
    margin-bottom: 2em;
    width: max-content;
    max-width: 90vw;
    
}
.underline{
   background-color: rgb(127, 127, 127);
   width: 100%;
}
.blueunderline{
    background-color: #0083db;
    width: 30%;
    height: 0.1em;
}

@media screen and (max-width: 768px){
    .section-title{
        margin-left: auto;
        margin-right: auto;
        text-align: center;
    }
}

.brief{
    display: flex;
    align-items: center;
    justify-content: space-around;
}

.card{
    display: flex;
    flex-direction: column;
    align-items: center;
    border: 0.1em solid;
    border-color: #444;
    border-radius: 0.5em;
    width: 25%;
    text-align: center;
    background-color: rgb(40, 40, 40);
    padding-bottom: 1em;
    
}

.card img{
    height: 2.5em;
    width: auto;
    margin: 1em;
    filter: invert(30%) sepia(89%) saturate(1111%) hue-rotate(177deg) brightness(109%) contrast(106%);
}

.period{
    font-weight: 100;
}

.company{
    margin-left: 3em;
    margin-right: 3em;
    font-weight: 400;
}

.role{
    margin-left: 3em;
    margin-right: 3em;
    font-weight: 800;
}

@media screen and (max-width: 768px){
    .brief{
        flex-direction: column;
        gap: 2em;
    }
    .card{
        width: 70%;
    }
}

.companies{
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.companylogo{
    width: 15vw;
    height: auto;
    padding: 2em;
    padding-top: 0%;
}

.companylogo img{
    filter: brightness(2);
}

@media screen and (max-width: 768px){
    .companies{
        flex-wrap: wrap;
        justify-content: space-around;
    }
    .companylogo{
        width: 40%;
    }
}


.socials{
    border-top: 0.02em solid;
    border-color: #444;
    width: 100%;
    display: flex;
    margin-top: 2em;
    padding-left: 2em;
    padding-top: 0.2em;
    padding-bottom: 0.2em;
    justify-content: start;
    gap: 2em;
}

.socials a img{
    width: 2em;
    filter: invert(42%) sepia(5%) saturate(25%) hue-rotate(2deg) brightness(92%) contrast(87%);

}

/*  --- Resume --- */

.title{
    background-color: rgb(43, 43, 43);
    font-size: 40px;
    font-weight: 700;
    padding-top: 2em;
    padding-bottom: 2em;
    padding-left: 2em;
    border-top: solid 0.03em #444;
    border-bottom: solid 0.03em #444;
}

.cols{
    display: flex;
    justify-content: space-around;
    align-items: flex-start;
    width: 100%;
    gap: 15%
}

.section{
    padding-left: 10vw;
    padding-right: 10vw;
}

@media screen and (max-width: 768px){
    .section{
        align-items: center;
    }
}

.subsection-title{
    font-weight: 600;
    font-size: 25px;
    margin-left: 0em;
    margin-top: 3em;
    margin-bottom: 2em;
    width: max-content;
    max-width: 70vw;
    overflow-wrap: break-word;
    
}

.subsubsection-title{
    font-weight: 600;
    font-size: 20px;
    margin-left: 0em;
    margin-top: 1em;
    margin-bottom: 0.5em;
    max-width: 100vw;
    overflow-wrap: break-word;
}

.edu-resume li{
	list-style: none;
    width: 30vw;
}

.work-resume li{
	list-style: none;
    width: 30vw;
}

.resume-element{
    display: block;
    border-left: solid 0.05em #444;
    border-bottom: solid 0.05em #444;
    padding: 0.5em;
}

.RE-top{
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 1em;
    margin-left: -1.5em;
}

.RE-period{
    height: 2em;
    text-align: center;
    font-size: 12px;
    font-weight: 100;
    border: solid #0083db 0.2em;
    border-radius: 1em;
    padding-left: 1em;
    padding-right: 1em;
    background-color: #222;
    display: flex;
    align-items: center;
    width: max-content;

}

.p{
    width: max-content;
}

.RE-company{
    font-size: 12px;
    font-weight: 100;
    color: #bbbbbb;
   min-width: max-content;
}

.RE-companylogo{
    margin-left: auto;
    margin-right: 2em;
}

.RE-companylogo img{
    height: 2vw;
    width: auto;
    max-width: 5vw;
    filter: brightness(2);
    margin: auto;
}

.RE-title{
    font-size: 16px;
    font-weight:400;
    margin-top: 1em;
}

.RE-desc{
    font-size: 12px;
    font-weight: 100;
    color: #bbbbbb;
    margin-top: 1em;
}

@media screen and (max-width: 1024px){
    #Work{
        display: none;
    }

    .TL{
        all: unset;
        font-weight:200;
        font-size: 25px;
        margin-left: 0em;
        margin-top: 1em;
        margin-bottom: 0.5em;
        width: max-content;
        cursor: pointer;
        color: #bbbbbb;
        transition: .5s ease;
    }

    .TL.active {
        color: white;
        font-weight: 600;
        font-size: 25px;

        transition: 1s ease;
    }

    .edu-resume li{
        list-style: none;
        width: 60vw;
    }
    
    .work-resume li{
        list-style: none;
        width: 60vw;
    }

    .RE-company{
       min-width: min-content;
    }

    .RE-companylogo img{
        height: 5vw;
        max-width: 15vw;
    }


}

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

    .RE-top{
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        align-items: center;
        gap: 1em;
        margin-left: -1.5em;
    }
    .RE-companylogo{
        margin: 0;
    }

    .subsection-title{
        margin-left: auto;
        margin-right: auto;
        text-align: center;
    }
}

@media screen and (max-width: 1024px){
    .extraact{
        flex-direction: column;
        align-items: center;
        max-width: 100vw;
    }
}

/* --- Certificates --- */

.certificates{
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    width: 100%;
    gap: 2em;
    flex-wrap: wrap;
}

.certificate{
    border: solid 0.1em #444;
    border-radius: 1em;
    overflow: hidden;
    display: flex;
    width: 30vw;
}

@media screen and (max-width: 768px){
    .certificates{
        flex-direction: column;
        align-items: center;
    }

    .certificate{
        width: 60vw;
    }
}

.CF-logo{
    background-color: #444;
    color: #222;
    width: 10em;
    height: inherit;
    padding: 1em;
    display: flex;
    justify-content: center;
    align-items: center;
}

.CF-logo p{
    font-weight: 900;
    font-size: 4em;
}

.CF-info{
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    margin-left: 1em;
    margin-right: 1em;
    min-height: 7em;
    width:inherit;
}

.CF-title{
    font-size: 16px;
    font-weight: 600;
}

.CF-data{
    font-size: 12px;
    font-weight: 300;
    margin-left: 0.3em;
}

.CF-date{
    font-size: 10px;
    font-weight: 100;
    color: #bbbbbb;
}


/* --- SKILLS --- */


.skillscol{
    flex-direction: column;
    max-width: 100%;
    align-items: center;
    justify-content: space-between;
}

.skills-group{
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}

.skills-group li{
	list-style: none;
}

.skill{
    width: 30vw;
    margin-bottom: 1em;
}

.SK-name{
    font-size: 16px;
    font-weight: 400;
}

.SK-fill{
    height: 0.7em;
    width: 100%;
    border: 0.2em solid #444;
    border-radius: 0.35em;
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin-top: 0.2em;
}

.SK-progress{
    height: 0.2em;
    border-radius: 0.1em;
    background-color: #0083db;
    margin-left: 0.1em;
}

@media screen and (max-width: 768px){
    .skills{
        flex-direction: column;
        align-items: center;
    }
    .skill{
        width: 60vw;
    }
}


/* --- Portfolio --- */

.portfolio-elem{
    display: flex;
    flex-direction: column;

}

.portfolio-content{
    display: flex;
    justify-content: center;
    align-items: center;
    max-width: 70vw;
}

.portfolio-desc{

}

.portfolio-img{

}

.portfolio-img img{
    width: 20vw;
    padding: 1em;
}

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

@media screen and (max-width: 768px){
    .portfolio-content{
        flex-direction: column;
        align-items: center;
    }
    .portfolio-img img{
        width: 40vw;
    }

}
/* --- Extra --- */
.passions{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.passion{
    display: flex;
    align-items: flex-start;
    width: 30vw;
    margin-bottom: 1em;
}

.passion-icon{
    padding: 0.5em;
    padding-top: 0;
    filter: invert(30%) sepia(89%) saturate(1111%) hue-rotate(177deg) brightness(109%) contrast(106%);
}

.passion-icon img{
    width: 3vw;
}

.passion-content{
    margin-left: 1em;
}

.passion-title{
    font-weight: 600;
    font-size: 18px;
}

.passion-desc{
    font-weight: 100;
    font-size: 14px;
}

@media screen and (max-width: 1024px){
    .passions{
        flex-direction: column;
        align-items: center;
    }
    .passion{
        width: 50vw;
    }

    .passion-icon img{
        width: 6vw;
    }
}

/* --- Contacts --- */

.contacts{
    margin: 2em;
    margin-left: 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}

.contact{
    display: flex;
    align-items: center;
    width: max-content;
    text-decoration: none;
    color: white;
}

.contact-icon{
    padding: 0.5em;
    filter: invert(30%) sepia(89%) saturate(1111%) hue-rotate(177deg) brightness(109%) contrast(106%);
}

.contact-icon img{
    width: 2vw;
}

.contact-title{
    margin-left: 3em;
    font-weight: 600;
    font-size: 18px;
}

.mobile{
    display: none;
}


@media screen and (max-width: 1024px){
    .desktop{
        display:none;
    }
    .mobile{
        display:flex;
    }
}


@media screen and (max-width: 768px){
    .contacts{
        margin: 0;
        align-items: center;
    }

}
