@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 300;
  src: local('Open Sans Light'), local('OpenSans-Light'), url(/elements/objects/open-sans-300.woff) format('woff');
}
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 600;
  src: local('Open Sans Semibold'), local('OpenSans-Semibold'), url(/elements/objects/open-sans-600.woff) format('woff');
}

html
{
 height: 100%;
}

body
{
 height: 100%;
 background: #ffffff;
 color: #000000;
 margin: 0;
 padding: 0;
 height: 100%;
 font-size: 16px;
 font-weight: 300;
 font-family: 'Open Sans', sans-serif;
}

input, textarea
{
 /* Per default, input fields other then submit use content-box.
    That makes it very hard to align suff. So lets switch it to
    border-box. */
 box-sizing: border-box; 
 -moz-box-sizing: border-box;
}

@media screen and (-webkit-min-device-pixel-ratio:0)
{
 /* Webkit based browsers have a grey background
    in radio buttons. To get rid of them, -webkit-appearance: none is
    needed. That makes them invisible in some browsers.
    So there is a lot of styleing needed to make them look right: */
 input[type=radio]
 {
  -webkit-appearance: none;
  height: 1em;
  width: 1em;
  border: 1px solid #000000;
  cursor: pointer; 
  border-radius: 2em;
 }
 input[type=radio]:checked
 {
  background-color: #000000;
 }
}

input[type=text], input[type=submit], textarea, button
{
 border: 1px solid #404040;
 font-family: 'Open Sans';
 font-weight: 300;
 -webkit-appearance: none;
 -webkit-border-radius: 4px 4px 4px 4px;
 vertical-align: middle;
 padding: 4px;
}

a
{
 color: #000000;
 text-decoration: none;
 outline: 0;
}

a:hover
{
 text-decoration: underline;
}
 
h1 {
 font-size: 65px;
 font-weight: bold;
}

form {
  margin: 0;
}

input::-moz-focus-inner
{ 
 border: 0;
}

input[type="submit"],.continue,button
{
 background-color: #ffffff;
 border-radius: 4px 4px 4px 4px;
 border: 1px solid #202020;
 color: #000;
 cursor: pointer;
 font-size: 17px;
 padding: 6px 12px;
 vertical-align: middle;
 outline: 0;
 /* without the following 2 styles, my ipad 2 will make funny things with
    input[type=submit] elements. 2013-09-04 /mg */
 -webkit-appearance: none;
 -webkit-border-radius: 4px 4px 4px 4px;
}

input[type="submit"]:hover, .continue:hover
{
 box-shadow: 0 0 0 1px black;
}

a.continue
{
 display: inline-block;
}

.continue:hover
{
 text-decoration: none;
}

table
{
 border-collapse: collapse;
}

.opinion_form
{
 padding-left : 50px;
 padding-right: 50px;
}

.opinion input[type=text]
{
 margin: 0;
 font-weight: bold;
 color: #333;
 font-size: 16px;
 padding: 4px;
}

.opinion textarea
{
  border: 1px solid #000000;
  width: 100%;
  padding: 5px;
  font-weight: bold;
  font-size: 16px;
  color: #333;
}

.opinion input.rating
{
 margin: 0px;
}


/* HEADER */

.logo
{
 position: absolute;
 font-size: 30px;
 padding-left: 20px;
 padding-top: 17px;
 font-family: 'Open Sans', sans-serif;
 font-weight: 300;
 white-space: nowrap;
}

.logo .section
{
 font-size: 50px;
 font-weight: 600;
}

.logo a
{
 color: #505050;
}

.logo a.section
{
 color: #606060;
}

.logo a:hover
{
 text-decoration: none;
 color: #000;
 background-color: #f0ffa0;
 transition: all 0.5s linear;
}

.claim
{
 position: absolute;
 left: 50%;
 color: #606060;
 font-size: 30px;
 text-align: center;
 white-space: nowrap;
 top: 29px;
 width: 300px;
 z-index: 100;
 margin-left: -152px;
 opacity: 0.5;
}

@media (max-width: 800px) { .claim {  display: none;  } }

.claim span {
  display: none;
}

.content
{
 text-align: left;
 vertical-align: middle;
}

.content td
{
}

/* FOOTER */

.footer {
  text-align: center;
  height: 40px;
  background: #fff;
  font-size: 14px;
  border-top: 1px solid #606060;
}
  
.footer a {
  color: #333;
  text-decoration: none;
}

.footer a:visited {
  color: #333;
  text-decoration: none;
}

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


/* IMPRINT */

.imprint {
  width: 400px;
  margin: auto;
}

.spacer_top
{
 height: 10%;
}

@media (max-height: 710px)
{
 .spacer_top
 {
  height: 5%;
 }
}

/* INDEX */

.faves
{
 	margin-top: 0px;
}

.faves table 
{
 margin: auto;
 text-align: left; /* reset content */
}

.intro
{
 line-height: 1.5;
 text-align: left;
 font-weight: 400;
 margin-bottom: 20px;
 padding-right: 15px;
 padding-left:  15px;
}

@media (min-width: 480px)
{
 .intro span
 {
  display: block;
  text-align: center;
 }
}

.fave
{
 padding-bottom: 30px;
}

.fave3
{
 padding-bottom: 0px;
}

.faves input[type=text]
{
 width: 256px;
 font-weight: 600;
 background: #fff;
 margin-top: 0px;
 color: #333;
 font-size: 18px;
}

.faves input[type="submit"]
{
 width: 256px;
}

/* SUPPOSE */

.suppose
{
/* display: table; */
 text-align: center;
 margin: 0;
 padding: 0;
 width: 100%;
}

.suppose h1
{
 margin-top: 67px;
 margin-bottom: 55px;
}

@media (max-height: 710px) and (max-width: 500px)
{
 .suppose h1
 {
  margin-top   : 27px;
  margin-bottom: 15px;
 }
}

@media (max-height: 500px)
{
 .suppose h1
 {
  margin-top   : 27px;
  margin-bottom: 15px;
 }
}

.suppose input[type="submit"]
{
 margin-top   : 12px;
 margin-left  : 12px;
 margin-right : 12px;
 padding-left :  9px;
 padding-right:  9px;
 padding-top  :  4px;
 min-width: 150px;
}

.like_yes:hover
{
 border-color: #00c000;
 box-shadow: 0 0 0 1px #00c000 !important;
}

.like_no:hover
{
 border-color: #c00000;
 box-shadow: 0 0 0 1px #c00000 !important;
}

.like_dunno:hover
{
 border-color: #707070;
}

.suppose a:hover
{
 text-decoration: none;
}

/* OPINION */

.opinion
{
  max-width: 800px;
  margin: auto;
}

.opinion label
{
 display: table;
 margin-bottom: 4px;
}

.opinion label span
{
 display: table-cell;
 padding-left: 4px;
}

/* SUMMARY */

.summary {
  width: auto;
  text-align: left; /* reset content */
  margin: auto;
 margin-bottom: 30px;
}

.summary .headline
{
 text-align: center;
 font-size: 65px;
 font-weight: bold;
 padding-bottom: 40px;
}

.summary td {
  vertical-align: top;
  padding: 0 20px;
}

.summary a {
  padding: 0;
  display: block;
  font-weight: normal;
}

.summary a:hover
{
	text-decoration: none;
}

.summary-result {
  font-weight: bold;
  padding-top: 10px;
  white-space: nowrap;
}

.summary-bottom {
  text-align: center;
}

.message
{
 background-color: #ffffff;
 color: #ff3d00;
 text-align: center;
 margin-top: 15px;
 padding: 5px;
}

.message:empty
{
 padding: 0px;
 margin: 0px;
}

.alert
{
 color: #e00000;
 font-weight: bold;
}

.menu
{
 height: 10px;
 display: inline-block;
 position: absolute;
 right: 10px;
 opacity: 0;
 user-select: none;
 -webkit-user-select: none; /* Chrome/Safari */        
 -moz-user-select: none; /* Firefox */
 -ms-user-select: none; /* IE10+ */
 -o-user-select: none;
}

.menu:hover
{
 opacity: 1;
}

.menu span
{
 cursor: pointer;
 margin-right: 10px;
}

.lighter_borders input[type=text], .lighter_borders textarea
{
 border-color: #808080 !important;
}

.text_left .fave div
{
 text-align: center;
}

.knick_line
{
 width: 100%;
 height: 1px;
 background-color: #606060;
 position: absolute;
 top: 91px;
}

.knick
{
 position: absolute;
 left: 50%;
 top: 88px;
 margin-left: -119px;
 z-index: 20;
 border: 0;
}
