:root {
    /* color staples */
    --palette-highlight-shadow: #ffffff40;
    --palette-highlight-dark: #ea9413;
    --palette-highlight-light: #fef9cc;

    --palette-link: rgb(156, 0, 0);

    --palette-normal-darkest: #1f1818;
    --palette-normal-shadow: #37272640;
    --palette-normal-lightest: #fff;

    /* Omnium Gatherum Color Scheme */
    --palette-A-dark: #794740;
    --palette-A-medium-dark: #915755;
    --palette-A-medium: #c67d74;
    --palette-A-light: #e6b29e;

    --palette-B-medium: #e8b489;
    --palette-B-light: #ffd5b3;
}


body {
    background-color: var(--palette-A-medium-dark);
    margin: 0;
    overflow-x: hidden;
}

body::-webkit-scrollbar {
    width: clamp(2px, 0.25rem, 5px);
}

body::-webkit-scrollbar-track {
    background-color: var(--palette-A-dark);
}

body::-webkit-scrollbar-thumb {
    background-color: var(--palette-A-light);
}

* {
    font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
    color: var(--palette-A-darkest);
    font-weight: 200;
    font-style: normal;
}


.main-topbar {
    background-color: var(--palette-B-medium);

    z-index: 100;

    position: fixed;

    width: 100vw;

    padding: 0 20px;

    display: grid;
    grid-template-rows: 40px;
    grid-template-columns: 100px 1fr 300px 100px 0.5rem;

    gap: 20px;

    align-items: center;

    box-shadow: 0px 2px 5px 5px var(--palette-normal-shadow);
    /*
    align-content: center;
    justify-content: space-evenly;

    width: 100%;
    height: clamp(50px, 2%, 500px);

    padding: clamp(10px, 0.5%, 1%) clamp(20px, 1%, 1%);
    margin: 0 0 1%;
    */
}

.title-image {
    grid-column: span 1;
    grid-row: span 1;

    justify-self: center;
    align-self: flex-start;

    height: 100px;
    aspect-ratio: 1.0;

    border-radius: 50%;
    border: solid 5px var(--palette-B-medium);

    box-shadow: 0px 2px 5px 5px var(--palette-normal-shadow);
}

.title-title {
    grid-area: 1 / 2 / 1 / 2;

    height: 1.5rem;

    font-size: large;
    font-weight: 800;

    overflow: hidden;
}

.main-navbar {
    grid-area: 1 / 3 / 1 / 3;

    background-color: var(--palette-B-medium);

    width: 90%;
    height: 80%;

    margin-left: auto;

    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    align-items: center;
}

.nav-option {
    background-color: var(--palette-B-light);

    min-width: 150px;

    border-radius: 20px;

    padding: 0.25rem;
    margin: 0 10px;

    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;

}

.nav-option:hover {
    background-color: var(--palette-highlight-light);
    transition: background-color 100ms ease-in;

    color: var(--palette-highlight-dark);
    transition: color 100ms ease-in;
}


.top-space {
    height: 40px;
}

.main {
    display: flex;
    justify-content: center;
    align-items: center;
}

.main-body {
    padding: 1% 1% 0;
    margin-bottom: 10px;
}

.main-footer {
    background-color: var(--palette-B-medium);
    text-align: center;

    width: 100%;
    height: 1.5rem;
    padding: 0.25%;
    margin-top: 20px;

    position: relative;
    bottom: 0;
}

.category {
    background-color: var(--palette-A-medium);

    border-radius: 20px;

    padding: 1%;

    --category-width: clamp(400px, 65%, 2000px);
    width: var(--category-width);

    margin: 0% calc((100% - var(--category-width)) / 2) 1%;

}

.category-title {
    margin: 1% 1% 0;
    font-weight: 800;
}

.albums-showcase {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: stretch;
    align-content: center;
    justify-content: center;

    --album-showcase-width: clamp(400px, 100%, 100%);
    width: var(--album-showcase-width);

    height: 100%;

    margin: 0 calc((100% - var(--album-category-width)) / 2);

}


.album-item {
    background-color: var(--palette-A-light);
    display: flex;
    flex-direction: column;

    width: clamp(200px, 20%, 600px);
    min-height: 100%;

    margin: 2%;

    border-radius: 21px;

    box-shadow: 0px 2px 5px 5px var(--palette-normal-shadow);

}

.album-item:not(.unreleased):hover {
    font-weight: 800;
    transition: font-weight 100ms ease-in;

    background-color: var(--palette-highlight-light);
    transition: background-color 100ms ease-in;

    box-shadow: 0px 4px 10px 10px var(--palette-highlight-shadow);
    transition: box-shadow 100ms ease-in;
}


.album-item:not(.unreleased):hover *:not(.tag) {

    color: var(--palette-highlight-dark);
    transition: color 100ms ease-in;
}


.unreleased {
    background-color: var(--palette-A-medium);

}

.unreleased:hover {
    font-weight: 800;
    transition: font-weight 100ms ease-in;

    background-color: var(--palette-A-light);
    transition: background-color 100ms ease-in;

    box-shadow: 0px 4px 10px 10px rgba(0, 0, 0, 0.25);
    transition: box-shadow 100ms ease-in;
}


.unreleased:hover *:not(.tag) {
    color: var(--palette-A-dark);
    transition: color 100ms ease-in;
}


img.cover {
    width: 100%;
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
}

.album-name {
    margin: 5px 20px 5px;
    text-align: center;
    font-size: .9em;
}

.tag-container {
    display: flex;

    justify-self: flex-end;

    margin: 5px;
}

.tag {
    display: inline-block;

    --bg-color: red;
    background-color: var(--bg-color);
    padding: 2px 8px;
    margin: 5px 2px;

    --color: white;
    color: var(--color);
    font-size: x-small;
    font-weight: 800;

    text-transform: uppercase;

    text-align: center;

    font-size: .9em;
}

.tag:first-child {
    border-top-left-radius: 20px;
    border-bottom-left-radius: 20px;
}

.tag:last-child {
    border-top-right-radius: 20px;
    border-bottom-right-radius: 20px;
}

.tag:only-child {
    border-top-left-radius: 20px;
    border-bottom-left-radius: 20px;
    border-top-right-radius: 20px;
    border-bottom-right-radius: 20px;
}

.quick-info {
    --bg-color: var(--palette-B-light);
    --color: black;
}

.quote {
    --bg-color: var(--palette-A-medium);
}

a {
    text-decoration: none;
}

.evident {
    color: var(--palette-link);
    font-style: oblique;
}

.category2 {
    border-radius: 20px;

    margin: 0 1% 1%;

    --category-width: clamp(100px, 65%, 2000px);
    width: var(--category-width);

    margin: 0% calc((100% - var(--category-width)) / 2) 1%;

}

.layout {
    display: grid;

    grid-template-columns: 1fr 2fr;
    grid-template-rows: 1fr;
}

.sidebar {
    grid-area: 1 / 1 / 1 / 1;

    width: 100%;

    box-sizing: border-box;
    padding: clamp(20px, 1%, 50px);

    border-top-left-radius: 20px;
    border-bottom-left-radius: 20px;


    background-color: var(--palette-A-light);

    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
}

img.sidebar-cover {
    width: 90%;
    aspect-ratio: 1.0;

    box-shadow: 0px 2px 5px 5px var(--palette-normal-shadow);

    border-radius: clamp(20px, 1%, 1%);

    margin-bottom: 20px;
}

img.sidebar-cover:hover {

    box-shadow: 0px 4px 10px 10px var(--palette-normal-shadow);
    transition: box-shadow 100ms ease-in;

}

.main-album-info {
    grid-area: 1 / 2 / 1 / 2;

    padding: clamp(20px, 1%, 50px);

    border-top-right-radius: 20px;
    border-bottom-right-radius: 20px;

    background-color: var(--palette-A-medium);
}

.album-bio {
    font-style: italic;
}

table.album-tracklist {
    width: 100%;
    margin-top: 20px;
    margin-left: auto;
    margin-right: auto;


    background-color: var(--palette-B-light);
    border: 2px solid var(--palette-B-medium);
    border-collapse: collapse;

    box-shadow: 0px 2px 5px 5px var(--palette-normal-shadow);

    font-size: 0.9rem;

}

table.album-tracklist * {
    padding: 5px 10px;
}

table.album-tracklist thead th {
    background-color: var(--palette-B-medium);

    text-transform: uppercase;
}


table.album-tracklist *:not(thead, tfoot)>tr:not(.subhead):hover {
    color: var(--palette-highlight-dark);
    font-weight: 800;
    transition: font-weight 100ms ease-in;

    background-color: var(--palette-highlight-light);
    transition: background-color 100ms ease-in;

    box-shadow: 0px 2px 5px 5px var(--palette-highlight-shadow);
    transition: box-shadow 100ms ease-in;
}

/* essa ordem de 2, -1 e 1 é necessária para formatar corretamente a tabela*/

table.album-tracklist *:not(thead) tr *:nth-child(2):not(div) {
    /* coluna de Faixa */
    width: 85%;
    text-align: left;
}

table.album-tracklist *:not(thead) tr *:nth-last-child(1):not(div) {
    /* coluna de Observação */
    width: 5%;
    text-align: right;
}

table.album-tracklist *:not(thead) tr *:nth-child(1):not(div) {
    /* coluna de # */
    width: 10%;
    text-align: left;
}

table.album-tracklist *:not(thead, tfoot) * {
    text-transform: capitalize;
}

table.album-tracklist tr.weird {
    background-color: var(--palette-A-light);
}

table.album-tracklist tr.subhead {
    background-color: var(--palette-B-medium);
}

table.album-tracklist tr.subhead * {
    font-style: oblique;
}



/* easter egg */
.rotate {
    animation: rotate 5s ease-in-out infinite;
}

@keyframes rotate {
    to {
        transform: rotate(360deg);
    }
}

/* end easter egg*/


.category3 {
    background-color: var(--palette-A-medium);

    border-radius: 20px;

    padding: 2%;

    --category-width: clamp(400px, 60%, 2000px);
    width: var(--category-width);

    margin: 0% calc((100% - var(--category-width)) / 2) 1%;

}

form {
    padding: 15px;
    border-radius: 10px;
    background-color: var(--palette-B-medium);
}

input[type="email"],
input[type="submit"],
textarea {
    border: none;
    background-color: var(--palette-B-light);
    resize: none;
    color: var(--palette-normal-darkest);
    margin: .5em 0 0;
    border-radius: 5px;
}

input[type="submit"] {
    border-radius: 20px;
    box-shadow: 0px 2px 5px 5px var(--palette-normal-shadow);
    left: 10%;

    padding: 0.25rem 1em;
}


input[type="submit"]:hover {
    background-color: var(--palette-highlight-light);
    transition: background-color 100ms ease-in;

    color: var(--palette-highlight-dark);
    transition: color 100ms ease-in;

    box-shadow: 0px 2px 5px 5px var(--palette-highlight-shadow);
    transition: box-shadow 100ms ease-in;
}

input[type="email"] {
    height: 2em;
    width: 100%;
}

textarea {
    width: 100%;
}

.bandmember-container {
    width: 100%;
    margin: 10px 5px 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-content: start;
    gap: 15px;

}

.bandmember-option {
    width: 20%;
}

.bandmember-option * {
    display: inline-block;
}

.bandmember-profile {
    width: 100%;
    border-radius: 50%;
    border: solid 5px var(--palette-B-light);

    box-shadow: 0px 2px 5px 5px var(--palette-normal-shadow);
}

.bandmember-profile:hover {
    border: var(--palette-highlight-light) 5px solid;
    transition: background-color 100ms ease-in;

    box-shadow: 0px 4px 10px 10px var(--palette-highlight-shadow);
    transition: box-shadow 100ms ease-in;
}

#exbandmember-eric * {
    opacity: 0.5;
}