html {
    font-size: 45%;
}

body,
html {
    height: 100%;
}

body {
    background: #5b8f22;
    box-sizing: border-box;
    color: #fff;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    font-family: 'Maven Pro', 'Helvetica', 'Arial', sans-serif;
    line-height: 1;
    margin: 0;
    overflow: hidden;
}

    body *,
    body *:before,
    body *:after {
        box-sizing: inherit;
    }

.main {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 auto;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    text-align: center;
    position: relative;
}

.main__logo {
    background: #fff;
    border-radius: 0 0 5px 5px;
    display: inline-block;
    height: 15rem;
    min-width: 15rem;
    padding: 3rem;
    text-align: center;
}

.main__logo-image {
    display: inline-block;
    height: 9rem;
    width: auto;
}

.meeting {
    left: 4rem;
    position: absolute;
    right: 4rem;
    top: 50%;
    -webkit-transform: translateY(calc(1px - 50% + 7.5rem - 1px));
    -ms-transform: translateY(calc(1px - 50% + 7.5rem - 1px));
    transform: translateY(calc(1px - 50% + 7.5rem - 1px));
}

.meeting__location {
    font-size: 3rem;
    letter-spacing: 0.1rem;
    margin-bottom: 2rem;
    padding-bottom: 3.5rem;
    position: relative;
    text-transform: uppercase;
}

    .meeting__location:after {
        background: rgba(255, 255, 255, 0.5);
        bottom: 0;
        content: '';
        height: 2px;
        left: 50%;
        position: absolute;
        -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        transform: translateX(-50%);
        width: 30rem;
    }

.meeting__name {
    font-size: 5rem;
    font-weight: bold;
    margin: 0 0 2rem 0;
}

.meeting__subtitle {
    font-size: 4rem;
}

.footer {
    background: #fff;
    color: #343434;
    padding: 4rem;
    position: relative;
}

.next__supertitle {
    color: #5b8f22;
    font-size: 2rem;
    font-weight: bold;
    letter-spacing: -0.04rem;
    margin-bottom: 1.5rem;
    text-transform: uppercase;
}

.next__name {
    font-size: 3.5rem;
    font-weight: bold;
    letter-spacing: -0.07rem;
    margin: 0 0 1.5rem 0;
}

.next__subtitle {
    font-size: 2.5rem;
}

img {
    -webkit-transition: all 2s; /* Safari */
    transition: all 2s;
}

.logo {
    height: 11rem;
    position: absolute;
    right: 4rem;
    top: 4rem;
    width: auto;
}
