html {
  border: 5px solid white; 
  margin: 0; padding: 0; 
  min-height: 97%;
  }

body {
  margin: 0; padding: 1.5em 1em 1.5em 160px; 
  border-radius: 7px;
  position: relative; 
  min-height: 94%;
  width: auto; 
  max-width: 55em; 
  }

h1 {
  margin: 0 0 .5em; padding: .25em .25em .25em .75em; 
  border: 1px solid #aaa; 
  border-radius: 7px;
  box-shadow: 4px 4px 10px rgba(0,0,0,.4);
  font-size: 3em; 
  font-weight: bold; 
  z-index: 5; 
  }

div, section, footer {
  margin: 1.5em 0 0; padding: .75em .75em .75em 2.25em; 
  border: 1px solid #aaa; 
  border-radius: 7px;
  box-shadow: 4px 4px 10px rgba(0,0,0,.4);
  position: relative; 
  z-index: 1; 
  }

h1,h2,h3,h4 {text-shadow: 4px 4px 6px;}

p.tagline /* will replace misused H2 */ , h2 {
  margin: 0; padding: 0; 
  font-size: 1em; 
  position: absolute; 
  top: 2em; right: 2em; 
  width: auto; 
  text-align: right; 
  z-index: 7; 
  font-style: italic; font-weight: bold; 
  }

h3 {
  margin: 0; padding: 0; 
  font-size: 1.5em; 
  position: absolute; 
  top: -.7em; right: .66em; 
  width: auto; 
  text-align: right; 
  z-index: 3; 
  font-style: italic; font-weight: bold; 
  }

h4 {
  margin: .5em 0 0 0; padding: 0; 
  font-size: 1em; 
  text-align: left; 
  font-style: italic; font-weight: bold; 
  }

h5 {
  margin: .5em 0 0 0; padding: 0; 
  text-align: left; 
  font-style: normal; font-weight: bold;
  font-size: .9em; font-variant: small-caps;
/*  display: run-in;*/
  }

h5:after {
  content: ": "
  }

h5+p {
  margin-top: 0;
  }

blockquote {
  margin: .6em 2em 1em 3em;
  padding: .5em;
  font-style: italic;
  border: .2em groove #aaa;
  }

a img {
  border: none;
  }

a:link, a:visited {
  text-decoration: none; 
  border-bottom: 1px dotted;
  }

a:hover {
  border-bottom: 1px solid; 
  }

a.xml {
  border: 1px solid;
  border-color: #fc9 #630 #330 #f96 !important;
  padding: 0 3px;
  font: bold 10px verdana, sans-serif !important;
  color: #fff !important;
  background: #f60 !important;
  text-decoration: none;
  margin: 0;
  }

address {
  min-height: 60px;
  }

.accesskey {text-decoration: underline;}
.centered {text-align: center; margin-left: auto; margin-right: auto;}
.clear {clear: both;} div.clear {border: none !important; box-shadow: none; height: 1px !important; margin: 0 !important; padding: 0 !important;}
.right {text-align: right;}
.left {text-align: left;}
.fright {float: right;}
.fleft {float: left;}

table {
  border-collapse: separate; border-spacing: .3em;
  }

th, td {
  border: 1px dashed; padding: .3em; vertical-align: bottom;
  }

dt {font-weight: bolder; margin-top: 0.5em;}
dd > ul {margin: 0; padding: 0 0 0 1em;}
dd > ul > li {margin: 0;}

p.homelink, img.div-decor-right {
  float: right; 
  margin: 1em 0 1em 1em; padding: 0; 
  width: auto; position: relative;
  }

p.homelink {
  max-width: 45%; 
  margin-top: 0;
  }

img.div-decor-left {
  float: left; 
  margin: 1em 1em 1em 0; padding: 0; 
  width: auto; 
  position: relative;
  }
/*
  The "position: relative;" helps curing the Peekaboo bug
  http://users.rraz.net/mc_on_the_rocks/testpage/peekaboo.html
*/

img {
  box-shadow: 3px 3px 6px #aaa;
}

/* list styles */

ul {list-style: box;}
ul.shortlines {list-style: none;} /* needed for browsers that grok generated content but not inline-block */
ul.shortlines {display: block; margin: 1em 1em 1em 2em; padding: 0; }
ul.shortlines li {display: inline-block; margin: 0 .5em; padding: 0.5em 0; }
ul.shortlines li:before {content: " \2192"; padding-right: 1em; margin: 0;}
ul.shortlines li:first-child {margin: 0 .5em 0 -.5em; }
ul.shortlines li:first-child:before {content: ""; }

p {margin: 1em 0 0;}
p+ul {margin-top: 0;}
h4+p {margin-top: 0;}
h5+p {margin-top: 0;}

/* fixed links list bottom left */

.links {
  bottom: 1em; 
  left: 10px; 
  width: 160px;
  height: auto;
  z-index: 10;
  font-size: small;
  margin: 0;
  padding: 2px 2px 2px 0;
  border-left: 2px solid #9FB1BC;
  position: fixed;
  }

.links li {
  margin:0;
  padding:0;
  display:block;
  list-style-type:none;
  }

.links a:link, .links a:visited, .links span {
  font-weight: normal;
  padding:0 12px 6px 12px;
  text-decoration:none;
  border: none;
  }

.links span, .links a:hover {
  background: url(../img/tab_rounded.gif) no-repeat left top;
  }

.links ul {margin: 0; padding: 0;}

.links ul a:link:before, .links ul a:visited:before, .links ul span:before {
  content: " . . . ";
  }

/* rollover effect for vacation Oostenrijk pages */

.rollover.landscape {
  min-height: 450px;
  }

.rollover.portrait {
  min-height: 650px;
  }

.rollover p {
  padding: 0; margin: 0;
  }

.rollover a {
  border: none; font-size: smaller; display: block; width: 128px; cursor: default; padding: 10px 4px 4px; margin: 0px;
  }

.rollover a span {display: none;}

.rollover a:hover span, .rollover p.static {
  display: block; position: absolute; left: 170px; top: 40px;
  }

p.static + p { /* select first paragraph with linked image */
  margin-top: 2em;
  }
