
/* --- entries --- */

.entries {
    position:relative;
    z-index:200;
    height:auto;
    width:calc(var(--post-size) + 2px + 20px + 60px);
}

/* --- posts --- */

article {
    position:relative;
    width:calc(var(--post-size) + 2px + 20px + 60px);
    margin:0px 0px 80px 0px;
    display:flex;
    align-items:flex-start;
    justify-content:flex-end;
    flex-wrap:wrap;
    gap:20px;
}

.post-icon {
    width:60px;
    height:60px;
    margin-top:11px;
    border-radius:8px;
    box-shadow:inset 0px 0px 5px rgba(0,0,0,0.05), 0px 0px 5px rgba(0,0,0,0.05);
    overflow:hidden;
    background:var(--posts);
}

    .post-icon img {
        width:60px;
        height:60px;
    }

.post {
    position:relative;
    width:var(--post-size);
    background-color:var(--posts);
    border:1px solid var(--border);
    box-shadow:0px 0px 5px rgba(0,0,0,0.05);
    border-radius:10px;
    
}

    .post img:not([photoset-layout] img, .photoset-grid img) {
        max-width:100%;
        height:auto;
        display:block;
    }
    
.post-top {
    position:relative;
    z-index:2;
    margin:0px;
    padding:20px;
    height:auto;
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:space-between;
}

    .post-top-reblogger {
        font-weight:700;
        width:calc(100% - 20px);
        display:flex;
        align-items:center;
        gap:10px;
    }
    
    .post-top-reblogger .ti {
            font-size:14px;
            width:14px;
            height:14px;
        }

.post-top-icon .ti {
	font-size:20px;
	width:20px;
	height:20px;
}
    
    a.post-top-date {
        color:rgba(var(--rgb-text),0.8);
        font-weight:400;
        font-family:'Inconsolata', monospace;
        text-transform:lowercase;
    }
    
    .pinned {
        position:relative;
        padding:20px;
        border-bottom:1px solid var(--border);
        color:var(--accent);
        display:flex;
        align-items:center;
        gap:10px;
    }
    
        .pinned .ti {
            font-size:15px;
            width:15px!important;
            height:15px!important;
            color:var(--accent);
        }

/* --- text posts --- */

.title {
    padding:0px 20px;
    width:100%;
    font-size:1.7em;
    line-height:1.1em;
    text-align:left;
    font-weight:600;
    box-sizing:border-box;
}

.caption > .title:first-child {padding:20px 20px 0px 20px;}
.title + .tumblr_blog {padding:0px 20px 0px 20px;}

.more a {
    font-size:1.2em;
    font-weight:bold;
	color:var(--text);
}

    .title a, .more a {
        border-bottom:1px solid var(--border);
    }

.title a:hover, .more a:hover {
            border-bottom:1px solid var(--accent);
        }

.poll-post a.poll-row {
    width:calc(var(--post-size) - 40px);
    font-weight:400;
    border-radius:5px;
    background-color:var(--background);
    border:1px solid var(--border);
}

    .poll-post a.poll-row:hover {
        background-color:var(--accent);
    }

.caption {
    overflow:hidden;
    display:flex;
    flex-wrap:wrap;
    gap:20px;
}

    .caption p {
        width:100%;
        margin:0px;
    }

    .caption p:empty{
        display:none;
    }
    
    .caption-inner {
        width:100%;
        box-sizing:border-box;
        padding:0px 20px;
        display:flex;
        flex-wrap:wrap;
        gap:10px;
    }
    
    .caption-inner:last-of-type {
        padding:0px 20px 20px 20px;
    }
    
     .caption-inner > div:last-child:is(.npf_row),
     .photoset-grid:has(+ .caption-inner-reblogs):not(:has(+ .caption-inner)),
     .photo-p:has(+ .caption-inner-reblogs):not(:has(+ .caption-inner)), 
     .video:has(+ .caption-inner-reblogs):not(:has(+ .caption-inner)) {
        margin-bottom:-20px!important;
    }
    
    .caption-inner-reblogs {
        width:100%;
        box-sizing:border-box;
        display:flex;
        flex-wrap:wrap;
        gap:10px;
        padding:20px 20px 0px 20px;
	    border-top:1px solid var(--border);
    }
    
    .caption-inner-reblogs:last-of-type {
        padding:20px;
    }

    
/* --- unnested captions --- */

        
blockquote.tumblr_parent {
    border:none;
    padding:0px;
    margin:0px;
}

    blockquote.tumblr_parent:last-of-type {
        border:none;
        margin:0px;
    }

img.tumblr_avatar {
    width:30px;
    height:30px;
    border-radius:3px;
    float:left;
    margin-right:10px;
}

.tumblr_blog {
    width:100%;
    height:30px;
    display:inline-flex;
    align-items:center;
    font-weight:600;
}

p .tumblr_blog {display:initial;}
    
    .caption > hr + .tumblr_blog {padding:0px 20px;}
    .caption-inner > .tumblr_blog, .caption-inner-reblogs > .tumblr_blog {margin-bottom:10px;}

.tumblr_blog a:hover, a.tumblr_blog:hover {color:var(--accent);}
    .tumblr_blog a:not([href]):hover {color:var(--text);}
.tumblr_blog i {font-style:normal;}

.deactivated {
    font-weight:600;
    opacity:50%;
    margin-left:10px;
}

.tmblr-attribution {
    display:none;
}

/* --- photos --- */

.photo img {
    display:block;
}

.photo-p img {width:var(--post-size);}

.photo-slideshow img {
    border-radius:0px;
}

[photoset-layout] {
    grid-gap: 4px;
    width:calc(100% + 40px);
}

[photoset-layout] div {
  cursor: pointer;
}

.post-content .crt-video+div.npf_row, .post-content div.npf_row+.crt-video, .post-content div.npf_row, .post-content p+div.npf_row, .post .crt-video+div.npf_row, .post div.npf_row+.crt-video, .post div.npf_row, .post p+div.npf_row, body .crt-video+div.npf_row, body div.npf_row+.crt-video, body div.npf_row, body p+div.npf_row,

.post-content div.npf_row, .post div.npf_row, body div.npf_row {
    margin:0px -20px 0px -20px;
    width:calc(100% + 40px);
}

.post-content div.npf_row .npf_col, .post-content div.npf_row figure.tmblr-full, .post div.npf_row .npf_col, .post div.npf_row figure.tmblr-full, body div.npf_row .npf_col, body div.npf_row figure.tmblr-full {
    padding-left:2px;
    padding-right:2px;
}

.post-content div.npf_row+div.npf_row, .post-content div.npf_row+figure.tmblr-full, .post div.npf_row+div.npf_row, .post div.npf_row+figure.tmblr-full, body div.npf_row+div.npf_row, body div.npf_row+figure.tmblr-full {
    margin-top:-6px;
    margin-right:-20px;
    margin-bottom:0px;
    margin-left:-20px;
    border-radius:0px;
}

.post-content .crt-video+div.npf_row, .post-content div.npf_row+.crt-video, .post-content div.npf_row+p, .post-content p+div.npf_row, .post .crt-video+div.npf_row, .post div.npf_row+.crt-video, .post div.npf_row+p, .post p+div.npf_row, body .crt-video+div.npf_row, body div.npf_row+.crt-video, body div.npf_row+p, body p+div.npf_row {
   
}

.post-content .crt-video+div.npf_row, .post-content div.npf_row+.crt-video, .post-content div.npf_row+p, .post-content p+div.npf_row, .post .crt-video+div.npf_row, .post div.npf_row+.crt-video, .post div.npf_row+p, .post p+div.npf_row, body .crt-video+div.npf_row, body div.npf_row+.crt-video, body div.npf_row+p, body p+div.npf_row {
    margin-top:10px;
}

.post-content p:empty+div.npf_row, .post p:empty+div.npf_row, body p:empty+div.npf_row {
    margin-top:0px;
}

   
    

.npf_row + .npf_indented {
 margin-top:10px;   
}

figure.tmblr-full {
    width:100%;
}



video, .video, .video iframe {
    width:var(--post-size);
    margin-left:0px;
}

.tumblr_video_container {
    width:var(--post-size);
    background-color:var(--background);
}

figure.tmblr-embed {
    width:var(--post-size);
    margin:0px -20px;
}

.soundcloud_audio_player {
    max-height:116px!important;
}

.spotify_audio_player {
    max-height:80px!important;
}

.tmblr-full>video {
    margin:0px -20px;
    width:calc(100% + 40px);
}

.tmblr-embed>iframe {width:100%;height:150%;}


/* --- quotes --- */

.quote-p, .npf_quote, p.npf_quote {
    width:100%;
    font-weight:400;
    text-align:left;
    font-size:2em;
    line-height:1.2em;
    font-family: 'DM Serif Display', serif;
    quotes: '“' '”' "‘" "’";
}

.quote-p:before, .npf_quote:before {content:open-quote;}
.quote-p:after, .npf_quote:after {content:close-quote;}

.source {
    position:relative;
    padding-left:20px;
    font-style:italic;
}

    .source:before {
        content:'—';
        position:absolute;
        top:0px;
        left:0px;
    }

    .source a,
    .source a.tumblr_blog {
        width:auto; height:auto;
        border-bottom:2px solid var(--accent);}
        
    .source a:hover {border-bottom:2px solid var(--border);}
        
/* --- links --- */

.link-p {
    position:relative;
    width:calc(100% - 40px);
    margin-top:0px;
    margin-right:20px;
    margin-bottom:20px;
    margin-left:20px;
    border-radius:5px;
    overflow:hidden;
	border:1px solid var(--border);
}

.link-p + .caption-inner {margin-top:-20px;}
.link-p:has(+ .caption-inner-reblogs):not(:has(+ .caption-inner)) {margin-bottom:0px;}

div.npf-link-block.no-poster {position:relative;}

.link-thumbnail,
div.npf-link-block.no-poster .title {
    background-size:cover;
    background-position:center center;
    width:100%;
    height:200px;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    box-sizing:border-box;
    padding:20px;
	border-bottom:1px solid var(--border);
}

    .link-thumbnail:before,
    div.npf-link-block.no-poster .title:before {
        content:'';
        position:absolute;
        z-index:1;
        top:0px;
        left:0px;
        width:100%;
        height:200px;
        background-color:rgba(0,0,0,0.4);
    }
    
    div.npf-link-block.no-poster .title:before {z-index:-1;}
    
    .link-thumbnail h2,
    div.npf-link-block .poster .title,
    div.npf-link-block.no-poster .title {
        z-index:10;
        font-weight:600;
        font-size:1.5em;
        position:relative;
	    color:var(--posts);
    }
    
div.npf-link-block .poster {
    height:200px;
}

.link-text,
div.npf-link-block .bottom {
    width:calc(100% - 40px);
    padding:20px;
}

.link-text,
div.npf-link-block .bottom {
    display:flex;
    flex-wrap:wrap;
    gap:10px;
}

    .link-excerpt,
    div.npf-link-block .bottom .description {
        font-size:1.1em;
        line-height:1.5em;
        overflow:visible;
    }

    .link-url {
        font-size:0.85em;
        text-transform:uppercase;
	    color:rgba(var(--rgb-text),0.65);
    }
    
div.npf-link-block {
    width:100%;
    border-radius:5px;
    margin:0px;
	border:1px solid var(--border);
}

div.npf-link-block .title {
    max-height:200px;
}

div.npf-link-block .bottom .site-name {width:100%; margin:0px;}

/* --- audio --- */

.tmblr-full>.audio-caption .album, .tmblr-full>.audio-caption .artist {
    font-size:1em;
    line-height:1.5em;
}
        
.audio_buttons {
    background-color:var(--accent);
}

    .audio_buttons .ti {
        color:var(--posts);
    }
iframe.spotify_audio_player,
iframe.soundcloud_audio_player {
    width:calc(var(--post-size) - 40px)!important;
}

.audio {
    width:100%;
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:space-between;
    gap:20px 0px;
    margin-bottom:20px;
}

    .tmblr-full>.audio-caption {
        gap:20px;
        flex-direction:row-reverse;
    }

    .audio-cover,
    .tmblr-full>.audio-caption .album-cover {
        position:relative;
        width:140px;
        height:140px;
        border-radius:5px;
        border:1px solid var(--border);
        background-size:cover;
        background-position:center center;
    }
    
    .audio-cover {margin-left:20px;}
    
    .audio-text,
    .tmblr-full>.audio-caption .audio-details {
        width:calc(100% - 180px);
        box-sizing:border-box;
        padding:0px 20px 0px 0px;
        display:flex;
        flex-wrap:wrap;
        align-items:center;
        justify-content:center;
        gap:10px;
    }
    
        .audio-text-song, .audio-text-artist, .audio-text-album,
        .tmblr-full>.audio-caption .album, .tmblr-full>.audio-caption .artist {
            position:relative;
            width:100%;
            height:auto;
        }
    
        .audio-text-song,
        .tmblr-full>.audio-caption .title {
            font-size:1.2em;
            font-weight:600;
            padding:0px;
        }
    
    .audio_player {
        width:100%;
        box-sizing:border-box;
        padding:0px 20px;
        display:flex;
        flex-wrap:wrap;
        gap:5px;
    }
        
        .audio_player-time {
            width:100%;
            display:flex;
            align-items:center;
            justify-content:space-between;
        }
        
.seekbar {
	width:100%;
	height:5px;
	border-radius:5px;
	overflow:hidden;
	border:1px solid var(--border);
}

.seekbar_progress {
	width:0;
	height:100%;
	background-color:var(--accent);
}

.audio_player-buttons {
    width:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:30px;
}

.audio_buttons {
    width:40px;
    height:40px;
    border-radius:40px;
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    box-shadow:0px 0px 5px rgba(78,78,78,0.1);
}

    .audio_buttons .ti {
        font-size:20px;
        width:20px;
        height:20px;
    }
    
    .audio_buttons .play_button,
    .audio_buttons .pause_button {
        width:20px;
        height:20px;
    }
    
    .tmblr-full>audio {
        margin-top:20px;
        width:100%;
    }
    
.audio + .caption-inner {margin-top:-20px;}
.audio:has(+ .caption-inner-reblogs):not(:has(+ .caption-inner)) {margin-bottom:0px;}
        

/* --- asks --- */

.question-c, .answer-c {
    width:100%;
    margin:0px;
    padding:0px 20px;
    display:flex;
    align-items:flex-end;
}

    .question-img, .answer-img {
        position:relative;
        z-index:10;
        width:48px;
        height:auto;
    }
    
        .question-img {margin:0px 10px 0px 20px;}
        .answer-img {margin:0px 20px 0px 10px;}
        
        .question-img img,
        .answer-img img {
            position:relative;
            z-index:1;
            width:40px;
            height:40px;
            border-radius:8px;
        }

	.answer-c blockquote {
            margin:0px;
            padding:0px 0px 0px 15px;
            width:auto;
        }
        
    .question {
        position:relative;
        z-index:1;
        width:100%;
        height:auto;
        font-weight:normal;
    }
    
    .answer {
        position:relative;
        z-index:1;
        width:100%;
        height:auto;
        font-weight:normal;
    }
    
    .question-asker-c,
    .answer-asker-c {
        width:100%;
        margin-bottom:10px;
        display:flex;
        align-items:center;
        justify-content:flex-start;
    }
    
    .question-asker, .answer-asker {
        width:100%;
        margin:0px 0px 0px 0px;
        display:flex;
        flex-wrap:wrap;
        align-items:center;
    }
    
        .answer-asker {
            text-align:right;
        }

        .question-asker b,
        .answer-asker b,
        .question-asker a,
        .answer-asker a {
            font-weight:700;
            text-transform:lowercase;
            width:100%;
        }
        
        .question-asker span,
        .answer-asker span {
            width:100%;
        }

	.question-asker a:hover,
        .answer-asker a:hover {
            color:var(--accent);
        }
    
    .question-content,
    .answer-content {
        position:relative;
        border-radius:8px;
        padding:20px;
        margin-top:15px;
        background-color:rgba(var(--rgb-text),0.05);
	display:flex;
	flex-direction:column;
	gap:10px;
    }
    
        .question-content:before,
        .answer-content:before {
            content:'';
            position:absolute;
            z-index:10;
            top:-7.5px;
            width:15px;
            height:15px;
            transform:rotate(45deg);
            border-radius:3px 0px 0px 0px;
            clip-path: polygon(0 0, 0% 100%, 100% 0);
		background-color:rgba(var(--rgb-text),0.05);
        }
        
        .question-content:before {left:30.5px;}
        .answer-content:before {right:30.5px;}
    
    .question-content p:first-of-type,
    .answer-content p:first-of-type {
        margin-top:0px;
    }
    
    .question-content p:last-of-type,
    .answer-content p:last-of-type {
        margin-bottom:0px;
    }
    
    .question-content img,
    .answer-content img {
        border-radius:5px;
    }
    
/* --- chat --- */

.chat {
    width:100%;
    padding:0px 20px 20px 20px;
    display:flex;
    flex-wrap:wrap;
    gap:10px;
}

.chat,
p.npf_chat {
    font-family:'Inconsolata', monospace;
}

/* --- submissions --- */
        
.submitted {
    width:calc(100% - 40px);
    padding:20px 20px 0px 20px;
    border-top:1px solid var(--border);
}
    
/* --- post info --- */

.post-date {
    position:relative;
    z-index:2;
    margin:0px;
    padding:20px;
    width:calc(100% - 40px);
    height:auto;
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:space-between;
}

    .post-date a {
        display:flex;
        align-items:center;
    }

	.post-date a:hover {
            color:var(--accent);
        }
    
    .post-date i {
        font-size:20px;
        display:block;
        width:20px;
        height:20px;
    }
    
    .post-date .date-left {
        position:relative;
        width:auto;
        height:auto;
        display:flex;
        justify-content:flex-start;
    }
    
        .date-left a {
            font-weight:700;
        }
        
    .post-date .date-right {
        width:80px;
        height:auto;
        display:flex;
        justify-content:flex-end;
    }
    
    .date-right a:last-of-type {margin-left:10px;}
    
    .date-right .like .like_button {position:relative; height:21px;}

    .date-right .like .liked + svg {stroke:var(--text);}
    .date-right .like .liked + svg path {fill:var(--accent);stroke:var(--text);}

    .date-right .like .liked:before {content:'\eabe'; font-family:tabler-icons; display:block; font-size:20px; width:20px; height:20px; color:var(--text); position:absolute;}
    .date-right .like .liked:after {content:'\f67c'; font-family:tabler-icons; display:block; font-size:20px; width:20px; height:20px; color:var(--accent);}
    .date-right .like .liked + i {display:none;}
    
    #like.liked svg {fill:var(--accent);stroke:var(--text);}

    .date-right .like .like_button iframe {
        position:absolute;
        top:0px;
        left:0px;
        width:15px;
        height:15px;
        z-index:2;
        opacity:0;
    }
   
    .date-perma {
        width:100%;
	display:flex;
        flex-wrap:wrap;
        gap:10px;
    }
    
        .date-perma a {
            display:inline;
            margin-left:0px;
            font-weight:600;
        }

	.date-perma a:hover {
                color:var(--accent);
            }

            .date-perma-blocks:first-of-type {
                border-top:1px solid var(--border);
                padding-top:20px;
            }
            
            .date-perma-blocks:last-of-type {
                padding-bottom:20px;
            }
            
            .date-perma-blocks {
                width:100%;
                box-sizing:border-box;
                padding-right:20px;
                padding-left:20px;
                display:flex;
                align-items:center;
                justify-content:flex-start;
                gap:10px;
            }
            
            .date-perma-blocks i {
                font-style:normal;
            }

/* --- tags --- */

.tags-c {
    position:relative;
    width:100%;
    margin:10px 0px 0px 0px;
}

.tags {
    font-weight:400;
    font-family:'Inconsolata', monospace;
}
 
    a.tags {
        display:inline;
	color:rgba(var(--rgb-text),0.7);
    }

	a.tags:hover {
            color:rgba(var(--rgb-text),1);
        }

/* --- notes --- */

.pagenotes {
    position:relative;
    width:var(--post-size);
    background-color:var(--posts);
    border:1px solid var(--border);
    box-shadow:0px 0px 5px rgba(0,0,0,0.05);
    border-radius:10px;
}

    .pagenotes h1 {
        border-bottom:1px solid var(--border);
        width:calc(100% - 40px);
        padding:20px;
    }

    .pagenotes img {
        border-radius:20px;
        width:30px;
        height:30px;
    }
    
        .avatar_frame {
            width:30px;
            height:30px;
            border:none;
            margin-right:15px;
        }
        
            .avatar_frame:hover {
                border:none;
            }
    
    .pagenotes a {
        font-weight:800;
    }
    
    .pagenotes ol {
        list-style-type:none;
        margin:0px;
        padding:5px 20px;
        width:calc(100% - 40px);
    }
    
    .pagenotes ol li {
        position:relative;
        margin:15px 0px;
        display:flex;
        align-items:center;
    }
    
        .pagenotes .with_commentary {
            flex-wrap:wrap;
        }
        
        .pagenotes .action {
            width:calc(100% - 45px);
        }
        
        .pagenotes .like::before,
        .pagenotes .reblog::before,
        .pagenotes .reply::before,
        .pagenotes .original_post::before,
        .pagenotes .post_attribution::before {
            font-family:tabler-icons;
            position:absolute;
            width:20px;
            height:20px;
            top:15px;
            left:15px;
            color:#f2f2f2;
            border-radius:15px;
            font-size:12px;
            display:flex;
            align-items:center;
            justify-content:center;
	    border:1px solid var(--posts);
        }
        
        .pagenotes .like::before {
            content:'\eabe';
            background-color:#c86549;
        }
        
        .pagenotes .reblog::before {
            content:'\eb72';
            background-color:#74ba8e;
        }
        
        .pagenotes .reply::before {
            content:'\ed3f';
            background-color:#4f4e4e;
        }
        
        .pagenotes .original_post::before {
            content:'\eb04';
            color:#4f4e4e;
            background-color:#f2f2f2;
        }
        
        .pagenotes .post_attribution::before {
            content:'\eb0b';
            background-color:#4f4e4e;
        }
    
/* --- credit / do not edit --- */

a.credit {
    position:fixed;
    z-index:10;
    right:10px;
    bottom:10px;
}

    a.credit i {font-size:24px;}
