/* Box sizing rules */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Remove default padding */
ul[class],
ol[class] {
  padding: 0;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
p,
ul[class],
ol[class],
li,
figure,
figcaption,
blockquote,
dl,
dd {
  margin: 0;
}

/* Set core body defaults */
body {
  min-height: 100vh;
  scroll-behavior: smooth;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
  font-family: "IBM Plex Sans",helvetica,sans-serif;
  /* background-color: #bcee83; */
}

/* Remove list styles on ul, ol elements with a class attribute */
ul[class],
ol[class] {
  list-style: none;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
  text-decoration-skip-ink: auto;
}

/* Make images easier to work with */
img {
  max-width: 100%;
  display: block;
}

/* Natural flow and rhythm in articles by default */
article > * + * {
  margin-top: 1em;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font: inherit;
}

/* Remove all animations and transitions for people that prefer not to see them */
@media (prefers-reduced-motion: reduce) {
  * {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}



.greeting-wrapper { background-color: #8bc34a;}
.greeting-holder {padding: 20px;margin: 0px auto;}
.greeting {/* color: white; *//* font-weight: 700; *//* font-size: 23px; *//* align-items: center; *//* line-height: 35px; */height: 100vh;display: flex;flex-direction: column;justify-content: center;}
.greeting .thedate {  }
@media only screen and (min-width: 650px) {
  .greeting-holder {padding: 0;width: calc( 91.5% - 70px );}
}
@media only screen and (min-width: 980px) {
  .greeting-holder { width: calc( 66% - 53px ); }   
}
@media only screen and (min-width: 1200px) {
  .greeting-holder { width: 720px;}
}

.content {min-height:500px;}
#page {/* padding-top: 100px; */}
.post {padding: 0px 20px 0px 20px;margin: 0px auto 80px;/* background-color: white; */}
@media only screen and (min-width: 650px) {
    .post { padding: 0; width: calc( 91.5% - 70px ); }
}
@media only screen and (min-width: 980px) {
    .post { width: calc( 66% - 53px ); }   
}
@media only screen and (min-width: 1200px) {
    .post { width: 720px;}
}

iframe {max-width: 91.5%;/* display: none; */}


/* gallery overrides mar 27 */

.sticky { padding: 0px 0px 30px 0px; margin: 0px 0px 0px; }
.sticky .wrap-sticky-start { position: sticky; top: 20vh; margin: 0px -20px -90px !important; /* opacity: .5; */ padding: 0px 0px 84px !important; }
.sticky .wrap-sticky-end {  margin-bottom:100vh !important; }
.sticky > p { background-color: #000000cc;
    padding: 12px;
    color: white !important;
    font-size: 15px !important;
    line-height: 19px !important;
    border-radius: 3px; position:relative; z-index:2; -webkit-transform:translate3d(0,0,0);}
.sticky > ul { padding-left: 40px; color:black !important; }
.sticky > ul li { color:black !important; }

.wp-block-gallery { margin:32px -20px 20px !important; gap: 5px !important}
.sticky .wp-block-gallery { margin: 0px -20px -5px !important; padding: 0px !important;  }
.wp-block-gallery .blocks-gallery-image figure, .wp-block-gallery .blocks-gallery-item figure {  height:auto !important }
.wp-block-gallery .blocks-gallery-item {  justify-content:flex-start !important; margin-right:0px !important; margin-bottom:0px !important }
.wp-block-gallery .caption {  padding: 8px 18px 10px; font-size: 14px; line-height: 20px; font-style: normal; background-color: white; }
.two-up.wp-block-gallery .caption { padding-left:10px; padding-right:10px;  }
.wp-block-gallery .blocks-gallery-item img { border-radius:0px;  }
@media screen and (min-width: 650px) {
    /*  .wp-block-gallery { margin:32px -50px 20px !important; }*/
    .wp-block-gallery { margin:32px -6% 20px !important; }
    .wp-block-gallery .blocks-gallery-item img { border-radius:10px;  }
    .wp-block-gallery .caption { margin-left:0px; margin-right:0px;  }
/*    .sticky { padding:0px; margin:0px;  }*/
/*    .wrap-sticky-start { position:relative;  }*/
}
@media screen and (min-width: 980px) {
    /*  .wp-block-gallery { margin:32px -50px 20px !important; }*/
    .wp-block-gallery { margin:32px -30% 20px !important; }
}


.wp-block-gallery .blocks-gallery-image figcaption, .wp-block-gallery .blocks-gallery-item figcaption {  line-height:20px; }
figcaption a { color:inherit;  }

.post p {font-size: 17px;line-height: 27px;color: #3c3c3c;margin: 0px 0px 15px;}
.post li { font-size: 16px;line-height: 24px;color: #3c3c3c;margin: 0px 0px 10px; }
p a, h2 a {color: #509500;}
p a { text-decoration:none; }
p a:hover {color:white;background-color: #97be6a; cursor:pointer;}
p.postmetadata {font-size: 12px;font-family: 'IBM Plex Mono', sans-serif;}
p.caption { font-style: italic; margin: 0px 0px 0px 0px; }
img.border { border: 1px solid #bbbbbb;
    padding: 10px;
    border-radius: 10px; }

.content .post h2 {  
    font-size: 29px;
    line-height: 34px;
    margin: 40px 0px 17px;
 }

.wp-block-preformatted { white-space: normal;
    background-color: hsl(150deg 55% 98%);
    padding: 15px 10px;
    border: 1px solid #688d3c38;
    border-radius: 4px;
    color: #002616; }

.wp-block-image { text-align:center;  }
.wp-block-image.vert-spacing { margin:60px 0px; }
.wp-block-image img { display:inline-block;  }

.post p.author-bio { font-size: 14px;
    line-height: 21px;
    border-top: 1px solid #00000036;
    padding: 19px 0px 0px 0px;
    margin-top: 50px; }

h3 a { color:inherit;  }

.thedate {font-size: 11px;font-family: "IBM Plex Mono";text-transform: uppercase;letter-spacing: 3px;color: #414141;}
.thedate::before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  margin-right: .55em;
  width: 1.3em;
  height: 1px;
  background-color: currentColor;
  position: relative;
  top: -1px;
}
.post h2>a {display: block;text-decoration: none;/* font-weight: bold; */font-size: 27px;line-height: 35px;/* font-weight: 100; */}

h2 {margin: 0px 0px 17px;font-weight:normal;font-family: 'IBM Plex Sans', sans-serif;font-weight: 500;}
.highlight { background-color: #cff0ff; }

.header {margin: 0px 0px 60px 0px;background-color: white;/* min-height: 120px; *//* box-shadow: 0 4px 12px 0 rgba(0, 0, 0, 0.05); *//* padding-bottom: 15px; *//* position: fixed; *//* width: 100%; */}
.header .header-top {color: white;padding: 43px 20px 13px;font-size: 45px;line-height: 48px;font-family: 'Noto Sans SC', sans-serif;font-weight: 900;margin: 0px auto;}
#text-homepage {display:block;transition:height .5s ease-in-out;color: white;/* font-family: "IBM Plex Mono"; */font-size: 23px;font-weight: 500;}
.home .header {/* height:100vh; *//* top: 100vh; */}

.single .header .header-top {
    font-size: 32px;
    line-height: 39px;
    padding-top: 60px;
}

@media only screen and (min-width: 650px) {
    .header .header-top {padding: 40px 0px;width: calc( 91.5% - 70px );}
}
@media only screen and (min-width: 980px) {
    .header .header-top {width: calc( 66% - 53px );/* text-align: center; */}
}
@media only screen and (min-width: 1200px) {
    .header .header-top { width: 720px;}
}



.header .header-top a {  }
.header .menu {/*background-color: black;*/padding: 0px 20px;margin: 0px auto;font-family: 'IBM Plex Mono', sans-serif;font-weight: 300;font-size: 15px;}
.header .menu li {display: inline-block;}
.header .menu li a {display: block;color: white;text-decoration: none;padding: 9px 0px;margin: 0px 11px 0px 0px;}
.header .menu li a:hover { text-decoration:underline; }

@media only screen and (min-width: 650px) {
    .header .menu {padding: 0;width: calc( 91.5% - 70px );}
}
@media only screen and (min-width: 980px) {
    .header .menu {width: calc( 66% - 53px );/* text-align: center; */}   
    /* .header .menu li {display:inline;text-align: left;}
    .header .menu li a {display: inline;padding: 10px 20px 10px 0px;} */
}
@media only screen and (min-width: 1200px) {
    .header .menu { width: 720px;}
}



.header, #bottom {background-color: #8BC34A;}




#bottom .wrapper {color: white;padding: 43px 20px 13px;font-size: 45px;line-height: 48px;font-family: 'Noto Sans SC', sans-serif;font-weight: 900;margin: 0px auto;}
#bottom {min-height: 300px;display: flex;text-align: center;color: white;align-items: center;}
#bottom .footer p {color: white; font-size:18px/* font-weight: normal; */}
#bottom .footer p a {color: inherit;text-decoration: underline;}
#bottom .footer p.credits {font-weight: normal;font-size: 14px;}


.pagetitle {font-size: 15px;font-family: 'IBM Plex Mono', sans-serif;font-weight: 300;margin: 0px 0px 30px 0px;margin-bottom: 30px !important;color: inherit;font-size: 31px;}

/* Generic root level responsive wrapper */
.wrapper { padding: 0px 20px;margin: 0px auto; }




.ai-disc { background-color:#f1f1f1; padding:20px; margin:30px 0px;}
.ai-disc .title { font-weight:bold; display:block; }
.ai-disc .description { display:block; font-size: 14px; line-height: 19px;}
.ai-disc .chart { margin: 12px 0px 0px; }
.ai-disc .key { display: flex; }
.ai-disc .key .key-spacer { min-width:80px; }
.ai-disc .key .key-item { flex-grow:1; font-weight: bold; font-size: 13px; }
.ai-disc .key .key-item.right { text-align:right; }


.ai-disc .row-top { display:flex; clear:both; }
.ai-disc .row-title {  }
.ai-disc .row-icon { width: 7px;
    height: 11px;
    display: inline-block;
    background-color: transparent; 
  margin:0px 6px 0px 0px;
  transition:all .2s ease-in-out;
}
.ai-disc .row-icon svg { width: 100%;
    height: 100%;
    display: block;
    object-fit: contain; }

.ai-disc .row-title { min-width: 80px;
    text-align: right;
    white-space: nowrap;
    display: flex;
    align-items: center; }

.ai-disc .row-chart { flex-grow:1; align-items:center; display:flex;}

.ai-disc .row-chart .fg { position: absolute;
    width: 4px;
    height: 150%;
    background-color: #7eb716;
    left: 20%;
    top: -25%; }
.ai-disc .row-chart .bg { background-color:#d9d9d9; height:10px; display:block; width:100%; position:relative; }

.ai-disc .row-bottom { display:none; padding:5px 8px 0px; }
.ai-disc .expanded .row-bottom { display:block; }
.ai-disc .expanded .row-icon { transform:rotate(90deg) }

.ai-disc .expanded .row-bottom  p { font-size: 14px; line-height: 19px; }




@media only screen and (min-width: 650px) {
    .wrapper { padding: 0; width: calc( 91.5% - 70px ); }
}
@media only screen and (min-width: 980px) {
    .wrapper {width: calc( 66% - 53px );/* text-align: center; */}   
}
@media only screen and (min-width: 1200px) {
    .wrapper { width: 720px;}
}





