body {
    display: flex;
    min-height: 100vh;
    flex-direction: column;
}
.footer-text {
    font-size: 100%;
}
main {
    flex: 1 0 auto;
}
.card .card-action a {margin-right: 0px !important;}
.card .card-action {
    padding: 8px 12px;
}
.scrollable {overflow: scroll !important;}
a small {font-size: 100%;}
a {color: #ffab40;}
a:hover {color: #ffd8a6;}

.slim-table > tbody > tr > td {
    padding: 1px;
}

.slim-table > tbody > tr {
    border-bottom: none;
}

.slim-table {
    table-layout: fixed;
}

.material-icons {
    display: inline-flex;
    vertical-align: text-bottom;
    font-size: 1em;
    margin-bottom: 2px;
}

/* Extra extra small devices (old phones, 400px and down) */
@media only screen and (max-width: 400px) {
    a small {font-size: 70%;}
    h1 {font-size: 3.05rem;}
    h6 {font-size: 0.95rem;}
    .card .card-title {
        font-size: 14px;
    }
    .card .card-content {
        font-size: 13px;
    }
    .footer-text {
        font-size: 80%;
    }
    .row .col {
        padding: 0px;
    }
    .shrink {height: 250px !important;}
}
/* Extra small devices (phones, 400px to 600px) */
@media only screen and (min-width: 400px) and (max-width: 600px) {
    a small {font-size: 80%;}
    h1 {font-size: 3.7rem;}
    h6 {font-size: 1.1rem;}
    .card .card-title {
        font-size: 1.1rem;
    }
    .card .card-content {
        font-size: 1rem;
    }
    .footer-text {
        font-size: 80%;
    }
    .row .col {
        padding: 0px;
    }
    .shrink {height: 250px !important;}
}

/* Small devices (landscape phones, 600px and up)*/
@media only screen and (min-width: 600px) {
    .card .card-title {
        font-size: 1.5rem;
    }
}

/* Medium devices (portrait tablets, 768px and up)*/
@media only screen and (min-width: 768px) and (max-width: 992px) {
    .card .card-content {
        font-size: 0.95rem;
    }
}

/* Large devices (landscape tablets, 992px and up)*/
@media only screen and (min-width: 992px) and (max-width: 1250px) {
    a small {font-size: 83%;}
    .card .card-title {
        font-size: 1.08rem;
    }
    .card .card-content {
        font-size: 0.95rem;
    }
}

/* Large devices (laptops, 1250px and 1400px)*/
@media only screen and (min-width: 1250px) and (max-width: 1400px) {
    .card .card-title {
        font-size: 1.45rem;
    }
}
/* Extra large devices (large laptops and desktops, 1400px and up)*/
@media only screen and (min-width: 1400px) {
    .card .card-title {
        font-size: 1.55rem;
    }
}

/* Formatting for project names in the carousel */
.project-name {
    font-size: 16px;
    line-height: 1.2rem;
    top: -1px;
}
