* {
    padding: 0;
    margin: 0;
    box-sizing: border-box
}

html, body, div, span, h1, h2, h3, h4, h5, h6, p, address, img, strong, b, u, i, ol, ul, li, form, label, table, caption, tbody, tfoot, thead, tr, th, td {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
}

body {
    margin: 0 auto;
    min-width: 320px;
    overflow-x: hidden;
    line-height: 1.7em; /* 30px */
    font-family: 'Nunito', sans-serif;
    color: #414042;
    font-size: 16px
}

a {
    text-decoration: none;
    color: inherit;
}

    a:hover {
        cursor: pointer;
    }

img, img a {
    border: 0;
    outline: 0;
    max-width: 100%
}

p {
    font-size: 1em; /* 18px */
    line-height: 1.5; /* 27px */
    margin-bottom: 1em; /* 18px */
    font-weight: 300;
    text-align: left;
}

    p:last-child {
        margin-bottom: 0
    }

h1, h2, h3 {
    font-weight: 800
}

b, h4, h5 {
    font-weight: 700
}

h1, h2 {
    font-family: 'Nunito Sans', sans-serif
}

h1 {
    font-size: 2.222em; /* 40px */
    line-height: 1.2em; /* 48px */
}

h2 {
    font-size: 1.944em; /* 35px */
    line-height: 1.2em; /* 52px */
    margin-bottom: 0.571em /* 20px */
}

h3 {
    font-size: 1.667em; /* 30px */
    line-height: 1em /* 30px */;
    padding-bottom: 10px
}

h4 {
    font-size: 1.389em; /* 25px */
    line-height: 2em;
}

h5 {
    font-size: 1.2em;
    line-height: 1.5em; /* 33px */
    text-align: left;
}

button {
    background: none;
    border: none;
    outline: none;
    font-family: 'Nunito', sans-serif;
    font-size: 1em; /* 18px */
    width: 90%
}

ol, ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

input {
    font-family: 'Nunito', sans-serif;
    font-size: 16px;
    font-weight: 300;
    padding: 0.313em 0 0.5em 1.75em; /* 5px 0 8px 28px */
}

    input::placeholder {
        color: #aaa
    }

    input[type="text"],
    input[type="password"] {
        border: none;
        border-bottom: solid 1px #e1e1e1;
        width: 100%;
        -webkit-transition: border-bottom-color 0.2s ease-in-out;
    }

        input[type="text"]:focus,
        input[type="password"]:focus {
            outline: none;
            border-bottom: solid 2px #a8d035;
        }

/* MIN-WIDTH 768px 
----------------------------------- */
@media screen and (min-width: 768px) {
    h1 {
        font-size: 2.778em
    }
    /* 50px */
    h2 {
        font-size: 2.222em
    }
    /* 40px */
    h3 {
        font-size: 1.944em
    }
    /* 35px */
    h4 {
        font-size: 1.667em
    }
    /* 30px */
    button {
        width: auto;
    }
}

/* MIN-WIDTH 768px
----------------------------------- */
@media screen and (min-width: 768px) {

    body {
        font-size: 18px
    }
}
