/* Load custom fontface */

@font-face {
    font-family: 'Bitter';
    src: url('Bitter-Regular.ttf');
}

@media (min-width: 702px) {
    html {
        font-size: 10px;
    }
}

@media (min-width: 780px) {
    html {
        font-size: 11px;
    }
}

@media (min-width: 858px) {
    html {
        font-size: 12px;
    }
}

@media (min-width: 929.5px) {
    html {
        font-size: 13px;
    }
}

@media (min-width: 1001px) {
    html {
        font-size: 14px;
    }
}

@media (min-width: 1072.5px) {
    html {
        font-size: 15px;
    }
}

@media (min-width: 1144px) {
    html {
        font-size: 16px;
    }
}

@media (min-width: 1215.5px) {
    html {
        font-size: 17px;
    }
}

@media (min-width: 1287px) {
    html {
        font-size: 18px;
    }
}

@media (min-width: 1358.5px) {
    html {
        font-size: 19px;
    }
}

@media (min-width: 1430px) {
    html {
        font-size: 20px;
    }
}

a:link {text-decoration: none;}
a:visited {text-decoration: none;}
a:hover {text-decoration: none;}
a:active {text-decoration: none;}

a.internal-links{
    color: grey;
    text-decoration: none;
}

body {
    font-family: 'Bitter';
    margin: 0;
    padding: 0;
    caret-color: transparent;
}

#production-videos
{
    margin-left: 25%;
    margin-right: 25%;
}

#main-title
{
    padding-right: 4vw;
    vertical-align: top;
    font-weight: bold;
}

.intro
{
    width: 100%;
    padding-top: 5vw;
    padding-left: 5vw;
    padding-right: 5vw;
}

.intro h1
{
    text-align: center;
    font-size: 7vw;
    color: black;
    transition: 1s;
    margin-bottom: 0;
    margin-top: 0;
}

.intro h1:hover
{
    color:#468045;
    transition: 1s;
}

.intro td img
{
    height: 25vw;
    width: 25vw;
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.intro p
{
    text-align: center;
}

.intro p.internal-links{
    color: grey;
    text-decoration: none;
    transition: 0.5s;
    font-size: 1em;
    text-align: center;
}

.intro a.internal-links:hover{
    color: #029300;
    transition: 0.5s;
}

.resume #tb-title, #tb-subtitle
{
    color: grey;
}

.resume p
{
    margin-top: 0;
    margin-bottom: 0;
    font-size: 0.8em;
}

table.resume
{
    text-align: left;
    margin-left: 10%;
    margin-right: 10%;
}

hr {
    border-color: #029300;
    color: #029300;
    margin-top: 2%;
    margin-bottom: 2%;
    width: 85%;
}

#contacts{
    text-align: center;
    color: grey;
    text-decoration: underline;
    font-size: 0.8em;
}

/* Projects table styling: compact, light borders, consistent with resume */
.projects-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.8em; /* slightly smaller to match resume text */
}
.projects-table td {
    padding: 0.35em 0.6em;
    border: none; /* remove outer borders; we'll add inner separators */
    vertical-align: top;
}
.projects-table tr + tr td {
    border-top: 1px solid #e6e6e6; /* horizontal inner separators */
}
.projects-table td + td {
    border-left: 1px solid #e6e6e6; /* vertical inner separators */
}
.projects-table td:first-child {
    width: 30%;
    font-weight: 600;
    color: #029300; /* subtle accent matching hr */
}
.projects-table a {
    color: #029300;
    text-decoration: none;
}
.projects-table a:hover {
    text-decoration: underline;
}

/* Responsive: stack section title above content on small screens */
@media (max-width: 720px) {
    table.resume {
        width: 100%;
        margin-left: 0;
        margin-right: 0;
        padding-left: 5%;
        padding-right: 5%;
        box-sizing: border-box;
    }
    /* Make table behave like block so cells can stack */
    table.resume, table.resume tbody, table.resume tr {
        display: block;
        width: 100%;
        box-sizing: border-box;
    }
    table.resume td#main-title {
        display: block;
        width: 100%;
        padding-right: 0;
        margin-bottom: 0.4em;
        font-weight: bold;
    }
    /* Ensure the content cell takes full width beneath the title */
    table.resume td {
        display: block;
        width: 100%;
    }
    /* Slightly reduce padding for compact mobile view */
    table.resume p {
        font-size: 0.9em;
    }
    /* Make projects table rows wrap naturally on small screens */
    .projects-table td:first-child {
        width: auto;
        display: block;
        font-weight: 600;
        margin-bottom: 0.15em;
    }
    .projects-table td + td {
        border-left: none;
        display: block;
    }
    .projects-table tr + tr td {
        border-top: 1px solid #e6e6e6;
    }
    /* Mobile: horizontal separator between resume sections */
    table.resume tbody + tbody {
        border-top: 1px solid #e6e6e6;
        margin-top: 0.6em;
        padding-top: 0.6em;
    }
}