body {
    --obi: #556e6f;
    --main: #ededd3;
    --bg: #cadec9;

    /*--obi: cadetblue;*/
    /*--main: #fffda8;*/
    /*--bg: #eedfd3;*/

    margin: 0;
    background-color: var(--bg);
    display: flex;
    flex-direction: column;
    height: 100vh;
    min-width: 100vw;
}


header,
.bg-img {
    height: 50vw;
    max-height: 25vh;
    min-height: 20vh;
}
.bg-img {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    width: 100vw;
    background-image: url("assets/bg-y.jpg");
    background-position: center 70%;
    background-size: cover;
}
header {
    padding: .67em;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
header h1,
header h2 {
    display: inline-block;
    color: #f8f8f8;
    text-shadow: 1px 2px 1px #080808;
    background-color: rgba(128,128,128,.5);
    box-shadow: 0 0 5px 5px rgb(128 128 128 / 50%);
    margin: 0;
    padding: .1em .4em;
}
header .subtitle {
    text-align: right;
}
header h2 {
    font-size: 1rem;
}


main {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 1.5em;
}
main p {
    text-align: center;
}
main p.description {
    position: relative;
    font-size: 12px;
    background-color: var(--obi);
    color: var(--main);
    letter-spacing: 1px;
    margin: 0;
    padding: 1em 3em;
    width: 100vw;
    box-sizing: border-box;
}
main p.description .obi-band {
    position: absolute;
    left: 0;
    display: block;
    width: 100%;
    height: 9px;
    /*background-image: url('./assets/pattern-band.png');*/
    /*background-image: url('./assets/hakata-ori-thin.png');*/
    background-image: url('./assets/hakata-ori-thin-bright.png');
    background-repeat: repeat-x;
    background-size: contain;
}
main p.description .obi-band.top {
    top: 0;
}
main p.description .obi-band.bottom {
    bottom: 0;
}
main .main-content {
    /*width: fit-content;*/
    width: 440px;
    max-width: 90vw;
    box-sizing: border-box;
    padding: 1px 2em;
    border: 1px solid var(--obi);
    /*margin-bottom: 1.5em;*/
    background-color: var(--main);
    border-top: none;
    flex-grow: 1;
}
main .main-content h4 {
    text-align: center;
}
main ul {
    list-style: none;
    padding: 0;
    width: fit-content;
    margin: auto;
    font-style: italic;
    text-align: center;
}

main #contact-form {
    margin-top: 2em;
    text-align: center;
}
