/* ----------------------- Typeface ↓ ------------------------ */
@font-face {
    font-family: 'Roboto', sans-serif;
    src: url(https://fonts.googleapis.com/css?family=Roboto&display=swap);
}

h1, h2, h3,
h4, h5, a, p {
    font-family: 'Roboto', sans-serif;
    color: #000000db;
}

h4.text-center {
    font-family: 'Roboto', sans-serif;
    color: #000000db;
}

/* ----------------------- Header ↓ ------------------------ */
a:hover {
    color: black;
    text-decoration: none;
}

img {
    vertical-align: middle;
    border-style: none;
    width: 35%;
}

.header {
    overflow: hidden;
    background-color: #f1f1f1;
    padding: 1.5em 0 3em 0;
    margin-bottom: -3em;
    display: grid;
}

.header a {
    text-align: center;
    padding: 10px;
}

h6.project-title {
    font-weight: normal;
    color: grey;
    font-size: 1em;
}

/* ----------------------- Login form ↓ ------------------------ */
.wrapper {
    /* flaoting log in*/
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: center;
    width: 100%;
    min-height: 100%;
    padding: 70px 15px;
    border-style: solid;
    border-width: 0;
    border-radius: 10px;
    background-color: #fff;
    -webkit-box-shadow: 0 5px 15px 0 rgba(0, 0, 0, 0.15);
    box-shadow: 0 5px 15px 0 rgba(0, 0, 0, 0.15);
}

input.form-control {
    margin: 5px 0;
}

button.btn.btn-lg.btn-primary.btn-block {
    margin-top: 25px;
}

.btn-primary {
    color: #fff;
    background-color: #00a1ff;
    border-color: #00a1ff;
    -webkit-box-shadow: 0 10px 30px 0 rgba(95, 186, 233, 0.4);
    box-shadow: 0 10px 30px 0 rgba(95, 186, 233, 0.4);
}

.rounded-top {
    border-top-left-radius: 2.25rem!important;
    border-top-right-radius: 2.25rem!important;
    background: white;
    box-shadow: 0px -10px 10px -10px #0000001f;
    padding-top: 1em;

    height: 100vh; /* Tentative */
}

/* ----------------------- Accordion Cards ↓ ------------------------ */

.roundedcards {
    box-shadow: 0px 2px 5px 0px #0000003b;
    border-radius: 15px;
    padding: 1em;
    margin: 1em 0;
}

.small, small {
    /* Small greyed date text on card header*/
    font-size: 100%;
    font-weight: 400;
    color: #cacaca !important;
    padding-left: 2px;
}

.text-secondary {
    color: #cacaca !important;
    margin-top: 7px;
}

.panel-heading {
    line-height: 15px;
}

.panel-title {
    margin: 0;
}

.row.justify-content-around.mx-auto.today {
    /* Spacing for buton container of 'today' */
    margin-bottom: 1em;
}

.col-12.content {
    /* Styles for today content butons */
    height: 100px;
    background: #f1f1f1;
    border-radius: 15px;
}

.panel.panel-default {
    /* spacing between date contents */
    padding-bottom: 1em;
}

.col-2 {
    /* small icons for dropdowns on main page */
    -webkit-box-flex: 0;
    -ms-flex: 0 0 16.666667%;
    flex: 0 0 21.666667%;
    max-width: 69.666667%;
    margin: 0 5px;
    background: #f1f1f1;
    border-radius: 10px;
    height: 64px;
    margin-bottom: .5em; 
}

.list-group-item {
    position: relative;
    display: block;
    /* padding: .75rem 1.25rem; */
    text-align: center;
    border: none;
    background: none;
}

.col-4 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 33.333333%;
    flex: 0 0 46.333333%;
    /* max-width: 50.333333%; */
    background: #f1f1f1;
    border-radius: 10px;
    height: 110px;
}

.col-2.justify-content-center.align-self-center {
    padding: 12px 15px;
}

.col-10 {
    padding-top: 4px;
}

.col-4.box.bg-light {
    font-size: 1.5em;
    color: grey;
    float: right;
}

button.btn.bg-transparent.collapsed {
    line-height: .25em;
}

/* found better solution; found next class below; 
delete this once good test

.accordion-thumb{
    margin: 0;
    cursor: pointer;
    position: relative;
    z-index: 1;
    padding: 0.6em 3em 0.3em 2em;
    margin: -2em;
} */

a.headingtap {
    /* Increases heading card collapse tap area */
    display: block;
    padding: .25em 0;
    margin: -.25em 0;
}

.accordion-thumb::before {
    content: '';
    display: inline-block;
    height: 7px;
    width: 7px;
    float: right;
    color: darkgrey;
    margin-right: 1rem;
    margin-top: 1.255rem;
    vertical-align: middle;
    border-right: 3px solid;
    border-bottom: 3px solid;
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
    transition: -webkit-transform .2s ease-out;
    transition: transform .2s ease-out;
    transition: transform .2s ease-out, -webkit-transform .2s ease-out;
}

.collapse.show::hover {
    /* TODO: drop-down animation */
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
}

a.list-group-item-action.today {  
    /* Increases tap area for today content */
    display: inline-block;
    position: relative;
    z-index: 2;
    background: transparent;
    padding: 0.5em 1em 2em 1em;
    margin: 0em -2em 0em -0.5em;
}

/* ----------------------- Content download panel ↓ ------------------------ */
.row.justify-content-around.downloads {
    /* Row for content download buttons */
    margin-top: 1em;
    width: fit-content;
}

.col-5.box.text-center.downloads {
    /* Background for content download buttons */
    padding: 1em 2em;
    /*background: #f1f1f1;*/
    border-radius: 15px;
    position: relative;
    box-shadow: 0px 0px 5px 0px #0000003b;
}

.col-5.box.text-center.navigation {
    /* Background for content download buttons */
    padding: 0em;
    /*background: #f1f1f1;*/
    border-radius: 15px;
    position: relative;
    box-shadow: 0px 0px 5px 0px #0000003b;
    margin: 1em 0 0 0
}

i.downloads {
    /* Fontawesome icons*/
    font-size: 1.5em;
    color: #00000063;
    content: "\f6dd";
    position: absolute;
    padding: 16px 10%;
    background: #f5f5f5;
    top: 0px;
    left: 0px;
    /*height: 57px;*/
    border-top-left-radius: 15px;
    border-bottom-left-radius: 15px;
}

i.navigation {
    /* Fontawesome icons*/
    font-size: 19px;
    color: #00000063;
    /*content: "\f6dd";*/
    /*position: absolute;*/
    padding: 1em 1em;
    margin: 0;
    /*height: 57px;*/
    border-radius: 15px;
}

i.navigation.left {
    top: 0px;
    left: 0.85em;
}

i.navigation.right {
    top: 0px;
    right: 0.85em;
}

a.downloads {
    position: static;
    font-size: 16px;
    color: grey;
    /* Touch area for download buttons */
    padding: 1em 50%;
    margin: 0;
}

a.navigation {
    position: static;
    font-size: 16px;
    /* Touch area for download buttons */
    padding: 0;
    margin: 0;
}

.w-100 {
    padding: 0.5em 0;
}

/* ----------------------- Mobile Responsiveness ↓ ------------------------ */

/* TODO: make query for 4k screens */
@media only screen and (min-width:2400px) {
    /* 4K TV's and larger */
    img {
        width: 12%;
    }

    .box a {
        /* increases button tap area */
        padding: 1em 7.5em;
    }

    .col-5.box.text-center.navigation {
        padding: 1em 2em;
        margin: 0;
    }

    a.downloads {
        /* Touch area for download buttons */
        padding: 1em 2em;
    }

    i.navigation {
        position: absolute;
    }

    h6.project-title {
        font-size: 3.75em;
    }

    .rounded-top {
        padding-top: 2em;
    }

    .container.chart {
        max-width: 2800px;
    }

    .container.mx-auto.accordion {
        /* switches accordion to 3x2 grid layout */
        width: 546px !important;
    }
}

@media only screen and (min-width:1080px) and (max-width: 2399px) {
    /* 1080p monitors and TV's  */
    img {
        width: 12%;
    }

    .box a {
        /* increases button tap area */
        padding: 1em 7.5em;
    }

    .col-5.box.text-center.navigation {
        padding: 1em 2em;
        margin: 0;
    }

    a.downloads {
        /* Touch area for download buttons */
        padding: 1em 2em;
    }

    i.navigation {
        position: absolute;
    }

    h6.project-title {
        font-size: 1.75em;
    }

    .rounded-top {
        padding-top: 2em;
    }

    .container.chart {

        max-width: 1400px;

    }

    .container.mx-auto.accordion {
        width: 546px !important;
    }
}

@media only screen and (min-width:767px) and (max-width:1079px) {
    /* iPad, iPad Pro, and greater */
    img {
        /* Decrease image width from default %, otherwise too large */
        width: 22%;
    }

    .box a {
        /* increases button tap area */
        padding: 1em 4.5em;
    }

    .col-5.box.text-center.navigation {
        padding: 1em 2em;
        margin: 0;
    }

    a.downloads {
        /* Touch area for download buttons */
        padding: 1em 2em;
    }

    i.navigation {
        position: absolute;
    }

    h6.project-title {
        font-size: 1.5em;
    }

    .rounded-top {
        padding-top: 2em;
    }

    .container.mx-auto.accordion {
        width: 546px !important;
    }
}