nav {
    background-color: GhostWhite;
    color: blue;
}
nav header {
    display: flex;
    flex-flow: row wrap;
    align-items: stretch;
    vertical-align: text-bottom;
    text-align: center;
    min-height: 2.0rem;
}
nav div.logo {
    width: 2.0rem;
    height: 2.0rem;
    min-height: 2.0rem;
    min-width: 2.0rem;
    margin-top: 0.5rem;
    margin-left: 0.5rem;
    margin-bottom: 0.5rem; 
    padding: 0;
    background-size: contain;
    background-image: url("logo.png");
    background-repeat: no-repeat;
    vertical-align: text-bottom;
}
nav div.logo{
    display: block;
    background-color: GhostWhite;
}
nav div.contact {
    justify-content: flex-end;
    vertical-align: text-bottom;
    text-align: right;
    margin-left:auto;
    margin-top: 1.2rem;
    margin-bottom: 0.5rem;
    padding-top: 0.2rem;
    padding-bottom: 0.1rem;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
    border: 0.1rem solid white;
    border-radius: 1.0rem;
}
a.contact {
    font: bold 1.0rem Arial, sans-serif;
    text-decoration: none;
}
a.contact:hover {
    text-decoration: underline;
}
nav h1 {
    font: bold 2.0rem Arial, sans-serif;
    color: darkblue;
    text-align: center;
    vertical-align: text-bottom;
    margin-left: 0.5rem;
    margin-top: 0.5rem;
    margin-bottom: 0.5rem; 
}
nav ul {
    display: flex;
    flex-flow: row wrap;
    margin: 0.5rem;
    padding: 0;
    font: 1rem Arial, sans-serif;
    list-style-type: none;
}
nav li {
    display:flex;
}
nav li a {
    display: block;
    padding-top: 0.25rem;
    padding-left: 0;
    padding-right: 1.5rem;
    padding-bottom: 0.25rem;
    text-align: center;
    vertical-align: center;
    text-decoration: none;
}
nav li a:hover {
    text-decoration: underline;
}
nav li a.this {
    font-weight: bolder;
}
nav li a.this:hover {
    text-decoration:none;
}
section.offer {
}
div.columns {
    display: flex;
    justify-content: space-between;
}
div.columns {
    margin-left: 5%;
    width: 90%;
}
div.columns {
    flex-flow: row wrap;
    margin-top: 1.0rem;   
}
div.columns:last-child {
    margin-bottom: 1.0rem;
}
div.column {
    display:flex;
    flex-basis: 0;
    flex-grow: 1;
    flex-shrink: 1;
    align-items: center;
    flex-flow: column wrap;
    margin-left: 1rem;
    margin-right: auto;
    padding: auto;
}
div.offer-box {
    display: block;
    flex-basis: auto;
    flex-grow: 0;
    align-self: flex-start;
    justify-content: left;
    margin-left: 0.5rem;
    margin-right: 0.5rem;
    border: 2px solid;
    padding: 0;
}
div.offer-contents {
    display: block;
    padding: 1rem;
    align-items: start;
}
p.offer-description {
    display: block;
    width: 0;
    min-width: 100%;
    font-size: 1rem;
    text-align: left;
    vertical-align: top;
    justify-content: left;
}
div.centred-block {
    justify-content: center;
}
div.continuation {
    display: flex;
    align-items: start;
    vertical-align: bottom;
}
div.continuation p {
    font-size: 1rem;
    text-align: left;
    margin-top:auto;
}
div.clearfloat {
    clear: both;
}
main {
    font: 1rem Arial, sans-serif;
}
main h1 {
    font: bold 1.75rem Arial, sans-serif;
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;        
}
main h2 {
    font: bold 1.5rem Arial, sans-serif;
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;        
}
main h3 {
    font: bold 1.25rem Arial, sans-serif;
    margin-top: 0.25rem;
    margin-bottom: 0.25rem;        
}
main h4 {
    font: bold 1rem Arial, sans-serif;
    margin-top: 0.25rem;
    margin-bottom: 0.25rem;        
}
main h5 {
    font: bold 0.75rem Arial, sans-serif;
    margin-top: 0.25rem;
    margin-bottom: 0.25rem;        
}
main ul {
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
}
main li {
    margin-left: 3%;
}
main li.important {
    font-weight: bolder;
    font-size: larger;
}
h1.offer-headline {
    color: darkblue;
}
p.offer-description {
    padding-top: 0;
    padding-left:0;
    padding-right: 0;
    padding-bottom: 1rem;
}
article {
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
    margin-left: 5%;
    margin-right: 5%;
}
h1.article-headline {
    color: darkblue;
}
footer {
    font: 0.75rem Arial, sans-serif;
}

footer p {
    font: 0.75rem Arial, sans-serif;
    justify-content: left;
}
footer p.legal {
    font-weight: lighter;
}
@media screen and (max-width: 540px) {
    nav div.contact {
	display: none;
    }
    nav li a.this {
	display: none;
    }
    div.columns {
	margin-left: 0;
	width: min-content;
    }
    div.column {
	margin-left: 0.25rem;
    }
    article {
	margin-left: 0.25rem;
	margin-right: 0.25rem;
    }
    body footer p {
	max-width: 25rem;
    }
}
