body {
    margin: 0;
    padding: 0;
    background-color: lightgray;
}

* {
    font-family: "Barlow Condensed", sans-serif;
    color: #4a4a4a;
    font-weight: 300;
    font-style: normal;
    font-size: 18px;
}

h1 {
    font-weight: 700;
    font-size: 32px;
    font-style: italic;
    margin: 0 0 12px 0;
}

h2 {
    font-weight: 500;
    font-size: 24px;
    font-style: italic;
    margin: 12px 0 12px 0;
}

input[type=text], input[type=password], button, select, textarea {
    padding: 10px;
    margin: 5px 0;
    border-radius: 12px;
    outline: 0;
    border-width: 0;
}

.shakeable {
    transition: all 80ms;
}

select {
    /* styling */
    background-color: white;
    display: inline-block;
    font: inherit;

    /* reset */
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-appearance: none;
    -moz-appearance: none;

    /* arrow */
    background-image:
            linear-gradient(45deg, transparent 50%, gray 50%),
            linear-gradient(135deg, gray 50%, transparent 50%);
    background-position:
            calc(100% - 20px) calc(1em + 2px),
            calc(100% - 15px) calc(1em + 2px),
            calc(100% - .5em) .5em;
    background-size:
            5px 5px,
            5px 5px,
            1.5em 1.5em;
    background-repeat: no-repeat;
}

button {
    background: white;
    color: gray;
    min-width: 100px;
    cursor: pointer;
}

button[disabled] {
    opacity: 0.5;
}

a {
    text-decoration: underline;
    cursor: pointer;
}

button.secondary {
    background: transparent;
    font-weight: 300;
    color: #4a4a4a;
    text-decoration: underline;
}

/* general styling */

.bold {
    font-weight: 500;
}

.italic {
    font-style: italic;
}

.centered {
    text-align: center;
}

.paragraph {
    margin-top: 16px;
    margin-bottom: 16px;
    margin-left: 5px;
    margin-right: 5px;
}

.form-field {
    text-align: left;
    padding-bottom: 10px;
}

.form-field label {
    display: block;
    text-align: left;
    padding-left: 10px;
    font-size: 75%;
}

.app-container {
    width: 80vw;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
}

.loading {
    margin-top:50px;
}

.loading img {
    mix-blend-mode: color-burn;
    vertical-align: bottom;
    margin-right: 5px;
}

.council {
    padding: 32px 0;
}

.council .members .member {
    display: flex;
    align-items: center;
    margin-bottom: 10px;
}
.council .members .member.selectable {
    cursor: pointer;
}


.council .members .member .change {
    display: none;
}
.council .members .member.selectable .change {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 20px;
    height: 20px;
    background: black;
    border-radius: 50%;
    margin-left: 5px;
}
.council .members .member .change i {
    font-size: 10px;
    color: white;
}

.council .members .member .avatar,
.conversation .item .avatar {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background-color: white;
    border: 1px solid white;
    margin-right: 5px;
    background-size: cover;
    background-repeat: no-repeat;
}

.council .members .member .name,
.conversation .item .name {
    font-weight: 600;
    margin-right: 5px;
}

.council .topic .input {
    width: calc(100% - 20px);
    height: 110px;
}

.conversation {
    margin-bottom: 12px;
}

.conversation .item {
    margin-bottom: 12px;
}

.conversation .item .meta {
    display: flex;
    align-items: center;
}

.conversation .item .message {
    padding-left: 39px;
}

.conversation .ui {
    margin-left: 39px;
}

.conversation .ui .opinion .input {
    height: 48px;
    width: calc(100% - 40px);
}

.conversation .ui .restart {
    margin-top: 40px;
}
.conversation .ui .restart a {
    display: inline-block;
    margin-right: 16px;
}

.moderator i {
    color: black;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.member-selection,
.council-info {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0, 0, 0, 0.85);
    color: white;
    visibility: hidden;
}

.member-selection .headline,
.council-info .headline {
    height: 20vh;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: flex-end;
}
.member-selection .headline h1,
.council-info .headline h1 {
    color: white;
    margin-bottom: 20px;
}
.member-selection .headline h1 i,
.council-info .headline h1 i {
    color: white;
    background: red;
    display: inline-flex;
    width: 25px;
    height: 25px;
    border-radius: 50%;
    justify-content: center;
    align-items: center;
    transform: translateY(-10px);
    margin-left: 5px;
    cursor: pointer;
}

.member-selection .members,
.council-info .members {
    position: absolute;
    height: 80vh;
    width: 100vw;
    overflow-y: hidden;
    overflow-x: scroll;
}

.member-selection .member,
.council-info .member {
    position: absolute;
    top: 0;
    width: 100vw;
    height: 90%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.member-selection .member.unselectable {
    filter: grayscale(100%);
    pointer-events: none;
}

.member-selection .member.unselectable button {
    visibility: hidden;
}

.member-selection .member .avatar,
.council-info .member .avatar {
    width: 65vw;
    height: 65vw;
    max-width: 400px;
    max-height: 400px;
    background-size: cover;
    border-radius: 50%;
    border: 1px solid white;
}

.member-selection .member .name,
.council-info .member .name {
    height: 25px;
    font-weight: 500;
    font-size: 24px;
    margin: 5px;
    color: white;
}

.member-selection .member .description,
.council-info .member .description {
    height: 60px;
    font-size: 16px;
    margin: 5px;
    color: white;
    max-width: 250px;
    text-align: center;
}

.member-selection .members .member .select {
    z-index: 100;
}

button {
    width: 200px;
    height: 40px;
    background: black;
    color: white;
}

.member-selection .member button {
    background: white;
    color: black;
}

button.lock {
    opacity: 0.5;
    pointer-events: none;
    content: url(../../res/images/waiting.gif);
}
