/* COLORS */
:root {
--html-background: #f6f6f6;
--html-color: #000;

--style_title: #A71C49;

--header-background: rgba(0,99,166,0.1);
--header-color: rgba(0,99,166,1);
--header-h1: #A71C49;
--header-h1-a: rgba(0,99,166,1);
--header-h1-year: #004e82;

--menu-background: rgba(0,99,166,0.1);
--menu-button-background: rgba(0,99,166,1);
--menu-button-background-hover: rgba(0,99,166,0.5);
--menu-button-color: #ffffff;

--content-background: #ffffff;
--content-border: rgba(0,99,166,0.1);
--content-gradient: rgba(0,99,166,0.1);
--content-gradient-width: 20px; 
--content-shadow: 2px 2px gray;
--content-article: #7ba7bc;
--content-article-a: rgba(0,99,166,1);
--content-article-a-hover: rgba(0,99,166,0.5);
--content-h3: rgba(0,99,166,1);

--dsgvo-background: #fdedec;
--dsgvo-border: #cb4335;

--style_input-background: rgba(255, 255, 255, 0.6);
--style_input-border: #ffffff;
--style_question: #000;

--focus-background: rgba(0,99,166,1);
--focus-color: #fff;

--error: red;
}
/* -------------------------------- */

.dsgvo {
  background-color: var(--dsgvo-background);
  border:1px solid var(--dsgvo-border);
  border-radius:5px;
  text-align:center;
}

.err {
  font-size:12pt;
  color: var(--error);
}

.submit {
  font-size:14pt;
  border-radius:6px;
  font-weight:bold;
}

.style_comment {
  font-style: italic;
  font-size: 80%;
  padding-left:20px;
}

.style_input {
  background-color: var(--style_input-background);
  border-radius:10px;
  border:2px solid var(--style_input-border)
  padding:10px;
  width:100%;
  opacity: 1;
}

.style_title {
  color: var(--style_title);
  font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;
  padding-top:15px;
  font-size:16pt;
  font-weight:bold;
}

.style_select {
  padding:5px;
  border-radius:0px;
  width:97%;
  font-weight:bold;
}

.style_text {
  padding:5px;
  border-radius:2px;
  width:97%;
  font-weight:bold;
}

.style_textarea {
  font-family: sans-serif;
  padding:5px;
  border-radius:0px;
  width:97%;
  font-weight:bold;
  font-size:10pt;
}

.style_longtext {
  font-family: sans-serif;
  padding:5px;
  border-radius:0px;
  width:97%;
  font-weight:bold;
  font-size:10pt;
  height:300px;
}

.style_text:focus{background-color:var(--focus-background);color:var(--focus-color);}
.style_select:focus{background-color:var(--focus-background);color:var(--focus-color);}
.style_textarea:focus{background-color:var(--focus-background);color:var(--focus-color);}
.style_longtext:focus{background-color:var(--focus-background);color:var(--focus-color);}
.style_question {
  color:var(--style_question);
  font-size:10pt;
  font-family: Sans-serif;
  padding-top:5px;
}

html {
  background-color: var(--html-background);
  color: var(--html-color);
  font-size: 13pt;
}
@media (max-width: 700px) {
  html {
    font-size: 12pt;
  }
}
body {
/*  display: flex; */
/*  flex-direction: column; */
  font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;
  max-width: 940px;
  min-height: 100vh;
  margin: 0 auto;
  padding: 0 0px;
}
/* the S-header */
header.s-header {
  background-color: var(--header-background);
  background-size: 29% auto;
  background-image: url(https://www.univie.ac.at/projektservice-mathematik/e/dateien/Uni_Logo_2016.png);
  background-repeat: no-repeat;
  background-position: right center;
	 font-family: Arial, Helvetica, sans-serif;
  color: var(--header-color);
  display: flex;
  align-items: flex-end;
  font-weight: bold;
  margin-top: 20px;
  padding-left: 2rem;
  padding-right: 2rem;
  padding-top: 20px;
  padding-bottom: 20px;
}
@media (max-width: 700px) {
  header.s-header {
    flex-direction: column;
    align-items: flex-start;
  }
}
@media (max-width: 940px) {
  header.s-header {
    margin-top: 0px;
  }
}
header.s-header h1 {
  color: var(--header-h1);
  font-size: 4rem;
  margin: 0;
}
@media (max-width: 360px) {
  header.s-header h1 {
    font-size: 2.2rem;
  }
}
header.s-header h1 a {
  color: var(--header-h1-a);
  text-decoration: none;
}
header.s-header h1 .year {
  color: var(--header-h1-year);
}
header.s-header div.subheader {
  font-size: 0.8rem;
  margin-bottom: 0px;
  margin-left: 15px;
height:80px;
}
@media (max-width: 360px) {
  header.s-header div.subheader {
    font-size: 0.6rem;
  }
}
@media (max-width: 360px) {
  header.s-header div.subheader {
    margin-left: 5px;
  }
}
header.s-header div.subheader p {
  margin: 0;
}
header.s-header div.subheader p#subtitle {
  font-size: 1.2rem;
}
@media (max-width: 360px) {
  header.s-header div.subheader p#subtitle {
    font-size: 0.8rem;
  }
}
/* the menu */
nav {
  font-size: 1rem;
background-color: var(--menu-background);
padding-bottom:22px;

}
@media (max-width: 360px) {
  nav {
    font-size: 0.8rem;
    padding-top: 1rem;
  }
}
@media  (max-width: 700px) {
  nav {
    margin-bottom: 1em;
  }
}
nav input.trigger {
  position: absolute;
  top: -9999px;
  left: -9999px;
}
nav input.trigger:checked ~ ul,
nav input.trigger:checked ~ ul li ul {
  display: block !important;
}
@media (min-width: 700px) {
  nav input.trigger:checked ~ ul,
  nav input.trigger:checked ~ ul li ul {
    /* older flexbox */
    display: -webkit-box;
    display: -moz-box;
    display: box;
    -webkit-box-orient: horizontal;
    -moz-box-orient: horizontal;
    box-orient: horizontal;
    /* newer flexbox */
    display: flex;
    flex-direction: row;
  }
}
nav label {
  position: relative;
  display: block;
  min-height: 2em;
  padding: .45em;
  font-size: 1.1em;
  margin: 0;
  margin-top: -60px;
  cursor: pointer;
  line-height: 2em;
  color: #ffffff;
}
nav label:after {
  position: absolute;
  right: 1em;
  top: .2em;
  content: "\2261";
  font-size: 1.8em;
  color: #7ba7bc;
}
nav ul {
  display: none;
  list-style: none;
  padding: 0px;
  margin-bottom: 0px;
  margin-left: 0rem;
  margin-right: 0rem;
  margin-top: 0px;
}
@media  (max-width: 700px) {
  nav ul {
    margin-top: 1em;
  }
}
nav ul li a {
text-align:center;
  background: var(--menu-button-background);
  color: var(--menu-button-color);
  display: block;
  text-decoration: none;
  white-space: nowrap;
}
nav ul li a:hover {
  background: var(--menu-button-background-hover);
}
@media  (max-width: 700px) {
  nav ul li ul {
    margin-left: 0rem;
    margin-top: 0;
  }
}
@media (min-width: 700px) {
  nav label {
    display: none;
  }
  nav > ul > li {
    border-right: 1px solid #e6e6e6;
  }
  nav > ul > li:last-of-type {
    border-right: 0px;
  }
  nav ul {
    /* older flexbox */
    display: -ms-flexbox;
    flex-direction: -ms-row;
    display: -webkit-box;
    display: -moz-box;
    display: box;
    -webkit-box-orient: horizontal;
    -moz-box-orient: horizontal;
    box-orient: horizontal;
    /* newer flexbox */
    display: flex;
    flex-direction: row;
  }
  nav ul li {
    position: relative;
    text-align: center;
    /* older flexbox */
    -ms-flex: 1;
    -webkit-box-flex: 1;
    -moz-box-flex: 1;
    box-flex: 1;
    /* newer flexbox */
    flex: 1;
  }
  nav ul li:hover > ul {
    display: block !important;
  }
  nav ul li:last-of-type ul {
    width: auto;
  }
  nav ul li:last-of-type li {
    text-align: right;
    margin-right: 2rem;
  }
  nav ul li a {
    padding-left: 0px;
  }
  nav ul li ul {
    display: none !important;
    position: absolute;
    width: 100%;
    margin: 0;
    right: 0;
    z-index: 200;
  }
  nav ul li ul li {
    text-align: center;
  }
}
/* the main content */
main.content {
  background-color: var(--content-background);
  background-image: linear-gradient(to right, var(--content-gradient), white);
  background-size: var(--content-gradient-width) 100%;
  background-repeat: no-repeat;
  border: 1px solid var(--content-border);
  box-shadow: var(--content-shadow);
  display: flex;
  flex: 1;
  flex-direction: column;
  margin-top: 0.5rem;
  padding-bottom: 1rem;
  padding-left: 2rem;
  padding-right: 2rem;
  padding-top: 2rem;
}
@media  (max-width: 700px) {
  main.content {
    padding-top: 1%;
  }
}
main.content article > header {
  color: var(--content-article);
  font-size: 1.6em;
  font-weight: bold;
  position: relative;
  top: -0.25em;
  text-transform: uppercase;
}
main.content article > header.hide {
  display: none;
}
@media  (max-width: 700px) {
  main.content article > header {
    display: block;
  }
}
main.content article > header h2 {
  font-size: 1.5rem;
  margin-top: 0.6rem;
  margin-bottom: 0.6rem;
}
main.content article section {
  font-size: 0.8rem;
}
main.content article section a {
  color: var(--content-article-a);
  text-decoration: none;
}
main.content article section a:hover {
  color: var(--content-article-a-hover);
}
main.content article section h3 {
  color: var(--content-h3);
  font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;
  font-size: 1.0rem;
  font-weight: bold;
  margin-top: 1.4em;
  margin-bottom: 0.6em;
}
/*
main.content article section h3::after {
  content: ":";
}
*/

main.content article section img.frontpage {
  display: block;
  width: 60%;
}
@media  (min-width: 700px) {
  main.content article section img.frontpage {
    float: right;
    padding-left: 10px;
    width: 300px;
  }
}
/* sticky footer */
footer {
  font-size: 0.6rem;
  margin-left: 2rem;
  margin-right: 2rem;
  position: fixed; 
  left: 0px; 
  bottom: 0px; 
  text-align:left;
}

/* ticker news (see https://codepen.io/lewismcarey/pen/GJZVoG) */

@-webkit-keyframes ticker {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    visibility: visible;
  }
  100% {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}
@keyframes ticker {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    visibility: visible;
  }
  100% {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}
.ticker-wrap {
  overflow: hidden;
  padding-left: 100%;
  margin-bottom: 0.0em;
  box-sizing: content-box;
}
.ticker-wrap .ticker {
  display: inline-block;
  white-space: nowrap;
  padding-right: 100%;
  box-sizing: content-box;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  -webkit-animation-timing-function: linear;
  animation-timing-function: linear;
  -webkit-animation-name: ticker;
  animation-name: ticker;
  -webkit-animation-duration: 30s;
  animation-duration: 30s;
}
.ticker-wrap .ticker__item {
  display: inline-block;
  padding: 0 2rem;
  font-size: 1em;
  color: black;
}

