html {
	height: 100%;
	min-height: 100%;
}

body {
	font-size: 140%;
	height: 100%;
	min-height: 100%;
	z-index: 0;
	/*overflow: hidden;*/
}

#container {
	margin: 0 auto;
	height: 56%;
	z-index: 1;
	display: block;
	box-sizing: border-box;
}

.back {
	background: #f9f9f9;
	border: 1px solid #bbb;
	overflow-y: auto;
	float: left;
}

#back {
	float: left;
	display: block;
	margin: 1% 0 0 1%;
	padding: .5%;
	border: 1px solid #bbb;
	cursor: pointer;
	display:none;
	position: absolute;
}

#introDiv {
	position: relative;
	display: none;
	background-color: #eee;
	margin: 3% auto 0 auto;
	width: 84%;
	height: 88%;
	border: solid 1px #888;
}

#emptyDiv {
	display: block;
	width: 84%;
	height: 84%;
}

#topDiv {
	-webkit-transition: height 1s;
	height: 55%;
	margin: 1% auto;
	text-align: center;
	width: 94%;
	overflow: hidden;
	padding-top: 5px;
}

.one-third {
	display: inline-block;
	margin: 0 1.5% 1% 1.5%;
	width: 25%;
	height: 100%;
	cursor: pointer;
	border: solid 1px #888;
}

.one-third:hover, .one-fifth:hover {
	outline: solid 3px red;
}

.one-fifth {
	display: inline-block;
	margin: 0 .5% 0 .5%;
	width: 18%;
	cursor: pointer;
	border: solid 1px #888;
	max-width: 100%;
	text-decoration: none;
	position: relative;
	overflow: hidden;
	height: 80%;
}

#workspace {
	display: block;
	float: left;
	margin: 0 .5% 0 1%;
	width: 37.4%;
	height: 100%;
	padding: .5% 1.5% .2% 1.5%;
	background-color: rgb(240, 240, 240);
}

#controls {
	display: block;
	float: left;
	margin: 0 .5% 0 1%;
	width: 38%;
	height: 100%;
	padding: .5% .5% .2% .8%;
	background-color: rgb(240, 240, 240);
}

#rightNav {
	display: block;
	float: left;
	width: 7%;
	margin: 0 0 0 0;
	padding: 0;
	height: 100%;
}

#leftNav {
	display: block;
	float: left;
	width: 7%;
	margin: 0 0 0 1.5%;
	padding: 0;
	height: 100%;
}

.timelineEvent:first-child {
	margin-left: 1.5%;
}

#timeline {
	display: block;
	float: left;
	width: 100%;
	height: 34%;
	overflow-x: scroll;
	overflow-y: hidden;
	white-space: nowrap;
	border-width: 2px 2px 0 0;
	margin-top: 1%;
}

.timelineEvent .data:focus {
	outline: none;
}

.data, .data:hover, .data:active, .data:visited, .data:link {
	text-decoration: none !important;
	color: #222 !important;
}

.data {
	display: inline-block;
	border: 1px solid #bbb;
	font-family: sans-serif;
	text-align: center;
	line-height: 50px;
	height: 50px;
	min-width: 100px;
	margin: .6%;
	text-decoration: none;
	z-index: 998;
	background-color: white;
	vertical-align: middle;
	white-space: nowrap;
	overflow: hidden;
	padding: 0 10px;
}

#controls .data {
	opacity: 1;
	min-width: 152px;
	width: 31%;
}

#inputDiv .data {
	opacity: 1;
	min-width: 146px;
	max-width: 32%;
}

.timelineEvent .data {
	display: block !important;
	width: 90%;
	height: 30px;
	line-height: 30px;
	margin: 5px auto;
	opacity: 1 !important;
	cursor: pointer;
	text-decoration: none;
	max-width: 90%;
}

@keyframes spinner-loader {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

.spinner-loader:not(:required) {
	  animation: spinner-loader 1500ms infinite linear;
	  border-radius: .5em;
	  box-shadow: rgba(0, 0, 51, 0.3) 1.5em 0 0 0, rgba(0, 0, 51, 0.3) 1.1em 1.1em 0 0, rgba(0, 0, 51, 0.3) 0 1.5em 0 0, rgba(0, 0, 51, 0.3) -1.1em 1.1em 0 0, rgba(0, 0, 51, 0.3) -1.5em 0 0 0, rgba(0, 0, 51, 0.3) -1.1em -1.1em 0 0, rgba(0, 0, 51, 0.3) 0 -1.5em 0 0, rgba(0, 0, 51, 0.3) 1.1em -1.1em 0 0;
	  font-size: 50%;
	  width: 1em;
	  height: 1em;
	  margin: 1.5em;
	  overflow: hidden;
	  text-indent: 100%;
	  margin: 48% auto;
}

.editable br {
	display: none;
}

.forbidden {
	background-image: -webkit-linear-gradient(right bottom, #f9f9f9 0%, #f9f9f9 25%, #ccc 25%, #ccc 50%, #f9f9f9 50%, #f9f9f9 75%, #ccc 75%);
	background-size: 50px 50px;
}

.ui-helper-hidden-accessible {
	display: none;
}

.timelineEvent {
	display: inline-block;
	font-family: sans-serif;
	vertical-align: middle;
	width: 15%;
	height: 90%;
	border: 1px solid #bbb;
	padding: 1% 1% 0 1%;
	text-align: center;
	margin-right: 1%;
	overflow-y: auto;
	overflow-x: hidden;
	background-color: #f9f9f9;
	cursor: pointer;
	position: relative;
	white-space: normal;
	overflow: visible;
}

.timelineEvent .titleHeading {
	font-size: 120%;
	line-height: 125%;
	margin: 3% auto 2% auto;
	font-weight: bold;
	text-overflow: ellipsis;
    overflow: visible;
    height: auto;
}

#timeline .timelineEvent .titleHeading {
	overflow: hidden;
	height: 10%;
}


.timelineEvent .dateHeading {
	font-size: 100%;
	line-height: 105%;
	margin: 0 auto 1% auto;
	padding-bottom: 1%;
	font-weight: bold;
}
/*
* {
	-webkit-box-sizing: content-box;
	-moz-box-sizing: content-box;
	box-sizing: content-box;
}

::after, ::before {
	-webkit-box-sizing: content-box;
	-moz-box-sizing: content-box;
	box-sizing: content-box;
}
*/
.nav {
	width: 100%;
	border: solid 1px #bbb;
	margin-bottom: 7%;
	text-align: center;
	cursor: pointer;
	overflow: hidden;
	background-color: #f9f9f9;
	background-color: rgb(240, 240, 240);
	vertical-align: middle;
	display: table;
	height: 10%;
	padding: 0;
}

.nav:hover {
	background-color: #eee;
}

.nav span {
	vertical-align: middle;
	display: table-cell;
}

#inputDiv {
	height: 100%;
	margin-bottom: 1.5%;
	padding: 2px 5px 2px 5px;
	border: 1px solid #bbb;
	display: table-cell;
	overflow-x: scroll;
	background: #ffffff;
	min-height: 84px;
}

#entitiesDiv {
	height: 30%;
	min-height: 84px;
}

#notesDiv {
	min-height: 8%;
}

label {
	width: 18%;
	color: #333;
	font-weight: normal;
	display: table-cell;
	vertical-align: middle;
	border: solid 1px #bbb;
	text-align: center;
}

.entitiesLabel {
	width: 18%;
	color: #bbb;
	font-weight: normal;
	display: table-row;
	vertical-align: middle;
	border: none;
	text-align: left;
	height: 8%;
}

#otherSearch .tt-suggestion {
	font-size: 140% !important;
	cursor: pointer;
}

/* JSON narrative import on the home page. */
#jsonImport {
	margin: 0.5% auto 1.5%;
	text-align: center;
	width: 75%;
}

#jsonImport h2 {
	font-size: 170%;
	margin: 0.4% auto;
}

#json-import-form {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
}

.json-import-title {
	font-size: 150%;
}

#json-narrative-file {
	display: none;
}

.json-file-label {
	display: inline-block;
	margin: 0;
	width: auto;
}

#json-import-status {
	display: inline-block;
	max-width: 240px;
	overflow: hidden;
	text-align: left;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.json-import-help {
	color: #666;
	font-size: 90%;
	margin-top: 5px;
}

/* Wikidata subject fallback shown only when the imported metadata has no subject. */
.json-subject-modal .modal-dialog {
	margin: 12% auto;
	max-width: calc(100% - 30px);
	width: 560px;
}

.json-subject-modal .modal-content {
	margin: 0;
	position: relative;
	width: 100%;
}

.json-subject-modal .twitter-typeahead,
.json-subject-modal .json-subject-search {
	font-size: 16px;
	height: 40px;
	width: 100%;
}

.json-subject-modal .tt-menu {
	max-height: 260px;
	overflow-y: auto;
	text-align: left;
	z-index: 1060;
}

.json-subject-modal .tt-suggestion {
	cursor: pointer;
	font-size: 15px;
	padding: 8px 10px;
}

.personName {
	display: block;
	text-align: center;
	font-weight: 400;
	color: #222;
	font-size: 140%;
	width: 100%;
	text-shadow: 1px 1px 0 rgba(140,140,140,0.6) , -1px -1px 1px rgba(0,0,0,0.67) ;
	color: white;
	position: absolute;
	bottom: 0;
	background: rgba(0,0,0,.4);
	line-height: 300%;
	height: 20%;
}

.personDiv {
	height: 100%;
	max-width: 100%;
	margin-bottom: 3%;
}

h2 {
	text-align: center;
	font-size: 200%;
	line-height: 130%;
	margin: 2% auto;
	white-space: nowrap;
	overflow: hidden;
	color: #bbb;
	width: 100%;
	display: block;
}

h1 {
	text-align: center;
	font-size: 400%;
	line-height: 130%;
	margin: 2% auto;
	white-space: nowrap;
	overflow: hidden;
	color: #bbb;
	width: 100%;
	display: block;
}

#eventTitle {
	color: #222;
	font-size: 200%;
	margin: 3% 0;
	padding: 0;
}

::-webkit-input-placeholder { /* WebKit, Blink, Edge */
    color:    #ccc;
}
:-moz-placeholder { /* Mozilla Firefox 4 to 18 */
   color:    #ccc;
   opacity:  1;
}
::-moz-placeholder { /* Mozilla Firefox 19+ */
   color:    #ccc;
   opacity:  1;
}
:-ms-input-placeholder { /* Internet Explorer 10-11 */
   color:    #ccc;
}

.center {
	height: 98%;
	margin: 0 auto;
}

.table {
	border-collapse: collapse;
	margin-bottom: 2%;
	height: 14.5%;
}

#lang, #home, .top-btn {
	position: fixed;
	top: -1px;
	padding: .4%;
	height: 5%;
	border: solid 1px #bbb;
	cursor: pointer;
	text-align: center;
	max-width: 5%;
	min-width: 80px;
	vertical-align: middle;
}

#lang.long {
	min-width: 16%;
	font-family: "Source Sans Pro", Helvetica, Arial, sans-serif;
	font-size: 1.2em;
	height: 2.2em;
}

#home.long {
	max-width: 5%;
	font-family: "Source Sans Pro", Helvetica, Arial, sans-serif;
	font-size: 1.2em;
}

.nav.long option, #selectDiv {
	font-family: "Source Sans Pro", Helvetica, Arial, sans-serif;
}

#lang:hover, #home:hover {
	background-color: #eee;
}

#lang, .top-btn {
	display: none;
	overflow: hidden;
	right: -1px;
}

#home {
	overflow: hidden;
	left: -1px;
}

body {
	-webkit-user-select: none;     
	-moz-user-select: none;
	-ms-user-select: none;
	-o-user-select: none;
	user-select: none;
}

.editable {
	-webkit-user-select: text;     
	-moz-user-select: text;
	-ms-user-select: text;
	-o-user-select: text;
	user-select: text;
}

#plusButton {
	text-align: center;
	cursor: pointer;
}

#poof {
    cursor:pointer;
    display:none;
    position:absolute;
    height:32px;
    width:32px;
    background: url(https://i.imgur.com/wvPeK.png) no-repeat;
}

#topTitle {
	height: 6%;
	padding: 0;
	position: relative;
	margin-bottom: 0;
	padding-top: .5%;
}

.subjectName {
	color: #222;
	margin-bottom: 0;
	margin-top: 3%;
}

.timeData {
	cursor: pointer;
}

.popover h2 {
	margin-top: 0;
}

.popover {
	max-width: 27%;
	background: #f2f2f2;
}

.popover.right>.arrow:after {
	border-right-color: #f2f2f2;
}

.popover.left>.arrow:after {
	border-left-color: #f2f2f2;
}

.popover.bottom>.arrow:after {
	border-bottom-color: #f2f2f2;
}

.popover.top>.arrow:after {
	border-top-color: #f2f2f2;
}

.popover-title {
	text-align: center;
	border-bottom-color: #ddd;
}

.popoverLabel {
	border: none;
	text-align: left !important;
}

.roleSelect, .typeSelect {
	font-size: 120%;
	text-align: right;
}

.popoverCell {
	text-align: right;
	vertical-align: middle;
	display: table-cell;
	padding: 0;
}

.popoverContent {
	margin: 0;
	padding: 0;
	vertical-align: middle;
	display: table;
	width: 100%;
}

.popoverDiv {
	display: table-row;
	width: 100%;
}

.popoverDesc {
	font-weight: normal;
	font-style: italic;
	font-size: 100%;
	line-height: 13pt;
	margin-top: 2%;
}

hr {
	width: 100%;
	margin: 3% auto;
	border-color: #ddd;
}

#addEntity {
	display: none;
	text-align: center;
	padding-top: 10%;
}

#addEntity select {
	font-size: 200%;
}

#nameInput {
	margin-top: 8%;
	display: inline-block;
}

#nameLabel {
	display: inline-block;
	border: none;
}

.input-append {
	display: inline-block;
	text-align: center;
	margin: 0 auto;
	width: 100%;
	font-size: 17px;
}

.dateDiv {
	display: inline-block;
	width: 48.2%;
	margin-bottom: 2%;
	margin-top: 2%;
}

#periodDiv {
	display: inline-block;
	width: 10%;
	text-align: center;
	vertical-align: middle;
	margin-left: 2%;
	margin-top: 0;
	padding-bottom: 6.2%;
}

#periodCheckbox {
	margin-left: 37%;
	width: 140%;
}

#typeDiv {
	margin-bottom: 3%;
	padding: 0;
}

.dateInput {
	display: inline-block;
	text-align: center ! important;
	margin: 0 auto;
	font-size: 120% !important;
	width: 100%;
}

#datePickerStart {
	margin-right: 2%;
}

#typeInput {
	display: inline-block;
	text-align: center ! important;
	margin: 0 auto;
	font-size: 120% !important;
	width: 100%;
}

.datepicker * {
	font-size: 95% !important;
	color: #333 !important;
}

.glyphicon:hover {
	color: #777 !important;
}

.datepicker .active {
	background-image: none !important;
	background-color: #bbb !important;
}

textarea {
	border: 1px solid #bbb;
	width: 99%;
	height: 100%;
}

#workspace textarea {
	font-size: 17px;
}

input {
	text-align: center;
	border: 1px solid #bbb;	
	width: 100%;
	margin: 0;
}

.tt-menu {
	background-color: white;
	border: 1px solid #ccc;
	text-align: center;
	width: 100%;
}

.tt-suggestion {
	font-size: 100%;
}

.tt-suggestion:hover {
	background-color: #def !important;
}

.twitter-typeahead {
	width: 100%;
	border: 0;
	padding: 0;
}

.upperMargin {
	margin-top: 2%;
}

.lowerMargin {
	margin-bottom: 2%;
}

.popoverCell-button {
	width: 8%;
}

.popoverCell-15 {
	width: 15%;
}

.popoverCell-25 {
	width: 25%;
}

.popoverCell-30 {
	width: 30%;
}

.popoverCell-60 {
	width: 60%;
}

.popoverCell-70 {
	width: 70%;
}

.popoverCell-third {
	padding-left: 5%;
}

.popoverCenter {
	text-align: center;
}

.hidden {
	display: none;
}

.popoverImage {
	align: center;
	width: 200px;
}

.popoverHeading {
	font-style: italic;
	font-weight: normal;
	margin: 0 0 0 0 !important;
}

.popover-title {
	background-color: rgba(240, 240, 240, .5);
}

.popoverButton {
	border: solid 1px #bbb;
	margin: 0 0 0 0 !important;
	padding: 0 !important;
	text-align: center;
	display: none;
}

.headingDiv {
	margin-bottom: 4% !important;
}

#addButton {
	margin: .5% auto 2% auto;
	height: 10%;
	width: 20%;
}

.popoverCell img {
	width: 100px;
}

.deleteButton {
	border: 1px solid #aaa;
	width: 8%;
	position: absolute;
	top: 16%;
	right: 2%;
	color: #444;
	font-size: 110%;
	line-height: 110%;
	display: none;
}



#inputHelp {
	color: #ccc;
	font-size: 18pt;
	margin: 0 auto;
	text-align: center;
}

.eventBottom {
    position: absolute;
    bottom: 0;
    height: 70%;
    width: 90%;
	overflow-y: auto;
}

#controls input {
	width: 99%;
}

#overlay {
	height: 50%;
	width: 100%;
	background-color: white;
	margin-top: 2%;
}

.timelineEvent {
	z-index: 999;
}

.timelineEvent:last-child {
	margin-right: 2.1%;
}

.withArrows .timelineEvent:after, .withArrows .timelineEvent:before {
	bottom: 100%;
	left: 50%;
	border: solid transparent;
	content: " ";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
	z-index: 1000;
}

.withArrows .timelineEvent:after, .withArrows .timelineEvent:before {
	bottom: 0;
	top: 100%;
}

.withArrows .timelineEvent:after {
	border-top-color: rgb(240, 240, 240);
	border-width: 20px;
	margin-left: -20px;
}

.withArrows .timelineEvent:before {
	border-color: rgba(194, 225, 245, 0);
	border-top-color: #aaa;
	border-width: 21px;
	margin-left: -21px;
}

#bottomTimeline {
	width: 100%;
	height: 16%;
	padding-top: 1%;
	overflow-x: scroll;
	white-space: nowrap;
	border: none;
	display: none;
}

#bottomTimeline .timelineEvent {
	display: inline-block !important;
	visibility: visible !important;
	opacity: 1 !important;
	cursor: move;
	height: 70%;
}

.relation {
	display: inline-block;
	font-family: sans-serif;
	height: 50%;
	width: 100%;
	border: 1px solid #bbb;
	border-bottom: 1px solid #bbb;
	vertical-align: top;
	background-color: rgb(248, 248, 248);
}

.partOf {
	display: inline-block;
}

.relation h3 {
	font-size: 130%;
	line-height: 140%;
	margin: 2% auto 2% auto;
	font-weight: bold;
}

.arrow {
	font-size: 150%;
	line-height: 40px;
}

.relHelp {
    display: none;
	white-space: nowrap;
	width: 70%;
	line-height: 40px;
	text-align: center;
	margin: 0 auto;
}

.centered {
	display: block;
	margin: 0 auto;
	width: 800px;
	padding-top: 8%;
}

body .draggableEvent {
	max-height: 100px;
}

#searchInput {
	margin-bottom: 1%;
	display: none;
}

.floating {
	position: absolute;
	padding: 0;
	margin: 0;
	width: 5%;
	height: 5%;
	top: 2%;
	left: 2%;
}

.relContainer {
	display: inline-block;
	width: 17%;
	height: 100%;
	padding: 0 0 0 0;
	margin-right: 1.145%;
	position: relative;
	white-space: normal;
	text-align: center;
}

.relContainer:first-child {
	margin-left: 1.5%;
	border-bottom: none;
}

.relation .timelineEvent {
	width: 80%;
	height: auto !important;
	margin: 1% auto;
	padding-bottom: .5%;
}

.relation .timelineEvent:before {
	content: none;
}

.relation .timelineEvent:after {
	content: none;
}

.relation .timelineEvent .titleHeading, .relation .timelineEvent .dateHeading {
	font-size: 10pt;
}

.relation .timelineEvent .eventBottom {
	display: none;
}

.relation .timelineEvent .dateHeading {
	display: none;
}

.timelineEvent {
	background-color: rgb(240, 240, 240);
}

#auth-div {
	display: none;
	max-width: 340px;
	min-height: 340px;
	display: block;
	position: absolute;
	background-color: rgb(240, 240, 240);
	margin: 0 auto;
	width: 24%;
	
	left: 0;
	right: 0;
	border: solid 1px #bbb;
	padding: 1%;
	top: 20%;
}

#auth-form {
	margin: 0 auto;
	height: 100%;
}

#auth-form * {
	margin: 0 auto;
}

#auth-form h2 {
	margin-top: 3%;
	margin-bottom: 8%;
}

#auth-form input {
	height: 50px !important;
	width: 96%;
	margin-top: 5%;
}

#auth-form button {
	height: 50px !important;
	width: 96%;
	margin-top: 5%;
}

.help-inline {
	margin: 0 auto;
	text-align: center;
	color: #a94442;
}

#user-pass {
	padding-top: 8%;
	text-align: center;
}

.modal-content {
	margin: 0 auto;
	margin-top: 15%;
	width: 40%;
}

.modal-dialog {
	z-index: 1061;
	width: 40%;
}

.modal-title {
	font-size: 180%;
	font-weight: bold;
}

#userMenu:focus {
	outline: 0;
}
#userName{cursor: auto !important}
#userName:active { border-style: outset !important}

.narra-list-item {
	margin: 0 auto;
	vertical-align: middle;
	width: 90%;
	height: 1%;
	cursor: pointer !important;
}

.narra-list-item a:hover, .top-btn:hover {
	background-color: #eee !important;
}

.narra-list-item a {
	height: 10%;
	width: 100%;
	line-height: 200% !important;
	cursor: pointer !important;
}

.top-btn {
	z-index: 200;
	border: solid 1px #bbb !important;
	background-color: rgb(240, 240, 240) !important;
	border-radius: 0 !important;
	color: #333 !important;
	height: 4.5% !important;
}

.dropdown {
	top: -2.7%;
}

.dropdown-menu {
	z-index: 100;
	background-color: rgb(240, 240, 240);
	width: 22%;
	max-width: 300px;
}

.dropdown-header {
	font-size: inherit !important;
}

.nav.long option, #selectDiv {
	font-family: "Source Sans Pro", Helvetica, Arial, sans-serif;
}

#lang:hover, #home:hover {
	background-color: #eee;
}

#lang, .top-btn {
	overflow: hidden;
	/*border-right: none;*/
	right: -1px;
}

#home {
	overflow: hidden;
	/*border-left: none;*/
	left: -1px;
}

#userDBs {
	-ms-overflow-style: auto | none | scrollbar | -ms-autohiding-scrollbar;
	height: 8% !important;
	vertical-align: top;
	position: absolute;
	bottom: 1%;
	width: 96%;
	display: none;
	text-align: center;
	overflow-x: auto;
	overflow-y: hidden;
	white-space: nowrap;
}

#userDBs {overflow:auto !important} 

.userDB {
	line-height: 30px !important;
	height: 30px !important;
}

#results {
	display: block;
	margin: 0 auto;
	width: 100%;
	height: 0;
	text-align: center;
	margin-top: 5%;
	white-space: nowrap
}
