/************************************************/
/* Pelican Theme CSS Stuff                      */
/*                                              */
/* This is everything that can be ported to     */
/* any theme that I make that isn't "theme"     */
/* so I can change theme stuff a lot!           */ 
/************************************************/




/************************************************/
/* resets                                       */

.post st-link {
    text-decoration: none;
}


/************************************************/
/* main                                         */

.tmpl-library .photo_gallery {
    border: 1px solid var(--base-dark);
    margin: 0 auto;
    padding: 1em;
    }


/************************************************/
/* This is the stuff for my reading library     */

.wip {
    width: 150px;
    opacity: 75%;
    border: 5px solid #d11586
}
.read {
    width: 150px;
}
.dnf {
    width: 150px;
    opacity: 75%;
    filter: grayscale(100%);
}


/************************************************/
/* Gallery TEMPLATE                             */

/* "sourced" aka copied from - https://www.pagemelt.ink/published/ */
/* I have probably made enough changes that is it now "inspired by", but where is that lie really? */

.tmpl-library {
    margin: 0 auto;
    overflow-x: hidden;
}

.photo_gallery {
    display: flex;
    flex-wrap: wrap;
    justify-content: left;
    /*margin: .25em 0 0 0; */
    padding-left: 0;
    width: 100%;
    /*border: 1px;*/
    }

ol.photo_gallery {
    list-style: decimal;
    margin: 0 0 2em 0;}
    ol li {
        padding-left: 20px;
    }
    ol li a {
        border:0;
    }

/************************************************/
/* photos                                       */

.photo {
    display: flex;
    justify-content: center;
    position: relative;
    text-transform: initial;
    transition: transform .05s;
    width: calc(100%/5); /* 13 is for the inner padding and the 0.4 is photo margins. If you want more or less photos per line it will be (n-1) * 0.1 */
    z-index: 1;
}

@media screen and (max-width: 900px) {
.gallery-home li.photo:nth-of-type(7n) {
    display: none;
}
}

@media screen and (max-width: 800px) {
.gallery-home li.photo:nth-of-type(6n) {
    display: none;
}
}

@media screen and (max-width: 710px) {
.gallery-home li.photo:nth-of-type(5n) {
    display: none;
}
}

@media screen and (max-width: 600px) {
.gallery-home li.photo:nth-of-type(4n) {
    display: none;
}
}

.photo:focus .photo__back {
display: flex;
}

.photo:hover, photo:focus {
transform: scale(1.4);
z-index: 1000;
}

.footer .photo:hover, photo:focus {
transform: scale(2);
}

@media screen and (max-width: 800px) {
.photo:hover, photo:focus {
    transform: scale(1.5);
}
}

@media screen and (max-width: 800px) {
.photo.photo--widescreen {
    display: none;
}
}

@media screen and (max-width: 650px) {
.photo.photo--midscreen {
    display: none;
    width: 400px;

}
}

.photo:hover .photo__image {
box-shadow: 0 0 10px rgba(0,0,0,.5);
}


/************************************************/
/* Article/Entry Info                           */

#content {
    width:100%;
}

#entry-info {
    margin: 0 0 1em 0;
    /*border-bottom: solid 5px var(--style-colour); 
    padding: 1em 0 0 0;*/
    position: relative;
}

#entry-info p {
    line-height: 1;
}

#post-info {
    margin: 1em 0 1em 0;
    border-bottom: solid 5px var(--style-colour); 
    padding: 1em 0 2em 0;
    position: relative;
}
#post-info p {
    line-height: 1;
}

.pentry {
    margin: 0 0 0 0;
}


/************************************************/
/* Special Classes                              */

.share {
    margin: 1em 0 1em 0;
}


/************************************************/
/* Post Series Styling                          */

.post-series p {
    color: var(--header-colour);
    font-family: "Roboto Slab", serif;
    font-weight: 700;
    font-size: 1.5em;
    text-decoration: underline;     
    margin-top: 1em;
    margin-bottom: -0.5em;
}

.parts {
    display: block;
    list-style-type: decimal;
    margin-top: 1em;
    margin-bottom: 2em;
    margin-left: 0;
    margin-right: 0;
    padding-left: 40px;
}

/************************************************/

/* Article footer */

#article-footer {
    margin-top: 5em;
}

/************************************************/

/*  Comments */

.comments {
    margin: .1em;
    max-width: 650px;
}

/*************************************************/

/* Mastodon Comments */
.mastodon-comment {
    background-color:var(--body-background);
    border-radius:var(--card-border-radius);
    padding:var(--card-padding);
    margin-bottom:1rem;
    display:flex;
    gap:1rem;
    flex-direction:column;
    flex-grow:2
   }
   .mastodon-comment .comment {
    display:flex;
    flex-direction:row;
    gap:1rem;
    flex-wrap:true
   }
   .mastodon-comment .comment-avatar img {
    width:6rem
   }
   .mastodon-comment .content {
    flex-grow:2
   }
   .mastodon-comment .comment-author {
    display:flex;
    flex-direction:column
   }
   .mastodon-comment .comment-author-name {
    font-weight:700
   }
   .mastodon-comment .comment-author-name a {
    display:flex;
    align-items:center
   }
   .mastodon-comment .comment-author-date {
    margin-left:auto
   }
   .mastodon-comment .disabled {
    color:var(--accent-color)
   }
   .mastodon-comment-content p:first-child {
    margin-top:0
   }

   .mastodon {
    --dlg-bg:#282c37;
    --dlg-w:600px;
    --dlg-color:#9baec8;
    --dlg-button-p:0.75em 2em;
    --dlg-outline-c:#00D9F5
   }

.mastodon-wrapper {
    display: flex;
    gap: 3rem;
    flex-direction: row;
  }

.mastodon-comment-content p:first-child {
    margin-top: 0;
}

.mastodon {
  --dlg-bg: #282c37;
  --dlg-w: 600px;
  --dlg-color: #9baec8;
  --dlg-button-p: 0.75em 2em;
  --dlg-outline-c: #00D9F5;
}


/* -- admonitions ----------------------------------------------------------- */

div.admonition {
    width: 80%;
    margin-top: 10px;
    margin-bottom: 10px;
    margin-right: 10px;
    padding: 7px;
    background-color: var(--admonition-backgroud);
    
}

div.admonition dt {
    font-weight: bold;
}

p.admonition-title {
    background-color: var(--admonition-header-backgroud);
    margin: 0px 10px 5px 0px;
    font-weight: bold;
    font-size: 1em;

}

div.body p.centered {
    text-align: center;
    margin-top: 25px;
}


div.admonition > :last-child {
    margin-bottom: 0;
}

div.admonition::after,
blockquote::after {
    display: block;
    content: '';
    clear: both;
}

/************************************************/

/* Linktrees are a thing			*/
/* used liberally from mollywhite.net from Sept 2, 2022 */

.linktree {
  width: 100%;
  height: 100%;
}
.linktree * {
  box-sizing: border-box;
}
.linktree body {
  width: 100%;
  height: 100%;
  background-color: #96B78A;
}
.linktree .linktree-content {
  max-width: 680px;
  margin: 100px auto 0 auto;
  width: 100%;
  height: 100%;
  padding: 24px 12px;
}
.linktree .linktree-content .wrapper {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.linktree .linktree-content .wrapper a.linktree-link {
  display: block;
  box-sizing: border-box;
  width: 100%;
  text-align: center;
  text-decoration: none;
  line-height: 40px;
  background-color: #FFFFFF;
  margin-bottom: 15px;
  border: 2px solid #FFFFFF;
  border-radius: 4px;
  padding: 5px;
}
.linktree .linktree-content .wrapper a.linktree-link:hover {
  background: rgba(255, 255, 255, 0.4);
}
.linktree .linktree-content .wrapper .social-links {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
}
.linktree .linktree-content .wrapper .social-links a {
  color: #FFFFFF;
  text-decoration: none;
  padding: 0 10px;
  font-size: 120%;
}

/************************************************/

/* Graphviz		                            	*/

div.graphviz  {
    margin: 10px;
}
div.graphviz img {
    display: block;
    padding: 5px;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    border-style: solid;
    border-width: 1px;
    border-color: rgb(192, 177, 177);
}

/************************************************/

/* Archive Listing                            	*/

dl.archive {
    width: 100%;
    overflow: hidden;
    padding: 0;
    margin: 0
  }
dt.archive {
    float: left;
    width: 50%;
    /* adjust the width; make sure the total of both is 100% */
    font-weight: 600;
    padding: 0;
    margin: 0
  }
dd.archive {
    float: left;
    width: 50%;
    /* adjust the width; make sure the total of both is 100% */
    padding: 0;
    margin: 0
  }

