*, *:before, *:after {
    box-sizing: inherit;
}

* {
    font-family: 'Helvetica Neue', 'Helvetica', 'Arial', sans-serif;
}

.group:before,
.group:after {
    content: " ";
    display: table;
}

.group:after {
    clear: both;
}

html {
    box-sizing: border-box;
}

body {
    position: relative;
    width: 100%;
    height: 100%;
    background-color: #fff;
    font-size: 100%;
}

header {
    padding: 2em 0;
}

main {
    margin-top: 2em;
}

div.container {
    max-width: 90%;
    padding: 0 1.5em;
}

h1 {
    font-family: 'Open Sans', 'Arial', sans-serif;
    font-size: 4em;
    font-weight: bold;
    color: #666;
    text-align: center;
    text-transform: uppercase;
}

hr {
    width: 160px;
    height: 5px;
    background-color: rgb(35, 184, 136);
    margin-top: 15px;
}

div.panel-heading,
div.alert-message,
label,
input {
    font-size: 14px;
}

input[type=submit] {
    margin-bottom: 1em;
}

div.alert-success.alert-panel,
div.alert-danger.alert-panel {
    display: none;
    position: relative;
}

div.alert-success.alert-panel button.close,
div.alert-danger.alert-panel button.close {
    float: none;
    position: absolute;
    top: 0.6em;
    right: 0.6em;
}


/* MEDIA QUERIES */

@media screen and (min-width: 1701px) {
    body {
        font-size: 115%;
    }
}

@media screen and (min-width: 1450px) and (max-width: 1700px) {
    body {
        font-size: 107.5%;
    }
}

@media screen and (max-width: 1250px) {
    body {
        font-size: 95%;
    }
}

@media screen and (max-width: 1000px) {
    body {
        font-size: 90%;
    }
}

@media screen and (max-width: 767px) {
    body {
        font-size: 85%;
    }
}

@media screen and (max-width: 400px) {
    body {
        font-size: 80%;
    }
}

@media screen and (max-width: 290px) {
    body {
        font-size: 75%;
    }
}

@media screen and (max-width: 250px) {
    body {
        font-size: 70%;
    }
}