components.scss 132 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154715571567157715871597160716171627163716471657166716771687169717071717172717371747175717671777178717971807181718271837184718571867187718871897190719171927193719471957196719771987199720072017202720372047205720672077208720972107211721272137214721572167217721872197220722172227223722472257226722772287229723072317232723372347235723672377238723972407241724272437244724572467247724872497250725172527253725472557256725772587259726072617262726372647265726672677268726972707271727272737274727572767277727872797280728172827283728472857286728772887289729072917292729372947295729672977298729973007301730273037304730573067307730873097310731173127313731473157316731773187319732073217322732373247325732673277328732973307331733273337334733573367337733873397340734173427343734473457346734773487349735073517352735373547355735673577358735973607361736273637364736573667367736873697370737173727373737473757376737773787379738073817382738373847385738673877388738973907391739273937394739573967397739873997400740174027403740474057406740774087409741074117412741374147415741674177418741974207421742274237424742574267427742874297430743174327433743474357436743774387439744074417442744374447445744674477448744974507451745274537454745574567457745874597460746174627463746474657466746774687469747074717472747374747475747674777478747974807481748274837484748574867487748874897490749174927493749474957496749774987499750075017502750375047505750675077508750975107511751275137514751575167517751875197520752175227523752475257526752775287529753075317532753375347535753675377538753975407541754275437544754575467547754875497550755175527553755475557556755775587559756075617562756375647565756675677568756975707571757275737574757575767577757875797580758175827583758475857586758775887589759075917592759375947595759675977598759976007601760276037604760576067607760876097610761176127613761476157616761776187619762076217622762376247625762676277628762976307631763276337634763576367637763876397640764176427643764476457646764776487649765076517652765376547655765676577658765976607661766276637664766576667667766876697670767176727673767476757676767776787679768076817682768376847685768676877688768976907691769276937694769576967697769876997700770177027703770477057706770777087709771077117712771377147715771677177718771977207721772277237724772577267727772877297730773177327733773477357736773777387739774077417742774377447745774677477748774977507751775277537754775577567757775877597760776177627763776477657766776777687769777077717772777377747775777677777778777977807781778277837784778577867787778877897790779177927793779477957796779777987799780078017802780378047805780678077808780978107811781278137814781578167817781878197820782178227823782478257826782778287829783078317832783378347835783678377838
  1. .app-body {
  2. -webkit-overflow-scrolling: touch;
  3. -ms-overflow-style: -ms-autohiding-scrollbar;
  4. }
  5. .animated-number {
  6. display: inline-flex;
  7. flex-direction: column;
  8. align-items: stretch;
  9. overflow: hidden;
  10. position: relative;
  11. }
  12. .inline-alert {
  13. color: $valid-value-color;
  14. font-weight: 400;
  15. .no-reduce-motion & {
  16. transition: opacity 200ms ease;
  17. }
  18. }
  19. .link-button {
  20. display: block;
  21. font-size: 15px;
  22. line-height: 20px;
  23. color: $ui-highlight-color;
  24. border: 0;
  25. background: transparent;
  26. padding: 0;
  27. cursor: pointer;
  28. &:hover,
  29. &:active {
  30. text-decoration: underline;
  31. }
  32. &:disabled {
  33. color: $ui-primary-color;
  34. cursor: default;
  35. }
  36. }
  37. .button {
  38. background-color: darken($ui-highlight-color, 2%);
  39. border: 10px none;
  40. border-radius: 4px;
  41. box-sizing: border-box;
  42. color: $primary-text-color;
  43. cursor: pointer;
  44. display: inline-block;
  45. font-family: inherit;
  46. font-size: 15px;
  47. font-weight: 500;
  48. letter-spacing: 0;
  49. line-height: 22px;
  50. overflow: hidden;
  51. padding: 7px 18px;
  52. position: relative;
  53. text-align: center;
  54. text-decoration: none;
  55. text-overflow: ellipsis;
  56. white-space: nowrap;
  57. width: auto;
  58. &:active,
  59. &:focus,
  60. &:hover {
  61. background-color: $ui-highlight-color;
  62. }
  63. &--destructive {
  64. &:active,
  65. &:focus,
  66. &:hover {
  67. background-color: $error-red;
  68. transition: none;
  69. }
  70. }
  71. &:disabled,
  72. &.disabled {
  73. background-color: $ui-primary-color;
  74. cursor: default;
  75. }
  76. &::-moz-focus-inner {
  77. border: 0;
  78. }
  79. &::-moz-focus-inner,
  80. &:focus,
  81. &:active {
  82. outline: 0 !important;
  83. }
  84. &.button-alternative {
  85. color: $inverted-text-color;
  86. background: $ui-primary-color;
  87. &:active,
  88. &:focus,
  89. &:hover {
  90. background-color: lighten($ui-primary-color, 4%);
  91. }
  92. }
  93. &.button-alternative-2 {
  94. background: $ui-base-lighter-color;
  95. &:active,
  96. &:focus,
  97. &:hover {
  98. background-color: lighten($ui-base-lighter-color, 4%);
  99. }
  100. }
  101. &.button-secondary {
  102. color: $darker-text-color;
  103. background: transparent;
  104. padding: 6px 17px;
  105. border: 1px solid $ui-primary-color;
  106. &:active,
  107. &:focus,
  108. &:hover {
  109. border-color: lighten($ui-primary-color, 4%);
  110. color: lighten($darker-text-color, 4%);
  111. }
  112. &:disabled {
  113. opacity: 0.5;
  114. }
  115. }
  116. &.button--block {
  117. display: block;
  118. width: 100%;
  119. }
  120. .layout-multiple-columns &.button--with-bell {
  121. font-size: 12px;
  122. padding: 0 8px;
  123. }
  124. }
  125. .column__wrapper {
  126. display: flex;
  127. flex: 1 1 auto;
  128. position: relative;
  129. }
  130. .icon-button {
  131. display: inline-block;
  132. padding: 0;
  133. color: $action-button-color;
  134. border: 0;
  135. border-radius: 4px;
  136. background: transparent;
  137. cursor: pointer;
  138. transition: all 100ms ease-in;
  139. transition-property: background-color, color;
  140. text-decoration: none;
  141. a {
  142. color: inherit;
  143. text-decoration: none;
  144. }
  145. &:hover,
  146. &:active,
  147. &:focus {
  148. color: lighten($action-button-color, 7%);
  149. background-color: rgba($action-button-color, 0.15);
  150. transition: all 200ms ease-out;
  151. transition-property: background-color, color;
  152. }
  153. &:focus {
  154. background-color: rgba($action-button-color, 0.3);
  155. }
  156. &.disabled {
  157. color: darken($action-button-color, 13%);
  158. background-color: transparent;
  159. cursor: default;
  160. }
  161. &.active {
  162. color: $highlight-text-color;
  163. }
  164. &::-moz-focus-inner {
  165. border: 0;
  166. }
  167. &::-moz-focus-inner,
  168. &:focus,
  169. &:active {
  170. outline: 0 !important;
  171. }
  172. &.inverted {
  173. color: $lighter-text-color;
  174. &:hover,
  175. &:active,
  176. &:focus {
  177. color: darken($lighter-text-color, 7%);
  178. background-color: rgba($lighter-text-color, 0.15);
  179. }
  180. &:focus {
  181. background-color: rgba($lighter-text-color, 0.3);
  182. }
  183. &.disabled {
  184. color: lighten($lighter-text-color, 7%);
  185. background-color: transparent;
  186. }
  187. &.active {
  188. color: $highlight-text-color;
  189. &.disabled {
  190. color: lighten($highlight-text-color, 13%);
  191. }
  192. }
  193. }
  194. &.overlayed {
  195. box-sizing: content-box;
  196. background: rgba($base-overlay-background, 0.6);
  197. color: rgba($primary-text-color, 0.7);
  198. border-radius: 4px;
  199. padding: 2px;
  200. &:hover {
  201. background: rgba($base-overlay-background, 0.9);
  202. }
  203. }
  204. &--with-counter {
  205. display: inline-flex;
  206. align-items: center;
  207. width: auto !important;
  208. }
  209. &__counter {
  210. display: inline-block;
  211. width: 14px;
  212. margin-left: 4px;
  213. font-size: 12px;
  214. font-weight: 500;
  215. }
  216. }
  217. .text-icon-button {
  218. color: $lighter-text-color;
  219. border: 0;
  220. border-radius: 4px;
  221. background: transparent;
  222. cursor: pointer;
  223. font-weight: 600;
  224. font-size: 11px;
  225. padding: 0 3px;
  226. line-height: 27px;
  227. outline: 0;
  228. transition: all 100ms ease-in;
  229. transition-property: background-color, color;
  230. &:hover,
  231. &:active,
  232. &:focus {
  233. color: darken($lighter-text-color, 7%);
  234. background-color: rgba($lighter-text-color, 0.15);
  235. transition: all 200ms ease-out;
  236. transition-property: background-color, color;
  237. }
  238. &:focus {
  239. background-color: rgba($lighter-text-color, 0.3);
  240. }
  241. &.disabled {
  242. color: lighten($lighter-text-color, 20%);
  243. background-color: transparent;
  244. cursor: default;
  245. }
  246. &.active {
  247. color: $highlight-text-color;
  248. }
  249. &::-moz-focus-inner {
  250. border: 0;
  251. }
  252. &::-moz-focus-inner,
  253. &:focus,
  254. &:active {
  255. outline: 0 !important;
  256. }
  257. }
  258. .dropdown-menu {
  259. position: absolute;
  260. }
  261. .invisible {
  262. font-size: 0;
  263. line-height: 0;
  264. display: inline-block;
  265. width: 0;
  266. height: 0;
  267. position: absolute;
  268. img,
  269. svg {
  270. margin: 0 !important;
  271. border: 0 !important;
  272. padding: 0 !important;
  273. width: 0 !important;
  274. height: 0 !important;
  275. }
  276. }
  277. .ellipsis {
  278. &::after {
  279. content: "…";
  280. }
  281. }
  282. .compose-form {
  283. padding: 10px;
  284. &__sensitive-button {
  285. padding: 10px;
  286. padding-top: 0;
  287. font-size: 14px;
  288. font-weight: 500;
  289. &.active {
  290. color: $highlight-text-color;
  291. }
  292. input[type="checkbox"] {
  293. display: none;
  294. }
  295. .checkbox {
  296. display: inline-block;
  297. position: relative;
  298. border: 1px solid $ui-primary-color;
  299. box-sizing: border-box;
  300. width: 18px;
  301. height: 18px;
  302. flex: 0 0 auto;
  303. margin-right: 10px;
  304. top: -1px;
  305. border-radius: 4px;
  306. vertical-align: middle;
  307. &.active {
  308. border-color: $highlight-text-color;
  309. background: $highlight-text-color;
  310. }
  311. }
  312. }
  313. .compose-form__warning {
  314. color: $inverted-text-color;
  315. margin-bottom: 10px;
  316. background: $ui-primary-color;
  317. box-shadow: 0 2px 6px rgba($base-shadow-color, 0.3);
  318. padding: 8px 10px;
  319. border-radius: 4px;
  320. font-size: 13px;
  321. font-weight: 400;
  322. strong {
  323. color: $inverted-text-color;
  324. font-weight: 500;
  325. @each $lang in $cjk-langs {
  326. &:lang(#{$lang}) {
  327. font-weight: 700;
  328. }
  329. }
  330. }
  331. a {
  332. color: $lighter-text-color;
  333. font-weight: 500;
  334. text-decoration: underline;
  335. &:hover,
  336. &:active,
  337. &:focus {
  338. text-decoration: none;
  339. }
  340. }
  341. }
  342. .emoji-picker-dropdown {
  343. position: absolute;
  344. top: 0;
  345. right: 0;
  346. }
  347. .compose-form__autosuggest-wrapper {
  348. position: relative;
  349. }
  350. .autosuggest-textarea,
  351. .autosuggest-input,
  352. .spoiler-input {
  353. position: relative;
  354. width: 100%;
  355. }
  356. .spoiler-input {
  357. height: 0;
  358. transform-origin: bottom;
  359. opacity: 0;
  360. &.spoiler-input--visible {
  361. height: 36px;
  362. margin-bottom: 11px;
  363. opacity: 1;
  364. }
  365. }
  366. .autosuggest-textarea__textarea,
  367. .spoiler-input__input {
  368. display: block;
  369. box-sizing: border-box;
  370. width: 100%;
  371. margin: 0;
  372. color: $inverted-text-color;
  373. background: $simple-background-color;
  374. padding: 10px;
  375. font-family: inherit;
  376. font-size: 14px;
  377. resize: vertical;
  378. border: 0;
  379. outline: 0;
  380. &::placeholder {
  381. color: $dark-text-color;
  382. }
  383. &:focus {
  384. outline: 0;
  385. }
  386. @media screen and (max-width: 600px) {
  387. font-size: 16px;
  388. }
  389. }
  390. .spoiler-input__input {
  391. border-radius: 4px;
  392. }
  393. .autosuggest-textarea__textarea {
  394. min-height: 100px;
  395. border-radius: 4px 4px 0 0;
  396. padding-bottom: 0;
  397. padding-right: 10px + 22px;
  398. resize: none;
  399. scrollbar-color: initial;
  400. &::-webkit-scrollbar {
  401. all: unset;
  402. }
  403. @media screen and (max-width: 600px) {
  404. height: 100px !important; // prevent auto-resize textarea
  405. resize: vertical;
  406. }
  407. }
  408. .autosuggest-textarea__suggestions-wrapper {
  409. position: relative;
  410. height: 0;
  411. }
  412. .autosuggest-textarea__suggestions {
  413. box-sizing: border-box;
  414. display: none;
  415. position: absolute;
  416. top: 100%;
  417. width: 100%;
  418. z-index: 99;
  419. box-shadow: 4px 4px 6px rgba($base-shadow-color, 0.4);
  420. background: $ui-secondary-color;
  421. border-radius: 0 0 4px 4px;
  422. color: $inverted-text-color;
  423. font-size: 14px;
  424. padding: 6px;
  425. &.autosuggest-textarea__suggestions--visible {
  426. display: block;
  427. }
  428. }
  429. .autosuggest-textarea__suggestions__item {
  430. padding: 10px;
  431. cursor: pointer;
  432. border-radius: 4px;
  433. &:hover,
  434. &:focus,
  435. &:active,
  436. &.selected {
  437. background: darken($ui-secondary-color, 10%);
  438. }
  439. }
  440. .autosuggest-account,
  441. .autosuggest-emoji,
  442. .autosuggest-hashtag {
  443. display: flex;
  444. flex-direction: row;
  445. align-items: center;
  446. justify-content: flex-start;
  447. line-height: 18px;
  448. font-size: 14px;
  449. }
  450. .autosuggest-hashtag {
  451. justify-content: space-between;
  452. &__name {
  453. flex: 1 1 auto;
  454. overflow: hidden;
  455. text-overflow: ellipsis;
  456. white-space: nowrap;
  457. }
  458. strong {
  459. font-weight: 500;
  460. }
  461. &__uses {
  462. flex: 0 0 auto;
  463. text-align: right;
  464. overflow: hidden;
  465. text-overflow: ellipsis;
  466. white-space: nowrap;
  467. }
  468. }
  469. .autosuggest-account-icon,
  470. .autosuggest-emoji img {
  471. display: block;
  472. margin-right: 8px;
  473. width: 16px;
  474. height: 16px;
  475. }
  476. .autosuggest-account .display-name__account {
  477. color: $lighter-text-color;
  478. }
  479. .compose-form__modifiers {
  480. color: $inverted-text-color;
  481. font-family: inherit;
  482. font-size: 14px;
  483. background: $simple-background-color;
  484. .compose-form__upload-wrapper {
  485. overflow: hidden;
  486. }
  487. .compose-form__uploads-wrapper {
  488. display: flex;
  489. flex-direction: row;
  490. padding: 5px;
  491. flex-wrap: wrap;
  492. }
  493. .compose-form__upload {
  494. flex: 1 1 0;
  495. min-width: 40%;
  496. margin: 5px;
  497. &__actions {
  498. background: linear-gradient(180deg, rgba($base-shadow-color, 0.8) 0, rgba($base-shadow-color, 0.35) 80%, transparent);
  499. display: flex;
  500. align-items: flex-start;
  501. justify-content: space-between;
  502. }
  503. .icon-button {
  504. flex: 0 1 auto;
  505. color: $secondary-text-color;
  506. font-size: 14px;
  507. font-weight: 500;
  508. padding: 10px;
  509. font-family: inherit;
  510. &:hover,
  511. &:focus,
  512. &:active {
  513. color: lighten($secondary-text-color, 7%);
  514. }
  515. }
  516. &__warning {
  517. position: absolute;
  518. z-index: 2;
  519. bottom: 0;
  520. left: 0;
  521. right: 0;
  522. box-sizing: border-box;
  523. background: linear-gradient(0deg, rgba($base-shadow-color, 0.8) 0, rgba($base-shadow-color, 0.35) 80%, transparent);
  524. }
  525. }
  526. .compose-form__upload-thumbnail {
  527. border-radius: 4px;
  528. background-color: $base-shadow-color;
  529. background-position: center;
  530. background-size: cover;
  531. background-repeat: no-repeat;
  532. height: 140px;
  533. width: 100%;
  534. overflow: hidden;
  535. }
  536. }
  537. .compose-form__buttons-wrapper {
  538. padding: 10px;
  539. background: darken($simple-background-color, 8%);
  540. border-radius: 0 0 4px 4px;
  541. display: flex;
  542. justify-content: space-between;
  543. flex: 0 0 auto;
  544. .compose-form__buttons {
  545. display: flex;
  546. .compose-form__upload-button-icon {
  547. line-height: 27px;
  548. }
  549. .compose-form__sensitive-button {
  550. display: none;
  551. &.compose-form__sensitive-button--visible {
  552. display: block;
  553. }
  554. .compose-form__sensitive-button__icon {
  555. line-height: 27px;
  556. }
  557. }
  558. }
  559. .icon-button,
  560. .text-icon-button {
  561. box-sizing: content-box;
  562. padding: 0 3px;
  563. }
  564. .character-counter__wrapper {
  565. align-self: center;
  566. margin-right: 4px;
  567. }
  568. }
  569. .compose-form__publish {
  570. display: flex;
  571. justify-content: flex-end;
  572. min-width: 0;
  573. flex: 0 0 auto;
  574. .compose-form__publish-button-wrapper {
  575. overflow: hidden;
  576. padding-top: 10px;
  577. }
  578. }
  579. }
  580. .character-counter {
  581. cursor: default;
  582. font-family: $font-sans-serif, sans-serif;
  583. font-size: 14px;
  584. font-weight: 600;
  585. color: $lighter-text-color;
  586. &.character-counter--over {
  587. color: $warning-red;
  588. }
  589. }
  590. .no-reduce-motion .spoiler-input {
  591. transition: height 0.4s ease, opacity 0.4s ease;
  592. }
  593. .emojione {
  594. font-size: inherit;
  595. vertical-align: middle;
  596. object-fit: contain;
  597. margin: -0.2ex 0.15em 0.2ex;
  598. width: 16px;
  599. height: 16px;
  600. img {
  601. width: auto;
  602. }
  603. }
  604. .reply-indicator {
  605. border-radius: 4px;
  606. margin-bottom: 10px;
  607. background: $ui-primary-color;
  608. padding: 10px;
  609. min-height: 23px;
  610. overflow-y: auto;
  611. flex: 0 2 auto;
  612. }
  613. .reply-indicator__header {
  614. margin-bottom: 5px;
  615. overflow: hidden;
  616. }
  617. .reply-indicator__cancel {
  618. float: right;
  619. line-height: 24px;
  620. }
  621. .reply-indicator__display-name {
  622. color: $inverted-text-color;
  623. display: block;
  624. max-width: 100%;
  625. line-height: 24px;
  626. overflow: hidden;
  627. padding-right: 25px;
  628. text-decoration: none;
  629. }
  630. .reply-indicator__display-avatar {
  631. float: left;
  632. margin-right: 5px;
  633. }
  634. .status__content--with-action {
  635. cursor: pointer;
  636. }
  637. .status__content {
  638. clear: both;
  639. }
  640. .status__content,
  641. .reply-indicator__content {
  642. position: relative;
  643. font-size: 15px;
  644. line-height: 20px;
  645. word-wrap: break-word;
  646. font-weight: 400;
  647. overflow: hidden;
  648. text-overflow: ellipsis;
  649. padding-top: 2px;
  650. color: $primary-text-color;
  651. &:focus {
  652. outline: 0;
  653. }
  654. &.status__content--with-spoiler {
  655. white-space: normal;
  656. .status__content__text {
  657. white-space: pre-wrap;
  658. }
  659. }
  660. .emojione {
  661. width: 20px;
  662. height: 20px;
  663. margin: -3px 0 0;
  664. }
  665. p {
  666. margin-bottom: 20px;
  667. white-space: pre-wrap;
  668. unicode-bidi: plaintext;
  669. &:last-child {
  670. margin-bottom: 0;
  671. }
  672. }
  673. a {
  674. color: $secondary-text-color;
  675. text-decoration: none;
  676. unicode-bidi: isolate;
  677. &:hover {
  678. text-decoration: underline;
  679. .fa {
  680. color: lighten($dark-text-color, 7%);
  681. }
  682. }
  683. &.mention {
  684. &:hover {
  685. text-decoration: none;
  686. span {
  687. text-decoration: underline;
  688. }
  689. }
  690. }
  691. .fa {
  692. color: $dark-text-color;
  693. }
  694. }
  695. a.unhandled-link {
  696. color: $highlight-text-color;
  697. }
  698. .status__content__spoiler-link {
  699. background: $action-button-color;
  700. &:hover,
  701. &:focus {
  702. background: lighten($action-button-color, 7%);
  703. text-decoration: none;
  704. }
  705. &::-moz-focus-inner {
  706. border: 0;
  707. }
  708. &::-moz-focus-inner,
  709. &:focus,
  710. &:active {
  711. outline: 0 !important;
  712. }
  713. }
  714. .status__content__text {
  715. display: none;
  716. &.status__content__text--visible {
  717. display: block;
  718. }
  719. }
  720. }
  721. .announcements__item__content {
  722. word-wrap: break-word;
  723. overflow-y: auto;
  724. .emojione {
  725. width: 20px;
  726. height: 20px;
  727. margin: -3px 0 0;
  728. }
  729. p {
  730. margin-bottom: 10px;
  731. white-space: pre-wrap;
  732. &:last-child {
  733. margin-bottom: 0;
  734. }
  735. }
  736. a {
  737. color: $secondary-text-color;
  738. text-decoration: none;
  739. &:hover {
  740. text-decoration: underline;
  741. }
  742. &.mention {
  743. &:hover {
  744. text-decoration: none;
  745. span {
  746. text-decoration: underline;
  747. }
  748. }
  749. }
  750. &.unhandled-link {
  751. color: $highlight-text-color;
  752. }
  753. }
  754. }
  755. .status__content.status__content--collapsed {
  756. max-height: 20px * 15; // 15 lines is roughly above 500 characters
  757. }
  758. .status__content__read-more-button {
  759. display: block;
  760. font-size: 15px;
  761. line-height: 20px;
  762. color: $highlight-text-color;
  763. border: 0;
  764. background: transparent;
  765. padding: 0;
  766. padding-top: 8px;
  767. text-decoration: none;
  768. &:hover,
  769. &:active {
  770. text-decoration: underline;
  771. }
  772. }
  773. .status__content__edited-label {
  774. display: block;
  775. cursor: default;
  776. font-size: 15px;
  777. line-height: 20px;
  778. padding: 0;
  779. padding-top: 8px;
  780. color: $dark-text-color;
  781. font-weight: 500;
  782. }
  783. .status__content__spoiler-link {
  784. display: inline-block;
  785. border-radius: 2px;
  786. background: transparent;
  787. border: 0;
  788. color: $inverted-text-color;
  789. font-weight: 700;
  790. font-size: 11px;
  791. padding: 0 6px;
  792. text-transform: uppercase;
  793. line-height: 20px;
  794. cursor: pointer;
  795. vertical-align: top;
  796. }
  797. .status__wrapper--filtered {
  798. color: $dark-text-color;
  799. border: 0;
  800. font-size: inherit;
  801. text-align: center;
  802. line-height: inherit;
  803. margin: 0;
  804. padding: 15px;
  805. box-sizing: border-box;
  806. width: 100%;
  807. clear: both;
  808. border-bottom: 1px solid lighten($ui-base-color, 8%);
  809. &__button {
  810. display: inline;
  811. color: lighten($ui-highlight-color, 8%);
  812. border: 0;
  813. background: transparent;
  814. padding: 0;
  815. font-size: inherit;
  816. line-height: inherit;
  817. &:hover,
  818. &:active {
  819. text-decoration: underline;
  820. }
  821. }
  822. }
  823. .status__prepend-icon-wrapper {
  824. left: -26px;
  825. position: absolute;
  826. }
  827. .focusable {
  828. &:focus {
  829. outline: 0;
  830. background: lighten($ui-base-color, 4%);
  831. .detailed-status,
  832. .detailed-status__action-bar {
  833. background: lighten($ui-base-color, 8%);
  834. }
  835. }
  836. }
  837. .status {
  838. padding: 8px 10px;
  839. padding-left: 68px;
  840. position: relative;
  841. min-height: 54px;
  842. border-bottom: 1px solid lighten($ui-base-color, 8%);
  843. cursor: auto;
  844. @supports (-ms-overflow-style: -ms-autohiding-scrollbar) {
  845. // Add margin to avoid Edge auto-hiding scrollbar appearing over content.
  846. // On Edge 16 this is 16px and Edge <=15 it's 12px, so aim for 16px.
  847. padding-right: 26px; // 10px + 16px
  848. }
  849. @keyframes fade {
  850. 0% { opacity: 0; }
  851. 100% { opacity: 1; }
  852. }
  853. opacity: 1;
  854. animation: fade 150ms linear;
  855. .video-player,
  856. .audio-player {
  857. margin-top: 8px;
  858. }
  859. &.light {
  860. .status__relative-time,
  861. .status__visibility-icon {
  862. color: $light-text-color;
  863. }
  864. .status__display-name {
  865. color: $inverted-text-color;
  866. }
  867. .display-name {
  868. color: $light-text-color;
  869. strong {
  870. color: $inverted-text-color;
  871. }
  872. }
  873. .status__content {
  874. color: $inverted-text-color;
  875. a {
  876. color: $highlight-text-color;
  877. }
  878. a.status__content__spoiler-link {
  879. color: $primary-text-color;
  880. background: $ui-primary-color;
  881. &:hover,
  882. &:focus {
  883. background: lighten($ui-primary-color, 8%);
  884. }
  885. }
  886. }
  887. }
  888. }
  889. .status__relative-time,
  890. .notification__relative_time {
  891. color: $dark-text-color;
  892. float: right;
  893. font-size: 14px;
  894. padding-bottom: 1px;
  895. }
  896. .status__visibility-icon {
  897. padding: 0 4px;
  898. }
  899. .status__display-name {
  900. color: $dark-text-color;
  901. }
  902. .status__info .status__display-name {
  903. display: block;
  904. max-width: 100%;
  905. padding-right: 25px;
  906. }
  907. .status__info {
  908. font-size: 15px;
  909. }
  910. .status-check-box__status {
  911. display: block;
  912. box-sizing: border-box;
  913. width: 100%;
  914. padding: 0 10px;
  915. .detailed-status__display-name {
  916. color: lighten($inverted-text-color, 16%);
  917. span {
  918. display: inline;
  919. }
  920. &:hover strong {
  921. text-decoration: none;
  922. }
  923. }
  924. .media-gallery,
  925. .audio-player,
  926. .video-player {
  927. margin-top: 15px;
  928. max-width: 250px;
  929. }
  930. .status__content {
  931. padding: 0;
  932. white-space: normal;
  933. }
  934. .media-gallery__item-thumbnail {
  935. cursor: default;
  936. }
  937. }
  938. .status__prepend {
  939. margin-left: 68px;
  940. color: $dark-text-color;
  941. padding: 8px 0;
  942. padding-bottom: 2px;
  943. font-size: 14px;
  944. position: relative;
  945. .status__display-name strong {
  946. color: $dark-text-color;
  947. }
  948. > span {
  949. display: block;
  950. overflow: hidden;
  951. text-overflow: ellipsis;
  952. }
  953. }
  954. .status__action-bar {
  955. align-items: center;
  956. display: flex;
  957. margin-top: 8px;
  958. }
  959. .status__action-bar-button {
  960. margin-right: 18px;
  961. &.icon-button--with-counter {
  962. margin-right: 14px;
  963. }
  964. }
  965. .status__action-bar-dropdown {
  966. height: 23.15px;
  967. width: 23.15px;
  968. }
  969. .detailed-status__action-bar-dropdown {
  970. flex: 1 1 auto;
  971. display: flex;
  972. align-items: center;
  973. justify-content: center;
  974. position: relative;
  975. }
  976. .detailed-status {
  977. background: lighten($ui-base-color, 4%);
  978. padding: 14px 10px;
  979. &--flex {
  980. display: flex;
  981. flex-wrap: wrap;
  982. justify-content: space-between;
  983. align-items: flex-start;
  984. .status__content,
  985. .detailed-status__meta {
  986. flex: 100%;
  987. }
  988. }
  989. .status__content {
  990. font-size: 19px;
  991. line-height: 24px;
  992. .emojione {
  993. width: 24px;
  994. height: 24px;
  995. margin: -1px 0 0;
  996. }
  997. .status__content__spoiler-link {
  998. line-height: 24px;
  999. margin: -1px 0 0;
  1000. }
  1001. }
  1002. .video-player,
  1003. .audio-player {
  1004. margin-top: 8px;
  1005. }
  1006. }
  1007. .detailed-status__meta {
  1008. margin-top: 15px;
  1009. color: $dark-text-color;
  1010. font-size: 14px;
  1011. line-height: 18px;
  1012. }
  1013. .detailed-status__action-bar {
  1014. background: lighten($ui-base-color, 4%);
  1015. border-top: 1px solid lighten($ui-base-color, 8%);
  1016. border-bottom: 1px solid lighten($ui-base-color, 8%);
  1017. display: flex;
  1018. flex-direction: row;
  1019. padding: 10px 0;
  1020. }
  1021. .detailed-status__link {
  1022. color: inherit;
  1023. text-decoration: none;
  1024. }
  1025. .detailed-status__favorites,
  1026. .detailed-status__reblogs {
  1027. display: inline-block;
  1028. font-weight: 500;
  1029. font-size: 12px;
  1030. margin-left: 6px;
  1031. }
  1032. .reply-indicator__content {
  1033. color: $inverted-text-color;
  1034. font-size: 14px;
  1035. a {
  1036. color: $lighter-text-color;
  1037. }
  1038. }
  1039. .domain {
  1040. padding: 10px;
  1041. border-bottom: 1px solid lighten($ui-base-color, 8%);
  1042. .domain__domain-name {
  1043. flex: 1 1 auto;
  1044. display: block;
  1045. color: $primary-text-color;
  1046. text-decoration: none;
  1047. font-size: 14px;
  1048. font-weight: 500;
  1049. }
  1050. }
  1051. .domain__wrapper {
  1052. display: flex;
  1053. }
  1054. .domain_buttons {
  1055. height: 18px;
  1056. padding: 10px;
  1057. white-space: nowrap;
  1058. }
  1059. .account {
  1060. padding: 10px;
  1061. border-bottom: 1px solid lighten($ui-base-color, 8%);
  1062. &.compact {
  1063. padding: 0;
  1064. border-bottom: 0;
  1065. .account__avatar-wrapper {
  1066. margin-left: 0;
  1067. }
  1068. }
  1069. .account__display-name {
  1070. flex: 1 1 auto;
  1071. display: block;
  1072. color: $darker-text-color;
  1073. overflow: hidden;
  1074. text-decoration: none;
  1075. font-size: 14px;
  1076. &--with-note {
  1077. strong {
  1078. display: inline;
  1079. }
  1080. }
  1081. }
  1082. &__note {
  1083. white-space: nowrap;
  1084. overflow: hidden;
  1085. text-overflow: ellipsis;
  1086. color: $ui-secondary-color;
  1087. }
  1088. }
  1089. .follow-recommendations-account {
  1090. .icon-button {
  1091. color: $ui-primary-color;
  1092. &.active {
  1093. color: $valid-value-color;
  1094. }
  1095. }
  1096. }
  1097. .account__wrapper {
  1098. display: flex;
  1099. }
  1100. .account__avatar-wrapper {
  1101. float: left;
  1102. margin-left: 12px;
  1103. margin-right: 12px;
  1104. }
  1105. .account__avatar {
  1106. @include avatar-radius;
  1107. display: block;
  1108. position: relative;
  1109. width: 36px;
  1110. height: 36px;
  1111. background-size: 36px 36px;
  1112. &-inline {
  1113. display: inline-block;
  1114. vertical-align: middle;
  1115. margin-right: 5px;
  1116. }
  1117. &-composite {
  1118. @include avatar-radius;
  1119. border-radius: 50%;
  1120. overflow: hidden;
  1121. position: relative;
  1122. & > div {
  1123. float: left;
  1124. position: relative;
  1125. box-sizing: border-box;
  1126. }
  1127. &__label {
  1128. display: block;
  1129. position: absolute;
  1130. top: 50%;
  1131. left: 50%;
  1132. transform: translate(-50%, -50%);
  1133. color: $primary-text-color;
  1134. text-shadow: 1px 1px 2px $base-shadow-color;
  1135. font-weight: 700;
  1136. font-size: 15px;
  1137. }
  1138. }
  1139. }
  1140. a .account__avatar {
  1141. cursor: pointer;
  1142. }
  1143. .account__avatar-overlay {
  1144. @include avatar-size(48px);
  1145. position: relative;
  1146. &-base {
  1147. @include avatar-radius;
  1148. @include avatar-size(36px);
  1149. img {
  1150. @include avatar-radius;
  1151. width: 100%;
  1152. height: 100%;
  1153. }
  1154. }
  1155. &-overlay {
  1156. @include avatar-radius;
  1157. @include avatar-size(24px);
  1158. position: absolute;
  1159. bottom: 0;
  1160. right: 0;
  1161. z-index: 1;
  1162. img {
  1163. @include avatar-radius;
  1164. width: 100%;
  1165. height: 100%;
  1166. }
  1167. }
  1168. }
  1169. .account__relationship {
  1170. height: 18px;
  1171. padding: 10px;
  1172. white-space: nowrap;
  1173. }
  1174. .account__disclaimer {
  1175. padding: 10px;
  1176. border-top: 1px solid lighten($ui-base-color, 8%);
  1177. color: $dark-text-color;
  1178. strong {
  1179. font-weight: 500;
  1180. @each $lang in $cjk-langs {
  1181. &:lang(#{$lang}) {
  1182. font-weight: 700;
  1183. }
  1184. }
  1185. }
  1186. a {
  1187. font-weight: 500;
  1188. color: inherit;
  1189. text-decoration: underline;
  1190. &:hover,
  1191. &:focus,
  1192. &:active {
  1193. text-decoration: none;
  1194. }
  1195. }
  1196. }
  1197. .account__action-bar {
  1198. border-top: 1px solid lighten($ui-base-color, 8%);
  1199. border-bottom: 1px solid lighten($ui-base-color, 8%);
  1200. line-height: 36px;
  1201. overflow: hidden;
  1202. flex: 0 0 auto;
  1203. display: flex;
  1204. }
  1205. .account__action-bar-dropdown {
  1206. padding: 10px;
  1207. .icon-button {
  1208. vertical-align: middle;
  1209. }
  1210. .dropdown--active {
  1211. .dropdown__content.dropdown__right {
  1212. left: 6px;
  1213. right: initial;
  1214. }
  1215. &::after {
  1216. bottom: initial;
  1217. margin-left: 11px;
  1218. margin-top: -7px;
  1219. right: initial;
  1220. }
  1221. }
  1222. }
  1223. .account__action-bar-links {
  1224. display: flex;
  1225. flex: 1 1 auto;
  1226. line-height: 18px;
  1227. text-align: center;
  1228. }
  1229. .account__action-bar__tab {
  1230. text-decoration: none;
  1231. overflow: hidden;
  1232. flex: 0 1 100%;
  1233. border-right: 1px solid lighten($ui-base-color, 8%);
  1234. padding: 10px 0;
  1235. border-bottom: 4px solid transparent;
  1236. &.active {
  1237. border-bottom: 4px solid $ui-highlight-color;
  1238. }
  1239. & > span {
  1240. display: block;
  1241. text-transform: uppercase;
  1242. font-size: 11px;
  1243. color: $darker-text-color;
  1244. }
  1245. strong {
  1246. display: block;
  1247. font-size: 15px;
  1248. font-weight: 500;
  1249. color: $primary-text-color;
  1250. @each $lang in $cjk-langs {
  1251. &:lang(#{$lang}) {
  1252. font-weight: 700;
  1253. }
  1254. }
  1255. }
  1256. }
  1257. .account-authorize {
  1258. padding: 14px 10px;
  1259. .detailed-status__display-name {
  1260. display: block;
  1261. margin-bottom: 15px;
  1262. overflow: hidden;
  1263. }
  1264. }
  1265. .account-authorize__avatar {
  1266. float: left;
  1267. margin-right: 10px;
  1268. }
  1269. .status__display-name,
  1270. .status__relative-time,
  1271. .detailed-status__display-name,
  1272. .detailed-status__datetime,
  1273. .detailed-status__application,
  1274. .account__display-name {
  1275. text-decoration: none;
  1276. }
  1277. .status__display-name,
  1278. .account__display-name {
  1279. strong {
  1280. color: $primary-text-color;
  1281. }
  1282. }
  1283. .muted {
  1284. .emojione {
  1285. opacity: 0.5;
  1286. }
  1287. }
  1288. .status__display-name,
  1289. .reply-indicator__display-name,
  1290. .detailed-status__display-name,
  1291. a.account__display-name {
  1292. &:hover strong {
  1293. text-decoration: underline;
  1294. }
  1295. }
  1296. .account__display-name strong {
  1297. display: block;
  1298. overflow: hidden;
  1299. text-overflow: ellipsis;
  1300. }
  1301. .detailed-status__application,
  1302. .detailed-status__datetime {
  1303. color: inherit;
  1304. }
  1305. .detailed-status .button.logo-button {
  1306. margin-bottom: 15px;
  1307. }
  1308. .detailed-status__display-name {
  1309. color: $secondary-text-color;
  1310. display: block;
  1311. line-height: 24px;
  1312. margin-bottom: 15px;
  1313. overflow: hidden;
  1314. strong,
  1315. span {
  1316. display: block;
  1317. text-overflow: ellipsis;
  1318. overflow: hidden;
  1319. }
  1320. strong {
  1321. font-size: 16px;
  1322. color: $primary-text-color;
  1323. }
  1324. }
  1325. .detailed-status__display-avatar {
  1326. float: left;
  1327. margin-right: 10px;
  1328. }
  1329. .status__avatar {
  1330. height: 48px;
  1331. left: 10px;
  1332. position: absolute;
  1333. top: 10px;
  1334. width: 48px;
  1335. }
  1336. .status__expand {
  1337. width: 68px;
  1338. position: absolute;
  1339. left: 0;
  1340. top: 0;
  1341. height: 100%;
  1342. cursor: pointer;
  1343. }
  1344. .muted {
  1345. .status__content,
  1346. .status__content p,
  1347. .status__content a {
  1348. color: $dark-text-color;
  1349. }
  1350. .status__display-name strong {
  1351. color: $dark-text-color;
  1352. }
  1353. .status__avatar {
  1354. opacity: 0.5;
  1355. }
  1356. a.status__content__spoiler-link {
  1357. background: $ui-base-lighter-color;
  1358. color: $inverted-text-color;
  1359. &:hover,
  1360. &:focus {
  1361. background: lighten($ui-base-lighter-color, 7%);
  1362. text-decoration: none;
  1363. }
  1364. }
  1365. }
  1366. .notification__report {
  1367. padding: 8px 10px;
  1368. padding-left: 68px;
  1369. position: relative;
  1370. border-bottom: 1px solid lighten($ui-base-color, 8%);
  1371. min-height: 54px;
  1372. &__details {
  1373. display: flex;
  1374. justify-content: space-between;
  1375. align-items: center;
  1376. color: $darker-text-color;
  1377. font-size: 15px;
  1378. line-height: 22px;
  1379. strong {
  1380. font-weight: 500;
  1381. }
  1382. }
  1383. &__avatar {
  1384. position: absolute;
  1385. left: 10px;
  1386. top: 10px;
  1387. }
  1388. }
  1389. .notification__message {
  1390. margin: 0 10px 0 68px;
  1391. padding: 8px 0 0;
  1392. cursor: default;
  1393. color: $darker-text-color;
  1394. font-size: 15px;
  1395. line-height: 22px;
  1396. position: relative;
  1397. .fa {
  1398. color: $highlight-text-color;
  1399. }
  1400. > span {
  1401. display: inline;
  1402. overflow: hidden;
  1403. text-overflow: ellipsis;
  1404. }
  1405. }
  1406. .notification__favourite-icon-wrapper {
  1407. left: -26px;
  1408. position: absolute;
  1409. .star-icon {
  1410. color: $gold-star;
  1411. }
  1412. }
  1413. .icon-button.star-icon.active {
  1414. color: $gold-star;
  1415. }
  1416. .icon-button.bookmark-icon.active {
  1417. color: $red-bookmark;
  1418. }
  1419. .no-reduce-motion .icon-button.star-icon {
  1420. &.activate {
  1421. & > .fa-star {
  1422. animation: spring-rotate-in 1s linear;
  1423. }
  1424. }
  1425. &.deactivate {
  1426. & > .fa-star {
  1427. animation: spring-rotate-out 1s linear;
  1428. }
  1429. }
  1430. }
  1431. .notification__display-name {
  1432. color: inherit;
  1433. font-weight: 500;
  1434. text-decoration: none;
  1435. &:hover {
  1436. color: $primary-text-color;
  1437. text-decoration: underline;
  1438. }
  1439. }
  1440. .notification__relative_time {
  1441. float: right;
  1442. }
  1443. .display-name {
  1444. display: block;
  1445. max-width: 100%;
  1446. overflow: hidden;
  1447. text-overflow: ellipsis;
  1448. white-space: nowrap;
  1449. }
  1450. .display-name__html {
  1451. font-weight: 500;
  1452. }
  1453. .display-name__account {
  1454. font-size: 14px;
  1455. }
  1456. .status__relative-time,
  1457. .detailed-status__datetime {
  1458. &:hover {
  1459. text-decoration: underline;
  1460. }
  1461. }
  1462. .image-loader {
  1463. position: relative;
  1464. width: 100%;
  1465. height: 100%;
  1466. display: flex;
  1467. align-items: center;
  1468. justify-content: center;
  1469. flex-direction: column;
  1470. scrollbar-width: none; /* Firefox */
  1471. -ms-overflow-style: none; /* IE 10+ */
  1472. * {
  1473. scrollbar-width: none; /* Firefox */
  1474. -ms-overflow-style: none; /* IE 10+ */
  1475. }
  1476. &::-webkit-scrollbar,
  1477. *::-webkit-scrollbar {
  1478. width: 0;
  1479. height: 0;
  1480. background: transparent; /* Chrome/Safari/Webkit */
  1481. }
  1482. .image-loader__preview-canvas {
  1483. max-width: $media-modal-media-max-width;
  1484. max-height: $media-modal-media-max-height;
  1485. background: url('../images/void.png') repeat;
  1486. object-fit: contain;
  1487. }
  1488. .loading-bar {
  1489. position: relative;
  1490. }
  1491. &.image-loader--amorphous .image-loader__preview-canvas {
  1492. display: none;
  1493. }
  1494. }
  1495. .zoomable-image {
  1496. position: relative;
  1497. width: 100%;
  1498. height: 100%;
  1499. display: flex;
  1500. align-items: center;
  1501. justify-content: center;
  1502. img {
  1503. max-width: $media-modal-media-max-width;
  1504. max-height: $media-modal-media-max-height;
  1505. width: auto;
  1506. height: auto;
  1507. object-fit: contain;
  1508. }
  1509. }
  1510. .navigation-bar {
  1511. padding: 10px;
  1512. display: flex;
  1513. align-items: center;
  1514. flex-shrink: 0;
  1515. cursor: default;
  1516. color: $darker-text-color;
  1517. strong {
  1518. color: $secondary-text-color;
  1519. }
  1520. a {
  1521. color: inherit;
  1522. }
  1523. .permalink {
  1524. text-decoration: none;
  1525. }
  1526. .navigation-bar__actions {
  1527. position: relative;
  1528. .icon-button.close {
  1529. position: absolute;
  1530. pointer-events: none;
  1531. transform: scale(0, 1) translate(-100%, 0);
  1532. opacity: 0;
  1533. }
  1534. .compose__action-bar .icon-button {
  1535. pointer-events: auto;
  1536. transform: scale(1, 1) translate(0, 0);
  1537. opacity: 1;
  1538. }
  1539. }
  1540. }
  1541. .navigation-bar__profile {
  1542. flex: 1 1 auto;
  1543. margin-left: 8px;
  1544. line-height: 20px;
  1545. margin-top: -1px;
  1546. overflow: hidden;
  1547. }
  1548. .navigation-bar__profile-account {
  1549. display: block;
  1550. font-weight: 500;
  1551. overflow: hidden;
  1552. text-overflow: ellipsis;
  1553. }
  1554. .navigation-bar__profile-edit {
  1555. color: inherit;
  1556. text-decoration: none;
  1557. }
  1558. .dropdown {
  1559. display: inline-block;
  1560. }
  1561. .dropdown__content {
  1562. display: none;
  1563. position: absolute;
  1564. }
  1565. .dropdown-menu__separator {
  1566. border-bottom: 1px solid darken($ui-secondary-color, 8%);
  1567. margin: 5px 7px 6px;
  1568. height: 0;
  1569. }
  1570. .dropdown-menu {
  1571. background: $ui-secondary-color;
  1572. padding: 4px 0;
  1573. border-radius: 4px;
  1574. box-shadow: 2px 4px 15px rgba($base-shadow-color, 0.4);
  1575. z-index: 9999;
  1576. &__text-button {
  1577. display: inline;
  1578. color: inherit;
  1579. background: transparent;
  1580. border: 0;
  1581. margin: 0;
  1582. padding: 0;
  1583. font-family: inherit;
  1584. font-size: inherit;
  1585. line-height: inherit;
  1586. &:focus {
  1587. outline: 1px dotted;
  1588. }
  1589. }
  1590. &__container {
  1591. &__header {
  1592. border-bottom: 1px solid darken($ui-secondary-color, 8%);
  1593. padding: 4px 14px;
  1594. padding-bottom: 8px;
  1595. font-size: 13px;
  1596. line-height: 18px;
  1597. color: $inverted-text-color;
  1598. }
  1599. &__list {
  1600. list-style: none;
  1601. &--scrollable {
  1602. max-height: 300px;
  1603. overflow-y: scroll;
  1604. }
  1605. }
  1606. &--loading {
  1607. display: flex;
  1608. align-items: center;
  1609. justify-content: center;
  1610. padding: 30px 45px;
  1611. }
  1612. }
  1613. &.left {
  1614. transform-origin: 100% 50%;
  1615. }
  1616. &.top {
  1617. transform-origin: 50% 100%;
  1618. }
  1619. &.bottom {
  1620. transform-origin: 50% 0;
  1621. }
  1622. &.right {
  1623. transform-origin: 0 50%;
  1624. }
  1625. }
  1626. .dropdown-menu__arrow {
  1627. position: absolute;
  1628. width: 0;
  1629. height: 0;
  1630. border: 0 solid transparent;
  1631. &.left {
  1632. right: -5px;
  1633. margin-top: -5px;
  1634. border-width: 5px 0 5px 5px;
  1635. border-left-color: $ui-secondary-color;
  1636. }
  1637. &.top {
  1638. bottom: -5px;
  1639. margin-left: -7px;
  1640. border-width: 5px 7px 0;
  1641. border-top-color: $ui-secondary-color;
  1642. }
  1643. &.bottom {
  1644. top: -5px;
  1645. margin-left: -7px;
  1646. border-width: 0 7px 5px;
  1647. border-bottom-color: $ui-secondary-color;
  1648. }
  1649. &.right {
  1650. left: -5px;
  1651. margin-top: -5px;
  1652. border-width: 5px 5px 5px 0;
  1653. border-right-color: $ui-secondary-color;
  1654. }
  1655. }
  1656. .dropdown-menu__item {
  1657. font-size: 13px;
  1658. line-height: 18px;
  1659. display: block;
  1660. color: $inverted-text-color;
  1661. a,
  1662. button {
  1663. font-family: inherit;
  1664. font-size: inherit;
  1665. line-height: inherit;
  1666. display: block;
  1667. width: 100%;
  1668. padding: 4px 14px;
  1669. border: 0;
  1670. margin: 0;
  1671. box-sizing: border-box;
  1672. text-decoration: none;
  1673. background: $ui-secondary-color;
  1674. color: inherit;
  1675. overflow: hidden;
  1676. text-overflow: ellipsis;
  1677. white-space: nowrap;
  1678. text-align: inherit;
  1679. &:focus,
  1680. &:hover,
  1681. &:active {
  1682. background: $ui-highlight-color;
  1683. color: $secondary-text-color;
  1684. outline: 0;
  1685. }
  1686. }
  1687. }
  1688. .dropdown-menu__item--text {
  1689. overflow: hidden;
  1690. text-overflow: ellipsis;
  1691. white-space: nowrap;
  1692. padding: 4px 14px;
  1693. }
  1694. .dropdown-menu__item.edited-timestamp__history__item {
  1695. border-bottom: 1px solid darken($ui-secondary-color, 8%);
  1696. &:last-child {
  1697. border-bottom: 0;
  1698. }
  1699. &.dropdown-menu__item--text,
  1700. a,
  1701. button {
  1702. padding: 8px 14px;
  1703. }
  1704. }
  1705. .inline-account {
  1706. display: inline-flex;
  1707. align-items: center;
  1708. vertical-align: top;
  1709. .account__avatar {
  1710. margin-right: 5px;
  1711. border-radius: 50%;
  1712. }
  1713. strong {
  1714. font-weight: 600;
  1715. }
  1716. }
  1717. .dropdown--active .dropdown__content {
  1718. display: block;
  1719. line-height: 18px;
  1720. max-width: 311px;
  1721. right: 0;
  1722. text-align: left;
  1723. z-index: 9999;
  1724. & > ul {
  1725. list-style: none;
  1726. background: $ui-secondary-color;
  1727. padding: 4px 0;
  1728. border-radius: 4px;
  1729. box-shadow: 0 0 15px rgba($base-shadow-color, 0.4);
  1730. min-width: 140px;
  1731. position: relative;
  1732. }
  1733. &.dropdown__right {
  1734. right: 0;
  1735. }
  1736. &.dropdown__left {
  1737. & > ul {
  1738. left: -98px;
  1739. }
  1740. }
  1741. & > ul > li > a {
  1742. font-size: 13px;
  1743. line-height: 18px;
  1744. display: block;
  1745. padding: 4px 14px;
  1746. box-sizing: border-box;
  1747. text-decoration: none;
  1748. background: $ui-secondary-color;
  1749. color: $inverted-text-color;
  1750. overflow: hidden;
  1751. text-overflow: ellipsis;
  1752. white-space: nowrap;
  1753. &:focus {
  1754. outline: 0;
  1755. }
  1756. &:hover {
  1757. background: $ui-highlight-color;
  1758. color: $secondary-text-color;
  1759. }
  1760. }
  1761. }
  1762. .dropdown__icon {
  1763. vertical-align: middle;
  1764. }
  1765. .columns-area {
  1766. display: flex;
  1767. flex: 1 1 auto;
  1768. flex-direction: row;
  1769. justify-content: flex-start;
  1770. overflow-x: auto;
  1771. position: relative;
  1772. &.unscrollable {
  1773. overflow-x: hidden;
  1774. }
  1775. &__panels {
  1776. display: flex;
  1777. justify-content: center;
  1778. width: 100%;
  1779. height: 100%;
  1780. min-height: 100vh;
  1781. &__pane {
  1782. height: 100%;
  1783. overflow: hidden;
  1784. pointer-events: none;
  1785. display: flex;
  1786. justify-content: flex-end;
  1787. min-width: 285px;
  1788. &--start {
  1789. justify-content: flex-start;
  1790. }
  1791. &__inner {
  1792. position: fixed;
  1793. width: 285px;
  1794. pointer-events: auto;
  1795. height: 100%;
  1796. }
  1797. }
  1798. &__main {
  1799. box-sizing: border-box;
  1800. width: 100%;
  1801. max-width: 600px;
  1802. flex: 0 0 auto;
  1803. display: flex;
  1804. flex-direction: column;
  1805. @media screen and (min-width: $no-gap-breakpoint) {
  1806. padding: 0 10px;
  1807. }
  1808. }
  1809. }
  1810. }
  1811. .tabs-bar__wrapper {
  1812. background: darken($ui-base-color, 8%);
  1813. position: sticky;
  1814. top: 0;
  1815. z-index: 2;
  1816. padding-top: 0;
  1817. @media screen and (min-width: $no-gap-breakpoint) {
  1818. padding-top: 10px;
  1819. }
  1820. .tabs-bar {
  1821. margin-bottom: 0;
  1822. @media screen and (min-width: $no-gap-breakpoint) {
  1823. margin-bottom: 10px;
  1824. }
  1825. }
  1826. }
  1827. .react-swipeable-view-container {
  1828. &,
  1829. .columns-area,
  1830. .drawer,
  1831. .column {
  1832. height: 100%;
  1833. }
  1834. }
  1835. .react-swipeable-view-container > * {
  1836. display: flex;
  1837. align-items: center;
  1838. justify-content: center;
  1839. height: 100%;
  1840. }
  1841. .column {
  1842. width: 350px;
  1843. position: relative;
  1844. box-sizing: border-box;
  1845. display: flex;
  1846. flex-direction: column;
  1847. > .scrollable {
  1848. background: $ui-base-color;
  1849. }
  1850. }
  1851. .ui {
  1852. flex: 0 0 auto;
  1853. display: flex;
  1854. flex-direction: column;
  1855. width: 100%;
  1856. height: 100%;
  1857. }
  1858. .drawer {
  1859. width: 300px;
  1860. box-sizing: border-box;
  1861. display: flex;
  1862. flex-direction: column;
  1863. overflow-y: hidden;
  1864. }
  1865. .drawer__tab {
  1866. display: block;
  1867. flex: 1 1 auto;
  1868. padding: 15px 5px 13px;
  1869. color: $darker-text-color;
  1870. text-decoration: none;
  1871. text-align: center;
  1872. font-size: 16px;
  1873. border-bottom: 2px solid transparent;
  1874. }
  1875. .column,
  1876. .drawer {
  1877. flex: 1 1 100%;
  1878. overflow: hidden;
  1879. }
  1880. @media screen and (min-width: 631px) {
  1881. .columns-area {
  1882. padding: 0;
  1883. }
  1884. .column,
  1885. .drawer {
  1886. flex: 0 0 auto;
  1887. padding: 10px;
  1888. padding-left: 5px;
  1889. padding-right: 5px;
  1890. &:first-child {
  1891. padding-left: 10px;
  1892. }
  1893. &:last-child {
  1894. padding-right: 10px;
  1895. }
  1896. }
  1897. .columns-area > div {
  1898. .column,
  1899. .drawer {
  1900. padding-left: 5px;
  1901. padding-right: 5px;
  1902. }
  1903. }
  1904. }
  1905. .tabs-bar {
  1906. box-sizing: border-box;
  1907. display: flex;
  1908. background: lighten($ui-base-color, 8%);
  1909. flex: 0 0 auto;
  1910. overflow-y: auto;
  1911. }
  1912. .tabs-bar__link {
  1913. display: block;
  1914. flex: 1 1 auto;
  1915. padding: 15px 10px;
  1916. padding-bottom: 13px;
  1917. color: $primary-text-color;
  1918. text-decoration: none;
  1919. text-align: center;
  1920. font-size: 14px;
  1921. font-weight: 500;
  1922. border-bottom: 2px solid lighten($ui-base-color, 8%);
  1923. transition: all 50ms linear;
  1924. transition-property: border-bottom, background, color;
  1925. .fa {
  1926. font-weight: 400;
  1927. font-size: 16px;
  1928. }
  1929. &:hover,
  1930. &:focus,
  1931. &:active {
  1932. @media screen and (min-width: 631px) {
  1933. background: lighten($ui-base-color, 14%);
  1934. border-bottom-color: lighten($ui-base-color, 14%);
  1935. }
  1936. }
  1937. &.active {
  1938. border-bottom: 2px solid $highlight-text-color;
  1939. color: $highlight-text-color;
  1940. }
  1941. span {
  1942. margin-left: 5px;
  1943. display: none;
  1944. }
  1945. }
  1946. @media screen and (min-width: 600px) {
  1947. .tabs-bar__link {
  1948. span {
  1949. display: inline;
  1950. }
  1951. }
  1952. }
  1953. .columns-area--mobile {
  1954. flex-direction: column;
  1955. width: 100%;
  1956. height: 100%;
  1957. margin: 0 auto;
  1958. .column,
  1959. .drawer {
  1960. width: 100%;
  1961. height: 100%;
  1962. padding: 0;
  1963. }
  1964. .account-card {
  1965. margin-bottom: 0;
  1966. }
  1967. .filter-form {
  1968. display: flex;
  1969. }
  1970. .autosuggest-textarea__textarea {
  1971. font-size: 16px;
  1972. }
  1973. .search__input {
  1974. line-height: 18px;
  1975. font-size: 16px;
  1976. padding: 15px;
  1977. padding-right: 30px;
  1978. }
  1979. .search__icon .fa {
  1980. top: 15px;
  1981. }
  1982. .scrollable {
  1983. overflow: visible;
  1984. @supports (display: grid) {
  1985. contain: content;
  1986. }
  1987. }
  1988. @media screen and (min-width: $no-gap-breakpoint) {
  1989. padding: 10px 0;
  1990. padding-top: 0;
  1991. }
  1992. @media screen and (min-width: 630px) {
  1993. .detailed-status {
  1994. padding: 15px;
  1995. .media-gallery,
  1996. .video-player,
  1997. .audio-player {
  1998. margin-top: 15px;
  1999. }
  2000. }
  2001. .account__header__bar {
  2002. padding: 5px 10px;
  2003. }
  2004. .navigation-bar,
  2005. .compose-form {
  2006. padding: 15px;
  2007. }
  2008. .compose-form .compose-form__publish .compose-form__publish-button-wrapper {
  2009. padding-top: 15px;
  2010. }
  2011. .notification__report {
  2012. padding: 15px 15px 15px (48px + 15px * 2);
  2013. min-height: 48px + 2px;
  2014. &__avatar {
  2015. left: 15px;
  2016. top: 17px;
  2017. }
  2018. }
  2019. .status {
  2020. padding: 15px 15px 15px (48px + 15px * 2);
  2021. min-height: 48px + 2px;
  2022. &__avatar {
  2023. left: 15px;
  2024. top: 17px;
  2025. }
  2026. &__content {
  2027. padding-top: 5px;
  2028. }
  2029. &__prepend {
  2030. margin-left: 48px + 15px * 2;
  2031. padding-top: 15px;
  2032. }
  2033. &__prepend-icon-wrapper {
  2034. left: -32px;
  2035. }
  2036. .media-gallery,
  2037. &__action-bar,
  2038. .video-player,
  2039. .audio-player {
  2040. margin-top: 10px;
  2041. }
  2042. }
  2043. .account {
  2044. padding: 15px 10px;
  2045. &__header__bio {
  2046. margin: 0 -10px;
  2047. }
  2048. }
  2049. .notification {
  2050. &__message {
  2051. margin-left: 48px + 15px * 2;
  2052. padding-top: 15px;
  2053. }
  2054. &__favourite-icon-wrapper {
  2055. left: -32px;
  2056. }
  2057. .status {
  2058. padding-top: 8px;
  2059. }
  2060. .account {
  2061. padding-top: 8px;
  2062. }
  2063. .account__avatar-wrapper {
  2064. margin-left: 17px;
  2065. margin-right: 15px;
  2066. }
  2067. }
  2068. }
  2069. }
  2070. .floating-action-button {
  2071. position: fixed;
  2072. display: flex;
  2073. justify-content: center;
  2074. align-items: center;
  2075. width: 3.9375rem;
  2076. height: 3.9375rem;
  2077. bottom: 1.3125rem;
  2078. right: 1.3125rem;
  2079. background: darken($ui-highlight-color, 2%);
  2080. color: $white;
  2081. border-radius: 50%;
  2082. font-size: 21px;
  2083. line-height: 21px;
  2084. text-decoration: none;
  2085. box-shadow: 2px 3px 9px rgba($base-shadow-color, 0.4);
  2086. &:hover,
  2087. &:focus,
  2088. &:active {
  2089. background: $ui-highlight-color;
  2090. }
  2091. }
  2092. @media screen and (min-width: $no-gap-breakpoint) {
  2093. .tabs-bar {
  2094. width: 100%;
  2095. }
  2096. .react-swipeable-view-container .columns-area--mobile {
  2097. height: calc(100% - 10px) !important;
  2098. }
  2099. .getting-started__wrapper,
  2100. .search {
  2101. margin-bottom: 10px;
  2102. }
  2103. }
  2104. @media screen and (max-width: 600px + (285px * 1) + (10px * 1)) {
  2105. .columns-area__panels__pane--compositional {
  2106. display: none;
  2107. }
  2108. .with-fab .scrollable .item-list:last-child {
  2109. padding-bottom: 5.25rem;
  2110. }
  2111. }
  2112. @media screen and (min-width: 600px + (285px * 1) + (10px * 1)) {
  2113. .floating-action-button,
  2114. .tabs-bar__link.optional {
  2115. display: none;
  2116. }
  2117. .search-page .search {
  2118. display: none;
  2119. }
  2120. }
  2121. @media screen and (max-width: 600px + (285px * 2) + (10px * 2)) {
  2122. .columns-area__panels__pane--navigational {
  2123. display: none;
  2124. }
  2125. }
  2126. @media screen and (min-width: 600px + (285px * 2) + (10px * 2)) {
  2127. .tabs-bar {
  2128. display: none;
  2129. }
  2130. }
  2131. .icon-with-badge {
  2132. position: relative;
  2133. &__badge {
  2134. position: absolute;
  2135. left: 9px;
  2136. top: -13px;
  2137. background: $ui-highlight-color;
  2138. border: 2px solid lighten($ui-base-color, 8%);
  2139. padding: 1px 6px;
  2140. border-radius: 6px;
  2141. font-size: 10px;
  2142. font-weight: 500;
  2143. line-height: 14px;
  2144. color: $primary-text-color;
  2145. }
  2146. &__issue-badge {
  2147. position: absolute;
  2148. left: 11px;
  2149. bottom: 1px;
  2150. display: block;
  2151. background: $error-red;
  2152. border-radius: 50%;
  2153. width: 0.625rem;
  2154. height: 0.625rem;
  2155. }
  2156. }
  2157. .column-link--transparent .icon-with-badge__badge {
  2158. border-color: darken($ui-base-color, 8%);
  2159. }
  2160. .column-title {
  2161. text-align: center;
  2162. padding: 40px;
  2163. .logo {
  2164. width: 50px;
  2165. margin: 0 auto;
  2166. margin-bottom: 40px;
  2167. }
  2168. h3 {
  2169. font-size: 24px;
  2170. line-height: 1.5;
  2171. font-weight: 700;
  2172. margin-bottom: 10px;
  2173. }
  2174. p {
  2175. font-size: 16px;
  2176. line-height: 24px;
  2177. font-weight: 400;
  2178. color: $darker-text-color;
  2179. }
  2180. }
  2181. .follow-recommendations-container {
  2182. display: flex;
  2183. flex-direction: column;
  2184. }
  2185. .column-actions {
  2186. display: flex;
  2187. align-items: start;
  2188. justify-content: center;
  2189. padding: 40px;
  2190. padding-top: 40px;
  2191. padding-bottom: 200px;
  2192. flex-grow: 1;
  2193. position: relative;
  2194. &__background {
  2195. position: absolute;
  2196. left: 0;
  2197. bottom: 0;
  2198. height: 220px;
  2199. width: auto;
  2200. }
  2201. }
  2202. .column-list {
  2203. margin: 0 20px;
  2204. border: 1px solid lighten($ui-base-color, 8%);
  2205. background: darken($ui-base-color, 2%);
  2206. border-radius: 4px;
  2207. &__empty-message {
  2208. padding: 40px;
  2209. text-align: center;
  2210. font-size: 16px;
  2211. line-height: 24px;
  2212. font-weight: 400;
  2213. color: $darker-text-color;
  2214. }
  2215. }
  2216. .compose-panel {
  2217. width: 285px;
  2218. margin-top: 10px;
  2219. display: flex;
  2220. flex-direction: column;
  2221. height: calc(100% - 10px);
  2222. overflow-y: hidden;
  2223. .navigation-bar {
  2224. padding-top: 20px;
  2225. padding-bottom: 20px;
  2226. flex: 0 1 48px;
  2227. min-height: 20px;
  2228. }
  2229. .flex-spacer {
  2230. background: transparent;
  2231. }
  2232. .compose-form {
  2233. flex: 1;
  2234. overflow-y: hidden;
  2235. display: flex;
  2236. flex-direction: column;
  2237. min-height: 310px;
  2238. padding-bottom: 71px;
  2239. margin-bottom: -71px;
  2240. }
  2241. .compose-form__autosuggest-wrapper {
  2242. overflow-y: auto;
  2243. background-color: $white;
  2244. border-radius: 4px 4px 0 0;
  2245. flex: 0 1 auto;
  2246. }
  2247. .autosuggest-textarea__textarea {
  2248. overflow-y: hidden;
  2249. }
  2250. .compose-form__upload-thumbnail {
  2251. height: 80px;
  2252. }
  2253. }
  2254. .navigation-panel {
  2255. margin-top: 10px;
  2256. margin-bottom: 10px;
  2257. height: calc(100% - 20px);
  2258. overflow-y: auto;
  2259. display: flex;
  2260. flex-direction: column;
  2261. & > a {
  2262. flex: 0 0 auto;
  2263. }
  2264. hr {
  2265. flex: 0 0 auto;
  2266. border: 0;
  2267. background: transparent;
  2268. border-top: 1px solid lighten($ui-base-color, 4%);
  2269. margin: 10px 0;
  2270. }
  2271. .flex-spacer {
  2272. background: transparent;
  2273. }
  2274. }
  2275. .drawer__pager {
  2276. box-sizing: border-box;
  2277. padding: 0;
  2278. flex-grow: 1;
  2279. position: relative;
  2280. overflow: hidden;
  2281. display: flex;
  2282. }
  2283. .drawer__inner {
  2284. position: absolute;
  2285. top: 0;
  2286. left: 0;
  2287. background: lighten($ui-base-color, 13%);
  2288. box-sizing: border-box;
  2289. padding: 0;
  2290. display: flex;
  2291. flex-direction: column;
  2292. overflow: hidden;
  2293. overflow-y: auto;
  2294. width: 100%;
  2295. height: 100%;
  2296. &.darker {
  2297. background: $ui-base-color;
  2298. }
  2299. }
  2300. .drawer__inner__mastodon {
  2301. background: lighten($ui-base-color, 13%) url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 234.80078 31.757813" width="234.80078" height="31.757812"><path d="M19.599609 0c-1.05 0-2.10039.375-2.90039 1.125L0 16.925781v14.832031h234.80078V17.025391l-16.5-15.900391c-1.6-1.5-4.20078-1.5-5.80078 0l-13.80078 13.099609c-1.6 1.5-4.19883 1.5-5.79883 0L179.09961 1.125c-1.6-1.5-4.19883-1.5-5.79883 0L159.5 14.224609c-1.6 1.5-4.20078 1.5-5.80078 0L139.90039 1.125c-1.6-1.5-4.20078-1.5-5.80078 0l-13.79883 13.099609c-1.6 1.5-4.20078 1.5-5.80078 0L100.69922 1.125c-1.600001-1.5-4.198829-1.5-5.798829 0l-13.59961 13.099609c-1.6 1.5-4.200781 1.5-5.800781 0L61.699219 1.125c-1.6-1.5-4.198828-1.5-5.798828 0L42.099609 14.224609c-1.6 1.5-4.198828 1.5-5.798828 0L22.5 1.125C21.7.375 20.649609 0 19.599609 0z" fill="#{hex-color($ui-base-color)}"/></svg>') no-repeat bottom / 100% auto;
  2302. flex: 1;
  2303. min-height: 47px;
  2304. display: none;
  2305. > img {
  2306. display: block;
  2307. object-fit: contain;
  2308. object-position: bottom left;
  2309. width: 85%;
  2310. height: 100%;
  2311. pointer-events: none;
  2312. user-drag: none;
  2313. user-select: none;
  2314. }
  2315. @media screen and (min-height: 640px) {
  2316. display: block;
  2317. }
  2318. }
  2319. .pseudo-drawer {
  2320. background: lighten($ui-base-color, 13%);
  2321. font-size: 13px;
  2322. text-align: left;
  2323. }
  2324. .drawer__header {
  2325. flex: 0 0 auto;
  2326. font-size: 16px;
  2327. background: lighten($ui-base-color, 8%);
  2328. margin-bottom: 10px;
  2329. display: flex;
  2330. flex-direction: row;
  2331. a {
  2332. transition: background 100ms ease-in;
  2333. &:hover {
  2334. background: lighten($ui-base-color, 3%);
  2335. transition: background 200ms ease-out;
  2336. }
  2337. }
  2338. }
  2339. .scrollable {
  2340. overflow-y: scroll;
  2341. overflow-x: hidden;
  2342. flex: 1 1 auto;
  2343. -webkit-overflow-scrolling: touch;
  2344. &.optionally-scrollable {
  2345. overflow-y: auto;
  2346. }
  2347. @supports (display: grid) { // hack to fix Chrome <57
  2348. contain: strict;
  2349. }
  2350. &--flex {
  2351. display: flex;
  2352. flex-direction: column;
  2353. }
  2354. &__append {
  2355. flex: 1 1 auto;
  2356. position: relative;
  2357. min-height: 120px;
  2358. }
  2359. .scrollable {
  2360. flex: 1 1 auto;
  2361. }
  2362. }
  2363. .scrollable.fullscreen {
  2364. @supports (display: grid) { // hack to fix Chrome <57
  2365. contain: none;
  2366. }
  2367. }
  2368. .column-back-button {
  2369. box-sizing: border-box;
  2370. width: 100%;
  2371. background: lighten($ui-base-color, 4%);
  2372. color: $highlight-text-color;
  2373. cursor: pointer;
  2374. flex: 0 0 auto;
  2375. font-size: 16px;
  2376. line-height: inherit;
  2377. border: 0;
  2378. text-align: unset;
  2379. padding: 15px;
  2380. margin: 0;
  2381. z-index: 3;
  2382. outline: 0;
  2383. &:hover {
  2384. text-decoration: underline;
  2385. }
  2386. }
  2387. .column-header__back-button {
  2388. background: lighten($ui-base-color, 4%);
  2389. border: 0;
  2390. font-family: inherit;
  2391. color: $highlight-text-color;
  2392. cursor: pointer;
  2393. white-space: nowrap;
  2394. font-size: 16px;
  2395. padding: 0 5px 0 0;
  2396. z-index: 3;
  2397. &:hover {
  2398. text-decoration: underline;
  2399. }
  2400. &:last-child {
  2401. padding: 0 15px 0 0;
  2402. }
  2403. }
  2404. .column-back-button__icon {
  2405. display: inline-block;
  2406. margin-right: 5px;
  2407. }
  2408. .column-back-button--slim {
  2409. position: relative;
  2410. }
  2411. .column-back-button--slim-button {
  2412. cursor: pointer;
  2413. flex: 0 0 auto;
  2414. font-size: 16px;
  2415. padding: 15px;
  2416. position: absolute;
  2417. right: 0;
  2418. top: -48px;
  2419. }
  2420. .react-toggle {
  2421. display: inline-block;
  2422. position: relative;
  2423. cursor: pointer;
  2424. background-color: transparent;
  2425. border: 0;
  2426. padding: 0;
  2427. user-select: none;
  2428. -webkit-tap-highlight-color: rgba($base-overlay-background, 0);
  2429. -webkit-tap-highlight-color: transparent;
  2430. }
  2431. .react-toggle-screenreader-only {
  2432. border: 0;
  2433. clip: rect(0 0 0 0);
  2434. height: 1px;
  2435. margin: -1px;
  2436. overflow: hidden;
  2437. padding: 0;
  2438. position: absolute;
  2439. width: 1px;
  2440. }
  2441. .react-toggle--disabled {
  2442. cursor: not-allowed;
  2443. opacity: 0.5;
  2444. transition: opacity 0.25s;
  2445. }
  2446. .react-toggle-track {
  2447. width: 50px;
  2448. height: 24px;
  2449. padding: 0;
  2450. border-radius: 30px;
  2451. background-color: $ui-base-color;
  2452. transition: background-color 0.2s ease;
  2453. }
  2454. .react-toggle:is(:hover, :focus-within):not(.react-toggle--disabled) .react-toggle-track {
  2455. background-color: darken($ui-base-color, 10%);
  2456. }
  2457. .react-toggle--checked .react-toggle-track {
  2458. background-color: darken($ui-highlight-color, 2%);
  2459. }
  2460. .react-toggle--checked:is(:hover, :focus-within):not(.react-toggle--disabled) .react-toggle-track {
  2461. background-color: $ui-highlight-color;
  2462. }
  2463. .react-toggle-track-check {
  2464. position: absolute;
  2465. width: 14px;
  2466. height: 10px;
  2467. top: 0;
  2468. bottom: 0;
  2469. margin-top: auto;
  2470. margin-bottom: auto;
  2471. line-height: 0;
  2472. left: 8px;
  2473. opacity: 0;
  2474. transition: opacity 0.25s ease;
  2475. }
  2476. .react-toggle--checked .react-toggle-track-check {
  2477. opacity: 1;
  2478. transition: opacity 0.25s ease;
  2479. }
  2480. .react-toggle-track-x {
  2481. position: absolute;
  2482. width: 10px;
  2483. height: 10px;
  2484. top: 0;
  2485. bottom: 0;
  2486. margin-top: auto;
  2487. margin-bottom: auto;
  2488. line-height: 0;
  2489. right: 10px;
  2490. opacity: 1;
  2491. transition: opacity 0.25s ease;
  2492. }
  2493. .react-toggle--checked .react-toggle-track-x {
  2494. opacity: 0;
  2495. }
  2496. .react-toggle-thumb {
  2497. position: absolute;
  2498. top: 1px;
  2499. left: 1px;
  2500. width: 22px;
  2501. height: 22px;
  2502. border: 1px solid $ui-base-color;
  2503. border-radius: 50%;
  2504. background-color: darken($simple-background-color, 2%);
  2505. box-sizing: border-box;
  2506. transition: all 0.25s ease;
  2507. transition-property: border-color, left;
  2508. }
  2509. .react-toggle--checked .react-toggle-thumb {
  2510. left: 27px;
  2511. border-color: $ui-highlight-color;
  2512. }
  2513. .column-link {
  2514. background: lighten($ui-base-color, 8%);
  2515. color: $primary-text-color;
  2516. display: block;
  2517. font-size: 16px;
  2518. padding: 15px;
  2519. text-decoration: none;
  2520. &:hover,
  2521. &:focus,
  2522. &:active {
  2523. background: lighten($ui-base-color, 11%);
  2524. }
  2525. &:focus {
  2526. outline: 0;
  2527. }
  2528. &--transparent {
  2529. background: transparent;
  2530. color: $ui-secondary-color;
  2531. &:hover,
  2532. &:focus,
  2533. &:active {
  2534. background: transparent;
  2535. color: $primary-text-color;
  2536. }
  2537. &.active {
  2538. color: $highlight-text-color;
  2539. }
  2540. }
  2541. }
  2542. .column-link__icon {
  2543. display: inline-block;
  2544. margin-right: 5px;
  2545. }
  2546. .column-link__badge {
  2547. display: inline-block;
  2548. border-radius: 4px;
  2549. font-size: 12px;
  2550. line-height: 19px;
  2551. font-weight: 500;
  2552. background: $ui-base-color;
  2553. padding: 4px 8px;
  2554. margin: -6px 10px;
  2555. }
  2556. .column-subheading {
  2557. background: $ui-base-color;
  2558. color: $dark-text-color;
  2559. padding: 8px 20px;
  2560. font-size: 12px;
  2561. font-weight: 500;
  2562. text-transform: uppercase;
  2563. cursor: default;
  2564. }
  2565. .getting-started__wrapper,
  2566. .getting-started,
  2567. .flex-spacer {
  2568. background: $ui-base-color;
  2569. }
  2570. .getting-started__wrapper {
  2571. flex: 0 0 auto;
  2572. }
  2573. .flex-spacer {
  2574. flex: 1 1 auto;
  2575. }
  2576. .getting-started {
  2577. color: $dark-text-color;
  2578. overflow: auto;
  2579. &__footer {
  2580. flex: 0 0 auto;
  2581. padding: 10px;
  2582. padding-top: 20px;
  2583. z-index: 1;
  2584. ul {
  2585. margin-bottom: 10px;
  2586. }
  2587. ul li {
  2588. display: inline;
  2589. }
  2590. p {
  2591. color: $dark-text-color;
  2592. font-size: 13px;
  2593. margin-bottom: 20px;
  2594. a {
  2595. color: $dark-text-color;
  2596. text-decoration: underline;
  2597. }
  2598. }
  2599. a {
  2600. text-decoration: none;
  2601. color: $darker-text-color;
  2602. &:hover,
  2603. &:focus,
  2604. &:active {
  2605. text-decoration: underline;
  2606. }
  2607. }
  2608. }
  2609. &__trends {
  2610. flex: 0 1 auto;
  2611. opacity: 1;
  2612. animation: fade 150ms linear;
  2613. margin-top: 10px;
  2614. h4 {
  2615. font-size: 12px;
  2616. text-transform: uppercase;
  2617. color: $darker-text-color;
  2618. padding: 10px;
  2619. font-weight: 500;
  2620. border-bottom: 1px solid lighten($ui-base-color, 8%);
  2621. }
  2622. @media screen and (max-height: 810px) {
  2623. .trends__item:nth-of-type(3) {
  2624. display: none;
  2625. }
  2626. }
  2627. @media screen and (max-height: 720px) {
  2628. .trends__item:nth-of-type(2) {
  2629. display: none;
  2630. }
  2631. }
  2632. @media screen and (max-height: 670px) {
  2633. display: none;
  2634. }
  2635. .trends__item {
  2636. border-bottom: 0;
  2637. padding: 10px;
  2638. &__current {
  2639. color: $darker-text-color;
  2640. }
  2641. }
  2642. }
  2643. }
  2644. .keyboard-shortcuts {
  2645. padding: 8px 0 0;
  2646. overflow: hidden;
  2647. thead {
  2648. position: absolute;
  2649. left: -9999px;
  2650. }
  2651. td {
  2652. padding: 0 10px 8px;
  2653. }
  2654. kbd {
  2655. display: inline-block;
  2656. padding: 3px 5px;
  2657. background-color: lighten($ui-base-color, 8%);
  2658. border: 1px solid darken($ui-base-color, 4%);
  2659. }
  2660. }
  2661. .setting-text {
  2662. display: block;
  2663. box-sizing: border-box;
  2664. width: 100%;
  2665. margin: 0;
  2666. color: $darker-text-color;
  2667. background: transparent;
  2668. padding: 7px 0;
  2669. font-family: inherit;
  2670. font-size: 14px;
  2671. resize: vertical;
  2672. border: 0;
  2673. border-bottom: 2px solid $ui-primary-color;
  2674. outline: 0;
  2675. &:focus,
  2676. &:active {
  2677. color: $primary-text-color;
  2678. border-bottom-color: $ui-highlight-color;
  2679. outline: 0;
  2680. }
  2681. @media screen and (max-width: 600px) {
  2682. font-size: 16px;
  2683. }
  2684. }
  2685. button.icon-button i.fa-retweet {
  2686. background-position: 0 0;
  2687. height: 19px;
  2688. transition: background-position 0.9s steps(10);
  2689. transition-duration: 0s;
  2690. vertical-align: middle;
  2691. width: 22px;
  2692. &::before {
  2693. display: none !important;
  2694. }
  2695. }
  2696. button.icon-button.active i.fa-retweet {
  2697. transition-duration: 0.9s;
  2698. background-position: 0 100%;
  2699. }
  2700. .reduce-motion button.icon-button i.fa-retweet,
  2701. .reduce-motion button.icon-button.active i.fa-retweet {
  2702. transition: none;
  2703. }
  2704. .status-card {
  2705. position: relative;
  2706. display: flex;
  2707. font-size: 14px;
  2708. border: 1px solid lighten($ui-base-color, 8%);
  2709. border-radius: 4px;
  2710. color: $dark-text-color;
  2711. margin-top: 14px;
  2712. text-decoration: none;
  2713. overflow: hidden;
  2714. &__actions {
  2715. bottom: 0;
  2716. left: 0;
  2717. position: absolute;
  2718. right: 0;
  2719. top: 0;
  2720. display: flex;
  2721. justify-content: center;
  2722. align-items: center;
  2723. & > div {
  2724. background: rgba($base-shadow-color, 0.6);
  2725. border-radius: 8px;
  2726. padding: 12px 9px;
  2727. flex: 0 0 auto;
  2728. display: flex;
  2729. justify-content: center;
  2730. align-items: center;
  2731. }
  2732. button,
  2733. a {
  2734. display: inline;
  2735. color: $secondary-text-color;
  2736. background: transparent;
  2737. border: 0;
  2738. padding: 0 8px;
  2739. text-decoration: none;
  2740. font-size: 18px;
  2741. line-height: 18px;
  2742. &:hover,
  2743. &:active,
  2744. &:focus {
  2745. color: $primary-text-color;
  2746. }
  2747. }
  2748. a {
  2749. font-size: 19px;
  2750. position: relative;
  2751. bottom: -1px;
  2752. }
  2753. }
  2754. }
  2755. a.status-card {
  2756. cursor: pointer;
  2757. &:hover {
  2758. background: lighten($ui-base-color, 8%);
  2759. }
  2760. }
  2761. .status-card-photo {
  2762. cursor: zoom-in;
  2763. display: block;
  2764. text-decoration: none;
  2765. width: 100%;
  2766. height: auto;
  2767. margin: 0;
  2768. }
  2769. .status-card-video {
  2770. iframe {
  2771. width: 100%;
  2772. height: 100%;
  2773. }
  2774. }
  2775. .status-card__title {
  2776. display: block;
  2777. font-weight: 500;
  2778. margin-bottom: 5px;
  2779. color: $darker-text-color;
  2780. overflow: hidden;
  2781. text-overflow: ellipsis;
  2782. white-space: nowrap;
  2783. text-decoration: none;
  2784. }
  2785. .status-card__content {
  2786. flex: 1 1 auto;
  2787. overflow: hidden;
  2788. padding: 14px 14px 14px 8px;
  2789. }
  2790. .status-card__description {
  2791. color: $darker-text-color;
  2792. }
  2793. .status-card__host {
  2794. display: block;
  2795. margin-top: 5px;
  2796. font-size: 13px;
  2797. overflow: hidden;
  2798. text-overflow: ellipsis;
  2799. white-space: nowrap;
  2800. }
  2801. .status-card__image {
  2802. flex: 0 0 100px;
  2803. background: lighten($ui-base-color, 8%);
  2804. position: relative;
  2805. & > .fa {
  2806. font-size: 21px;
  2807. position: absolute;
  2808. transform-origin: 50% 50%;
  2809. top: 50%;
  2810. left: 50%;
  2811. transform: translate(-50%, -50%);
  2812. }
  2813. }
  2814. .status-card.horizontal {
  2815. display: block;
  2816. .status-card__image {
  2817. width: 100%;
  2818. }
  2819. .status-card__image-image,
  2820. .status-card__image-preview {
  2821. border-radius: 4px 4px 0 0;
  2822. }
  2823. .status-card__title {
  2824. white-space: inherit;
  2825. }
  2826. }
  2827. .status-card.compact {
  2828. border-color: lighten($ui-base-color, 4%);
  2829. &.interactive {
  2830. border: 0;
  2831. }
  2832. .status-card__content {
  2833. padding: 8px;
  2834. padding-top: 10px;
  2835. }
  2836. .status-card__title {
  2837. white-space: nowrap;
  2838. }
  2839. .status-card__image {
  2840. flex: 0 0 60px;
  2841. }
  2842. }
  2843. a.status-card.compact:hover {
  2844. background-color: lighten($ui-base-color, 4%);
  2845. }
  2846. .status-card__image-image {
  2847. border-radius: 4px 0 0 4px;
  2848. display: block;
  2849. margin: 0;
  2850. width: 100%;
  2851. height: 100%;
  2852. object-fit: cover;
  2853. background-size: cover;
  2854. background-position: center center;
  2855. }
  2856. .status-card__image-preview {
  2857. border-radius: 4px 0 0 4px;
  2858. display: block;
  2859. margin: 0;
  2860. width: 100%;
  2861. height: 100%;
  2862. object-fit: fill;
  2863. position: absolute;
  2864. top: 0;
  2865. left: 0;
  2866. z-index: 0;
  2867. background: $base-overlay-background;
  2868. &--hidden {
  2869. display: none;
  2870. }
  2871. }
  2872. .load-more {
  2873. display: block;
  2874. color: $dark-text-color;
  2875. background-color: transparent;
  2876. border: 0;
  2877. font-size: inherit;
  2878. text-align: center;
  2879. line-height: inherit;
  2880. margin: 0;
  2881. padding: 15px;
  2882. box-sizing: border-box;
  2883. width: 100%;
  2884. clear: both;
  2885. text-decoration: none;
  2886. &:hover {
  2887. background: lighten($ui-base-color, 2%);
  2888. }
  2889. }
  2890. .load-gap {
  2891. border-bottom: 1px solid lighten($ui-base-color, 8%);
  2892. }
  2893. .timeline-hint {
  2894. text-align: center;
  2895. color: $darker-text-color;
  2896. padding: 15px;
  2897. box-sizing: border-box;
  2898. width: 100%;
  2899. cursor: default;
  2900. strong {
  2901. font-weight: 500;
  2902. }
  2903. a {
  2904. color: $highlight-text-color;
  2905. text-decoration: none;
  2906. &:hover,
  2907. &:focus,
  2908. &:active {
  2909. text-decoration: underline;
  2910. color: lighten($highlight-text-color, 4%);
  2911. }
  2912. }
  2913. }
  2914. .regeneration-indicator {
  2915. text-align: center;
  2916. font-size: 16px;
  2917. font-weight: 500;
  2918. color: $dark-text-color;
  2919. background: $ui-base-color;
  2920. cursor: default;
  2921. display: flex;
  2922. flex: 1 1 auto;
  2923. flex-direction: column;
  2924. align-items: center;
  2925. justify-content: center;
  2926. padding: 20px;
  2927. &__figure {
  2928. &,
  2929. img {
  2930. display: block;
  2931. width: auto;
  2932. height: 160px;
  2933. margin: 0;
  2934. }
  2935. }
  2936. &--without-header {
  2937. padding-top: 20px + 48px;
  2938. }
  2939. &__label {
  2940. margin-top: 30px;
  2941. strong {
  2942. display: block;
  2943. margin-bottom: 10px;
  2944. color: $dark-text-color;
  2945. }
  2946. span {
  2947. font-size: 15px;
  2948. font-weight: 400;
  2949. }
  2950. }
  2951. }
  2952. .column-header__wrapper {
  2953. position: relative;
  2954. flex: 0 0 auto;
  2955. z-index: 1;
  2956. &.active {
  2957. box-shadow: 0 1px 0 rgba($highlight-text-color, 0.3);
  2958. &::before {
  2959. display: block;
  2960. content: "";
  2961. position: absolute;
  2962. bottom: -13px;
  2963. left: 0;
  2964. right: 0;
  2965. margin: 0 auto;
  2966. width: 60%;
  2967. pointer-events: none;
  2968. height: 28px;
  2969. z-index: 1;
  2970. background: radial-gradient(ellipse, rgba($ui-highlight-color, 0.23) 0%, rgba($ui-highlight-color, 0) 60%);
  2971. }
  2972. }
  2973. .announcements {
  2974. z-index: 1;
  2975. position: relative;
  2976. }
  2977. }
  2978. .column-header {
  2979. display: flex;
  2980. font-size: 16px;
  2981. background: lighten($ui-base-color, 4%);
  2982. flex: 0 0 auto;
  2983. cursor: pointer;
  2984. position: relative;
  2985. z-index: 2;
  2986. outline: 0;
  2987. overflow: hidden;
  2988. & > button {
  2989. margin: 0;
  2990. border: 0;
  2991. padding: 15px 0 15px 15px;
  2992. color: inherit;
  2993. background: transparent;
  2994. font: inherit;
  2995. text-align: left;
  2996. text-overflow: ellipsis;
  2997. overflow: hidden;
  2998. white-space: nowrap;
  2999. flex: 1;
  3000. }
  3001. & > .column-header__back-button {
  3002. color: $highlight-text-color;
  3003. }
  3004. &.active {
  3005. .column-header__icon {
  3006. color: $highlight-text-color;
  3007. text-shadow: 0 0 10px rgba($highlight-text-color, 0.4);
  3008. }
  3009. }
  3010. &:focus,
  3011. &:active {
  3012. outline: 0;
  3013. }
  3014. }
  3015. .column-header__buttons {
  3016. height: 48px;
  3017. display: flex;
  3018. }
  3019. .column-header__links {
  3020. margin-bottom: 14px;
  3021. }
  3022. .column-header__links .text-btn {
  3023. margin-right: 10px;
  3024. }
  3025. .column-header__button {
  3026. background: lighten($ui-base-color, 4%);
  3027. border: 0;
  3028. color: $darker-text-color;
  3029. cursor: pointer;
  3030. font-size: 16px;
  3031. padding: 0 15px;
  3032. &:hover {
  3033. color: lighten($darker-text-color, 7%);
  3034. }
  3035. &.active {
  3036. color: $primary-text-color;
  3037. background: lighten($ui-base-color, 8%);
  3038. &:hover {
  3039. color: $primary-text-color;
  3040. background: lighten($ui-base-color, 8%);
  3041. }
  3042. }
  3043. }
  3044. .column-header__collapsible {
  3045. max-height: 70vh;
  3046. overflow: hidden;
  3047. overflow-y: auto;
  3048. color: $darker-text-color;
  3049. transition: max-height 150ms ease-in-out, opacity 300ms linear;
  3050. opacity: 1;
  3051. z-index: 1;
  3052. position: relative;
  3053. &.collapsed {
  3054. max-height: 0;
  3055. opacity: 0.5;
  3056. }
  3057. &.animating {
  3058. overflow-y: hidden;
  3059. }
  3060. hr {
  3061. height: 0;
  3062. background: transparent;
  3063. border: 0;
  3064. border-top: 1px solid lighten($ui-base-color, 12%);
  3065. margin: 10px 0;
  3066. }
  3067. }
  3068. .column-header__collapsible-inner {
  3069. background: lighten($ui-base-color, 8%);
  3070. padding: 15px;
  3071. }
  3072. .column-header__setting-btn {
  3073. &:hover,
  3074. &:focus {
  3075. color: $darker-text-color;
  3076. text-decoration: underline;
  3077. }
  3078. }
  3079. .column-header__collapsible__extra + .column-header__setting-btn {
  3080. padding-top: 5px;
  3081. }
  3082. .column-header__permission-btn {
  3083. display: inline;
  3084. font-weight: inherit;
  3085. text-decoration: underline;
  3086. }
  3087. .column-header__setting-arrows {
  3088. float: right;
  3089. .column-header__setting-btn {
  3090. padding: 5px;
  3091. &:first-child {
  3092. padding-right: 7px;
  3093. }
  3094. &:last-child {
  3095. padding-left: 7px;
  3096. margin-left: 5px;
  3097. }
  3098. }
  3099. }
  3100. .text-btn {
  3101. display: inline-block;
  3102. padding: 0;
  3103. font-family: inherit;
  3104. font-size: inherit;
  3105. color: inherit;
  3106. border: 0;
  3107. background: transparent;
  3108. cursor: pointer;
  3109. }
  3110. .column-header__issue-btn {
  3111. color: $warning-red;
  3112. &:hover {
  3113. color: $error-red;
  3114. text-decoration: underline;
  3115. }
  3116. }
  3117. .column-header__icon {
  3118. display: inline-block;
  3119. margin-right: 5px;
  3120. }
  3121. .loading-indicator {
  3122. color: $dark-text-color;
  3123. font-size: 12px;
  3124. font-weight: 400;
  3125. text-transform: uppercase;
  3126. overflow: visible;
  3127. position: absolute;
  3128. top: 50%;
  3129. left: 50%;
  3130. transform: translate(-50%, -50%);
  3131. display: flex;
  3132. align-items: center;
  3133. justify-content: center;
  3134. }
  3135. .circular-progress {
  3136. color: lighten($ui-base-color, 26%);
  3137. animation: 1.4s linear 0s infinite normal none running simple-rotate;
  3138. circle {
  3139. stroke: currentColor;
  3140. stroke-dasharray: 80px, 200px;
  3141. stroke-dashoffset: 0;
  3142. animation: circular-progress 1.4s ease-in-out infinite;
  3143. }
  3144. }
  3145. @keyframes circular-progress {
  3146. 0% {
  3147. stroke-dasharray: 1px, 200px;
  3148. stroke-dashoffset: 0;
  3149. }
  3150. 50% {
  3151. stroke-dasharray: 100px, 200px;
  3152. stroke-dashoffset: -15px;
  3153. }
  3154. 100% {
  3155. stroke-dasharray: 100px, 200px;
  3156. stroke-dashoffset: -125px;
  3157. }
  3158. }
  3159. @keyframes simple-rotate {
  3160. 0% {
  3161. transform: rotate(0deg);
  3162. }
  3163. 100% {
  3164. transform: rotate(360deg);
  3165. }
  3166. }
  3167. @keyframes spring-rotate-in {
  3168. 0% {
  3169. transform: rotate(0deg);
  3170. }
  3171. 30% {
  3172. transform: rotate(-484.8deg);
  3173. }
  3174. 60% {
  3175. transform: rotate(-316.7deg);
  3176. }
  3177. 90% {
  3178. transform: rotate(-375deg);
  3179. }
  3180. 100% {
  3181. transform: rotate(-360deg);
  3182. }
  3183. }
  3184. @keyframes spring-rotate-out {
  3185. 0% {
  3186. transform: rotate(-360deg);
  3187. }
  3188. 30% {
  3189. transform: rotate(124.8deg);
  3190. }
  3191. 60% {
  3192. transform: rotate(-43.27deg);
  3193. }
  3194. 90% {
  3195. transform: rotate(15deg);
  3196. }
  3197. 100% {
  3198. transform: rotate(0deg);
  3199. }
  3200. }
  3201. .video-error-cover {
  3202. align-items: center;
  3203. background: $base-overlay-background;
  3204. color: $primary-text-color;
  3205. cursor: pointer;
  3206. display: flex;
  3207. flex-direction: column;
  3208. height: 100%;
  3209. justify-content: center;
  3210. margin-top: 8px;
  3211. position: relative;
  3212. text-align: center;
  3213. z-index: 100;
  3214. }
  3215. .media-spoiler {
  3216. background: $base-overlay-background;
  3217. color: $darker-text-color;
  3218. border: 0;
  3219. padding: 0;
  3220. width: 100%;
  3221. height: 100%;
  3222. border-radius: 4px;
  3223. appearance: none;
  3224. &:hover,
  3225. &:active,
  3226. &:focus {
  3227. padding: 0;
  3228. color: lighten($darker-text-color, 8%);
  3229. }
  3230. }
  3231. .media-spoiler__warning {
  3232. display: block;
  3233. font-size: 14px;
  3234. }
  3235. .media-spoiler__trigger {
  3236. display: block;
  3237. font-size: 11px;
  3238. font-weight: 700;
  3239. }
  3240. .spoiler-button {
  3241. top: 0;
  3242. left: 0;
  3243. width: 100%;
  3244. height: 100%;
  3245. position: absolute;
  3246. z-index: 100;
  3247. &--minified {
  3248. display: block;
  3249. left: 4px;
  3250. top: 4px;
  3251. width: auto;
  3252. height: auto;
  3253. }
  3254. &--click-thru {
  3255. pointer-events: none;
  3256. }
  3257. &--hidden {
  3258. display: none;
  3259. }
  3260. &__overlay {
  3261. display: block;
  3262. background: transparent;
  3263. width: 100%;
  3264. height: 100%;
  3265. border: 0;
  3266. &__label {
  3267. display: inline-block;
  3268. background: rgba($base-overlay-background, 0.5);
  3269. border-radius: 8px;
  3270. padding: 8px 12px;
  3271. color: $primary-text-color;
  3272. font-weight: 500;
  3273. font-size: 14px;
  3274. }
  3275. &:hover,
  3276. &:focus,
  3277. &:active {
  3278. .spoiler-button__overlay__label {
  3279. background: rgba($base-overlay-background, 0.8);
  3280. }
  3281. }
  3282. &:disabled {
  3283. .spoiler-button__overlay__label {
  3284. background: rgba($base-overlay-background, 0.5);
  3285. }
  3286. }
  3287. }
  3288. }
  3289. .modal-container--preloader {
  3290. background: lighten($ui-base-color, 8%);
  3291. }
  3292. .account--panel {
  3293. background: lighten($ui-base-color, 4%);
  3294. border-top: 1px solid lighten($ui-base-color, 8%);
  3295. border-bottom: 1px solid lighten($ui-base-color, 8%);
  3296. display: flex;
  3297. flex-direction: row;
  3298. padding: 10px 0;
  3299. }
  3300. .account--panel__button,
  3301. .detailed-status__button {
  3302. flex: 1 1 auto;
  3303. text-align: center;
  3304. }
  3305. .column-settings__outer {
  3306. background: lighten($ui-base-color, 8%);
  3307. padding: 15px;
  3308. }
  3309. .column-settings__section {
  3310. color: $darker-text-color;
  3311. cursor: default;
  3312. display: block;
  3313. font-weight: 500;
  3314. margin-bottom: 10px;
  3315. }
  3316. .column-settings__row--with-margin {
  3317. margin-bottom: 15px;
  3318. }
  3319. .column-settings__hashtags {
  3320. .column-settings__row {
  3321. margin-bottom: 15px;
  3322. }
  3323. .column-select {
  3324. &__control {
  3325. @include search-input;
  3326. &::placeholder {
  3327. color: lighten($darker-text-color, 4%);
  3328. }
  3329. &::-moz-focus-inner {
  3330. border: 0;
  3331. }
  3332. &::-moz-focus-inner,
  3333. &:focus,
  3334. &:active {
  3335. outline: 0 !important;
  3336. }
  3337. &:focus {
  3338. background: lighten($ui-base-color, 4%);
  3339. }
  3340. @media screen and (max-width: 600px) {
  3341. font-size: 16px;
  3342. }
  3343. }
  3344. &__placeholder {
  3345. color: $dark-text-color;
  3346. padding-left: 2px;
  3347. font-size: 12px;
  3348. }
  3349. &__value-container {
  3350. padding-left: 6px;
  3351. }
  3352. &__multi-value {
  3353. background: lighten($ui-base-color, 8%);
  3354. &__remove {
  3355. cursor: pointer;
  3356. &:hover,
  3357. &:active,
  3358. &:focus {
  3359. background: lighten($ui-base-color, 12%);
  3360. color: lighten($darker-text-color, 4%);
  3361. }
  3362. }
  3363. }
  3364. &__multi-value__label,
  3365. &__input,
  3366. &__input-container {
  3367. color: $darker-text-color;
  3368. }
  3369. &__clear-indicator,
  3370. &__dropdown-indicator {
  3371. cursor: pointer;
  3372. transition: none;
  3373. color: $dark-text-color;
  3374. &:hover,
  3375. &:active,
  3376. &:focus {
  3377. color: lighten($dark-text-color, 4%);
  3378. }
  3379. }
  3380. &__indicator-separator {
  3381. background-color: lighten($ui-base-color, 8%);
  3382. }
  3383. &__menu {
  3384. @include search-popout;
  3385. padding: 0;
  3386. background: $ui-secondary-color;
  3387. }
  3388. &__menu-list {
  3389. padding: 6px;
  3390. }
  3391. &__option {
  3392. color: $inverted-text-color;
  3393. border-radius: 4px;
  3394. font-size: 14px;
  3395. &--is-focused,
  3396. &--is-selected {
  3397. background: darken($ui-secondary-color, 10%);
  3398. }
  3399. }
  3400. }
  3401. }
  3402. .column-settings__row {
  3403. .text-btn:not(.column-header__permission-btn) {
  3404. margin-bottom: 15px;
  3405. }
  3406. }
  3407. .relationship-tag {
  3408. color: $primary-text-color;
  3409. margin-bottom: 4px;
  3410. display: block;
  3411. background-color: $base-overlay-background;
  3412. text-transform: uppercase;
  3413. font-size: 11px;
  3414. font-weight: 500;
  3415. padding: 4px;
  3416. border-radius: 4px;
  3417. opacity: 0.7;
  3418. &:hover {
  3419. opacity: 1;
  3420. }
  3421. }
  3422. .setting-toggle {
  3423. display: block;
  3424. line-height: 24px;
  3425. }
  3426. .setting-toggle__label {
  3427. color: $darker-text-color;
  3428. display: inline-block;
  3429. margin-bottom: 14px;
  3430. margin-left: 8px;
  3431. vertical-align: middle;
  3432. }
  3433. .limited-account-hint {
  3434. p {
  3435. color: $secondary-text-color;
  3436. font-size: 15px;
  3437. font-weight: 500;
  3438. margin-bottom: 20px;
  3439. }
  3440. }
  3441. .empty-column-indicator,
  3442. .error-column,
  3443. .follow_requests-unlocked_explanation {
  3444. color: $dark-text-color;
  3445. background: $ui-base-color;
  3446. text-align: center;
  3447. padding: 20px;
  3448. font-size: 15px;
  3449. font-weight: 400;
  3450. cursor: default;
  3451. display: flex;
  3452. flex: 1 1 auto;
  3453. align-items: center;
  3454. justify-content: center;
  3455. @supports (display: grid) { // hack to fix Chrome <57
  3456. contain: strict;
  3457. }
  3458. & > span {
  3459. max-width: 500px;
  3460. }
  3461. a {
  3462. color: $highlight-text-color;
  3463. text-decoration: none;
  3464. &:hover {
  3465. text-decoration: underline;
  3466. }
  3467. }
  3468. }
  3469. .follow_requests-unlocked_explanation {
  3470. background: darken($ui-base-color, 4%);
  3471. contain: initial;
  3472. }
  3473. .error-column {
  3474. flex-direction: column;
  3475. }
  3476. @keyframes heartbeat {
  3477. from {
  3478. transform: scale(1);
  3479. animation-timing-function: ease-out;
  3480. }
  3481. 10% {
  3482. transform: scale(0.91);
  3483. animation-timing-function: ease-in;
  3484. }
  3485. 17% {
  3486. transform: scale(0.98);
  3487. animation-timing-function: ease-out;
  3488. }
  3489. 33% {
  3490. transform: scale(0.87);
  3491. animation-timing-function: ease-in;
  3492. }
  3493. 45% {
  3494. transform: scale(1);
  3495. animation-timing-function: ease-out;
  3496. }
  3497. }
  3498. .no-reduce-motion .pulse-loading {
  3499. transform-origin: center center;
  3500. animation: heartbeat 1.5s ease-in-out infinite both;
  3501. }
  3502. @keyframes shake-bottom {
  3503. 0%,
  3504. 100% {
  3505. transform: rotate(0deg);
  3506. transform-origin: 50% 100%;
  3507. }
  3508. 10% {
  3509. transform: rotate(2deg);
  3510. }
  3511. 20%,
  3512. 40%,
  3513. 60% {
  3514. transform: rotate(-4deg);
  3515. }
  3516. 30%,
  3517. 50%,
  3518. 70% {
  3519. transform: rotate(4deg);
  3520. }
  3521. 80% {
  3522. transform: rotate(-2deg);
  3523. }
  3524. 90% {
  3525. transform: rotate(2deg);
  3526. }
  3527. }
  3528. .no-reduce-motion .shake-bottom {
  3529. transform-origin: 50% 100%;
  3530. animation: shake-bottom 0.8s cubic-bezier(0.455, 0.03, 0.515, 0.955) 2s 2 both;
  3531. }
  3532. .emoji-picker-dropdown__menu {
  3533. background: $simple-background-color;
  3534. position: absolute;
  3535. box-shadow: 4px 4px 6px rgba($base-shadow-color, 0.4);
  3536. border-radius: 4px;
  3537. margin-top: 5px;
  3538. z-index: 2;
  3539. .emoji-mart-scroll {
  3540. transition: opacity 200ms ease;
  3541. }
  3542. &.selecting .emoji-mart-scroll {
  3543. opacity: 0.5;
  3544. }
  3545. }
  3546. .emoji-picker-dropdown__modifiers {
  3547. position: absolute;
  3548. top: 60px;
  3549. right: 11px;
  3550. cursor: pointer;
  3551. }
  3552. .emoji-picker-dropdown__modifiers__menu {
  3553. position: absolute;
  3554. z-index: 4;
  3555. top: -4px;
  3556. left: -8px;
  3557. background: $simple-background-color;
  3558. border-radius: 4px;
  3559. box-shadow: 1px 2px 6px rgba($base-shadow-color, 0.2);
  3560. overflow: hidden;
  3561. button {
  3562. display: block;
  3563. cursor: pointer;
  3564. border: 0;
  3565. padding: 4px 8px;
  3566. background: transparent;
  3567. &:hover,
  3568. &:focus,
  3569. &:active {
  3570. background: rgba($ui-secondary-color, 0.4);
  3571. }
  3572. }
  3573. .emoji-mart-emoji {
  3574. height: 22px;
  3575. }
  3576. }
  3577. .emoji-mart-emoji {
  3578. span {
  3579. background-repeat: no-repeat;
  3580. }
  3581. }
  3582. .upload-area {
  3583. align-items: center;
  3584. background: rgba($base-overlay-background, 0.8);
  3585. display: flex;
  3586. height: 100%;
  3587. justify-content: center;
  3588. left: 0;
  3589. opacity: 0;
  3590. position: absolute;
  3591. top: 0;
  3592. visibility: hidden;
  3593. width: 100%;
  3594. z-index: 2000;
  3595. * {
  3596. pointer-events: none;
  3597. }
  3598. }
  3599. .upload-area__drop {
  3600. width: 320px;
  3601. height: 160px;
  3602. display: flex;
  3603. box-sizing: border-box;
  3604. position: relative;
  3605. padding: 8px;
  3606. }
  3607. .upload-area__background {
  3608. position: absolute;
  3609. top: 0;
  3610. right: 0;
  3611. bottom: 0;
  3612. left: 0;
  3613. z-index: -1;
  3614. border-radius: 4px;
  3615. background: $ui-base-color;
  3616. box-shadow: 0 0 5px rgba($base-shadow-color, 0.2);
  3617. }
  3618. .upload-area__content {
  3619. flex: 1;
  3620. display: flex;
  3621. align-items: center;
  3622. justify-content: center;
  3623. color: $secondary-text-color;
  3624. font-size: 18px;
  3625. font-weight: 500;
  3626. border: 2px dashed $ui-base-lighter-color;
  3627. border-radius: 4px;
  3628. }
  3629. .upload-progress {
  3630. padding: 10px;
  3631. color: $lighter-text-color;
  3632. overflow: hidden;
  3633. display: flex;
  3634. .fa {
  3635. font-size: 34px;
  3636. margin-right: 10px;
  3637. }
  3638. span {
  3639. font-size: 12px;
  3640. text-transform: uppercase;
  3641. font-weight: 500;
  3642. display: block;
  3643. }
  3644. }
  3645. .upload-progress__message {
  3646. flex: 1 1 auto;
  3647. }
  3648. .upload-progress__backdrop {
  3649. width: 100%;
  3650. height: 6px;
  3651. border-radius: 6px;
  3652. background: $ui-base-lighter-color;
  3653. position: relative;
  3654. margin-top: 5px;
  3655. }
  3656. .upload-progress__tracker {
  3657. position: absolute;
  3658. left: 0;
  3659. top: 0;
  3660. height: 6px;
  3661. background: $ui-highlight-color;
  3662. border-radius: 6px;
  3663. }
  3664. .emoji-button {
  3665. display: block;
  3666. padding: 5px 5px 2px 2px;
  3667. outline: 0;
  3668. cursor: pointer;
  3669. &:active,
  3670. &:focus {
  3671. outline: 0 !important;
  3672. }
  3673. img {
  3674. filter: grayscale(100%);
  3675. opacity: 0.8;
  3676. display: block;
  3677. margin: 0;
  3678. width: 22px;
  3679. height: 22px;
  3680. }
  3681. &:hover,
  3682. &:active,
  3683. &:focus {
  3684. img {
  3685. opacity: 1;
  3686. filter: none;
  3687. }
  3688. }
  3689. }
  3690. .dropdown--active .emoji-button img {
  3691. opacity: 1;
  3692. filter: none;
  3693. }
  3694. .privacy-dropdown__dropdown {
  3695. position: absolute;
  3696. background: $simple-background-color;
  3697. box-shadow: 2px 4px 15px rgba($base-shadow-color, 0.4);
  3698. border-radius: 4px;
  3699. overflow: hidden;
  3700. z-index: 2;
  3701. &.top {
  3702. transform-origin: 50% 100%;
  3703. }
  3704. &.bottom {
  3705. transform-origin: 50% 0;
  3706. }
  3707. }
  3708. .modal-root__container .privacy-dropdown {
  3709. flex-grow: 0;
  3710. }
  3711. .modal-root__container .privacy-dropdown__dropdown {
  3712. pointer-events: auto;
  3713. z-index: 9999;
  3714. }
  3715. .privacy-dropdown__option {
  3716. color: $inverted-text-color;
  3717. padding: 10px;
  3718. cursor: pointer;
  3719. display: flex;
  3720. &:hover,
  3721. &.active {
  3722. background: $ui-highlight-color;
  3723. color: $primary-text-color;
  3724. outline: 0;
  3725. .privacy-dropdown__option__content {
  3726. color: $primary-text-color;
  3727. strong {
  3728. color: $primary-text-color;
  3729. }
  3730. }
  3731. }
  3732. &.active:hover {
  3733. background: lighten($ui-highlight-color, 4%);
  3734. }
  3735. }
  3736. .privacy-dropdown__option__icon {
  3737. display: flex;
  3738. align-items: center;
  3739. justify-content: center;
  3740. margin-right: 10px;
  3741. }
  3742. .privacy-dropdown__option__content {
  3743. flex: 1 1 auto;
  3744. color: $lighter-text-color;
  3745. strong {
  3746. font-weight: 500;
  3747. display: block;
  3748. color: $inverted-text-color;
  3749. @each $lang in $cjk-langs {
  3750. &:lang(#{$lang}) {
  3751. font-weight: 700;
  3752. }
  3753. }
  3754. }
  3755. }
  3756. .privacy-dropdown.active {
  3757. .privacy-dropdown__value {
  3758. background: $simple-background-color;
  3759. border-radius: 4px 4px 0 0;
  3760. box-shadow: 0 -4px 4px rgba($base-shadow-color, 0.1);
  3761. .icon-button {
  3762. transition: none;
  3763. }
  3764. &.active {
  3765. background: $ui-highlight-color;
  3766. .icon-button {
  3767. color: $primary-text-color;
  3768. }
  3769. }
  3770. }
  3771. &.top .privacy-dropdown__value {
  3772. border-radius: 0 0 4px 4px;
  3773. }
  3774. .privacy-dropdown__dropdown {
  3775. display: block;
  3776. box-shadow: 2px 4px 6px rgba($base-shadow-color, 0.1);
  3777. }
  3778. }
  3779. .language-dropdown {
  3780. &__dropdown {
  3781. position: absolute;
  3782. background: $simple-background-color;
  3783. box-shadow: 2px 4px 15px rgba($base-shadow-color, 0.4);
  3784. border-radius: 4px;
  3785. overflow: hidden;
  3786. z-index: 2;
  3787. &.top {
  3788. transform-origin: 50% 100%;
  3789. }
  3790. &.bottom {
  3791. transform-origin: 50% 0;
  3792. }
  3793. .emoji-mart-search {
  3794. padding-right: 10px;
  3795. }
  3796. .emoji-mart-search-icon {
  3797. right: 10px + 5px;
  3798. }
  3799. .emoji-mart-scroll {
  3800. padding: 0 10px 10px;
  3801. }
  3802. &__results {
  3803. &__item {
  3804. cursor: pointer;
  3805. color: $inverted-text-color;
  3806. font-weight: 500;
  3807. padding: 10px;
  3808. border-radius: 4px;
  3809. &:focus,
  3810. &:active,
  3811. &:hover {
  3812. background: $ui-secondary-color;
  3813. }
  3814. &__common-name {
  3815. color: $darker-text-color;
  3816. }
  3817. &.active {
  3818. background: $ui-highlight-color;
  3819. color: $primary-text-color;
  3820. outline: 0;
  3821. .language-dropdown__dropdown__results__item__common-name {
  3822. color: $secondary-text-color;
  3823. }
  3824. &:hover {
  3825. background: lighten($ui-highlight-color, 4%);
  3826. }
  3827. }
  3828. }
  3829. }
  3830. }
  3831. }
  3832. .search {
  3833. position: relative;
  3834. }
  3835. .search__input {
  3836. @include search-input;
  3837. display: block;
  3838. padding: 15px;
  3839. padding-right: 30px;
  3840. line-height: 18px;
  3841. font-size: 16px;
  3842. &::placeholder {
  3843. color: lighten($darker-text-color, 4%);
  3844. }
  3845. &::-moz-focus-inner {
  3846. border: 0;
  3847. }
  3848. &::-moz-focus-inner,
  3849. &:focus,
  3850. &:active {
  3851. outline: 0 !important;
  3852. }
  3853. &:focus {
  3854. background: lighten($ui-base-color, 4%);
  3855. }
  3856. @media screen and (max-width: 600px) {
  3857. font-size: 16px;
  3858. }
  3859. }
  3860. .search__icon {
  3861. &::-moz-focus-inner {
  3862. border: 0;
  3863. }
  3864. &::-moz-focus-inner,
  3865. &:focus {
  3866. outline: 0 !important;
  3867. }
  3868. .fa {
  3869. position: absolute;
  3870. top: 16px;
  3871. right: 10px;
  3872. z-index: 2;
  3873. display: inline-block;
  3874. opacity: 0;
  3875. transition: all 100ms linear;
  3876. transition-property: transform, opacity;
  3877. font-size: 18px;
  3878. width: 18px;
  3879. height: 18px;
  3880. color: $secondary-text-color;
  3881. cursor: default;
  3882. pointer-events: none;
  3883. &.active {
  3884. pointer-events: auto;
  3885. opacity: 0.3;
  3886. }
  3887. }
  3888. .fa-search {
  3889. transform: rotate(90deg);
  3890. &.active {
  3891. pointer-events: none;
  3892. transform: rotate(0deg);
  3893. }
  3894. }
  3895. .fa-times-circle {
  3896. top: 17px;
  3897. transform: rotate(0deg);
  3898. color: $action-button-color;
  3899. cursor: pointer;
  3900. &.active {
  3901. transform: rotate(90deg);
  3902. }
  3903. &:hover {
  3904. color: lighten($action-button-color, 7%);
  3905. }
  3906. }
  3907. }
  3908. .search-results__header {
  3909. color: $dark-text-color;
  3910. background: lighten($ui-base-color, 2%);
  3911. padding: 15px;
  3912. font-weight: 500;
  3913. font-size: 16px;
  3914. cursor: default;
  3915. .fa {
  3916. display: inline-block;
  3917. margin-right: 5px;
  3918. }
  3919. }
  3920. .search-results__section {
  3921. margin-bottom: 5px;
  3922. h5 {
  3923. background: darken($ui-base-color, 4%);
  3924. border-bottom: 1px solid lighten($ui-base-color, 8%);
  3925. cursor: default;
  3926. display: flex;
  3927. padding: 15px;
  3928. font-weight: 500;
  3929. font-size: 16px;
  3930. color: $dark-text-color;
  3931. .fa {
  3932. display: inline-block;
  3933. margin-right: 5px;
  3934. }
  3935. }
  3936. .account:last-child,
  3937. & > div:last-child .status {
  3938. border-bottom: 0;
  3939. }
  3940. }
  3941. .search-results__hashtag {
  3942. display: block;
  3943. padding: 10px;
  3944. color: $secondary-text-color;
  3945. text-decoration: none;
  3946. &:hover,
  3947. &:active,
  3948. &:focus {
  3949. color: lighten($secondary-text-color, 4%);
  3950. text-decoration: underline;
  3951. }
  3952. }
  3953. .search-results__info {
  3954. padding: 20px;
  3955. color: $darker-text-color;
  3956. text-align: center;
  3957. }
  3958. .modal-root {
  3959. position: relative;
  3960. z-index: 9999;
  3961. }
  3962. .modal-root__overlay {
  3963. position: fixed;
  3964. top: 0;
  3965. left: 0;
  3966. right: 0;
  3967. bottom: 0;
  3968. background: rgba($base-overlay-background, 0.7);
  3969. transition: background 0.5s;
  3970. }
  3971. .modal-root__container {
  3972. position: fixed;
  3973. top: 0;
  3974. left: 0;
  3975. width: 100%;
  3976. height: 100%;
  3977. display: flex;
  3978. flex-direction: column;
  3979. align-items: center;
  3980. justify-content: center;
  3981. align-content: space-around;
  3982. z-index: 9999;
  3983. pointer-events: none;
  3984. user-select: none;
  3985. }
  3986. .modal-root__modal {
  3987. pointer-events: auto;
  3988. display: flex;
  3989. z-index: 9999;
  3990. }
  3991. .video-modal__container {
  3992. max-width: 100vw;
  3993. max-height: 100vh;
  3994. }
  3995. .audio-modal__container {
  3996. width: 50vw;
  3997. }
  3998. .media-modal {
  3999. width: 100%;
  4000. height: 100%;
  4001. position: relative;
  4002. &__close,
  4003. &__zoom-button {
  4004. color: rgba($white, 0.7);
  4005. &:hover,
  4006. &:focus,
  4007. &:active {
  4008. color: $white;
  4009. background-color: rgba($white, 0.15);
  4010. }
  4011. &:focus {
  4012. background-color: rgba($white, 0.3);
  4013. }
  4014. }
  4015. }
  4016. .media-modal__closer {
  4017. position: absolute;
  4018. top: 0;
  4019. left: 0;
  4020. right: 0;
  4021. bottom: 0;
  4022. }
  4023. .media-modal__navigation {
  4024. position: absolute;
  4025. top: 0;
  4026. left: 0;
  4027. right: 0;
  4028. bottom: 0;
  4029. pointer-events: none;
  4030. transition: opacity 0.3s linear;
  4031. will-change: opacity;
  4032. * {
  4033. pointer-events: auto;
  4034. }
  4035. &.media-modal__navigation--hidden {
  4036. opacity: 0;
  4037. * {
  4038. pointer-events: none;
  4039. }
  4040. }
  4041. }
  4042. .media-modal__nav {
  4043. background: transparent;
  4044. box-sizing: border-box;
  4045. border: 0;
  4046. color: rgba($primary-text-color, 0.7);
  4047. cursor: pointer;
  4048. display: flex;
  4049. align-items: center;
  4050. font-size: 24px;
  4051. height: 20vmax;
  4052. margin: auto 0;
  4053. padding: 30px 15px;
  4054. position: absolute;
  4055. top: 0;
  4056. bottom: 0;
  4057. &:hover,
  4058. &:focus,
  4059. &:active {
  4060. color: $primary-text-color;
  4061. }
  4062. }
  4063. .media-modal__nav--left {
  4064. left: 0;
  4065. }
  4066. .media-modal__nav--right {
  4067. right: 0;
  4068. }
  4069. .media-modal__overlay {
  4070. max-width: 600px;
  4071. position: absolute;
  4072. left: 0;
  4073. right: 0;
  4074. bottom: 0;
  4075. margin: 0 auto;
  4076. .picture-in-picture__footer {
  4077. border-radius: 0;
  4078. background: transparent;
  4079. padding: 20px 0;
  4080. .icon-button {
  4081. color: $white;
  4082. &:hover,
  4083. &:focus,
  4084. &:active {
  4085. color: $white;
  4086. background-color: rgba($white, 0.15);
  4087. }
  4088. &:focus {
  4089. background-color: rgba($white, 0.3);
  4090. }
  4091. &.active {
  4092. color: $highlight-text-color;
  4093. &:hover,
  4094. &:focus,
  4095. &:active {
  4096. background: rgba($highlight-text-color, 0.15);
  4097. }
  4098. &:focus {
  4099. background: rgba($highlight-text-color, 0.3);
  4100. }
  4101. }
  4102. &.star-icon.active {
  4103. color: $gold-star;
  4104. &:hover,
  4105. &:focus,
  4106. &:active {
  4107. background: rgba($gold-star, 0.15);
  4108. }
  4109. &:focus {
  4110. background: rgba($gold-star, 0.3);
  4111. }
  4112. }
  4113. &.disabled {
  4114. color: $white;
  4115. background-color: transparent;
  4116. cursor: default;
  4117. opacity: 0.4;
  4118. }
  4119. }
  4120. }
  4121. }
  4122. .media-modal__pagination {
  4123. display: flex;
  4124. justify-content: center;
  4125. margin-bottom: 20px;
  4126. }
  4127. .media-modal__page-dot {
  4128. flex: 0 0 auto;
  4129. background-color: $white;
  4130. opacity: 0.4;
  4131. height: 6px;
  4132. width: 6px;
  4133. border-radius: 50%;
  4134. margin: 0 4px;
  4135. padding: 0;
  4136. border: 0;
  4137. font-size: 0;
  4138. transition: opacity 0.2s ease-in-out;
  4139. &.active {
  4140. opacity: 1;
  4141. }
  4142. }
  4143. .media-modal__close {
  4144. position: absolute;
  4145. right: 8px;
  4146. top: 8px;
  4147. z-index: 100;
  4148. }
  4149. .media-modal__zoom-button {
  4150. position: absolute;
  4151. right: 64px;
  4152. top: 8px;
  4153. z-index: 100;
  4154. pointer-events: auto;
  4155. transition: opacity 0.3s linear;
  4156. will-change: opacity;
  4157. }
  4158. .media-modal__zoom-button--hidden {
  4159. pointer-events: none;
  4160. opacity: 0;
  4161. }
  4162. .onboarding-modal,
  4163. .error-modal,
  4164. .embed-modal {
  4165. background: $ui-secondary-color;
  4166. color: $inverted-text-color;
  4167. border-radius: 8px;
  4168. overflow: hidden;
  4169. display: flex;
  4170. flex-direction: column;
  4171. }
  4172. .error-modal__body {
  4173. height: 80vh;
  4174. width: 80vw;
  4175. max-width: 520px;
  4176. max-height: 420px;
  4177. position: relative;
  4178. & > div {
  4179. position: absolute;
  4180. top: 0;
  4181. left: 0;
  4182. width: 100%;
  4183. height: 100%;
  4184. box-sizing: border-box;
  4185. padding: 25px;
  4186. flex-direction: column;
  4187. align-items: center;
  4188. justify-content: center;
  4189. display: flex;
  4190. opacity: 0;
  4191. user-select: text;
  4192. }
  4193. }
  4194. .error-modal__body {
  4195. display: flex;
  4196. flex-direction: column;
  4197. justify-content: center;
  4198. align-items: center;
  4199. text-align: center;
  4200. }
  4201. .onboarding-modal__paginator,
  4202. .error-modal__footer {
  4203. flex: 0 0 auto;
  4204. background: darken($ui-secondary-color, 8%);
  4205. display: flex;
  4206. padding: 25px;
  4207. & > div {
  4208. min-width: 33px;
  4209. }
  4210. .onboarding-modal__nav,
  4211. .error-modal__nav {
  4212. color: $lighter-text-color;
  4213. border: 0;
  4214. font-size: 14px;
  4215. font-weight: 500;
  4216. padding: 10px 25px;
  4217. line-height: inherit;
  4218. height: auto;
  4219. margin: -10px;
  4220. border-radius: 4px;
  4221. background-color: transparent;
  4222. &:hover,
  4223. &:focus,
  4224. &:active {
  4225. color: darken($lighter-text-color, 4%);
  4226. background-color: darken($ui-secondary-color, 16%);
  4227. }
  4228. &.onboarding-modal__done,
  4229. &.onboarding-modal__next {
  4230. color: $inverted-text-color;
  4231. &:hover,
  4232. &:focus,
  4233. &:active {
  4234. color: lighten($inverted-text-color, 4%);
  4235. }
  4236. }
  4237. }
  4238. }
  4239. .error-modal__footer {
  4240. justify-content: center;
  4241. }
  4242. .display-case {
  4243. text-align: center;
  4244. font-size: 15px;
  4245. margin-bottom: 15px;
  4246. &__label {
  4247. font-weight: 500;
  4248. color: $inverted-text-color;
  4249. margin-bottom: 5px;
  4250. text-transform: uppercase;
  4251. font-size: 12px;
  4252. }
  4253. &__case {
  4254. background: $ui-base-color;
  4255. color: $secondary-text-color;
  4256. font-weight: 500;
  4257. padding: 10px;
  4258. border-radius: 4px;
  4259. }
  4260. }
  4261. .onboard-sliders {
  4262. display: inline-block;
  4263. max-width: 30px;
  4264. max-height: auto;
  4265. margin-left: 10px;
  4266. }
  4267. .boost-modal,
  4268. .confirmation-modal,
  4269. .report-modal,
  4270. .actions-modal,
  4271. .mute-modal,
  4272. .block-modal,
  4273. .compare-history-modal {
  4274. background: lighten($ui-secondary-color, 8%);
  4275. color: $inverted-text-color;
  4276. border-radius: 8px;
  4277. overflow: hidden;
  4278. max-width: 90vw;
  4279. width: 480px;
  4280. position: relative;
  4281. flex-direction: column;
  4282. .status__display-name {
  4283. display: block;
  4284. max-width: 100%;
  4285. padding-right: 25px;
  4286. }
  4287. .status__avatar {
  4288. height: 28px;
  4289. left: 10px;
  4290. position: absolute;
  4291. top: 10px;
  4292. width: 48px;
  4293. }
  4294. .status__content__spoiler-link {
  4295. color: lighten($secondary-text-color, 8%);
  4296. }
  4297. }
  4298. .actions-modal {
  4299. .status {
  4300. background: $white;
  4301. border-bottom-color: $ui-secondary-color;
  4302. padding-top: 10px;
  4303. padding-bottom: 10px;
  4304. }
  4305. .dropdown-menu__separator {
  4306. border-bottom-color: $ui-secondary-color;
  4307. }
  4308. }
  4309. .boost-modal__container {
  4310. overflow-x: scroll;
  4311. padding: 10px;
  4312. .status {
  4313. user-select: text;
  4314. border-bottom: 0;
  4315. }
  4316. }
  4317. .boost-modal__action-bar,
  4318. .confirmation-modal__action-bar,
  4319. .mute-modal__action-bar,
  4320. .block-modal__action-bar {
  4321. display: flex;
  4322. justify-content: space-between;
  4323. background: $ui-secondary-color;
  4324. padding: 10px;
  4325. line-height: 36px;
  4326. & > div {
  4327. flex: 1 1 auto;
  4328. text-align: right;
  4329. color: $lighter-text-color;
  4330. padding-right: 10px;
  4331. }
  4332. .button {
  4333. flex: 0 0 auto;
  4334. }
  4335. }
  4336. .boost-modal__status-header {
  4337. font-size: 15px;
  4338. }
  4339. .boost-modal__status-time {
  4340. float: right;
  4341. font-size: 14px;
  4342. }
  4343. .mute-modal,
  4344. .block-modal {
  4345. line-height: 24px;
  4346. }
  4347. .mute-modal .react-toggle,
  4348. .block-modal .react-toggle {
  4349. vertical-align: middle;
  4350. }
  4351. .report-modal {
  4352. width: 90vw;
  4353. max-width: 700px;
  4354. }
  4355. .report-dialog-modal {
  4356. max-width: 90vw;
  4357. width: 480px;
  4358. height: 80vh;
  4359. background: lighten($ui-secondary-color, 8%);
  4360. color: $inverted-text-color;
  4361. border-radius: 8px;
  4362. overflow: hidden;
  4363. position: relative;
  4364. flex-direction: column;
  4365. display: flex;
  4366. &__container {
  4367. box-sizing: border-box;
  4368. border-top: 1px solid $ui-secondary-color;
  4369. padding: 20px;
  4370. flex-grow: 1;
  4371. display: flex;
  4372. flex-direction: column;
  4373. min-height: 0;
  4374. overflow: auto;
  4375. }
  4376. &__title {
  4377. font-size: 28px;
  4378. line-height: 33px;
  4379. font-weight: 700;
  4380. margin-bottom: 15px;
  4381. @media screen and (max-height: 800px) {
  4382. font-size: 22px;
  4383. }
  4384. }
  4385. &__subtitle {
  4386. font-size: 17px;
  4387. font-weight: 600;
  4388. line-height: 22px;
  4389. margin-bottom: 4px;
  4390. }
  4391. &__lead {
  4392. font-size: 17px;
  4393. line-height: 22px;
  4394. color: lighten($inverted-text-color, 16%);
  4395. margin-bottom: 30px;
  4396. }
  4397. &__actions {
  4398. margin-top: 30px;
  4399. display: flex;
  4400. .button {
  4401. flex: 1 1 auto;
  4402. }
  4403. }
  4404. &__statuses {
  4405. flex-grow: 1;
  4406. min-height: 0;
  4407. overflow: auto;
  4408. }
  4409. .status__content a {
  4410. color: $highlight-text-color;
  4411. }
  4412. .status__content,
  4413. .status__content p {
  4414. color: $inverted-text-color;
  4415. }
  4416. .status__content__spoiler-link {
  4417. color: $primary-text-color;
  4418. background: $ui-primary-color;
  4419. &:hover {
  4420. background: lighten($ui-primary-color, 8%);
  4421. }
  4422. }
  4423. .dialog-option .poll__input {
  4424. border-color: $inverted-text-color;
  4425. color: $ui-secondary-color;
  4426. display: inline-flex;
  4427. align-items: center;
  4428. justify-content: center;
  4429. svg {
  4430. width: 8px;
  4431. height: auto;
  4432. }
  4433. &:active,
  4434. &:focus,
  4435. &:hover {
  4436. border-color: lighten($inverted-text-color, 15%);
  4437. border-width: 4px;
  4438. }
  4439. &.active {
  4440. border-color: $inverted-text-color;
  4441. background: $inverted-text-color;
  4442. }
  4443. }
  4444. .poll__option.dialog-option {
  4445. padding: 15px 0;
  4446. flex: 0 0 auto;
  4447. border-bottom: 1px solid $ui-secondary-color;
  4448. &:last-child {
  4449. border-bottom: 0;
  4450. }
  4451. & > .poll__option__text {
  4452. font-size: 13px;
  4453. color: lighten($inverted-text-color, 16%);
  4454. strong {
  4455. font-size: 17px;
  4456. font-weight: 500;
  4457. line-height: 22px;
  4458. color: $inverted-text-color;
  4459. display: block;
  4460. margin-bottom: 4px;
  4461. &:last-child {
  4462. margin-bottom: 0;
  4463. }
  4464. }
  4465. }
  4466. }
  4467. .flex-spacer {
  4468. background: transparent;
  4469. }
  4470. &__textarea {
  4471. display: block;
  4472. box-sizing: border-box;
  4473. width: 100%;
  4474. color: $inverted-text-color;
  4475. background: $simple-background-color;
  4476. padding: 10px;
  4477. font-family: inherit;
  4478. font-size: 17px;
  4479. line-height: 22px;
  4480. resize: vertical;
  4481. border: 0;
  4482. outline: 0;
  4483. border-radius: 4px;
  4484. margin: 20px 0;
  4485. &::placeholder {
  4486. color: $dark-text-color;
  4487. }
  4488. &:focus {
  4489. outline: 0;
  4490. }
  4491. }
  4492. &__toggle {
  4493. display: flex;
  4494. align-items: center;
  4495. & > span {
  4496. font-size: 17px;
  4497. font-weight: 500;
  4498. margin-left: 10px;
  4499. }
  4500. }
  4501. .button.button-secondary {
  4502. border-color: $inverted-text-color;
  4503. color: $inverted-text-color;
  4504. flex: 0 0 auto;
  4505. &:hover,
  4506. &:focus,
  4507. &:active {
  4508. border-color: lighten($inverted-text-color, 15%);
  4509. color: lighten($inverted-text-color, 15%);
  4510. }
  4511. }
  4512. hr {
  4513. border: 0;
  4514. background: transparent;
  4515. margin: 15px 0;
  4516. }
  4517. }
  4518. .report-modal__container {
  4519. display: flex;
  4520. border-top: 1px solid $ui-secondary-color;
  4521. @media screen and (max-width: 480px) {
  4522. flex-wrap: wrap;
  4523. overflow-y: auto;
  4524. }
  4525. }
  4526. .report-modal__statuses,
  4527. .report-modal__comment {
  4528. box-sizing: border-box;
  4529. width: 50%;
  4530. @media screen and (max-width: 480px) {
  4531. width: 100%;
  4532. }
  4533. }
  4534. .report-modal__statuses,
  4535. .focal-point-modal__content {
  4536. flex: 1 1 auto;
  4537. min-height: 20vh;
  4538. max-height: 80vh;
  4539. overflow-y: auto;
  4540. overflow-x: hidden;
  4541. .status__content a {
  4542. color: $highlight-text-color;
  4543. }
  4544. .status__content,
  4545. .status__content p {
  4546. color: $inverted-text-color;
  4547. }
  4548. @media screen and (max-width: 480px) {
  4549. max-height: 10vh;
  4550. }
  4551. }
  4552. .focal-point-modal__content {
  4553. @media screen and (max-width: 480px) {
  4554. max-height: 40vh;
  4555. }
  4556. }
  4557. .setting-divider {
  4558. background: transparent;
  4559. border: 0;
  4560. margin: 0;
  4561. width: 100%;
  4562. height: 1px;
  4563. margin-bottom: 29px;
  4564. }
  4565. .report-modal__comment {
  4566. padding: 20px;
  4567. border-right: 1px solid $ui-secondary-color;
  4568. max-width: 320px;
  4569. p {
  4570. font-size: 14px;
  4571. line-height: 20px;
  4572. margin-bottom: 20px;
  4573. }
  4574. .setting-text {
  4575. display: block;
  4576. box-sizing: border-box;
  4577. width: 100%;
  4578. margin: 0;
  4579. color: $inverted-text-color;
  4580. background: $white;
  4581. padding: 10px;
  4582. font-family: inherit;
  4583. font-size: 14px;
  4584. resize: none;
  4585. outline: 0;
  4586. border-radius: 4px;
  4587. border: 1px solid $ui-secondary-color;
  4588. min-height: 100px;
  4589. max-height: 50vh;
  4590. margin-bottom: 10px;
  4591. &:focus {
  4592. border: 1px solid darken($ui-secondary-color, 8%);
  4593. }
  4594. &__wrapper {
  4595. background: $white;
  4596. border: 1px solid $ui-secondary-color;
  4597. margin-bottom: 10px;
  4598. border-radius: 4px;
  4599. .setting-text {
  4600. border: 0;
  4601. margin-bottom: 0;
  4602. border-radius: 0;
  4603. &:focus {
  4604. border: 0;
  4605. }
  4606. }
  4607. &__modifiers {
  4608. color: $inverted-text-color;
  4609. font-family: inherit;
  4610. font-size: 14px;
  4611. background: $white;
  4612. }
  4613. }
  4614. &__toolbar {
  4615. display: flex;
  4616. justify-content: space-between;
  4617. margin-bottom: 20px;
  4618. }
  4619. }
  4620. .setting-text-label {
  4621. display: block;
  4622. color: $inverted-text-color;
  4623. font-size: 14px;
  4624. font-weight: 500;
  4625. margin-bottom: 10px;
  4626. }
  4627. .setting-toggle {
  4628. margin-top: 20px;
  4629. margin-bottom: 24px;
  4630. &__label {
  4631. color: $inverted-text-color;
  4632. font-size: 14px;
  4633. }
  4634. }
  4635. @media screen and (max-width: 480px) {
  4636. padding: 10px;
  4637. max-width: 100%;
  4638. order: 2;
  4639. .setting-toggle {
  4640. margin-bottom: 4px;
  4641. }
  4642. }
  4643. }
  4644. .actions-modal {
  4645. max-height: 80vh;
  4646. max-width: 80vw;
  4647. .status {
  4648. overflow-y: auto;
  4649. max-height: 300px;
  4650. }
  4651. .actions-modal__item-label {
  4652. font-weight: 500;
  4653. }
  4654. ul {
  4655. overflow-y: auto;
  4656. flex-shrink: 0;
  4657. max-height: 80vh;
  4658. &.with-status {
  4659. max-height: calc(80vh - 75px);
  4660. }
  4661. li:empty {
  4662. margin: 0;
  4663. }
  4664. li:not(:empty) {
  4665. a {
  4666. color: $inverted-text-color;
  4667. display: flex;
  4668. padding: 12px 16px;
  4669. font-size: 15px;
  4670. align-items: center;
  4671. text-decoration: none;
  4672. &,
  4673. button {
  4674. transition: none;
  4675. }
  4676. &.active,
  4677. &:hover,
  4678. &:active,
  4679. &:focus {
  4680. &,
  4681. button {
  4682. background: $ui-highlight-color;
  4683. color: $primary-text-color;
  4684. }
  4685. }
  4686. button:first-child {
  4687. margin-right: 10px;
  4688. }
  4689. }
  4690. }
  4691. }
  4692. }
  4693. .confirmation-modal__action-bar,
  4694. .mute-modal__action-bar,
  4695. .block-modal__action-bar {
  4696. .confirmation-modal__secondary-button {
  4697. flex-shrink: 1;
  4698. }
  4699. }
  4700. .confirmation-modal__secondary-button,
  4701. .confirmation-modal__cancel-button,
  4702. .mute-modal__cancel-button,
  4703. .block-modal__cancel-button {
  4704. background-color: transparent;
  4705. color: $lighter-text-color;
  4706. font-size: 14px;
  4707. font-weight: 500;
  4708. &:hover,
  4709. &:focus,
  4710. &:active {
  4711. color: darken($lighter-text-color, 4%);
  4712. background-color: transparent;
  4713. }
  4714. }
  4715. .confirmation-modal__container,
  4716. .mute-modal__container,
  4717. .block-modal__container,
  4718. .report-modal__target {
  4719. padding: 30px;
  4720. font-size: 16px;
  4721. strong {
  4722. font-weight: 500;
  4723. @each $lang in $cjk-langs {
  4724. &:lang(#{$lang}) {
  4725. font-weight: 700;
  4726. }
  4727. }
  4728. }
  4729. select {
  4730. appearance: none;
  4731. box-sizing: border-box;
  4732. font-size: 14px;
  4733. color: $inverted-text-color;
  4734. display: inline-block;
  4735. width: auto;
  4736. outline: 0;
  4737. font-family: inherit;
  4738. background: $simple-background-color url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14.933 18.467' height='19.698' width='15.929'><path d='M3.467 14.967l-3.393-3.5H14.86l-3.392 3.5c-1.866 1.925-3.666 3.5-4 3.5-.335 0-2.135-1.575-4-3.5zm.266-11.234L7.467 0 11.2 3.733l3.733 3.734H0l3.733-3.734z' fill='#{hex-color(darken($simple-background-color, 14%))}'/></svg>") no-repeat right 8px center / auto 16px;
  4739. border: 1px solid darken($simple-background-color, 14%);
  4740. border-radius: 4px;
  4741. padding: 6px 10px;
  4742. padding-right: 30px;
  4743. }
  4744. }
  4745. .confirmation-modal__container,
  4746. .report-modal__target {
  4747. text-align: center;
  4748. }
  4749. .block-modal,
  4750. .mute-modal {
  4751. &__explanation {
  4752. margin-top: 20px;
  4753. }
  4754. .setting-toggle {
  4755. margin-top: 20px;
  4756. margin-bottom: 24px;
  4757. display: flex;
  4758. align-items: center;
  4759. &__label {
  4760. color: $inverted-text-color;
  4761. margin: 0;
  4762. margin-left: 8px;
  4763. }
  4764. }
  4765. }
  4766. .report-modal__target {
  4767. padding: 15px;
  4768. .report-modal__close {
  4769. position: absolute;
  4770. top: 10px;
  4771. right: 10px;
  4772. }
  4773. }
  4774. .compare-history-modal {
  4775. .report-modal__target {
  4776. border-bottom: 1px solid $ui-secondary-color;
  4777. }
  4778. &__container {
  4779. padding: 30px;
  4780. pointer-events: all;
  4781. }
  4782. .status__content {
  4783. color: $inverted-text-color;
  4784. font-size: 19px;
  4785. line-height: 24px;
  4786. .emojione {
  4787. width: 24px;
  4788. height: 24px;
  4789. margin: -1px 0 0;
  4790. }
  4791. a {
  4792. color: $highlight-text-color;
  4793. }
  4794. hr {
  4795. height: 0.25rem;
  4796. padding: 0;
  4797. background-color: $ui-secondary-color;
  4798. border: 0;
  4799. margin: 20px 0;
  4800. }
  4801. }
  4802. .media-gallery,
  4803. .audio-player,
  4804. .video-player {
  4805. margin-top: 15px;
  4806. }
  4807. }
  4808. .loading-bar {
  4809. background-color: $highlight-text-color;
  4810. height: 3px;
  4811. position: fixed;
  4812. top: 0;
  4813. left: 0;
  4814. z-index: 9999;
  4815. }
  4816. .media-gallery__gifv__label {
  4817. display: block;
  4818. position: absolute;
  4819. color: $primary-text-color;
  4820. background: rgba($base-overlay-background, 0.5);
  4821. bottom: 6px;
  4822. left: 6px;
  4823. padding: 2px 6px;
  4824. border-radius: 2px;
  4825. font-size: 11px;
  4826. font-weight: 600;
  4827. z-index: 1;
  4828. pointer-events: none;
  4829. opacity: 0.9;
  4830. transition: opacity 0.1s ease;
  4831. line-height: 18px;
  4832. }
  4833. .media-gallery__gifv {
  4834. &:hover {
  4835. .media-gallery__gifv__label {
  4836. opacity: 1;
  4837. }
  4838. }
  4839. }
  4840. .attachment-list {
  4841. display: flex;
  4842. font-size: 14px;
  4843. border: 1px solid lighten($ui-base-color, 8%);
  4844. border-radius: 4px;
  4845. margin-top: 14px;
  4846. overflow: hidden;
  4847. &__icon {
  4848. flex: 0 0 auto;
  4849. color: $dark-text-color;
  4850. padding: 8px 18px;
  4851. cursor: default;
  4852. border-right: 1px solid lighten($ui-base-color, 8%);
  4853. display: flex;
  4854. flex-direction: column;
  4855. align-items: center;
  4856. justify-content: center;
  4857. font-size: 26px;
  4858. .fa {
  4859. display: block;
  4860. }
  4861. }
  4862. &__list {
  4863. list-style: none;
  4864. padding: 4px 0;
  4865. padding-left: 8px;
  4866. display: flex;
  4867. flex-direction: column;
  4868. justify-content: center;
  4869. li {
  4870. display: block;
  4871. padding: 4px 0;
  4872. }
  4873. a {
  4874. text-decoration: none;
  4875. color: $dark-text-color;
  4876. font-weight: 500;
  4877. &:hover {
  4878. text-decoration: underline;
  4879. }
  4880. }
  4881. }
  4882. &.compact {
  4883. border: 0;
  4884. margin-top: 4px;
  4885. .attachment-list__list {
  4886. padding: 0;
  4887. display: block;
  4888. }
  4889. .fa {
  4890. color: $dark-text-color;
  4891. }
  4892. }
  4893. }
  4894. /* Media Gallery */
  4895. .media-gallery {
  4896. box-sizing: border-box;
  4897. margin-top: 8px;
  4898. overflow: hidden;
  4899. border-radius: 4px;
  4900. position: relative;
  4901. width: 100%;
  4902. min-height: 64px;
  4903. }
  4904. .media-gallery__item {
  4905. border: 0;
  4906. box-sizing: border-box;
  4907. display: block;
  4908. float: left;
  4909. position: relative;
  4910. border-radius: 4px;
  4911. overflow: hidden;
  4912. &.standalone {
  4913. .media-gallery__item-gifv-thumbnail {
  4914. transform: none;
  4915. top: 0;
  4916. }
  4917. }
  4918. }
  4919. .media-gallery__item-thumbnail {
  4920. cursor: zoom-in;
  4921. display: block;
  4922. text-decoration: none;
  4923. color: $secondary-text-color;
  4924. position: relative;
  4925. z-index: 1;
  4926. &,
  4927. img {
  4928. height: 100%;
  4929. width: 100%;
  4930. }
  4931. img {
  4932. object-fit: cover;
  4933. }
  4934. }
  4935. .media-gallery__preview {
  4936. width: 100%;
  4937. height: 100%;
  4938. object-fit: cover;
  4939. position: absolute;
  4940. top: 0;
  4941. left: 0;
  4942. z-index: 0;
  4943. background: $base-overlay-background;
  4944. &--hidden {
  4945. display: none;
  4946. }
  4947. }
  4948. .media-gallery__gifv {
  4949. height: 100%;
  4950. overflow: hidden;
  4951. position: relative;
  4952. width: 100%;
  4953. }
  4954. .media-gallery__item-gifv-thumbnail {
  4955. cursor: zoom-in;
  4956. height: 100%;
  4957. object-fit: cover;
  4958. position: relative;
  4959. top: 50%;
  4960. transform: translateY(-50%);
  4961. width: 100%;
  4962. z-index: 1;
  4963. }
  4964. .media-gallery__item-thumbnail-label {
  4965. clip: rect(1px 1px 1px 1px); /* IE6, IE7 */
  4966. clip: rect(1px, 1px, 1px, 1px);
  4967. overflow: hidden;
  4968. position: absolute;
  4969. }
  4970. /* End Media Gallery */
  4971. .detailed,
  4972. .fullscreen {
  4973. .video-player__volume__current,
  4974. .video-player__volume::before {
  4975. bottom: 27px;
  4976. }
  4977. .video-player__volume__handle {
  4978. bottom: 23px;
  4979. }
  4980. }
  4981. .audio-player {
  4982. overflow: hidden;
  4983. box-sizing: border-box;
  4984. position: relative;
  4985. background: darken($ui-base-color, 8%);
  4986. border-radius: 4px;
  4987. padding-bottom: 44px;
  4988. direction: ltr;
  4989. &.editable {
  4990. border-radius: 0;
  4991. height: 100%;
  4992. }
  4993. .video-player__volume::before,
  4994. .video-player__seek::before {
  4995. background: currentColor;
  4996. opacity: 0.15;
  4997. }
  4998. .video-player__seek__buffer {
  4999. background: currentColor;
  5000. opacity: 0.2;
  5001. }
  5002. .video-player__buttons button,
  5003. .video-player__buttons a {
  5004. color: currentColor;
  5005. opacity: 0.75;
  5006. &:active,
  5007. &:hover,
  5008. &:focus {
  5009. color: currentColor;
  5010. opacity: 1;
  5011. }
  5012. }
  5013. .video-player__time-sep,
  5014. .video-player__time-total,
  5015. .video-player__time-current {
  5016. color: currentColor;
  5017. }
  5018. .video-player__seek::before,
  5019. .video-player__seek__buffer,
  5020. .video-player__seek__progress {
  5021. top: 0;
  5022. }
  5023. .video-player__seek__handle {
  5024. top: -4px;
  5025. }
  5026. .video-player__controls {
  5027. padding-top: 10px;
  5028. background: transparent;
  5029. }
  5030. }
  5031. .video-player {
  5032. overflow: hidden;
  5033. position: relative;
  5034. background: $base-shadow-color;
  5035. max-width: 100%;
  5036. border-radius: 4px;
  5037. box-sizing: border-box;
  5038. direction: ltr;
  5039. color: $white;
  5040. &.editable {
  5041. border-radius: 0;
  5042. height: 100% !important;
  5043. }
  5044. &:focus {
  5045. outline: 0;
  5046. }
  5047. video {
  5048. display: block;
  5049. max-width: 100vw;
  5050. max-height: 80vh;
  5051. z-index: 1;
  5052. }
  5053. &.fullscreen {
  5054. width: 100% !important;
  5055. height: 100% !important;
  5056. margin: 0;
  5057. video {
  5058. max-width: 100% !important;
  5059. max-height: 100% !important;
  5060. width: 100% !important;
  5061. height: 100% !important;
  5062. outline: 0;
  5063. }
  5064. }
  5065. &.inline {
  5066. video {
  5067. object-fit: contain;
  5068. position: relative;
  5069. top: 50%;
  5070. transform: translateY(-50%);
  5071. }
  5072. }
  5073. &__controls {
  5074. position: absolute;
  5075. z-index: 2;
  5076. bottom: 0;
  5077. left: 0;
  5078. right: 0;
  5079. box-sizing: border-box;
  5080. background: linear-gradient(0deg, rgba($base-shadow-color, 0.85) 0, rgba($base-shadow-color, 0.45) 60%, transparent);
  5081. padding: 0 15px;
  5082. opacity: 0;
  5083. transition: opacity 0.1s ease;
  5084. &.active {
  5085. opacity: 1;
  5086. }
  5087. }
  5088. &.inactive {
  5089. video,
  5090. .video-player__controls {
  5091. visibility: hidden;
  5092. }
  5093. }
  5094. &__spoiler {
  5095. display: none;
  5096. position: absolute;
  5097. top: 0;
  5098. left: 0;
  5099. width: 100%;
  5100. height: 100%;
  5101. z-index: 4;
  5102. border: 0;
  5103. background: $base-overlay-background;
  5104. color: $darker-text-color;
  5105. transition: none;
  5106. pointer-events: none;
  5107. &.active {
  5108. display: block;
  5109. pointer-events: auto;
  5110. &:hover,
  5111. &:active,
  5112. &:focus {
  5113. color: lighten($darker-text-color, 7%);
  5114. }
  5115. }
  5116. &__title {
  5117. display: block;
  5118. font-size: 14px;
  5119. }
  5120. &__subtitle {
  5121. display: block;
  5122. font-size: 11px;
  5123. font-weight: 500;
  5124. }
  5125. }
  5126. &__buttons-bar {
  5127. display: flex;
  5128. justify-content: space-between;
  5129. padding-bottom: 8px;
  5130. margin: 0 -5px;
  5131. .video-player__download__icon {
  5132. color: inherit;
  5133. }
  5134. }
  5135. &__buttons {
  5136. display: flex;
  5137. flex: 0 1 auto;
  5138. min-width: 30px;
  5139. align-items: center;
  5140. font-size: 16px;
  5141. white-space: nowrap;
  5142. overflow: hidden;
  5143. text-overflow: ellipsis;
  5144. .player-button {
  5145. display: inline-block;
  5146. outline: 0;
  5147. flex: 0 0 auto;
  5148. background: transparent;
  5149. padding: 5px;
  5150. font-size: 16px;
  5151. border: 0;
  5152. color: rgba($white, 0.75);
  5153. &:active,
  5154. &:hover,
  5155. &:focus {
  5156. color: $white;
  5157. }
  5158. }
  5159. }
  5160. &__time {
  5161. display: inline;
  5162. flex: 0 1 auto;
  5163. overflow: hidden;
  5164. text-overflow: ellipsis;
  5165. margin: 0 5px;
  5166. }
  5167. &__time-sep,
  5168. &__time-total,
  5169. &__time-current {
  5170. font-size: 14px;
  5171. font-weight: 500;
  5172. }
  5173. &__time-current {
  5174. color: $white;
  5175. }
  5176. &__time-sep {
  5177. display: inline-block;
  5178. margin: 0 6px;
  5179. }
  5180. &__time-sep,
  5181. &__time-total {
  5182. color: $white;
  5183. }
  5184. &__volume {
  5185. flex: 0 0 auto;
  5186. display: inline-flex;
  5187. cursor: pointer;
  5188. height: 24px;
  5189. position: relative;
  5190. overflow: hidden;
  5191. .no-reduce-motion & {
  5192. transition: all 100ms linear;
  5193. }
  5194. &.active {
  5195. overflow: visible;
  5196. width: 50px;
  5197. margin-right: 16px;
  5198. }
  5199. &::before {
  5200. content: "";
  5201. width: 50px;
  5202. background: rgba($white, 0.35);
  5203. border-radius: 4px;
  5204. display: block;
  5205. position: absolute;
  5206. height: 4px;
  5207. left: 0;
  5208. top: 50%;
  5209. transform: translate(0, -50%);
  5210. }
  5211. &__current {
  5212. display: block;
  5213. position: absolute;
  5214. height: 4px;
  5215. border-radius: 4px;
  5216. left: 0;
  5217. top: 50%;
  5218. transform: translate(0, -50%);
  5219. background: lighten($ui-highlight-color, 8%);
  5220. }
  5221. &__handle {
  5222. position: absolute;
  5223. z-index: 3;
  5224. border-radius: 50%;
  5225. width: 12px;
  5226. height: 12px;
  5227. top: 50%;
  5228. left: 0;
  5229. margin-left: -6px;
  5230. transform: translate(0, -50%);
  5231. background: lighten($ui-highlight-color, 8%);
  5232. box-shadow: 1px 2px 6px rgba($base-shadow-color, 0.2);
  5233. opacity: 0;
  5234. .no-reduce-motion & {
  5235. transition: opacity 100ms linear;
  5236. }
  5237. }
  5238. &.active &__handle {
  5239. opacity: 1;
  5240. }
  5241. }
  5242. &__link {
  5243. padding: 2px 10px;
  5244. a {
  5245. text-decoration: none;
  5246. font-size: 14px;
  5247. font-weight: 500;
  5248. color: $white;
  5249. &:hover,
  5250. &:active,
  5251. &:focus {
  5252. text-decoration: underline;
  5253. }
  5254. }
  5255. }
  5256. &__seek {
  5257. cursor: pointer;
  5258. height: 24px;
  5259. position: relative;
  5260. &::before {
  5261. content: "";
  5262. width: 100%;
  5263. background: rgba($white, 0.35);
  5264. border-radius: 4px;
  5265. display: block;
  5266. position: absolute;
  5267. height: 4px;
  5268. top: 14px;
  5269. }
  5270. &__progress,
  5271. &__buffer {
  5272. display: block;
  5273. position: absolute;
  5274. height: 4px;
  5275. border-radius: 4px;
  5276. top: 14px;
  5277. background: lighten($ui-highlight-color, 8%);
  5278. }
  5279. &__buffer {
  5280. background: rgba($white, 0.2);
  5281. }
  5282. &__handle {
  5283. position: absolute;
  5284. z-index: 3;
  5285. opacity: 0;
  5286. border-radius: 50%;
  5287. width: 12px;
  5288. height: 12px;
  5289. top: 10px;
  5290. margin-left: -6px;
  5291. background: lighten($ui-highlight-color, 8%);
  5292. box-shadow: 1px 2px 6px rgba($base-shadow-color, 0.2);
  5293. .no-reduce-motion & {
  5294. transition: opacity 0.1s ease;
  5295. }
  5296. &.active {
  5297. opacity: 1;
  5298. }
  5299. }
  5300. &:hover {
  5301. .video-player__seek__handle {
  5302. opacity: 1;
  5303. }
  5304. }
  5305. }
  5306. &.detailed,
  5307. &.fullscreen {
  5308. .video-player__buttons {
  5309. .player-button {
  5310. padding-top: 10px;
  5311. padding-bottom: 10px;
  5312. }
  5313. }
  5314. }
  5315. }
  5316. .gifv {
  5317. video {
  5318. max-width: 100vw;
  5319. max-height: 80vh;
  5320. }
  5321. }
  5322. .scrollable .account-card {
  5323. margin: 10px;
  5324. background: lighten($ui-base-color, 8%);
  5325. }
  5326. .scrollable .account-card__title__avatar {
  5327. img,
  5328. .account__avatar {
  5329. border-color: lighten($ui-base-color, 8%);
  5330. }
  5331. }
  5332. .scrollable .account-card__bio::after {
  5333. background: linear-gradient(to left, lighten($ui-base-color, 8%), transparent);
  5334. }
  5335. .account-gallery__container {
  5336. display: flex;
  5337. flex-wrap: wrap;
  5338. padding: 4px 2px;
  5339. }
  5340. .account-gallery__item {
  5341. border: 0;
  5342. box-sizing: border-box;
  5343. display: block;
  5344. position: relative;
  5345. border-radius: 4px;
  5346. overflow: hidden;
  5347. margin: 2px;
  5348. &__icons {
  5349. position: absolute;
  5350. top: 50%;
  5351. left: 50%;
  5352. transform: translate(-50%, -50%);
  5353. font-size: 24px;
  5354. }
  5355. }
  5356. .notification__filter-bar,
  5357. .account__section-headline {
  5358. background: darken($ui-base-color, 4%);
  5359. border-bottom: 1px solid lighten($ui-base-color, 8%);
  5360. cursor: default;
  5361. display: flex;
  5362. flex-shrink: 0;
  5363. button {
  5364. background: darken($ui-base-color, 4%);
  5365. border: 0;
  5366. margin: 0;
  5367. }
  5368. button,
  5369. a {
  5370. display: block;
  5371. flex: 1 1 auto;
  5372. color: $darker-text-color;
  5373. padding: 15px 0;
  5374. font-size: 14px;
  5375. font-weight: 500;
  5376. text-align: center;
  5377. text-decoration: none;
  5378. position: relative;
  5379. width: 100%;
  5380. white-space: nowrap;
  5381. &.active {
  5382. color: $secondary-text-color;
  5383. &::before,
  5384. &::after {
  5385. display: block;
  5386. content: "";
  5387. position: absolute;
  5388. bottom: 0;
  5389. left: 50%;
  5390. width: 0;
  5391. height: 0;
  5392. transform: translateX(-50%);
  5393. border-style: solid;
  5394. border-width: 0 10px 10px;
  5395. border-color: transparent transparent lighten($ui-base-color, 8%);
  5396. }
  5397. &::after {
  5398. bottom: -1px;
  5399. border-color: transparent transparent $ui-base-color;
  5400. }
  5401. }
  5402. }
  5403. &.directory__section-headline {
  5404. background: darken($ui-base-color, 2%);
  5405. border-bottom-color: transparent;
  5406. a,
  5407. button {
  5408. &.active {
  5409. &::before {
  5410. display: none;
  5411. }
  5412. &::after {
  5413. border-color: transparent transparent darken($ui-base-color, 7%);
  5414. }
  5415. }
  5416. }
  5417. }
  5418. }
  5419. .filter-form {
  5420. background: $ui-base-color;
  5421. &__column {
  5422. padding: 10px 15px;
  5423. padding-bottom: 0;
  5424. }
  5425. .radio-button {
  5426. display: block;
  5427. }
  5428. }
  5429. .column-settings__row .radio-button {
  5430. display: block;
  5431. }
  5432. .radio-button {
  5433. font-size: 14px;
  5434. position: relative;
  5435. display: inline-block;
  5436. padding: 6px 0;
  5437. line-height: 18px;
  5438. white-space: nowrap;
  5439. overflow: hidden;
  5440. text-overflow: ellipsis;
  5441. cursor: pointer;
  5442. input[type="radio"],
  5443. input[type="checkbox"] {
  5444. display: none;
  5445. }
  5446. &__input {
  5447. display: inline-block;
  5448. position: relative;
  5449. border: 1px solid $ui-primary-color;
  5450. box-sizing: border-box;
  5451. width: 18px;
  5452. height: 18px;
  5453. flex: 0 0 auto;
  5454. margin-right: 10px;
  5455. top: -1px;
  5456. border-radius: 50%;
  5457. vertical-align: middle;
  5458. &.checked {
  5459. border-color: lighten($ui-highlight-color, 4%);
  5460. background: lighten($ui-highlight-color, 4%);
  5461. }
  5462. }
  5463. }
  5464. ::-webkit-scrollbar-thumb {
  5465. border-radius: 0;
  5466. }
  5467. .search-popout {
  5468. @include search-popout;
  5469. }
  5470. noscript {
  5471. text-align: center;
  5472. img {
  5473. width: 200px;
  5474. opacity: 0.5;
  5475. animation: flicker 4s infinite;
  5476. }
  5477. div {
  5478. font-size: 14px;
  5479. margin: 30px auto;
  5480. color: $secondary-text-color;
  5481. max-width: 400px;
  5482. a {
  5483. color: $highlight-text-color;
  5484. text-decoration: underline;
  5485. &:hover {
  5486. text-decoration: none;
  5487. }
  5488. }
  5489. }
  5490. }
  5491. @keyframes flicker {
  5492. 0% { opacity: 1; }
  5493. 30% { opacity: 0.75; }
  5494. 100% { opacity: 1; }
  5495. }
  5496. @media screen and (max-width: 630px) and (max-height: 400px) {
  5497. $duration: 400ms;
  5498. $delay: 100ms;
  5499. .tabs-bar,
  5500. .search {
  5501. will-change: margin-top;
  5502. transition: margin-top $duration $delay;
  5503. }
  5504. .navigation-bar {
  5505. will-change: padding-bottom;
  5506. transition: padding-bottom $duration $delay;
  5507. }
  5508. .navigation-bar {
  5509. & > a:first-child {
  5510. will-change: margin-top, margin-left, margin-right, width;
  5511. transition: margin-top $duration $delay, margin-left $duration ($duration + $delay), margin-right $duration ($duration + $delay);
  5512. }
  5513. & > .navigation-bar__profile-edit {
  5514. will-change: margin-top;
  5515. transition: margin-top $duration $delay;
  5516. }
  5517. .navigation-bar__actions {
  5518. & > .icon-button.close {
  5519. will-change: opacity transform;
  5520. transition:
  5521. opacity $duration * 0.5 $delay,
  5522. transform $duration $delay;
  5523. }
  5524. & > .compose__action-bar .icon-button {
  5525. will-change: opacity transform;
  5526. transition:
  5527. opacity $duration * 0.5 $delay + $duration * 0.5,
  5528. transform $duration $delay;
  5529. }
  5530. }
  5531. }
  5532. .is-composing {
  5533. .tabs-bar,
  5534. .search {
  5535. margin-top: -50px;
  5536. }
  5537. .navigation-bar {
  5538. padding-bottom: 0;
  5539. & > a:first-child {
  5540. margin: -100px 10px 0 -50px;
  5541. }
  5542. .navigation-bar__profile {
  5543. padding-top: 2px;
  5544. }
  5545. .navigation-bar__profile-edit {
  5546. position: absolute;
  5547. margin-top: -60px;
  5548. }
  5549. .navigation-bar__actions {
  5550. .icon-button.close {
  5551. pointer-events: auto;
  5552. opacity: 1;
  5553. transform: scale(1, 1) translate(0, 0);
  5554. bottom: 5px;
  5555. }
  5556. .compose__action-bar .icon-button {
  5557. pointer-events: none;
  5558. opacity: 0;
  5559. transform: scale(0, 1) translate(100%, 0);
  5560. }
  5561. }
  5562. }
  5563. }
  5564. }
  5565. .embed-modal {
  5566. width: auto;
  5567. max-width: 80vw;
  5568. max-height: 80vh;
  5569. h4 {
  5570. padding: 30px;
  5571. font-weight: 500;
  5572. font-size: 16px;
  5573. text-align: center;
  5574. }
  5575. .embed-modal__container {
  5576. padding: 10px;
  5577. .hint {
  5578. margin-bottom: 15px;
  5579. }
  5580. .embed-modal__html {
  5581. outline: 0;
  5582. box-sizing: border-box;
  5583. display: block;
  5584. width: 100%;
  5585. border: 0;
  5586. padding: 10px;
  5587. font-family: $font-monospace, monospace;
  5588. background: $ui-base-color;
  5589. color: $primary-text-color;
  5590. font-size: 14px;
  5591. margin: 0;
  5592. margin-bottom: 15px;
  5593. border-radius: 4px;
  5594. &::-moz-focus-inner {
  5595. border: 0;
  5596. }
  5597. &::-moz-focus-inner,
  5598. &:focus,
  5599. &:active {
  5600. outline: 0 !important;
  5601. }
  5602. &:focus {
  5603. background: lighten($ui-base-color, 4%);
  5604. }
  5605. @media screen and (max-width: 600px) {
  5606. font-size: 16px;
  5607. }
  5608. }
  5609. .embed-modal__iframe {
  5610. width: 400px;
  5611. max-width: 100%;
  5612. overflow: hidden;
  5613. border: 0;
  5614. border-radius: 4px;
  5615. }
  5616. }
  5617. }
  5618. .account__moved-note {
  5619. padding: 14px 10px;
  5620. padding-bottom: 16px;
  5621. background: lighten($ui-base-color, 4%);
  5622. border-top: 1px solid lighten($ui-base-color, 8%);
  5623. border-bottom: 1px solid lighten($ui-base-color, 8%);
  5624. &__message {
  5625. position: relative;
  5626. margin-left: 58px;
  5627. color: $dark-text-color;
  5628. padding: 8px 0;
  5629. padding-top: 0;
  5630. padding-bottom: 4px;
  5631. font-size: 14px;
  5632. > span {
  5633. display: block;
  5634. overflow: hidden;
  5635. text-overflow: ellipsis;
  5636. }
  5637. }
  5638. &__icon-wrapper {
  5639. left: -26px;
  5640. position: absolute;
  5641. }
  5642. .detailed-status__display-avatar {
  5643. position: relative;
  5644. }
  5645. .detailed-status__display-name {
  5646. margin-bottom: 0;
  5647. }
  5648. }
  5649. .column-inline-form {
  5650. padding: 15px;
  5651. padding-right: 0;
  5652. display: flex;
  5653. justify-content: flex-start;
  5654. align-items: center;
  5655. background: lighten($ui-base-color, 4%);
  5656. label {
  5657. flex: 1 1 auto;
  5658. input {
  5659. width: 100%;
  5660. &:focus {
  5661. outline: 0;
  5662. }
  5663. }
  5664. }
  5665. .icon-button {
  5666. flex: 0 0 auto;
  5667. margin: 0 10px;
  5668. }
  5669. }
  5670. .drawer__backdrop {
  5671. cursor: pointer;
  5672. position: absolute;
  5673. top: 0;
  5674. left: 0;
  5675. width: 100%;
  5676. height: 100%;
  5677. background: rgba($base-overlay-background, 0.5);
  5678. }
  5679. .list-editor {
  5680. background: $ui-base-color;
  5681. flex-direction: column;
  5682. border-radius: 8px;
  5683. box-shadow: 2px 4px 15px rgba($base-shadow-color, 0.4);
  5684. width: 380px;
  5685. overflow: hidden;
  5686. @media screen and (max-width: 420px) {
  5687. width: 90%;
  5688. }
  5689. h4 {
  5690. padding: 15px 0;
  5691. background: lighten($ui-base-color, 13%);
  5692. font-weight: 500;
  5693. font-size: 16px;
  5694. text-align: center;
  5695. border-radius: 8px 8px 0 0;
  5696. }
  5697. .drawer__pager {
  5698. height: 50vh;
  5699. }
  5700. .drawer__inner {
  5701. border-radius: 0 0 8px 8px;
  5702. &.backdrop {
  5703. width: calc(100% - 60px);
  5704. box-shadow: 2px 4px 15px rgba($base-shadow-color, 0.4);
  5705. border-radius: 0 0 0 8px;
  5706. }
  5707. }
  5708. &__accounts {
  5709. overflow-y: auto;
  5710. }
  5711. .account__display-name {
  5712. &:hover strong {
  5713. text-decoration: none;
  5714. }
  5715. }
  5716. .account__avatar {
  5717. cursor: default;
  5718. }
  5719. .search {
  5720. margin-bottom: 0;
  5721. }
  5722. }
  5723. .list-adder {
  5724. background: $ui-base-color;
  5725. flex-direction: column;
  5726. border-radius: 8px;
  5727. box-shadow: 2px 4px 15px rgba($base-shadow-color, 0.4);
  5728. width: 380px;
  5729. overflow: hidden;
  5730. @media screen and (max-width: 420px) {
  5731. width: 90%;
  5732. }
  5733. &__account {
  5734. background: lighten($ui-base-color, 13%);
  5735. }
  5736. &__lists {
  5737. background: lighten($ui-base-color, 13%);
  5738. height: 50vh;
  5739. border-radius: 0 0 8px 8px;
  5740. overflow-y: auto;
  5741. }
  5742. .list {
  5743. padding: 10px;
  5744. border-bottom: 1px solid lighten($ui-base-color, 8%);
  5745. }
  5746. .list__wrapper {
  5747. display: flex;
  5748. }
  5749. .list__display-name {
  5750. flex: 1 1 auto;
  5751. overflow: hidden;
  5752. text-decoration: none;
  5753. font-size: 16px;
  5754. padding: 10px;
  5755. }
  5756. }
  5757. .focal-point {
  5758. position: relative;
  5759. cursor: move;
  5760. overflow: hidden;
  5761. height: 100%;
  5762. display: flex;
  5763. justify-content: center;
  5764. align-items: center;
  5765. background: $base-shadow-color;
  5766. img,
  5767. video,
  5768. canvas {
  5769. display: block;
  5770. max-height: 80vh;
  5771. width: 100%;
  5772. height: auto;
  5773. margin: 0;
  5774. object-fit: contain;
  5775. background: $base-shadow-color;
  5776. }
  5777. &__reticle {
  5778. position: absolute;
  5779. width: 100px;
  5780. height: 100px;
  5781. transform: translate(-50%, -50%);
  5782. background: url('../images/reticle.png') no-repeat 0 0;
  5783. border-radius: 50%;
  5784. box-shadow: 0 0 0 9999em rgba($base-shadow-color, 0.35);
  5785. }
  5786. &__overlay {
  5787. position: absolute;
  5788. width: 100%;
  5789. height: 100%;
  5790. top: 0;
  5791. left: 0;
  5792. }
  5793. &__preview {
  5794. position: absolute;
  5795. bottom: 10px;
  5796. right: 10px;
  5797. z-index: 2;
  5798. cursor: move;
  5799. transition: opacity 0.1s ease;
  5800. &:hover {
  5801. opacity: 0.5;
  5802. }
  5803. strong {
  5804. color: $primary-text-color;
  5805. font-size: 14px;
  5806. font-weight: 500;
  5807. display: block;
  5808. margin-bottom: 5px;
  5809. }
  5810. div {
  5811. border-radius: 4px;
  5812. box-shadow: 0 0 14px rgba($base-shadow-color, 0.2);
  5813. }
  5814. }
  5815. @media screen and (max-width: 480px) {
  5816. img,
  5817. video {
  5818. max-height: 100%;
  5819. }
  5820. &__preview {
  5821. display: none;
  5822. }
  5823. }
  5824. }
  5825. .account__header__content {
  5826. color: $darker-text-color;
  5827. font-size: 14px;
  5828. font-weight: 400;
  5829. overflow: hidden;
  5830. word-break: normal;
  5831. word-wrap: break-word;
  5832. p {
  5833. margin-bottom: 20px;
  5834. &:last-child {
  5835. margin-bottom: 0;
  5836. }
  5837. }
  5838. a {
  5839. color: inherit;
  5840. text-decoration: underline;
  5841. &:hover {
  5842. text-decoration: none;
  5843. }
  5844. }
  5845. }
  5846. .account__header {
  5847. overflow: hidden;
  5848. &.inactive {
  5849. opacity: 0.5;
  5850. .account__header__image,
  5851. .account__avatar {
  5852. filter: grayscale(100%);
  5853. }
  5854. }
  5855. &__info {
  5856. position: absolute;
  5857. top: 10px;
  5858. left: 10px;
  5859. }
  5860. &__image {
  5861. overflow: hidden;
  5862. height: 145px;
  5863. position: relative;
  5864. background: darken($ui-base-color, 4%);
  5865. img {
  5866. object-fit: cover;
  5867. display: block;
  5868. width: 100%;
  5869. height: 100%;
  5870. margin: 0;
  5871. }
  5872. }
  5873. &__bar {
  5874. position: relative;
  5875. background: lighten($ui-base-color, 4%);
  5876. padding: 5px;
  5877. border-bottom: 1px solid lighten($ui-base-color, 12%);
  5878. .avatar {
  5879. display: block;
  5880. flex: 0 0 auto;
  5881. width: 94px;
  5882. margin-left: -2px;
  5883. .account__avatar {
  5884. background: darken($ui-base-color, 8%);
  5885. border: 2px solid lighten($ui-base-color, 4%);
  5886. }
  5887. }
  5888. }
  5889. &__tabs {
  5890. display: flex;
  5891. align-items: flex-start;
  5892. padding: 7px 10px;
  5893. margin-top: -55px;
  5894. &__buttons {
  5895. display: flex;
  5896. align-items: center;
  5897. padding-top: 55px;
  5898. overflow: hidden;
  5899. .icon-button {
  5900. border: 1px solid lighten($ui-base-color, 12%);
  5901. border-radius: 4px;
  5902. box-sizing: content-box;
  5903. padding: 2px;
  5904. }
  5905. & > .icon-button {
  5906. margin-right: 8px;
  5907. }
  5908. .button {
  5909. margin: 0 8px;
  5910. }
  5911. }
  5912. &__name {
  5913. padding: 5px 10px;
  5914. .account-role {
  5915. vertical-align: top;
  5916. }
  5917. .emojione {
  5918. width: 22px;
  5919. height: 22px;
  5920. }
  5921. h1 {
  5922. font-size: 16px;
  5923. line-height: 24px;
  5924. color: $primary-text-color;
  5925. font-weight: 500;
  5926. overflow: hidden;
  5927. white-space: nowrap;
  5928. text-overflow: ellipsis;
  5929. small {
  5930. display: block;
  5931. font-size: 14px;
  5932. color: $darker-text-color;
  5933. font-weight: 400;
  5934. overflow: hidden;
  5935. text-overflow: ellipsis;
  5936. }
  5937. }
  5938. }
  5939. .spacer {
  5940. flex: 1 1 auto;
  5941. }
  5942. }
  5943. &__bio {
  5944. overflow: hidden;
  5945. margin: 0 -5px;
  5946. .account__header__content {
  5947. padding: 20px 15px;
  5948. padding-bottom: 5px;
  5949. color: $primary-text-color;
  5950. .columns-area--mobile & {
  5951. padding-left: 20px;
  5952. padding-right: 20px;
  5953. }
  5954. }
  5955. .account__header__joined {
  5956. font-size: 14px;
  5957. padding: 5px 15px;
  5958. color: $darker-text-color;
  5959. .columns-area--mobile & {
  5960. padding-left: 20px;
  5961. padding-right: 20px;
  5962. }
  5963. }
  5964. .account__header__fields {
  5965. margin: 0;
  5966. border-top: 1px solid lighten($ui-base-color, 12%);
  5967. a {
  5968. color: lighten($ui-highlight-color, 8%);
  5969. }
  5970. dl:first-child .verified {
  5971. border-radius: 0 4px 0 0;
  5972. }
  5973. .verified a {
  5974. color: $valid-value-color;
  5975. }
  5976. }
  5977. }
  5978. &__extra {
  5979. margin-top: 4px;
  5980. &__links {
  5981. font-size: 14px;
  5982. color: $darker-text-color;
  5983. padding: 10px 0;
  5984. a {
  5985. display: inline-block;
  5986. color: $darker-text-color;
  5987. text-decoration: none;
  5988. padding: 5px 10px;
  5989. font-weight: 500;
  5990. strong {
  5991. font-weight: 700;
  5992. color: $primary-text-color;
  5993. }
  5994. }
  5995. }
  5996. }
  5997. &__account-note {
  5998. padding: 15px;
  5999. padding-bottom: 10px;
  6000. color: $primary-text-color;
  6001. font-size: 14px;
  6002. font-weight: 400;
  6003. border-bottom: 1px solid lighten($ui-base-color, 12%);
  6004. .columns-area--mobile & {
  6005. padding-left: 20px;
  6006. padding-right: 20px;
  6007. }
  6008. label {
  6009. display: block;
  6010. font-size: 12px;
  6011. font-weight: 500;
  6012. color: $darker-text-color;
  6013. text-transform: uppercase;
  6014. margin-bottom: 5px;
  6015. }
  6016. textarea {
  6017. display: block;
  6018. box-sizing: border-box;
  6019. width: calc(100% + 20px);
  6020. color: $secondary-text-color;
  6021. background: transparent;
  6022. padding: 10px;
  6023. margin: 0 -10px;
  6024. font-family: inherit;
  6025. font-size: 14px;
  6026. resize: none;
  6027. border: 0;
  6028. outline: 0;
  6029. border-radius: 4px;
  6030. &::placeholder {
  6031. color: $dark-text-color;
  6032. opacity: 1;
  6033. }
  6034. &:focus {
  6035. background: $ui-base-color;
  6036. }
  6037. }
  6038. }
  6039. }
  6040. .trends {
  6041. &__header {
  6042. color: $dark-text-color;
  6043. background: lighten($ui-base-color, 2%);
  6044. border-bottom: 1px solid darken($ui-base-color, 4%);
  6045. font-weight: 500;
  6046. padding: 15px;
  6047. font-size: 16px;
  6048. cursor: default;
  6049. .fa {
  6050. display: inline-block;
  6051. margin-right: 5px;
  6052. }
  6053. }
  6054. &__item {
  6055. display: flex;
  6056. align-items: center;
  6057. padding: 15px;
  6058. border-bottom: 1px solid lighten($ui-base-color, 8%);
  6059. &:last-child {
  6060. border-bottom: 0;
  6061. }
  6062. &__name {
  6063. flex: 1 1 auto;
  6064. color: $dark-text-color;
  6065. overflow: hidden;
  6066. text-overflow: ellipsis;
  6067. white-space: nowrap;
  6068. strong {
  6069. font-weight: 500;
  6070. }
  6071. a {
  6072. color: $darker-text-color;
  6073. text-decoration: none;
  6074. font-size: 14px;
  6075. font-weight: 500;
  6076. display: block;
  6077. overflow: hidden;
  6078. text-overflow: ellipsis;
  6079. white-space: nowrap;
  6080. &:hover,
  6081. &:focus,
  6082. &:active {
  6083. span {
  6084. text-decoration: underline;
  6085. }
  6086. }
  6087. }
  6088. }
  6089. &__current {
  6090. flex: 0 0 auto;
  6091. font-size: 24px;
  6092. font-weight: 500;
  6093. text-align: right;
  6094. padding-right: 15px;
  6095. margin-left: 5px;
  6096. color: $secondary-text-color;
  6097. }
  6098. &__sparkline {
  6099. flex: 0 0 auto;
  6100. width: 50px;
  6101. path:first-child {
  6102. fill: rgba($highlight-text-color, 0.25) !important;
  6103. fill-opacity: 1 !important;
  6104. }
  6105. path:last-child {
  6106. stroke: lighten($highlight-text-color, 6%) !important;
  6107. fill: none !important;
  6108. }
  6109. }
  6110. &--requires-review {
  6111. .trends__item__name {
  6112. color: $gold-star;
  6113. a {
  6114. color: $gold-star;
  6115. }
  6116. }
  6117. .trends__item__current {
  6118. color: $gold-star;
  6119. }
  6120. .trends__item__sparkline {
  6121. path:first-child {
  6122. fill: rgba($gold-star, 0.25) !important;
  6123. }
  6124. path:last-child {
  6125. stroke: lighten($gold-star, 6%) !important;
  6126. }
  6127. }
  6128. }
  6129. &--disabled {
  6130. .trends__item__name {
  6131. color: lighten($ui-base-color, 12%);
  6132. a {
  6133. color: lighten($ui-base-color, 12%);
  6134. }
  6135. }
  6136. .trends__item__current {
  6137. color: lighten($ui-base-color, 12%);
  6138. }
  6139. .trends__item__sparkline {
  6140. path:first-child {
  6141. fill: rgba(lighten($ui-base-color, 12%), 0.25) !important;
  6142. }
  6143. path:last-child {
  6144. stroke: lighten(lighten($ui-base-color, 12%), 6%) !important;
  6145. }
  6146. }
  6147. }
  6148. }
  6149. &--compact &__item {
  6150. padding: 10px;
  6151. }
  6152. }
  6153. .conversation {
  6154. display: flex;
  6155. border-bottom: 1px solid lighten($ui-base-color, 8%);
  6156. padding: 5px;
  6157. padding-bottom: 0;
  6158. &:focus {
  6159. background: lighten($ui-base-color, 2%);
  6160. outline: 0;
  6161. }
  6162. &__avatar {
  6163. flex: 0 0 auto;
  6164. padding: 10px;
  6165. padding-top: 12px;
  6166. position: relative;
  6167. cursor: pointer;
  6168. }
  6169. &__unread {
  6170. display: inline-block;
  6171. background: $highlight-text-color;
  6172. border-radius: 50%;
  6173. width: 0.625rem;
  6174. height: 0.625rem;
  6175. margin: -0.1ex 0.15em 0.1ex;
  6176. }
  6177. &__content {
  6178. flex: 1 1 auto;
  6179. padding: 10px 5px;
  6180. padding-right: 15px;
  6181. overflow: hidden;
  6182. &__info {
  6183. overflow: hidden;
  6184. display: flex;
  6185. flex-direction: row-reverse;
  6186. justify-content: space-between;
  6187. }
  6188. &__relative-time {
  6189. font-size: 15px;
  6190. color: $darker-text-color;
  6191. padding-left: 15px;
  6192. }
  6193. &__names {
  6194. color: $darker-text-color;
  6195. font-size: 15px;
  6196. white-space: nowrap;
  6197. overflow: hidden;
  6198. text-overflow: ellipsis;
  6199. margin-bottom: 4px;
  6200. flex-basis: 90px;
  6201. flex-grow: 1;
  6202. a {
  6203. color: $primary-text-color;
  6204. text-decoration: none;
  6205. &:hover,
  6206. &:focus,
  6207. &:active {
  6208. text-decoration: underline;
  6209. }
  6210. }
  6211. }
  6212. a {
  6213. word-break: break-word;
  6214. }
  6215. }
  6216. &--unread {
  6217. background: lighten($ui-base-color, 2%);
  6218. &:focus {
  6219. background: lighten($ui-base-color, 4%);
  6220. }
  6221. .conversation__content__info {
  6222. font-weight: 700;
  6223. }
  6224. .conversation__content__relative-time {
  6225. color: $primary-text-color;
  6226. }
  6227. }
  6228. }
  6229. .announcements {
  6230. background: lighten($ui-base-color, 8%);
  6231. font-size: 13px;
  6232. display: flex;
  6233. align-items: flex-end;
  6234. &__mastodon {
  6235. width: 124px;
  6236. flex: 0 0 auto;
  6237. @media screen and (max-width: 124px + 300px) {
  6238. display: none;
  6239. }
  6240. }
  6241. &__container {
  6242. width: calc(100% - 124px);
  6243. flex: 0 0 auto;
  6244. position: relative;
  6245. @media screen and (max-width: 124px + 300px) {
  6246. width: 100%;
  6247. }
  6248. }
  6249. &__item {
  6250. box-sizing: border-box;
  6251. width: 100%;
  6252. padding: 15px;
  6253. position: relative;
  6254. font-size: 15px;
  6255. line-height: 20px;
  6256. word-wrap: break-word;
  6257. font-weight: 400;
  6258. max-height: 50vh;
  6259. overflow: hidden;
  6260. display: flex;
  6261. flex-direction: column;
  6262. &__range {
  6263. display: block;
  6264. font-weight: 500;
  6265. margin-bottom: 10px;
  6266. padding-right: 18px;
  6267. }
  6268. &__unread {
  6269. position: absolute;
  6270. top: 19px;
  6271. right: 19px;
  6272. display: block;
  6273. background: $highlight-text-color;
  6274. border-radius: 50%;
  6275. width: 0.625rem;
  6276. height: 0.625rem;
  6277. }
  6278. }
  6279. &__pagination {
  6280. padding: 15px;
  6281. color: $darker-text-color;
  6282. position: absolute;
  6283. bottom: 3px;
  6284. right: 0;
  6285. }
  6286. }
  6287. .layout-multiple-columns .announcements__mastodon {
  6288. display: none;
  6289. }
  6290. .layout-multiple-columns .announcements__container {
  6291. width: 100%;
  6292. }
  6293. .reactions-bar {
  6294. display: flex;
  6295. flex-wrap: wrap;
  6296. align-items: center;
  6297. margin-top: 15px;
  6298. margin-left: -2px;
  6299. width: calc(100% - (90px - 33px));
  6300. &__item {
  6301. flex-shrink: 0;
  6302. background: lighten($ui-base-color, 12%);
  6303. border: 0;
  6304. border-radius: 3px;
  6305. margin: 2px;
  6306. cursor: pointer;
  6307. user-select: none;
  6308. padding: 0 6px;
  6309. display: flex;
  6310. align-items: center;
  6311. transition: all 100ms ease-in;
  6312. transition-property: background-color, color;
  6313. &__emoji {
  6314. display: block;
  6315. margin: 3px 0;
  6316. width: 16px;
  6317. height: 16px;
  6318. img {
  6319. display: block;
  6320. margin: 0;
  6321. width: 100%;
  6322. height: 100%;
  6323. min-width: auto;
  6324. min-height: auto;
  6325. vertical-align: bottom;
  6326. object-fit: contain;
  6327. }
  6328. }
  6329. &__count {
  6330. display: block;
  6331. min-width: 9px;
  6332. font-size: 13px;
  6333. font-weight: 500;
  6334. text-align: center;
  6335. margin-left: 6px;
  6336. color: $darker-text-color;
  6337. }
  6338. &:hover,
  6339. &:focus,
  6340. &:active {
  6341. background: lighten($ui-base-color, 16%);
  6342. transition: all 200ms ease-out;
  6343. transition-property: background-color, color;
  6344. &__count {
  6345. color: lighten($darker-text-color, 4%);
  6346. }
  6347. }
  6348. &.active {
  6349. transition: all 100ms ease-in;
  6350. transition-property: background-color, color;
  6351. background-color: mix(lighten($ui-base-color, 12%), $ui-highlight-color, 80%);
  6352. .reactions-bar__item__count {
  6353. color: lighten($highlight-text-color, 8%);
  6354. }
  6355. }
  6356. }
  6357. .emoji-picker-dropdown {
  6358. margin: 2px;
  6359. }
  6360. &:hover .emoji-button {
  6361. opacity: 0.85;
  6362. }
  6363. .emoji-button {
  6364. color: $darker-text-color;
  6365. margin: 0;
  6366. font-size: 16px;
  6367. width: auto;
  6368. flex-shrink: 0;
  6369. padding: 0 6px;
  6370. height: 22px;
  6371. display: flex;
  6372. align-items: center;
  6373. opacity: 0.5;
  6374. transition: all 100ms ease-in;
  6375. transition-property: background-color, color;
  6376. &:hover,
  6377. &:active,
  6378. &:focus {
  6379. opacity: 1;
  6380. color: lighten($darker-text-color, 4%);
  6381. transition: all 200ms ease-out;
  6382. transition-property: background-color, color;
  6383. }
  6384. }
  6385. &--empty {
  6386. .emoji-button {
  6387. padding: 0;
  6388. }
  6389. }
  6390. }
  6391. .notification,
  6392. .status__wrapper {
  6393. position: relative;
  6394. &.unread {
  6395. &::before {
  6396. content: "";
  6397. position: absolute;
  6398. top: 0;
  6399. left: 0;
  6400. width: 100%;
  6401. height: 100%;
  6402. border-left: 2px solid $highlight-text-color;
  6403. pointer-events: none;
  6404. }
  6405. }
  6406. }
  6407. .picture-in-picture {
  6408. position: fixed;
  6409. bottom: 20px;
  6410. right: 20px;
  6411. width: 300px;
  6412. &__footer {
  6413. border-radius: 0 0 4px 4px;
  6414. background: lighten($ui-base-color, 4%);
  6415. padding: 10px;
  6416. padding-top: 12px;
  6417. display: flex;
  6418. justify-content: space-between;
  6419. }
  6420. &__header {
  6421. border-radius: 4px 4px 0 0;
  6422. background: lighten($ui-base-color, 4%);
  6423. padding: 10px;
  6424. display: flex;
  6425. justify-content: space-between;
  6426. &__account {
  6427. display: flex;
  6428. text-decoration: none;
  6429. overflow: hidden;
  6430. }
  6431. .account__avatar {
  6432. margin-right: 10px;
  6433. }
  6434. .display-name {
  6435. color: $primary-text-color;
  6436. text-decoration: none;
  6437. strong,
  6438. span {
  6439. display: block;
  6440. text-overflow: ellipsis;
  6441. overflow: hidden;
  6442. }
  6443. span {
  6444. color: $darker-text-color;
  6445. }
  6446. }
  6447. }
  6448. .video-player,
  6449. .audio-player {
  6450. border-radius: 0;
  6451. }
  6452. }
  6453. .picture-in-picture-placeholder {
  6454. box-sizing: border-box;
  6455. border: 2px dashed lighten($ui-base-color, 8%);
  6456. background: $base-shadow-color;
  6457. display: flex;
  6458. flex-direction: column;
  6459. align-items: center;
  6460. justify-content: center;
  6461. margin-top: 10px;
  6462. font-size: 16px;
  6463. font-weight: 500;
  6464. cursor: pointer;
  6465. color: $darker-text-color;
  6466. i {
  6467. display: block;
  6468. font-size: 24px;
  6469. font-weight: 400;
  6470. margin-bottom: 10px;
  6471. }
  6472. &:hover,
  6473. &:focus,
  6474. &:active {
  6475. border-color: lighten($ui-base-color, 12%);
  6476. }
  6477. }
  6478. .notifications-permission-banner {
  6479. padding: 30px;
  6480. border-bottom: 1px solid lighten($ui-base-color, 8%);
  6481. display: flex;
  6482. flex-direction: column;
  6483. align-items: center;
  6484. justify-content: center;
  6485. position: relative;
  6486. &__close {
  6487. position: absolute;
  6488. top: 10px;
  6489. right: 10px;
  6490. }
  6491. h2 {
  6492. font-size: 16px;
  6493. font-weight: 500;
  6494. margin-bottom: 15px;
  6495. text-align: center;
  6496. }
  6497. p {
  6498. color: $darker-text-color;
  6499. margin-bottom: 15px;
  6500. text-align: center;
  6501. }
  6502. }
  6503. .explore__search-header {
  6504. background: $ui-base-color;
  6505. display: flex;
  6506. align-items: flex-start;
  6507. justify-content: center;
  6508. padding: 15px;
  6509. .search {
  6510. width: 100%;
  6511. margin-bottom: 0;
  6512. }
  6513. .search__input {
  6514. border-radius: 4px;
  6515. color: $inverted-text-color;
  6516. background: $simple-background-color;
  6517. padding: 10px;
  6518. &::placeholder {
  6519. color: $dark-text-color;
  6520. }
  6521. }
  6522. .search .fa {
  6523. top: 10px;
  6524. right: 10px;
  6525. color: $dark-text-color;
  6526. }
  6527. .search .fa-times-circle {
  6528. top: 12px;
  6529. }
  6530. }
  6531. .explore__search-results {
  6532. flex: 1 1 auto;
  6533. display: flex;
  6534. flex-direction: column;
  6535. }
  6536. .story {
  6537. display: flex;
  6538. align-items: center;
  6539. color: $primary-text-color;
  6540. text-decoration: none;
  6541. padding: 15px 0;
  6542. border-bottom: 1px solid lighten($ui-base-color, 8%);
  6543. &:last-child {
  6544. border-bottom: 0;
  6545. }
  6546. &:hover,
  6547. &:active,
  6548. &:focus {
  6549. background-color: lighten($ui-base-color, 4%);
  6550. }
  6551. &__details {
  6552. padding: 0 15px;
  6553. flex: 1 1 auto;
  6554. &__publisher {
  6555. color: $darker-text-color;
  6556. margin-bottom: 4px;
  6557. }
  6558. &__title {
  6559. font-size: 19px;
  6560. line-height: 24px;
  6561. font-weight: 500;
  6562. margin-bottom: 4px;
  6563. }
  6564. &__shared {
  6565. color: $darker-text-color;
  6566. }
  6567. }
  6568. &__thumbnail {
  6569. flex: 0 0 auto;
  6570. margin: 0 15px;
  6571. position: relative;
  6572. width: 120px;
  6573. height: 120px;
  6574. .skeleton {
  6575. width: 100%;
  6576. height: 100%;
  6577. }
  6578. img {
  6579. border-radius: 4px;
  6580. display: block;
  6581. margin: 0;
  6582. width: 100%;
  6583. height: 100%;
  6584. object-fit: cover;
  6585. }
  6586. &__preview {
  6587. border-radius: 4px;
  6588. display: block;
  6589. margin: 0;
  6590. width: 100%;
  6591. height: 100%;
  6592. object-fit: fill;
  6593. position: absolute;
  6594. top: 0;
  6595. left: 0;
  6596. z-index: 0;
  6597. &--hidden {
  6598. display: none;
  6599. }
  6600. }
  6601. }
  6602. }