@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Raleway:wght@100..900&display=swap');

/* font-family: Roboto,
serif;
font-family: Montserrat,
sans-serif;
font-family: Poppins,
sans-serif;
font-family: Raleway,
sans-serif; */

body {
    border: 2px solid black;
    background-color: gray;
    margin: 0 auto;
    height: 100%;

}

#header {
    margin: 2vh;
    padding: 2vh;
    height: auto;
    /* Allow height to adjust based on content */
    display: flex;
    align-items: center;
    gap: 5vh;
    border-radius: 2vh;
    background-color: rgb(240, 90, 90);
    box-shadow: 10px 10px 20px rgba(0, 0, 0, 0.25);
    flex-wrap: wrap;
    /* Allows wrapping on smaller screens */
}

.headshot {
    height: clamp(15rem, 20vw, 30rem);
    /* Scales smoothly between 15rem and 30rem */
    width: clamp(15rem, 20vw, 30rem);
    /* Scales width to maintain aspect ratio */
    background-image: url(images/bigsize_headshot.JPG);
    background-position: center;
    background-size: cover;
    border-radius: 50%;
    box-shadow: 10px 10px 20px rgba(0, 0, 0, 0.25);
    min-width: 10rem;
}

.details {
    display: flex;
    flex-direction: column;
    justify-content: center;
    font-family: Montserrat, sans-serif;
    max-width: 100%;
}

.title {
    font-size: clamp(2.2rem, 4vw, 4rem);
    /* Adjusts size between 2rem and 4rem */
    font-weight: 600;
    line-height: 1.2;
    /* Prevents text overflow */
}

.summary {
    font-size: clamp(1rem, 2.5vw, 1.6rem);
    /* Scales smoothly from 1rem to 1.6rem */
    max-inline-size: 75ch;
    line-height: 1;
}

.web_link {
    font-size: clamp(1rem, 2.5vw, 1.6rem);
    /* Matches the summary font scaling */
    max-inline-size: 75ch;
}

/* Responsive adjustments */
@media screen and (max-width: 768px) {
    #header {
        flex-direction: column;
        /* Stack headshot and details vertically */
        align-items: center;
        gap: 3vh;
    }
}



.nav {
    margin: 2vh;
    height: auto;
    /* Allow height to adjust based on content */
    display: flex;
    align-items: center;
    justify-content: space-evenly;
    gap: 5vh;
    border-radius: 2vh;
    background-color: rgb(240, 90, 90);
    box-shadow: 10px 10px 20px rgba(0, 0, 0, 0.25);
    padding: 1rem;
    /* Added padding for spacing */
    flex-wrap: wrap;
    /* Allows wrapping on smaller screens */
}

.nav a {
    height: 2.5rem;
    width: 15rem;
    background-color: #314790;
    text-decoration: none;
    font-family: Roboto, serif;
    color: white;
    padding: 8px 8px;
    text-align: center;
    font-size: 1.8rem;
    border-radius: 2vh;
    cursor: pointer;
    box-shadow: 0 3px 5px #19254b;
    transition: transform 0.3s ease, background-color 0.3s ease;
    /* Smooth transition */
}

.nav a:hover {
    background-color: #AB2ED4;
    transform: scale(1.05);
    /* Slight scale effect */
}

/* Responsive adjustments */
@media screen and (max-width: 1024px) {
    .nav a {
        width: 12rem;
        font-size: 1.2rem;
    }
}

@media screen and (max-width: 768px) {
    .nav {
        flex-direction: column;
        /* Stack links vertically */
        gap: 2vh;
    }

    .nav a {
        width: 10rem;
        font-size: 1.1rem;
    }
}

@media screen and (max-width: 480px) {
    .nav a {
        width: 8rem;
        font-size: 1rem;
        padding: 6px 8px;
        /* Adjust padding for smaller buttons */
    }
}


.skills {
    margin: 2vh;
    font-family: Roboto, serif;
    font-size: 1.56rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 2vh;
    background-color: rgb(240, 90, 90);
    box-shadow: 10px 10px 20px rgba(0, 0, 0, 0.25);
    padding: 2vh;
}

.table-container {
    width: 100%;
    overflow-x: auto;
    margin: 20px 0;
    padding: 10px;
    border-radius: 2vh;
}

/* Table styling */
table {
    width: 100%;
    border-collapse: collapse;
}

th,
td {
    padding: 12px 15px;
    text-align: left;
    border-bottom: 1px solid #ddd;
}

th {
    background-color: #f2f2f2;
    font-weight: bold;
}

/* Responsive design */
@media screen and (max-width: 768px) {
    .table-container {
        padding: 5px;
    }

    th,
    td {
        padding: 10px;
        font-size: 0.85em;
    }

    /* Convert table layout to block on smaller screens */
    table,
    thead,
    tbody,
    th,
    td,
    tr {
        display: block;
    }

    th {
        display: none;
        /* Hide headers on mobile */
    }

    td {
        display: flex;
        justify-content: space-between;
        padding: 10px;
        border-bottom: 1px solid #ddd;
        position: relative;
        padding-left: 50%;
        /* Create space for pseudo-element labels */
    }

    td:before {
        position: absolute;
        left: 10px;
        width: 45%;
        /* Adjust width to fit content */
        white-space: nowrap;
        font-weight: bold;
        color: #333;
    }

    /* Define labels for each column */
    td:nth-of-type(1):before {
        content: "Skills";
    }

    td:nth-of-type(2):before {
        content: "Level";
    }

    td:nth-of-type(3):before {
        content: "Description";
    }
}

@media screen and (max-width: 480px) {
    .skills {
        font-size: 1.2rem;
        /* Reduce font size on very small screens */
    }

    td {
        padding: 8px;
        font-size: 0.85rem;
    }
}


.mv_statement {
    font-family: Roboto, serif;
    font-size: 1.56rem;
    margin: 2vh;
    padding: 2vh;
    gap: 3vh;
    height: auto;
    /* Allow height to adjust based on content */
    display: flex;
    justify-content: space-around;
    /* align-items: center; */
    border-radius: 2vh;
    background-color: rgb(240, 90, 90);
    box-shadow: 10px 10px 20px rgba(0, 0, 0, 0.25);
    /* flex-wrap: wrap; Allows wrapping on smaller screens */
}

.logo {
    height: 30rem;
    width: 30rem;
    /* Set width to maintain aspect ratio */
    background-image: url(images/missionvision.jpeg);
    background-position: center;
    background-size: cover;
    border-radius: 2vh;
    box-shadow: 10px 10px 20px rgba(0, 0, 0, 0.25);
    min-width: 10rem;
}

.text {
    font-weight: 600;
    font-size: 1.7rem;
}

.text2 {
    max-inline-size: 75ch;
    font-size: 1.56rem;
}



/* Responsive adjustments */
@media screen and (max-width: 1024px) {
    .mv_statement {
        font-size: 1.4rem;
        /* Slightly reduce font size for readability */
        gap: 2vh;
    }

    .logo {
        height: 25rem;
        width: 25rem;
        /* Adjust image size for smaller screens */
    }
}

@media screen and (max-width: 768px) {
    .mv_statement {
        flex-direction: column;
        /* Stack logo and writeup vertically */
        align-items: center;
        text-align: center;
        gap: 3vh;
        padding: 2vh;
    }

    .logo {
        height: 20rem;
        width: 20rem;
        /* Further reduce image size on smaller screens */
    }

    .text {
        font-size: 1.6rem;
        /* Adjust heading size */
    }

    .text2 {
        font-size: 1rem;
        /* Adjust heading size */
    }
}

@media screen and (max-width: 480px) {
    .mv_statement {
        font-size: 1.2rem;
        /* Further reduce font size for readability */
        gap: 2vh;
    }

    .logo {
        height: 15rem;
        width: 15rem;
        /* Smaller logo size for mobile screens */
    }

    .text {
        font-size: 1.4rem;
        /* Adjust heading size */
    }
}

.contacts {
    font-family: Roboto, serif;
    font-size: 1.56rem;
    margin: 2vh;
    padding: 2vh;
    gap: 3vh;
    height: auto;
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
    /* Allows wrapping on smaller screens */
    border-radius: 2vh;
    background-color: rgb(240, 90, 90);
    box-shadow: 10px 10px 20px rgba(0, 0, 0, 0.25);
}

.icon-container {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.icon_phone,
.icon_address,
.icon_email,
.icon_in {
    height: 100px;
    width: 100px;
    background-position: center;
    background-size: cover;
    transition: transform 0.3s ease;
    /* Smooth scaling */
    cursor: pointer;
}

.icon_phone {
    background-image: url(images/phone.png);
}

.icon_address {
    background-image: url(images/address.png);
}

.icon_email {
    background-image: url(images/email.png);
}

.icon_in {
    background-image: url(images/linkedin.png);
}

/* Hover effect */
.icon_phone:hover,
.icon_address:hover,
.icon_email:hover,
.icon_in:hover {
    transform: scale(1.1);
    /* Enlarge slightly */
}

/* Label styling */
.icon-label {
    margin-top: 15px;
    font-size: 1.56rem;
    font-weight: 500;
    color: #333;
    text-align: center;
}



.downloads {
    margin: 2vh;
    height: auto;
    display: flex;
    align-items: center;
    justify-content: space-evenly;
    gap: 5vh;
    border-radius: 2vh;
    background-color: rgb(240, 90, 90);
    box-shadow: 10px 10px 20px rgba(0, 0, 0, 0.25);
    padding: 1rem;
    flex-wrap: wrap;
}

.downloads a {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 2.5rem;
    width: 15rem;
    background-color: #314790;
    text-decoration: none;
    font-family: Roboto, serif;
    color: white;
    padding: 8px;
    font-size: 1.56rem;
    border-radius: 2vh;
    cursor: pointer;
    box-shadow: 0 3px 5px #19254b;
    transition: transform 0.3s ease, background-color 0.3s ease;
}

.downloads a:hover {
    background-color: #AB2ED4;
    transform: scale(1.05);
}

.icon {
    width: 2rem;
    /* Adjust icon size */
    height: 2rem;
    margin-right: 8px;
    /* Space between icon and text */
}

/* Responsive adjustments */
@media screen and (max-width: 1024px) {
    .downloads a {
        width: 12rem;
        font-size: 1.2rem;
    }
}

@media screen and (max-width: 768px) {
    .downloads {
        flex-direction: column;
        gap: 2vh;
    }

    .downloads a {
        width: 10rem;
        font-size: 1.1rem;
    }
}

@media screen and (max-width: 480px) {
    .downloads a {
        width: 8rem;
        font-size: 1rem;
        padding: 6px 8px;
    }
}