body {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: minmax(240px,auto) auto auto auto auto auto 100px;
    grid-template-areas: 'header''nav''calendar''news''logo''footer''.';
}

@media (min-width:640px){
    body {
        grid-template-rows: minmax(300px,auto) auto auto auto auto auto;
        grid-template-areas: 'header header' 'nav nav' 'calendar news' '. news' 'logo .' '. footer';
        display: grid;
        grid-template-columns: minmax(300px,1fr) 2fr;
    }
}

header {
    background-image: url(images/banner_photo_07.jpg);

    background-size: auto {
    };

    grid-area: header;
    background-size: cover;
}

header-about {
    background-image: url(images/banner_photo_02.jpg);
    background-size: cover;
    grid-area: header;
}

header-competitors {
    background-image: url(images/banner_photo_03.jpg);
    background-size: cover;
    grid-area: header;
}

header-volunteers {
    background-image: url(images/banner_photo_04.jpg);
    background-size: cover;
    grid-area: header;
}

header-fans {
    background-image: url(images/banner_photo_05.jpg);
    background-size: cover;
    grid-area: header;
}

header-extras {
    background-image: url(images/banner_photo_06.jpg);
    background-size: cover;
    grid-area: header;
}

h1 {
    text-align: center;
    color: #fff;
    font-size: 100px;
    text-shadow: 1px 2px 11px #000;
    letter-spacing: 10px;
    font-family: Racing Sans One;
}

h2 {
    text-align: center;
    color: #fff;
    font-size: 32px;
    text-shadow: 3px 3px 7px #000;
    font-family: Amaranth;
}

.navbar {
    grid-area: nav;
}

.card-calendar {
    box-shadow: 6px 6px 10px;
    grid-area: calendar;
    margin: 10px;
}

.card-header {
    font-family: Racing Sans One;
    font-size: 32px;
    color: #3229d4;
}

.card-news {
    box-shadow: 6px 6px 10px;
    grid-area: news;
    margin: 10px;
}

.logo1 {
    grid-area: logo;
}

.logo-img {
    margin: 32px;
}

footer {
    grid-area: footer;
}

.footer-text1 {
    text-align: right;
    padding-right: 32px;
}

.card {
    position: relative;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    min-width: 0;
    word-wrap: break-word;
    background-color: #fff;
    background-clip: border-box;
    border: 1px solid rgba(0,0,0,.125);
    border-radius: .25rem;
}

.article2 {
}