@import url('https://fonts.googleapis.com/css2?family=Crimson+Text:ital,wght@0,400;0,600;0,700;1,400&display=swap');

@font-face {
    font-family: 'Routed Gothic';
    src: url('routed-gothic.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

html {
     margin:0;
     padding:0;
     min-height: 100vh;
     width: 100%;
     background: black;
     position: relative;
     isolation: isolate;
}

body {
     margin: 0;
     padding: 0;
     color: black;
     font-family: 'Crimson Text', Georgia, serif;
     font-size: 14px;
     line-height: 1.6;
     color: #2c3e50;
}

/* prevent horizontal scrolling */
html, body {
     max-width: 100%;
     overflow-x: hidden;
 }

#bgcanvas {
     position: fixed;
     top: 0;
     left: 0;
     width: 100vw;
     height: 100vh;
     z-index: -1;
}


#name {
     font-family: 'Routed Gothic', sans-serif;
     font-size: 24px;
     font-weight: bold;
     margin: 0 0 8px 0;
}
 #subname {
     font-family: inherit;
     margin-top: 8px;
     font-size: 15px;
     color: #68478D; 
     text-align: left;
}

#handpointer{
     font-size: 20pt; 
     vertical-align: 
     middle; 
     color:black;
}

.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 10px;
    display: flex;
    flex-direction: row;
}

.container:before,
.container:after {
     content: "";
     display: table;
     clear: both;
   }

   
   #box1 {
     flex: 0.5; /* Reduce the side margins */
     background: transparent;
   }

   #box2 {
     flex: 9;
     padding: 20px;
     background-color: white;
     margin-top: 32px;
     margin-bottom: 32px;
     border-radius: 12px;
   }

   #box3 {
     float: left;
     width: 20%;
     background: transparent;
   }


/* link color */ 
a {
     color: #2c5282;
     text-decoration: none;
}

a:hover {
    text-decoration: underline;
}

.button-link {
     padding: 4px 8px;
     border-radius: 3px;
     border: 1px solid #e2e8f0;
     background: #ffffff;
     font-weight: bold;
     cursor: pointer;
     text-align: center;
}

.paper-icon {
     padding-top: 3pt;
     content: url("img/pdf.png");
     width: 8pt;
     margin-right: 2pt;
     filter: grayscale(100%);
}

.code-icon {
     margin-top: 3pt;
     content: url("img/code.png");
     width: 8pt;
     margin-right: 2pt;
     filter: grayscale(100%);
}

.slide-icon {
     padding-top: 3pt;
     content: url("img/slides.png");
     width: 8pt;
     margin-right: 2pt;
     filter: grayscale(100%);
}

.cv-icon {
     padding-top: 3pt;
     content: url("img/briefcase.png");
     width: 8pt;
     margin-right: 2pt;
     filter: grayscale(100%);
}

.gh-icon {
     padding-top: 3pt;
     content: url("img/github.png");
     width: 8pt;
     margin-right: 2pt;
     filter: grayscale(100%);
}

.email-icon {
     padding-top: 3pt;
     content: url("img/email.png");
     width: 8pt;
     margin-right: 2pt;
     filter: grayscale(100%);
}
   

 div.card-container {
     width: 90%;
     margin: 0 auto;
     padding-top: 5%;
}
 .card-panel {
     background: #ffffff;
     border-radius: 12px;
     box-shadow: 0 4px 12px rgba(0,0,0,0.15);
     margin: 0 0 1rem 0;
}
 .card-content {
     padding: 16px;  /* Add padding for the content */
     margin-left: 0;  /* Remove left margin since we're using padding */
}

.card-content-flex {
     padding: 16px;
     display: flex;
     align-items: flex-start;
}

 .space{
     margin: 1.5rem 0;
     border-bottom: 1px solid #edf2f7;
}
 li {
     margin: 8px 0;
}

 .text {
     max-width: 100%;
     margin: 0;
     color: #2d3748;
}

.subsectionheader {
    color: #1a202c;
    margin: 1rem 0 0rem 0;
    font-weight: bold;
    font-size: 1rem;
    color: #2c5282;
}

.dateheader {
     color: #555;
     margin-top: 15px;
     margin-bottom: 5px;
 }
 
.titleheader {
    font-family: inherit;
    font-size: 1.1rem;
    color: black;
    font-weight: bold;
    padding: 12px 16px 0px 16px;  /* Add padding inside the card */
    border-radius: 4px 4px 0 0;  /* Round top corners to match card */
}

   
.menubar a {
     display: block;
     color: #444;
     text-align: center;
     margin-right: 8px;
     padding: 4px 4px;
     text-decoration: none;
     background: #efeeee;
     border-width: 0px;
     border-bottom: 1px;
     border-color: lightgray;
     border-style: solid;
     font-size: 10pt;
     font-weight: bold;
     width: 100px;
     margin-bottom: 8px;
     box-shadow: 1px 1px 6px #c1cdd7, 0 -1px 6px 1px white;

   }


 .midbreak {
     float: left;
     color: #f2f2f2;
     text-align: center;
     padding: 14px 0px;
     text-decoration: none;
     font-size: 18px;
     color: peru;
}

 .highresoverlay {
     position: fixed;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
     display: block;
     background: rgba(0, 0, 0, .9);
     visibility: hidden;
}


#headerbar {
     width: 100%;
     height: 30px;
     margin-bottom: 10px;
     background: url(img/gradient.jpg);
     opacity: 0.75;
     background-size: 100% 100%;
     background-repeat: no-repeat;
}

 #image {
     max-height: 90%;
     max-width: 90%;
     height: 812px;
     width: 812px;
     background: rgba(0, 0, 0, 0);
     position: absolute;
     top: 0pt;
     bottom: 10pt;
     left: 0;
     right: 0;
     margin: auto;
}


 .pic {
     background: url('img/profile.jpeg') no-repeat center center;
     background-size: cover;
     width: 150px;
     min-width: 150px;
     margin-right: 20px;
     align-self: stretch;
}

ul {
    margin-left: 10px;  /* Set consistent margin for all ul elements */
}

.attribution {
    display: block;
    text-align: right;
    margin: 8px 0;
    font-style: italic;
    color: #4a5568;  /* slightly muted color */
}

/* Add media query for mobile devices */
@media screen and (max-width: 768px) {
    .container {
        flex-direction: column;
        padding: 5px;
    }

    #box1 {
        display: none;
    }

    #box2 {
        flex: 1;
        margin: 10px 0;
        padding: 10px;
    }

    .card-content-flex {
        flex-direction: column;
    }

    .card-content-flex > div:not(.pic) {
        width: 100% !important;
        padding: 0 !important;
    }

    .pic {
        width: 100px !important;
        height: 100px !important;
        min-width: 100px !important;
        max-width: 100px !important;
        background-size: cover;
        background-position: center;
        margin: 0 auto 12px auto;
        align-self: center;
        flex-shrink: 0;
    }

    #name {
        font-size: 20px;
        text-align: center;
    }

    .text {
        text-align: center;
    }

    body {
        font-size: 13px;
    }

    .button-link {
        display: inline-block;
        margin: 2px 0;
    }

    .card-panel {
        margin: 0.5rem 0;
    }

    .card-content,
    .card-content-flex {
        padding: 12px;
    }

    .tab-button {
        padding: 8px 12px;
        font-size: 14px;
    }

    .tab-button .full-text {
        display: none;
    }

    .tab-button .short-text {
        display: inline;
    }
}

.tabs-container {
    width: 100%;
    margin-bottom: 20px;
}

.tabs {
    display: flex;
    gap: 10px;
    border-bottom: 1px solid #ddd;
    padding-bottom: 10px;
}

.tab-button {
    font-family: 'Routed Gothic', sans-serif;
    background: none;
    border: none;
    padding: 10px 20px;
    cursor: pointer;
    font-size: 16px;
    color: #666;
}

.tab-button .short-text {
    display: none;
}

.tab-button .full-text {
    display: inline;
}

.tab-button:hover {
    color: #000;
}

.tab-button.active {
    color: #000;
    border-bottom: 2px solid #000;
    font-weight: bold;
}

.tab-content {
    display: none;
}

.tab-content.active {
    display: block;
}

@media screen and (max-width: 768px) {
    .tab-button .full-text {
        display: none !important;
    }

    .tab-button .short-text {
        display: inline !important;
    }
}

