nicolas-sage

theme 30: jade

Jul 17th, 2024 (edited)
215
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 64.39 KB | None | 0 0
  1. <!DOCTYPE html>
  2. <html lang="en" data-theme="light">
  3. <head>
  4. <link rel="shortcut icon" href="{Favicon}" />
  5. <link rel="alternate" type="application/rss+xml" href="{RSS}" />
  6. <title>{Title}</title>
  7. {block:Description}
  8. <meta name="description" content="{MetaDescription}" />
  9. {/block:Description}
  10. {NewPostStyles}
  11. <meta charset="utf-8">
  12. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  13.  
  14. <!----
  15. _________
  16. / \
  17. | __ __ |
  18. | |__| |__| | JADE THEME BY SAGE / PHANTOMCODES
  19. | | https://phantomcodes.tumblr.com
  20. | _ _ _ |
  21. |_| |_| |_| |_|
  22.  
  23.  
  24.  
  25. CREDITS:
  26. - phosphor icons / phosphoricons.com
  27. - tabler icons / https://tabler-icons.io/
  28. - tippy.js tooltips / https://atomiks.github.io/tippyjs/
  29. - bunny fonts / https://fonts.bunny.net/
  30. - npf base code by eggdesign / https://egg.design/post/714907681362771968/npf-based-template
  31. - pxu photosets by pixel union with modifications by bychloethemes / https://bychloethemes.tumblr.com/post/155956945114/modified-pxu-photoset-script-modified-by
  32. - responsive videos by nouvae / https://nouvae.tumblr.com/post/176815415055/tutorial-responsive-tumblr-videos-and-external
  33. - time ago plugin by chloethemes / https://bychloethemes.tumblr.com/plugins/timeago
  34. - notes shortener by shythemes / https://shythemes.tumblr.com/post/156021137818/hello-i-was-wondering-if-you-knew-how-to-shorten
  35. - day/night mode tutorial by eggdesign / https://egg.design/post/186889223257/day-night-mode-tutorial-after-featuring-a
  36. - dark mode guide by 22mm / https://22mm.tumblr.com/post/673476677544837120/a-dark-mode-guide-with-css-variables-and-js-this
  37. - npf audio player by @glenthemes / https://glenthemes.tumblr.com/post/722160746171072512/npf-audio-player
  38. - copy link to post tutorial by glenthemes / https://glenthemes.tumblr.com/post/173993578944/copy-link-to-post-button-tutorial
  39. - hide tutorial by lmthemes / https://lmthemes.tumblr.com/post/30046967698/tutorial-05-hide-stuff-tutorial-in-this
  40.  
  41. ---->
  42.  
  43. <!-- STYLESHEETS -->
  44.  
  45. <!---- PHOTOSET ---->
  46. <link href="https://static.tumblr.com/qudkd6d/OcDnl99gb/style.css" rel="stylesheet" type="text/css"/>
  47. <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
  48. <script src="https://static.tumblr.com/yxfeliq/hHwojmt8m/bctphotoset.min.js"></script>
  49.  
  50. <!----- BUNNY FONTS ---->
  51. <link href="https://fonts.bunny.net/css?family={text:body font}:300,400,500,600,700,800,300i,400i,500i,600i,700i,800i" rel="stylesheet" /><link href="https://fonts.bunny.net/css?family={text:title font}:300,400,500,600,700,800,300i,400i,500i,600i,700i,800i" rel="stylesheet" />
  52.  
  53. <!---- ICONS ---->
  54. <script src="https://unpkg.com/phosphor-icons"></script>
  55. <script src="https://unpkg.com/[email protected]"></script>
  56. <script src="//pull.cappuccicons.com/cpf.js"></script>
  57. <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@tabler/icons@latest/iconfont/tabler-icons.min.css"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@tabler/[email protected]/tabler-icons.min.css">
  58.  
  59.  
  60. <!---- TOOLTIPS ---->
  61. <script src="https://unpkg.com/popper.js@1"></script>
  62. <script src="https://unpkg.com/tippy.js@5/dist/tippy-bundle.iife.js"></script>
  63.  
  64. <!--- FLICKITY --->
  65. <link rel="stylesheet" href="https://unpkg.com/flickity@2/dist/flickity.min.css">
  66.  
  67. <!---- VIDEOS ---->
  68. <script src="https://rawgit.com/robinpx/tumblr/master/scripts/flexibleFrames/flexibleFrames.min.js"></script>
  69.  
  70. <!---- COPY LINK ---->
  71. <script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script>
  72. <script>
  73. $(document).ready(function(){
  74. var clipboard = new ClipboardJS("#copybutton");
  75. });
  76. </script>
  77.  
  78. <!---- TIME AGO ----->
  79. <script type="text/javascript" src="https://static.tumblr.com/i5s2zks/9Acok8oo2/bct-timeago.min.js"></script>
  80. <script type="text/javascript">
  81. $(document).ready(function() {
  82. $(".time-ago").timeAgo({
  83. time: "short",
  84. spaces: true,
  85. words: false,
  86. prefix: "",
  87. suffix: "ago",
  88. });
  89. });
  90. </script>
  91.  
  92. <script src="https://code.jquery.com/ui/1.13.0/jquery-ui.js"></script>
  93.  
  94. <!---- VARIABLES ---->
  95.  
  96. <meta name="image:Sidebar" content="" />
  97.  
  98. <meta name="color:Background" content="#ddd" />
  99. <meta name="color:Posts" content="#eee" />
  100. <meta name="color:Borders" content="#ccc" />
  101. <meta name="color:Title" content="#333" />
  102. <meta name="color:Text" content="#555" />
  103. <meta name="color:Accent One" content="#508567"/>
  104. <meta name="color:Accent Two" content="#70a487"/>
  105.  
  106. <meta name="color:Night Background" content="#222" />
  107. <meta name="color:Night Posts" content="#333" />
  108. <meta name="color:Night Borders" content="#444" />
  109. <meta name="color:Night Title" content="#fff" />
  110. <meta name="color:Night Text" content="#ddd" />
  111. <meta name="color:Night Accent One" content="#92f0bb"/>
  112. <meta name="color:Night Accent Two" content="#bff0da"/>
  113.  
  114. <meta name="select:Corners" content="15px" title="more round"/>
  115. <meta name="select:Corners" content="10px" title="round"/>
  116. <meta name="select:Corners" content="5px" title="slightly round"/>
  117. <meta name="select:Corners" content="0px" title="sharp"/>
  118.  
  119. <meta name="select:Tags" content="clicktags" title="on click"/>
  120. <meta name="select:Tags" content="tags" title="default"/>
  121.  
  122. <meta name="if:Explore" content="1"/>
  123. <meta name="if:Sidebar Stats" content="1"/>
  124. <meta name="if:Updates" content="1"/>
  125.  
  126. <meta name="text:Body Font" content="Nunito"/>
  127. <meta name="text:Title Font" content="Montserrat"/>
  128. <meta name="text:Font Size" content="15"/>
  129. <meta name="text:Blog Title" content="custom title"/>
  130. <meta name="text:Blog Name" content="your url here"/>
  131. <meta name="text:Custom Description" content="custom description"/>
  132.  
  133. <meta name="text:Header Link 1" content="/"/>
  134. <meta name="text:Header Link 1 Name" content="link one"/>
  135. <meta name="text:Header Link 1 Icon" content="planet"/>
  136. <meta name="text:Header Link 2" content="/"/>
  137. <meta name="text:Header Link 2 Name" content="link two"/>
  138. <meta name="text:Header Link 2 Icon" content="comet"/>
  139. <meta name="text:Header Link 3" content="/"/>
  140. <meta name="text:Header Link 3 Name" content="link three"/>
  141. <meta name="text:Header Link 3 Icon" content="cloud"/>
  142. <meta name="text:Header Link 4" content=""/>
  143. <meta name="text:Header Link 4 Name" content=""/>
  144. <meta name="text:Header Link 4 Icon" content=""/>
  145.  
  146. <meta name="text:Sidebar Stat 1" content="name"/>
  147. <meta name="text:Sidebar Stat Icon 1" content="writing-sign"/>
  148. <meta name="text:Sidebar Stat 2" content="pronouns"/>
  149. <meta name="text:Sidebar Stat Icon 2" content="sparkles"/>
  150. <meta name="text:Sidebar Stat 3" content="age"/>
  151. <meta name="text:Sidebar Stat Icon 3" content="cake"/>
  152. <meta name="text:Sidebar Stat 4" content="zodiac"/>
  153. <meta name="text:Sidebar Stat Icon 4" content="sun-high"/>
  154.  
  155. <meta name="text:Update 1" content="watching"/>
  156. <meta name="text:Update Icon 1" content="device-tv-old"/>
  157. <meta name="text:Update 2" content="listening to"/>
  158. <meta name="text:Update Icon 2" content="headphones"/>
  159. <meta name="text:Update 3" content="reading"/>
  160. <meta name="text:Update Icon 3" content="book"/>
  161. <meta name="text:Update 4" content="playing"/>
  162. <meta name="text:Update Icon 4" content="device-gamepad-2"/>
  163. <meta name="text:Update 5" content="working on"/>
  164. <meta name="text:Update Icon 5" content="briefcase"/>
  165. <meta name="text:Update 6" content=""/>
  166. <meta name="text:Update Icon 6" content=""/>
  167.  
  168. <meta name="text:Sidebar Footer" content="quote / keep this short"/>
  169.  
  170. <!--- day/night --->
  171. <script>
  172. const storedTheme = localStorage.getItem("theme") || (window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light");
  173. if (storedTheme) document.documentElement.setAttribute("data-theme", storedTheme);
  174. </script>
  175.  
  176. <!------- CSS -------->
  177. <style>
  178.  
  179. /* theme options - common */
  180. :root {
  181. --Spacing: 1rem;
  182. --Corners:{select:Corners}
  183. }
  184.  
  185. /* theme options - day/night */
  186. :root, html[data-theme='light'] {
  187. --LightOn: flex;
  188. --LightOff: none;
  189. --ColorBackground: {color:background};
  190. --ColorPosts: {color:posts};
  191. --ColorBorders: {color:borders};
  192. --ColorTitle: {color:title};
  193. --ColorText: {color:text};
  194. --ColorAccentOne: {color:accent one};
  195. --ColorAccentTwo: {color:accent two};
  196. --ColorOpacity: rgba(255,255,255,.1);
  197. --ColorReverseOpacity: rgba(0,0,0,.1);
  198. }
  199. html[data-theme='dark'] {
  200. --LightOn: none;
  201. --LightOff: flex;
  202. --ColorBackground: {color:night background};
  203. --ColorPosts: {color:night posts};
  204. --ColorBorders: {color:night borders};
  205. --ColorTitle: {color:night title};
  206. --ColorText: {color:night text};
  207. --ColorAccentOne: {color:night accent one};
  208. --ColorAccentTwo: {color:night accent two};
  209. --ColorOpacity: rgba(0,0,0,.1);
  210. --ColorReverseOpacity: rgba(255,255,255,.1);
  211. }
  212. html.theme-transition,
  213. html.theme-transition *,
  214. html.theme-transition *:before,
  215. html.theme-transition *:after {
  216. transition: 0s !important;
  217. transition-delay: 0 !important;
  218. }
  219.  
  220. .light-on{
  221. display: var(--LightOn);
  222. }
  223. .light-off{
  224. display: var(--LightOff);
  225. }
  226.  
  227. /*--- TOOLTIPS ---*/
  228.  
  229. .tippy-tooltip.custom-theme {
  230. font-size:.95em;
  231. font-weight:500;
  232. color:var(--ColorTitle);
  233. text-transform:lowercase;
  234. text-align:center;
  235. background:var(--ColorPosts);
  236. border-radius:5px;
  237. box-shadow:0 0px 8px -2px rgba(0,0,0,.3);
  238. }
  239. /* Right placement tooltip arrow (arrow will be on left side of tooltip) */
  240. .tippy-popper[x-placement^=right] .tippy-tooltip.custom-theme .tippy-arrow {
  241. border-right: 7px solid var(--ColorPosts); /* your color here */
  242. }
  243.  
  244. /* Left placement tooltip arrow (arrow will be on right side of tooltip) */
  245. .tippy-popper[x-placement^=left] .tippy-tooltip.custom-theme .tippy-arrow {
  246. border-left: 7px solid var(--ColorPosts); /* your color here */
  247. }
  248.  
  249. /* Top placement tooltip arrow (arrow will be on bottom side of tooltip) */
  250. .tippy-popper[x-placement^=top] .tippy-tooltip.custom-theme .tippy-arrow {
  251. border-top: 7px solid var(--ColorPosts); /* your color here */
  252. }
  253.  
  254. /* Bottom placement tooltip arrow (arrow will be on top side of tooltip) */
  255. .tippy-popper[x-placement^=bottom] .tippy-tooltip.custom-theme .tippy-arrow {
  256. border-bottom: 7px solid var(--ColorPosts); /* your color here */
  257. }
  258.  
  259. /*--- SCROLLBAR ---*/
  260. ::-webkit-scrollbar {
  261. width:5px;
  262. height:5px;
  263. background:var(--ColorBackground);
  264. }
  265.  
  266. ::-webkit-scrollbar-track {
  267. background:var(--ColorBackground);
  268. border-radius: 5px;
  269. }
  270.  
  271. ::-webkit-scrollbar-thumb {
  272. background:linear-gradient(to top, var(--ColorAccentOne), var(--ColorAccentTwo));
  273. border-radius: 5px;
  274. }
  275.  
  276. /*--- TEXT SELECTION ---*/
  277. ::-moz-selection { /* Code for Firefox */
  278. color:var(--ColorPosts);
  279. background:var(--ColorAccentOne);
  280. }
  281.  
  282. ::selection {
  283. color:var(--ColorPosts);
  284. background:var(--ColorAccentOne);
  285. }
  286.  
  287. * {box-sizing:border-box;}
  288.  
  289. body {
  290. font-family:'{text:body font}', sans-serif;
  291. font-size:{text:font size}px;
  292. color:var(--ColorText);
  293. line-height:140%;
  294. word-wrap:break-word;
  295. letter-spacing:.04em;
  296. margin:0;
  297. background-color:var(--ColorBackground);
  298. }
  299. body {
  300. opacity:1;
  301. transition:.75s opacity;
  302. }
  303.  
  304. body.fade-out {
  305. opacity:0;
  306. transition:none;
  307. }
  308. html {background-color:var(--ColorBackground);}
  309.  
  310. a {
  311. color:var(--ColorAccentOne);
  312. text-decoration: none;
  313. -webkit-transition: all 0.4s;
  314. -moz-transition: all 0.4s;
  315. -ms-transition: all 0.4s;
  316. -o-transition: all 0.4s;
  317. transition: all 0.4s;
  318. }
  319.  
  320. a:hover {
  321. color:var(--ColorAccentTwo);
  322. -webkit-transition: all 0.4s;
  323. -moz-transition: all 0.4s;
  324. -ms-transition: all 0.4s;
  325. -o-transition: all 0.4s;
  326. transition: all 0.4s;
  327. }
  328.  
  329. blockquote {
  330. border-left:1px solid var(--ColorBorders);
  331. padding-left:.75em;
  332. margin-left:1em;
  333. }
  334.  
  335. ul {list-style-type:circle;}
  336. ol {list-style-type: decimal-leading-zero;}
  337. li::marker {color:var(--ColorAccentOne)}
  338.  
  339. small {font-size:.95em;}
  340. big {font-size:1.1em;}
  341.  
  342. h1 {font-size:1.35em; margin:0; color:var(--ColorTitle); display:inline-block;}
  343. h1 a {color:var(--ColorTitle);}
  344. h1 a:hover {color:var(--ColorAccent);}
  345. h2 {font-size:1.25em; color:var(--ColorTitle); letter-spacing:.1em;}
  346. h3 {font-size:1.15em; color:var(--ColorTitle);}
  347. h4 {font-size:1.1em; color:var(--ColorTitle);}
  348. h5 {font-size:1.05em; color:var(--ColorTitle);}
  349. h1, h1 a, h2, h3, h4, h5 {font-family:'{text:title font}', sans-serif;}
  350.  
  351. button {font-size:1em;}
  352.  
  353. hr {
  354. height:1px;
  355. border:none;
  356. box-shadow:none;
  357. background:var(--ColorBorders);
  358. }
  359.  
  360. pre {
  361. word-wrap:break-word!important;
  362. white-space:pre-wrap;
  363. }
  364.  
  365. b, strong {
  366. color:var(--ColorTitle);
  367. font-weight:800;
  368. }
  369.  
  370. b a:hover {
  371. color:var(--ColorAccentTwo);
  372. -webkit-transition: all 0.4s;
  373. -moz-transition: all 0.4s;
  374. -ms-transition: all 0.4s;
  375. -o-transition: all 0.4s;
  376. transition: all 0.4s;
  377. }
  378.  
  379. /* common link effects */
  380. .sidebar-desc a, .updates-wrap a, .aanswer a {
  381. display:inline-block;
  382. position:relative;
  383. }
  384. .sidebar-desc a:after, .updates-wrap a:after, .aanswer a:after {
  385. content: '';
  386. position:absolute;
  387. bottom:0;
  388. left:0;
  389. width:100%;
  390. height:2px;
  391. background:linear-gradient(to right, var(--ColorAccentOne), var(--ColorAccentTwo));
  392. border-radius:5px;
  393. transform:scaleX(0);
  394. transform-origin:center;
  395. transition: transform 0.3s ease-out;
  396. }
  397. .sidebar-desc a:hover:after, .updates-wrap a:hover:after, .aanswer a:hover:after {
  398. transform: scaleX(1);
  399. transform-origin:center;
  400. }
  401.  
  402. .flex {
  403. display: flex;
  404. flex-wrap: wrap;
  405. }
  406.  
  407. .centered {
  408. align-items: center;
  409. justify-content: center;
  410. }
  411.  
  412. .align-center {
  413. align-items: center;
  414. }
  415.  
  416. .justify-center {
  417. justify-content: center;
  418. }
  419.  
  420. .sr-text {
  421. border: 0;
  422. clip: rect(1px, 1px, 1px, 1px);
  423. clip-path: inset(50%);
  424. height: 1px;
  425. margin: -1px;
  426. overflow: hidden;
  427. padding: 0;
  428. position: absolute;
  429. width: 1px;
  430. word-wrap: normal !important;
  431. }
  432.  
  433. /*--- HEADER ---*/
  434.  
  435. header {
  436. position:fixed;
  437. top:0;
  438. left:350px;
  439. right:0;
  440. width:calc(100% - 350px);
  441. height:55px;
  442. padding:1rem;
  443. display:flex;
  444. justify-content:space-between;
  445. align-items:center;
  446. background:var(--ColorPosts);
  447. border-bottom:1px solid var(--ColorBorders);
  448. z-index:9999;
  449. }
  450.  
  451. .headermiddle {
  452. position:relative;
  453. display:flex;
  454. justify-content:center;
  455. align-items:center;
  456. gap:1.5rem;
  457. }
  458. .headermiddle a.mainlink {
  459. position:relative;
  460. display:flex;
  461. justify-content:center;
  462. font-size:1.05em;
  463. color:var(--ColorTitle);
  464. }
  465. a.mainlink {
  466. display:inline-block;
  467. position:relative;
  468. }
  469. a.mainlink:after {
  470. content: '';
  471. position:absolute;
  472. bottom:0;
  473. left:0;
  474. width:100%;
  475. height:2px;
  476. background:linear-gradient(to right, var(--ColorAccentOne), var(--ColorAccentTwo));
  477. border-radius:5px;
  478. transform:scaleX(0);
  479. transform-origin:center;
  480. transition: transform 0.3s ease-out;
  481. }
  482. a.mainlink:hover:after {
  483. transform: scaleX(1);
  484. transform-origin:center;
  485. }
  486.  
  487. a#morelinksbutton {cursor:help;}
  488. a#morelinksclose {display:none;}
  489. body.morelinks-click a#morelinksbutton:after {transform: scaleX(1);}
  490. .morelinks {
  491. position:absolute;
  492. right:0;
  493. top:calc(100% + .5rem);
  494. width:175px;
  495. display:none;
  496. flex-direction:column;
  497. background:var(--ColorPosts);
  498. border-radius:var(--Corners);
  499. border:1px solid var(--ColorBorders);
  500. box-shadow:2px 2px 8px -2px rgba(0,0,0,.15);
  501. z-index:999;
  502. }
  503. body.morelinks-click .morelinks {display:flex;}
  504. .morelinks a {
  505. display:flex;
  506. justify-content:flex-start;
  507. align-items:center;
  508. gap:.5em;
  509. padding:.5rem;
  510. border-bottom:1px solid var(--ColorBorders);
  511. }
  512. .morelinks a i {
  513. font-size:1.1em;
  514. -webkit-transition: all 0.4s;
  515. -moz-transition: all 0.4s;
  516. -ms-transition: all 0.4s;
  517. -o-transition: all 0.4s;
  518. transition: all 0.4s;
  519. }
  520. .morelinks a:nth-of-type(odd) i {color:var(--ColorAccentOne);}
  521. .morelinks a:nth-of-type(even) i {color:var(--ColorAccentTwo);}
  522. .morelinks a:nth-of-type(odd):hover i {color:var(--ColorAccentTwo);}
  523. .morelinks a:nth-of-type(even):hover i {color:var(--ColorAccentOne);}
  524. .morelinks a b {
  525. font-weight:normal;
  526. color:var(--ColorText);
  527. -webkit-transition: all 0.4s;
  528. -moz-transition: all 0.4s;
  529. -ms-transition: all 0.4s;
  530. -o-transition: all 0.4s;
  531. transition: all 0.4s;
  532. }
  533. .morelinks a:nth-of-type(odd):hover b {color:var(--ColorAccentOne);}
  534. .morelinks a:nth-of-type(even):hover b {color:var(--ColorAccentTwo);}
  535.  
  536. /*-- search bar --*/
  537. .search {
  538. width:100%;
  539. padding:.5rem;
  540. display:flex;
  541. justify-content:flex-start;
  542. align-items:center;
  543. gap:.5em;
  544. }
  545. .search i {font-size:1.1em; color:var(--ColorAccentTwo);}
  546. .search .query {
  547. border: 0;
  548. outline: 0;
  549. font-family:'{text:body font}', sans-serif;
  550. font-size:1em;
  551. width:100%;
  552. color:var(--ColorText);
  553. letter-spacing:.05em;
  554. background:transparent;
  555. }
  556. ::-webkit-input-placeholder {color: inherit; opacity:.85;}
  557. :-moz-placeholder {color: inherit; opacity:.85;}
  558. ::-moz-placeholder {color: inherit; opacity:.85;}
  559. :-ms-input-placeholder {color: inherit; opacity:.85;}
  560.  
  561. input:focus::-webkit-input-placeholder {color: transparent; text-shadow:none;}
  562. input:focus:-moz-placeholder {color: transparent; text-shadow:none;}
  563. input:focus::-moz-placeholder {color: transparent; text-shadow:none;}
  564. input:focus:-ms-input-placeholder { color: transparent; text-shadow:none;}
  565.  
  566. .headerright {
  567. display:flex;
  568. justify-content:flex-end;
  569. align-items:center;
  570. gap:.5em;
  571. }
  572.  
  573. /* DAY/NIGHT */
  574. button#theme-toggle {
  575. outline:none;
  576. border:none;
  577. padding:0;
  578. background:transparent;
  579. display:flex;
  580. justify-content:center;
  581. align-items:center;
  582. }
  583.  
  584. button#theme-toggle span {
  585. justify-content:center;
  586. align-items:center;
  587. cursor:help;
  588. -webkit-transition: all 0.4s;
  589. -moz-transition: all 0.4s;
  590. -ms-transition: all 0.4s;
  591. -o-transition: all 0.4s;
  592. transition: all 0.4s;
  593. }
  594.  
  595. button#theme-toggle i {
  596. font-size:1.4em;
  597. color:var(--ColorTitle);
  598. -webkit-transition: all 0.4s;
  599. -moz-transition: all 0.4s;
  600. -ms-transition: all 0.4s;
  601. -o-transition: all 0.4s;
  602. transition: all 0.4s;
  603. }
  604. button#theme-toggle:hover i {
  605. color:var(--ColorAccentOne);
  606. -webkit-transition: all 0.4s;
  607. -moz-transition: all 0.4s;
  608. -ms-transition: all 0.4s;
  609. -o-transition: all 0.4s;
  610. transition: all 0.4s;
  611. -webkit-animation-duration: .75s;
  612. animation-duration: .75s;
  613. -webkit-animation-fill-mode: both;
  614. animation-fill-mode: both;
  615. -webkit-animation-timing-function: ease-in-out;
  616. animation-timing-function: ease-in-out;
  617. animation-iteration-count:1;
  618. -webkit-animation-iteration-count:1;
  619. animation-name:daynight;
  620. -moz-animation-name:daynight;
  621. }
  622.  
  623. @keyframes daynight {
  624. 50% {
  625. -webkit-transform: scaleX(-1);
  626. -ms-transform: scaleX(-1);
  627. transform: scaleX(-1);
  628. }
  629. }
  630.  
  631. /* TUMBLR CONTROLS */
  632. a#controlsbutton {cursor:help;}
  633. a#controlsbutton {display:flex; justify-content:center; align-items:center;}
  634. a#controlsbutton i {
  635. font-size:1.45em;
  636. color:var(--ColorTitle);
  637. -webkit-transition: all 0.4s;
  638. -moz-transition: all 0.4s;
  639. -ms-transition: all 0.4s;
  640. -o-transition: all 0.4s;
  641. transition: all 0.4s;
  642. }
  643. a#controlsbutton:hover i {
  644. color:var(--ColorAccentOne);
  645. -webkit-animation-duration: 1.5s;
  646. animation-duration: 1.5s;
  647. -webkit-animation-fill-mode: both;
  648. animation-fill-mode: both;
  649. -webkit-animation-timing-function: ease-in-out;
  650. animation-timing-function: ease-in-out;
  651. animation-iteration-count:1;
  652. -webkit-animation-iteration-count:1;
  653. animation-name:tumblrcontrols;
  654. -moz-animation-name:tumblrcontrols;
  655. }
  656. body.controls-click a#controlsbutton i {color:var(--ColorAccentTwo);}
  657.  
  658. @keyframes tumblrcontrols {
  659. 45% {
  660. -webkit-transform: rotate(180deg);
  661. -ms-transform: rotate(180deg);
  662. transform: rotate(180deg);
  663. }
  664. 55% {
  665. -webkit-transform: rotate(180deg);
  666. -ms-transform: rotate(180deg);
  667. transform: rotate(180deg);
  668. }
  669. 100% {
  670. -webkit-transform: rotate(360deg);
  671. -ms-transform: rotate(360deg);
  672. transform: rotate(360deg);
  673. }
  674. }
  675.  
  676. .tmblr-iframe-compact .tmblr-iframe--unified-controls {
  677. transform:scale(.75);
  678. margin-top:45px;
  679. margin-right:-1em;
  680. opacity:0;
  681. visibility:hidden;
  682. z-index:999999999!important;
  683. }
  684.  
  685. body.controls-click iframe.tmblr-iframe {
  686. opacity:1.0;
  687. visibility:visible;
  688. -webkit-transition: all 0.5s;
  689. -moz-transition: all 0.5s;
  690. -ms-transition: all 0.5s;
  691. -o-transition: all 0.5s;
  692. transition: all 0.5s;
  693. }
  694.  
  695. /*-- left header --*/
  696. .headerleft {
  697. position:fixed;
  698. top:0;
  699. left:0;
  700. width:350px;
  701. height:55px;
  702. padding:1rem;
  703. display:flex;
  704. justify-content:flex-start;
  705. align-items:center;
  706. gap:.5em;
  707. background:linear-gradient(to right, var(--ColorAccentOne), var(--ColorAccentTwo));
  708. z-index:999;
  709. }
  710.  
  711. .headertitle {
  712. width:100%;
  713. display:flex;
  714. justify-content:center;
  715. align-items:center;
  716. gap:.5em;
  717. font-family:'{text:title font}', sans-serif;
  718. font-size:1.05em;
  719. font-weight:bold;
  720. color:var(--ColorPosts);
  721. text-shadow:0 1px rgba(0,0,0,.1);
  722. cursor:default;
  723. }
  724.  
  725. /* sidebar button */
  726. a#sidebarbutton {
  727. display:none;
  728. justify-content:center;
  729. align-items:center;
  730. cursor:help;
  731. }
  732. a#sidebarbutton i {
  733. font-size:1.45em;
  734. color:var(--ColorPosts);
  735. text-shadow:0 1px rgba(0,0,0,.1);
  736. -webkit-transition: all 0.4s;
  737. -moz-transition: all 0.4s;
  738. -ms-transition: all 0.4s;
  739. -o-transition: all 0.4s;
  740. transition: all 0.4s;
  741. }
  742. a#sidebarbutton:hover i {transform:scale(1.1);}
  743. body.sidebar-click a#sidebarbutton i {transform:rotateY(180deg);}
  744.  
  745. /*--- LEFT SIDEBAR ---*/
  746. #leftsidebar {
  747. position:fixed;
  748. top:55px;
  749. left:0;
  750. width:350px;
  751. height:calc(100% - 55px);
  752. display:flex;
  753. flex-direction:column;
  754. align-items:center;
  755. justify-content:space-between;
  756. background:var(--ColorPosts);
  757. border-right:1px solid var(--ColorBorders);
  758. z-index:999;
  759. }
  760.  
  761. .sidebarup {
  762. width:100%;
  763. display:flex;
  764. flex-direction:column;
  765. align-items:center;
  766. }
  767. .sidebar-top {
  768. position:relative;
  769. width:100%;
  770. display:flex;
  771. flex-direction:column;
  772. }
  773.  
  774. .sidebar-img {
  775. width:100%;
  776. height:3rem;
  777. {block:ifSidebarImage}
  778. height:300px;
  779. {/block:ifSidebarImage}
  780. display:flex;
  781. justify-content:center;
  782. align-items:center;
  783. }
  784. .sidebar-img img {width:100%; height:300px; object-fit:cover;}
  785.  
  786. .sidebar-icon {
  787. position:absolute;
  788. top:calc(100% - 2rem);
  789. left:1rem;
  790. padding:.3rem;
  791. background:var(--ColorPosts);
  792. display:flex;
  793. justify-content:center;
  794. align-items:center;
  795. border-radius:100%;
  796. }
  797. .sidebar-icon img {
  798. width:4rem;
  799. height:4rem;
  800. border-radius:100%;
  801. }
  802.  
  803. .sidebar-mid {
  804. width:100%;
  805. display:flex;
  806. flex-direction:column;
  807. gap:1rem;
  808. margin-top:1.5rem;
  809. padding:1rem;
  810. }
  811. .sidebar-text {
  812. width:100%;
  813. display:flex;
  814. flex-direction:column;
  815. gap:.5rem;
  816. }
  817. .sidebartitle {
  818. width:100%;
  819. display:flex;
  820. flex-direction:column;
  821. }
  822. .sidebartitle li {
  823. display:flex;
  824. justify-content:flex-start;
  825. align-items:center;
  826. gap:.1em;
  827. }
  828. .sidebartitle a {
  829. font-size:1.075em;
  830. font-weight:bold;
  831. color:var(--ColorTitle);
  832. }
  833. .sidebartitle a:hover {color:var(--ColorAccentOne);}
  834. .sidebartitle li i {
  835. background:linear-gradient(to right, var(--ColorAccentOne), var(--ColorAccentTwo));
  836. -webkit-background-clip:text;
  837. -webkit-text-fill-color:transparent;
  838. }
  839. .sidebartitle li span {
  840. font-style:normal;
  841. color:var(--ColorText);
  842. -webkit-transition: all 0.4s;
  843. -moz-transition: all 0.4s;
  844. -ms-transition: all 0.4s;
  845. -o-transition: all 0.4s;
  846. transition: all 0.4s;
  847. }
  848.  
  849. .sidebar-desc {
  850. width:100%;
  851. text-align:left;
  852. }
  853. .sidebar-desc p {margin-bottom:0; padding-bottom:0;}
  854.  
  855. .sidebar-stats {
  856. width:100%;
  857. display:flex;
  858. justify-content:flex-start;
  859. align-items:center;
  860. gap:.75rem;
  861. }
  862. .sidebar-stats li {
  863. display:flex;
  864. justify-content:flex-start;
  865. align-items:center;
  866. gap:.25rem;
  867. }
  868. .sidebar-stats li i {font-size:1.1em;}
  869. .sidebar-stats li:nth-of-type(odd) i {color:var(--ColorAccentOne);}
  870. .sidebar-stats li:nth-of-type(even) i {color:var(--ColorAccentTwo);}
  871. .sidebar-stats li b {font-weight:normal; color:var(--ColorText);}
  872.  
  873. /* updates */
  874. .updates {
  875. display:flex;
  876. flex-direction:column;
  877. gap:.5rem;
  878. }
  879. .updates-title {
  880. width:100%;
  881. display:flex;
  882. justify-content:flex-start;
  883. align-items:center;
  884. gap:.5em;
  885. }
  886. .updates-title b {font-weight:normal;}
  887. .updatesline {width:100%; margin-top:1px; height:1px; background:var(--ColorBorders);}
  888. .updates-wrap {
  889. width:100%;
  890. display:flex;
  891. flex-direction:column;
  892. gap:.5em;
  893. }
  894.  
  895. .updates-wrap li {
  896. width:100%;
  897. display:flex;
  898. justify-content:flex-start;
  899. align-items:center;
  900. gap:.5em;
  901. }
  902. .updates-wrap span {font-size:.95em;}
  903.  
  904. .updates-wrap li i {font-size:1.3em;}
  905. .updates-wrap li:nth-of-type(odd) i {color:var(--ColorAccentOne);}
  906. .updates-wrap li:nth-of-type(even) i {color:var(--ColorAccentTwo);}
  907.  
  908. .sidebardown {
  909. width:100%;
  910. padding:.75rem;
  911. }
  912. /*--- TRACKED TAG ---*/
  913. .trackedtag {
  914. width:100%;
  915. display:flex;
  916. justify-content:center;
  917. align-items:center;
  918. gap:.5em;
  919. }
  920. .trackedline {width:100%; margin-top:1px; height:1px; background:var(--ColorBorders);}
  921. .trackedtag b {
  922. width:100%;
  923. font-weight:normal;
  924. white-space:nowrap;
  925. }
  926.  
  927. /*--- FIXED BUTTONS ---*/
  928. .fixedbuttons {
  929. position:fixed;
  930. bottom:1em;
  931. right:1em;
  932. display:flex;
  933. flex-direction:column;
  934. justify-content:center;
  935. align-items:center;
  936. gap:.5em;
  937. z-index:9999999;
  938. }
  939. .fixedbuttons a {
  940. display:flex;
  941. justify-content:center;
  942. align-items:center;
  943. padding:.5em;
  944. background:var(--ColorPosts);
  945. border-radius:var(--Corners);
  946. box-shadow:2px 2px 8px -2px rgba(0,0,0,.15);
  947. }
  948. .fixedbuttons i {
  949. font-size:1.5em;
  950. background:linear-gradient(to right, var(--ColorAccentOne), var(--ColorAccentTwo));
  951. -webkit-background-clip:text;
  952. -webkit-text-fill-color:transparent;
  953. -webkit-transition: all 0.4s;
  954. -moz-transition: all 0.4s;
  955. -ms-transition: all 0.4s;
  956. -o-transition: all 0.4s;
  957. transition: all 0.4s;
  958. }
  959.  
  960. /* SCROLL TO TOP */
  961. a#totop {
  962. display:none;
  963. justify-content:center;
  964. align-items:center;
  965. cursor:help;
  966. }
  967. a#totop i {
  968. -webkit-transition: all 0.4s;
  969. -moz-transition: all 0.4s;
  970. -ms-transition: all 0.4s;
  971. -o-transition: all 0.4s;
  972. transition: all 0.4s;
  973. }
  974. a#totop:hover i {
  975. -webkit-animation-duration: 2.5s;
  976. animation-duration: 2.5s;
  977. -webkit-animation-fill-mode: both;
  978. animation-fill-mode: both;
  979. -webkit-animation-timing-function: ease-in-out;
  980. animation-timing-function: ease-in-out;
  981. animation-iteration-count:1;
  982. -webkit-animation-iteration-count:1;
  983. animation-name:totop;
  984. -moz-animation-name:totop;
  985. }
  986.  
  987. @keyframes totop {
  988. 0% {
  989. -webkit-transform: translateY(0px);
  990. -ms-transform: translateY(0px);
  991. transform: translateY(0px)
  992. }
  993. 10% {
  994. -webkit-transform: translateY(-3px);
  995. -ms-transform: translateY(-3px);
  996. transform: translateY(-3px)
  997. }
  998. 20% {
  999. -webkit-transform: translateY(0px);
  1000. -ms-transform: translateY(0px);
  1001. transform: translateY(0px)
  1002. }
  1003. 30% {
  1004. -webkit-transform: translateY(-3px);
  1005. -ms-transform: translateY(-3px);
  1006. transform: translateY(-3px)
  1007. }
  1008. 40% {
  1009. -webkit-transform: translateY(0px);
  1010. -ms-transform: translateY(0px);
  1011. transform: translateY(0px)
  1012. }
  1013. 50% {
  1014. -webkit-transform: translateY(0px);
  1015. -ms-transform: translateY(0px);
  1016. transform: translateY(0px)
  1017. }
  1018. 60% {
  1019. -webkit-transform: translateY(0px);
  1020. -ms-transform: translateY(0px);
  1021. transform: translateY(0px)
  1022. }
  1023. 70% {
  1024. -webkit-transform: translateY(-3px);
  1025. -ms-transform: translateY(-3px);
  1026. transform: translateY(-3px)
  1027. }
  1028. 80% {
  1029. -webkit-transform: translateY(0px);
  1030. -ms-transform: translateY(0px);
  1031. transform: translateY(0px)
  1032. }
  1033. 90% {
  1034. -webkit-transform: translateY(-3px);
  1035. -ms-transform: translateY(-3px);
  1036. transform: translateY(-3px)
  1037. }
  1038. 100% {
  1039. -webkit-transform: translateY(0px);
  1040. -ms-transform: translateY(0px);
  1041. transform: translateY(0px)
  1042. }
  1043. }
  1044. a.followbutton i {font-size:1.4em;}
  1045. a.followbutton:hover i {transform:scale(1.1);}
  1046.  
  1047. /*--- CREDIT: DO NOT TOUCH ---*/
  1048. a.credit {}
  1049. a.credit i {}
  1050. a.credit:hover i {
  1051. -webkit-animation-duration: 2s;
  1052. animation-duration: 2s;
  1053. -webkit-animation-fill-mode: both;
  1054. animation-fill-mode: both;
  1055. -webkit-animation-timing-function: ease-in-out;
  1056. animation-timing-function: ease-in-out;
  1057. animation-iteration-count:infinite;
  1058. -webkit-animation-iteration-count:infinite;
  1059. animation-name: bounce;
  1060. -moz-animation-name: bounce;
  1061. }
  1062.  
  1063. @keyframes bounce {
  1064. 0% {
  1065. -webkit-transform: translateY(0px);
  1066. -ms-transform: translateY(0px);
  1067. transform: translateY(0px)
  1068. }
  1069. 25% {
  1070. -webkit-transform: translateY(-3px);
  1071. -ms-transform: translateY(-3px);
  1072. transform: translateY(-3px)
  1073. }
  1074. 50% {
  1075. -webkit-transform: translateY(0px);
  1076. -ms-transform: translateY(0px);
  1077. transform: translateY(0px)
  1078. }
  1079. 75% {
  1080. -webkit-transform: translateY(-3px);
  1081. -ms-transform: translateY(-3px);
  1082. transform: translateY(-3px)
  1083. }
  1084. 100% {
  1085. -webkit-transform: translateY(0px);
  1086. -ms-transform: translateY(0px);
  1087. transform: translateY(0px)
  1088. }
  1089. }
  1090.  
  1091. main {
  1092. width:calc(100% - 1rem);
  1093. margin:auto;
  1094. display:flex;
  1095. justify-content:center;
  1096. }
  1097. section {margin-top:calc(55px + 2rem); margin-left:350px; width:100%;}
  1098.  
  1099. /*-- TOP POST INFO --*/
  1100. .topinfo {
  1101. position:relative;
  1102. padding:1rem;
  1103. display:flex;
  1104. justify-content:space-between;
  1105. align-items:center;
  1106. gap:1rem;
  1107. border-bottom:1px solid var(--ColorBorders);
  1108. }
  1109. .topinfoleft {
  1110. display:flex;
  1111. justify-content:flex-start;
  1112. align-items:center;
  1113. gap:.5rem;
  1114. }
  1115. .til-img {
  1116. padding:2px;
  1117. background:linear-gradient(to right, var(--ColorAccentOne), var(--ColorAccentTwo));
  1118. border-radius:100%;
  1119. }
  1120. .til-img img {
  1121. width:2.65em;
  1122. height:2.65em;
  1123. padding:1px;
  1124. background:var(--ColorPosts);
  1125. border-radius:100%;
  1126. -webkit-transition: all 0.4s;
  1127. -moz-transition: all 0.4s;
  1128. -ms-transition: all 0.4s;
  1129. -o-transition: all 0.4s;
  1130. transition: all 0.4s;
  1131. }
  1132. .til-name {
  1133. display:flex;
  1134. flex-direction:column;
  1135. }
  1136. .til-top {
  1137. display:flex;
  1138. justify-content:flex-start;
  1139. align-items:center;
  1140. gap:.25rem;
  1141. }
  1142. .til-top a {
  1143. font-weight:bold;
  1144. color:var(--ColorTitle);
  1145. -webkit-transition: all 0.4s;
  1146. -moz-transition: all 0.4s;
  1147. -ms-transition: all 0.4s;
  1148. -o-transition: all 0.4s;
  1149. transition: all 0.4s;
  1150. }
  1151. .til-top a:hover {color:var(--ColorAccentOne);}
  1152.  
  1153. .til-top i {
  1154. font-size:.9em;
  1155. margin-top:.1rem;
  1156. background:linear-gradient(to right, var(--ColorAccentOne), var(--ColorAccentTwo));
  1157. -webkit-background-clip:text;
  1158. -webkit-text-fill-color:transparent;
  1159. }
  1160. .til-top a.rbvia {
  1161. font-size:.95em;
  1162. font-weight:normal;
  1163. color:var(--ColorText);
  1164. }
  1165. .til-top a.rbvia:hover {color:var(--ColorAccentOne);}
  1166.  
  1167. .til-low {
  1168. margin-top:-.1rem;
  1169. display:flex;
  1170. justify-content:flex-start;
  1171. align-items:center;
  1172. gap:.1em;
  1173. }
  1174. .til-low span {font-size:.9em; color:var(--ColorText);}
  1175. .til-low i {
  1176. font-size:1.1rem;
  1177. background:linear-gradient(to right, var(--ColorAccentOne), var(--ColorAccentTwo));
  1178. -webkit-background-clip:text;
  1179. -webkit-text-fill-color:transparent;
  1180. }
  1181. .til-low b {margin-top:.1rem; margin-left:.15em; font-size:.75em; color:var(--ColorText);}
  1182.  
  1183. .topinforight {
  1184. position:relative;
  1185. display:flex;
  1186. justify-content:center;
  1187. align-items:center;
  1188. }
  1189. .topinforight a {
  1190. display:flex;
  1191. justify-content:center;
  1192. align-items:center;
  1193. }
  1194. .topinforight i {
  1195. font-size:1.4em;
  1196. color:var(--ColorTitle);
  1197. -webkit-transition: all 0.4s;
  1198. -moz-transition: all 0.4s;
  1199. -ms-transition: all 0.4s;
  1200. -o-transition: all 0.4s;
  1201. transition: all 0.4s;
  1202. }
  1203. .topinforight a:hover i {color:var(--ColorAccentOne);}
  1204. a.morebutton {cursor:help;}
  1205. a.morebutton.more-click {transform:rotate(90deg);}
  1206.  
  1207. .moreinfo {
  1208. position:absolute;
  1209. top:.725rem;
  1210. right:100%;
  1211. width:150px;
  1212. display:none;
  1213. flex-direction:column;
  1214. overflow:hidden;
  1215. background:var(--ColorPosts);
  1216. border:1px solid var(--ColorBorders);
  1217. border-radius:var(--Corners);
  1218. box-shadow:0 2px 8px -2px rgba(0,0,0,.25);
  1219. z-index:99;
  1220. }
  1221. .moreinfo a {
  1222. width:100%;
  1223. font-size:.95em;
  1224. font-weight:normal;
  1225. color:var(--ColorText);
  1226. text-transform:lowercase;
  1227. padding:.5rem;
  1228. text-align:center;
  1229. border-bottom:1px solid var(--ColorBorders);
  1230. }
  1231. .moreinfo a:last-of-type {border-bottom:none;}
  1232. .moreinfo a:hover {color:var(--ColorPosts); background:var(--ColorAccentOne);}
  1233. a#copybutton {cursor:help;}
  1234.  
  1235. /*--- POST STUFF ---*/
  1236.  
  1237. .tags,
  1238. article .quote,
  1239. article .replies,
  1240. article .source,
  1241. .pagination,
  1242. article h1,
  1243. article h2 {
  1244. padding:var(--Spacing);
  1245. }
  1246. .reblog-header {padding:1rem!important;}
  1247.  
  1248. /*--- TAG / DAY PAGES ---*/
  1249. article.tdpage {
  1250. max-width:540px;
  1251. width:100%;
  1252. display:flex;
  1253. justify-content:flex-start;
  1254. align-items:center;
  1255. gap:.5em;
  1256. padding:1rem;
  1257. background:var(--ColorPosts);
  1258. border-radius:var(--Corners);
  1259. box-shadow:0 2px 8px -2px rgba(0,0,0,.1);
  1260. }
  1261.  
  1262. .tdpage-text {text-transform:lowercase;}
  1263. .tdpage-text b {}
  1264. .tdpage-text span {font-weight:500; color:var(--ColorTitle);}
  1265.  
  1266. .tdpage-icon {
  1267. display:flex;
  1268. justify-content:flex-end;
  1269. align-items:center;
  1270. }
  1271.  
  1272. .tdpage-icon i {
  1273. font-size:1.4em;
  1274. color:var(--ColorPosts);
  1275. text-shadow:0 1px rgba(0,0,0,.1);
  1276. padding:.3em;
  1277. background:var(--ColorAccentOne);
  1278. border-radius:100%;
  1279. }
  1280.  
  1281. /*-- poll posts --*/
  1282. .poll-post {
  1283. padding:1rem;
  1284. }
  1285. .poll-post .poll-question {
  1286. font-size:1.2rem!important;
  1287. color:var(--ColorTitle);
  1288. padding:0!important;
  1289. margin:0 0 1rem 0!important;
  1290. }
  1291. .poll-post a.poll-row {
  1292. font-size:1em!important;
  1293. color:var(--ColorTitle)!important;
  1294. padding:0 .25rem 0 .25rem!important;
  1295. background:var(--ColorBackground)!important;
  1296. border:1px solid var(--ColorBorders)!important;
  1297. border-radius:var(--Corners)!important;
  1298. }
  1299. .poll-post a.poll-row:hover {
  1300. color:var(--ColorPosts)!important;
  1301. background:var(--ColorAccentOne)!important;
  1302. border:1px solid var(--ColorAccentOne)!important;
  1303. }
  1304. .poll-post .poll-see-results {
  1305. font-weight:bold;
  1306. text-transform:uppercase;
  1307. color:var(--ColorTitle)!important;
  1308. }
  1309.  
  1310. /*-- quote posts --*/
  1311. .quote {color:var(--ColorTitle)!important;}
  1312. .source {color:var(--ColorTitle)!important;}
  1313.  
  1314. /*-- link posts --*/
  1315. .npf-link-block {
  1316. color:var(--ColorPosts);
  1317. background:var(--ColorAccentOne);
  1318. margin:0!important;
  1319. border:none!important;
  1320. border-radius:0!important;
  1321. }
  1322. .npf-link-block a {color:var(--ColorPosts); text-shadow:0 1px rgba(0,0,0,.1);}
  1323. .npf-link-block a:hover {margin-left:.5rem;}
  1324.  
  1325. /*-- answer posts --*/
  1326. article .question {
  1327. padding:1rem 1rem .5rem 1rem;
  1328. }
  1329. .qheader {
  1330. display:flex;
  1331. justify-content:flex-start;
  1332. align-items:center;
  1333. gap:.5em;
  1334. }
  1335. .qheader li {list-style-type:none; color:var(--ColorTitle);}
  1336. .qheader li a {color:var(--ColorTitle);}
  1337. .qheader li a:hover {color:var(--ColorAccentTwo);}
  1338. .qheader i {
  1339. font-size:1.4em;
  1340. color:var(--ColorPosts);
  1341. padding:.3em;
  1342. background:linear-gradient(to right, var(--ColorAccentOne), var(--ColorAccentTwo));
  1343. border-radius:100%;
  1344. }
  1345. .qcont {
  1346. position:relative;
  1347. margin-top:1em;
  1348. padding:.5em 1em .5em 1em;
  1349. background:var(--ColorBackground);
  1350. border:1px solid var(--ColorBorders);
  1351. border-radius:var(--Corners);
  1352. }
  1353. .qcont:after {
  1354. content:'';
  1355. position:absolute;
  1356. top:calc(-.625em - 1px);
  1357. left:2.5em;
  1358. width:1.25em;
  1359. height:1.25em;
  1360. transform:rotate(45deg);
  1361. background:var(--ColorBackground);
  1362. border-top:1px solid var(--ColorBorders);
  1363. border-left:1px solid var(--ColorBorders);
  1364. }
  1365.  
  1366. /*--- AUDIO POSTS ---*/
  1367. .audiopost {}
  1368.  
  1369. .spotify_audio_player,
  1370. article iframe[src*='soundcloud'] {
  1371. max-height: calc(170px + var(--Spacing));
  1372. border: 0;
  1373. padding: var(--Spacing);
  1374. padding-bottom: 0;
  1375. }
  1376.  
  1377. /*--- CHAT POSTS ---*/
  1378. .chat li {
  1379. list-style-type:none;
  1380. padding:.5em;
  1381. }
  1382. .chat li:nth-of-type(odd) {background:var(--ColorAccentOne);}
  1383. .chat li:nth-of-type(even) {background:var(--ColorBackground);}
  1384. .chat li:nth-of-type(odd) b, .chat li:nth-of-type(odd) span {color:var(--ColorPosts);}
  1385.  
  1386. article .caption p {
  1387. padding:var(--Spacing);
  1388. /*padding-bottom:0;*/
  1389. margin: 0;
  1390. }
  1391.  
  1392. .reblog-content {
  1393. white-space: pre-wrap;
  1394. }
  1395.  
  1396. .caption:last-child p,
  1397. .reblog-content p:last-of-type {
  1398. padding-bottom: var(--Spacing);
  1399. }
  1400.  
  1401. .reblog-header img {
  1402. width:1.5em;
  1403. height:1.5em;
  1404. margin-right:.5em;
  1405. border-radius:100%;
  1406. }
  1407. .reblog-header a {color:var(--ColorTitle);}
  1408. .reblog-header a:hover {color:var(--ColorAccentTwo);}
  1409.  
  1410. .reblog-header:is(:not(.original)) {
  1411. border-top: 1px solid var(--ColorBorders);
  1412. }
  1413.  
  1414. .reblog-header,
  1415. .reblog-content {
  1416. padding-bottom: 0;
  1417. }
  1418.  
  1419. p:empty {
  1420. display: none;
  1421. }
  1422.  
  1423. /*-- BOTTOM POST INFO --*/
  1424. .bottompostinfo {
  1425. display:flex;
  1426. justify-content:space-between;
  1427. align-items:center;
  1428. gap:1em;
  1429. padding:var(--Spacing);
  1430. border-top:1px solid var(--ColorBorders);
  1431. }
  1432.  
  1433. .bottominfoleft {
  1434. display:flex;
  1435. justify-content:flex-start;
  1436. align-items:center;
  1437. gap:.5em;
  1438. }
  1439. .bottominfoleft a {
  1440. display:flex;
  1441. justify-content:center;
  1442. align-items:center;
  1443. gap:.25em;
  1444. }
  1445. a.notecount i {
  1446. font-size:1.2em;
  1447. color:var(--ColorTitle);
  1448. -webkit-transition: all 0.4s;
  1449. -moz-transition: all 0.4s;
  1450. -ms-transition: all 0.4s;
  1451. -o-transition: all 0.4s;
  1452. transition: all 0.4s;
  1453. }
  1454. a.notecount b {
  1455. font-weight:normal;
  1456. color:var(--ColorText);
  1457. -webkit-transition: all 0.4s;
  1458. -moz-transition: all 0.4s;
  1459. -ms-transition: all 0.4s;
  1460. -o-transition: all 0.4s;
  1461. transition: all 0.4s;
  1462. }
  1463. a.notecount:hover b, a.notecount:hover i {color:var(--ColorAccentOne);}
  1464.  
  1465. .bottominforight {
  1466. display:flex;
  1467. justify-content:flex-end;
  1468. align-items:center;
  1469. gap:.5em;
  1470. }
  1471.  
  1472. .bottominforight a {
  1473. display:flex;
  1474. justify-content:center;
  1475. align-items:center;
  1476. }
  1477. .bottominforight a:hover {transform:scale(1.1);}
  1478. a.reblog-btn i {
  1479. font-size:1.4em;
  1480. color:var(--ColorTitle);
  1481. -webkit-transition: all 0.4s;
  1482. -moz-transition: all 0.4s;
  1483. -ms-transition: all 0.4s;
  1484. -o-transition: all 0.4s;
  1485. transition: all 0.4s;
  1486. }
  1487. a.reblog-btn:hover i {color:var(--ColorAccentOne);}
  1488.  
  1489. a.like-button i {
  1490. font-size:1.35em;
  1491. color:transparent;
  1492. -webkit-text-stroke-width:1.75px;
  1493. -webkit-text-stroke-color:var(--ColorTitle);
  1494. -webkit-transition: all 0.4s;
  1495. -moz-transition: all 0.4s;
  1496. -ms-transition: all 0.4s;
  1497. -o-transition: all 0.4s;
  1498. transition: all 0.4s;
  1499. }
  1500. a.like-button:hover i {-webkit-text-stroke-color:var(--ColorAccentOne);}
  1501.  
  1502. .bottominforight span {
  1503. display:flex;
  1504. justify-content:center;
  1505. align-items:center;
  1506. -webkit-transition: all 0.4s;
  1507. -moz-transition: all 0.4s;
  1508. -ms-transition: all 0.4s;
  1509. -o-transition: all 0.4s;
  1510. transition: all 0.4s;
  1511. }
  1512. .like-button {
  1513. position:relative;
  1514. display:inline-block;
  1515. }
  1516. .like-button .like_button iframe {
  1517. position:absolute;
  1518. top:0;
  1519. left:0;
  1520. bottom:0;
  1521. right:0;
  1522. z-index:2;
  1523. opacity:0;
  1524. }
  1525. .like_button iframe {width:100%!important; height:100%!important;}
  1526. .like-button .liked + .actual-button i {
  1527. -webkit-text-stroke-color:transparent;
  1528. background:linear-gradient(to right, var(--ColorAccentOne), var(--ColorAccentTwo));
  1529. -webkit-background-clip:text;
  1530. -webkit-text-fill-color:transparent;
  1531. }
  1532.  
  1533. a.tagsbutton {display:none;}
  1534. a.clicktagsbutton {cursor:help;}
  1535. a.clicktagsbutton i {
  1536. font-size:1.4em;
  1537. color:var(--ColorTitle);
  1538. -webkit-transition: all 0.4s;
  1539. -moz-transition: all 0.4s;
  1540. -ms-transition: all 0.4s;
  1541. -o-transition: all 0.4s;
  1542. transition: all 0.4s;
  1543. }
  1544. a.clicktagsbutton:hover i {color:var(--ColorAccentOne);}
  1545. a.clicktagsbutton.tags-click i {color:var(--ColorAccentOne);}
  1546.  
  1547. /*--- TAGS ---*/
  1548. .tags, .clicktags {
  1549. padding:.5em;
  1550. display:flex;
  1551. justify-content:flex-start;
  1552. align-items:center;
  1553. flex-wrap:wrap;
  1554. gap:.5em;
  1555. }
  1556. .tags span, .clicktags span {
  1557. background:linear-gradient(to right, var(--ColorAccentOne), var(--ColorAccentTwo));
  1558. -webkit-background-clip:text;
  1559. -webkit-text-fill-color:transparent;
  1560. }
  1561. .tags a, .clicktags a {color:var(--ColorText);}
  1562. .tags a:nth-of-type(odd):hover, .clicktags a:nth-of-type(odd):hover {color:var(--ColorAccentOne);}
  1563. .tags a:nth-of-type(even):hover, .clicktags a:nth-of-type(even):hover {color:var(--ColorAccentTwo);}
  1564.  
  1565. /*--- PAGINATION ---*/
  1566. article.pagination {
  1567. display:flex;
  1568. justify-content:space-between;
  1569. align-items:center;
  1570. gap:.5em;
  1571. }
  1572. article.pagination span {cursor:default;}
  1573.  
  1574. a.pg-prev, a.pg-next {
  1575. display:flex;
  1576. justify-content:center;
  1577. align-items:center;
  1578. }
  1579. a.pg-prev:hover, a.pg-next:hover {transform:scale(.95);}
  1580. a.pg-prev i, a.pg-next i {
  1581. font-size:1.6em;
  1582. background:linear-gradient(to right, var(--ColorAccentOne), var(--ColorAccentTwo));
  1583. -webkit-background-clip:text;
  1584. -webkit-text-fill-color:transparent;
  1585. -webkit-transition: all 0.4s;
  1586. -moz-transition: all 0.4s;
  1587. -ms-transition: all 0.4s;
  1588. -o-transition: all 0.4s;
  1589. transition: all 0.4s;
  1590. }
  1591.  
  1592. a#nobtn {opacity:.45; cursor:not-allowed;}
  1593. a#nobtn:hover {transform:none;}
  1594.  
  1595. /* common article / notes */
  1596. article h1 {
  1597. margin:0;
  1598. font-family:'{text:title font}', sans-serif;
  1599. font-size:1.3rem;
  1600. color:var(--ColorTitle);
  1601. }
  1602.  
  1603. .article-wrap, .pagination {
  1604. max-width:540px;
  1605. width:100%;
  1606. background:var(--ColorPosts);
  1607. border-radius:var(--Corners);
  1608. box-shadow:0 2px 8px -2px rgba(0,0,0,.1);
  1609. }
  1610. article {width:100%; max-width:540px; margin:2rem auto;}
  1611. article:first-of-type {margin-top:0;}
  1612.  
  1613. ol.notes li {
  1614. padding: 10px;
  1615. }
  1616.  
  1617. ol.notes img {
  1618. display: none;
  1619. }
  1620.  
  1621. article img {
  1622. display: block;
  1623. }
  1624.  
  1625. article iframe,
  1626. article img {
  1627. max-width: 100%;
  1628. }
  1629.  
  1630. a {
  1631. text-decoration: none;
  1632. color: var(--ColorAccentOne);
  1633. }
  1634.  
  1635. blockquote {
  1636. padding: var(--Spacing);
  1637. border-left: 2px solid var(--ColorBorders);
  1638. }
  1639.  
  1640. blockquote p {
  1641. padding: 0!important;
  1642. }
  1643.  
  1644. /*--- RESPONSIVENESS ---*/
  1645. @media only screen and (max-width: 1000px) {
  1646. header {
  1647. left:55px;
  1648. width:calc(100% - 55px);
  1649. transition:ease-in .55s;
  1650. }
  1651.  
  1652. .headerleft {width:55px; transition:ease-in .55s;}
  1653.  
  1654. .headertitle {width:0; opacity:0;}
  1655.  
  1656. a#sidebarbutton {display:flex; z-index:9999;}
  1657.  
  1658. #leftsidebar {left:-350px; z-index:999; transition:ease-in .55s;}
  1659. body.sidebar-click #leftsidebar {left:0; transition:ease-out .55s;}
  1660.  
  1661. section {margin-left:0;}
  1662. }
  1663.  
  1664. {CustomCSS}
  1665. </style>
  1666. </head>
  1667.  
  1668. <body class="{block:homepage}home{/block:homepage}{block:tagpage}tag{/block:tagpage}{block:searchpage}search{/block:searchpage}{block:submitpage}submit-{/block:submitpage}{block:AskPage}ask{/block:AskPage}-page">
  1669.  
  1670. <!--✻✻✻✻✻✻ npf audio player by @glenthemes ✻✻✻✻✻✻-->
  1671. <script src="//tmblr-npf-audio.gitlab.io/s/init.js"></script>
  1672. <link href="//tmblr-npf-audio.gitlab.io/s/base.css" rel="stylesheet">
  1673. <script>
  1674. tumblr_npf_audio({
  1675. emptyTitleText: "untitled track",
  1676. emptyArtistText: "untitled artist",
  1677. emptyAlbumText: "untitle album",
  1678.  
  1679. titleLabel: "track:",
  1680. artistLabel: "artist:",
  1681. albumLabel: "album:"
  1682. });
  1683. </script>
  1684. <style edit-npf-audio-player>
  1685. figcaption.audio-caption,
  1686. figcaption.audio-caption + audio[controls]{
  1687. display:none!important;
  1688. }
  1689. .npf-audio-wrapper {
  1690. --NPF-Audio-Buttons-Size: 1.4rem;
  1691. --NPF-Audio-Buttons-Color:var(--ColorPosts); /* color of play & pause buttons */
  1692. --NPF-Audio-Buttons-Spacing: 1.3rem; /* space between buttons and song info */
  1693. --NPF-Audio-Image-Size:85px;
  1694. --NPF-Audio-Image-Spacing:0px; /* gap between player info and cover image */
  1695. }
  1696.  
  1697. .npf-audio-background {
  1698. background:linear-gradient(to right, var(--ColorAccentOne), var(--ColorAccentTwo)); /* background color of player (optional) */
  1699. padding:1.5rem;
  1700. }
  1701.  
  1702. .npf-audio-title-label,
  1703. .npf-audio-artist-label,
  1704. .npf-audio-album-label {
  1705. font-weight:bold;
  1706. }
  1707.  
  1708. .npf-audio-title,
  1709. .npf-audio-artist,
  1710. .npf-audio-album {
  1711. color:var(--ColorPosts); /* color of audio text (optional) */
  1712. }
  1713. </style>
  1714.  
  1715. <!-- main container -->
  1716. <main>
  1717.  
  1718. <!-- HEADER --->
  1719. <header>
  1720. <div class="headermiddle">
  1721. <a class="mainlink" href="/">home</a>
  1722. <a class="mainlink" href="/ask">ask</a>
  1723. <a class="mainlink" href="/archive">archive</a>
  1724. {block:ifExplore}<a class="mainlink" id="morelinksbutton">explore</a>
  1725. <a class="mainlink" id="morelinksclose">close</a>
  1726. <div class="morelinks">
  1727. {block:ifHeaderLink1}<a href="{text:Header Link 1}"><i class="ti ti-{text:Header Link 1 Icon}"></i><b>{text:Header Link 1 Name}</b></a>{/block:ifHeaderLink1}
  1728. {block:ifHeaderLink2}<a href="{text:Header Link 2}"><i class="ti ti-{text:Header Link 2 Icon}"></i><b>{text:Header Link 2 Name}</b></a>{/block:ifHeaderLink2}
  1729. {block:ifHeaderLink3}<a href="{text:Header Link 3}"><i class="ti ti-{text:Header Link 3 Icon}"></i><b>{text:Header Link 3 Name}</b></a>{/block:ifHeaderLink3}
  1730. {block:ifHeaderLink4}<a href="{text:Header Link 4}"><i class="ti ti-{text:Header Link 4 Icon}"></i><b>{text:Header Link 4 Name}</b></a>{/block:ifHeaderLink4}
  1731. <form class="search" action="javascript:return false">
  1732. <i class="ti ti-search"></i>
  1733. <input type="text" class="query" placeholder="search blog . . .">
  1734. </form>
  1735. </div>{/block:ifExplore}
  1736. </div>
  1737. <div class="headerright">
  1738. <button id="theme-toggle" aria-label="toggle dark or light mode" type="button">
  1739. <span class="light-on" title="turn off the lights"><i class="ti ti-moon"></i></span>
  1740. <span class="light-off" title="turn on the lights"><i class="ti ti-sun-high"></i></span>
  1741. </button>
  1742. <a title="toggle controls" id="controlsbutton"><i class="ti ti-settings"></i></a>
  1743. </div>
  1744. </header>
  1745.  
  1746. <!--- FIXED BUTTONS --->
  1747. <div class="fixedbuttons">
  1748. <a id="totop" title="back to top" href="#top" target="_self"><i class="ti ti-arrow-narrow-up"></i></a>
  1749. <!--- CREDIT: DO NOT TOUCH --->
  1750. <a title="jade theme by sage" class="credit" href="//phantomcodes.tumblr.com"><i class="ti ti-ghost-2"></i></a>
  1751. </div>
  1752.  
  1753. <!-- LEFT HEADER -->
  1754. <div class="headerleft">
  1755. <!-- sidebar button -->
  1756. <a id="sidebarbutton" title="toggle sidebar"><i class="ti ti-menu-deep"></i></a>
  1757. <div class="headertitle">{text:Blog Title}</div>
  1758. </div>
  1759.  
  1760. <!--- LEFT SIDEBAR --->
  1761. <div id="leftsidebar">
  1762. <div class="sidebarup">
  1763. <div class="sidebar-top">
  1764. <div class="sidebar-img">{block:ifSidebarImage}<img src="{image:Sidebar}">{/block:ifSidebarImage}</div>
  1765. <div class="sidebar-icon"><img src="{PortraitURL-128}"></div>
  1766. </div>
  1767. <div class="sidebar-mid">
  1768. <div class="sidebar-text">
  1769. <div class="sidebartitle">
  1770. <a href="/">{Title}</a><li><i class="ti ti-at"></i><span>{text:Blog Name}</span></li>
  1771. </div>
  1772. <div class="sidebar-desc">{text:Custom Description}</div>
  1773. </div>
  1774. <!-- sidebar stats -->
  1775. {block:ifSidebarStats}<div class="sidebar-stats">
  1776. {block:ifSidebarStat1}<li><i class="ti ti-{text:Sidebar Stat Icon 1}"></i><b>{text:Sidebar Stat 1}</b></li>{/block:ifSidebarStat1}
  1777. {block:ifSidebarStat2}<li><i class="ti ti-{text:Sidebar Stat Icon 2}"></i><b>{text:Sidebar Stat 2}</b></li>{/block:ifSidebarStat2}
  1778. {block:ifSidebarStat3}<li><i class="ti ti-{text:Sidebar Stat Icon 3}"></i><b>{text:Sidebar Stat 3}</b></li>{/block:ifSidebarStat3}
  1779. {block:ifSidebarStat4}<li><i class="ti ti-{text:Sidebar Stat Icon 4}"></i><b>{text:Sidebar Stat 4}</b></li>{/block:ifSidebarStat4}
  1780. </div>{/block:ifSidebarStats}
  1781. <!-- updates -->
  1782. {block:ifUpdates}<div class="updates">
  1783. <div class="updates-title"><b>updates</b><div class="updatesline"></div></div>
  1784. <div class="updates-wrap">
  1785. <li><i class="ti ti-{text:Update Icon 1}"></i><span>{text:Update 1}</span></li>
  1786. {block:ifUpdate2}<li><i class="ti ti-{text:Update Icon 2}"></i><span>{text:Update 2}</span></li>{/block:ifUpdate2}
  1787. {block:ifUpdate3}<li><i class="ti ti-{text:Update Icon 3}"></i><span>{text:Update 3}</span></li>{/block:ifUpdate3}
  1788. {block:ifUpdate4}<li><i class="ti ti-{text:Update Icon 4}"></i><span>{text:Update 4}</span></li>{/block:ifUpdate4}
  1789. {block:ifUpdate5}<li><i class="ti ti-{text:Update Icon 5}"></i><span>{text:Update 5}</span></li>{/block:ifUpdate5}
  1790. {block:ifUpdate6}<li><i class="ti ti-{text:Update Icon 6}"></i><span>{text:Update 6}</span></li>{/block:ifUpdate6}
  1791. </div>
  1792. </div>{/block:ifUpdates}
  1793. </div><!-- sidebar-mid -->
  1794. </div>
  1795. <div class="sidebardown">
  1796. {block:ifSidebarFooter}<div class="trackedtag"><div class="trackedline"></div><b>{text:Sidebar Footer}</b></div>{/block:ifSidebarFooter}
  1797. </div>
  1798. </div><!-- left sidebar ends -->
  1799.  
  1800. <!-- posts -->
  1801. <section>
  1802.  
  1803. <!--- TAG AND DAY PAGES --->
  1804. {block:TagPage}
  1805. <article class="tdpage">
  1806. <div class="tdpage-icon"><i class="ti ti-tag-starred"></i></div>
  1807. <div class="tdpage-text">showing <b>{tagresultcount}</b> posts tagged <span>#{Tag}</span></div>
  1808. </article>
  1809. {/block:TagPage}
  1810.  
  1811. {block:DayPage}
  1812. <article class="tdpage">
  1813. <div class="tdpage-icon"><i class="ti ti-calendar"></i></div>
  1814. <div class="tdpage-text">showing posts made on <span>{Month} {DayOfMonth}{DayofMonthSuffix}, {Year}</span></div>
  1815. </article>
  1816. {/block:DayPage}
  1817.  
  1818. {block:Posts}
  1819. <article id="post-{PostID}" class="{posttype}-post posts">
  1820. <div class="article-wrap">
  1821. {block:Date}
  1822. <div class="topinfo"><!-- top post info -->
  1823. <div class="topinfoleft">
  1824. {block:NotReblog}
  1825. <div class="til-img"><img src="{PortraitURL-128}"></div>
  1826. <div class="til-name">
  1827. <div class="til-top"><a href="{Permalink}">{text:Blog Name}</a></div>
  1828. <div class="til-low"><span class="time-ago">{TimeStamp}</span>{block:PinnedPostLabel}<b>•</b><i class="ti ti-pin"></i><span>pinned</span>{/block:PinnedPostLabel}</div>
  1829. </div>
  1830. {/block:NotReblog}
  1831. {block:RebloggedFrom}
  1832. <div class="til-img"><img src="{ReblogRootPortraitURL-128}"></div>
  1833. <div class="til-name">
  1834. <div class="til-top"><a target="_blank" href="{ReblogRootURL}">{ReblogRootName}</a><i class="ti ti-repeat"></i><a title="reblogged from" class="rbvia" href="{ReblogParentURL}">{ReblogParentName}</a>
  1835. </div>
  1836. <div class="til-low"><span class="time-ago">{TimeStamp}</span>{block:PinnedPostLabel}<b>•</b><i class="ti ti-pin"></i><span>pinned</span>{/block:PinnedPostLabel}</div>
  1837. </div>
  1838. {/block:RebloggedFrom}
  1839. </div>
  1840. <div class="topinforight">
  1841. <a title="more info" class="morebutton"><i class="ti ti-dots-vertical"></i></a>
  1842. <div class="moreinfo">
  1843. <a href="/day/{Year}/{MonthNumberWithZero}/{dayofmonthwithzero}">{ShortMonth} {DayofMonth}{DayofMonthSuffix} {Year}</a>
  1844. <a href="{Permalink}">permalink</a>
  1845. <a id="copybutton" data-clipboard-text="{Permalink}">copy link</a>
  1846. </div>
  1847. </div>
  1848. </div><!-- top post info ends -->
  1849. {/block:Date}
  1850. {block:Photo}
  1851. <div class="legacy-photo"><img src="{PhotoURL-HighRes}" alt="{photoalt}" class="photos"></div>
  1852. {/block:Photo}
  1853.  
  1854. {block:Photoset}
  1855. <div class="legacy-photoset">{Photoset}</div>
  1856. {/block:Photoset}
  1857.  
  1858. {block:Panorama}
  1859. <div class="legacy-photo"><img src="{photourl-panorama}" alt="{photoalt}"></div>
  1860. {/block:Panorama}
  1861.  
  1862. {block:Quote}<!-- quote posts -->
  1863. <div class="quote">
  1864. "{Quote}"
  1865. </div>
  1866. <div class="source">
  1867. -{Source}
  1868. </div>
  1869. {/block:Quote}
  1870.  
  1871. {block:Chat}<!-- chat posts -->
  1872. <div class="chat">
  1873. {block:Lines}
  1874. <li>
  1875. {block:Label}<b>{Label}</b>{/block:Label}
  1876. <span>{Line}</span>
  1877. </li>
  1878. {/block:Lines}
  1879. </div>
  1880. {/block:Chat}
  1881. {block:link}<!-- link posts -->
  1882. <div class="npf-link-block">
  1883. <a href="{URL}">
  1884. {Name}
  1885. </a>
  1886. </div>
  1887. {/block:link}
  1888. {block:Video}<!-- video posts -->
  1889. {Video-500}
  1890. {/block:Video}
  1891. {block:Audio}<!-- audio posts -->
  1892. <div class="audiopost">
  1893. {audioembed}
  1894. </div>
  1895. {/block:Audio}
  1896. {block:Answer}<!-- answer posts -->
  1897. <div class="question">
  1898. <div class="qheader"><i class="ti ti-mail-question"></i><li><b>{Asker}</b> sent:</li></div>
  1899. <div class="qcont">{Question}</div>
  1900. </div>
  1901. {block:Answerer}
  1902. <div class="answer">
  1903. <b>{Answerer}</b> answered: {Answer}
  1904. </div>
  1905. {/block:Answerer}
  1906. {block:NotReblog}
  1907. <div class="replies">
  1908. {Replies}
  1909. </div>
  1910. {/block:NotReblog}
  1911. {/block:Answer}
  1912. <div class="caption {block:notreblog} original-post {/block:notreblog}">
  1913. {block:Text}
  1914. {block:Title}<h2>{Title}</h2>{/block:Title}
  1915. {/block:Text}
  1916. {block:notreblog}
  1917. {block:caption}{Caption}{/block:caption}
  1918. {block:Text}{body}{/block:Text}
  1919. {/block:notreblog}
  1920. {block:Rebloggedfrom}
  1921. {block:Reblogs}
  1922. <div class="reblogs">
  1923. <div class="reblog-header {block:IsOriginalEntry}original{/block:IsOriginalEntry} flex align-center">
  1924. <a href="{permalink}" target="_blank"><img src="{PortraitURL-64}" alt="{username}'s avatar"></a>
  1925. <a href="{permalink}" target="_blank" {block:isdeactivated}class="inactive"{/block:isdeactivated}>
  1926. {username}
  1927. </a>
  1928. </div>
  1929. <div class="reblog-content">
  1930. {Body}
  1931. </div>
  1932. </div>
  1933. {/block:Reblogs}
  1934. {/block:RebloggedFrom}
  1935. </div>
  1936. {block:Date}<!-- BOTTOM POST INFO --->
  1937. <div class="bottompostinfo">
  1938. <div class="bottominfoleft">
  1939. {block:NoteCount}<a class="notecount" href="{Permalink}"><i class="ti ti-note"></i><b>{NoteCountWithLabel}</b></a>{/block:NoteCount}
  1940. </div>
  1941. <div class="bottominforight">
  1942. <!-- tagsbutton -->
  1943. {block:HasTags}<a class="{select:tags}button" title="tags"><i class="ti ti-tag"></i></a>{/block:HasTags}
  1944. <a title="like" class="like-button" href="#">{LikeButton}<span class="actual-button"><i class="ti ti-heart-filled"></i></span></a>
  1945. <a title="reblog" class="reblog-btn" href="{ReblogURL}" target="_blank"><i class="ti ti-repeat"></i></a>
  1946. </div>
  1947. </div>
  1948. {/block:Date}
  1949. </div><!-- bottom post info ends -->
  1950. </div>
  1951. <!--- TAGS --->
  1952. {block:HasTags}
  1953. <div class="{select:Tags}">
  1954. {block:Tags}<a href="{TagURL}"><span>#</span>{Tag}</a>{/block:Tags}
  1955. </div>
  1956. {/block:HasTags}
  1957.  
  1958. {PostNotes}
  1959. </article><!--- POSTS END --->
  1960. {/block:Posts}
  1961.  
  1962. <!-- PAGINATION -->
  1963. {block:Pagination}<article class="pagination">
  1964. {block:PreviousPage}
  1965. <a title="previous page" class="pg-prev" href="{PreviousPage}"><i class="ti ti-arrow-narrow-left"></i></a>
  1966. {/block:PreviousPage}
  1967. <a class="pg-prev" id="nobtn" {block:PreviousPage}style="display:none;"{/block:PreviousPage}><i class="ti ti-arrow-narrow-left"></i></a>
  1968. <span>page <b>{CurrentPage}</b> of {TotalPages}</span>
  1969. <a class="pg-next" id="nobtn" {block:NextPage}style="display:none;"{/block:NextPage}><i class="ti ti-arrow-narrow-right"></i></a>
  1970. {block:NextPage}
  1971. <a title="next page" class="pg-next" href="{NextPage}"><i class="ti ti-arrow-narrow-right"></i></a>
  1972. {/block:NextPage}
  1973. </article>{/block:Pagination}
  1974.  
  1975. </section>
  1976. </main>
  1977. </body>
  1978.  
  1979. <script>
  1980.  
  1981. /// photoset
  1982. $(document).ready(function(){
  1983. $('.photo-slideshow').pxuPhotoset({
  1984. lightbox: true,
  1985. rounded: '',
  1986. gutter: '4px',
  1987. borderRadius: '',
  1988. photoset: '.photo-slideshow',
  1989. photoWrap: '.photo-data',
  1990. photo: '.pxu-photo'
  1991. });
  1992. });
  1993.  
  1994. // tooltips
  1995. tippy('[title]', {
  1996. theme: 'custom',
  1997. arrow: true,
  1998. followCursor: true,
  1999. delay: 100,
  2000. placement: 'top',
  2001. offset: "0, 20",
  2002. zIndex: 9999999999,
  2003. maxWidth: 400,
  2004.  
  2005. content(reference) {
  2006. const title = reference.getAttribute('title');
  2007. reference.removeAttribute('title');
  2008. return title;
  2009. },
  2010. });
  2011.  
  2012. // notes
  2013. $('article').find('.notecount').each(function(){
  2014. var n = $(this).html().split(' ')[0].replace(/,/g, '');
  2015. if (n > 999 & n < 999999) {
  2016. n = Math.floor(n / 100) / 10;
  2017. $(this).text(n + 'k notes');
  2018. }
  2019. if (n > 999999) {
  2020. n = Math.floor(n / 10000) / 100;
  2021. $(this).text(n + 'm notes');
  2022. }
  2023. });
  2024.  
  2025. // videos
  2026. $(document).ready(function() {
  2027. flexibleFrames($(".video")); // $(".video") is the class selector passed in the argument
  2028. });
  2029.  
  2030. // toggle tags
  2031. $(document).ready(function(){
  2032. $('.clicktags').hide();
  2033. $('.clicktagsbutton').click(function() {
  2034. $(this).closest('article').find('.clicktags').slideToggle(0);
  2035. $(this).toggleClass('tags-click');
  2036. return false;
  2037. });
  2038. });
  2039.  
  2040. // more info popup
  2041. $(document).ready(function(){
  2042. $('.moreinfo').hide();
  2043. $('.morebutton').click(function() {
  2044. $('morebutton').toggleClass('more-click');
  2045. $(this).closest('article').find('.moreinfo').slideToggle(0);
  2046. $(this).toggleClass('more-click');
  2047. return false;
  2048. });
  2049. });
  2050.  
  2051. // tumblr controls
  2052. $(document).ready(function(){
  2053. $('a#controlsbutton').click(function(){
  2054. $('body').toggleClass('controls-click');
  2055. });
  2056. });
  2057.  
  2058. // sidebar popup
  2059. $(document).ready(function(){
  2060. $('a#sidebarbutton').click(function(){
  2061. $('body').toggleClass('sidebar-click');
  2062. });
  2063. });
  2064.  
  2065. // more links tab
  2066. $(document).ready(function(){
  2067. $('a#morelinksbutton').click(function(){
  2068. $('body').toggleClass('morelinks-click');
  2069. });
  2070. });
  2071.  
  2072. // searchbar
  2073. $(document).ready(function(){
  2074. $('a#searchbutton').click(function(){
  2075. $('body').toggleClass('search-click');
  2076. });
  2077. });
  2078. $(document).ready(function(){
  2079. $('.search').submit(function(event){
  2080. var value = $('input:first').val();
  2081. location.replace('http://{Name}.tumblr.com/search/' + value);
  2082. });
  2083. });
  2084.  
  2085. // scroll to top
  2086. $(document).ready(function(){
  2087. $('a#totop').click(function(){
  2088. $('html, body').animate({scrollTop : 0},800);
  2089. return false;
  2090. });
  2091. });
  2092.  
  2093. var mybutton = document.getElementById("totop");
  2094. window.onscroll = function() {scrollFunction()};
  2095.  
  2096. function scrollFunction() {
  2097. if (document.body.scrollTop > 200 || document.documentElement.scrollTop > 200) {
  2098. mybutton.style.display = "flex";
  2099. } else {
  2100. mybutton.style.display = "none";
  2101. }
  2102. }
  2103.  
  2104. // day/night mode
  2105. const toggle = document.getElementById("theme-toggle");
  2106.  
  2107. toggle.onclick = function () {
  2108. // add class to html and make transition snappy
  2109. document.documentElement.classList.add("theme-transition");
  2110. // alright lets retrive the info from data-theme
  2111. let currentTheme = document.documentElement.getAttribute("data-theme");
  2112. // if it's dark already, let's go into the light
  2113. let targetTheme = "light";
  2114. // but if it is light let's toggle dark mode
  2115. if (currentTheme === "light") {
  2116. targetTheme = "dark";
  2117. }
  2118. // ok now that theme has been toggled, get rid of snappy transition
  2119. window.setTimeout(function () {
  2120. document.documentElement.classList.remove("theme-transition");
  2121. }, 50);
  2122. // we're going to save our theme preference now
  2123. document.documentElement.setAttribute("data-theme", targetTheme);
  2124. localStorage.setItem("theme", targetTheme);
  2125. };
  2126.  
  2127. // remove empty p tags
  2128. for (const p of document.querySelectorAll('p')) {
  2129. if (p.innerHTML.trim() === '') {
  2130. p.remove()
  2131. }
  2132. }
  2133. // create posts array
  2134. let posts = []
  2135. {block:Posts}
  2136. posts.push({ npf: JSON.parse({JSNPF}), id: {JSPostId}})
  2137. {/block:Posts}
  2138.  
  2139. //function for updating post types
  2140. function updateTypes(type, article) {
  2141. article.classList.remove('text-post')
  2142. article.classList.add(`${ type }-post`, 'npf-post')
  2143. }
  2144.  
  2145. // loop through array to get each post
  2146. for (const post of posts) {
  2147. let npf = post.npf
  2148. let article = document.getElementById(`post-${post.id}`)
  2149. // select captions that have something in them
  2150. let caption = article.querySelector('.caption:is(:not(:empty))')
  2151. if (caption != null && article.classList.contains('text-post')) {
  2152. // if content exists
  2153. if (npf.trail.length || npf.content.length) {
  2154. // assign various post types based on NPF data
  2155. switch (npf.trail[0]?.content[0]?.type ?? npf.content[0].type) {
  2156. case 'image':
  2157. updateTypes('photos', article)
  2158. if (article.querySelector('.npf_row') == null) {
  2159. caption.prepend(article.querySelector('figure'))
  2160. }
  2161. break
  2162. case 'video':
  2163. updateTypes('video', article)
  2164. let video = article.querySelector('figure')
  2165. caption.prepend(video)
  2166. break
  2167. case 'link':
  2168. updateTypes('link', article)
  2169. case 'audio':
  2170. updateTypes('audio', article)
  2171. break
  2172. case 'quote':
  2173. updateTypes('quote', article)
  2174. }
  2175.  
  2176. // if there are photos
  2177. if (article.classList.contains('photos-post')) {
  2178. let photoset = document.createElement('div')
  2179. photoset.classList.add('npf-photos')
  2180. caption.prepend(photoset)
  2181. // find where a photoset would be split up by another content block
  2182. let photoBreak = article.querySelector('.reblog-content p, .reblog-content h1, .reblog-content h2')
  2183. let elements = []
  2184. if (photoBreak) {
  2185. let prevElement = photoBreak.parentNode.firstElementChild
  2186. while (prevElement !== photoBreak) {
  2187. elements.push(prevElement)
  2188. prevElement = prevElement.nextElementSibling
  2189. }
  2190. }
  2191. // if there is nothing that breaks up the photoset, select all rows
  2192. else {
  2193. elements = article.querySelectorAll('.npf_row')
  2194. }
  2195. // move each row to the top
  2196. for (const el of elements) {
  2197. photoset.append(el)
  2198. }
  2199. if (article.querySelectorAll('.npf_row').length > 1) {
  2200. updateTypes('photoset', article)
  2201. }
  2202. else {
  2203. updateTypes('photo', article)
  2204. }
  2205. }
  2206.  
  2207. // clean up any potential stray reblog headers
  2208. let reblogHeader = article.querySelector('.reblog-header')
  2209. let reblogContent = article.querySelector('.reblog-content')
  2210. if (reblogHeader?.nextElementSibling === reblogContent && reblogContent?.childElementCount === 0) {
  2211. reblogHeader.remove()
  2212. reblogContent.remove()
  2213. }
  2214. }
  2215. }
  2216. }
  2217.  
  2218. </script>
  2219. </html>
Advertisement
Add Comment
Please, Sign In to add comment