*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
:root{
    --darkColor: #1c494f;
    --lightColor: #2d907c;
    --lightBgColor: #d8f4ef;
    --font-body-family: 'Geneva', 'Lucida Sans', 'Lucida Sans Regular', 'Lucida Grande', 'Lucida Sans Unicode', Verdana, sans-serif;
}

html{
    font-size: 100%;
    font-family: var(--font-body-family);
    line-height: 1.5em;
    margin: auto;
    color: black;
}

body{
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

main a:visited, header a:visited{
    color: var(--darkColor);
}

main a, header a{
    color: var(--lightColor);
}
/*HEADER*/
header{
    background-color: var(--lightBgColor);
}

/* MENU */
#menu {
    background-color: var(--darkColor); 
    padding: 10px 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}


#menu > ul {
    list-style-type: none; 
    margin: 0;
    padding: 0;
    display: flex;
    width: 100%;
}


#menu > ul > li {
    margin: 0 15px;
}


#menu > ul > li > a {
    color: white; 
    text-decoration: none; 
    font-weight: bold;
    padding: 8px 12px;
    transition: background-color 0.3s;
}

#menu > ul > li a:hover {
    background-color: var(--lightColor); 
    border-radius: 4px;
}


#menu  ul  li:first-child {
    margin-right: auto; 
}

.navigationhelp{
    position: absolute;
    text-indent: -999em;
}

#togglemenu{
    display: none;
}


/*MAIN*/
.banner {
    display: grid;
    grid-template-areas: "i t t";
    grid-template-columns: 1fr 1fr 1fr; 
    grid-gap: 0.3em; 
    align-items: center;
    padding: 20px;
    background-color: var(--lightBgColor);
}

.banner>.image-container {
    grid-area: i;
    padding-right: 20px; 
}

.image-container > img {
    width: auto;
    height: 20em;
}

.banner>.text-container {
    grid-area: t;
}

.text-container h1 {
    font-size: 2em;
    margin: 1.5em 0;
    color: var(--darkColor);
    font-family: 'Lucida Sans', 'Lucida Sans Regular', 'Lucida Grande', 'Lucida Sans Unicode', Geneva, Verdana, sans-serif;
    font-weight: bold;
}

.text-container p {
    font-size: 1em;
    color: #333;
}

.icon{
    height: 1em;
    padding: 0 0.3em;
}

#links{
    list-style: none; 
    padding: 0;
}
#links li { 
    background-repeat: no-repeat; 
    background-size: 20px 20px; 
    background-position: 0 50%; 
    padding-left: 30px; 
    line-height: 1.5; 
}

#links #github-link {
    background-image: url('../img/icons/github_colored.svg'); 
}

#links #swe-link {
    background-image: url('../img/icons/info_colored.svg'); 
}

#links #swe-link {
    background-image: url('../img/icons/info_colored.svg'); 
}
/* FOOTER */
footer{
    background-color: var(--darkColor);
    color: var(--lightColor);
    padding: 1.0em;
    text-align: center;
    border-top: 2px solid var(--lightColor); 
    border-radius: 3px;
    width: 100%;
} 

/* CANDIDATURA */

#candidatura{
    padding: 1em;
}

/* RTB */

#rtb{
    padding: 1em;
}

.file-list{
    list-style: none; 
    padding: 0;
}
.file-list li { 
    background-repeat: no-repeat; 
    background-size: 20px 20px; 
    background-position: 0 0; 
    padding-left: 30px; 
    line-height: 1.5; 
}

.file-list .folder {
    background-image: url('../img/icons/folder.svg'); 
}
.file-list .file {
    background-image: url('../img/icons/file.svg'); 
}
.file-list .archive {
    background-image: url('../img/icons/archive.svg'); 
}
.file-list .code {
    background-image: url('../img/icons/code.svg'); 
}


/* PB */

#pb{
    padding: 1em;
}


/* ABOUT US */
#about-us{
    background-color: var(--lightBgColor);
    padding: 0.5em 0 3em 0;
    text-align: center;
}
#about-us > h2{
    margin: 1em;
    text-align: center;
    
}
#us {
    display: flex;
    gap: 20px; /* Spaziatura tra le card */
    justify-content: center; /* Centra le card all'interno del container */
    flex-wrap: wrap; /* Le card andranno a capo se lo spazio orizzontale non è sufficiente */
}

.person-card {
    background-color: #f5f5f5; 
    border: 1px solid var(--lightColor); 
    border-radius: 8px; 
    padding: 15px; 
    width: 20%; 
    box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1); 
    text-align: center;
}

.person-card h3, .person-card h4 {
    margin: 0;
    padding-bottom: 8px; 

}
.person-card h4 {
    font-weight: normal;
}

#social-list {
    margin: auto;
    padding: 1em;
    width: 100%;
    list-style-type: none;
    text-align: center;
    display: block; 
    justify-content: center; 
    gap: 1em;
    
}

#social-list li {
    margin: 0; 
    display: inline-block; 
   
}

#social-list li a {
    display: block; 
    width: 1.5em;
    height: 1.5em;
    padding: 0em;
}

.logo {
    text-indent: -999em;
    background-repeat: no-repeat;
    background-size: contain;
    line-height: 1.5em;
    color:black;
    background-position: center;

  }

  #social-list ul {
    list-style-position: inside;
    justify-content: center; 
}

#github{
    background-image: url("../img/icons/github.svg");
}
#linkedin{
    background-image: url("../img/icons/linkedin.svg");
}
#email{
    background-image: url("../img/icons/envelope.svg");
}
#ist-email{
    background-image: url("../img/icons/envelope-at.svg");
}
#website{
    background-image: url("../img/icons/info.svg");
}

