/* footer.css Tulln2016 */

footer {
  /* margin-top: 1.5em; // see also base.css */
}


.footer-nav h2 label { display: block; margin: 0; }
.footer-nav h2 { display: inline-block;  /*margin-bottom: 1em;*/
  text-transform: uppercase; /* - 2016-09-12 */
}
/* ^- vertical writing-block & Edge, umschalten auf Block wenn untereinander! */
.footer-nav { padding: 0; margin: 0; font-size: .855em; }
.footer-nav h2 { font-size: 1.11111em; }
.footer-nav > div {
  min-width: 17%; max-width: 40%;
  position: relative; /* wegen 90deg */
}
.footer-nav address { font-style: normal; }
.footer-nav address abbr { text-decoration: none; } /* Rikkiwunsch & rel. egal, 2016-10-03 */

.footer-nav li.inline,
.footer-nav li.inline a {
	display: inline-block;
	/* TODO(chris): make a smooth animation? (transition: all 5s ease-in-out 0s;) */
}
.footer-nav li.inline a img + span {
	display: none;
	padding-right: .3em;
}
.footer-nav li.inline a:hover img + span,
.footer-nav li.inline a:focus img + span {
	display: inline-block;
}

@media (max-width: 55em) and (min-width: 40em) {
  .footer-nav > input:first-child + div > h2,
  .footer-nav > input:first-child:checked + div + input + div > h2 {
     /* // works in FF, Edge, Chrome, Opera (new), Webkit, but not for IE; //
     -webkit-writing-mode: vertical-lr;
     -ms-writing-mode: vertical-lr;
     writing-mode: vertical-lr;
     -webkit-transform: rotate(180deg); transform: rotate(180deg);
     text-align: right; // Edge; //
     margin: 0 0.2em;*/
     position: absolute; right: 0; top: 0;
     line-height: 1;
     -webkit-transform: rotate(-90deg) translateY(-1.5em);
     transform: rotate(-90deg) translateY(-1.5em);
     -webkit-transform-origin: top right; transform-origin: top right;
     white-space: nowrap; overflow: hidden;
     /*_margin: 0 0 0 -100em; _padding-left: 1em;*/
     text-align: right;
  }
  .footer-nav > input:first-child + div label::after,
  .footer-nav > input:first-child:checked + div + input + div label::after {
     content: '\a0\2228\a0';
     -webkit-transform: scaleX(1.2); transform: scaleX(1.2); color: #999;
  }
  .footer-nav > input:first-child + div > h2 + *,
  .footer-nav > input:first-child:checked + div + input + div > h2 + * { display: none; }
  .footer-nav > input:first-child + div,
  .footer-nav > input:first-child:checked + div + input + div {
    -webkit-flex: none; flex: none;
    min-width: 0; background-color: #eee;
  }
  .footer-nav > input:first-child:not(:checked) + div { margin-left: 1em; } /* XXX */
  .footer-nav > input:first-child:checked + div > h2 {
     position: static; /* zurueck in den normalen Fluss falls 90deg */
     -webkit-writing-mode: horizontal-tb;
     -ms-writing-mode: horizontal-tb;
     writing-mode: horizontal-tb;
     -webkit-transform: none; transform: none;
     text-align: left; /* spaetestens wenn untereinander */
  }
  .footer-nav > input:first-child:checked + div > h2 + * { display: block; }
  .footer-nav > input:first-child:checked + div label::after { content: none; }
  .footer-nav > input:first-child:checked + div { background-color: inherit; }
}

@media (max-width: 40em) and (min-width: 30em) {
  /*.footer-nav > * { overflow: hidden; }*/
  .footer-nav > div { max-width: 47%; }
  .footer-nav > input:first-of-type + div > h2,
  .footer-nav > input:nth-of-type(2) + div > h2,
  .footer-nav > input:first-of-type:checked + div + input + div > h2,
  .footer-nav > input:first-of-type:checked ~ input:nth-of-type(3) + div > h2,
  .footer-nav > input:nth-of-type(2):checked + div + input + div > h2 {
     /*-webkit-writing-mode: vertical-lr;
     -ms-writing-mode: vertical-lr;
     writing-mode: vertical-lr;
     text-align: right;
     -webkit-transform: rotate(180deg); transform: rotate(180deg);
     margin: 0 0.2em;*/
     position: absolute; right: 0; top: 0;
     line-height: 1;
     -webkit-transform: rotate(-90deg) translateY(-1.5em);
     transform: rotate(-90deg) translateY(-1.5em);
     -webkit-transform-origin: top right; transform-origin: top right;
     white-space: nowrap; overflow: hidden;
     /*_margin: 0 0 0 -100em; _padding-left: 1em; - position: absolute funkt besser */
     text-align: right;
  }
  /*.footer-nav > input:first-of-type + div > h2 > label,
  .footer-nav > input:nth-of-type(2) + div > h2 > label,
  .footer-nav > input:first-of-type:checked + div + input + div > h2 > label,
  .footer-nav > input:first-of-type:checked ~ input:nth-of-type(3) + div > h2 > label,
  .footer-nav > input:nth-of-type(2):checked + div + input + div > h2 > label
       { transform: rotate(180deg);
  }*/
  .footer-nav > input:first-of-type + div > h2 + *,
  .footer-nav > input:nth-of-type(2) + div > h2 + *,
  .footer-nav > input:first-of-type:checked + div + input + div > h2 + *,
  .footer-nav > input:first-of-type:checked ~ input:nth-of-type(3) + div > h2 + *,
  .footer-nav > input:nth-of-type(2):checked + div + input + div > h2 + * { display: none; }

  .footer-nav > input:first-of-type + div,
  .footer-nav > input:nth-of-type(2) + div,
  .footer-nav > input:first-of-type:checked + div + input + div,
  .footer-nav > input:first-of-type:checked ~ input:nth-of-type(3) + div,
  .footer-nav > input:nth-of-type(2):checked + div + input + div {
    -webkit-flex: none; flex: none;
    min-width: 0; background-color: #eee;
  }
  .footer-nav > input:first-of-type:not(:checked) + div { margin-left: 1em; }

  .footer-nav > input:first-of-type + div label::after,
  .footer-nav > input:nth-of-type(2) + div label::after,
  .footer-nav > input:first-of-type:checked + div + input + div label::after,
  .footer-nav > input:first-of-type:checked ~ input:nth-of-type(3) + div label::after,
  .footer-nav > input:nth-of-type(2):checked + div + input + div  label::after {
    /*_float: left;*/ content: '\a0\2228\a0';
    -webkit-transform: scaleX(1.2); transform: scaleX(1.2); color: #999;
  }

  .footer-nav > input:first-of-type:checked + div > h2,
  .footer-nav > input:nth-of-type(2):checked + div > h2 {
     position: static;
     -webkit-writing-mode: horizontal-tb;
     -ms-writing-mode: horizontal-tb;
     writing-mode: horizontal-tb;
     -webkit-transform: none; transform: none;
     text-align: left; /* XXXX */
  }
  .footer-nav > input:first-of-type:checked + div > h2 + *,
  .footer-nav > input:nth-of-type(2):checked + div > h2 + * { display: block; }
  .footer-nav > input:first-of-type:checked + div,
  .footer-nav > input:nth-of-type(2):checked + div { background-color: inherit; }
  .footer-nav > input:first-of-type:checked + div label::after,
  .footer-nav > input:nth-of-type(2):checked + div label::after { content: none; }
}

@media (max-width: 30em) {
  .footer-nav { -webkit-flex-direction: column; flex-direction: column; padding-top: 0.5em; max-width: none; }
  .footer-nav h2 { display: block; }
  .footer-nav h2 + * { display: none; margin-top: 0.2em; }
  .footer-nav input:checked + div > h2 + * { display: block; }
  .footer-nav h2::before { content: '\2228'; /*'\2304';*/ float: right;
                           -webkit-transform: scaleX(1.2); transform: scaleX(1.2); color: #777;
                           padding-right: 0.5em;
                         }
  /*.footer-nav input:checked + div > h2::before { content: none; }*/
  .footer-nav input:checked + div > h2::before { transform: rotate(180deg) scaleX(1.2);
    padding-right: 0;
    padding-left: 0.5em; }
  .footer-nav h2 { margin: 0; min-width: 0; background-color: #eee; }
  .footer-nav > div {
     margin: 0.2em 0; /* was: margin: .2em; */
     /*padding: 0 0.2em 0 1em; /* XXX js2016-09-15 */
     border: none; max-width: none;
  }
}

/* -------------------------------------- */

body {
  display: -webkit-flex; display: flex;
  -webkit-flex-flow: column nowrap; flex-flow: column nowrap;
  min-height: 100%; min-height: 100vh; height: auto; /*height: 100%;*/
}
content, main { -webkit-flex: 1 1 auto; flex: 1 1 auto; }
footer {
  -webkit-flex: none; flex: none;
  width: 100%; /* wegen flex */
  margin-top: auto; /* exp. tested */
}
@media (min-width: 0\0) {
  body { display: block; } // Give up at IE
}
@media screen\0 {
  body { display: block; } // Give up at IE
}
// Maybe try latter to fix

/* -------------------------------------- */

.footer-nav li {
  /*-moz-text-align-last: right;
   text-align-last: right;*/ /* fail if only one line */
   text-indent: -.7em; padding-left: .7em;
   line-height: 1.05; margin-bottom: .35em;
   color: #555;
}

/*footer li::first-line { text-align: left; -moz-text-align-last: left; }*/
/*footer li::first-line::after {  content: '*'; border-top: 1px solid #999;}*/

footer li::first-line { color: black; /*text-shadow: 0 0 1px yellow;*/ }
footer li::first-letter { /*color: #eee; text-shadow: 0px 0px 1px black; _color: green;*/ }
_footer li:nth-child(2n+1) { border-left: .3em solid #CFC; padding-left: 1em /*.3em*/; margin-left: -.6em; }

/* --------------------------------------- */

/* >> nach footer.css verlegt js2016-08-19 */
.to-top {
  float: right;
  display: block;
  padding: 0;
  overflow: visible; /* needed for shadow */
  margin: -60px 1em 0 0;
  line-height: 1; /* 0 isn't liked by IE/Edge */
  background-color: rgba(255,255,255,.5); /*white;*/
  border-radius: 7px 7px 0 0;
  box-shadow: 0 -6px 6px 0 rgba(128,128,128, 0.2);
  border: 1px solid rgba(128,128,128, 0.2);
  border-bottom: 0 none;
  border-image: linear-gradient(to top, rgba(0,0,0,.2), rgba(128,128,128,0)) 1;
  border-image-outset: 0 1px .5em 1px;
  opacity: .99; /* new stacking context: opacity: .99; OR position: relative; */
}
.to-top img {
  margin: 0; padding: 7px;
  width: 56px; height: 56px; /* Edge & IE brauchen beides */
  opacity: .9;
  border-radius: 50%;
}

.to-top:focus { outline: 0 none; }
.to-top:focus img {
  /*box-shadow: inset 0 0 16px #c756a0;*//*red;*/
  /*-webkit-animation: insetshadow-mulberry2trans16px 5s 1 forwards;
  animation: insetshadow-mulberry2trans16px 5s 1 forwards;*/
}
.to-top:focus:not(:-moz-focusring) img { box-shadow: none; }

/* -------------------------------------- */

li[class^="m-"] { text-indent: 0; padding-left: 0; vertical-align: bottom; }
li[class^="m-"]::before { display: inline-block; height: .95em; width: .95em; }
li.m-fb::before { content: url('../Images/symbols/fb2-rund.svg'); }
li.m-yt::before { content: url('../Images/symbols/yt2-rund.svg'); }
li.m-flickr::before { content: url('../Images/symbols/flickr-rund.svg'); }

div[itemtype$="PostalAddress"] { margin-bottom: .5em; }

address ul {
  list-style-type: none; margin: 0;
}
address li {
  padding: 0;
}

.column1 .inline a img {
	display: none;
}
.column1 .inline {
	display: block !important;
}
.column1 .inline a span {
	display: block !important;
}
