html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}

:focus {
  outline: 0;
}

/* END RESET */

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  src: local(''),
       url('fonts/inter-v12-latin-500.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('fonts/inter-v12-latin-500.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 800;
  src: local(''),
       url('fonts/inter-v12-latin-800.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('fonts/inter-v12-latin-800.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

@keyframes button-hover {
  0% {
    transform: scale(1);
    box-shadow: 0px 0px 0px 0px #000;
  }
  100% {
    transform: scale(1.1);
    box-shadow: 10px 10px 20px -15px #000;
  }
}

@keyframes roll-in {
  0% {
    transform: scale(1, 0);
  }
  100% {
    transform: scale(1, 1);
  }
}

body {
  font-family: "Inter", sans-serif;
  font-weight: 500;
  font-size: 16px;
  line-height: 140%;
  color: #333;
}

body:after {
  content: " ";
  width: 100vw;
  height: 100vh;
  position: fixed;
  bottom: -5vh;
  left: -4vw;
  background-image: url('../images/liquidfeedback-plus.svg');
  background-repeat: no-repeat;
  background-position: bottom left;
  background-size: 20%;
  opacity: 10%;
  z-index: -1;
  transform: rotate(-2.5deg);
}

.header-main-inner,
.header-lang-chooser-inner,
.container {
  max-width: min(100vw - 6em, 1040px);
  margin: 0 auto;
}

header {
  margin-bottom: 5vw;
  position: fixed;
  top: 0;
  width: 100%;
  background: rgb(76,175,80);
  z-index: 1;
}

.header-main {
  color: #fff;
  box-shadow: 0 0 20px 0px #ccc;
}

.header-main-inner {
  padding: 2ex 0px;
}

header .logo {
  vertical-align: top;
}

header .logo img {
  height: 3.5ex;
  margin-left: -1px;
  margin-top: 4px;
}

header nav {
  display: inline-block;
  font-size: 85%;
  font-family: "Inter", sans-serif;
  font-weight: 400;
  line-height: 300%;
}

header .home {
  vertical-align: middle;
  margin-bottom: 4px;
}

header path {
  fill: #fff;
}

header nav a,
header nav span {
  color: #fff;
  margin-right: 1em;
  text-decoration: none;
  cursor: pointer;
}

header nav span {
  margin-right: calc(1em - 10px);
}

header nav a:last-child {
  margin-right: 0;
}

header nav .dropdown {
  display: inline-block;
  position: relative;
}

header nav .dropdown .arrow {
  margin-left: -3px;
  vertical-align: middle;
}

header nav .dropdown-content {
  display: none;
  position: absolute;
  z-index: 1;
  background: #fff;
  margin-left: -1em;
  box-shadow: 4px 4px 20px -8px #000;
  border: 1px solid #DFF2E0;
  border-radius: 8px;
  text-transform: none;
  line-height: 200%;
}

header nav .dropdown-en-software .dropdown-content {  min-width: 13em; }
header nav .dropdown-en-use-cases .dropdown-content { min-width: 17em; }
header nav .dropdown-en-services .dropdown-content {  min-width: 12em; }
header nav .dropdown-en-resources .dropdown-content { min-width: 9em; }

header nav .dropdown-de-software .dropdown-content {  min-width: 13em; }
header nav .dropdown-de-use-cases .dropdown-content { min-width: 20em; }
header nav .dropdown-de-services .dropdown-content {  min-width: 12.5em; }
header nav .dropdown-de-resources .dropdown-content { min-width: 9em; }

header nav .dropdown-es-software .dropdown-content {  min-width: 19em; }
header nav .dropdown-es-use-cases .dropdown-content { min-width: 15em; }
header nav .dropdown-es-services .dropdown-content {  min-width: 12em; }
header nav .dropdown-es-resources .dropdown-content { min-width: 10em; }


header nav .dropdown-content a {
  display: block;
  padding: 0.66ex 1em;
  margin: 0;
  color: #000;
}

header nav .dropdown-content a:last-child {
  border: none;
}

header nav .dropdown-content a:hover {
  color: rgb(76,175,80);
}

header nav .dropdown-content a:hover:first-child {
  border-radius: 8px 8px 0 0;
}

header nav .dropdown-content a:hover:last-child {
  border-radius: 0 0 8px 8px;
}

header nav .dropdown:hover .dropdown-content {
  display: block;
  transform-origin: top;
  animation: roll-in 0.3s;
}

header nav .dropdown:focus .dropdown-content {
  display: block;
  transform-origin: top;
  animation: roll-in 0.3s;
}

#nav_wrap {
  float: right;
}

.nav_button {
  display: none;
}


.header-lang-chooser-inner {
  position: absolute;
  width: 100%;
  text-align: right;
  margin-left: auto;
  margin-right: auto;
  left: 0;
  right: 0;
  margin-top: 1ex;
}

.header-lang-chooser a {
  font-family: "Inter", sans-serif;
  font-size: 85%;
  font-weight: 400;
  margin-left: 1em;
  color: #000;
  text-decoration: none;
}

.header-lang-chooser a:hover {
  border-bottom: 1px solid #aaa;
}

.header-lang-chooser a.newsletter {
  display: inline-block;
  background: rgb(76,175,80);
  color: #fff;
  padding: 0 0.5em;
  line-height: 150%;
  font-family: "Inter";
  font-weight: 400;
  border-radius: 12px;
  margin-right: 0;
  margin-left: 1em;
}

.header-lang-chooser a.newsletter:hover {
  border-bottom: none;
}

.page {
  position: relative;
  margin-top: 150px;
}

.container .hidden {
  display: none;
}

.container {
  width: 100%;
  display: grid;
}

.container-centered {
  margin-top: 15vh;
  margin-bottom: 10vh;
  text-align: center;
}

.container-centered h1 {
  font-size: 320%;
}

.container-centered p {
  font-size: 120%;
  line-height: 150%;
}

.container-centered .buttons {
  margin-top: 4ex;
}


.container-60_40 {
  grid-template-columns: 60% 40%;
}

.container-50_50 {
  grid-template-columns: 50% 50%;
}

.container-40_60 {
  grid-template-columns: 40% 60%;
}


.container-left .img-big {
  width: 90%;
}

.container-left .img-big:first-child {
  border-top-right-radius: 4ex;
}

.container-left .img-big:last-child {
  border-bottom-right-radius: 4ex;
}

.container-right .img-big {
  width: 100%;
  margin-bottom: 5ex;
}

.container-right .img-big:first-child {
  border-top-left-radius: 4ex;
}

.container-right .img-big:last-child {
  border-bottom-left-radius: 4ex;
}

.container-four-pillars {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
}

.container-four-pillars > div {
  border: 2px solid rgb(76,175,80);
  border-radius: 10px;
  padding: 10px 15px;
  background: #fff;
}

.container-four-pillars > div > div:first-child {
  font-size: 100%;
  font-weight: 800;
  background: rgb(76,175,80);
  line-height: 166%;
  height: 3ex;
  width: 3ex;
  text-align: center;
  border-radius: 1.5ex;
  color: #fff;
}

.container-four-pillars > div > h3 {
  color: rgb(76,175,80);
  line-height: 200%;
  font-weight: 400;
}

.container-four-pillars > div > :last-child {
  font-size: 80%;
  line-height: 133%;
}

.container-matrix {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
}

.container-matrix p {
  font-size: 80%;
  line-height: 133%;
}

.container-grey {
  position: relative;
}

.container-grey .angle-bg {
  position: absolute;
  top: -30%;
  left: 0;
  bottom: -30%;
  right: 0;
  overflow: hidden;
}

.container-grey .angle-bg:before {
  position: absolute;
  top: 10%;
  left: -10%;
  width: 120%;
  height: 80%;
  content: " ";
  background: #DFF2E0;
  transform: rotate(-2.5deg) ;
  z-index: -1;
  border-top: 5px solid rgb(76,175,80);
  border-bottom: 15px solid rgb(76,175,80);

}

table {
  border-collapse: separate;
}

tr > * {
  width: 25%;
}

th, td {
  border-bottom: 1px solid #ccc;
  padding: 5px;
}

tr:first-child th {
  border-bottom: none;
  padding-bottom: 0;
}

tr:nth-child(2) th,
tr:nth-child(2) td {
    border-bottom: none;
  padding-top: 0;
}

th:first-child {
  text-align: left;
}

td {
  text-align: center;
  font-size: 80%;
  line-height: 133%;
}

td.checked span {
  background: rgb(76,175,80);
  color: #fff;
  font-size: 133%;
  font-weight: 800;
  border-radius: 100%;
  height: 2ex;
  width: 2ex;
  display: inline-block;
  line-height: 95%;
}

.head_green {
  color: #4CAF50;
}

h1 {
  font-family: "Inter", sans-serif;
  font-weight: 800;
  font-size: 225%;
  line-height: 115%;
  margin-bottom: 1ex;
  color: #444;
}

h1.centered {
  text-align: center;
  margin-bottom: 3ex;
}

h2 {
  font-family: "Inter", sans-serif;
  font-weight: 800;
  font-size: 166%;
  line-height: 120%;
  margin-top: 4ex;
  margin-bottom: 1ex;
  color: #444;
}

h2:first-child {
  margin-top: 0;
}

h3 {
  font-family: "Inter", sans-serif;
  font-weight: 800;
  color: #333;
}

p {
  margin-bottom: 1ex;
}

p.icon {
  padding-left: 35px;
}

p.icon svg {
  float: left;
  margin-top: 3px;
  margin-left: -35px;
}

ul {
  list-style-type: disc;
  margin-left: 2em;
  margin-bottom: 1ex;
}

strong {
  font-weight: 600;
  color: #222;
}  

small {
  font-size: 80%;
}

.container-specialtext h1 {
  margin-bottom: 0;
}

.container-specialtext h1 + h2 {
  margin-top: 0;
}

.container-specialtext h2 {
  margin-top: 2ex;
}

.avoidbreak {
  display: inline-block;
}

.container-60_40 .container-left h1,
.container-60_40 .container-left h2,
.container-60_40 .container-left p,
.container-60_40 .container-left form {
  width: 80%;
}

.container-50_50 .container-left p {
  width: 90%;
}

.container a {
  color: #000;
  text-decoration: none;
  border-bottom: 1px solid #888;
}

.product_links a {
  display: inline-block;
  font-size: 133%;
  font-weight: 800;
  text-decoration: none;
  color: #fff;
  background: rgb(76,175,80);
  border: 3px solid rgb(76,175,80);
  padding: 5px;
  border-radius: 10px;  
}



.container form input[type="text"],
.container form input[type="email"],
.container form textarea {
  display: block;
  width: calc(100% - 2em - 2px);
  padding: 0 1em;
  border: 1px solid #777;
  border-radius: 12px;
  font-family: "Inter", sans-serif;
  font-size: 100%;
  font-weight: 400;
  background: #fff;
  color: #000;
  line-height: 250%;
  margin-bottom: 1ex;
}

.container form p {
  margin: 2ex 0;
  width: 100% !important;
}

.container form p.small {
  font-size: 75%;
  font-weight: 300;
  line-height: 120%;
  margin-bottom: 0.1ex;
}

.container form p.small,
.container form p.small a {
  color: #666;
}

.container form .error,
.container form .error strong {
  color: #f00;
  font-weight: 300;
}

.container form .error input {
  border-color: #000;
  box-shadow: 0 0 2px 2px #f00;
}

.container form input.important_field {
  display: none;
}

.container #form.sent form {
  display: none;
}

.container #form .form_ok {
  display: none;
}

.container #form.sent .form_ok {
  display: block;
}

.container button,
.container a.btn,
.container form input[type="submit"] {
  display: inline-block;
  border: 0;
  border-radius: 24px;
  font-family: "Inter", sans-serif;
  font-size: 100%;
  font-weight: 400;
  color: rgb(76,175,80);
  cursor: pointer;
  text-align: left;
  margin-right: 1em;
  margin-bottom: 1ex;
  line-height: 120%;
}

.container button.btn-primary,
.container a.btn-primary,
.container form input[type="submit"] {
  background: rgb(76,175,80);
  color: #fff;
  border: 1px solid rgb(76,175,80);
  padding: 1ex 1em;
  text-align: center;
}

.container button.btn-primary svg,
.container a.btn.btn-primary svg {
  vertical-align: middle;
  height: 80%;
  filter: invert(1);
  margin-right: 0.5em;
}

.container button.btn-bordered,
.container a.btn.btn-bordered {
  border: 1px solid rgb(76,175,80);
  padding: 1ex 1em;
  background: #fff;
}

.container button.btn-secondary svg,
.container a.btn.btn-secondary svg {
  vertical-align: middle;
  margin-right: 0.5em;
  filter: invert(54%) sepia(72%) saturate(393%) hue-rotate(73deg) brightness(94%) contrast(84%);
}

.container button img,
.container a.btn img {
  vertical-align: middle;
}

.container button:hover,
.container a.btn:hover {
  animation: button-hover 0.2s;  
  transform: scale(1.1);
  box-shadow: 10px 10px 20px -15px #000;
}

.error-message {
  border: 1px solid #d00;
  border-radius: 8px;
  padding: 1ex 1em;
  background: #fdd;
  margin-bottom: 2ex;
}

.contact-box {
  border: 1px solid #0d0;
  border-radius: 8px;
  padding: 2ex 1em 1ex 1em;
  background: #dfd;
  line-height: 200%;
}

.contact-box svg {
  margin-right: 0.3em;
  vertical-align: middle;
}

.book-references .bib_title { 
  font-weight: 300; 
}

.book-references li:before {
  content: "[" counter(section, decimal) "] ";
}
.book-references li {
  counter-increment: section;
}
.book-references li {
  font-style: normal;
  margin-bottom: 2ex; 
}
.book-references .bib_url {
}

.book-references.bib_super {
  vertical-align: top; font-size: 66.7%;
}
.book-references .bib_person, 
.book-references a .bib_person, 
.book-references .bib_person a {
  color: rgb(76,175,80);
  font-weight: 300;
}


@keyframes show-video {
  0% {
    transform: scale(0.3);
    opacity: 0;
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}

.video {
  background: #fff;
  animation: show-video 0.5s;
  position: absolute;
  top: -40px;
  left: 0px;
  right: 0px;
  box-shadow: 0 0 20px 0 #aaa;
  z-index: 1;
}

.video-header {
  background-color: #444;
  text-align: right;
}

.video-header button {
  background: none;
  border: none;
  cursor: pointer;
}

.video-header button img {
  filter: invert(1);
}

#video-player {
  width: 100%;
}

.video.hidden {
  display: none;
}

.container .dynspacer {
  height: 2vw;
} 

footer {
  margin-top: 8ex;
  margin-bottom: 2ex;
  padding-top: 1ex;
  text-align: center;
  font-size: 90%;
  font-weight: 300;
  color: #555;
  border-top: 1px solid #777;
  line-height: 150%;
}

footer a {
  color: #555;
  text-decoration: none;
}

.mobile {
  display: none;
}

@media only screen and (max-width: 980px) {

  body {
    font-size: 14px;
  }

  .mobile {
    display: block;
  }

  .no-mobile {
    display: none;
  }

  body:after {
    display: none;
  }

  .page {
    margin-top: 100px;
  }
  
  .header-main-inner,
  .header-lang-chooser-inner,
  .container {
    max-width: min(100vw - 3em, 1040px);
  }

  header {
    margin-bottom: 7vw;
    position: relative;
  }
  
  header nav .dropdown:hover .dropdown-content {
    animation: none;
  }

  .nav_button {
    background: none;
    border: none;
    display: inline-block;
    position: absolute;
    right: 1.5ex;
    top: 0.8ex;
    height: 3ex;
    width: 7ex;
  }
  .nav_button:focus {
    outline: none;
  }
  .nav_button_opener rect {
    fill: #fff;
    rx: 10;
  }
  .nav_button_closer rect { 
    fill: #fff;
  }
  .nav_button_closer { 
    margin-left: 2px;
    margin-top: 6px;
    display: none;
  }
  .nav_button_closer path { 
    stroke: #fff;
    fill: transparent;
    stroke-linecap: round;
    stroke-width: 5;
  }
  #nav_wrap.opened .nav_button_opener {
    display: none;
  }
  #nav_wrap.opened .nav_button_closer {
    display: block;
  }
  #nav_wrap nav {
    display: none;
    position: absolute;
    top: 8.75ex;
    left: 0;
    right: 0;
    bottom: 0;
    background: #fff;
    z-index: 1;
    margin: 0;
  }

  #nav_wrap nav > a:first-child {
    padding: 1ex 5vw;
  }
  
  #nav_wrap a,
  #nav_wrap span {
    display: block;
    margin: 0;
    padding: 0 5vw;
    border-bottom: 1px solid #ccc;
    width: 100%;
    background: #fff;
    color: #444;
  }

  #nav_wrap nav > a:last-child {
    padding-bottom: 50px;
    border-bottom: 0;
  }
  
  #nav_wrap .dropdown {
    width: 100%;
  }
  
  #nav_wrap .dropdown-content {
    display: none;
    border: none;
    width: 100%;
    position: relative;
    margin: 0;
    box-shadow: none;
  }

  #nav_wrap .dropdown-content.opened {
    display: block;
  }
    
  #nav_wrap .dropdown-content a {
    line-height: 300%;
    border-bottom: 1px solid #ccc;
    padding-left: 3em;
    width: 100%;
    margin: 0;
  }

  #nav_wrap.opened nav {
    display: block;
  }
  
  h1 {
    font-size: 190%;
    text-align: left !important;
  }

  #page-start h1 {
    font-size: 200%;
  }
  
  .container-100 {
    max-width: 90vw;
  }
  
  .container-centered {
    margin-top: 8ex;
    margin-bottom: 10ex;
  }
  .container-60_40 {
    display: block;
  }
  
  .container-40_60 {
    display: block;
  }
  
  .container-60_40 .container-left p,
  .container-60_40 .container-left h1,
  .container-60_40 .container-left h2,
  .container-60_40 .container-left form,
  .container-50_50 .container-left p,
  .container-50_50 .container-left h1,
  .container-50_50 .container-left h2 {
    width: 100%;
  }

  .container-left {
    margin-bottom: 3ex;
  }
  
  .container-left .img-big,
  .container-right .img-big {
    width: 100%;
    border-radius: 2ex !important;
  }

  .container button, .container a.btn {
    margin-right: 0;
  }

  .container button,
  .container form input[type="submit"] {
    width: 100%;
  }
  
  .container a.btn-bordered {
    text-align: center;
  }

  .container a.btn {
    display: block;
  }

  .container button:hover,
  .container a.btn:hover {
    animation: none;  
    transform: none;
  }

  .container .dynspacer {
    height: 0;
  } 

  .container-grey .angle-bg {
    top: -23%;
    bottom: -23%;
  }
  
  .container-four-pillars {
    grid-template-columns: repeat(1, 1fr);
  }
  .container-four-pillars > div > :last-child {
    font-size: 100%;
    line-height: 133%;
  }
   
  .container-matrix {
    grid-template-columns: repeat(1, 1fr);
  }

  .container-matrix p {
    font-size: 100%;
  }
  footer {
    font-size: 80%;
    padding: 0 2ex;
  }
  
}

