:root {
  /* --main-bg-color: #E48400;
  --highlight-bg-color: #E44400;
  --main-font-color: #4b4b4b;
  --main-link-color: #E48400;/* purple #581845;*/
  --main-linkActive-color: #E48400;
  --border-radius: 5px; */

  --main-bg-color: #e9ddcf;
  --highlight-bg-color: #E44400;
  --main-font-color: #4b4b4b;
  --main-link-color: #E48400;/* purple #581845;*/
  --main-linkActive-color: #E48400;
  --border-radius: 5px;
}

html {
  scroll-behavior: smooth;
}

body {
  color: var(--main-font-color);
  box-sizing: border-box;
  background-color: #fafafa;
  padding: 0;
  margin: 0;
  font-family: "CMUSerifRoman", Georgia;
}

#coffee-wrapper {
  position: absolute;
  top: 0;
  right: 0;
  padding: 1rem;
  z-index: 1000;
}

.overlayed {
  opacity: .5;
}

#overlay {
  background-color: rgba(75,75,75, .3);
  width: 100vw;
  height: 100vh;
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 200;
}

a {
  text-decoration: none;
  color: var(--main-link-color);
}

a:hover, a:focus, a:active {
  color: var(--main-linkActive-color);
}

button {
  background-color: var(--main-bg-color);
  padding: 1em 2em;
  margin: 1em auto;
  color: var(--main-linkActive-color);
  cursor: pointer;
  font-weight: bold;
  border: 3px solid var(--main-linkActive-color);
  display: block;
  box-sizing: border-box;
  font-size: 1em;
  line-height: 2em;
}

button:hover, button:active, button:focus {
  background-color: var(--highlight-bg-color);
  color: #fff;
  border: 3px solid var(--highlight-bg-color);
}

ul {
  list-style-type: none;
  padding: 0;
  margin: 0 auto;
}

li {
  margin: 1em 0;
}

.user-list li {
  line-height: 1.2rem;
}


label {
  width: 100%;
  font-weight: bold;
  display: block;
  text-align: center;
  box-sizing: border-box;
  line-height: 2.5em;
}

input[type='text'], input[type='password'], input[type='number'], select, textarea {
  width: 600px;
  max-width: 100%;
  margin: auto;
  display: inline-block;
  box-sizing: border-box;
  padding: 1em;
  font-size: 1em;
  line-height: 2em;
  border: 1px solid #4b4b4b;
  background-color: #fff;
}

.inline_button {
	font-size: 1rem;
	padding: 5px 10px;
	margin: 0 5px;
	color: var(--main-font-color);
	background-color: #fff;
	line-height: 1rem;
	border-radius: var(--border-radius);
	display: inline-block;
	transition: background-color linear 0.2s;
	border: 1px solid #4b4b4b;
}

.inline_button:hover, .inline_button.active {
	background-color: #4b4b4b;
	color: #fff;
	cursor: pointer;
}

.inline_button a {
  color:inherit;
}

.ref-comment-content {
  padding: 1rem;
  border-radius: var(--border-radius);
  border: 1px solid #4b4b4b;
  margin-top: 1rem;
}

#reference_diskussion {
  display: none;
}

textarea {
  vertical-align: top;
}

textarea:hover, textarea:active, textarea:focus, select:hover, select:active, select:focus {
  border: 1px solid var(--main-link-color);
}

section {
  width: 100%;
  padding: 2em;
  background-color: white;
  box-sizing: border-box;
  margin: 2em auto;

}

.link_button {
  background-color: white;
  padding: 1em 2em;
  margin: 1em auto;
  color: var(--main-link-color);
  cursor: pointer;
  font-weight: bold;
  border: 2px solid var(--main-link-color);;
  display: block;
  box-sizing: border-box;
  font-size: 1em;
  line-height: 2em;
}

.link_button:hover, .link_button:active, .link_button:focus {
  background: white;
  color: var(--highlight-bg-color);
  border: 2px solid var(--highlight-bg-color);
}


#index_title {
  font-size: 4em;
  height: 40vh;
  box-sizing: border-box;
  border: 1px solid #fafafa;
  position: relative;
}

#index_title h1 {
  position: absolute;
  bottom: 0;
  left: 50%;
  margin: 0;
  transform: translate(-50%,0%);
}

#index_background {
  width: 50%;
  height: 100%;
  position: absolute;
  top: 10%;
  bottom: 0%;
  left: 50%;
  transform: translate(-50%, 0);
  z-index: -10;
  background: repeating-linear-gradient(#fafafaeee, #fafafaeee 20px, rgba(204,204,204,.5) 20px, rgba(204,204,204,.5) 40px);
}

.intext_highlight {
  color: var(--main-link-color) !important;
}

#email_reminder {
  text-align: center;
}

#email_reminder input {
  display: inline;
  width: 600px;
  max-width: 100%;
}

#email_reminder button {
  display: inline;
}

#project_new_wrapper {
  background-color: var(--main-font-color);
  color: #fafafa;
  font-size: 1.5rem;
  padding: 5rem 0;
  text-align: center;
  width: 100%;
  box-sizing: border-box;
  position: relative;
}
#project_new_wrapper h1 {
  color: var(--main-bg-color);
  text-align: center;
}

#project_new_wrapper > div {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

#ref_new_wrapper {
  background-color: var(--main-bg-color);
  color: black;
  /* #fafafa; */
  text-align: left;
  width: 100%;
  box-sizing: border-box;
  position: fixed;
}

#ref_new_wrapper.header_expanded {
  height: auto !important;
}
#ref_new_wrapper h1 {
  color: var(--main-bg-color);
  text-align: center;
}

#ref_new_wrapper input {
  display: inline;
  width: 300px;
  max-width: 100%;
}

#ref_new_wrapper button {
  display: inline;
}

#ref_settings_wrapper {
  padding: 1em;
  box-sizing: border-box;
  width: 960px;
  margin: auto;
  text-align: left;
}

#action_wrapper {
  padding: 1em 0;
  box-sizing: border-box;
}

#action_wrapper a {
  position: relative;
}

#index_project_wrapper {
  background-color: var(--main-font-color);
  color: #fafafa;
  padding: 2em;
  text-align: center;
  position: absolute;
  width: 100%;
  top: 50%;
  transform: translate(0, -50%);
}

#index_project_wrapper h1 {
  color: var(--main-bg-color);
  text-align: center;
}

#content_wrapper {
  width: 960px;
  margin: auto;
  padding: .5rem;
  padding-top: 100px;
  box-sizing: border-box;
}

.project {
  width: 100%;
  text-align: left;
  font-size: 1em;
  padding: 1rem;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  position: relative;
}

.project::after {
  content: '';
  position: relative;
  top: -100px;
  width: 100px;
  height: 20px;
  border-top: 2px solid black;
  border-left: 2px solid black;
}

.project_title {
  font-size: 2rem;
  color: var(--main-link-color);
  display: inline;
}

.project_author {
  display: inline;
}

#project_actionbar {
  position: absolute;
  right: 0;
  top: 100%;
  transform: translate(0, -50%);
  font-size: 1.2rem;
}

.actionbar_big {
  font-size: 3rem;
}

#project_actionbar div {
  background-color: var(--main-font-color);
  border: 3px solid #fafafa;
  padding: 1rem;
  border-radius: 50%;
  display: inline;
}

#project_actionbar div:hover, #project_addbar div:hover {
  color: var(--main-link-color) !important;
  cursor: pointer;
}

.filter_wrapper {
  color: #4b4b4b !important;
  display: none;
  position: absolute;
  top: calc(100% + 10px);
  left: 0;
  width: 200px;
  min-height: 100px;
  max-height: 300px;
  overflow: auto;
  padding: 0.2rem;
  border: 1px solid #4b4b4b;
  border-radius: var(--border-radius);
  background-color: #fff;
  z-index: 100;
}

#filter_authors div {
  margin: 0 0.2rem;
  padding: 0.2rem;
}

#filter_authors div:hover {
  background-color: #eee;
  border-radius: var(--border-radius);
}

#project_addbar {
  color: var(--main-font-color);
  position: absolute;
  left: 50%;
  top: 0%;
  transform: translate(-50%, 0%);
  font-size: 2rem;
  display: flex;
  flex-wrap: nowrap;
  flex-direction: row;
  align-items: center;
  justify-content: center;
}

#project_addbar div {
  /* background-color: var(--main-font-color); */
  /* border: 3px solid #fafafa; */
  width: 100px;
  height: 100px;
  background-color: grey;
  /* border-radius: 50%; */
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}

#project_addbar div:before {
  content:"";
  width:calc(100% - 2px / 2);
  position:absolute;
  height:calc(100% - 10px * 2 - 2px);
  left:0;
  right:0;
  margin:auto;
  box-shadow: -1px 0 0 black, 1px 0 0 black;
/*   border-right:var(--border-size) solid black;
  border-left:var(--border-size) solid black; */
}

#project_addbar div:after {
  content:"";
  height:calc(100% - 2px / 2);
  position:absolute;
  width:calc(100% - 10px * 2 - 2px);
  top:0;
  bottom:0;
  margin:auto;
  box-shadow: 0 -1px 0 black, 0 1px 0 black;
}

#details_wrapper .details_navigation{
  display: flex;
  flex-wrap: nowrap;
  flex-direction: row;
}

.ref_wrapper{
  background-color: white;
  width: 100%;
  padding: 1em;
  box-sizing: border-box;
  transition: box-shadow linear 0.2s;
}

.ref_wrapper:hover {
  box-shadow: 0 0 5px 5px #4b4b4b;
}

.ref_navicons {
  display: flex;
  flex-direction: row;
  justify-content: center;
  width: 100%;
  font-size: 1.1rem;
  margin-top: 0.5rem;
}

.ref_navicons i {
  margin: 0 0.5rem;
}

.ref_navicons a {color: #4b4b4b;}
.ref_navicons a:hover {color: var(--main-bg-color); cursor: pointer;}

.ref_details {
  width: 100%;
  position: relative;
}

/* .ref_details:after {
  content  : "";
  position : absolute;
  z-index  : 1;
  bottom   : 0;
  left     : 0;
  pointer-events   : none;
  background-image : linear-gradient(to bottom,
                    rgba(255,255,255, 0),
                    rgba(255,255,255, 1) 90%);
  width    : 100%;
  height   : 4em;
} */

.ref_date {
  font-size: 0.8em !important;
  width: 100%;
  margin-bottom: -1em;
}

.ref_date ul {
  display: flex;
  justify-content: space-between;
}

.ref_title {
  font-size: 1.2rem;
  font-weight: 900;
  margin: 0.5rem 0;
}

.ref_author {
  white-space: nowrap;
  line-height: 1rem;
  font-style: italic;
  overflow: hidden;
  text-overflow: ellipsis;
}

.index_list {
  padding: 1em;
}

.index_list h3{
  font-size: 3em;
  width: 100%;
}

.addon_wrapper {
  display: none;
  position: absolute;
  top: 100px;
  left: 50%;
  padding: 1rem;
  box-sizing: border-box;
  transform: translate(-50%, 0%);
  max-width: 100%;
  max-height: 100%;
  width: 960px;
  z-index: 300;
  background-color: #fff;
  border: 1px solid #4b4b4b;
}

#collaboration_wrapper {
  font-size: 1rem;
}

#collaboration_wrapper li{
  line-height: 1rem;
  margin: 0;
}

#ref_expand {
  width: 100%;
  text-align: center;
  font-size: 1.3em;
}


#footer {
  height: 2.5em;
  width: 100%;
  text-align: center;
  color: #aaa;
  position: relative;
  bottom: 0;
}

#footer ul {
  list-style-type: none;
  padding: 0;
  margin: 0;
}

#footer li {margin: 0 1em; display: inline;}

#cookieBox {
  display: none;
  position: fixed;
  bottom: 1vw;
  left: 1vw;
  padding: 2em 12em 2em 1em;
  width: 40vw;
  border: 2px solid #ddd;
  box-shadow: 0px 0px 10px 10px #fafafa;
  box-sizing: border-box;
  background-color: #fff;
  z-index: 1000;
}

#cookieBox button {
  width: 10em;
  display: block;
  position: absolute;
  top: 50%;
  right: 1vw;
  transform: translate(0,-50%);
  box-sizing: border-box;
  margin: 0 !important;
}


@media only screen and (max-width: 960px) {
  #content_wrapper, #footer, #ref_settings_wrapper {
    width: 100%;
  }
}
