Advertisement
southcodes

artsbyannz: novels

Mar 4th, 2025
180
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
CSS 18.06 KB | None | 0 0
  1. <!--
  2.  
  3.     book theme and pages coded by skye southcodes.tumblr.com for artsbyannz.tumblr.com
  4.    
  5.     - normalize css by https://github.com/necolas
  6.     - fonts:
  7.         google fonts
  8.         https://online-fonts.com/fonts/palatino-linotype
  9.         https://www.tunera.xyz/fonts/nyght-serif/
  10.     - dark mode https://mournstera.tumblr.com/post/724742111455592448/a-dark-mode-guide-with-css-variables-and-js-this by https://mournstera.tumblr.com/
  11.     - icons by https://phosphoricons.com/
  12.  
  13. -->
  14.  
  15. <!DOCTYPE html>
  16. <html lang="en" data-theme="light">
  17. <head>
  18.     <title>{title}</title>
  19.    
  20.     <meta name="viewport" content="width=device-width, initial-scale=1.0">
  21.  
  22.     <script>
  23.     const storedTheme = localStorage.getItem("theme") || (window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light");
  24.     if (storedTheme) {
  25.         document.documentElement.setAttribute("data-theme", storedTheme);
  26.     }
  27.     </script>
  28.  
  29.     <link rel="shortcut icon" href="{favicon}">
  30.     <meta name="description" content="{MetaDescription}"/>
  31.  
  32.     <link rel="preconnect" href="https://fonts.googleapis.com">
  33.     <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
  34.     <link href="https://fonts.googleapis.com/css2?family=Quicksand:wght@300..700&display=swap" rel="stylesheet">
  35.  
  36.     <!-- normalize -->
  37.     <link href="https://necolas.github.io/normalize.css/7.0.0/normalize.css" rel="stylesheet">
  38.    
  39. <style>
  40.     :root {
  41.   --hover-image-background: rgba(196, 170, 101, 0.5);
  42. }
  43.  
  44. /* colors for light mode */
  45. :root, html[data-theme='light'] {
  46.   --light-on: block;
  47.   --light-off: none;
  48.   --text: #333;
  49.   --background:white;
  50.   --titles:  #b88f80;
  51.   --links: #b88f80;
  52.   --links-hover: #9b6b59;
  53.   --accents: #d1a990;
  54.   --toggle-button-icon:rgb(218, 215, 215);
  55.   --toggle-button-background:rgb(51, 49, 49);
  56. }
  57.  
  58. /* colors for dark mode */
  59. :root, html[data-theme='dark'] {
  60.   --light-on: none;
  61.   --light-off: block;
  62.   --text: #b9b7b7;
  63.   --background:rgb(60, 60, 61);
  64.   --titles:  #b88f80;
  65.   --links: #b88f80;
  66.   --links-hover: #9b6b59;
  67.   --accents: #795738;
  68.   --toggle-button-icon:rgb(218, 215, 215);
  69.   --toggle-button-background:rgb(51, 49, 49);
  70.   --light-on: none;
  71.   --light-off: block;
  72. }
  73.  
  74. .tmblr-iframe {margin:.7rem;opacity:.6;-ms-transform: scale(0.85);-webkit-transform: scale(0.85); /* Safari */transform: scale(0.85);}
  75. .tmblr-iframe:hover {opacity:.8;}
  76.  
  77. ::-webkit-scrollbar-thumb:vertical {border-left:2px solid var(--accents);}
  78. ::-webkit-scrollbar {width:6px}
  79. ::-webkit-scrollbar-track-piece{margin:5px 0;}
  80.  
  81. pre {font-family:consolas;
  82.   white-space: pre-wrap;       /* css-3 */
  83.   white-space: -moz-pre-wrap;  /* Mozilla, since 1999 */
  84.   white-space: -pre-wrap;      /* Opera 4- */
  85.   white-space: -o-pre-wrap;    /* Opera 7 */
  86.   word-wrap: break-word;}      /* Internet Explorer 5.5+ */
  87.  
  88. * {margin: 0;padding: 0; box-sizing: border-box;}
  89. p {margin:1rem 0}
  90. body, figure{margin:0;padding:0}
  91. html{font: 14px 'quicksand', sans-serif;}
  92. body {font-size:1rem;color:var(--text);background:var(--background);font-family: 'Palatino';}
  93. a {text-decoration: none;color:var(--links);word-break:break-word;}
  94. a:hover {color:var(--links-hover);}
  95. blockquote {margin:0;padding:0;}
  96. img {max-width:100%;height: auto;display: block;margin:0}
  97. hr {border:0;border-top:1px solid var(--accents);margin:0;}
  98. ol,li,ul {list-style-type: none;padding:0;margin:0}
  99.  
  100. @font-face {
  101.   font-family: Palatino;
  102.   src: url(https://static.tumblr.com/p5i0ib5/Lr2spt320/palatinolinotype_roman.ttf);
  103. }
  104. @font-face {
  105.   font-family: nygth-regular;
  106.   src: url(https://static.tumblr.com/p5i0ib5/i1sspt31d/nyghtserif-regular.ttf);
  107. }
  108. @font-face {
  109.   font-family: nygth-regular-italic;
  110.   src: url(https://static.tumblr.com/p5i0ib5/wGispt31j/nyghtserif-regularitalic.ttf);
  111. }
  112.  
  113. /* dark mode */
  114.  
  115. html.theme-transition,
  116. html.theme-transition *,
  117. html.theme-transition *:before,
  118. html.theme-transition *:after {
  119. transition: 0s !important;
  120. transition-delay: 0 !important;
  121. }
  122.  
  123. button.theme-toggle {
  124.     position: fixed;
  125.     inset:1.5rem auto auto 2rem;
  126.     padding: .5rem;
  127.     border: 0;
  128.     border-radius: 100%;
  129.     outline: none;
  130.     cursor: pointer;
  131.     font-size: 25px;
  132.     color: var(--text);
  133.     background: var(--toggle-button-background);
  134. }
  135. .theme-toggle .ph{color: var(--toggle-button-icon)}
  136. .light-on {display: var(--light-on);}
  137. .light-off {display: var(--light-off);}
  138.  
  139.  
  140. /* global navigation */
  141.  
  142. #global-navigation {
  143.   padding: 4.5rem 4rem 2.5rem;
  144.   text-align: center;
  145.   font-family: nygth-regular;
  146.   font-weight: 500;
  147.   font-size: 1.4rem;
  148.   letter-spacing: .08rem;
  149. }
  150.  
  151. #global-navigation ul li {
  152.   display: inline-block;
  153.   margin-right: 6rem;
  154.   text-transform: uppercase;
  155. }
  156.  
  157. #global-navigation ul li:last-of-type {margin-right: 0;}
  158.  
  159. /* updates tab */
  160.  
  161. #updates-button {
  162.   border: 0;
  163.   padding: 0;
  164.   font: inherit;
  165.   cursor:pointer;
  166.   letter-spacing: inherit;
  167.   text-transform: uppercase;
  168.   color: var(--links);
  169.   outline: none;
  170.   background-color: transparent;
  171. }
  172.  
  173. #updates-button:hover {color: var(--links-hover);}
  174.  
  175. #updates-tab {
  176.   display: none;
  177.   position: absolute;
  178.   inset: 5.2rem auto auto 50%;    
  179.   -ms-transform: translate(-50%, -50%);
  180.   transform: translateX(-50%);
  181.   width: 90vw;
  182.   max-width: 20rem;
  183.   padding: 1.5rem;
  184.   border: 2px solid var(--accents);
  185.   border-radius: 4px;
  186.   font: 400 1.1rem 'quicksand', serif;
  187.   text-transform: none;
  188.   line-height: 140%;
  189.   background-color: var(--background);
  190. }
  191.  
  192. #updates-tab h4 {
  193.   margin-top: 1rem;
  194.   font: 500 1.7rem nygth-regular-italic;
  195.   letter-spacing: .1rem;
  196.   color:var(--titles);
  197. }
  198.  
  199. #updates-tab span {
  200.   padding: 0 .5rem;
  201.   box-shadow: inset 0 -7px var(--accents);
  202. }
  203.  
  204. #updates-tab hr {
  205.   width: .8rem;
  206.   height: .8rem;
  207.   margin: 2rem auto;
  208.   border: 0;
  209.   border-radius: 100%;
  210.   background-color: var(--accents);
  211. }
  212.  
  213. #updates-tab a {font-weight: 600;}
  214.  
  215. /* container */
  216.  
  217. #container {
  218.     width: 95vw;
  219.     max-width: 85rem;
  220.     margin: 16rem auto 8rem;
  221. }
  222.  
  223. #header {margin-bottom: 7rem;}
  224.  
  225. #page-title {
  226.   font-family: nygth-regular-italic;
  227.   text-align: center;
  228.   font-size: 6rem;
  229.   font-weight: 400;
  230.   color: var(--titles);
  231. }
  232.  
  233. /* filters */
  234.  
  235. #filters {
  236.   font-family: 'quicksand', serif;
  237.   font-weight: 500;
  238.   text-transform: uppercase;
  239.   font-size: 1.3rem;
  240.   text-align: center;
  241. }
  242.  
  243. #filters li {
  244.   display: inline-block;
  245.   list-style-type: none;
  246.   margin:0 1rem;
  247.   letter-spacing: .1rem;
  248. }
  249.  
  250. #filters a {padding:0 .5rem}
  251.  
  252. .current {
  253.   box-shadow:inset 0 -10px var(--accents);
  254.   transition-duration: .3s;
  255. }
  256.  
  257. /* novels */
  258.  
  259. .novel-wrapper {
  260.   width: calc(33% - 6rem);
  261.   margin:8rem 3rem
  262. }
  263.  
  264. /* novel image */
  265.  
  266. .novel-image {
  267.   width: 100%;
  268.   position: relative;
  269.   transition-duration: .9s;
  270. }
  271.  
  272. .novel-title {
  273.   margin:1.5rem 0 0;
  274.   color: var(--titles);
  275.   font-weight: 400;
  276.   text-transform: uppercase;
  277.   letter-spacing: .07rem;
  278. }
  279.  
  280. .novel-link {
  281.   font-size: 1.4rem;
  282.   box-shadow:inset 0 -10px var(--accents);
  283. }
  284.  
  285. .novel-image:hover img{
  286.   filter: blur(8px);
  287.   -webkit-filter: blur(5px);
  288. }
  289.  
  290. .novel-image:hover .image-hover {opacity: 1;}
  291.  
  292. .image-hover {
  293.   position: absolute;
  294.   inset: 0;
  295.   opacity: 0;
  296.   z-index: 9999!important;
  297.   padding: 2rem;
  298.   overflow: auto;
  299.   background-color: var(--hover-image-background);
  300.   font-family: 'quicksand', serif!important;
  301.   font-size: 1.2rem;
  302.   transition-duration: .3s;
  303. }
  304.  
  305. .hover-title {
  306.   margin-bottom: 2rem;
  307.   font-family: nyght-regular;
  308.   font-size: 2.6rem;
  309.   font-weight: 400;
  310. }
  311.  
  312. .image-hover li{
  313.   margin-bottom: 1.5rem;
  314.   font-size: 1.2rem;
  315. }
  316.  
  317. .image-hover span{
  318.     margin-right: 1rem;
  319.     font-weight: 500;
  320.     font-family: nyght-regular;
  321.     font-size: 1.4rem;
  322.     text-transform: uppercase;
  323. }
  324.  
  325. /* MEDIA */
  326.  
  327. @media only screen and (min-width:0) and (max-width:1400px) {
  328.  
  329.   #global-navigation ul {
  330.     display: flex;
  331.     justify-content: space-evenly;
  332.     flex-wrap:wrap;
  333.     max-width: 75rem;
  334.     margin: 0 auto;
  335.     padding: 2.5rem 1.5rem 2.5rem;
  336.   }
  337.  
  338.   #global-navigation ul li {
  339.     margin: 0 1rem 1rem;
  340.   }
  341.  
  342.   #filters ul:last-of-type {
  343.     margin-top: 0;
  344.   }
  345.  
  346.   #filters li {
  347.     display: inline-block;
  348.     margin:0 1rem 2rem;
  349.   }
  350.  
  351. }
  352.  
  353. @media only screen and (min-width:551px) and (max-width:1000px) {
  354.  
  355.   .novel-wrapper {
  356.     width: calc(50% - 6rem);
  357.     margin:0 3rem 8rem
  358.   }
  359.  
  360. }
  361.  
  362. @media only screen and (min-width:0) and (max-width:550px) {
  363.  
  364.   #container {
  365.     margin: 16rem auto 8rem;
  366.   }
  367.  
  368.   .novel-wrapper {
  369.     width: 100%;
  370.     margin:0 0 8rem;
  371.     padding:0 2rem;
  372.   }
  373.  
  374. }
  375.  
  376. @media only screen and (min-width:0) and (max-width:400px) {
  377.  
  378.   #global-navigation ul li {
  379.     display:block;
  380.     margin-right: 0;
  381.   }
  382.  
  383. }
  384. </style>
  385.  
  386. </head>
  387. <body>
  388.  
  389. <button class="theme-toggle" aria-label="toggle dark or light mode" type="button"><i class="ph ph-moon light-on" title="toggle dark mode"></i><i class="ph ph-sun light-off" title="toggle light mode"></i></button>
  390.  
  391.  
  392. <!-- global navigation -->
  393.  
  394. <nav id="global-navigation"><ul>
  395.     <li><a href="/">home</a></li>
  396.     <li><a href="/ask">inbox</a></li>
  397.     <li><a href="/archive">archive</a></li>
  398.     <li><a href="LINK URL">books</a></li>
  399.  
  400.     <!-- open updates tab  -->
  401.     <li style="position: relative;"><button id="updates-button">updates</button>
  402.  
  403.         <!-- updates tab content -->
  404.         <div id="updates-tab">
  405.  
  406.             <h4><span>RAIN ON FIRE</span></h4>
  407.  
  408.             <p>chapter 10 is updated. <a href="#">read the new chapter here.</a></p>
  409.  
  410.             <!-- updates divider -->
  411.             <hr>
  412.  
  413.             <h4><span>rain on fire</span></h4>
  414.  
  415.             <p>chapter 10 is updated. <a href="#">read the new chapter here.</a></p>
  416.  
  417.         </div>
  418.     </li>
  419. </ul></nav>
  420.  
  421. <section id="container">
  422.  
  423.     <!-- header  -->
  424.     <header id="header">
  425.  
  426.         <!-- page title -->
  427.         <h1 id="page-title">novels</h1>
  428.  
  429.         <!-- filters -->
  430.         <nav id="filters">
  431.  
  432.             <li><a href="#" data-filter="*" class="current">all</a></li>
  433.            
  434.             <ul>
  435.                 <li><a href="#" data-filter=".filipino">filipino</a></li>
  436.        
  437.                 <li><a href="#" data-filter=".english">english</a></li>
  438.                
  439.                 <li><a href="#" data-filter=".red">red</a></li>
  440.        
  441.                 <li><a href="#" data-filter=".black">black</a></li>
  442.             </ul>
  443.         </nav>
  444.  
  445.     </header>
  446.  
  447.     <main id="main-wrapper">
  448.  
  449.         <!-- novel start -->
  450.         <article class="novel-wrapper english red">
  451.  
  452.             <!-- novel image -->
  453.             <figure class="novel-image"><div class="hover-image-blur"><img src="https://mail.google.com/mail/u/0?ui=2&ik=b5020bf892&attid=0.13&permmsgid=msg-f:1821410995498506444&th=1946f3a670add8cc&view=fimg&fur=ip&permmsgid=msg-f:1821410995498506444&sz=s0-l75-ft&attbid=ANGjdJ-E7ae0AJkP3eCXPZ1Ov2CTfgF8g0sVaawWi7H6d8VXoDRS_vxVs92ldP4V0LJzsAUu1ICpccb6R8_7dwJ9wwRoqGNApihWuZFwEfKmD_85f5lDd7EJ6Xe0Gi0&disp=emb&realattid=3056BC86-BA37-4F19-8135-0935FB242C24&zw" alt="" class="novel-image"></div>
  454.                
  455.                 <!-- hover content -->
  456.                 <div class="image-hover"><div>
  457.                     <h2 class="hover-title">title</h2>
  458.                     <ul>
  459.                         <li><span>title</span> content</li>
  460.                         <li><span>title</span> content</li>
  461.                         <li><span>title</span> content</li>
  462.                         <li><span>title</span> content</li>  
  463.                     </ul>
  464.                 </div></div>
  465.             </figure>
  466.  
  467.             <!-- novel title -->
  468.             <h2 class="novel-title">novel title</h2>
  469.  
  470.             <!-- read more link -->
  471.             <a href="" class="novel-link">read more</a>
  472.         </article>
  473.         <!-- novel end -->
  474.  
  475.         <!-- novel start -->
  476.         <article class="novel-wrapper english red">
  477.  
  478.             <!-- novel image -->
  479.             <figure class="novel-image"><div class="hover-image-blur"><img src="https://mail.google.com/mail/u/0?ui=2&ik=b5020bf892&attid=0.13&permmsgid=msg-f:1821410995498506444&th=1946f3a670add8cc&view=fimg&fur=ip&permmsgid=msg-f:1821410995498506444&sz=s0-l75-ft&attbid=ANGjdJ-E7ae0AJkP3eCXPZ1Ov2CTfgF8g0sVaawWi7H6d8VXoDRS_vxVs92ldP4V0LJzsAUu1ICpccb6R8_7dwJ9wwRoqGNApihWuZFwEfKmD_85f5lDd7EJ6Xe0Gi0&disp=emb&realattid=3056BC86-BA37-4F19-8135-0935FB242C24&zw" alt="" class="novel-image"></div>
  480.                
  481.                 <!-- hover content -->
  482.                 <div class="image-hover"><div>
  483.                     <h2 class="hover-title">title</h2>
  484.                     <ul>
  485.                         <li><span>title</span> content</li>
  486.                         <li><span>title</span> content</li>
  487.                         <li><span>title</span> content</li>
  488.                         <li><span>title</span> content</li>  
  489.                     </ul>
  490.                 </div></div>
  491.             </figure>
  492.  
  493.             <!-- novel title -->
  494.             <h2 class="novel-title">novel title</h2>
  495.  
  496.             <!-- read more link -->
  497.             <a href="" class="novel-link">read more</a>
  498.         </article>
  499.         <!-- novel end -->
  500.  
  501.         <!-- novel start -->
  502.         <article class="novel-wrapper filipino black">
  503.  
  504.             <!-- novel image -->
  505.             <figure class="novel-image"><div class="hover-image-blur"><img src="https://mail.google.com/mail/u/0?ui=2&ik=b5020bf892&attid=0.13&permmsgid=msg-f:1821410995498506444&th=1946f3a670add8cc&view=fimg&fur=ip&permmsgid=msg-f:1821410995498506444&sz=s0-l75-ft&attbid=ANGjdJ-E7ae0AJkP3eCXPZ1Ov2CTfgF8g0sVaawWi7H6d8VXoDRS_vxVs92ldP4V0LJzsAUu1ICpccb6R8_7dwJ9wwRoqGNApihWuZFwEfKmD_85f5lDd7EJ6Xe0Gi0&disp=emb&realattid=3056BC86-BA37-4F19-8135-0935FB242C24&zw" alt="" class="novel-image"></div>
  506.                
  507.                 <!-- hover content -->
  508.                 <div class="image-hover"><div>
  509.                     <h2 class="hover-title">title</h2>
  510.                     <ul>
  511.                         <li><span>title</span> content</li>
  512.                         <li><span>title</span> content</li>
  513.                         <li><span>title</span> content</li>
  514.                         <li><span>title</span> content</li>  
  515.                     </ul>
  516.                 </div></div>
  517.             </figure>
  518.  
  519.             <!-- novel title -->
  520.             <h2 class="novel-title">novel title</h2>
  521.  
  522.             <!-- read more link -->
  523.             <a href="" class="novel-link">read more</a>
  524.         </article>
  525.         <!-- novel end -->
  526.  
  527.         <!-- novel start -->
  528.         <article class="novel-wrapper english red">
  529.  
  530.             <!-- novel image -->
  531.             <figure class="novel-image"><div class="hover-image-blur"><img src="https://mail.google.com/mail/u/0?ui=2&ik=b5020bf892&attid=0.13&permmsgid=msg-f:1821410995498506444&th=1946f3a670add8cc&view=fimg&fur=ip&permmsgid=msg-f:1821410995498506444&sz=s0-l75-ft&attbid=ANGjdJ-E7ae0AJkP3eCXPZ1Ov2CTfgF8g0sVaawWi7H6d8VXoDRS_vxVs92ldP4V0LJzsAUu1ICpccb6R8_7dwJ9wwRoqGNApihWuZFwEfKmD_85f5lDd7EJ6Xe0Gi0&disp=emb&realattid=3056BC86-BA37-4F19-8135-0935FB242C24&zw" alt="" class="novel-image"></div>
  532.                
  533.                 <!-- hover content -->
  534.                 <div class="image-hover"><div>
  535.                     <h2 class="hover-title">title</h2>
  536.                     <ul>
  537.                         <li><span>title</span> content</li>
  538.                         <li><span>title</span> content</li>
  539.                         <li><span>title</span> content</li>
  540.                         <li><span>title</span> content</li>  
  541.                     </ul>
  542.                 </div></div>
  543.             </figure>
  544.  
  545.             <!-- novel title -->
  546.             <h2 class="novel-title">novel title</h2>
  547.  
  548.             <!-- read more link -->
  549.             <a href="" class="novel-link">read more</a>
  550.         </article>
  551.         <!-- novel end -->
  552.  
  553.     </main>
  554.  
  555. </section>
  556.      
  557. <!-- do not touch -->
  558. <div style="position:fixed;bottom:2rem;right:2rem;z-index:999999999999999999999!important;font-size:.7rem;letter-spacing:.03rem;"><a href="https://southcodes.tumblr.com" title="coded by southcodes" target="_blank">SC</a></div>
  559.  
  560. <!-- jquery -->
  561. <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.2/jquery.min.js"></script>
  562.  
  563. <!-- icons font -->
  564. <script src="https://unpkg.com/@phosphor-icons/web"></script>
  565.  
  566. <!-- isotope filters -->
  567. <script src="https://npmcdn.com/isotope-layout@3/dist/isotope.pkgd.js"></script>
  568.  
  569. <script>
  570.  
  571. $(window).load(function(){
  572.     var $container = $('#main-wrapper');
  573.     $container.isotope({
  574.         filter: '*',
  575.         animationOptions: {
  576.             duration: 750,
  577.             easing: 'linear',
  578.             queue: false
  579.         }
  580.     });
  581.  
  582.     $('#header a').click(function(){
  583.         $('#header .current').removeClass('current');
  584.         $(this).addClass('current');
  585.  
  586.         var selector = $(this).attr('data-filter');
  587.         $container.isotope({
  588.             filter: selector,
  589.             animationOptions: {
  590.                 duration: 750,
  591.                 easing: 'linear',
  592.                 queue: false
  593.             }
  594.          });
  595.          return false;
  596.     });
  597. });
  598.  
  599. // updates tab popup
  600. $("#updates-button").click(function(){
  601.     $("#updates-tab").fadeToggle();
  602. });
  603.  
  604. </script>
  605.  
  606. <script>
  607.  
  608. // dark mode
  609. const themeToggleButtons = document.querySelectorAll(".theme-toggle");
  610.  
  611. themeToggleButtons.forEach((btn) => {
  612.     btn.addEventListener("click", function () {
  613.  
  614.         // Add theme-transition class for smooth transitions
  615.         document.documentElement.classList.add("theme-transition");
  616.  
  617.         // Retrieve the current theme and determine the target theme
  618.         let currentTheme = document.documentElement.getAttribute("data-theme");
  619.         let targetTheme = (currentTheme === "light") ? "dark" : "light";
  620.  
  621.         // Remove theme-transition class after a short delay
  622.         window.setTimeout(function () {
  623.             document.documentElement.classList.remove("theme-transition");
  624.         }, 50);
  625.  
  626.         // Set the data-theme attribute and store in local storage
  627.         document.documentElement.setAttribute("data-theme", targetTheme);
  628.         localStorage.setItem("theme", targetTheme);
  629.     });
  630. });
  631. </script>
  632. </body>
  633. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement