
/* ecds/css: including:ecds_style */
html {
}

* {
  box-sizing: border-box;
}

/* general settings */


.nofloat {
clear: both;
  float: none;
 }


.lfloat { 
  float: left;
 }

.rfloat { 
  float: right;
 }

.fleft {
  /*  float: left; */
}

.fright {
  /*  float: right; */
}

.fcen {
 margin-right: auto;
 margin-left: auto;
}


/* ----------------- footer ------------------ */
/*
div.footer {
 position: fixed;
 clear: both;
 float: none;
 margin: 0;
 padding: 0;
 bottom:0;
 left: 2.5%;
 width: 95%;
 height: 5px;
 background-color: transparent;
 z-index: 255;
 font-size: 16px;
}



*/

div.footer { 
 position: fixed;
 clear: both;
 float: none;
 margin: 0;
 padding: 0;
 bottom:0;
 left: 2.5%;
 width: 95%;
 color: white;
 background-color: transparent;
 height: 6px;
 line-height: 60px;
}

div.footer:hover { 
 color: white;
 background-color: #e98020;
 border-style: solid;
 border-width: 1px;
 border-color: #a0a0a0;
 border-radius: 5px; 	
 height: 60px;
 z-index: 255;
 }


div.footer div.middle {
    position: relative;
    width: 100%;
   margin: 0;
   font-family: Verdana, Helvetica, Lucida, sans-serif;
   display: flex;
   align-content: center;
   justify-content: space-between;
   align-items: center;
}

div.footer div.middle div {
    vertical-align: middle;
    padding: 0 .5em 0 .25em;
}

div.footer div.middle div.ecds {
    width: 60px;
}

div.footer div.middle div.ecds img {
    width: 60px;
    height: 60px;
    object-fit: contain;
    object-position: center;
}

div.footer div.middle a {
   color: inherit;
}

div.footer div.middle div.skelactions {
}

div.footer div.middle div.skelactions a {
    margin: 0 .25em;
}
/* fine footer  */

  /* ------------------------- utility ------------------------------*/

div.spacer { 
  clear:both;
  float:none;
}

/* ecds/css: including:skel_style */
/* skel style:BEGIN  */


div.canvas {
    width: 100%;
    margin: auto;
    position: relative;
}


div.canvas div.imageslide {
  position: absolute;
  top: 0;
  left: 0;
}

/* slide nav handles */
div.canvas div.slidehandle {
    position: absolute;
    height: 100%;
    width: 40%;
    z-index: 2;
    background: transparent; /* rgba(200,200,200,0.5); */
    top: 0;
    font-size: 20vmin;
    line-height: 70vmin;
    font-stretch: 10%;
    vertical-align: middle;
    text-align: center;
    opacity: 0;
}

div.canvas div.slidehandle:hover {
    animation: opacityOn 3s normal forwards;
    animation-delay: 2s;
    opacity: 0;
}

@keyframes opacityOn {
    0% {
        opacity: 0;
    }
    25% {
        opacity: .65;
    }
    50% {
        opacity: .85;
    }
    100% {
        opacity: 0;
    }
}

div.canvas .gonext {
    right: 0;
}

div.canvas .gonext a {
    display: block;
 }

div.canvas .goprev a {
    display: block;
 }

div.canvas .goprev {
    left: 0;
}
 
/* slideindex */


div.nav {
    position: relative;
    display: flex;
    align-items: baseline;
    align-content: flex-start;
    justify-content: flex-start;
    top: 0;
    left: 0;
    width: 10%;
    line-height: .5em;
    z-index: 12;
 
/*    border-style: solid;
    border-width: 2px;
    border-color: black;
*/
}

div.nav span.navbutton {
    display: block;
    margin-right: auto;
}

div.nav span.navbutton a {
    display: block;
    text-decoration: none;
    color: #ddd;
    font-size: 1.6em;
    line-height: 2em;
    font-weight: bold;
}

div.nav span.navbutton a:hover {
    color: black;
}

#FasterButton {
 }

#PlayButton {
 }

#PauseButton {
    padding-bottom: .5em;
    font-weight: normal;
    font-size: .8em;    
}

#SlowerButton {
}

 
div.slideindex  {
    position: relative;
    width: 80%;
    float: none;
    clear: both;
    margin: 0 auto;
    display: flex;
    flex-flow: wrap;
    justify-content: flex-start;
    align-content: center;
}

div.slideindex div.slideindexitem {
    margin: 0 2px 0 0;
}

div.slideindex div.slideindexitem a:hover {
    display: block;
    background-color: black;
}

div.slideindex div.img {
    width: 80px;
    height: auto;
    padding: 3px 2px 1px 2px;
}
    
div.slideindex div.img img {
    object-fit: contain;
    height: auto;
    width: 100%;
}

/* grid style BEGIN */


div.grid {
   display: flex;
    flex-flow: wrap;
     justify-content: flex-start;
    align-items: flex-start;
    width: auto;
    margin: auto;
}

div.grid div.gridnode {
}


div.grid div.gridnode img { 
   width: 100%;
    height: 100%;
    object-fit: contain;
    margin: auto;
 }

div.grid div.gridnode div.notext img {
    width: 100%;
    height: 100%;
   object-fit: contain;
    margin: auto;
 }

div.grid div.gridnode p {
    margin:0;
    padding: 0;
}

div.grid div.sitetitle div.unit p {
    font-style: italic;
}
/* grid style END */


/* skel style:END */

/* ecds/css: including:leafs_style */
span.settool {
    float:right;
    margin: 2vmax 2% 0 0;
    font-size: .8em;
}

/*
div.set {
    margin: 0 auto;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
}

div.set div.setitem {
    margin: 0;
    padding: 0;
    width: 33.25%;
 }


div.set div.setitem div.img {
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
 }

div.set div.setitem div.img a {
    display: block;
}

div.set div.setitem div.img img {
    width: 100%;
    margin: auto;
    object-fit: contain;
}

div.set div.setitem div.hor img {
}

div.set div.setitem div.ver img {
    max-height: 75%;
}

*/
/* Vertical strip */
div.vstrip {
    width: 100%;
    padding: 0 2.5vh 2.5vh 2.5vh;
    text-align: center;
}

div.vstrip img {
    display: block;
    float: none;
    clear: both;
    margin: auto;
    padding: 0;
    max-height: 100vh;
    width: 100vh;
    margin: auto;
    object-fit: contain;
}

/* horizontal strip */

div.hstrip {
    width: 100%;
    display: flex;
    overflow-x: scroll;
    margin: auto;
    justify-content: space-between;
}

div.hstrip img {
    width: 80vmax;
    height: 80vmin;
    object-fit: contain;
    object-position: center center;
    margin: 2.5vh auto 5vh 7.5vmax;
    display: block;
}

div.hstrip div.text {
    min-width: calc(80vmax * 1.3);
    line-height: calc(100% * 1.6);
    padding-top: 15%;
}

div.hstrip div.text div.inner {
    width: 40em;
    margin: auto;
}

/* gallery */



div.gallery div.singimg {
 width: 100%;
  float: none;
  clear: both;
 margin: 5px;
  border-style: solid;
  border-width: 0 0 1px 0; 
  border-color: #cccccc;
  padding: 0 0 .5em 0;
 width: auto;
  font-size: 0.6em;
}

div.gallery div.singimg div.captions  {
        margin: 5% auto .5em auto;
        width: 60%;
    }
    
div.gallery div.singimg div.captions div.smalltext {
        margin: auto;
        margin-bottom: .5em;
    }
    
div.gallery div.singimg div.captions div.titleimg {
        margin-top: 0.5em;
        margin-bottom: 0.4em;
        font-size: 2.4em;
        font-weight: bold;
    }

div.gallery div.singimg div.captions div.authorimg {
        margin-top: 0.5em;
        margin-bottom: 0.4em;
        font-size: 2em;
        font-weight: bold;
    }
    
div.gallery div.singimg div.captions div.interact {
        margin-top: .5em;
        font-size: 2em;
    }
    
div.gallery div.singimg div.captions div.interact div.rateimg {
        float: left;
        width: 25%;
        vertical-align: middle;
        min-height: 1.4em;
    }
    
div.gallery div.singimg div.captions div.interact div.editimg {
        float: right;
        width: 25%;
        vertical-align: middle;
    }

/*   backgrounds */


div.parabg {
    text-indent: -9999px;
    background-attachment: fixed;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    margin: auto;
}


div.parahor {
    width: 75%;
    height: 80vh;
}

div.parahorw {
    width: calc(65vh * 1.5);
    height: 65vh;
}


div.paraver {
  }

div.parasq {
  }


/* parallax */

 /* Turn off parallax scrolling for all tablets and phones. Increase/decrease the pixels if needed 
@media only screen and (max-device-width: 1366px) {
    .parallax {
        background-attachment: scroll;
    }
}
 */
article.parallax {
    position: relative;
    top: 2.5vmin;
    left: 0;
    width: 100%;
    height: 75vh;
    overflow: scroll;
    scrollbar-width: none; /* Firefox 64 */
    -ms-overflow-style: none; /* Internet Explorer 11 */
    background: transparent;
}

article.parallax::-webkit-scrollbar { /** WebKit */
    display: none;
}


article.parallax div.text {
    width: 100%;
    margin: auto;
    padding: 1.5% 20% 1.5% 20%;
}

article.parallax div.title {
    width: 100%;
    margin: auto;
    padding: 1.5% 20% 1.5% 20%;
     background:  #aaa;
}

article.parallax div.title h2 {
    width: 100%;
    margin: auto;
    color: black;
    font-size: 1.3em;
}

article.parallax div.title h3 {
    width: 100%;
    margin: auto;
    color: white;
    font-size: 1.2em;
}

article.parallax div.textcontent {
     width: calc(97.5vmin + 5vmax);
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    margin: auto;
    padding: 1.5% 0 1.5% 0.5%;
}

article.parallax div.textcontent div.text {
    width: 100%;
    padding: 0;
    margin: 0;
}

article.parallax div.textcontent div.image {
    width: 100%;
    padding: 0;
    margin: 0;
}

article.parallax div.textcontV {
     width: calc(90vmin + 5vmax);
    display: flex;
    justify-content: center;
    align-items: center;
    flex-flow: column;
    margin: auto;
    padding: 1.5% 0 1.5% 0.5%;
}

article.parallax div.textcontV div.text {
    width: 100%;
    padding: 0;
    margin: 0;
}

article.parallax div.textcontV div.image {
    width: 100%;
    padding: 0;
    margin: 0;
}

/* page style */
/*
div.page {
    margin: 0 auto;
    width: 100%;
    padding: 0;
}

div.page div.item {
}

div.page div.item h3 {
    font-weight: normal;
    font-style: oblique;
    display: inline;
    color: black;
}

div.page div.item div.titles {
}

div.page div.item div.text {
}

div.page div.item div.textcontent {
}

div.page div.item div.doubletextcontent {
}

div.page div.item div.textcontent div.text {
}

div.page div.item div.textcontent div.image {
}

*/
/* end leafs style */

/* ecds/css: including:ibuffer_style */
#authent,#view,#edit,#admin {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%; 
   height: 100vh;
    display: none;
    text-align: center;
    vertical-align: middle;
    z-index: 255;
    background-color: rgba(255,255,255,0.5);
}

iframe.buffer {
    position: absolute;
    top: 0;
    left: 0;
    background-color: transparent;
    height: 100%;
    width: 100%;
}

#edit div.cont {
    position: absolute;
    top: 10vh;
    left: 10%;
    width: 80%; 
    height: 80vh;
    margin: 0;
    padding: 0;
    text-align: center;
    background-color: white;
    border-style: solid;
    border-width: 2px;
    border-color: black;
    box-shadow: 3px 10px 16px black;
 }

#view div.cont {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%; 
    height: 100vh;
    margin: 0;
    padding: 0;
    text-align: center;
    background-color: white;
}

#authent div.cont {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    margin: 0;
    padding: 0;
    text-align: center;
    background-color: transparent;
}

#admin div.cont {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%; 
    height: 100vh;
    margin: 0;
    padding: 0;
    text-align: center;
    background-color: rgba(240,240,240,0.8);
}


#xedit  {
    position: relative;
    top: 0;
    left: .25em;
    margin-right: 100%;
}

#xview {
    position: relative;
    top: 0;
    left: .25em;
    margin-right: 100%;
}

#xauthent {
    position: relative;
    top: 15vh;
    left: 30%;
    margin-right: 100%;
    color: black;
}

#xadmin {
    position: relative;
    top: 0;
    left: .25em;
    margin-right: 100%;
}

div.close {
    z-index: 21;
}

div.close a {
    text-decoration: none;
    color: #aaa;
     text-align: left;
     font-weight: bold;
     font-size: 3em;
}

div.close a:hover {
    color: black;
}


/* ecds/css: including:onlandscape_style */
/* Onlandscape style BEGIN */
html {
    font-family: Arial,Verdana,Lucida,Helvetica, sans-serif;
}

* {
  /* Calculation */
  --diff: calc(var(--max-size) - var(--min-size));
  --responsive: calc((var(--min-size) * 1px) + var(--diff) * ((100vmin - 420px) / (1920 - 420))); 
  /* backgrounds foregrounds */
  --bgopacity: 1;
  --bg: white;
  --bg-rgba: rgba(255,255,255, var(--bgopacity));
  --ltbgopacity: 1;
  --light-bg: #aaaaaa;
  --light-bg-rgba: rgba(170,170,170,var(--ltbgopacity));
  --dkbgopacity: 1;
  --dark-bg: #8888;
  --dark-bg-rgba: rgba(136,136,136,var(--dkbgopacity));
  --main-bg: var(--bg-rgba);
  --foreopacity: 1;
  --fore-rgba:  rgba(0,0,0,var(--foreopacity));
  --fore: black;
/*  line-height: calc(1em + 0.6 * ((100vmax - 20em) / 60)); */
}

body {
    --min-size: 12;
    --max-size: 18;
    font-size:  var(--responsive);
}


h1 {
    font-size: 1.4em;
}

h2 {
    font-size: 1.25em;
}

h3 {
    font-size: 1.12em;
}

a {
    color: #aaa;
    text-decoration: none;
}

a:hover {
    color: black;
    text-decoration: underline;
}

/* ----------------- header ------------------ */

/* navigation */

div.testata {
  position: fixed;
  top: 0;
  left: 0; 
  width: 100%;
  height: 4vmin;
  min-height: 22px;
  z-index: 10;
  background: white;
  padding: 0;
  padding-bottom: 2vmin;
  margin: 0;
}


div.testata div.lower {
 position: static;
 width: 90%;
 margin: 0 auto 0 auto;
 background: white;
 border-style: solid;
 border-width: 0 0 1px 0;
 border-color: #aaa;
 color: #aaa;
 padding: .5vmin 0;
display: flex;
justify-content: space-between;
align-items: baseline;
}

div.testata div.left {
    display: flex;
    justify-content: flex-start;
    align-items: baseline;
    margin-left: auto;
    width: 100%;

}

div.testata div.left h1.sitename {
 margin: 0;
 padding: 0;
 display: inline;
 color: black;
}

div.testata div.left a h1.sitename {
 margin: 0;
 padding: 0;
 color: #aaa;
}

div.testata div.left a:hover h1.sitename {
 margin: 0;
 padding: 0;
 color: black;
}

div.testata div.left h1:nth-child(2) {
    font-size: 1.3em;
    font-style: italic;
    font-weight: normal;
    color: #aaa;
}

div.testata div.left h1:nth-child(2)::before {
    content: "";
    padding-right: 0;
}

div.testata div.left h1:nth-child(1) {
 font-style: normal;
}

div.testata div.lower span.menu {
    display: block;
    float: none;
}

div.testata div.lower span.menu img {
    height: 1.25em;
    width: 2em;
    object-fit: contain;
    float: left;
    margin: auto;
    opacity: 0.25;
}

div.testata div.lower span.menu a:hover img {
   opacity: 1;
}

div.testata div.lower span.menu {
    display: block;
    float: none;
}

div.testata div.lower span.menu img {
    height: 100%;
    width: 2em;
    object-fit: contain;
    float: left;
    margin: auto;
    opacity: 0.25;
}

div.testata div.lower span.menu a:hover img {
   opacity: 1;
}


div.testata div.center {
    display: flex;
    flex-direction: row-reverse; 
    align-items: baseline;
    width: 100%;
}

div.testata div.right {
    display: flex;
    flex-direction: row-reverse; 
    align-items: baseline;
    width: 100%;
}

div.testata div.menu {
   display: flex;
    justify-content: start;
}

div.testata span.menu {
    color: black;
    font-weight: normal;
    display: block;
    padding-left: 2%;
}

h1.sitename a {
  text-decoration: none;
    color: #aaa;
}

h1.sitename a:hover {
  text-decoration: none;
  color: black;
}

.fixedbutt {
    font-weight: bold;
    font-weight: 900;
    float: left;
    margin: 0 3%;
}

.fixedbutt a {
    text-decoration: none;2
 }

.fixedbutt a {
  font-size: inherit;
}

.fixedbutt a:hover {
}


div.work {
  position: fixed;
    top: 4vmin;
    left: 0;
    width: 100%;
  height: 5vmin;
  z-index: 10;
  background: white;
  padding: 0;
}

div.work div.toptitles {
    width: 80%;
    margin: auto;
    position: relative;
    top: 0;
    display: flex;
    flex-flow: row;
    justify-content: space-between;
    align-items: baseline;
    }


div.titles {
    color: black;
    margin: 2vmin auto 0 auto;
    padding-bottom: 1vmin;
    width: 100%;
    border-style: solid;
    border-color: #aaa;
    border-width: 0 0 1px 0;
    display: flex;
    flex-flow: column;
    width: 90%;
}


div.titles h2 {
    margin: 1em 0 0 0;
    padding: 0;
    padding-right: 1em;
    color: inherit;
    display: block;
}

div.titles h3 {
    margin: 1em 0 0 0;
    padding: 0;
    padding-right: 1em;
    color: inherit;
    display: block;
    font-weight: normal;
}

div.titles h2 a {
    color: black;
    text-decoration: underline;
}

div.titles h2 a:hover {
    color: #aaa;
}

div.accessories {
    text-align: right;
    display: flex;
    flex-flow: row-reverse;
}

div.titlesub {
     display: flex;
     flex-flow: row;
     justify-content: flex-start;
     align-items: baseline;
    width: 100%;
}

div.titlesub h2,
div.titlesub h3 {
    font-weight: bold;
    --min-size: 12;
    --max-size: 18;
    font-size:  var(--responsive);
    padding: 0 .5em 0 0;
    color: black;
}

div.titlesub h3 {
    font-weight: normal;
}

div.accessories a {
    text-decoration: none;
    color: black;
    --min-size: 18;
    --max-size: 26;
    font-size:  var(--responsive);
    padding: 0 1em 0 0;
}


div.accessories div.pagesym a {
}

div.accessories div.slidesym a {
}

div.accessories div.setsym a {
}


div.accessories div.lang a {
    color: black;
    font-weight: bold;
    font-size: 1.4em;
}

div.accessories div.lang a:hover {
    text-decoration: underline;
}

div.accessories div.aon a {
    color: #bbb;
}

div.accessories div.aoff a {
    color: black;
}

div.accessories div.aon a:hover,
div.accessories div.aoff a:hover
{
    color: blue;
}

/* fine header */

div.onlandscape {
    position: absolute;
    top: 8vmin;
    left: 0;
    width: 100%;
}

div.onlandscape div.home {
    width: 90%;
    margin: auto;
    position: static;
    padding: 0;
}

div.onlandscape div.node {
    width: 90%;
    position: static;
    padding: 0;
    margin: auto;
}

div.onlandscape div.leaf {
    width: 95%;
     position: static;
    padding: 0;
    margin: auto;
}

div.onlandscape h1 {
  color: black;
}

div.onlandscape h2 {
    /* color: #e98020; */
  color: #aaa;
}

div.onlandscape h3 {
    /* color: #e98020; */
  color: #aaa;
     font-weight: normal;
}


  div.onlandscape div.home div.doubletextcontent {
  width: 90%;
  }
  
  div.onlandscape div.doubletextcontent div.unit  {
  width: 48%;
    float: left;
    margin-right: 1%;
  }


div.image {
    margin: 0;
    width: 100%;
    height: 100%;
    padding: 0;
  }

div.image img {
    width: 100%;
    object-fit: contain;
    margin: auto;
    max-height: 84vmin;
    object-position: center center;
}

div.image div.caption {
    color: white;
    width:  100%;
    margin: auto;
}



/* text slides */


div.canvas a {
  text-decoration: none;

}

div.canvas div.text {
    position: absolute;
    top: 0;
    left: 0;
  width: 100%;
  height: 100%;
  padding: 1%;
  float: none;
  clear: both;
  text-align: left;
  border-style: none;
  border-width: 1px;
  border-color: black;
  vertical-align: top;
}

div.canvas div.text p {
    margin: 0;
    padding: 0;
}

div.canvas div.text div.innertext {
    margin: 0;
    padding: 0;
    min-height: 40%;
}

div.canvas div.textsubs {
   font-style: oblique;
}


div.canvas {
    margin: 5vmin auto;
    width: 100%;
    height: 75vmin;
}


div.canvas div.imageslide {
    width: 100%;
}

div.canvas img {
     width: 100%;
    max-height: 75vmin;
}


/* slideshow nav */

 

/* admin */

div.gridbar {
 clear: both;
 float: none;
 margin: 0;
 padding: 0;
  width: 97%;
 margin: 0 auto 0 0.5%;
  border-style: solid;
  border-width: 1px;
  border-color: transparent;
 }

div.gridbar a {
 margin: 0;
 padding: 0;
}
div.gridbar span {
 margin: 0;
 padding: 0;
}

div.skel {
  margin-top: 10%;
}

/* general img */

div.onlandscape img {
 object-fit: contain;
}

div.onlandscape div.imageslide div.img  {
  margin: auto;
  padding: 0;
  text-align: center;
  vertical-align: middle;
}


div.topg {
    position: fixed;
    top: 8vmin;
    left: 0;
    width: 100%;
    height: 6vmin;
    z-index: 10;
    background-image: linear-gradient(to bottom,white,transparent);
}

div.bottomg {
    position: fixed;
    bottom: 1vmin;
    left: 0;
    width: 100%;
    height: 3vmin;
    z-index: 10;
    background-image: linear-gradient(to top,white,transparent);
}

div.bottom {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1vmin;
    z-index: 10;
    background-color: white;
}

div.info {
    position: static;
    width: 100%;
    margin: 2.5% auto;
    padding: 2.5% 15% 2.5% 15%;
    border-style: solid;
    border-width: 0 0 0 0;
    border-color: black;
}


div.sharetools {
    position: static;
   width: 90%;
    margin: 0 auto;
    padding: 0 7.5% 7.5% 7.5%;
   display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    height: 75px;
}

div.sharetools div.share {
    position: static;
    float: none;
    height: 75px;
    width: 75px;
}

div.sharetools div.twitter-share-button {
    padding-left: 20px;
}

div.sharetools img {
    height: 75px;
    object-fit: contain;
    margin: auto;
}

/* resume bottom page */


div.resume {
    width: 80%;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    margin: 0 auto 2% auto;
    padding: 5% 0;
     border-style: solid;
    border-width: 1px 0 0 0;
    border-color: black;
    flex-flow: wrap;
}

div.resume div.con {
    padding: .5%;
}

div.resume a {
    text-decoration: none;
    padding: 0;
    margin: 1% 0 0 1%;
}

div.resume a:hover div.titles {
    visibility: visible;
}

div.bgitem {
    position: static;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    width: 20vmin;
    height: 20vmin;
}

div.bgitem a {
    display: block;
    position: relative;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(255,255,255,0);
    font-size: .8em;
    margin: 0;
    text-decoration: none;
}

div.bgitem a:hover {
    background: rgba(255,255,255,.8);
 }

div.bgitem div.titles {
    width: 100%;
    height: 100%;
    padding: 5% 5% 20% 5%;
    margin: 0;
    visibility: hidden;
    background: transparent;
}

div.bgitem div.titles h2,
div.bgitem div.titles h3 {
    color: black;
    margin-bottom: .5em;
}

/* set viewport locals */

div.onlandscape div.set {
    width: 90%;
    margin: auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
}

div.onlandscape div.set div.setitem {
    width: calc(100% / 3.05);
    padding: .5% .5%;
}

div.set div.setitem div.img {
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
 }

div.set div.setitem div.img a {
    display: block;
}

div.set div.setitem div.img img {
    width: 100%;
    margin: auto;
    object-fit: contain;
}


div.onlandscape div.grid {
    margin-top: 2vmax;
}

div.onlandscape div.grid a {
    text-decoration: none;
}

div.onlandscape div.grid div.gridnode {
    border-style: solid;
    border-width: 1px;
    border-color: black;
    margin: calc(1% / 4) calc(1% / 4) ;
    width: calc(98% / 4);
    height: 25vmax;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-flow: column;
}

div.onlandscape div.grid div.gridnode div.text {
    max-height: 21%;
    padding: 3%;
    overflow: hidden;
}

div.onlandscape div.grid div.gridnode div.textfht {
    height: 100%;
    overflow: hidden;
}


div.onlandscape div.grid div.gridnode div.textcontent {
    height: 90%;
    padding: 5% 0;
    overflow: hidden;
}

div.onlandscape div.grid div.gridnode img {
    height: 50%;
    object-fit: contain;
}

/* page leaf */

div.page {
    margin: auto;
    width: 90%;
}

div.item {
    margin: 2vmin auto 4vmin auto;
    width: 100%;
}

div.announce {
    margin: 0 auto 4vmin auto;
    width: 100%;
}

div.onlandscape div.text {
    --min-size: 12;
    --max-size: 20;
    line-height: 1.6em;
    font-size:  var(--responsive);
}

div.item div.text:first-child {
    width: 70%;
    margin: auto;
    padding: 0;
}

div.item div.text:nth-child(2) {
    width: 70%;
    margin: auto;
    padding: 0;
}


div.textcontent {
    display: flex;
    justify-content: space-around;
    width: 100%;
    margin: 5em auto;
}

div.textcontent div.text {
    margin: auto;
    width: 100%;
    --min-size: 12;
    --max-size: 20;
    line-height: 1.6em;
    font-size:  var(--responsive);
}

div.textcontent div.image~div.text {
    padding-left: 5%;
}

div.image {
    margin: auto;
}
 
div.item img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    margin: auto;
    max-height: 84vmin;;
}



div.onlandscape div.home div.caption h2 {
    margin-bottom: .5em;
}

div.onlandscape div.home div.caption a {
    text-decoration: none;
    font-weight: bold;
}

div.onlandscape div.home div.caption a:hover {
    text-decoration: underline;
}

/* home menu topic */
div.menu h2.announce a,
div.menu span.menu a {
    text-decoration: none;
    font-weight: bold;
    font-size:  var(--responsive);
    color: #aaa;
    padding: 0 1em 0 0;
}

div.menu h2.announce a:hover,
div.menu span.menu a:hover {
    font-weight: bold;
    color: black;
    text-decoration: underline;
}

h2.announce {
    display: block;
}

div.parent {
   display: flex;
    justify-content: flex-end;
    align-items: baseline;
    width: 100%;
    flex-flow: row;

}

div.super {
    width: 90%;
    margin: auto;
    padding: 1vmin 0;
    margin-top: 2vmin;
    border-style: solid;
    border-width: 1px 0 1px 0;
    border-color: #aaa;
}

div.super div.titles {
    border-style: none;
    margin: 1vmin auto 1vmin auto;
    width: 100%;
}

div.super div.resume {
    border-style: none;
    margin: 0;
    padding: 0;
}

/* onlandscape style END */

/* parallax */

div.parabg {
    background-attachment: fixed;
    background-position: center;
    background-repeat: no-repeat;
    background-color: #fbfbfb;
    height: 100%;
    margin: auto;
}

article.parallax div.parahor {
}

article.parallax div.parahorw {
    background-size: contain 75vmin;
}


article.parallax div.paraver {
}

article.parallax div.parasq {
}

article.parallax div.parallaxenv {
}

article.parallax {
    height: 80vmin;
    margin: auto;
    perspective: 1px;
    overflow-x: hidden;
    overflow-y:  auto;
}

article.parallax .parallax_layer {
}

article.parallax .parallax_layer--base {
    transform: translateZ(0);
}

/* scale = 1 + (translateZ * -1) / perspective */
/*    transform: translateZ(-11) scale(2); */


article.parallax .parallax_layer--back {
    transform: translateZ(-1) scale(2);
}


article.parallax div.textenvelope {
    margin: auto;
    width: 100%;
}

article.parallax div.textenvelope div.text {
    width: 60%;
    margin: auto;
    --min-size: 14;
    --max-size: 18;
    line-height: 1.6em;
    font-size:  var(--responsive);
    padding: 3em 0;
}

/* page footer */

div.stdfooter {
    position: static;
    width: 90%;
    margin: auto;
    background: #f5f5f5;
    padding: .25em;
}

/* hstrip */

div.hstrip {
    width: 90%;
}

 

/* ecds/css: including:ecds_last_style */
