body {
    /*font-family: sans-serif;*/
    font-family: 'Open Sans', sans-serif;
    background: #f8f9fa;
}

.hidden {
    display: none;
}

.wrapper {
    color: #fff;
    display: flex;
    transition: all 0.3s;
    width: 100%;
    align-items: stretch;
}

.container {
    color: #343a40;
    transition: all 0.3s;
}

@media only screen and (min-width : 1200px) {
    .container-xl.container-xxl {
        max-width: 1440px;
    }
}

body .messages-wrapper {
	position: fixed;
	width: 100%;
	bottom: 0;
  z-index: 2001;
}

body .messages-wrapper ul {
	list-style-type: none;
}

.light-shadow {
    -webkit-box-shadow: 0px 0px 6px 0px rgba(0,0,0,0.2);
    -moz-box-shadow: 0px 0px 6px 0px rgba(0,0,0,0.2);
    box-shadow: 0px 0px 6px 0px rgba(0,0,0,0.2);
}

.hover-shadow:hover {
    -webkit-box-shadow: 0px 5px 10px 0px rgba(0,0,0,0.2);
    -moz-box-shadow: 0px 5px 10px 0px rgba(0,0,0,0.2);
    box-shadow: 0px 5px 10px 0px rgba(0,0,0,0.2);
}

.hover-underline:hover {
    text-decoration: underline;
}

.noninteractive {
	pointer-events: none;
}

dl.inline {
	display: grid;
	grid-template-columns: min-content 1fr;
	grid-column-gap: 1ex;
	margin-left: 1ex;
}

dl.inline > dt {
	font-weight: normal;
}

dl.inline > dt:after {
	content: ':';
}

/* Global styling */

/*
p {
    font-family: sans-serif;
    font-size: 1.1em;
    font-weight: 300;
    line-height: 1.7em;
    color: #999;
}
*/

a.card, a.card:hover, a.card:focus {
    color: inherit;
    text-decoration: none;
    transition: all 0.3s;
}


a[data-toggle="collapse"] {
    position: relative;
}

a.disabled {
	opacity: 0.5;
}

[data-meeting-hide]:not(.dmh-initialized) {
	display: none !important;
}

.btn:first-letter {
    text-transform: uppercase;
}

.dropdown-menu > a i.fas {
	margin-right: 0.6ex;
}

/* Loading stuff can have a spinner element stretching over themselves */
.loading {
	position: relative;
}

.loading i.loading-indicator + i.fas {
	display: none !important;
}

.loading .loading-wrapper {
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;

	background-color: rgba(255, 255, 255, 0.5);

	z-index: 100;

	display: flex;
	flex-direction: column;
	justify-content: center;
}

.loading:not(.loading-placeholder) .loading-wrapper {
	position: absolute;
}

.loading .loading-wrapper .loading-indicator {
	display: block;
	text-align: center;

	font-size: 4em;

}

.loading:not('.loading-placeholder') .loading-wrapper .loading-indicator {
	position: relative;
	top: 50%;
	margin-top: -1em; /* Should look better with -2em, but doesn't */
}

[data-toggle=collapse][aria-expanded="true"] > .expanded-true {
	display: none;
}
[data-toggle=collapse][aria-expanded="false"] > .expanded-false {
	display: none;
}

.collapse.collapse-inverse.show {
	display: none;
}
.collapse.collapse-inverse:not(.show) {
	display: initial;
}

.d-table.table-spacing-1 {
	border-collapse: seperate;
	border-spacing: 1ex;
}

svg {
	max-width: 100%;
}

.min-width-10ch { 
	min-width: 10ch;
}

.min-width-12ch { 
	min-width: 12ch;
}

/* End Global Styling */

/********************************************************************************
 * Menus
 ********************************************************************************/

.menu li:not(.menu-item) {
	list-style: none;

	vertical-align: top;
	display: inline-block;
}

.main-menu {
    min-width: 200px;
    /* background-color: red; */
    /* min-width: 300px; */
}

.main-menu .btn.bg-dark.active {
    background-color: #545b62 !important;
}

@media only screen and (max-width : 800px) {
    .main-menu {
        min-width: 100px;
        width: 100%;
        margin-bottom: 1em;
    }
}


/********************************************************************************
 * End menus
 ********************************************************************************/

 /********************************************************************************
  * Boolean vote popup large screen fix
  ********************************************************************************/

.for-against-abstain {
    max-width: 100vw !important;
    width: 100%;
}

.vote-single-select .btn,
.for-against-abstain .btn {
    font-weight: bold;
}

.vote-single-select .btn,
.for-against-abstain .btn {
    box-shadow: none !important;
}


.vote-single-select .btn-outline-success:hover,
.for-against-abstain .btn-outline-success:hover {
    color: #28a745;
    background-color: rgba(40, 167, 69, 0.1);
    border-color: #28a745;
}

.vote-single-select .btn-outline-danger:hover,
.for-against-abstain .btn-outline-danger:hover {
    color: #dc3545;
    background-color: rgba(220, 53, 69, 0.1);
    border-color: #dc3545;
}

.vote-single-select .btn-outline-warning:hover,
.for-against-abstain .btn-outline-warning:hover {
    color: #ffc107;
    background-color: rgba(255, 193, 7, 0.1);
    border-color: #ffc107;
}

.vote-single-select .btn-outline-info:hover,
.for-against-abstain .btn-outline-info:hover {
    color: #17a2b8;
    background-color: rgba(23, 162, 184, 0.1);
    border-color: #17a2b8;
}

.vote-single-select .btn-outline-dark:hover,
.for-against-abstain .btn-outline-dark:hover {
    color: #343a40;
    background-color: rgba(52, 58, 64, 0.1);
    border-color: #343a40;
}

.vote-single-select .btn-outline-primary:hover,
.for-against-abstain .btn-outline-primary:hover {
    color: #007bff;
    background-color: rgba(0, 123, 255, 0.1);
    border-color: #007bff;
}

.vote-single-select .btn-outline-secondary:hover,
.for-against-abstain .btn-outline-secondary:hover {
    color: #6c757d;
    background-color: rgba(108, 117, 125, 0.1);
    border-color: #6c757d;
}

 /********************************************************************************
  * End boolean vote popup large screen fix
  ********************************************************************************/


/********************************************************************************
 * Bootstrap fix
 ********************************************************************************/

*.flex-basis-0 {
	flex-basis: 0 !important;
}

.field-type-checkbox label.btn-outline-success:hover {
    color: #28a745;
    background-color: rgba(40, 167, 69, 0.1);
    border-color: #28a745;
}

.field-type-checkbox label.btn-outline-danger:hover {
    color: #dc3545;
    background-color: rgba(220, 53, 69, 0.1);
    border-color: #dc3545;
}

.field-type-checkbox label.btn-outline-warning:hover {
    color: #ffc107;
    background-color: rgba(255, 193, 7, 0.1);
    border-color: #ffc107;
}

.field-type-checkbox label.btn-outline-info:hover {
    color: #17a2b8;
    background-color: rgba(23, 162, 184, 0.1);
    border-color: #17a2b8;
}

.field-type-checkbox label.btn-outline-dark:hover {
    color: #343a40;
    background-color: rgba(52, 58, 64, 0.1);
    border-color: #343a40;
}

.field-type-checkbox label.btn-outline-primary:hover {
    color: #007bff;
    background-color: rgba(0, 123, 255, 0.1);
    border-color: #007bff;
}

.field-type-checkbox label.btn-outline-secondary:hover {
    color: #6c757d;
    background-color: rgba(108, 117, 125, 0.1);
    border-color: #6c757d;
}


.field-type-checkbox label.btn-outline-dark.checked {
    color: #fff;
    background-color: #343a40;
    border-color: #343a40;
}

.field-type-checkbox label.btn-outline-primary.checked {
    color: #fff;
    background-color: #007bff;
    border-color: #007bff;
}

.field-type-checkbox label.btn-outline-secondary.checked {
    color: #fff;
    background-color: #6c757d;
    border-color: #6c757d;
}

.field-type-checkbox label.btn-outline-success.checked {
    color: #fff;
    background-color: #28a745;
    border-color: #28a745;
}

.field-type-checkbox label.btn-outline-danger.checked {
    color: #fff;
    background-color: #dc3545;
    border-color: #dc3545;
}

.field-type-checkbox label.btn-outline-warning.checked {
	color: #212529;
	background-color: #ffc107;
	border-color: #ffc107;
}

.field-type-checkbox label.btn-outline-info.checked {
    color: #fff;
    background-color: #17a2b8;
    border-color: #17a2b8;
}


@media (min-width: 576px) {
	.modal .modal-dialog:not(.modal-sm):not(.modal-md):not(.modal-lg):not(.modal-xl) {
		max-width: 75vw;
	}
}

#splashModal .modal-dialog, #url-splash-modal .modal-dialog {
	max-width: 95vw;
	display: flex;
	justify-content: center;
}
#splashModal .modal-dialog .modal-content, #url-splash-modal .modal-dialog .modal-content {
	margin: auto;
	width: auto;
}

.no-dismiss.modal-dialog button.close {
    display: none;
}

/********************************************************************************
 * End Bootstrap fix
 ********************************************************************************/

.card-title > h3 {
	font-size: 1.25rem; /* we want h3 in cards, sized to h4 */
}

.card-title[data-toggle="collapse"]:before{
    /* symbol for "opening" panels */
    font-family: 'Font Awesome 5 Free';  /* essential for enabling glyphicon */
	font-weight: 900;
    content: "\f078";    /* adjust as needed, taken from bootstrap.css */
    float: right;        /* adjust as needed */
    color: grey;         /* adjust as needed */
	font-size: 1.3rem;
}
.card-title.collapsed[data-toggle="collapse"]:before {
    /* symbol for "collapsed" panels */
    content: "\f054";    /* adjust as needed, taken from bootstrap.css */
}

.card-text p:last-child {
	margin-bottom: 0;
}

ul.dropdown ul a {
    font-size: 0.9em !important;
    padding-left: 30px !important;
    background: #6d7fcc;
}

#topbar {
    position: fixed;
    height: 56px;
    top: 0px;
    left: 0px;
    right: 0px;
    background: #6d7fcc;
    box-shadow: 0 0 4px rgba(0,0,0,.14), 0 4px 8px rgba(0,0,0,.28);
    z-index: 2;
}

div.topbar-header {
    height: 100%;
    position: absolute;
    display: flex;
    width: 250px;
    padding-left: 10px;
}

h3.topbar-header {
    position: relative;
    float: left;
    margin: auto 0;
}

.container-top-bar-margin {
    margin-top: 56px;
}

div.breadcrum-wrapper {
    position: absolute;
    top: 56px;
    left: 250px;
    right: 0px;
}

div.breadcrum {
    width:100%;
    color: #999;
}

div.page-header {
    padding-top: 20px;
    padding-left: 1em;
    margin-bottom: 20px;
    border-bottom: 1px solid #e8eaed;
}

#sidebar-space {
    width: 250px;
    min-width: 250px;
    max-width: 250px;
}

#sidebar {
    background: #7386D5;
    width: 250px;
    position: fixed;
    top: 56px;
    bottom: 0px;
    left: 0;
    z-index: 1;
    transition: all 0.3s;
}

#sidebar .sidebar-header {
    padding: 20px;
    background: #6d7fcc;
}

#sidebar .sidebar-footer p {
    color: #fff;
    font-size: 80%;
    font-weight: 400;
    line-height: 1em;
    margin: 0;
    padding: 10px 10px 0px 10px;
}

#sidebar ul.components {
    padding: 20px 0;
    border-bottom: 1px solid #47748b;
}

#sidebar ul p {
    color: #fff;
    padding: 10px;
}

#sidebar ul li a {
    padding: 10px;
    font-size: 1.1em;
    display: block;
}

#sidebar ul li a:hover {
    color: #7386D5;
    background: #fff;
}

/* TODO determine why someone was messing with bootrap colors */
#sidebar ul li.active > a /*, a[aria-expanded="true"]*/ {
    color: #fff;
    background: #6d7fcc;
}

#sidebar button {
    padding: 10px 10px 10px 0;
    margin: 10px 0;
    width: 100%;
}

tr.disabled {
	opacity: 0.5;
}

/********************************************************************************
 * Forms.
 ********************************************************************************/

/*
input[type=number] {
	width: 3em;
}
*/

.modal-dialog-scrollable .modal-content > form {
	display: contents;
}
.modal-dialog-scrollable .modal-content {
    overflow: initial;
    max-height: 99vh !important;
}

form .errorlist {
	color: red;
	font-size: small;
}

/* make inputs in forms take up the entire length */
form table td > input[type=text] {
	width: 100%;
}

form .requiredField .asteriskField {
	color: red;
	font-size: small;
}

ul.form,
ul.form-element-list {
	list-style-type: none;
	padding: 0;
	margin: 0;
}

.form .irrelevant,
.form-element-list .irrelevant {
	opacity: 0.5;
	pointer-events: none;
}

ul.form li + li,
.form-element-list li + li {
	margin-top: 0.5em;
}

ul.form > li > ul,
.form-element-list > li > ul {
	list-style-type: none;
	padding: 0;
}

ul.form ul.checkbox-counter,
.form-element-list ul.checkbox-counter {
	display: -ms-flexbox!important;
	display: flex;
	-ms-flex-direction: column!important;
	flex-direction: column;

	-ms-flex-align: center!important;
	align-items: center!important;

}

ul.form .checkbox-counter .field-type-checkbox > label:hover,
.form-element-list .checkbox-counter .field-type-checkbox > label:hover {
	transition: all .1s linear;
	background-color: lightblue;
	box-shadow: 0 8px 17px 0 rgba(0,0,0,.2), 0 6px 20px 0 rgba(0,0,0,.19);
}

ul.form .field-type-checkbox > label,
.form-element-list .field-type-checkbox > label {
	padding: 0 1ex;
	border-radius: 4px;
}

ul.form > li .field-type-checkbox.checked > label,
.form-element-list > li .field-type-checkbox.checked > label {
	background-color: #4285f4!important;
}

ul.form .field-type-checkbox > label.btn > input[type=checkbox],
.form-element-list .field-type-checkbox > label.btn > input[type=checkbox] {
	display: none;
}

select,
textarea {
	max-width: 100%;
}

textarea {
	width: 100%;
}

/********************************************************************************
 * Reset bootstrap stuff
 ********************************************************************************/

.list-group-item {
    color: initial;
}

/* tentative fix for iphone issues */
[data-toggle=collapse] {
	cursor: pointer;
}

/********************************************************************************
 * lists
 ********************************************************************************/

/* Contain height of long lists, should show approximately 10 motion cars */
.max-height-scrollable-list {
	max-height: 43rem; 
	overflow-y: auto;
}


/********************************************************************************
 * Speaking list
 ********************************************************************************/

.speaker-list-wrapper ol.list-group {
    list-style-type: decimal inside;
    list-style-position: inside;
}

.container:not(.president) .speaker-list .list-group-item[data-status="running"],
.container:not(.president) .speaker-list-wrapper .list-group-item[data-status="running"] {
    display: none !important;
}

.speaker-list .list-group-item[data-status="completed"],
.speaker-list-wrapper .list-group-item[data-status="completed"] {
    display: none !important;
}

/* only show buttons on active talking point speaker lists*/
.speaker-list:not(.active-talking-point) input {
	display: none !important;
}

/********************************************************************************
 * Motions
 ********************************************************************************/

.motion-wrapper  {
	flex-basis: 12em;
}

.motion-body {
	white-space: pre-wrap;
}
.motion-submitter {
	margin-top: 1em;
	font-style: italic;
}

.motion-card .motion-title {
    line-height: 1;
}

.motion-card .card-text {
    max-height: 11.5rem;
    overflow-y: hidden;
    white-space: pre-wrap;
    word-break: break-word;
}

.motion-grid .motion-card:hover {
    color: #212529;
    background-color: #e2e6ea;
}

.motion-expand-text .motion-card .card-text {
    max-height: 50vh;
    overflow-y: auto;
}

.motion-grid-present,
.motion-grid-present-col-1,
.motion-grid-present-col-2 {
    font-size: 1.6rem;
}

.motion-grid-present .motion-card .card-text,
.motion-grid-present-col-1 .motion-card .card-text,
.motion-grid-present-col-2 .motion-card .card-text {
    max-height: 60vh;
    overflow-y: auto;
}

.motion-grid-present-col-1,
.motion-grid-present-col-2 {
    width: 100%;
    margin: 0 auto;
}

.motion-grid, .motion-grid-present,
.motion-grid-present-col-2 {
    -webkit-column-count: 1;
    -moz-column-count: 1;
    column-count: 1;
    -webkit-column-gap: 1.25rem;
    -moz-column-gap: 1.25rem;
    column-gap: 1.25rem;
    orphans: 1;
    widows: 1;
}

@media (min-width: 576px) {
    .motion-grid, .motion-grid-present,
    .motion-grid-present-col-2 {
        -webkit-column-count: 1;
        -moz-column-count: 1;
        column-count: 1;
    }
    .motion-grid-present-col-1 {
        width: 100%;
    }
}

@media (min-width: 768px) {
    .motion-grid, .motion-grid-present,
    .motion-grid-present-col-2 {
        -webkit-column-count: 2;
        -moz-column-count: 2;
        column-count: 2;
    }
    .motion-grid-present-col-1 {
        width: 80%;
    }
}

@media (min-width: 1200px) {
    .motion-grid, .motion-grid-present {
        -webkit-column-count: 3;
        -moz-column-count: 3;
        column-count: 3;
    }
    .motion-grid-present-col-1 {
        width: 60%;
    }
    .motion-grid-present-col-2 {
        width: 80%;
    }
}

.motion-state.motion-accepted {
    background-color: #218838;
    color: white;
}

.motion-state.motion-rejected {
    background-color: #dc3545;
    color: white;
}

.motion-state.motion-conflicts {
    background-color: #ffc107;
    color: black;
}


.motion-state.motion-replaced {
    background: repeating-linear-gradient( 45deg, #a6a6a6, #a6a6a6 1.5ex, #f7f7f7 0px, #f7f7f7 3ex );
}

.motion-state.motion-retracted {
    background: repeating-linear-gradient( 45deg, #ffc107, #ffc107 1.5ex, #f7f7f7 0px, #f7f7f7 3ex );
}

.card-footer.motion-state.motion-retracted,
.card-footer.motion-state.motion-replaced {
    border-top: 1px solid rgb(223, 223, 223);
}
.motion-state.motion-retracted small,
.motion-state.motion-replaced small {
    padding: 0em 0.5em;
    margin-left: -0.5rem;
    background-color: #f7f7f7;
}
.card.motion-retracted .card-text,
.card.motion-replaced .card-text {
    text-decoration: line-through;
}

.motion-category-bar {
    margin: .25rem .5rem .5rem 0rem;
    padding-left: .3rem;
    border-radius: .25rem;
    background-color: #b6babe;
}

.current-user-only h1:not(.current-user-submitted),
.current-user-only .motion-category:not(.current-user-submitted),
.current-user-only .card:not(.current-user-submitted) {
    display: none !important;
}

.badge-tag,
.badge-motion-tag {
    /* background-color: #e4e4e4;
    border: 1px solid #aaa; */
    background-color: #f8f9fa;
    border: 1px solid rgba(0,0,0,.125);

    display: inline-block;
    padding: .25em .4em;
    font-size: 75%;
    /* font-weight: 700; */
    line-height: 1;
    text-align: center;
    white-space: nowrap;
    vertical-align: baseline;
    border-radius: .25rem;
    transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}

/********************************************************************************
 * Motion list
 ********************************************************************************/

.motion-card-compact {
    transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}

.motion-card-compact:hover {
    color: #212529;
    background-color: #e2e6ea;
}

.motion-card-compact i {
    color: #6c757d;
}

.motion-card-compact .text-long {
    max-height: 4.5ex;
    overflow-y: hidden;
    word-break: break-word;
}

.motion-card-compact.motion-retracted .text-long,
.motion-card-compact.motion-replaced .text-long {
    text-decoration: line-through;
}

.motion-state-toolbox {
        position: absolute;
        bottom: 0;
        right: 0;
}

.select-container .motion-state-toolbox {
        display: none !important;
}

.select-order-widget .motion-card .card-footer {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 0.5ex;
}

/********************************************************************************
 * Voting sessions
 ********************************************************************************/

.vote-wrapper {
	text-align: center;
	/* pointer-events: none; */
}

.vote-wrapper .vote {
	display: inline-block;
	min-width: 5ch;
	text-align: center;
	margin: 1ex;
	max-width: 100%;

	white-space: no-wrap;
	text-overflow: ellipsis;
	overflow: hidden;

	padding: 0 1ex;
}

.vote-wrapper .vote.vote-compact {
    margin: 0.4ex;
}

.vote-wrapper .vote-count {
	column-count: 3;
	pointer-events: none;
}

.vote-wrapper .vote-count .vote {
	display: inline-block;
	width: 12ch;
	padding: 1ex 0;
	border-radius: 1ex;
	font-weight: inherit;
}

.vote-wrapper .vote.vote-pending,
.vote-count .vote.vote-info {
	background-color: #ccc;
}

.vote-wrapper .vote.vote-voted {
	color: #fff;
	background-color: #007bff;
	border-color: #007bff;
}

.vote-wrapper .singlechoice .vote.vote-voted {
	color: #212529;
	background-color: #ffc107;
	border-color: #ffc107;
}

.vote-wrapper .vote.vote-present {
    background: #ccc;
}

.vote-wrapper .vote.vote-not-present {
	background: repeating-linear-gradient( 45deg, #ccc, #ccc 1.5ex, #bbb 10px, #bbb 3ex );
}

.vote-wrapper .vote.vote-absent {
	background: repeating-linear-gradient( 45deg, #ccc, #ccc 1.5ex, #bbb 10px, #bbb 3ex );
}


.vote-wrapper .list-group-item {
    border: 0px;
    border-radius: 0px;
    box-sizing: border-box;
}

.vote-wrapper ul.last_even {
    border-top: 2px dashed grey;
    margin-top: 4px;
}

.vote-wrapper > ul + ul.others {
    border-top: 2px solid grey;
    margin-top: 4px;
}

.vote-wrapper > li + li.others {
    border-top: 2px solid grey;
    margin-top: 4px;
}

.vote-wrapper-grid {
    display: grid;
    grid-template-columns:
        [margin] minmax(auto, 1ch)
        [option] minmax(auto, 36ch)
        [result] 8ch
        [extra] 4ch;
}

@media (min-width: 576px) {
    .vote-wrapper-grid {
        grid-template-columns:
            [margin] minmax(auto, 10ch)
            [option] minmax(auto, 48ch)
            [result] 8ch
            [extra] 4ch;
    }
}

.vote-wrapper-grid.no-result {
    display: grid;
    grid-template-columns:
        [margin] minmax(auto, 1ch)
        [option] minmax(auto, 36ch)
        [result] 0ch
        [extra] 4ch;
}

@media (min-width: 576px) {
    .vote-wrapper-grid.no-result {
        grid-template-columns:
            [margin] minmax(auto, 4ch)
            [option] minmax(auto, 48ch)
            [result] 0ch
            [extra] 4ch;
    }
}

.vote-wrapper-grid .option.btn {
    padding: 0.25rem 0.5rem !important;
    margin: 0.15rem;
    min-width: 12ch;
}

.vote-wrapper-grid .option-name:not(.even) .option.btn {
    min-width: 20ch;
}

.vote-wrapper-grid .option-name {
    grid-column-start: option;
    grid-column-end: span 1;
    align-self: center;
}
.vote-wrapper-grid .option-name > * {
	max-width: 100%;
	text-overflow: ellipsis;
	overflow: hidden;
}
.vote-wrapper-grid .option-result {
    grid-column-start: result;
    grid-column-end: span 1;
    align-self: center;
}
.vote-wrapper-grid .option-extra {
    grid-column-start: extra;
    grid-column-end: span 1;
    align-self: center;
}

.vote-wrapper-grid .group-label {
    grid-column-start: option;
    grid-column-end: span 1;
    margin-top: 1rem;
    justify-self: start;
    padding-left: 1rem;
    padding-bottom: 0.25rem;

}
.vote-wrapper-grid .others-divider {
    border-top: 2px solid grey;
    grid-column-start: option;
    grid-column-end: 5;
    margin: 1rem 0px;
}

.vote-wrapper-grid .group-cell {
    border-left: 4px solid #000;
}

/********************************************************************************
 * Absentee check grid
 ********************************************************************************/

.absentee-check-grid-wrapper {
	text-align: center;
}

.absentee-check-grid-wrapper .absentee {
	display: inline-block;
	background-color: #ccc;
	min-width: 5ch;
	text-align: center;
	margin: 1ex;
	max-width: 100%;
}

.absentee-check-grid-wrapper .absentee.absentee-compact {
    margin: 0.4ex;
}


.absentee-check-grid-wrapper .absentee:not(.disabled) {
	color: #fff;
	background-color: #007bff;
	border-color: #007bff;
}

.absentee-check-grid-wrapper .absentee.disabled {
	background: repeating-linear-gradient( 45deg, #ccc, #ccc 1.5ex, #bbb 10px, #bbb 3ex );
}


/********************************************************************************
 * Paperlike
 ********************************************************************************/

.container.paperlike section {
    background-color: white;
    padding: 1.5em 1em 1em 1em;
    color: black;
}

.container.paperlike section h1,
.container.paperlike section h2,
.container.paperlike section h3,
.container.paperlike section h4,
.container.paperlike section h5,
.container.paperlike section p,
.container.paperlike section small {
    color: black;
}


/********************************************************************************
 * Specific things
 ********************************************************************************/

span.participant-number, p.participant-number {
    margin-left: 0.5ch;
}
span.participant-number:before, p.participant-number:before {
    content: "[";
}
span.participant-number:after, p.participant-number:after {
    content: "]";
}

.voting_session-list-wrapper i,
.speaker-list-wrapper .btn-light i,
.speaker-list-wrapper .light i,
.motion-list-wrapper .btn-light i {
    color: #6c757d;
}

@media (max-width: 576px) {
	.jumbotron h2.TalkingPointTitle {
		font-size: 1.2rem;
	}
}

/********************************************************************************
 * Agenda
 ********************************************************************************/

/* Fix talking point menu flicker */
.talking_point.selected {
	z-index: 1000;
}

.talking-point-wrapper .show-more-divider .btn.show-more-toggle {
    color: #6c757d;
    border-radius: 50%;
    min-width: 2rem;
    margin-top: 0.25rem;
    margin-bottom: 0.25rem;
}

.show-more .talking-point-wrapper .show-more-divider {
    display: none !important;
}

.talking-point-wrapper .list-group .list-group {
    padding-left: 0rem;
}

.talking-point-wrapper .list-group-item-heading .title {
    font-size: 85%;
}

@media only screen and (min-width: 768px) {
    .talking-point-wrapper .list-group .list-group {
        padding-left: 0.5rem;
    }
    .talking-point-wrapper .list-group-item-heading .title {
        font-size: 90%;
    }
}
@media only screen and (min-width: 992px) {
    .talking-point-wrapper .list-group .list-group {
        padding-left: 1rem;
    }
    .talking-point-wrapper .list-group-item-heading .title {
        font-size: 100%;
    }
}

.talking-point-wrapper .list-group-item {
    padding: 0rem;
    border: none;
}

.talking-point-wrapper .list-group-item {
    background-color: rgba(255, 255, 255, 0);
}
.talking-point-wrapper .list-group-item.active {
    color: #000;
}

.talking-point-wrapper .list-group-item.active > .list-group-item-heading .btn.goto {
    pointer-events: none;
    opacity: 0.65;
}

.talking-point-wrapper .list-group-item .list-group-item-heading {
    min-height: 3.5rem;
    padding: 0rem 0.5rem 0rem 1rem;
    margin: 0.2rem 0rem;
}


.talking-point-wrapper .list-group-item.active>.list-group-item-heading {
    color: #fff;
    background-color: #007bff;
}
.talking-point-wrapper .list-group-item:not(.active)>.list-group-item-heading {
    background-color: rgba(255, 255, 255, 255);
}


.talking-point-wrapper .far-from-active:not(.active-trail)>.list-group-item-heading {
	display: none !important;
}
.show-more .talking-point-wrapper .far-from-active>.list-group-item-heading {
	display: flex !important;
}


.talking-point-wrapper .list-group-item:not(.far-from-active),
.talking-point-wrapper .list-group-item.active-trail {
    border-top: 1px solid #dee2e6!important;
}

.show-more .talking-point-wrapper .list-group-item {
    border-top: 1px solid #dee2e6!important;
}


.talking-point-wrapper>.list-group>.list-group-item:first-child {
    border-top: none !important;
}

.talking-point-details > * {
	min-width: 3ex;
}

/*******************************************************************
 * Voting sessions
 *******************************************************************/

.result-group-member + *:not(.result-group-member) {
	margin-top: 1ex;
}

.result-group, .result-group-member {
	padding-left: 1ex;
	border-left: 1ex solid;
}

.result-group.result-group-success,
.result-group-member.result-group-success {
	border-left-color: #28a745;
}

.result-group.result-group-primary,
.result-group-member.result-group-primary {
	border-left-color: #007bff;
}

.result-group.result-group-secondary,
.result-group-member.result-group-secondary {
	border-left-color: #6c757d;
}

.result-group.result-group-danger,
.result-group-member.result-group-danger {
	border-left-color: #6c757d;
}

.result-group.result-group-warning,
.result-group-member.result-group-warning {
	border-left-color: #ffc107;
}

.result-group.result-group-info,
.result-group-member.result-group-info {
	border-left-color: #17a2b8;
}

.result-group.result-group-light,
.result-group-member.result-group-light {
	border-left-color: #f8f9fa;
}

.result-group.result-group-dark,
.result-group-member.result-group-dark {
	border-left-color: #343a40;
}

/*******************************************************************
 * Card select-order
 *******************************************************************/

.select-order-widget .select-container,
.select-order-widget .order-container {
	min-height: 10em;
}
.select-order-widget .sortable-select-checkbox {
	display: none;
}

.select-order-widget .option.disabled {
	opacity: 0.5;
}

.select-order-widget .option:not(.disabled) {
	cursor: -webkit-grab;
    cursor: grab;
}

.select-order-widget .option {
	cursor: default;
}

.select-order-widget .option:not(.disabled) .motion-card:hover {
    box-shadow: 0 .25rem 1rem rgba(0,0,0,.15)!important;
}

.select-order-widget .select-container .option.col-4 {
    max-width: 30% !important;
}

.select-order-widget .order-container.motion-drop-area {
    background: #f7f7f7;
    border-color: #e6e6e6;
    border-width: 0.2rem;
    border-style: dashed;
}

.select-order-widget .order-container.motion-drop-area .placeholder {
    /* margin: 3em auto 0px auto; */
    /* max-width: 80%; */
    padding: 3em 1em 0em 1em;
    width: 100%;
    display: block;
    text-align: center;
}

/*******************************************************************
 * QR code
 *******************************************************************/

.modal .qr-wrapper {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.jumbotron .qr-wrapper {
	margin: -2rem;
	float: right;
}

@media (min-width: 576px) {
	.jumbotron .qr-wrapper  {
		margin: -4rem -1rem;
	}
}

/*******************************************************************
 * Navbar branding
 *******************************************************************/


.navbar a.navbar-brand {
    max-width: 60vw;
}

@media (min-width: 576px) {
    .navbar a.navbar-brand {
        max-width: 400px;
    }
}

@media (min-width: 768px) {
    .navbar a.navbar-brand {
        max-width: 600px;
    }
}

@media (min-width: 992px) {
    .navbar a.navbar-brand {
        max-width: 800px;
    }
}

@media (min-width: 1200px) {
    .navbar a.navbar-brand {
        max-width: 1000px;
    }
}

/*******************************************************************
 * Suffra brand
 *******************************************************************/

.card .main-card {
    border: 1px solid rgba(0,0,0,.06);
    /* background-color: rgb(250,250,250); */
    box-shadow:
        -4px -4px 6px rgba(255, 255, 255, 1),
        4px 4px 5px rgba(0,0,0,0.02),
        inset 2px 2px 50px rgba(248, 249, 250, 0.8);
}

.jumbotron-container {
    width: 100%;
    padding-right: 0px;
    padding-left: 0px;
    padding-top: 0px;
    margin-right: auto;
    margin-left: auto;
}

.jumbotron-container .jumbotron {
    border-radius: 0px;
}
