body {
  font-family: Verdana, "Helvetica Neue", Arial, sans-serif;
  /* background-image: url(bg-wand.gif); */
  /*
  background-color: #3c6ce5;
  background-blend-mode: overlay; */
  background-color: #5b97e6;
  background-image: url(bg-wand-blau.gif);
  color: #000000;
  letter-spacing: 0.03em;
  overflow-y: overlay
}

a:link {
  text-decoration: underline;
  color: #111111
}

a:hover {
  text-decoration: none;
  color: #aa0000
}

a:visited {
  text-decoration: underline;
  color: #111111
}

a:active {
  text-decoration: none;
  color: #aa0000
}

h1 {
  font-weight: bold;
  font-size: 2.5em;
  text-align: center;
  color: #444
}

h2,
#familie h1 {
  font-weight: bold;
  font-size: 1.5em;
  color: #2251b0;
  display: block;
  width: calc(100% - 0.5em - 2px);
  /* margin-left: -0.5em; */
  /* margin-right: -2em; */
  margin-top: 0;
  padding: 0.25em;
  background: #fff8;
  background-color: hsla(0, 0%, 100%, 0.533333333333333);
  /* border: 1px solid lightgray;
  border-radius: 4px;
  box-shadow: 0px 0px 3px #00000096; */
}

h3 {
  font-weight: bold;
  font-size: 1.1em;
  color: #CD1D61;
  margin-bottom: 0.25em;
  background: #fff8;
  background-color: hsla(0, 0%, 100%, 0.533333333333333);
  padding: 0.25em;
  margin-top: 0
}

h4 {
  font weight: bold;
  font-size: 1.0em;
  color: #76173A
}

hr {
  border-color: gold;
  border-style: outset;
  margin: 2em 0em;
  box-shadow: 0px 0px 5px #fff5;
}

#top {
  max-width: 800px;
  margin: 0 auto;
  overflow: hidden;
  height: 160px;
  position: relative;
}

#top img {
  position: absolute;
  top: 0;
  width: 100%
}

#wrapper {
  /* background-color: #fff8; */
  background-color: #ffffff87;
  background-color: hsla(0, 0%, 100%, 0.529411764705882);
  /* padding: 1em; */
  box-shadow: 0px 0px 10px #555;
  max-width: 800px;
  margin: 0 auto;
  border: 3px solid;
  border-style: ridge;
  border-style: outset;
  border-radius: 10px;
  border-color: gold;
  /* border-color: #ffd700; */
  /* border-image: linear-gradient(45deg, #8c7f18, #fae042) 1; */
  overflow: hidden;
}

header {
  background-color: #fff8;
  padding: 1em;
}

header img {
  filter: drop-shadow(0px 0px 1px white) drop-shadow(0px 0px 3px #0009);
}

nav {
  overflow: hidden;
  /* background: #ffffff75; */
  background: #5e5e5e;
  box-shadow: 0px 0px 5px #5555;
}

nav ul {
  display: flex;
  margin: 0;
  flex-flow: row;
  justify-content: center;
  list-style-type: none;
  padding-inline-start: 0;
  padding-left: 0;
  margin-left: -1px;
  width: calc(100% + 2px);
  font-size: 0.8em;
}

nav li {
  /* border: 1px solid grey; */
  flex: 1;
  text-align: center;
  border-collapse: collapse;
  box-shadow: 0px 0 0 0 #888, 0 0px 0 0 #888, 0px 0px 0 0 #888, 1px 0 0 0 #7f7f7f inset, 0 0px 0 0 #888 inset;
}

nav a {
  display: block;
  padding: 0.5em;
}

nav a,
nav a:link,
nav a:visited {
  text-decoration: none;
  color: white;
  font-weight: normal;
}

nav a:hover {
  background: royalblue;
  color: gold;
}

footer {
  padding: 1em;
  background-color: #fff8;
  background-color: hsla(0, 0%, 100%, 0.5333333333333333);
  text-align: center;
  font-size: 0.7em;
  color: #2251b0;
}

footer a:link,
footer a:active,
footer a:visited,
footer a {
  color: #70651b;
}

main {
  padding: 1em
}

main img {
  max-width: 100%;
  margin-right: 0.25em;
  margin-top: 0.25em;
}

main div {
  margin-bottom: 1em
}

/* .content-portraits h3 {
  margin-top: 0;
} */
.under {
  text-decoration: underline;
}

img.capitals {
  height: 3.5em;
  width: auto;
  float: left;
}

p {
  margin-top: 0.25em;
  text-align: justify;
  font-size: 0.85em;
}

section {
  margin-top: 1em;
  margin-bottom: 1em;
  padding: 0.5em;
  background-color: #ffffff47;
  background-color: hsla(0, 0%, 100%, 0.2784313725490196);
  border: 1px solid lightgray;
  border-radius: 4px;
  box-shadow: 0px 0px 3px #00000096;
}

section:after {
  content: "";
  display: table;
  clear: both;
}

#ahnen section {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-evenly;
}

#ahnen section h3 {
  flex: 0 0 100%;
  max-width: calc(100% - 0.5em + 3px);
  text-align: center;
}

#ahnen section div {
  flex: 1;
  font-size: 0.8em;
  width: 40%;
  padding: 1em;
  margin: 0 auto;
  /* display: flex;
  flex-direction: column; */
}

#ahnen section div img {
  width: 100%
}

#ahnen section div:last-of-type {
  text-align: right
}

#ahnen h4 {
  margin-top: 0.5em;
  margin-bottom: 0.25em;
  font-weight: bold;
  font-size: 1.2em;
}

.image-right {
  float: right;
  margin-left: 1em;
  margin-right: 0;
}

.image-left {
  float: left;
  margin-right: 1em;
  margin-left: 0;
}

#schloss h3 {
  /* margin-top: 0.25em; */
  margin-bottom: 1em;
}

#schloss .image-left,
#schloss .image-right {
  width: calc(39% - 1em);
  border: 4px solid white;
  box-shadow: 0px 0px 5px #bbb;
  border-radius: 3px;
  margin-top: 2px;
}

#schloss .image-left {
  margin-right: 0.5em;
}

#schloss .image-right {
  margin-left: 0.5em;
}

article {
  /* margin-left: 0.5em;
  margin-right: 0.5em; */
}

article.personal section,
article#familie section {
  margin-bottom: 0.5em;
}

article.personal section:not(:first-of-type),
article#familie section:not(:first-of-type) {
  clear: both;
  margin-top: 0.5em
}

article.personal section h3,
article.personal section h4,
article.personal section h5,
article#familie section h3 {
  text-align: center;
  margin: 0;
  /* width: calc(80% - 1.0em); */
  width: calc(100% - 208px - 1em);
  float: right;
}

article.personal section h4 {
  margin: 0.25em;
  color: #333;
}

article.personal section h5 {
  font-weight: normal;
  color: #444;
  margin-bottom: 1em;
}

article.personal section img,
article#familie img {
  float: left;
  /* width: calc(20% - 8px); */
  width: 200px;
  margin-top: 0;
  margin-right: 0.5em;
  /* margin-left: 0.5em; */
  border: 4px solid white;
  box-shadow: 0px 0px 5px #bbb;
  border-radius: 3px;
}

img.frame-img {
  border: solid 2px;
  border-bottom-color: #ffe;
  border-left-color: #eed;
  border-right-color: #eed;
  border-top-color: #ccb;
  max-height: 100%;
  max-width: 100%;
}

.frame-border {
  background-color: #ddc;
  border: solid 5vmin #eee;
  border-bottom-color: #fff;
  border-left-color: #eee;
  border-radius: 2px;
  border-right-color: #eee;
  border-top-color: #ddd;
  box-shadow: 0 0 5px 0 rgba(0, 0, 0, .25) inset, 0 5px 10px 5px rgba(0, 0, 0, .25);
  box-sizing: border-box;
  display: block;
  /* margin: 10vh 10vw; */
  max-width: 500px;
  margin: auto;
  margin-bottom: 2em;
  padding: 2.5% 3.5%;
  position: relative;
  text-align: center;
}

.frame-border:before {
  border-radius: 2px;
  bottom: -2vmin;
  box-shadow: 0 2px 5px 0 rgba(0, 0, 0, .25) inset;
  content: "";
  left: -2vmin;
  position: absolute;
  right: -2vmin;
  top: -2vmin;
}

.frame-border:after {
  border-radius: 2px;
  bottom: -2.5vmin;
  box-shadow: 0 2px 5px 0 rgba(0, 0, 0, .25);
  content: "";
  left: -2.5vmin;
  position: absolute;
  right: -2.5vmin;
  top: -2.5vmin;
}

article.personal h3>a,
article.personal h3>a:link,
article.personal h3>a:visited {
  color: #CD1D61;
  text-decoration: none;
  display: block;
}

@media screen and (max-width:800px) {
  #top {
    height: 100px
  }
}

@media screen and (max-width:500px) {
  body {
    letter-spacing: 0.075em;
    font-size: 0.9em;
  }

  nav ul {
    flex-flow: column;
  }

  nav li {
    box-shadow: 1px 0 0 0 #888, 0 1px 0 0 #888, 1px 1px 0 0 #888, 1px 0 0 0 #999 inset, 0 1px 0 0 #888 inset;
  }

  nav a {
    font-size: 1.5em
  }

  h2 {
    font-size: 1.5em
  }

  #ahnen section div {
    max-width: 50%;
  }

  #ahnen section h3 {
    /* max-width: calc(100% - 2em); */
  }

  #schloss .image-left,
  #schloss .image-right {
    width: calc(100% - 8px);
    float: unset;
    margin: unset;
    margin-bottom: 0.75em
  }

  article.personal section {
    text-align: center;
    display: flex;
    flex-direction: column;
  }

  article.personal section img {
    float: unset;
    width: 200px;
    order: 2;
    margin: auto;
    margin-top: 0;
    margin-bottom: 0.25em
  }

  article.personal section h3,
  article.personal section h4,
  article.personal section h5 {
    width: unset;
    float: unset;
    order: 1;
    /* float: right; */
  }

  article.personal section p {
    order: 3
  }
}

@media screen and (max-width:360px) {
  body {
    letter-spacing: 0.05em;
    font-size: 0.8em;
  }

  #top {
    height: 75px
  }

  #ahnen section {
    display: block
  }

  #ahnen section h3 {
    max-width: 100%;
  }

  #ahnen section img {
    max-width: calc(100% - 2em);
    height: auto;
  }

  #ahnen section div {
    max-width: 100%;
    min-width: 100%;
    text-align: center;
    padding: 0.25em;
  }

  #ahnen section div:last-of-type {
    text-align: center;
  }

  article.personal section img {
    float: unset;
    width: 100%;
    max-width: 100%;
    margin-top: 0;
  }
}

@media all and (-ms-high-contrast:none) {

  /* IE10 */
  article {
    margin-left: 0.5em;
    margin-right: 0.5em
  }

  /* IE11 */
  *::-ms-backdrop,
  article {
    margin-left: 0.5em;
    margin-right: 0.5em
  }
}