body {
    width: 100%;
    max-width: 1080px;
    margin: 0 auto;
    border: 3px solid #6b0011;
    border-bottom: none;
    font-family: "Verdana", sans-serif;
    position: relative;
}
header {
    height: 222px;
    background-color: #a7011b;
    background-image: url('../images/party.svg');
    background-size: contain;
    background-repeat: no-repeat;

    border-bottom: 5px solid #6b0011;

    position: relative;

    color: yellow;
    font-family: 'Tillana', cursive;
}
.title {
    position: absolute;
    font-size: 2em;
    bottom: 20px;
    font-weight: 600;
    text-align: center;
    width: 100%;
}
.date {
    position: absolute;
    font-size: 1.3em;
    bottom: 4em;
    right: 2em;
    transform: rotate(-15deg);
}
.address {
    position: absolute;
    font-size: 1.3em;
    bottom: 5em;
    right: 2em;
    transform: rotate(-15deg);    
}

nav {
    background-color: #a7011b;
    margin: 0;
}
nav ul {
    margin: 0;
    padding: 5px;
    list-style: none;
    display: flex;
    justify-content: space-around;
}
nav li a {
    display: inline-block;
    color: white;
    padding: 10px;
    font-weight: 600;
}

main {
    padding: 10px 30px 50px;
    flex: 1 0 auto;
    font-size: 1.2em;
    line-height: 1.5em;
}

section {
    margin-bottom: 3em;
}
section p {
    margin: 1.5em 0;
}

h1 {
    color: #6b0011;
    font-size: 1.4em;
    text-decoration: underline;
}
h2 {
    color: #a7011b;
    font-size: 1.2em;
}

time {
    font-size: 0.7em;
}

p {
    margin: 0.5em 0;
}

.location img {
    max-width: 100%;
}

footer {
    position: absolute;
    box-sizing: border-box;
    bottom: 0;
    width: 100%;
    background-color: #a7011b;
    color: yellow;
    padding: 10px 5px;
    font-size: 1em;
    text-align: right;
}
@media only screen and (min-device-width: 400px) {
    header {
        height: 350px;
    }
    .title {
        font-size: 3em;
    }
    .date {
        font-size: 2em;
    }
    .address {
        font-size: 2em;
    }
    
}    

@media only screen and (min-device-width: 630px) {
    header {
        height: 450px;
    }
    .title {
        font-size: 5em;
    }
    .date {
        font-size: 3em;
    }
    .address {
        font-size: 3em;
    }
    
    .location > address {
        float: left;
        margin-right: 1em;
    }
}

@media only screen and (min-device-width: 800px) {
    header {
        height: 600px;
    }
    .title {
        font-size: 6em;
        bottom: 20px;
        font-weight: 600;
        text-align: center;
        width: 100%;
    }
    .date {
        font-size: 4em;
        bottom: 4em;
        right: 2em;
    }
    .address {
        font-size: 4em;
        bottom: 5em;
        right: 2em;
    }
}    
