
body {
    background-color: #ffffff;
    display: flex;              
    justify-content: center; 
    align-items: start;       
}

td {
    font-size: clamp(10px, 1vw, 14px);
}

.container {
    background-color: white;
    min-width: 330px; 
    min-height: 667px;
    max-width: 800px;
    padding: 2% 4%;
    border: 1px solid rgba(0, 0, 0, 0.2);
    border-radius: 3px;
    box-sizing: border-box; 
}

.profile {
    display: flex;  
}

.profile .info {
    max-width: 440px;
    width: 100%;
}

.name {
    font-size: 27px;  
    font-weight: 350;         
    margin: 0;
    margin-bottom: 0.3em;
    padding: 0;
}

.info .contact {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin: 0;
    margin-top: 1em;
    padding: 0;
}

.info .contact .item:nth-child(odd) {
    width: 20%;
}

.info .contact .item:nth-child(odd) p{
    font-weight: 500;
    font-size: clamp(15px, 1.1vw, 17px);
}

.info .contact .item:nth-child(even) {
    width: 73%;
    margin-right: 1.8em;
}

.info .contact .item:nth-child(even) p{
    font-size: clamp(15px, 1.1vw, 17px);
}

.info > .contact > .item > p > a{
    text-decoration: none; 
    color: blue;
}

.info .contact .item p > a:visited {
    color: blue;
}

.profile .id-photo {
    max-width: 117px;
    max-height: 156px;
    width: 100%;
    height: 100%;

    margin-left: auto; 
}

.profile .id-photo img{
    margin-top: 30%;
    width: 100%;
    height: 100%;
    border: 1px solid;
    border-color: rgba(0, 0, 0, 0.2);
    border-radius: 5px;
    object-fit: cover;
}

.about-me-desc {
    display: flex; 
    flex-direction: row;
    justify-content: start; 
    align-items: start;
    margin-left: 0.5%;
    padding-bottom: 1%;
}

.about-me-desc-div > p {
    font-size: clamp(14px, 1vw, 16px);
}

.about-me-desc-title {
    font-weight: 500;
}

.about-me-desc-div > p > a {
    color: rgba(0, 0, 255, 0.6);
    font-weight: 400;
    margin: 0;
}

.about-me-desc-div > p > a:visited {
    color: rgba(0, 0, 255, 0.6);
}

.skill-set {
    width: 100%;
    margin: 0;
    margin-top: 1%;
    padding: 0;
    display: flex;
    flex-direction: row;
    align-items: center;
    position: relative;
}

.skill-title p{
    font-size: clamp(12px, 1vw, 16px);
    font-weight: 500;
}

.skill-item-list {    
    display: flex; 
    flex-wrap: wrap; 
}

.skill-item-list td{    
    font-size: clamp(7px, 1vw, 13px);
}

.features {
    margin: 0;
    margin-top: 0.3em;
    padding: 0;
}

.period {
    color: rgb(108, 108, 113);
    font-size: clamp(14px, 1vw, 15px);
    font-weight: 500;
}

.project-subtext {
    font-size: clamp(14px, 1vw, 16px);
}

.feat-desc {
    display: flex;              
    justify-content: start; 
    align-items: start;       
    margin-left: 0.5%;
    padding-bottom: 1%;
}

.feat-desc > span {
    font-size: clamp(14px, 1vw, 16px);
}

.feat-desc > span a{
    color: rgba(0, 0, 255, 0.6);
    font-weight: 400;
    margin: 0;
}

.feat-desc > span a:visited{ 
    color: rgba(0, 0, 255, 0.6);
}

.feat-desc > p {
    font-size: clamp(14px, 1vw, 16px);
    font-weight: 400;
}

.feat-desc > p > span {
    font-weight: 300;
}

.feat-desc > p > a {
    text-decoration: none;  
    color: blue;
    font-weight: 300;
    margin: 0;
}

.feat-desc > p > a:visited {
    color: blue;
}

.section li {
    font-size: clamp(14px, 1vw, 16px);
    font-weight: 320;
}

.study-link {
    text-decoration: none;
    color: blue;
    margin: 0;
    padding-top: 0.3em;
    padding-bottom: 0.3em;
}

.study-link:visited {
    color: blue;
}

@media print {
    .education.section {
        margin-top: 10%;
    }
}