You know what, I'll bother making this post. It's long overdue.
PSA: Please don't install uBlock Origin rules for Tumblr that use :nth-of-type(), and please remove or fix any you have installed. They can and will hide the wrong things. I'll show you a few alternatives below.
First, an example of how we get here. I've used the uBlock Origin element picker to try to hide the "Get a Domain" sidebar item:
With some different adjustments of the sliders, it gave me these two snippets, one of which targeted a whole bunch of sidebar items, and the other of which selected the right one. Great, right? Read on.
www.tumblr.com##li.g8SYn.IYrO9:nth-of-type(7)
www.tumblr.com##.gM9qK > li.g8SYn.IYrO9
As you can see, these both target a particular kind of sidebar item via "li.g8SYn.IYrO9"—fine—and as you can probably guess, the second one counts them all up and hides the seventh it finds.
This is bad, because what it actually hides depends on exactly how many sidebar items there are! Users can "snooze" Tumblr Live, which will make an item appear or disappear, and users with/without Ad-Free subscriptions will have or not have another. I have seen many, many people accidentally hide their activity, messages, inbox, etc using someone else's rule that's supposed to hide Live. Worse, some rules intended for e.g. recommended post carousels that use nth-of-type translate to something like "hide item number three on the dashboard no matter what it is," which will lead to a seemingly random post on your dashboard disappearing!
This isn't a problem specific to Tumblr, of course—I personally think uBlock Origin should never autogenerate these rules—but Tumblr has a ton of elements that aren't in fixed positions, so I feel comfortable wording that PSA the way I did. On a very static site, those rules might be fine. Here they almost always aren't.
So how do we fix this? First of all, as a developer of XKit Rewritten (check out @addons!), I must suggest you check if it has a feature to do what you want. Plenty of times it won't, though, and if not, we want to make a rule that hides an element based on what it is, not where it is. Here are three ways to make a robust rule:
First, I'll right-click the element I want and use the inspect element tool in my browser's developer tools to look at the element I really want (Firefox and Chrome/Edge/Opera have different but overall similar interfaces for this):
The HTML looks, for reference, like this (Tumblr sucks at code blocks but I'll try):
<li class="IYrO9 g8SYn" title="Get a domain">
<a class="tDT48" href="/domains">
<div class="kn4U3">
<svg>
<use href="#managed-icon__earth"></use>
</svg>
</div>
<div class="a132D">
<span class="ZC1wz">Get a domain</span>
<!-- other unimportant stuff removed-->
</div>
</a>
</li>
What's something unique about this element, preferably about the outermost element, and preferably contained within the <angle brackets> (HTML tags)? In this case, we have it easy: title="Get a domain" is definitely unambiguous and fulfills all of those three. If you're very familiar with web design using CSS, you'll know how to target that; if you've vaguely heard of CSS, you may be able to look at a reference sheet of CSS selectors, see [attribute=value], and figure it out, and if neither is true, I'll spoil it for you and say that we just put it in square brackets in this case.
So—taking the rule uBlock Origin made, removing the :nth-of-type() and replacing it with our better selector—here's our first working, bug-free uBlock Origin rule:
##li.g8SYn.IYrO9[title="Get a domain"]
Okay, great. But what if we didn't have that attribute to target? What if our top-level element looks the same as the other ones? What if we want this rule to work if we change our Tumblr language to Spanish? Let's move on to :has().
:has() is a CSS selector (supported in uBlock Origin even in browsers where you can't use it for web development yet, i.e. Firefox), that lets you check the contents of an element for whatever is in the parentheses. Let's assume that Tumblr would never make two sidebar items with the same icon, and target that href="#managed-icon__earth" property:
##li.g8SYn.IYrO9:has([href="#managed-icon__earth"])
Yep, that works too!
Finally, what if we couldn't use either of those because we need to target the content of the page that's not contained within the <angle brackets>? We can take a look at the uBlock Origin documentation and find that it has something for that too: :has-text(). You can do very powerful things with this (e.g. you can sort of implement Blacklist entirely using uBlock Origin using something like article:has-text), but it doesn't perform well and can pretty easily be used incorrectly, so I'd suggest you avoid it when possible.
However, let's try using it here to target the "Get a domain" label text:
##li.g8SYn.IYrO9:has-text(Get a domain)
And that also works!
With these techniques, you should be able to target any specific thing you'd want to hide without using any fragile positional selectors. If you're going to share your uBlock Origin rules with others, please make use of this! If you're just using your rules for yourself, then hopefully I've given you enough information so that you can understand what a rule does and decide for yourself if it's worth bothering to fix (menu item order might not change that often, so maybe you're fine with certain rules being a bit prone to breakage; if your rule hides the first post in your timeline you really do need to fix that one!)
-
And, of course, a note for you web developers out there: :has() isn't natively supported in Firefox quite yet, so you can't really use it (I would not recommend using JQuery's simulated version—it's not quite the same). And :has-text() is just not a thing for CSS at all. Just use javascript at that point! Edit: No longer true in 2024; style away!
Final note: any rule with a random 5-character string like g8SYn will eventually break when Tumblr rebuilds its CSS map, though they haven't done that in ages. But when they do: no, it's not "Tumblr devs breaking our rules because they hate us." (Yes, I hear that sentiment a lot in contexts when it almost always makes zero sense.) If you're fairly experienced with CSS you can sometimes make Stylus/uBlock Origin rules that don't reference any, but it's usually convoluted and more trouble than it's worth.
79 notes
·
View notes
Universal Scroll Button(Autochange Direction) For Any Host
Hey, do you have a site with a lot of forums? Does your host allow you to use Javascript? Boy does this weirdo have a deal for you! For the low low price of free, you can get right now access to a scroll button that swaps directions when you scroll automatically, as well as changing the target & title on hover! Act fast, this deal won't last!
I kid, but enough of the ShamWowery. In reality, this is a very simple script that reads how far you have scrolled a window, & applies or removes a class to your scroll button, as well as changing the target of said scroll button & adjusting the title to reflect which way it will take you!
It's so simple, crediting me seems superfluous but if you want, feel free to credit with a link to my blog <3 I hope the new verse of our song is eminently kind to everyone!
See it In Action(Click, or look Below):
I currently use this code on two different WIPS, so feel free to check out some gifs;
To Begin
Before the end of your </body> tag in your wrappers(for Jcink) or wherever the HTML templates go on other sites, you want to place this script:
<script> $(window).scroll(function() { if ($(this).scrollTop() > 800) { $('#scroll').attr("title","To Top?").attr("href","#Top").addClass('totop'); } else { $('#scroll').attr("title", "To Bottom?").attr("href","#Bottom").removeClass('totop'); } });</script>
This seeks out an id of Scroll to adjust the href & title as needed depending on the scroll position within the relevant window. The scroll amount is in px, so to change how quickly it changes the button, alter the number 800 to whatever you desire, fiddle with it; one size never fits all.
The Styling
Once you've saved that, move to your CSS, or wherever your Style tag is to add styling for the link itself. Keep in mind the link should be contained within a container that handles its positioning for it as otherwise the script will fuck with the positioning as well as the transformation & you really just want it to spin upwards.
The styling for the link should be as follows;
#scroll {
display: inline-block;
positioning: relative;
transform: rotate(0deg);
transition: transform .5s ease-in-out;
/*** ^ change the .5s to alter duration or the ease-in-out to alter the timing of the transition between button states ***/
}
#scroll.totop {
transform: rotate(180deg);
}
The first statement defines the default state (linking to the bottom) of the scroll button on the load of the page, the second defines the change of position once the window has been scrolled far enough to activate one's script.
The HTML
Now you've got the behaviour defined via JS & the styling defined via CSS, it's time to input the HTML, or the bone structure of the code itself. In your wrappers, template, or wherever HTML goes on your host, locate three places;
One, where you want the TOP scroll location to be. This is where the scroll button will take you once it has changed states on scrolling a certain distance. Here, you place an anchor span as follows;
<span id="Top"></span>
Two, Where you desire for the BOTTOM or BODY scroll location to be, as in where the scroll button will take you on click initially. This could also be a scroll to the start of content, in which case I recommend changing #Bottom & id="Bottom" respectively to reflect the syntax, it's entirely up to you. Here, you place an anchor span as follows;
<span id="Bottom"></span>
Finally, It's time to add the scroll button. Keep in mind, where you put it is a function of utility & design choice. Some like it persistently hovering in a fixed position, some like it in a sidebar or on userlinks, some prefer it in the navigation bar.
Wherever you place it, try to ensure that it's easily accessible on any device, screen size, & matches the User Interface logic you've used everywhere else. If you have all text buttons, don't use just an icon, if you have all icons, don't suddenly use just text. Match your action calls, so users don't feel confused while using your site.
Once you've decided where you want it, place the following code, NOTING that there should be a container for this code that positions it for you. I've provided two options; the Icon Font option (courtesy of Phosphoricons -- a free & reliable Icon Font I recommend -- As well as one which includes text, so both UI/UX design philosophies are accommodated.
Note the option with text will only rotate the caret from downwards to upwards, so the scroll text shouldn't need editing unless you want to add or supplement flavourtext.
Please choose the appropriate option for yourself;
Icon Font
<a id="scroll" class="ph-fill ph-caret-down"></a>
Icon Font with Text
<span>Scroll <a id="scroll" class="ph-fill ph-caret-down"></a>?</span>
Some Notes:
I just want to add a bit of info:
If your browser isn't scrolling smoothly to your anchors? Check your settings, & be sure the root of your CSS has scroll-behaviour: smooth; in it.
If you use this guide & have problems getting it to work, please let me know! I will troubleshoot this for you & tumblr has strange coding, I may have futzed something up, I want this to be as accessible as possible, so don't be silent; questions help!
If you are not using Jcink, or another host with a Jquery library pre-loaded, be aware that one is needed for this script to work. Most hosts will have a default Jquery library, but if yours doesn't or you're self hosting, any should do. The Jcink file is below, however, if you want to just use that.
8 notes
·
View notes
For the Sake of a Smile --Ch. 10/Short
Peeps, I have a migraine, but I really want to post this you guys as I do every Saturday. So, I'm not putting the energy into doing my usual formatting, but I promise the chapter is just a great as always. (I wrote it long before the migraine hit this morning, and @avellanas-nutty-empire edits make it 10x better)
So, without further delay, Chapter 10 and Short 10; all in one post!
(Will be posted to AO3 later; I don't have the focus to work on the html tags for all the italics)
Professor Dantlion looked like an average demon; cheerful, friendly, plain brown hair and eyes, and seemed approachable enough - if it wasn't for the fact he was the teacher's supervisor and had a dark aura just…hanging around him.
Or maybe that was your own paranoia.
"I had a meeting with Lord Sullivan," He started after formalities. "And it seems you were never actually initiated as Babyls Faculty."
You blinked, confused. Sullivan hadn't mentioned anything about being 'initated' when he announced he found a job for you. What did that even entail?
"Oh, don't worry!" He tried to reassure, seeing your face pale. "We're not as archaic as Jackapo's initiations. No blood rituals or life-or-death fights."
"Oh, okay," You squeaked. Your thoughts hadn't even drifted towards it being that dark or gruesome.
"I know you're not technically a teacher, but Lord Sullivan asked for me to be your supervisor, so we'll be taking you out to the Brawl Inn tonight."
"Wait, what?"
----
"It'll be fun, sweetheart," Sullivan tried to reassure you when you ran to his office after Dali left the library.
You however, were not reassured. You continued to pace the span of his office.
"Fun? I-I’ve never had fun at any after work gathering in my life. All my coworkers are demons while I am human, or have you forgotten?! Then you add alcohol into the mix which only spells certain disaster! I still can't remember much from that one drink at Walter Park! And that was one! With just Balam and Kalego! God, what if Raim and Momonoki finally corner me for girl talk?"
"There's no need for such language," Sullivan chimed, sounding vaguely disapproving - though you didn't really hear him.
"What if my drunk ass admits everything? Can you imagine how bad that could end; not just about me and Balam, I mean everything, dad! The fact I'm human, or that Iruma's human! It could not only end with my death, but his too, and--"
Sullivan stopped your frantic pacing with a gentle hand on your shoulder, his dark eyes meeting yours from behind his glasses.
"Nothing is going to happen, my dear. You'll be safe. I not only trust you, but the other staff as well. You'll see how devoted the teachers are, and the fact that Dali accepted you as one of his own proves that he believes you are worth this honor."
You took a few deep breaths; hoping, wishing what he said was true. Sullivan knew them best, he knew what was at stake. You could trust him on this at least, right?
"And I just love it when you call me dad!" Sullivan broke the moment as he quickly pulled you into a hug with a happy squeal. "You really do see me as your father, just like Iruma sees me as his grandfather! Oh, I'm just so happy!"
"Really?" You half-heartedly complained at the sudden change of topic as well as mood, though you didn't fight the embrace. Sullivan's open paternal affection would always be something you secretly cherished.
And maybe a change is what you needed.
"Absolutely, my sweet little princess! You two mean so much to me! And I would never, ever, put you in a situation you couldn't handle."
With a groan, you wrapped your arms around his slender frame and allowed yourself to relax and accept the comfort he offered. Because considering how much he fussed over Iruma, and in a way yourself as well, you had to admit you had to believe him. Which meant you weren't getting out of the initiation, no matter how nervous you were.
But, if other teachers were going to be there… would Balam be there too? You knew he would protect you, but you also worried about everything else that came with being around him.
----
"Kalego!"
The demon in question looked up from his book to Balam, who looked as excited as he sounded. Which - considering the giant demon had been distracted from his grading by his phone, Kalego presumed it was something you had done or said; per the norm, nowadays.
"Hmm?" Kalego grunted in acknowledgement as he continued his work. Spending the evening with Balam holed up in the Prep room sounded much more appealing than attending the teachers' celebration for another successful Harvest Festival. Calming instrumental music was drifting from the radio, and he had found a rather interesting blend of wine to sip on after sharing a decent meal with one of the few people in the Netherworld that didn't annoy him.
Even if Balam's interest was focused on you to the point Kalego doubted the other demon realized how much his time was spent either talking to, or about you. But he was such a love-sick hellhound that even Kalego couldn't be annoyed by his antics. It was as adorable as it was pitiful, even to him.
And to be completely fair, he did enjoy seeing his comrade happy. You were rather close to being added to the short list of people Kalego could tolerate after work too.
As soon as he figured out the conundrum that surrounded you and your son.
"Dali is going to be her supervisor," Balam explained, furiously typing on the small keyboard of his phone. "And he plans on formally initiating her into her role as Librarian tonight."
That caught Kalego's full attention. Not only did Sullivan relinquish that kind of authority over his daughter, but also allowed Dali to oversee your rite? That was a surprising turn of events. He had figured the chairdemon would have insisted on having that privilege for himself. But…
"Tonight?" Kalego asked with a frown. "Aren't the other teachers celebrating the end of the Harvest Festival?"
Balam's excitement faded, and Kalego could almost see the forlorn expression behind his mask as Balam's broad shoulders slumped. "I know you didn't want to go, but…"
No, he hadn't. Kalego hated social events with a passion. And Balam had reluctantly decided to stay with him versus attending the event, mainly because of his own social awkwardness. But now that Balam knew you would be there, and the fact it would also be your initiation rite…
The taller demon gave Kalego a pleading look, silently begging for him to change his mind. Kalego cursed internally. Devi, he didn't have a choice at this point.
"I suppose we should go then," He conceded with an aggrieved sigh. "Even if just to protect your future intended from the rest of the faculty."
The tease caused Balam to blush heavily, far too flustered to even stammer a defense. What Balam saw in you, Kalego couldn't understand himself. But the fact he was interested in you, inherently meant to Kalego you were worth protecting - if even just for Balam's sake.
Why the demon couldn't find someone who could protect themself was beyond him. And why you were so weak compared to your father and son, Kalego was determined to figure out.
-----
Brawl Inn was a small building in the wasteland not far from the town of Babyls. You dismounted Podargos, giving the nightmare a loving pat on the muzzle before tying her to the fence where there was fresh water and feed (fresh ground meat and other things you did not wish to think about) already set out by the Inn staff.
Sullivan assured you no matter what state you were in later, Podargos would get you home. And you had to believe him, she always seemed gentle and sure of herself. She was the first you had ridden, and never needed any correction as soon as you told her 'home.'
Still, your nerves twisted your stomach as you stood outside - trying to psych yourself up.
This wasn't going to be like back in the human realm. Your demonic coworkers were far better than your human ones had been. Oddly enough, they weren't as vicious or cutthroat, or prone to backstabbing. You vaguely remembered Kalego's comment that forcing others to drink was against their rules.
You didn't know if that meant subtle challenges as well or not, but it was still reassuring.
Yet here you were, unable to open the door and enter. You could hear boisterous talking and laughter coming from inside.
Was Balam already here? He said he could have escorted you, but admitted he also had to convince Kalego to attend, so you had reassured him you could manage. You imagined he was going to have a hard enough time with Kalego.
The sound of flapping wings caught your attention, and you looked up in time to see Kalego and Balam arrive. Seeing a demon's wings was always a shock, considering most of the time they were hidden, and you couldn't resist a moment to study the two's own pair. Kalego's was dark and glossy skin, large yet lithe. They were a pair from a typical legend, whereas Balam's…
Were dark green feathers, with a span that was nearly as long as he was tall. You knew you had seen them before in the chaos of Walter park, but you hadn't been able to appreciate them.
Granted, you couldn't exactly appreciate them now either; because as soon as the two landed, their wings folded back into virtual non-existence.
"You weren't waiting for us, were you?" Balam asked after greeting you cheerfully by name.
"No, I, um, just got here," You explained awkwardly. It wasn't quite a lie, you hoped only a few minutes had passed while you were having a moment.
"Let's get this over with," Kalego sighed, pushing past you towards the door. Balam's arm wrapped around your mid back, providing warmth and safety that you had unknowingly needed. The confidence you needed to face the rest of the staff seemed to flow from him into you.
If he was here, you knew you would be safe.
Inside the bar was dark with just a few candles lit to offer a trace amount of light. You pressed closer to Balam's arm - some instinctual part of you terrified as a robed figure stepped out of the shadows and held out a hand towards you. "Welcome, you who strive to fill the role of the Librarian of Babyls…"
"Must you really be so dramatic?" Kalego growled, interrupting the deep voice. "Seriously, Dali, she's already worked in the library for a few months."
There was a pout on Dali's face as he pulled back his hood. "It's tradition, Kalego. I thought you of all demons would respect that."
"There's hardly a need for theatrics with this one," Kalego shot back, gesturing sharply to you. "At this point it's a mere formality."
"You're just jealous you didn't get the role to scare her." Robin stepped out of the gloom, pointing an accusing finger at Kalego. "Or you would have jumped at the chance!"
Kalego huffed and crossed his arms. "Don't be ridiculous."
Someone grumbled about the effect being ruined, and with a snap the lights flared to life. More of the teachers lowered their hoods and chimed their own thoughts of how things should have went.
"Are they always like this?" You whispered as the argument--bickering, really-- continued.
"Well, not usually…" Balam admitted quietly. "But typically one is initiated when they first start. You're a bit of a special case."
"Can we just hurry up and get this over with?" Elder Morax complained rather loudly. "I thought the main event tonight would be celebrating!"
Dali sighed, conceding he had lost. "Very well. Please, step forward." He gestured to you, and Balam's protective touch became a gentle nudge forward.
You hesitantly stepped towards Dali and a dark crimson circle flared to life with dark symbols carving themselves into the stone floor. The magic was near palpable, making the hair at the nape of your neck raise as your heart quickened.
"The teacher of Babyls is a sacred role," Dali started, his usual demeanor shifting into one far more serious. "As is the role of Librarian. To guide and guard the treasure of Babyls, its students, is the highest honor. Do you pledge your life to protect them above all else from the enemies that may target our treasure?"
This wasn't some meaningless pledge. You could feel the magic waiting for your answer, to make sure that you held true to it if you swore. Not just Iruma and his classmates, but all the students.
It made you hesitate and think - was this really what you wanted to do? You highly doubted you could just up and quit after an oath like this.
Hell, it was better than the fishery. And you had to admit; while the Misfit class held a special place in your heart, you were fond of all the students. Being a librarian at Babyls? There could be worse fates.
"I swear," You answered, meeting Dali's eyes firmly, and instantly felt the magic snap into place. The odd sensation took your breath away as the symbols flared a fiery red beneath you. There was a strange notion that maybe you hadn't sold your soul to Sullivan after all…
But instead hd just signed it over to Babyls.
A thunderous applause broke out from the surrounding teachers as the circle faded into nothing, and before you could blink, Balam had swung you off your feet, lifting you until you were sitting on his shoulders. You clutched to him, stunned by the sudden change as you looked down at everyone.
Smiling. Cheering. Even Kalego had a faint smile on his face.
You knew you had made the right choice.
----
You may have had limited experience with human coworkers, but your demon peers were nothing like the human counterparts. Where you had been defensive around your previous coworkers, feeling as if you had to constantly prove yourself and be on guard, here you didn't.
They easily accepted the fact you didn't want any alcohol, and in fact had many recommendations on non-alcoholic drinks instead. Despite being new and a bit of an outsider, you didn't feel excluded.
Actually, quite the opposite. In a blur of events, you had been dragged from Balam's side to a seperate table across the large room, where most of the female teachers had gathered. Not just Raim and Momonoki; but Suzy, Furcus, and Tsumuru too.
"We actually have a full table now!" Tsumuru cheered, being echoed by the others.
"I have to admit, I do love what you've done with the library," Furcus admitted, the older woman smiling softly at you, looking rather tired. "Through the years, no one's really paid much attention to the organization of it."
"A lot of the students have enjoyed the new study spaces," Tsumuru added, making you flush from the attention. "I've even seen an increase in grades, which I can't contribute to anything else but the library's renovation. I was so excited when Dali said you were being initiated! I can only imagine how you'll help in the future!"
"Those cubbies also make for good make-out spots," Raim added with a wink, making you flush even more. "Or have you and Balam found that out already?"
"W-we aren't courting, despite what the rumors say," You stated with a bit of a stammer, deciding there was no way to avoid the topic - so you were going to face it head on. With blunt honesty.
"What?!"
It wasn't just Raim and Momonoki giving you incredulous looks as you had expected - it was all of them. Even perpetually calm Suzy and Furcus looked surprised.
"No, that's just not possible!" Momonoki protested. "J-just look at you two! It's obvious!"
"It's more obvious than her crush on Kalego," Suzy chimed, gesturing to the blue-haired teacher who blushed yet nodded in agreement.
"Exactly! How are you two not courting?"
You rubbed your face, willing the burning sensation to fade from your face. "Look, it's… it's like this. We fell into an easy friendship--camaraderie," You corrected, seeing their odd looks, "...because of mutual interests. And his skinship is a perfect match for my own…issues. But that isn't to say we're romantically interested in each other."
Raim frowned and leaned on the table, "I am a succubus, remember? I can literally taste the attraction between you, so don't give me that devibullshit."
Wait. Could Succubi do that?
The others were nodding, so you had to assume they could, and that Raim wasn't lying.
"I mean, I-I am kinda… interested… in him…" You admitted, casting a glance to the table across the room where the other staff were. They were by far louder, so you doubted that anyone else could overhear the infamous Girl Talk you had been dreading.
Yet almost sensing you were looking at him, Balam shifted to look at you - head tilted to express his concern. You smiled slightly and gave a small wave, letting him know you were fine.
Even if you were internally dying of embarrassment.
The corners of his eyes crinkled as he smiled and returned your small wave before his attention was caught by Robin invading Kalego's space once more.
"Are you telling me - that you two are mutually interested in each other, but not courting?!" Raim virtually seethed. "Have you even said anything?!"
You blinked, startled by the severe expression on her face. You had no idea she - or the others - had been so invested in the relationship between you and Balam.
"I haven't done this before, okay?!" You shot back after a moment, put on the defensive by her tone. "This is unfamiliar territory for me!"
"But, Iruma is your son," Furcus added, a frown gracing her face. "You can't have children without mating."
"T-that, was…" You trailed off, fear flooding through your mind as you worried about being caught in your lie. You had built a backstory, but hadn't quite explained it to Iruma - and you weren't sure what he had said about the matter. What if he had said something that would contradict you? What if it planted seeds of doubt in their minds?
Devi, if only adoptions were normal in the Netherworld. But you had seen it yourself at Walter Park; most demons were demonish in that aspect.
"Is the rumor of his father true?" Tsumuru asked as your pause became stagnant. "He's really not present?"
"It was one of those… unintended things," You awkwardly excused, not completely sure how deep a hole you were digging yourself. But surely demons had one-night stands? And maybe decided to keep any child conceived afterwards?
"I've had plenty of those," Raim sighed dreamily, destroying any doubt. "Though, you know there are plenty of… remedies for afterwards."
You shrugged your shoulders, "Yeah, but… Iruma's one of the best things in my life so I don't regret anything."
"While that is adorable," Momonoki interjected. "Our main concern should be that our dear librarian hasn't courted before, and we all know Balam hasn't either. They're both helpless! We need to help them!"
Raim hummed, "You just want a real-life romance novel to play out before your eyes, don't you?"
The other demon turned a bright shade of pink.
"That is totally besides the point!"
"You guys," You whined. "It really isn't that big of a deal. Balam and I…we'll figure it out."
Suzy patted your hand reassuringly. "I'm sure you will. But if you ever need some advice, feel free to ask. I courted many a demon back in my day before deciding to pledge my life to Babyls."
Raim nodded, "Absolutely. I would be happy in giving you a few pointers and tips on seduction. Together, we could have that giant of a demon wrapped around your finger." She smirked while twirling her own hair around her graceful fingers, making you blush deeper.
Furcus snorted, "You say that as if he isn't already."
Tsumuru nodded, "You don't have to be a master at psychiatry like myself to know he has it bad."
"And," Raim continued in a staged whisper, leaning over the table closer to you. "Once he's wrapped around your finger, you can finally wrap yourself around--"
---
The evening became livelier as Robin and Dali pulled out games like Bingo and Charades, along with some Netherworld games you had no name for but ended up laughing until your ribs hurt.
Partly just because of the anitics of the others as they drank more and more while you stayed sober. But, you had a feeling you would have ended up having a good time regardless. It truly was nothing like your previous experiences; you were thoroughly enjoying yourself.
To probably no one's surprise, you ended up once more next to Balam; and all too aware of the 'supportive' gestures from your female colleagues, ranging from subtle thumbs up and winks to awkward gestures that you had no idea what they meant - but seemed vulgar anyways.
You could only pray Balam hadn't noticed them or the fact you would suddenly pull his attention elsewhere in an attempt to keep him from noticing. If he had, he kept silent and just rolled with your antics while helping you with the games you were unfamiliar with.
While also more or less compelling Kalego to participate as well, which made you giggle as the other demon grumbled half-heartedly. Having fun and being happy filled you with a sort of boldness, leading you to tease Kalego.
Kalego would take it in stride and subtly return the teasing with light-hearted taunts. Which - judging by Balam's excited reactions as the two of you bantered back and forth - meant Kalego had officially accepted you into the fold.
--
"Is it really okay to leave Robin with everyone?" You asked hours later as you left with Balam and Kalego. At least half a dozen of the other teachers were passed out inside the inn, and you felt guilty at Kalego's offhand comment about it being the newbie’s responsibility to get them all home.
"He arranged it and allowed Dali to partake as well," Kalego replied with a snort. "He needs to take responsibility for his actions."
"Considering most of them live in the teachers' dorms, he won't have that much difficulty," Balam assured, his hand combing through your hair thoughtlessly. "Are you okay with returning home?"
The nightmare in question - still patiently waiting at her post - snorted and pawed a hoof as if insulted by Balam's implication.
"Podargos will make sure I get home safe and sound," You said, giving him a reassuring smile. "Dad and Opera trained her well."
Yet despite the reassurance, Balam seemed reluctant to let you go. His hand brushed your cheek softly as he held your gaze. Was his thoughts wandering the same path yours now wandered, thinking of the possibility of a romantic relationship. Or had the wine he and Kalego been sharing still affecting him?
(Granted, for as much as they both drank, you were surprised they were seemingly unaffected.)
Everyone seemed so sure that Balam held such romantic feelings for you that it filled you with hope - but at the same time, you were still so lost on what to do next. Was it unfair of you to wait for him to make that next move, or was he waiting for you?
Devi, he'd probably end up waiting forever if he was. You don't know if you possessed the boldness to take that next step without his lead.
"Shichiro," Kalego called, interrupting the moment. "Shall I leave you two alone? I would like to be home before dawn."
"Still feeling that last glass, Kalego?" You couldn't help but tease despite the warmth spreading across your cheeks and his implication. Or, at least the one your mind readily supplied.
His eyes narrowed slightly, though you hoped it was in good humor. "I applaud the fact you restrained yourself from drinking all night. I hate to see what the school would be like if everyone witnessed you crawling into Shichiro’s lap to sleep."
"You two…" Balam sighed as you seethed in embarrassment as the dark-haired demon smirked.
Fine, two could play at that game. "Well," you drawled as you turned back to Balam. "Since Kalego apparently needs help finding his way home--"
"I do not--" Kalego hissed, though your attention was once more captured by Balam as you reached up and patted Balam's cheek without thinking.
The giant demon quickly bent down so you could reach easier, and - well, the temptation to run your fingers through his hair was too much for you to resist.
"I'll talk to you later, okay?" You finished softly as your heart thumped in your chest. Just a few small strokes and Balam's eyes had fluttered shut as he leaned more into your touch. He looked so happy, so content, so utterly cute, you gave into impulse and leaned in closer to press a quick kiss to his cheek.
"Goodnight, Shichiro." You whispered as you pulled away before nodding at the other demon. "Kalego."
Kalego returned your nod, but you didn't dare look back at Balam to see his reaction. You instead turned to Podargos, somehow managing to undo the knot keeping her tethered with shaky hands before pulling yourself up in the saddle.
She was already galloping when you heard the flutter of wings unfurling and the two presumably taking their leave as well. You gripped the reins tightly, grinning to yourself as the wind whipped around you. You did it! You initiated affection with Balam, and now all you could do was pray it hadn't been too subtle of a hint. Because damn, your heart was hammering heavily enough as it was.
Short Ten
Silence hung over the two demons as they flew, though Kalego knew it wouldn't last for very long. Before they reached the first trees of the forest, Balam finally broke the silence with a whisper "She kissed me…"
Kalego sighed, "I saw." He was happy for him, truly was. But why did you have to finally end Shichiro's doubts tonight? He was already mentally worn out from a long week, plus the hours of forced social interaction.
He wanted to go home, have a long hot shower, and sleep. That is all he wanted at this point.
"And called me Shichiro!" Balam's awed whisper turned into giddiness, and Kalego could easily imagine his companion blushing furiously despite the sky dark, moons barely providing any light. There were only two demons (himself and Opera, of course) outside his family that called Balam by his given name. Everyone else was too terrified of the gentle giant to take such liberties.
"I was there for that as well," unfortunately, Kalego added mentally. He was actually surprised it took you this long, to be honest. After all, you had the whole Misfit class calling you mom now - if rumors proved correct. He had figured you had been using Shichiro in private for weeks now.
Apparently not.
A flap of feathered wings and Balam was gliding next to Kalego, the tips of his wings about brushing his. "Thank you, Kalego, for changing your mind."
Part of his aggravation faded away, and Kalego nodded slightly. "It wasn't too terrible, I suppose." The finest wine money could buy, all from the Chair demon's own account. The food was surprisingly decent for a dive bar, and there had been a few amusing moments.
The moment of peace shortly faded as Balam all but giggled. "I can't believe she actually kissed me!"
Kalego decided he should have taken a bottle of wine home with him after all.
Hell, if he was going to endure this… "So, what are you going to give her as an offering when you ask her to court?"
There was a flutter of wings as Balam faltered mid air with a choked noise, making Kalego smirk.
-----
Opera calmly poured Lord Sullivan's tea, though their mind was full of unrest. You and Iruma had become close, and they acknowledged both of you as members of the Sullivan family, and therefore under their protection.
"Not to question your decision..." Opera started as they finished. "But is it wise to have her sworn in as a Babyls teacher?" A human under the Oath of Babyls? Old, ancient magic that bound a teacher to the school and their duties - how would it react to a human? Would it be the same, or cause you to suffer?
"You said it yourself," Lord Sullivan stated calmly as he picked up his tea cup. "Evil is stirring, even here at Babyls. Iruma will be well protected between his ring and his classmates, though I plan to ask Barbatos Bachinko to continue to tutor him. However, my dear daughter does not have his power or allies. Even if she becomes Balam's intended, the Oath will force him to put the students before her. But, if she is sworn in as a sort-of teacher…"
"Then the others will see her as one of them, even if her identity is revealed," Opera finished as they realized Sullivan's true intent. "They will be more inclined to protect her as well."
Sullivan nodded before smiling, "Plus, she really is as antisocial as Kalego. She could stand to use a few more-- what do they call them? Friends? Humans are social creatures after all…"
72 notes
·
View notes