body {
    background-color: snow;
    border: 1px solid snow; /*anti collapse*/
    box-shadow: 0 0 10px 15px lightgray;
    font-family: sans-serif;
    min-height: 80vh;
    margin: 10vh 10vw;
    width: 80vw;
}
header, main, footer {
    margin: 1vh 2vw;
    width: 75vw;
}
header img, header h1 {
    display: inline-block;
    vertical-align: top;
}
header img {
    width:20vw;
}
header h1 {
    font-size: 2.9vw;
    margin: 0 0 0 4vw;
    width: 49vw;
}
header nav.lang-switch {
    float: right;
    font-size: 1.8vw;
    margin-top: -1.35em;
    position: relative;
    z-index: 1;
}
header nav.lang-switch {
    background-color: snow;
    background-image: linear-gradient(to top, lightgray, snow 40%);
    border: 1px solid gray;
    border-radius: 0.15em;
    cursor: pointer;
    height: 1.2em;
    padding: 0.15em 0.25em 0.15em 0em;
    position: relative;
    width: 3em;
}
header nav.lang-switch::before {
    background-color: gray;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    content: "";
    height: 0.5em;
    position: absolute;
    right: .33em;
    top: .5em;
    width: 0.75em;
    z-index: -1;
}
header nav.lang-switch select {
    appearance: none;
    background-color: transparent;
    border: none;
    cursor: inherit;
    font-size: inherit;
    margin: 0;
    outline: none;
    padding: 0 0 .3em 0;
    width: 100%;   
}

hr {
    margin: 10px 0;
}
main {
    margin-top: 3vw;
    min-height: 53vh;
}
main a.note {
    border: 2px solid lightgray;
    border-radius: .5vh;
    box-shadow: 1px 1px 5px 5px lightgray;
    color: black;
    display: inline-block;
    font-size: 2vw;
    margin: .7vh 0 .5vh 1vw;
    padding: .8vh .8vw;
    text-decoration: none;
}
footer {
    
    font-size: 1.4vw;
}