* {
    font-family: 'Titillium Web', sans-serif;
}

html, body {
    background-color: rgb(251, 253, 239);
    height: 100vh;
}

#sutil-app {
    height: 100%;
}

.app {
    height: 100%;
    display: flex;
    flex-direction: column;
}

button {
    border: 1px solid hsla(257.6, 56.9%, 20%, 0.10);
    border-radius: 15px;
    background-color: hsla(257.6, 56.9%, 20%, 0.10);
    color: black;
    padding: 0.25rem 1rem;
    cursor: pointer;
}
button:hover {
    background-color: hsla(257.6, 56.9%, 20%, 0.20);
}
button:active {
    background-color: hsla(257.6, 56.9%, 20%, 0.40);
}
input[type=text], input[type=password] {
    padding: 0.3rem;
    border-radius: 6px;
    border: 1px solid hsla(257.6, 56.9%, 20%, 0.20);
}
input[type=text].error, input[type=password].error {
    border: 2px solid hsla(0, 100%, 65%, 0.6);
}
input[type=text].success, input[type=password].success {
    border: 2px solid hsla(118, 100%, 65%, 0.6);
}
h1 {
    font-size: 2rem
}
h2 {
    font-size: 1.5rem
}
h3 {
    font-size: 1.25rem
}
h4 {
    font-size: 1.2rem
}
a, a:visited, a:hover, a:active {
  color: inherit;
}
a {
    color: hsla(257.6, 56.9%, 20%, 0.40);
}
a:hover {
    color: hsla(257.6, 56.9%, 20%, 0.60);
}
a:active {
    color: hsla(257.6, 56.9%, 20%, 0.80);
}

.ui-gigs-container, .ui-setlists-container, .ui-songs-container {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    overflow-y: auto;
    padding-right: 0.5rem;
}

.ui-setlists-container {
    gap: 0.2rem;
}

.ui-songs-container {
    gap: 0.2rem;
}

.ui-gig-card {
    padding: 0.5rem;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    border-radius: 8px;
    border-width: 1px;
    border-color: lightgray;
    border-style: solid;
    background-color: aliceblue;
}

.ui-main-container {
    margin: 1rem;
    overflow: hidden;
    height: 100%;
}


.ui-page {
    height: 100%;
    display: flex;
    flex-direction: column;
}

.ui-page-toolbar {
    display: flex;
    flex-direction: row;
    margin-bottom: 0.5rem;
    margin-top: 0.5rem;
    margin-left: 2px;
    gap: 0.25rem;
    font-size: 80%;
}

.ui-page-toolbar > * {
    display: inline;
}

.toolbar-button {
    cursor: pointer;
    color: cornflowerblue;
}

.toolbar-button:hover {
    text-decoration: underline;
}

.toolbar-separator {
    pointer-events: none;
    color: #bbbbbb;
}

.ui-songs-container > div {
    display: grid;
    grid-template-columns: 0.5rem 20rem 20rem 4rem 4rem 4rem 4rem;
    gap: 1rem;
}

.setlist-row {
    display: grid;
    grid-template-columns: 20rem 4rem;
}

.ui-gig-setlist {
    display: flex;
    flex-direction: row;
    gap: 0.5rem;
}

@page {
    size:   A4;
    margin: 0;
}

@media print {
    html, body {
        width:  210mm!important;
        height: 297mm!important;
        margin: 0;
        padding: 0;
    }

    body {
        min-width: unset!important;
    }

    header {
        display: none!important;
    }

    .ui-page-toolbar {
        display: none;
    }

    .designer-page {
        transform-origin: top left;
        transform: scale(2.0);
    }

    * {
        border: none!important;
    }
}