html, body {
    margin: 0;
    padding: 0;
    height: 100%;
}

h1, h2, h3, h4, h5, h6 { margin: 0; }
h1 {
    padding-top: 1ex;
    padding-bottom: 1.5ex;
    text-align: center;
}
h2 { margin-top: 1ex; }

body {
    background: #3465a4;
    width: 800px;
    margin: 0 auto;
    font-size: 12pt;
    font-family: Lato, sans-serif;
}

article#main {
    background: #eeeeec;
    padding: 0 2ex;
    min-height: 100%;
    border-left: solid 1px #204a87;
    border-right: solid 1px #204a87;
}

header {
    box-sizing: border-box;
    position: absolute;
    padding: 1ex 2ex;
    width: 800px;
    margin: 0 auto;
}

header .auth {
    float: right;
}

.groups li, .group-detail {
    position: relative;
}

.group-fullname { font-weight: 300; }
.group-fullname a { text-decoration: none; }
.group-name { font-weight: normal; }

.group-emblems {
    position: absolute;
    top: 0;
    right: 0;
}

.group-emblems img {
    opacity: 0.25;
}

.group-emblems img.active {
    opacity: 1;
}

ul.domains,
ul.domains > li,
ul.groups,
ul.groups > li,
ul.group-members,
ul.group-members > li {
    display: block;
    margin: 0;
    padding: 0;
}

.domains li a { text-decoration: none; }

table {
    border: solid 1px #ddd;
    width: 100%;
    margin: 2ex 0;
}

.sort {
    display: inline;
    margin: 0 1em;
}

.sort a {
    text-decoration: none;
}

table tr {
    border-bottom: solid 1px #ddd;
    padding: 1ex;
}

table tr:last-child {
    border-bottom: none;
}

textarea {
    margin-top: 1ex;
    width: 100%;
}

.group-members input {
    box-sizing: border-box;
    border: solid 1px #ddd;
    padding: 1ex;
    width: 100%;
}

.add-rows input[type=number] {
    width: 3em;
}

table + form input[type=submit],
table + input[type=submit] {
    float: right;
}
