
body{
    display: flex;
    flex-direction: column;
    align-items: stretch;
    text-justify: auto;
    margin: 0;
    font-family: 'Open Sans', 'Times New Roman', Times, serif;
}

.container{
    padding-left: 15%;
    padding-right: 15%;
}

#welcome-section{
   display: flex;
   flex-direction: column;
   align-items: stretch;
}

h1{
    font-size: 2em ;
}

h2,li{
    font-size: 1.5em;
}

main{
    display: grid;
    grid-template-columns: 290px auto max-content;
    gap: 1vmin;
    margin-bottom: 5rem;
}

#navbar{
    top: 0;
    left: 0;
    position: sticky;
    display: flex;
    align-items: center;
    z-index: 5;
    padding: 10px;
    border-bottom: 2px solid black;
    background-color: white;
    padding-left: 10%;
    padding-right: 10%;
    transition: all 100ms ease-in-out;
}

.nav-bar-retracted{
    font-size: smaller;
}

.nav-bar-retracted h1{
    font-size: 13px;
}

#navbar h1{
    display: inline;
}

#navbar a{
    margin-left: 5px;
    margin-right: 5px;
    background-color: white;
    font-weight: bold;
    border-bottom: 1px solid white;
    transition: border 350ms ease-in-out;
}
#navbar a:hover, #navbar a:focus{
    border-bottom: 1px solid black;
}
.nav-link{
    padding: 2px;
    text-decoration: none;
    color: black;
}

#links{
    display: flex;
    flex: 1;
    flex-direction: row;
    align-items: flex-end;
    justify-content: flex-end;
}
#picture{
    padding: 5px;
    height: 200px;
    width: 200px;
    border-radius: 50%;
}
#slot-img{
    margin-top: 2px;
    margin-bottom: 2px;
    height: 210px;
    width: 210px;
    border-radius: 50%;
    display: flex;
    flex-direction: column;
    justify-items: center;
    align-items: center;
    align-self: center;
}

#menu{
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    align-items: stretch;
}

.menu-text{
    padding: 5px;
    margin: 5px;
    border-radius: 5px;
    border: 2px solid gray;
}
.menu-text img{
    height: 32px;
    width: 32px;
    margin: 0 3px 0 3px;
}
.menu-text a{
    display: inline-block;
}
#social{
    align-self: center;
    display: flex;
    flex-direction: row;
    align-items: center;
}
.info{
    margin-bottom: 3px;
}
#menu a:hover, #menu a:focus{
    background-color: white
}

#content section{
    border-top: 1px solid gray;
    padding-top: 1rem;
    margin-bottom: 5rem;
}

#others{
    display: flex;
    flex-direction: column;
    align-content: flex-start;
    align-items: stretch;
}


#projects{
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr) );
    gap: 2vmin;
    padding: 10px;
}

.project-tile{
    background-color: black;
    border-bottom: 1px solid black;
    display: flex;
    flex-direction: column-reverse;
    text-align: center;
    align-items: stretch;
    border-radius: 10px;
    text-decoration: none;
    color: white;
    position: relative;
    transition: all 350ms ease-in-out;
}
h1, h2, h3{
    margin-top: 0;
    padding-left: 10px;
    text-align: center;
}
p{
    padding-left: 10px;
    font-size: 1.25em;
}

#navbar h1{
    background-image: none;
    margin: 0;
}

#others h1, h2{
    margin-bottom: 0;
}

h2{
    margin-top: 10px;
}

#others h2{
    text-align: center;
}

.skills{
    display: grid;
    grid-template-columns: max-content auto;
    justify-content: stretch;
    gap: 1vmin;
    padding: 10px;
}

.skills p{
    display: inline-block;
    margin: 0;
    font-weight: bold;
}

.level{
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.star{
    height: 20px;
    width: 20px;
    transition: all 350ms ease-in-out;
    
}

.star:hover, .star:focus{
    transform: translateY(-0.5vmin);
}

.project-tile h4{
    margin: 0;
}
.project-tile img{
    flex: 1;
    padding: 10px;
}

.project-tile .tooltiptext {
    background-color: black;
    color: #fff;
    text-align: justify;
    padding: 10px ;
    position: absolute;
    transform:  translateY(100%);
    transition: all 100ms ease-in-out;
    opacity: 0;
    z-index: -1;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
}

.project-tile:hover, .project-tile:focus{
    z-index: 3;
    transform:  scale(1.3);
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}

.project-tile:hover .tooltiptext, .project-tile:focus .tooltiptext {
    visibility: visible;
    z-index: 2;
    opacity: 1;
}

iframe{
    width: 360px;
    height: 240px;
}
