123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102910391049105910691079108910991109111911291139114911591169117911891199120912191229123912491259126912791289129913091319132913391349135913691379138913991409141914291439144914591469147914891499150915191529153915491559156915791589159916091619162916391649165916691679168916991709171917291739174917591769177917891799180918191829183918491859186918791889189919091919192919391949195919691979198919992009201920292039204920592069207920892099210921192129213921492159216921792189219922092219222922392249225922692279228922992309231923292339234923592369237923892399240924192429243924492459246924792489249925092519252925392549255925692579258925992609261926292639264926592669267926892699270927192729273927492759276927792789279928092819282928392849285928692879288928992909291929292939294929592969297929892999300930193029303930493059306930793089309931093119312931393149315931693179318931993209321932293239324932593269327932893299330933193329333933493359336933793389339934093419342934393449345934693479348934993509351935293539354935593569357935893599360936193629363936493659366936793689369937093719372937393749375937693779378937993809381938293839384938593869387938893899390939193929393939493959396939793989399940094019402940394049405940694079408940994109411941294139414941594169417941894199420942194229423942494259426942794289429943094319432943394349435943694379438943994409441944294439444944594469447944894499450945194529453945494559456945794589459946094619462946394649465946694679468946994709471947294739474947594769477947894799480948194829483948494859486948794889489949094919492949394949495949694979498949995009501950295039504950595069507950895099510951195129513951495159516951795189519952095219522952395249525952695279528952995309531953295339534953595369537953895399540954195429543954495459546954795489549955095519552955395549555955695579558955995609561956295639564956595669567956895699570957195729573957495759576957795789579958095819582958395849585958695879588958995909591959295939594959595969597959895999600960196029603960496059606960796089609961096119612961396149615961696179618961996209621962296239624962596269627962896299630963196329633963496359636963796389639964096419642964396449645964696479648964996509651965296539654965596569657965896599660966196629663966496659666966796689669967096719672967396749675967696779678967996809681968296839684968596869687968896899690969196929693969496959696969796989699970097019702970397049705970697079708970997109711971297139714971597169717971897199720972197229723972497259726972797289729973097319732973397349735973697379738973997409741974297439744974597469747974897499750975197529753975497559756975797589759976097619762976397649765976697679768976997709771977297739774977597769777977897799780978197829783978497859786978797889789979097919792979397949795979697979798979998009801980298039804980598069807980898099810981198129813981498159816981798189819982098219822982398249825982698279828982998309831983298339834983598369837983898399840984198429843984498459846984798489849985098519852985398549855985698579858985998609861986298639864986598669867986898699870987198729873987498759876987798789879988098819882988398849885988698879888988998909891989298939894989598969897989898999900990199029903990499059906990799089909991099119912991399149915991699179918991999209921992299239924992599269927992899299930993199329933993499359936993799389939994099419942994399449945994699479948994999509951995299539954995599569957995899599960996199629963996499659966996799689969997099719972997399749975997699779978997999809981998299839984998599869987998899899990999199929993999499959996999799989999100001000110002100031000410005100061000710008100091001010011100121001310014100151001610017100181001910020100211002210023100241002510026100271002810029100301003110032100331003410035100361003710038100391004010041100421004310044100451004610047100481004910050100511005210053100541005510056100571005810059100601006110062100631006410065100661006710068100691007010071100721007310074100751007610077100781007910080100811008210083100841008510086100871008810089100901009110092100931009410095100961009710098100991010010101101021010310104101051010610107101081010910110101111011210113101141011510116101171011810119101201012110122101231012410125101261012710128101291013010131101321013310134101351013610137101381013910140101411014210143101441014510146101471014810149101501015110152101531015410155101561015710158101591016010161101621016310164101651016610167101681016910170101711017210173101741017510176101771017810179101801018110182101831018410185101861018710188101891019010191101921019310194101951019610197101981019910200102011020210203102041020510206102071020810209102101021110212102131021410215102161021710218102191022010221102221022310224102251022610227102281022910230102311023210233102341023510236102371023810239102401024110242102431024410245102461024710248102491025010251102521025310254102551025610257102581025910260102611026210263102641026510266102671026810269102701027110272102731027410275102761027710278102791028010281102821028310284102851028610287102881028910290102911029210293102941029510296102971029810299103001030110302103031030410305103061030710308103091031010311103121031310314103151031610317103181031910320103211032210323103241032510326103271032810329103301033110332103331033410335103361033710338103391034010341103421034310344103451034610347103481034910350103511035210353103541035510356103571035810359103601036110362103631036410365103661036710368103691037010371103721037310374103751037610377103781037910380103811038210383103841038510386103871038810389103901039110392103931039410395103961039710398103991040010401104021040310404104051040610407104081040910410104111041210413104141041510416104171041810419104201042110422104231042410425104261042710428104291043010431104321043310434104351043610437104381043910440104411044210443104441044510446104471044810449104501045110452104531045410455104561045710458104591046010461104621046310464104651046610467104681046910470104711047210473104741047510476104771047810479104801048110482104831048410485104861048710488104891049010491104921049310494104951049610497104981049910500105011050210503105041050510506105071050810509105101051110512105131051410515105161051710518105191052010521105221052310524105251052610527105281052910530105311053210533105341053510536105371053810539105401054110542105431054410545105461054710548105491055010551105521055310554105551055610557105581055910560105611056210563105641056510566105671056810569105701057110572105731057410575105761057710578105791058010581105821058310584105851058610587105881058910590105911059210593105941059510596105971059810599106001060110602106031060410605106061060710608106091061010611106121061310614106151061610617106181061910620106211062210623106241062510626106271062810629106301063110632106331063410635106361063710638106391064010641106421064310644106451064610647106481064910650106511065210653106541065510656106571065810659106601066110662106631066410665106661066710668106691067010671106721067310674106751067610677106781067910680106811068210683106841068510686106871068810689106901069110692106931069410695106961069710698106991070010701107021070310704107051070610707107081070910710107111071210713107141071510716107171071810719107201072110722107231072410725107261072710728107291073010731107321073310734107351073610737107381073910740107411074210743107441074510746107471074810749107501075110752107531075410755107561075710758107591076010761107621076310764107651076610767107681076910770107711077210773107741077510776107771077810779107801078110782107831078410785107861078710788107891079010791107921079310794107951079610797107981079910800108011080210803108041080510806108071080810809108101081110812108131081410815108161081710818108191082010821108221082310824108251082610827108281082910830108311083210833108341083510836108371083810839108401084110842108431084410845108461084710848108491085010851108521085310854108551085610857108581085910860108611086210863108641086510866108671086810869108701087110872108731087410875108761087710878108791088010881108821088310884108851088610887108881088910890108911089210893108941089510896108971089810899109001090110902109031090410905109061090710908109091091010911109121091310914109151091610917109181091910920109211092210923109241092510926109271092810929109301093110932109331093410935109361093710938109391094010941109421094310944109451094610947109481094910950109511095210953109541095510956109571095810959109601096110962109631096410965109661096710968109691097010971109721097310974109751097610977109781097910980109811098210983109841098510986109871098810989109901099110992109931099410995109961099710998109991100011001110021100311004110051100611007110081100911010110111101211013110141101511016110171101811019110201102111022110231102411025110261102711028110291103011031110321103311034110351103611037110381103911040110411104211043110441104511046110471104811049110501105111052110531105411055110561105711058110591106011061110621106311064110651106611067110681106911070110711107211073110741107511076110771107811079110801108111082110831108411085110861108711088110891109011091110921109311094110951109611097110981109911100111011110211103111041110511106111071110811109111101111111112111131111411115111161111711118111191112011121111221112311124111251112611127111281112911130111311113211133111341113511136111371113811139111401114111142111431114411145111461114711148111491115011151111521115311154111551115611157111581115911160111611116211163111641116511166111671116811169111701117111172111731117411175111761117711178111791118011181111821118311184111851118611187111881118911190111911119211193111941119511196111971119811199112001120111202112031120411205112061120711208112091121011211112121121311214112151121611217112181121911220112211122211223112241122511226112271122811229112301123111232112331123411235112361123711238112391124011241112421124311244112451124611247112481124911250112511125211253112541125511256112571125811259112601126111262112631126411265112661126711268112691127011271112721127311274112751127611277112781127911280112811128211283112841128511286112871128811289112901129111292112931129411295112961129711298112991130011301113021130311304113051130611307113081130911310113111131211313113141131511316113171131811319113201132111322113231132411325113261132711328113291133011331113321133311334113351133611337113381133911340113411134211343113441134511346113471134811349113501135111352113531135411355113561135711358113591136011361113621136311364113651136611367113681136911370113711137211373113741137511376113771137811379113801138111382113831138411385113861138711388113891139011391113921139311394113951139611397113981139911400114011140211403114041140511406114071140811409114101141111412114131141411415114161141711418114191142011421114221142311424114251142611427114281142911430114311143211433114341143511436114371143811439114401144111442114431144411445114461144711448114491145011451114521145311454114551145611457114581145911460114611146211463114641146511466114671146811469114701147111472114731147411475114761147711478114791148011481114821148311484114851148611487114881148911490114911149211493114941149511496114971149811499115001150111502115031150411505115061150711508115091151011511115121151311514115151151611517115181151911520115211152211523115241152511526115271152811529115301153111532115331153411535115361153711538115391154011541115421154311544115451154611547115481154911550115511155211553115541155511556115571155811559115601156111562115631156411565115661156711568115691157011571115721157311574115751157611577115781157911580115811158211583115841158511586115871158811589115901159111592115931159411595115961159711598115991160011601116021160311604116051160611607116081160911610116111161211613116141161511616116171161811619116201162111622116231162411625116261162711628116291163011631116321163311634116351163611637116381163911640116411164211643116441164511646116471164811649116501165111652116531165411655116561165711658116591166011661116621166311664116651166611667116681166911670116711167211673116741167511676116771167811679116801168111682116831168411685116861168711688116891169011691116921169311694116951169611697116981169911700117011170211703117041170511706117071170811709117101171111712117131171411715117161171711718117191172011721117221172311724117251172611727117281172911730117311173211733117341173511736117371173811739117401174111742117431174411745117461174711748117491175011751117521175311754117551175611757117581175911760117611176211763117641176511766117671176811769117701177111772117731177411775117761177711778117791178011781117821178311784117851178611787117881178911790117911179211793117941179511796117971179811799118001180111802118031180411805118061180711808118091181011811118121181311814118151181611817118181181911820118211182211823118241182511826118271182811829118301183111832118331183411835118361183711838118391184011841118421184311844118451184611847118481184911850118511185211853118541185511856118571185811859118601186111862118631186411865118661186711868118691187011871118721187311874118751187611877118781187911880118811188211883118841188511886118871188811889118901189111892118931189411895118961189711898118991190011901119021190311904119051190611907119081190911910119111191211913119141191511916119171191811919119201192111922119231192411925119261192711928119291193011931119321193311934119351193611937119381193911940119411194211943119441194511946119471194811949119501195111952119531195411955119561195711958119591196011961119621196311964119651196611967119681196911970119711197211973119741197511976119771197811979119801198111982119831198411985119861198711988119891199011991119921199311994119951199611997119981199912000120011200212003120041200512006120071200812009120101201112012120131201412015120161201712018120191202012021120221202312024120251202612027120281202912030120311203212033120341203512036120371203812039120401204112042120431204412045120461204712048120491205012051120521205312054120551205612057120581205912060120611206212063120641206512066120671206812069120701207112072120731207412075120761207712078120791208012081120821208312084120851208612087120881208912090120911209212093120941209512096120971209812099121001210112102121031210412105121061210712108121091211012111121121211312114121151211612117121181211912120121211212212123121241212512126121271212812129121301213112132121331213412135121361213712138121391214012141121421214312144121451214612147121481214912150121511215212153121541215512156121571215812159121601216112162121631216412165121661216712168121691217012171121721217312174121751217612177121781217912180121811218212183121841218512186121871218812189121901219112192121931219412195121961219712198121991220012201122021220312204122051220612207122081220912210122111221212213122141221512216122171221812219122201222112222122231222412225122261222712228122291223012231122321223312234122351223612237122381223912240122411224212243122441224512246122471224812249122501225112252122531225412255122561225712258122591226012261122621226312264122651226612267122681226912270122711227212273122741227512276122771227812279122801228112282122831228412285122861228712288122891229012291122921229312294122951229612297122981229912300123011230212303123041230512306123071230812309123101231112312123131231412315123161231712318123191232012321123221232312324123251232612327123281232912330123311233212333123341233512336123371233812339123401234112342123431234412345123461234712348123491235012351123521235312354123551235612357123581235912360123611236212363123641236512366123671236812369123701237112372123731237412375123761237712378123791238012381123821238312384123851238612387123881238912390123911239212393123941239512396123971239812399124001240112402124031240412405124061240712408124091241012411124121241312414124151241612417124181241912420124211242212423124241242512426124271242812429124301243112432124331243412435124361243712438124391244012441124421244312444124451244612447124481244912450124511245212453124541245512456124571245812459124601246112462124631246412465124661246712468124691247012471124721247312474124751247612477124781247912480124811248212483124841248512486124871248812489124901249112492124931249412495124961249712498124991250012501125021250312504125051250612507125081250912510125111251212513125141251512516125171251812519125201252112522125231252412525125261252712528125291253012531125321253312534125351253612537125381253912540125411254212543125441254512546125471254812549125501255112552125531255412555125561255712558125591256012561125621256312564125651256612567125681256912570125711257212573125741257512576125771257812579125801258112582125831258412585125861258712588125891259012591125921259312594125951259612597125981259912600126011260212603126041260512606126071260812609126101261112612126131261412615126161261712618126191262012621126221262312624126251262612627126281262912630126311263212633126341263512636126371263812639126401264112642126431264412645126461264712648126491265012651126521265312654126551265612657126581265912660126611266212663126641266512666126671266812669126701267112672126731267412675126761267712678126791268012681126821268312684126851268612687126881268912690126911269212693126941269512696126971269812699127001270112702127031270412705127061270712708127091271012711127121271312714127151271612717127181271912720127211272212723127241272512726127271272812729127301273112732127331273412735127361273712738127391274012741127421274312744127451274612747127481274912750127511275212753127541275512756127571275812759127601276112762127631276412765127661276712768127691277012771127721277312774127751277612777127781277912780127811278212783127841278512786127871278812789127901279112792127931279412795127961279712798127991280012801128021280312804128051280612807128081280912810128111281212813128141281512816128171281812819128201282112822128231282412825128261282712828128291283012831128321283312834128351283612837128381283912840128411284212843128441284512846128471284812849128501285112852128531285412855128561285712858128591286012861128621286312864128651286612867128681286912870128711287212873128741287512876128771287812879128801288112882128831288412885128861288712888128891289012891128921289312894128951289612897128981289912900129011290212903129041290512906129071290812909129101291112912129131291412915129161291712918129191292012921129221292312924129251292612927129281292912930129311293212933129341293512936129371293812939129401294112942129431294412945129461294712948129491295012951129521295312954129551295612957129581295912960129611296212963129641296512966129671296812969129701297112972129731297412975129761297712978129791298012981129821298312984129851298612987129881298912990129911299212993129941299512996129971299812999130001300113002130031300413005130061300713008130091301013011130121301313014130151301613017130181301913020130211302213023130241302513026130271302813029130301303113032130331303413035130361303713038130391304013041130421304313044130451304613047130481304913050130511305213053130541305513056130571305813059130601306113062130631306413065130661306713068130691307013071130721307313074130751307613077130781307913080130811308213083130841308513086130871308813089130901309113092130931309413095130961309713098130991310013101131021310313104131051310613107131081310913110131111311213113131141311513116131171311813119131201312113122131231312413125131261312713128131291313013131131321313313134131351313613137131381313913140131411314213143131441314513146131471314813149131501315113152131531315413155131561315713158131591316013161131621316313164131651316613167131681316913170131711317213173131741317513176131771317813179131801318113182131831318413185131861318713188131891319013191131921319313194131951319613197131981319913200132011320213203132041320513206132071320813209132101321113212132131321413215132161321713218132191322013221132221322313224132251322613227132281322913230132311323213233132341323513236132371323813239132401324113242132431324413245132461324713248132491325013251132521325313254132551325613257132581325913260132611326213263132641326513266132671326813269132701327113272132731327413275132761327713278132791328013281132821328313284132851328613287132881328913290132911329213293132941329513296132971329813299133001330113302133031330413305133061330713308133091331013311133121331313314133151331613317133181331913320133211332213323133241332513326133271332813329133301333113332133331333413335133361333713338133391334013341133421334313344133451334613347133481334913350133511335213353133541335513356133571335813359133601336113362133631336413365133661336713368133691337013371133721337313374133751337613377133781337913380133811338213383133841338513386133871338813389133901339113392133931339413395133961339713398133991340013401134021340313404134051340613407134081340913410134111341213413134141341513416134171341813419134201342113422134231342413425134261342713428134291343013431134321343313434134351343613437134381343913440134411344213443134441344513446134471344813449134501345113452134531345413455134561345713458134591346013461134621346313464134651346613467134681346913470134711347213473134741347513476134771347813479134801348113482134831348413485134861348713488134891349013491134921349313494134951349613497134981349913500135011350213503135041350513506135071350813509135101351113512135131351413515135161351713518135191352013521135221352313524135251352613527135281352913530135311353213533135341353513536135371353813539135401354113542135431354413545135461354713548135491355013551135521355313554135551355613557135581355913560135611356213563135641356513566135671356813569135701357113572135731357413575135761357713578135791358013581135821358313584135851358613587135881358913590135911359213593135941359513596135971359813599136001360113602136031360413605136061360713608136091361013611136121361313614136151361613617136181361913620136211362213623136241362513626136271362813629136301363113632136331363413635136361363713638136391364013641136421364313644136451364613647136481364913650136511365213653136541365513656136571365813659136601366113662136631366413665136661366713668136691367013671136721367313674136751367613677136781367913680136811368213683136841368513686136871368813689136901369113692136931369413695136961369713698136991370013701137021370313704137051370613707137081370913710137111371213713137141371513716137171371813719137201372113722137231372413725137261372713728137291373013731137321373313734137351373613737137381373913740137411374213743137441374513746137471374813749137501375113752137531375413755137561375713758137591376013761137621376313764137651376613767137681376913770137711377213773137741377513776137771377813779137801378113782137831378413785137861378713788137891379013791137921379313794137951379613797137981379913800138011380213803138041380513806138071380813809138101381113812138131381413815138161381713818138191382013821138221382313824138251382613827138281382913830138311383213833138341383513836138371383813839138401384113842138431384413845138461384713848138491385013851138521385313854138551385613857138581385913860138611386213863138641386513866138671386813869138701387113872138731387413875138761387713878138791388013881138821388313884138851388613887138881388913890138911389213893138941389513896138971389813899139001390113902139031390413905139061390713908139091391013911139121391313914139151391613917139181391913920139211392213923139241392513926139271392813929139301393113932139331393413935139361393713938139391394013941139421394313944139451394613947139481394913950139511395213953139541395513956139571395813959139601396113962139631396413965139661396713968139691397013971139721397313974139751397613977139781397913980139811398213983139841398513986139871398813989139901399113992139931399413995139961399713998139991400014001140021400314004140051400614007140081400914010140111401214013140141401514016140171401814019140201402114022140231402414025140261402714028140291403014031140321403314034140351403614037140381403914040140411404214043140441404514046140471404814049140501405114052140531405414055140561405714058140591406014061140621406314064140651406614067140681406914070140711407214073140741407514076140771407814079140801408114082140831408414085140861408714088140891409014091140921409314094140951409614097140981409914100141011410214103141041410514106141071410814109141101411114112141131411414115141161411714118141191412014121141221412314124141251412614127141281412914130141311413214133141341413514136141371413814139141401414114142141431414414145141461414714148141491415014151141521415314154141551415614157141581415914160141611416214163141641416514166141671416814169141701417114172141731417414175141761417714178141791418014181141821418314184141851418614187141881418914190141911419214193141941419514196141971419814199142001420114202142031420414205142061420714208142091421014211142121421314214142151421614217142181421914220142211422214223142241422514226142271422814229142301423114232142331423414235142361423714238142391424014241142421424314244142451424614247142481424914250142511425214253142541425514256142571425814259142601426114262142631426414265142661426714268142691427014271142721427314274142751427614277142781427914280142811428214283142841428514286142871428814289142901429114292142931429414295142961429714298142991430014301143021430314304143051430614307143081430914310143111431214313143141431514316143171431814319143201432114322143231432414325143261432714328143291433014331143321433314334143351433614337143381433914340143411434214343143441434514346143471434814349143501435114352143531435414355143561435714358143591436014361143621436314364143651436614367143681436914370143711437214373143741437514376143771437814379143801438114382143831438414385143861438714388143891439014391143921439314394143951439614397143981439914400144011440214403144041440514406144071440814409144101441114412144131441414415144161441714418144191442014421144221442314424144251442614427144281442914430144311443214433144341443514436144371443814439144401444114442144431444414445144461444714448144491445014451144521445314454144551445614457144581445914460144611446214463144641446514466144671446814469144701447114472144731447414475144761447714478144791448014481144821448314484144851448614487144881448914490144911449214493144941449514496144971449814499145001450114502145031450414505145061450714508145091451014511145121451314514145151451614517145181451914520145211452214523145241452514526145271452814529145301453114532145331453414535145361453714538145391454014541145421454314544145451454614547145481454914550145511455214553145541455514556145571455814559145601456114562145631456414565145661456714568145691457014571145721457314574145751457614577145781457914580145811458214583145841458514586145871458814589145901459114592145931459414595145961459714598145991460014601146021460314604146051460614607146081460914610146111461214613146141461514616146171461814619146201462114622146231462414625146261462714628146291463014631146321463314634146351463614637146381463914640146411464214643146441464514646146471464814649146501465114652146531465414655146561465714658146591466014661146621466314664146651466614667146681466914670146711467214673146741467514676146771467814679146801468114682146831468414685146861468714688146891469014691146921469314694146951469614697146981469914700147011470214703147041470514706147071470814709147101471114712147131471414715147161471714718147191472014721147221472314724147251472614727147281472914730147311473214733147341473514736147371473814739147401474114742147431474414745147461474714748147491475014751147521475314754147551475614757147581475914760147611476214763147641476514766147671476814769147701477114772147731477414775147761477714778147791478014781147821478314784147851478614787147881478914790147911479214793147941479514796147971479814799 |
- $high-priority-color: hsl(360, 71%, 60%);
- $low-priority-color: hsl(200, 68%, 73%);
- $minWidth: 1024px;
- $sidebarWidth: 280px;
- $desktopSidebarWidth: 360px;
- $navigationWidth: 260px;
- $mobileNavigationWidth: 50px;
- $mobileNavigationWidthOpen: 220px;
- :root {
- --button-action-color: hsl(0, 0%, 60%);
- --button-background: white;
- --button-background-active: hsl(0, 0, 98%);
- --button-active: hsl(204, 7%, 28%);
- --button-active-active: hsla(0, 0%, 0%, 0.55);
- --button-primary-text: var(--text-inverted);
- --button-primary-background: hsl(203, 65%, 55%);
- --button-primary-background-active: hsl(203, 65%, 45%);
- --header-primary: hsl(202, 8%, 28%);
- --header-secondary: hsl(198, 10%, 69%);
- --text-normal: hsl(60, 1%, 34%);
- --text-muted: hsl(213, 3%, 64%);
- --text-muted-highlight: hsl(205, 90%, 90%);
- --text-muted-alt: hsl(197, 16%, 65%);
- --text-link: hsl(204, 72%, 50%);
- --text-inverted: white;
- --text-active: white;
- --text-nav: hsl(204, 72%, 50%);
- --text-button-primary: var(--button-primary-background);
- --text-button-primary-active: var(--button-primary-background-active);
- --text-button-secondary: var(--interactive-muted);
- --nav-icon: hsl(0, 0%, 50%);
- --highlight: hsl(205, 90%, 60%);
- --interactive-primary: black;
- --interactive-muted: hsl(210, 3%, 71%);
- --interactive-muted-active: hsl(210, 4%, 71%);
- --interactive-muted-alt: hsl(197, 19%, 78%);
- --interactive-muted-alt-selected: hsl(206, 7%, 37%);
- --background-primary: hsl(210, 17%, 98%);
- --background-primary-alt: hsl(197, 16%, 94%);
- --background-secondary: white;
- --background-secondary-hover: hsl(239, 4%, 95%);
- --background-tertiary: hsl(233, 9%, 19%);
- --background-quaternary: hsl(231, 9%, 16%);
- --background-quaternary-alt: hsl(228, 17%, 91%);
- --background-popover: white;
- --background-active: hsl(233, 9%, 19%);
- --background-highlight: hsl(200, 100%, 91%);
- --background-article-meta: hsl(212, 14%, 99%);
- --background-article-customer: hsl(201, 46%, 93%);
- --background-article-customer-meta: hsl(201, 43%, 96%);
- --background-modifier-accent: hsla(0, 0%, 0%, 0.04);
- --background-modifier-accent-light: hsla(0, 0%, 0%, 0.02);
- --background-modifier-accent-dark: hsla(0, 0%, 0%, 0.3);
- --background-modifier-lighter: hsla(0, 0%, 100%, 0.06);
- --background-modifier-border: hsla(0, 0%, 0%, 0.1);
- --background-modifier-hover: hsla(240, 3%, 50%, 0.1);
- --backdrop-clue-start: hsla(202, 68%, 54%, 0.1);
- --backdrop-clue-end: hsla(202, 68%, 54%, 0.9);
- --border: hsl(0, 0%, 90%);
- --border-alt: hsl(198, 18%, 86%);
- --border-highlight: hsl(200, 71%, 59%);
- --border-internal: hsl(18, 91%, 89%);
- --border-internal-stripe: hsl(18, 94%, 95%);
- --border-article-customer: hsl(199, 38%, 90%);
- --border-article-customer-selected: hsl(199, 44%, 85%);
- --shadow-highlight: hsl(201, 62%, 90%);
- --supergood-color: hsl(145, 51%, 45%);
- --good-color: hsl(62, 45%, 46%);
- --ok-color: hsl(41, 100%, 49%);
- --bad-color: hsl(30, 93%, 50%);
- --superbad-color: hsl(19, 90%, 51%);
- --ghost-color: hsl(0, 0%, 74%);
- --danger-color: hsl(0, 65%, 55%);
- --pending-color: hsl(206, 7%, 28%);
- --elevation-stroke: 0 1px hsl(210, 7%, 94%);
- --elevation-low: 0 1px 5px hsla(205, 30%, 30%, 0.1);
- --elevation-high: 0 1px 14px hsla(208, 95%, 3%, 0.25);
- --highlighter-yellow: hsl(48, 81%, 82%);
- --highlighter-green: hsl(105, 54%, 80%);
- --highlighter-blue: hsl(207, 92%, 85%);
- --highlighter-pink: hsl(338, 90%, 82%);
- --highlighter-purple: hsl(288, 62%, 86%);
- --file-icon-background: white;
- --file-icon-color: hsl(198, 18%, 86%);
- --tag-text: hsl(198, 5%, 41%);
- --tag-background: hsl(198, 19%, 92%);
- --fullscreen-background: var(--background-tertiary);
- --fullscreen-text: var(--text-muted);
- --fullscreen-text-link: var(--text-inverted);
- --fullscreen-text-muted: hsl(233, 7%, 26%);
- --fullscreen-drop-shadow: 0 8px 17px 0 rgba(0, 0, 0, 0.2),
- 0 6px 20px 0 rgba(0, 0, 0, 0.19);
- --menu-text: hsl(0, 0%, 74%);
- --menu-text-active: white;
- --menu-text-open: white;
- --menu-text-closed: white;
- --menu-text-escalating: white;
- --menu-background-active: var(--button-primary-background);
- --menu-icon: hsl(206, 5%, 42%);
- --menu-icon-secondary: hsl(0, 0%, 30%);
- --menu-icon-secondary-hover-background: var(--text-inverted);
- --menu-switch-background: hsl(0, 0%, 5%);
- --menu-switch-pointer: var(--background-tertiary);
- --menu-switch-pointer-active: var(--menu-text-active);
- --menu-background-primary: var(--background-quaternary);
- --menu-background-primary-hover: hsla(0, 0%, 0%, 0.3);
- --menu-background-secondary: var(--background-tertiary);
- --menu-close-tab-background: var(--background-tertiary);
- --menu-close-tab-opacity: 0.3;
- --menu-border: none;
- --menu-border-secondary: none;
- }
- // dark mode
- [data-theme='dark'] {
- --button-action-color: hsl(0, 0%, 80%);
- --button-background: hsla(0, 0%, 100%, 0.03);
- --button-background-active: hsla(0, 0%, 100%, 0.015);
- --button-active: hsla(0, 0%, 100%, 0.1);
- --button-active-active: hsla(0, 0%, 100%, 0.08);
- --header-primary: white;
- --header-secondary: hsl(198, 5%, 73%);
- --text-normal: hsl(205, 1%, 86%);
- --text-muted: hsl(213, 3%, 60%);
- --text-muted-alt: hsl(213, 8%, 61%);
- --text-link: hsl(202, 72%, 50%);
- --text-nav: hsl(205, 1%, 84%);
- --nav-icon: hsl(0, 0%, 50%);
- --highlight: hsl(205, 90%, 60%);
- --interactive-primary: white;
- --interactive-muted: hsl(213, 3%, 64%);
- --interactive-muted-active: hsl(213, 3%, 35%);
- --interactive-muted-alt: hsl(209, 5%, 35%);
- --interactive-muted-alt-selected: hsl(205, 4%, 75%);
- --background-primary: hsl(230, 5%, 19%);
- --background-primary-alt: hsl(230, 5%, 21%);
- --background-secondary: hsl(230, 5%, 23%);
- --background-secondary-hover: hsl(230, 5%, 20%);
- --background-tertiary: hsl(230, 7%, 17%);
- --background-quaternary: hsl(230, 7%, 13%);
- --background-quaternary-alt: hsl(230, 4%, 30%);
- --background-popover: hsl(216, 3%, 30%);
- --background-active: var(--highlight);
- --background-highlight: hsl(205, 30%, 27%);
- --background-article-meta: hsl(230, 7%, 25%);
- --background-article-customer: hsl(218, 8%, 32%);
- --background-article-customer-meta: hsl(218, 6%, 30%);
- --background-modifier-accent: hsla(0, 0%, 0%, 0.12);
- --background-modifier-accent-light: hsla(0, 0%, 0%, 0.06);
- --background-modifier-accent-dark: hsla(0, 0%, 0%, 0.3);
- --background-modifier-lighter: hsla(0, 0%, 100%, 0.08);
- --background-modifier-border: hsla(0, 0%, 0%, 0.17);
- --background-modifier-hover: hsla(230, 5%, 36%, 0.4);
- --backdrop-clue-start: hsla(202, 68%, 54%, 0.1);
- --backdrop-clue-end: hsla(202, 68%, 54%, 0.9);
- --border: hsl(230, 4%, 17%);
- --border-alt: hsl(230, 7%, 18%);
- --border-highlight: hsl(205, 70%, 50%);
- --border-internal: hsl(18, 30%, 39%);
- --border-internal-stripe: hsl(18, 30%, 30%);
- --border-article-customer: hsl(209, 6%, 30%);
- --border-article-customer-selected: hsl(199, 10%, 33%);
- --shadow-highlight: hsl(205, 42%, 36%);
- --supergood-color: hsl(145, 51%, 45%);
- --good-color: hsl(62, 45%, 46%);
- --ok-color: hsl(41, 100%, 49%);
- --bad-color: hsl(30, 93%, 50%);
- --superbad-color: hsl(19, 90%, 51%);
- --ghost-color: hsl(0, 0%, 50%);
- --danger-color: hsl(0, 82%, 59%);
- --pending-color: hsl(205, 1%, 44%);
- --elevation-stroke: 0 1px hsla(0, 0%, 0%, 0.13);
- --elevation-low: 0 1px 5px hsla(0, 0%, 0%, 0.15);
- --elevation-high: 0 1px 14px hsla(0, 0%, 0%, 0.25);
- --highlighter-yellow: hsl(48, 34%, 30%);
- --highlighter-green: hsl(105, 34%, 27%);
- --highlighter-blue: hsl(207, 41%, 30%);
- --highlighter-pink: hsl(338, 28%, 30%);
- --highlighter-purple: hsl(288, 22%, 36%);
- --file-icon-background: hsl(216, 5%, 77%);
- --file-icon-color: hsl(230, 7%, 21%);
- --tag-text: var(--text-normal);
- --tag-background: hsl(230, 5%, 32%);
- }
- @mixin dark {
- [data-theme='dark'] & {
- @content;
- }
- }
- @mixin desktop {
- @media screen and (min-width: 1260px) {
- @content;
- }
- }
- @mixin small-desktop {
- @media screen and (max-width: 1260px) {
- @content;
- }
- }
- @mixin tablet {
- @media screen and (min-width: 768px) {
- @content;
- }
- }
- @mixin phone {
- #app.navigation-collapsed & {
- @content;
- }
- @media screen and (max-width: 767px) {
- @content;
- }
- }
- /* sets LTR and RTL within the same style call */
- @mixin bidi-style($prop, $value, $inverse-prop, $default-value) {
- #{$prop}: $value;
- html[dir='rtl'] & {
- #{$inverse-prop}: $value;
- #{$prop}: $default-value;
- }
- }
- /* adds a property only in RTL */
- @mixin rtl($prop, $value) {
- html[dir='rtl'] & {
- #{$prop}: $value;
- }
- }
- /* adds a property only in LTR */
- @mixin ltr($prop, $value) {
- html[dir='ltr'] & {
- #{$prop}: $value;
- }
- }
- %clickable {
- cursor: pointer;
- user-select: none;
- touch-action: manipulation;
- }
- html {
- height: 100%;
- }
- body {
- font-family: 'Fira Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
- font-weight: normal;
- font-variant-ligatures: none;
- line-height: 1.45;
- background: var(--background-primary);
- height: 100%;
- color: var(--text-normal);
- word-wrap: break-word;
- overflow-wrap: break-word;
- display: flex;
- flex-direction: column;
- }
- /* prevent clickable <use xlink:href="#icon-abc"></use> */
- use {
- pointer-events: none;
- }
- p {
- margin: 12px 0;
- &.subtle {
- color: var(--text-muted);
- }
- &.description {
- color: var(--text-muted);
- }
- }
- h3 + .description {
- margin-top: 0;
- }
- strong {
- font-weight: 500;
- }
- hr {
- border-top-color: var(--background-modifier-border);
- }
- .inherit-color {
- color: inherit;
- }
- .text-muted {
- color: var(--text-muted);
- }
- .text-placeholder {
- color: var(--interactive-muted);
- }
- .text-small {
- font-size: 12px;
- }
- .u-highlight {
- color: var(--text-link);
- }
- .u-dontfold {
- flex-shrink: 0;
- }
- .u-invisible {
- opacity: 0;
- pointer-events: none;
- position: absolute !important;
- }
- [data-dir='ltr'] {
- direction: ltr;
- }
- [data-dir='rtl'] {
- direction: rtl;
- }
- a {
- outline: none !important;
- @extend .u-highlight;
- &.is-disabled,
- &[disabled] {
- pointer-events: none;
- cursor: not-allowed !important;
- opacity: 0.33;
- }
- }
- a.create {
- color: hsl(145, 51%, 45%);
- text-decoration: underline;
- }
- small {
- color: var(--text-muted);
- font-size: 12px;
- }
- blockquote {
- font-size: inherit;
- }
- ol,
- ul {
- padding-inline-start: 20px;
- }
- #app {
- display: flex;
- flex: 1;
- min-width: $minWidth;
- overflow: auto;
- -webkit-overflow-scrolling: touch;
- @include phone {
- min-width: auto;
- position: absolute;
- left: 0;
- top: 0;
- width: 100%;
- height: 100%;
- }
- }
- .u-unclickable {
- pointer-events: none;
- }
- .u-clickable {
- @extend %clickable;
- }
- .u-unselectable {
- pointer-events: none;
- user-select: none;
- }
- .u-no-userselect {
- user-select: none;
- }
- .u-textTruncate {
- white-space: nowrap;
- overflow: hidden;
- text-overflow: ellipsis;
- }
- .u-positionOrigin {
- position: relative;
- }
- .u-inlineBlock {
- display: inline-block;
- }
- .u-inlinePad {
- margin: 0 5px;
- }
- .u-notAllowed {
- cursor: not-allowed;
- }
- .u-overflow-wrap {
- word-break: break-word;
- @supports (overflow-wrap: anywhere) {
- overflow-wrap: anywhere;
- word-break: unset;
- }
- }
- .u-breakNormal.u-breakNormal {
- word-break: normal;
- @supports (overflow-wrap: normal) {
- overflow-wrap: normal;
- }
- }
- .u-breakWords.u-breakWords {
- word-break: break-word;
- @supports (overflow-wrap: break-word) {
- overflow-wrap: break-word;
- word-break: unset;
- }
- }
- .zIndex-1 {
- z-index: 100;
- }
- .zIndex-2 {
- z-index: 200;
- }
- .zIndex-3 {
- z-index: 300;
- }
- .zIndex-4 {
- z-index: 400;
- }
- .zIndex-5 {
- z-index: 500;
- }
- .zIndex-6 {
- z-index: 600;
- }
- .zIndex-7 {
- z-index: 700;
- }
- .zIndex-8 {
- z-index: 800;
- }
- .zIndex-9 {
- z-index: 900;
- }
- .zIndex-10 {
- z-index: 1000;
- }
- .zIndex-11 {
- z-index: 1100;
- }
- .zIndex-12 {
- z-index: 1200;
- }
- .clickCatcher {
- top: 0;
- left: 0;
- width: 100%;
- height: 100%;
- position: absolute;
- cursor: default;
- }
- .debug .clickCatcher {
- background: hsla(0, 100%, 50%, 0.13);
- }
- .debug .clickCatcher + .clickCatcher {
- background: hsla(50, 100%, 50%, 0.13);
- }
- .clearfix::after {
- visibility: hidden;
- display: block;
- font-size: 0;
- content: ' ';
- clear: both;
- height: 0;
- }
- .clearfix {
- display: inline-block;
- }
- /* start commented backslash hack \ */
- * html .clearfix {
- height: 1%;
- }
- .clearfix {
- display: block;
- }
- /* close commented backslash hack */
- /* Avoid too broad selectors, since they can affect unintended elements in third-party extensions (#5073). */
- [contenteditable='true'],
- .richtext-content[contenteditable] {
- display: block;
- outline-style: none;
- border-radius: 3px;
- /* needed to make empty tags editable, otherwise no focus can be set */
- min-height: 10px;
- min-width: 20px;
- &:hover,
- &:focus {
- background: var(--background-primary);
- }
- &:focus {
- text-overflow: clip !important;
- }
- &.invalid {
- background: #f92;
- }
- & > .placeholder {
- color: var(--text-muted);
- }
- p {
- margin: 0;
- }
- }
- /* fix for placeholder */
- .Medium-placeholder {
- position: relative;
- }
- .close,
- .close:hover {
- float: none;
- opacity: 1;
- }
- #app > nav {
- position: relative;
- z-index: 1;
- }
- code {
- background: var(--background-modifier-accent);
- border-radius: 3px;
- box-decoration-break: clone;
- }
- code,
- .hljs {
- padding: 2px 4px;
- font-size: 0.88em;
- }
- .hljs {
- background: none;
- @include dark {
- filter: invert(1);
- }
- }
- pre code.hljs {
- font-size: 1em;
- }
- pre {
- display: block;
- padding: 9.5px;
- margin: 0 0 20px;
- font-size: 13px;
- line-height: 1.42857143;
- word-break: break-all;
- word-wrap: break-word;
- background: var(--background-secondary);
- border: 1px solid var(--border);
- border-radius: 3px;
- }
- .modal-content pre {
- background: var(--background-modifier-accent);
- border-color: var(--background-modifier-border);
- }
- pre code {
- padding: 0;
- font-size: inherit;
- color: inherit;
- white-space: pre-wrap;
- background: none;
- border-radius: 0;
- border: none;
- overflow-x: auto;
- &.hljs {
- padding: 0;
- background: none;
- }
- }
- .textarea::placeholder,
- .form-control::placeholder,
- .token-input::placeholder,
- .u-placeholder {
- color: var(--ghost-color);
- }
- .btn {
- display: inline-block;
- font-size: 14px;
- padding: 10px 24px 9px;
- color: var(--text-normal);
- background: var(--button-background);
- border: 1px solid var(--border);
- outline: none !important;
- border-radius: 4px;
- text-align: center;
- white-space: nowrap;
- vertical-align: middle;
- text-decoration: none;
- @extend %clickable;
- @include phone {
- padding-left: 12px;
- padding-right: 12px;
- }
- .icon {
- vertical-align: middle;
- margin-top: -2px;
- @include bidi-style(margin-right, 5px, margin-right, -2px);
- @include bidi-style(margin-left, -2px, margin-right, 5px);
- flex-shrink: 0;
- &.icon-arrow-up {
- margin-top: -3px;
- }
- }
- span {
- min-width: 0;
- overflow: hidden;
- text-overflow: ellipsis;
- display: block;
- }
- &--only-icon .icon,
- &--icon-only .icon {
- margin-left: 0 !important;
- margin-right: 0 !important;
- }
- &--icon--last .icon {
- @include bidi-style(
- margin-left,
- 5px,
- margin-right,
- 0
- ); // so far only used in ticket_zoom secondaryAction dropup
- }
- &:focus {
- box-shadow: 0 0 0 3px var(--shadow-highlight);
- }
- &--small {
- padding-top: 5px;
- padding-bottom: 4px;
- &.btn--quad {
- padding: 4px 5px;
- }
- }
- &--slim {
- padding-left: 12px;
- padding-right: 12px;
- }
- &--fullWidth {
- width: 100%;
- text-align: center;
- justify-content: center;
- }
- &.is-disabled,
- &[disabled],
- &:disabled {
- pointer-events: none;
- cursor: not-allowed;
- opacity: 0.33;
- }
- &:active {
- box-shadow: none;
- background: var(--button-background-active);
- }
- &--capitalized {
- text-transform: capitalize;
- }
- &--action {
- text-transform: uppercase;
- color: var(--button-action-color);
- font-size: 12px;
- letter-spacing: 0.05em;
- height: 31px;
- padding: 0 11px !important;
- display: inline-flex;
- align-items: center;
- min-width: 0;
- .icon {
- @include ltr(margin, -2px 5px 0 -2px);
- @include rtl(margin, -2px -2px 0 5px);
- }
- .icon:only-child {
- margin: 0 !important;
- }
- &.btn--slim {
- padding-left: 7px !important;
- padding-right: 7px !important;
- .btn-label {
- @include bidi-style(margin-left, 0, margin-right, 0);
- }
- &.btn--small {
- padding-left: 5px !important;
- padding-right: 5px !important;
- }
- }
- &.btn--small {
- height: 26px;
- font-size: 11px;
- padding-left: 8px !important;
- padding-right: 8px !important;
- }
- }
- &-active-icon {
- display: none;
- }
- &--active {
- background: var(--button-active);
- color: var(--text-inverted);
- &:active {
- background: var(--button-active-active);
- }
- .btn-inactive-icon {
- display: none;
- }
- .btn-active-icon {
- display: inline;
- }
- }
- // used in .recipientList-controls
- &--onDark {
- background: var(--background-modifier-lighter);
- border-color: var(--background-modifier-accent-dark);
- color: var(--text-inverted);
- .icon {
- opacity: 1;
- }
- }
- &--primary {
- color: var(--button-primary-text);
- background: var(--button-primary-background);
- &:active {
- background: var(--button-primary-background-active);
- }
- .icon {
- opacity: 1;
- fill: currentColor;
- }
- }
- &--secondary {
- color: var(--button-primary-background);
- }
- &--positive,
- &--create,
- &--success {
- color: var(--text-inverted);
- background: hsl(145, 51%, 45%);
- &:active {
- background: hsl(145, 51%, 35%);
- }
- &.btn--secondary {
- background: var(--background-secondary);
- color: hsl(145, 51%, 45%);
- &:active {
- background: var(--button-background-active);
- }
- }
- &.btn--text {
- color: var(--supergood-color);
- }
- }
- &--danger {
- color: var(--text-inverted);
- background: var(--danger-color);
- &:active {
- background: linear-gradient(hsla(0, 0%, 0%, 0.1), hsla(0, 0%, 0%, 0.1)),
- linear-gradient(var(--danger-color), var(--danger-color));
- }
- &.btn--secondary {
- background: var(--background-secondary);
- color: var(--danger-color);
- &:active {
- background: var(--button-background-active);
- }
- }
- }
- &--text {
- display: inline-flex;
- align-items: center;
- font-size: inherit;
- margin: -10px;
- padding: 10px;
- color: var(--text-button-primary);
- border: none;
- background: none;
- vertical-align: baseline;
- text-align: start;
- .table & {
- margin: 0;
- min-height: 38px;
- }
- &.no-padding {
- padding: 0;
- margin: 0;
- min-height: auto;
- }
- .icon {
- opacity: 1;
- @include bidi-style(margin-left, -2px, margin-right, 6px);
- @include bidi-style(margin-right, 6px, margin-right, -2px);
- width: 16px;
- max-height: 16px;
- object-fit: contain;
- }
- &.btn--icon--last .icon {
- @include bidi-style(margin-left, 6px, margin-right, -2px);
- @include bidi-style(margin-right, -2px, margin-right, 6px);
- }
- &:active {
- color: var(--text-button-primary-active);
- background: none;
- }
- &.btn--secondary {
- color: var(--text-button-secondary);
- text-decoration: underline;
- &:active {
- opacity: 0.75;
- }
- }
- &.btn--positive {
- color: hsl(145, 51%, 45%);
- &:active {
- color: hsl(145, 51%, 30%);
- background: none;
- }
- }
- &.btn--danger {
- color: var(--danger-color);
- &:active {
- color: hsl(0, 65%, 40%);
- background: none;
- }
- }
- &.btn--subtle {
- text-decoration: underline;
- color: var(--text-button-secondary);
- &:active {
- opacity: 0.75;
- }
- }
- &.space-left {
- @include bidi-style(margin-left, 0, margin-right, -10px);
- }
- &.space-right {
- @include bidi-style(margin-right, 0, margin-left, -10px);
- }
- }
- &--large {
- &.btn--text {
- margin: 0;
- }
- }
- &--quad {
- padding: 10px 12px 9px;
- .icon {
- margin: -1px;
- }
- }
- &--split--first {
- @include bidi-style(border-radius, 3px 0 0 3px, border-radius, 0 3px 3px 0);
- }
- &--split,
- &--split--last {
- border-radius: 0;
- @include bidi-style(border-left-width, 0, border-right-width, 1px);
- @include ltr(margin-left, 0 !important);
- @include rtl(margin-right, 0 !important);
- .icon {
- margin-left: 2px !important;
- margin-right: 2px !important;
- }
- }
- &--split--last {
- @include bidi-style(border-radius, 0 3px 3px 0, border-radius, 3px 0 0 3px);
- }
- &--dropdown {
- position: relative;
- select {
- opacity: 0;
- width: 100%;
- height: 100%;
- left: 0;
- top: 0;
- position: absolute;
- @extend %clickable;
- }
- }
- }
- .btn + .btn,
- .btn + .buttonDropdown,
- .buttonDropdown + .buttonDropdown {
- @include bidi-style(margin-left, 10px, margin-right, 0);
- }
- .btn + .btn.align-right {
- @include bidi-style(margin-left, auto, margin-right, 0);
- }
- .btn.align-right ~ .btn {
- @include bidi-style(margin-left, 15px, margin-right, 0);
- }
- .vertical > .btn:not(.hidden) + .btn {
- @include bidi-style(margin-left, 0, margin-right, 0);
- margin-top: 10px;
- &--text {
- @include bidi-style(margin-left, -10px, margin-right, -10px);
- margin-top: 0;
- }
- }
- .btn--download .icon-download {
- margin-right: 6px;
- @include rtl(margin-right, -10px);
- margin-top: 4px;
- margin-left: -10px;
- @include rtl(margin-left, 6px);
- vertical-align: top;
- fill: var(--text-inverted);
- }
- .btn-label {
- @include bidi-style(margin-left, 7px, margin-right, 0);
- }
- .btn-show-all {
- &[aria-expanded='false'] [data-show='collapsed'],
- &[aria-expanded='true'] [data-show='open'] {
- display: none;
- }
- .icon {
- margin-left: 0;
- margin-right: 0;
- }
- }
- .visibility-change {
- /*
- Interactive Visibility Change Classes:
- <div class="visibility-change">
- <svg class="icon-marker" data-visible="active"><use xlink:href="#icon-marker" /></svg>
- </div>
- Important: HTML Order active > hover > normal
- */
- [data-visible='active'],
- [data-visible='hover'] {
- display: none;
- }
- &.is-active [data-visible='active'] {
- display: block;
- & ~ [data-visible='normal'] {
- display: none;
- }
- }
- &:hover [data-visible='hover'] {
- display: block;
- & ~ [data-visible='normal'] {
- display: none;
- }
- }
- }
- .btn-group {
- display: inline-flex;
- flex-wrap: wrap;
- &--full {
- display: flex;
- }
- & + .btn-group {
- margin-top: 10px;
- padding-top: 10px;
- border-top: 1px solid var(--border);
- }
- .btn {
- &:not(:first-child) {
- border-top-left-radius: 0;
- border-bottom-left-radius: 0;
- }
- &:not(:last-child) {
- border-top-right-radius: 0;
- border-bottom-right-radius: 0;
- border-right-width: 0;
- }
- + .btn {
- @include bidi-style(margin-left, 0, margin-right, 10px);
- }
- }
- .btn--text {
- padding: 6px 10px 5px; /* reporting main.eco */
- display: inline-block;
- border-radius: 3px;
- &.is-selected {
- background: var(--button-primary-background);
- color: var(--text-inverted);
- }
- }
- }
- .buttonDropdown {
- display: flex;
- align-items: center;
- position: relative;
- user-select: none;
- .dropdown-menu {
- margin-bottom: 0;
- }
- &.is-open .dropdown-menu {
- display: block;
- }
- .btn--text {
- padding-left: 13px;
- padding-right: 13px;
- }
- .dropdown-menu-accessories {
- cursor: pointer;
- &:focus {
- outline: none;
- .dropdown-menu {
- display: block;
- }
- .btn--split--last {
- box-shadow: 0 0 0 3px var(--shadow-highlight);
- pointer-events: initial;
- }
- }
- .btn--split--last {
- pointer-events: none;
- &:focus {
- box-shadow: none;
- pointer-events: none;
- }
- &:active {
- background-color: #429ed7;
- }
- }
- }
- }
- .dropdown-menu-right {
- @include rtl(right, auto);
- @include rtl(left, 0);
- }
- .dropdown-menu-left {
- @include rtl(left, auto);
- @include rtl(right, 0);
- }
- .status-fields {
- display: flex;
- max-width: 100%;
- @include phone {
- display: block;
- }
- .dropdown li {
- display: flex;
- align-items: center;
- padding: 0 10px;
- }
- .dropdown-menu .status-badge {
- margin-left: 10px;
- }
- .dropdown-menu .badge {
- margin-top: -2px;
- margin-right: 7px;
- background: hsla(0, 0%, 0%, 0.5);
- }
- }
- .status-field {
- border: 1px solid var(--border);
- background: var(--button-background);
- display: flex;
- height: 34px;
- flex-shrink: 1;
- min-width: 20px;
- padding: 5px 0;
- align-items: center;
- white-space: nowrap;
- text-overflow: ellipsis;
- overflow: hidden;
- @include phone {
- border-bottom-width: 0;
- }
- &.is-active {
- background: var(--button-primary-background);
- color: var(--text-inverted);
- border-color: var(--button-primary-background-active);
- box-shadow: 1px 0 var(--button-primary-background-active);
- position: relative;
- @extend %clickable;
- .icon {
- fill: currentColor;
- opacity: 1;
- }
- }
- &:not(:last-child, :only-child) {
- @include bidi-style(border-right-width, 0, border-left-width, 1px);
- @include phone {
- border-right-width: 1px !important;
- }
- }
- &:first-child {
- border-radius: 5px 0 0 5px;
- @include rtl(border-radius, 0 5px 5px 0);
- @include phone {
- border-radius: 5px 5px 0 0 !important;
- .dropdown & {
- flex: 1;
- border-top-right-radius: 0 !important;
- border-right-width: 0 !important;
- }
- }
- .dropdown.open & {
- border-radius: 5px 0 0;
- @include rtl(border-radius, 0 5px 0 0);
- @include phone {
- border-radius: 5px 0 0 !important;
- }
- }
- }
- &:last-child {
- border-radius: 0 5px 5px 0;
- @include rtl(border-radius, 5px 0 0 5px);
- @include phone {
- border-radius: 0 0 5px 5px !important;
- border-bottom-width: 1px;
- }
- }
- &:only-child {
- border-radius: 5px;
- @include phone {
- border-radius: 5px !important;
- }
- }
- .badge {
- @include bidi-style(margin, 0 7px 0 10px, margin, 0 10px 0 7px);
- background: hsla(210, 50%, 10%, 0.24);
- }
- .status-badge {
- width: 32px;
- display: inline-flex;
- align-items: center;
- justify-content: center;
- align-self: stretch;
- }
- &--arrow {
- @extend %clickable;
- border-left: none;
- width: 34px;
- justify-content: center;
- @include phone {
- border-top-right-radius: 5px !important;
- }
- }
- &--spacer {
- padding-left: 16px;
- padding-right: 2px;
- }
- }
- .status-badge {
- display: inline-block;
- }
- .info-badge {
- fill: currentColor;
- padding: 3px 6px 1px;
- line-height: 12px;
- opacity: 0.5;
- position: relative;
- /*
- border in its own layer to make it more
- translucend but still depend on the currentColor
- */
- &::after {
- content: '';
- position: absolute;
- width: 100%;
- height: 100%;
- left: 0;
- top: 0;
- border: 1px solid currentColor;
- opacity: 0.5;
- border-radius: 100%;
- }
- }
- @keyframes pulsate {
- to {
- filter: brightness(1.2);
- }
- }
- .badge {
- display: inline-block;
- min-width: 18px;
- padding: 3px 5px;
- font-size: 12px;
- font-weight: 500;
- line-height: 1;
- color: var(--text-inverted);
- text-align: center;
- white-space: nowrap;
- vertical-align: top;
- border-radius: 9px;
- background: var(--border-alt);
- @include bidi-style(margin-right, 3px, margin-left, 0);
- flex-shrink: 0;
- &:empty {
- display: none;
- }
- &.badge--big {
- min-width: 22px;
- font-size: 14px;
- border-radius: 11px;
- padding: 5px 7px 3px;
- }
- &.badge--text {
- min-width: 0;
- padding: 0;
- margin-right: 0;
- @include bidi-style(margin-right, 0, margin-left, 0);
- font-size: inherit;
- font-weight: inherit;
- text-align: inherit;
- line-height: inherit;
- color: var(--text-muted);
- background: none;
- border-radius: 0;
- vertical-align: baseline;
- }
- &.badge--primary {
- background: var(--highlight);
- }
- }
- .key-value {
- td:first-child {
- @include bidi-style(padding-right, 10px, padding-left, 0);
- color: var(--text-muted);
- }
- }
- table {
- table-layout: fixed;
- }
- .scroll-table-container {
- overflow: hidden;
- overflow-y: scroll;
- max-height: 244px;
- table > thead > tr > th {
- @extend .zIndex-2;
- top: 0;
- position: sticky;
- }
- }
- .table {
- display: table;
- small {
- color: inherit;
- }
- &-icon {
- max-width: 20px;
- max-height: 20px;
- object-fit: contain;
- vertical-align: middle;
- fill: hsla(0, 0%, 0%, 0.3);
- }
- &-buttons {
- padding-top: 0 !important;
- padding-bottom: 0 !important;
- height: 38px;
- display: flex;
- align-items: center;
- justify-content: flex-end;
- text-align: right;
- }
- }
- .table--light {
- color: var(--text-muted);
- }
- .table-fluid {
- table-layout: auto;
- }
- .table .table-row {
- display: table-row;
- }
- .table.table--placeholder {
- th {
- text-align: center;
- }
- td {
- height: 40px;
- }
- > thead > tr > th {
- background: var(--background-modifier-accent);
- }
- }
- .table th:not(.noTruncate) .table-column-title,
- .table td:not(.noTruncate) {
- @extend .u-textTruncate;
- }
- .table > thead > tr > th {
- padding: 12px 9px 10px;
- border-bottom: none;
- border-top: 1px solid #ececec;
- background: var(--background-primary-alt);
- color: var(--text-normal);
- font-weight: normal;
- font-size: 12px;
- text-transform: uppercase;
- letter-spacing: 0.05em;
- position: relative;
- user-select: none;
- }
- .table-column-head {
- display: flex;
- @extend %clickable;
- &-unclickable {
- cursor: default;
- }
- }
- .table-column-sortIcon {
- @include bidi-style(margin-left, auto, margin-right, 0);
- }
- th.align-right {
- .table-column-title {
- @include bidi-style(margin-left, auto, margin-right, 0);
- }
- .table-column-sortIcon {
- @include bidi-style(margin-left, 0, margin-right, 0);
- }
- }
- td.align-right {
- @include bidi-style(text-align, right, text-align, left);
- }
- .table-striped > tbody > tr:nth-child(2n + 1) {
- background-color: var(--background-secondary);
- }
- .table > tbody > tr > td {
- padding: 10px 10px 8px;
- border-color: var(--background-modifier-accent);
- &.no-side-padding {
- padding-left: 0;
- padding-right: 0;
- text-align: center;
- }
- }
- .table > tbody > tr.u-center > td {
- vertical-align: middle;
- }
- .table-hover > tbody > tr:hover,
- .table-hover > tbody > tr.is-hover {
- background: var(--background-secondary);
- }
- .table-hover-in-modal > tbody > tr:hover > td {
- background-color: var(--background-primary);
- }
- .table-hover > tbody > tr:hover > th {
- background: rgba(0, 8, 14, 0.015);
- }
- .table-col-resize {
- position: absolute;
- @include bidi-style(right, 0, left, auto);
- top: 0;
- height: 100%;
- cursor: col-resize;
- padding: 10px;
- @include bidi-style(margin-right, -10px, margin-left, 0);
- z-index: 1;
- &::after {
- content: '';
- display: block;
- width: 1px;
- height: 100%;
- background: var(--border);
- }
- }
- .table > thead:first-child > tr:first-child > th.no-padding,
- .table > thead > tr > th.no-padding,
- .table > tbody > tr > td.no-padding {
- padding: 0;
- }
- .table tr.is-inactive,
- .table tr td span.is-inactive {
- color: var(--text-muted);
- text-decoration: line-through;
- a {
- color: inherit;
- }
- }
- .table tr.is-grayed-out {
- color: var(--text-muted);
- .icon:not(.u-highlight),
- .btn span {
- opacity: 0.33;
- }
- .avatar {
- opacity: 0.5;
- }
- .avatar--unique {
- background: var(--background-secondary-hover);
- text-shadow: none;
- opacity: initial;
- }
- }
- td .icon {
- vertical-align: middle;
- margin-top: -3px;
- }
- td .icon-draggable,
- td .icon-trash {
- vertical-align: middle;
- }
- td .prefix-icon > .icon {
- vertical-align: top;
- }
- td .icon-cog {
- width: 16px;
- }
- .table-checkbox,
- .table-radio {
- padding: 0 !important;
- .icon {
- margin-top: 0;
- }
- }
- .table .table-sort-arrow {
- opacity: 1;
- width: 8px;
- height: 8px;
- @include bidi-style(margin-left, 3px, margin-right, 0);
- margin-top: -2px;
- vertical-align: middle;
- }
- .item {
- &--high-priority {
- a {
- color: $high-priority-color;
- }
- }
- &--low-priority {
- a {
- color: $low-priority-color;
- }
- }
- }
- .checkbox-list {
- list-style: none;
- margin-bottom: 15px;
- padding: 3px 12px;
- font-size: 14px;
- line-height: 25px;
- color: var(--text-normal);
- background: var(--background-secondary);
- border: 1px solid var(--border);
- border-radius: 3px;
- }
- .checkbox-replacement,
- .radio-replacement {
- padding: 0;
- margin: 0;
- display: flex;
- align-items: center;
- justify-content: center;
- position: relative;
- @extend .u-clickable;
- > .icon {
- vertical-align: middle;
- margin-top: -2px;
- fill: var(--button-background);
- @include dark {
- fill: transparent;
- }
- }
- .icon-checked {
- color: var(--interactive-primary);
- }
- .icon-unchecked {
- color: var(--text-muted);
- }
- .icon-indeterminate {
- display: none;
- color: var(--text-muted);
- }
- &.is-disabled {
- cursor: not-allowed;
- }
- &.checkbox-replacement--fullscreen,
- &.radio-replacement--fullscreen {
- position: absolute;
- left: 0;
- top: 0;
- width: 100%;
- height: 100%;
- }
- &.checkbox-replacement--inline,
- &.radio-replacement--inline {
- display: inline-flex;
- @include bidi-style(margin-right, 3px, margin-left, 0);
- }
- input[type='checkbox'],
- input[type='radio'] {
- position: absolute;
- opacity: 0;
- cursor: pointer;
- &:disabled {
- cursor: not-allowed;
- ~ .icon {
- opacity: 0.33;
- fill: none;
- }
- }
- &:not(:checked) ~ .icon-checked,
- &:checked ~ .icon-unchecked {
- display: none;
- }
- &:focus:not(.is-active) ~ .icon-checked,
- &:focus:not(.is-active) ~ .icon-unchecked {
- box-shadow:
- 0 0 0 2px var(--border-highlight),
- 0 0 0 3px var(--shadow-highlight);
- }
- }
- + .label-text {
- @include bidi-style(margin-left, 0, margin-right, 3px);
- }
- }
- .checkbox-replacement {
- &:indeterminate {
- ~ .icon-checked,
- ~ .icon-unchecked {
- display: none;
- }
- ~ .icon-indeterminate {
- display: block;
- }
- }
- }
- .radio-replacement {
- input:focus ~ .icon-checked,
- input:focus ~ .icon-unchecked {
- border-radius: 100%;
- }
- > .icon {
- margin-top: -3px;
- }
- }
- .table .checkbox-replacement,
- .table .radio-replacement {
- height: 40px;
- width: 40px;
- &.checkbox-replacement--fullscreen {
- width: 100%;
- height: 100%;
- }
- }
- .table-overview tbody .icon-checkbox,
- .table-overview tbody .icon-radio,
- .table-overview tbody .icon-checkbox-checked,
- .table-overview tbody .icon-radio-checked {
- fill: transparent;
- }
- .table .table-cell {
- vertical-align: top;
- display: table-cell;
- border-bottom: 1px solid var(--background-primary-alt);
- }
- .hero-two {
- width: 100%;
- }
- .hero-two .hero-left {
- width: 50%;
- float: left;
- }
- .hero-two .hero-right {
- width: 50%;
- float: right;
- }
- .max-size-scroll {
- max-height: 240px;
- overflow-y: scroll;
- }
- /*
- #content > *:not(.active) {
- display: none !important;
- }
- */
- h1,
- h2,
- h3,
- h4,
- h5,
- h6 {
- font-weight: normal;
- color: var(--header-primary);
- }
- h1 {
- font-size: 24px;
- line-height: 30px;
- }
- h2,
- h2.popover-title {
- font-size: 20px;
- line-height: 25px;
- }
- h3 {
- font-size: 16px;
- margin: 20px 0 8px;
- font-weight: normal;
- .subtitle {
- display: inline;
- font-size: 12px;
- text-transform: none;
- color: var(--text-muted);
- letter-spacing: initial;
- }
- }
- h4 {
- font-size: 13px;
- text-transform: uppercase;
- }
- h5 {
- font-size: 13px;
- font-weight: bold;
- }
- label,
- .checkbox.form-group label,
- .label {
- text-transform: uppercase;
- color: var(--text-muted);
- display: block;
- font-size: 13px;
- font-weight: normal;
- letter-spacing: 0.05em;
- margin-bottom: 4px;
- text-align: start;
- padding: 0;
- &.input-group-addon {
- color: var(--text-muted);
- }
- /* user-select: none; disabled because of chrome51 https://github.com/martini/zammad/issues/183 */
- h2 & {
- color: inherit !important;
- font-size: inherit;
- font-weight: inherit;
- letter-spacing: 0;
- margin-bottom: 0;
- padding: 0 !important;
- text-transform: inherit;
- }
- }
- /* circumventing the label:not(.inline-label) selector because it's too strong */
- .inline-label,
- .label-success,
- .label-warning,
- .label-danger {
- font-size: inherit;
- font-weight: inherit;
- text-align: inherit;
- color: inherit;
- letter-spacing: 0;
- margin: 0;
- text-transform: none;
- display: inline;
- }
- table {
- .inline-label,
- .label-success,
- .label-warning,
- .label-danger {
- white-space: nowrap; /* for labels in tables that might get crushed view: calendar_subscriptions */
- }
- }
- .label-text {
- @include bidi-style(margin-left, 3px, margin-right, 0);
- @extend %clickable;
- }
- .label-success,
- .label-warning,
- .label-danger {
- background: none;
- }
- .label-success {
- color: var(--supergood-color);
- }
- .label-highlight {
- color: var(--highlight);
- }
- .label-warning {
- color: var(--ok-color);
- }
- .label-danger {
- color: var(--superbad-color);
- }
- .label-subtle {
- color: var(--ghost-color);
- }
- .state-archived,
- .state-draft {
- color: hsl(0, 0%, 68%);
- }
- .state-published {
- color: var(--supergood-color);
- }
- .state-internal {
- color: var(--highlight);
- }
- fieldset {
- margin: 0 -4px;
- @extend .clearfix;
- @include phone {
- width: calc(100% + 8px);
- }
- h2,
- .help-text {
- margin-left: 4px;
- margin-right: 4px;
- }
- }
- .form-field-group {
- padding: 20px;
- background: var(--background-secondary);
- border-radius: 4px;
- margin-bottom: 16px;
- border: 1px solid var(--border);
- .modal-body & {
- background: var(--background-primary);
- }
- > .form-group:last-child {
- margin-bottom: 0;
- }
- }
- fieldset > .form-group {
- padding: 0 4px;
- }
- .form-group {
- margin-bottom: 16px;
- &.form-group--inactive {
- opacity: 0.5;
- }
- &.is-readonly .controls:not(.ignore-readonly) {
- pointer-events: none;
- cursor: not-allowed !important;
- }
- &.form-group--nested {
- @include bidi-style(padding-left, 30px, padding-right, 30px);
- }
- &.form-group--wide {
- @include bidi-style(margin-left, -30px, margin-right, -30px);
- }
- }
- .date.form-group .controls {
- position: relative;
- }
- .form-group + .form-group {
- margin-top: 0;
- }
- .merge-group {
- display: flex;
- align-items: stretch;
- &.merge-group--header {
- h2 {
- margin-bottom: 0;
- }
- label {
- display: inline;
- }
- .merge-source,
- .merge-target {
- border-bottom: 1px solid var(--border);
- }
- }
- .merge-target,
- .merge-source {
- flex: 1;
- width: 33%;
- display: flex;
- flex-direction: column;
- justify-content: flex-end;
- }
- .merge-source,
- .merge-target {
- padding-bottom: 3px;
- border-left: 1px solid var(--border);
- border-right: 1px solid var(--border);
- padding: 7px 13px;
- }
- &:first-of-type {
- margin-top: 6px;
- .merge-source,
- .merge-target {
- border-top: 1px solid var(--border);
- border-radius: 3px 3px 0 0;
- }
- }
- &:last-of-type {
- margin-bottom: 6px;
- .merge-source,
- .merge-target {
- border-bottom: 1px solid var(--border);
- border-radius: 0 0 3px 3px;
- }
- }
- .merge-value {
- margin-bottom: 3px;
- }
- .form-group {
- padding: 0;
- }
- .form-control {
- margin: 0 !important;
- }
- &.merge-group--multi {
- .merge-value + .merge-value {
- margin-top: 12px;
- }
- }
- }
- .merge-controls {
- flex: 1;
- align-self: flex-end;
- }
- .merge-control {
- margin-bottom: 5px;
- height: 31px;
- text-align: center;
- display: flex;
- flex: 1;
- justify-content: space-between;
- align-items: center;
- align-self: flex-end;
- }
- .merge-control-input {
- flex: 1;
- }
- .merge-arrow {
- margin: 0 12px;
- display: flex;
- align-items: center;
- justify-content: center;
- .line-arrow {
- fill: var(--border);
- }
- }
- .formGroup-label {
- padding: 0 2px;
- margin-bottom: 5px;
- position: relative;
- display: flex;
- align-items: center;
- h2 & {
- padding: 0;
- margin: 0;
- }
- label {
- margin: 0;
- }
- a[data-toggle='collapse'] > label {
- cursor: pointer;
- color: var(--text-link);
- }
- a[data-toggle='collapse'] {
- &:focus,
- &:active {
- text-decoration: underline;
- }
- &.collapsed {
- & svg {
- &.icon-arrow-right {
- display: inline;
- }
- &.icon-arrow-down {
- display: none;
- }
- }
- }
- &:not(.collapsed) {
- & svg {
- &.icon-arrow-right {
- display: none;
- }
- &.icon-arrow-down {
- display: inline;
- }
- }
- }
- }
- .bookmark.icon {
- margin-bottom: -1px;
- }
- .formGroup-metaControl {
- @extend .u-clickable;
- padding: 6px 4px;
- margin: -6px 0 -6px auto;
- font-size: 20px;
- line-height: 1;
- color: var(--interactive-muted);
- }
- }
- .formGroup-bookmark {
- @extend .u-clickable;
- display: flex;
- align-items: center;
- flex-direction: row-reverse;
- width: 30px;
- height: 30px;
- position: absolute;
- right: 0;
- top: -10px;
- }
- .form-group .controls .richtext {
- position: relative;
- height: auto;
- }
- .form-group .help-message {
- cursor: help;
- color: var(--interactive-muted);
- top: -2px;
- position: relative;
- @include bidi-style(margin-left, auto, margin-right, 0);
- .icon-help {
- display: block;
- }
- }
- .form-group:not(.formGroup--halfSize) {
- clear: left;
- }
- .form-group.formGroup--halfSize {
- width: 50%;
- float: left;
- @include phone {
- width: auto;
- float: none;
- }
- .form-control {
- min-width: initial;
- }
- }
- .formGroup--standalone .form-control {
- margin-bottom: 0;
- }
- .controls--select {
- position: relative;
- }
- .controls--datetime {
- position: relative;
- display: flex;
- }
- .controls--date {
- position: relative;
- }
- .controls--datetime {
- position: relative;
- display: flex;
- }
- .controls--date {
- position: relative;
- }
- .controls--grow {
- flex-grow: 1;
- }
- .controls-label {
- margin: 11px 10px 0;
- flex-shrink: 0;
- .form-control--small + & {
- margin-top: 7px;
- }
- }
- /* do not show safari auto fill icon - see issue #962 */
- input::-webkit-contacts-auto-fill-button {
- visibility: hidden;
- display: none !important;
- pointer-events: none;
- position: absolute;
- right: 0;
- }
- input[type='radio'],
- input[type='checkbox'] {
- margin: 0;
- }
- input[type='text'],
- input[type='password'],
- input[type='email'],
- input[type='date'],
- input[type='url'],
- textarea,
- .form-control,
- .form-group .checkbox,
- .form-group .radio {
- display: block;
- padding: 7px 12px;
- width: 100%;
- height: 41px;
- font-size: 14px;
- font-weight: normal;
- line-height: 25px;
- color: var(--text-normal);
- background: var(--background-secondary);
- border: 1px solid var(--border);
- border-radius: 3px;
- transition: none;
- box-shadow: none;
- outline: none;
- appearance: none;
- @include phone {
- font-size: 16px;
- }
- .modal-body &,
- .box &,
- .sidebar &,
- .hero-unit &,
- .form-field-group &,
- .popover & {
- background: var(--background-primary);
- }
- .modal-body .form-field-group &,
- .formset-inset & {
- background: var(--background-secondary);
- }
- &.form-control--small {
- padding: 5px 8px 4px;
- height: 30px;
- line-height: 20px;
- &[multiple] {
- height: auto;
- }
- &.form-control--multiline {
- min-height: 30px;
- }
- }
- &.form-control--inline {
- display: inline-block;
- width: auto;
- }
- &.form-control--multiline {
- height: auto;
- min-height: 41px;
- }
- &:focus,
- &:focus-within,
- &.focus {
- border-color: var(--border-highlight);
- box-shadow: 0 0 0 3px var(--shadow-highlight);
- }
- &.is-disabled, // .is-disabled should not be used - legacy support
- &[disabled],
- &[readonly] {
- background: var(--background-secondary);
- opacity: 0.38;
- &:focus,
- &.focus {
- border-color: var(--border-highlight);
- }
- }
- &.is-disabled, // .is-disabled should not be used
- &[disabled] {
- cursor: not-allowed;
- }
- }
- input[type='url'] {
- min-width: 400px;
- }
- .sidebar-content input[type='url'] {
- min-width: inherit;
- }
- .user-select.form-control {
- padding-right: 35px;
- min-width: 300px;
- }
- input[type='time'] {
- width: auto;
- padding-left: 6px;
- padding-right: 6px;
- }
- input.timeframe,
- input.time {
- box-sizing: content-box;
- padding: 0 6px;
- height: 39px;
- line-height: 42px;
- flex-shrink: 0;
- &.form-control--small {
- line-height: 20px;
- padding-top: 0;
- padding-bottom: 0;
- }
- }
- input.timeframe {
- width: 5.5ch;
- }
- input.time {
- width: 4.5ch;
- }
- input.time.time--12 {
- width: 7.5ch;
- }
- .tokenfield.focus {
- border-color: var(--border-highlight);
- box-shadow: 0 0 0 3px var(--shadow-highlight);
- }
- .richtext.form-control {
- padding: 0;
- }
- .richtext.form-control [contenteditable] {
- height: auto;
- min-height: 82px;
- background: none;
- padding: 7px 12px 35px;
- }
- .richtext.form-control [contenteditable='false'] {
- cursor: not-allowed;
- opacity: 0.38;
- border-color: var(--border);
- padding: unset;
- &:focus,
- &.focus {
- border-color: var(--border-highlight);
- }
- }
- .richtext.is-readonly [contenteditable='false'] {
- cursor: default;
- opacity: 1;
- padding: 7px 12px;
- }
- .richtext.form-control .attachments.attachments--list:not(:empty) {
- border-top: 1px solid var(--background-modifier-border);
- white-space: normal;
- margin: 0 -12px -28px;
- padding: 25px 20px 21px 72px;
- position: relative;
- line-height: 1;
- }
- .richtext-controls {
- display: flex;
- margin: 7px 7px 0;
- padding: 3px 5px 10px;
- border-bottom: 1px solid var(--background-modifier-border);
- @include phone {
- flex-wrap: nowrap;
- }
- }
- textarea.form-control {
- height: 118px;
- resize: vertical;
- &[rows] {
- height: auto;
- }
- }
- select.form-control:not([multiple]) {
- @include bidi-style(padding-right, 34px, padding-left, 12px);
- word-wrap: normal;
- }
- .form-control.is-hidden {
- display: none;
- }
- .form-control.form-control--borderless {
- border: none;
- padding: 0;
- line-height: inherit;
- height: auto;
- &:focus {
- box-shadow: none;
- }
- }
- select[multiple],
- select[multiple]:focus {
- option:checked {
- color: var(--interactive-primary);
- background: var(--ghost-color);
- }
- }
- .select.form-group,
- .user_autocompletion.form-group {
- .form-control:not([multiple]) {
- @include ltr(padding-right, 21px);
- }
- }
- .form-control + .icon-arrow-down,
- .dropdown-arrow {
- position: absolute;
- @include bidi-style(right, 12px, left, auto);
- top: 50%;
- margin-top: -3px;
- width: 13px;
- height: 7px;
- @extend .u-unclickable;
- }
- .dropdown-clear {
- position: absolute;
- padding: 1px;
- @include bidi-style(right, 12px, left, auto);
- &--with-arrow-icon {
- @include bidi-style(right, 35px, left, auto);
- }
- top: 50%;
- margin-top: -7px;
- border: 1px solid transparent;
- .icon-diagonal-cross {
- display: block;
- width: 10px;
- height: 10px;
- fill: var(--interactive-muted);
- }
- &:focus {
- outline: none;
- border-radius: 3px;
- border-color: var(--border-highlight);
- box-shadow: 0 0 0 3px var(--shadow-highlight);
- }
- }
- select::-ms-expand {
- display: none;
- }
- .has-error .form-control,
- .has-error .form-control:focus,
- .has-error .form-control.focus {
- box-shadow: none;
- border-color: var(--danger-color) !important;
- }
- input.has-error {
- box-shadow: none;
- border-color: var(--danger-color) !important;
- }
- .help-inline:not(:empty) {
- color: var(--danger-color);
- padding: 2px;
- font-size: 13px;
- }
- .zammad-form-modal-body {
- background: var(--background-primary) !important;
- }
- /* use on input[type=radio] */
- .primary-email-switch {
- display: none;
- & + label {
- font-size: 11px;
- color: var(--interactive-muted);
- margin: 0;
- @extend %clickable;
- }
- &:checked + label {
- color: var(--highlight);
- }
- }
- .primary-email-switch-label {
- text-overflow: ellipsis;
- overflow: hidden;
- white-space: nowrap;
- }
- .primary-email-switch + label {
- align-self: stretch;
- padding: 0 5px;
- display: flex;
- align-items: center;
- }
- .controls--button {
- display: flex;
- flex-wrap: wrap;
- .controls {
- flex: 1;
- }
- .help-inline,
- .help-block {
- flex-basis: 100%;
- }
- input,
- .form-control {
- flex: 1 1 0%;
- @include bidi-style(border-right-width, 0, border-left-width, 1px);
- @include bidi-style(
- border-top-right-radius,
- 0,
- border-top-left-radius,
- 3px
- );
- @include bidi-style(
- border-bottom-right-radius,
- 0,
- border-bottom-left-radius,
- 3px
- );
- &:focus + .controls-button {
- .controls-button-inner {
- border-color: var(--border-highlight);
- }
- /*
- fake the form-control outline
- */
- &::before {
- content: '';
- position: absolute;
- left: 0;
- @include rtl(left, -3px);
- top: -3px;
- right: -3px;
- @include rtl(right, 0);
- bottom: -3px;
- background: var(--shadow-highlight);
- @include bidi-style(
- border-radius,
- 0 7px 7px 0,
- border-radius,
- 7px 0 0 7px
- );
- }
- }
- }
- }
- .controls-button {
- position: relative;
- display: flex;
- &.is-active .icon {
- fill: var(--highlight);
- }
- }
- .controls-button-inner {
- display: flex;
- justify-content: center;
- align-items: center;
- padding: 0 10px;
- background: var(--background-secondary);
- position: relative;
- border: 1px solid var(--border);
- @include bidi-style(border-radius, 0 3px 3px 0, border-radius, 3px 0 0 3px);
- .icon {
- fill: var(--text-muted);
- }
- &:hover .icon {
- fill: currentColor;
- }
- }
- .searchfield {
- position: relative;
- margin-bottom: 20px;
- .icon-magnifier,
- .search-loader {
- @include bidi-style(left, 15px, right, auto);
- top: 12px;
- width: 17px;
- height: 17px;
- position: absolute;
- fill: var(--text-muted);
- transition: 0.1s 0s;
- pointer-events: none;
- }
- .search-loader {
- z-index: 2;
- opacity: 0;
- .icon {
- width: 17px;
- height: 17px;
- }
- }
- input[type='search'] {
- appearance: textfield;
- border-radius: 19px;
- padding: 0 17px 0 42px;
- @include rtl(padding, 0 42px 0 17px);
- will-change: transform;
- &.is-empty ~ .empty-search,
- &:placeholder-shown ~ .empty-search {
- visibility: hidden;
- }
- &.loading {
- ~ .search-loader {
- opacity: 1;
- transition: 0.2s 0.5s;
- }
- ~ .icon-magnifier {
- opacity: 0;
- transition: 0.2s 0.5s;
- }
- }
- }
- input[type='search']::-webkit-search-cancel-button,
- input[type='search']::-webkit-search-decoration {
- -webkit-appearance: none;
- }
- .empty-search {
- height: 100%;
- width: 50px;
- visibility: visible;
- .icon {
- width: 13px;
- height: 13px;
- fill: var(--text-muted);
- opacity: 0.5;
- }
- }
- }
- .content {
- overflow: auto;
- -webkit-overflow-scrolling: touch;
- position: relative;
- background-color: var(--background-primary);
- @include phone {
- @include bidi-style(margin-left, $mobileNavigationWidth, margin-right, 0);
- -webkit-overflow-scrolling: touch;
- .navigation.is-not-collapsed ~ & {
- transform: translateX(
- #{$mobileNavigationWidthOpen - $mobileNavigationWidth}
- );
- @include rtl(
- transform,
- translateX(-#{$mobileNavigationWidthOpen - $mobileNavigationWidth})
- );
- }
- }
- }
- .content.fit {
- padding: 10px;
- background: var(--background-tertiary);
- z-index: 501;
- }
- .fullscreenMessage {
- padding: 22px;
- display: flex;
- align-items: center;
- justify-content: center;
- flex: 1;
- .icon {
- @include bidi-style(margin-right, 14px, margin-left, 0);
- }
- .icon-error {
- margin-top: -2px;
- width: 19px;
- height: 19px;
- }
- .icon-checkmark {
- width: 21px;
- height: 18px;
- margin-right: 11px;
- margin-top: -2px;
- }
- h2 {
- margin: 0;
- }
- }
- .fullscreenMessage--placeholder {
- flex-direction: column;
- .icon {
- width: 100px;
- height: 100px;
- }
- h2 {
- margin: 15px;
- color: var(--text-muted);
- }
- }
- .selected-clue {
- position: relative;
- @extend .zIndex-11;
- pointer-events: none;
- }
- .modal--clue {
- display: flex;
- align-items: center;
- justify-content: center;
- z-index: 500;
- .modal-backdrop {
- bottom: 0;
- width: 200%;
- height: 200%;
- left: -100%;
- top: -100%;
- background: radial-gradient(
- var(--backdrop-clue-start),
- var(--backdrop-clue-end)
- );
- }
- .modal-spacer {
- position: absolute;
- opacity: 0;
- padding: 18px;
- @extend .zIndex-11;
- }
- .modal-arrow {
- background: inherit;
- width: 20px;
- height: 20px;
- position: absolute;
- margin: -10px 0 53px -10px;
- left: 0;
- top: 50%;
- transform: rotate(45deg);
- }
- .modal-spacer[data-position='above'] .modal-arrow {
- left: 50%;
- top: 100%;
- background: var(--background-primary);
- }
- .modal-spacer[data-position='below'] .modal-arrow {
- left: 50%;
- top: 0;
- }
- .modal-spacer[data-position='left'] .modal-arrow {
- left: 100%;
- top: 50%;
- }
- .modal-content {
- border: none;
- width: 300px;
- box-shadow:
- 0 8px 17px 0 rgba(0, 0, 0, 0.1),
- 0 6px 20px 0 rgba(0, 0, 0, 0.05);
- @include phone {
- width: 280px;
- }
- }
- .modal-controls {
- background: var(--background-primary);
- margin: 23px 0 0;
- padding: 10px;
- display: flex;
- align-items: center;
- justify-content: space-between;
- }
- .modal-control {
- padding-left: 14px;
- padding-right: 14px;
- .btn.is-disabled {
- color: var(--text-normal);
- }
- }
- .modal-header {
- padding-bottom: 7px;
- font-size: 18px;
- }
- .modal-body {
- max-width: 340px;
- }
- }
- .knowledge-base-content-can-be-published-dialog-current {
- margin-bottom: 20px;
- text-align: center;
- }
- .knowledge-base-content-can-be-published-dialog {
- display: flex;
- .side-panel {
- flex-grow: 1;
- width: 300px;
- }
- .call-to-action {
- display: flex;
- align-items: center;
- justify-content: center;
- }
- }
- .kb-sidebar-block-content {
- & .kb-item--invisible {
- opacity: 0.5;
- }
- & .kb-item--missing-translation,
- & .kb-item--missing-translation:active,
- & .kb-item--missing-translation:focus {
- color: hsl(45, 98%, 63%);
- }
- }
- .kb-menu-preview {
- margin-bottom: 1em;
- &-container {
- display: flex;
- flex-wrap: wrap;
- justify-content: flex-end;
- border: 1px solid var(--border-alt);
- &--footer {
- justify-content: center;
- }
- }
- a,
- span {
- font-size: 14px;
- padding: 0.5em 1em;
- white-space: nowrap;
- text-decoration: none;
- line-height: 2em;
- }
- a {
- color: inherit;
- }
- .label {
- text-transform: none;
- }
- }
- .modified-icon {
- position: relative;
- line-height: 1;
- display: block;
- .nav-pills > li > a & {
- align-self: center;
- }
- .modified-icon-modifier {
- bottom: 0;
- right: 0;
- position: absolute;
- z-index: 1;
- fill: var(--background-primary);
- margin: 0 -2px -1px 0;
- .nav-pills > li > a & {
- fill: var(--background-secondary);
- }
- .nav-pills > li:hover > a & {
- fill: var(--background-secondary-hover);
- }
- }
- .icon-knowledge-base-answer + .modified-icon-modifier {
- margin: 0 -1px 2px 0;
- }
- .icon-published-modifier {
- display: none;
- }
- }
- kbd {
- background: var(--background-modifier-accent);
- border-radius: 3px;
- border: 1px solid var(--background-modifier-border);
- box-shadow: var(--elevation-stroke);
- display: inline-block;
- font-size: 12px;
- margin: 0 1px;
- padding: 0 4px;
- vertical-align: top;
- }
- .form-stacked .checkbox label {
- color: inherit;
- font-size: 13px;
- text-transform: inherit;
- vertical-align: baseline;
- letter-spacing: inherit;
- }
- .pagination {
- margin: 0 0 0 19px;
- @include rtl(margin, 0 19px 0 0);
- display: flex;
- }
- .pagination-counter {
- margin: 0 0 0 19px;
- @include rtl(margin, 0 19px 0 0);
- line-height: 33px;
- color: var(--text-muted);
- }
- .page-header {
- margin: 0 0 15px;
- padding: 0;
- display: flex;
- align-items: center;
- flex-wrap: wrap;
- width: 100%;
- @include phone {
- align-items: flex-start;
- flex-wrap: nowrap;
- }
- }
- .page-header--center {
- justify-content: center;
- }
- .page-header-title {
- display: flex;
- align-items: center;
- .zammad-switch {
- @include bidi-style(margin-right, 9px, margin-left, 0);
- }
- h1,
- h2 {
- margin-top: 9px;
- margin-bottom: 7px;
- @include phone {
- margin-top: 4px;
- }
- }
- .suffix {
- margin-left: 5px;
- margin-top: 6px;
- display: inline-block;
- @include phone {
- margin-top: 4px;
- }
- }
- }
- .page-header-center {
- justify-self: center;
- @include bidi-style(padding-left, 9px, padding-right, 0);
- margin: 0 auto;
- & + .page-header-meta {
- @include bidi-style(margin-left, 0, margin-right, auto);
- flex: none;
- }
- }
- .page-header-meta {
- @include bidi-style(margin-left, auto, margin-right, 0);
- @include bidi-style(padding-left, 20px, padding-right, 0);
- display: flex;
- justify-content: flex-end;
- flex: 1;
- min-width: 0; /* firefox flexbug */
- @include phone {
- flex: 0 1 auto;
- min-width: auto;
- }
- .btn {
- overflow: hidden;
- text-overflow: ellipsis;
- white-space: nowrap;
- @include phone {
- flex-shrink: 0;
- }
- }
- .btn + .btn {
- @include bidi-style(margin-left, 9px, margin-right, 0);
- }
- }
- .page-content {
- .formGroup-label label,
- .label {
- color: var(--header-secondary);
- }
- .content-controls-align-right {
- display: flex;
- justify-content: flex-end;
- }
- }
- .page-body--two-column {
- display: flex;
- }
- .page-aside {
- @include bidi-style(padding-right, 20px, padding-left, 0);
- @include bidi-style(border-right, 1px solid var(--border), border-left, none);
- @include bidi-style(margin-right, 20px, margin-left, 0);
- width: 240px;
- flex-shrink: 0;
- flex-grow: 0;
- }
- .page-main {
- flex: 1;
- }
- .page-loading {
- min-height: 500px;
- flex-grow: 1;
- display: flex;
- align-items: center;
- justify-content: center;
- }
- .popover .page-loading {
- min-height: 100px;
- }
- .page-loading-label {
- @include bidi-style(margin-left, 10px, margin-right, 0);
- margin-top: 1px;
- }
- .dropdown-menu .count {
- padding-top: 1px;
- @include bidi-style(margin-left, 10px, margin-right, 0);
- }
- .help-text,
- .help-block {
- color: var(--text-muted);
- }
- .help-block {
- margin: 0;
- font-size: 13px;
- &.help-block--center {
- text-align: center;
- }
- }
- .help-block:not(:empty) {
- margin: 8px 2px 0;
- }
- /* replace music icon with attachment */
- .icon-attachment {
- background-position: -24px 0;
- }
- /*
- * hero-unit (used on getstarted, login, signup)
- */
- .hero-unit {
- width: 500px;
- margin: 10px 0;
- padding: 23px 25px;
- border: 1px solid var(--border);
- color: var(--text-normal);
- background-color: var(--background-secondary);
- border-radius: 6px;
- box-shadow: var(--fullscreen-drop-shadow);
- @include phone {
- width: auto;
- padding: 12px 15px;
- }
- .inline-label {
- font-size: inherit;
- }
- }
- .hero-unit h1,
- .hero-unit h2 {
- margin-top: 0;
- }
- .getstarted,
- .reset_password,
- .request_admin_password_auth,
- .signup,
- .darkBackground,
- .login {
- padding: 10px;
- background: var(--fullscreen-background);
- }
- .content.getstarted {
- padding: 0;
- .main {
- padding: 20px 10px;
- }
- }
- .login,
- .reset_password,
- .request_admin_password_auth,
- .signup {
- padding: 24px;
- color: var(--fullscreen-text);
- a {
- color: var(--fullscreen-text-link);
- &.text-muted {
- color: inherit;
- }
- }
- }
- .login {
- .form-controls {
- flex-direction: column;
- .btn {
- width: 100%;
- }
- .btn--text {
- display: block;
- overflow: hidden;
- text-overflow: ellipsis;
- margin: initial;
- text-align: center;
- }
- .btn + .btn:not(.align-right) {
- margin-left: initial;
- margin-right: initial;
- }
- }
- .help-text {
- margin-top: 10px;
- text-align: left;
- }
- }
- .login .hero-unit {
- width: 430px;
- margin: 0 0 28px;
- @include phone {
- width: auto;
- }
- }
- .login .company-logo {
- max-height: 100px;
- max-width: 200px;
- margin: 20px auto 42px;
- display: block;
- @include phone {
- margin: 15px auto 28px;
- }
- }
- .login p,
- .reset_password p,
- .signup p {
- margin: 0 auto 22px;
- max-width: 400px;
- text-align: center;
- @include phone {
- margin: 0 auto 15px;
- }
- }
- .reset_password p,
- .signup p {
- padding-top: 28px;
- }
- .login hr {
- margin: 0 auto 22px;
- width: 100%;
- max-width: 400px;
- }
- .login p a,
- .reset_password p a,
- .signup p a {
- text-decoration: underline;
- }
- .poweredBy {
- display: flex;
- align-items: center;
- justify-content: center;
- color: var(--fullscreen-text-muted);
- margin: 34px 0 10px -16px;
- @include rtl(margin, 34px -16px 10px 0);
- cursor: default;
- a {
- color: inherit;
- }
- .icon-logo {
- @include bidi-style(margin-right, 8px, margin-left, 0);
- margin-top: -11px;
- }
- .logotype {
- @include bidi-style(margin-left, 7px, margin-left, 0);
- margin-top: -3px;
- }
- }
- .fullscreen {
- @extend .fit;
- display: flex;
- flex-direction: column;
- align-items: center;
- width: 100%;
- height: 100%;
- min-height: 100vh;
- overflow: auto;
- -webkit-overflow-scrolling: touch;
- }
- .fullscreen p {
- color: var(--fullscreen-text);
- }
- .fullscreen-center {
- margin: auto;
- }
- .fullscreen-body {
- text-align: start;
- display: inline-block;
- }
- ol.tabs {
- list-style: decimal inside;
- }
- ol.tabs li {
- display: list-item;
- }
- .tabs {
- display: flex;
- flex-flow: wrap;
- padding: 0;
- margin-bottom: 20px;
- color: var(--interactive-muted);
- border: 1px solid var(--border);
- border-right: 0;
- border-bottom: 0;
- border-radius: 3px;
- background: var(--background-secondary);
- @include phone {
- overflow: auto;
- -webkit-overflow-scrolling: touch;
- }
- }
- .tabs-condensed .tab {
- padding-left: 5px;
- padding-right: 5px;
- }
- .progress-tabs .tab {
- cursor: default;
- }
- .tab {
- color: inherit;
- height: 35px;
- padding: 8px 20px;
- display: flex;
- justify-content: center;
- align-items: center;
- min-width: 0;
- flex-grow: 1;
- @extend .u-clickable;
- @include phone {
- flex-shrink: 0;
- display: block;
- text-align: center;
- }
- &.active {
- color: var(--text-inverted);
- background: var(--button-active);
- box-shadow: none;
- flex-shrink: 0;
- }
- &-name {
- min-width: 20px;
- text-align: center;
- white-space: nowrap;
- overflow: hidden;
- text-overflow: ellipsis;
- }
- &-badge {
- flex-shrink: 0;
- @include bidi-style(margin-left, 6px, margin-right, 0);
- font-size: 13px;
- margin-right: -7px;
- background: var(--background-modifier-accent);
- min-width: 21px;
- padding: 0 7px;
- height: 21px;
- line-height: 21px;
- white-space: nowrap;
- text-align: center;
- display: inline-block;
- border-radius: 999px;
- }
- }
- .tab-dropdown {
- position: relative;
- display: flex;
- align-items: center;
- justify-content: center;
- .arrow {
- @include bidi-style(margin-left, 10px, margin-right, 0);
- opacity: 0.75;
- }
- .icon {
- fill: var(--text-muted);
- }
- &.active {
- background: var(--background-secondary);
- .icon {
- opacity: 1;
- }
- }
- }
- .tab:nth-child(n) {
- border-right: 1px solid var(--border);
- border-bottom: 1px solid var(--border);
- }
- .tabs.tabs--inline {
- display: inline-flex;
- margin-left: 0;
- margin-right: 0;
- .tab {
- flex: none;
- &:nth-last-child(2) {
- @include bidi-style(border-right-width, 0, border-right-width, 1px);
- }
- }
- }
- .tabs--big {
- margin: 28px auto;
- font-size: 14px;
- border-radius: 8px;
- @include phone {
- margin: 5px auto 28px;
- }
- .tab {
- height: auto;
- padding: 10px 23px 9px;
- @include phone {
- padding: 8px 20px;
- }
- &:first-child {
- border-radius: 8px 0 0 8px;
- @include rtl(border-radius, 0 8px 8px 0);
- }
- &:last-child {
- border-radius: 0 8px 8px 0;
- @include rtl(border-radius, 8px 0 0 8px);
- }
- &:only-child {
- border-radius: 8px;
- }
- }
- .tab-dropdown {
- padding-left: 18px;
- padding-right: 15px;
- @include rtl(padding-left, 15px);
- @include rtl(padding-right, 18px);
- }
- }
- .dashboard .tabs--big {
- width: 50%;
- @include phone {
- width: auto;
- }
- }
- .separator {
- margin: 20px 0;
- position: relative;
- text-align: center;
- }
- .separator::before {
- content: '';
- position: absolute;
- width: 100%;
- height: 1px;
- top: 50%;
- left: 0;
- background: var(--border);
- }
- .separator-text {
- padding: 0 10px;
- color: var(--text-muted);
- font-size: 12px;
- letter-spacing: 0.05em;
- text-transform: uppercase;
- background: var(--background-secondary);
- display: inline-block;
- position: relative;
- }
- .auth-providers {
- display: flex;
- flex-wrap: wrap;
- padding: 7px;
- margin: -14px;
- > form {
- display: flex;
- flex-grow: 1;
- min-width: 50%;
- }
- }
- .auth-provider {
- height: 40px;
- padding: 0 10px 0 7px;
- margin: 7px;
- color: white !important;
- line-height: 23px;
- border-radius: 4px;
- display: flex;
- flex-grow: 1;
- justify-content: center;
- align-items: center;
- text-decoration: none;
- border: none;
- text-align: initial;
- white-space: nowrap;
- overflow: hidden;
- @extend %clickable;
- &.auth-provider--wide {
- padding-right: 25px;
- }
- &.auth-provider--facebook {
- background: #4f699c;
- }
- &.auth-provider--google {
- background: hsl(0, 0%, 93%);
- color: hsl(0, 0%, 46%) !important;
- }
- &.auth-provider--twitter {
- background: #2daee1;
- }
- &.auth-provider--email {
- background: #ffd22e;
- }
- &.auth-provider--linkedin {
- background: #006087;
- }
- &.auth-provider--github {
- background: hsl(0, 0%, 27%);
- }
- &.auth-provider--gitlab {
- background: hsl(10, 78%, 53%);
- }
- &.auth-provider--microsoft {
- background: hsl(0, 0%, 93%);
- color: hsl(0, 0%, 46%) !important;
- }
- &.auth-provider--weibo {
- background: hsl(0, 0%, 27%);
- }
- &.auth-provider--saml {
- background: hsl(0, 0%, 27%);
- }
- &.auth-provider--sso {
- background: #454545;
- }
- .provider-icon {
- width: 29px;
- height: 24px;
- flex-shrink: 0;
- @include bidi-style(margin-right, 10px, margin-left, 0);
- }
- .provider-name {
- overflow: hidden;
- text-overflow: ellipsis;
- }
- }
- /*
- global icon definitions
- =======================
- */
- [data-font] {
- font-style: normal;
- text-rendering: auto;
- font-feature-settings: 'liga';
- -webkit-font-smoothing: antialiased;
- -moz-osx-font-smoothing: grayscale;
- font-size: 16px;
- }
- [data-font='FontAwesome'] {
- font-size: 14px;
- }
- [data-font='material'] {
- font-size: 18px;
- }
- [data-font='ionicons'] {
- font-size: 18px;
- }
- .icon {
- fill: currentColor;
- &--md {
- width: 2rem;
- height: 2rem;
- }
- }
- [class*='icon-file-'] {
- color: var(--file-icon-background);
- fill: var(--file-icon-color);
- }
- .icon-arrow-down,
- .icon-arrow-up,
- .icon-arrow-left,
- .icon-arrow-right {
- fill: var(--text-muted);
- opacity: 0.39;
- .btn--action & {
- opacity: var(--interactive-primary);
- }
- .btn--success & {
- fill: var(--text-inverted);
- opacity: 1;
- }
- }
- .icon-arrow-left,
- .icon-arrow-right {
- &.arrow--x2 {
- width: 14px;
- height: 26px;
- }
- }
- .icon-arrow-left,
- .icon-arrow-right,
- .icon-line-left-arrow,
- .icon-line-right-arrow,
- .icon-long-arrow-right {
- @include rtl(transform, scaleX(-1));
- }
- .arrow--disabled {
- opacity: 0.23;
- }
- .icon-checkmark {
- fill: var(--supergood-color);
- }
- .icon-error {
- fill: var(--superbad-color);
- }
- .icon-danger {
- color: hsl(41, 100%, 49%);
- .alert.alert--warning & {
- color: inherit;
- }
- }
- .icon-draggable {
- opacity: 0.3;
- .table-draggable & {
- vertical-align: middle;
- cursor: move;
- }
- }
- .loading.icon {
- display: inline-block;
- width: 30px;
- height: 30px;
- background: hsl(145, 51%, 45%);
- animation: rotateplane 1.2s infinite ease-in-out;
- }
- .small.loading.icon {
- width: 20px;
- height: 20px;
- }
- .tiny.loading.icon {
- width: 12px;
- height: 12px;
- }
- .loading.icon.muted {
- background: var(--ghost-color);
- }
- @keyframes rotateplane {
- 0% {
- transform: perspective(120px) rotateX(0deg) rotateY(0deg);
- }
- 50% {
- transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg);
- }
- 100% {
- transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);
- }
- }
- .icon-spinner-medium {
- animation: spinIcon 0.9s steps(12) infinite;
- }
- .icon-spinner-small {
- animation: spinIcon 0.9s steps(8) infinite;
- }
- @keyframes spinIcon {
- to {
- transform: rotate(-1turn);
- }
- }
- .color-swatch {
- padding: 2px;
- margin: -2px 0 -4px;
- @extend %clickable;
- /* :after technique for bigger click area */
- &::after {
- content: '';
- display: inline-block;
- height: 11px;
- width: 11px;
- border-radius: 100%;
- background: currentColor;
- }
- }
- .icon-status {
- fill: var(--ok-color);
- &.inline {
- margin-top: -3px;
- vertical-align: middle;
- }
- &.inactive {
- fill: var(--ghost-color);
- }
- &.ok {
- fill: var(--supergood-color);
- }
- &.error {
- fill: var(--superbad-color);
- }
- &.neutral {
- fill: var(--ok-color);
- }
- }
- .icon-status-modified-inner-circle {
- position: absolute;
- left: 50%;
- top: 0;
- will-change: opacity;
- transform: translate3d(-50%, 0, 0);
- animation: fade 1.8s ease-in-out infinite;
- }
- @keyframes fade {
- 54% {
- opacity: 1;
- }
- 90% {
- opacity: 0;
- }
- 100% {
- opacity: 1;
- }
- }
- .icon-checkbox,
- .icon-checkbox-checked,
- .icon-checkbox-indeterminate {
- fill: var(--text-inverted);
- }
- .icon-sso-button {
- fill: var(--text-inverted);
- }
- /*
- * removed margin of forms to not break the layout with submit buttons within <form></form> area e. g. for modal dialogs
- */
- .form {
- margin: 0;
- &--flexibleWidth .controls {
- display: table;
- }
- &--horizontal {
- display: flex;
- flex-wrap: wrap;
- align-items: flex-end;
- .alert {
- flex-basis: 100%;
- }
- fieldset {
- flex: 1 1 auto;
- margin-right: 6px;
- }
- .form-group:last-child {
- margin-bottom: 0;
- }
- .form-buttons {
- margin: 10px 10px 0 auto;
- }
- .controls {
- min-width: 250px;
- }
- }
- &--grid {
- display: flex;
- flex-wrap: wrap;
- width: calc(100% + 20px);
- margin-left: -10px;
- margin-right: -10px;
- @include phone {
- display: block;
- }
- fieldset {
- flex-basis: 100%;
- display: flex;
- flex-wrap: wrap;
- }
- .alert {
- width: 100%;
- margin-left: 10px;
- margin-right: 10px;
- margin-bottom: 10px;
- margin-top: 0;
- }
- .form-group {
- display: block;
- padding: 0 10px;
- width: 100%;
- $sizes: '1/2', '1/3', '2/3', '1/4', '2/4', '3/4', '1/5', '2/5', '3/5',
- '4/5';
- @each $size in $sizes {
- &[data-width='#{$size}'] {
- width: calc(#{$size} * 100%);
- @include phone {
- width: 100%;
- }
- }
- }
- }
- }
- }
- .form-controls {
- @extend .clearfix;
- display: flex;
- align-items: center;
- margin-top: 10px;
- .btn + .btn:not(.align-right) {
- @include bidi-style(margin-left, 20px, margin-right, 10px);
- }
- &--inline {
- margin-top: 0;
- & > * {
- @include bidi-style(margin-right, 10px, margin-left, 10px);
- }
- }
- }
- .form-buttons {
- display: flex;
- }
- form a.standalone {
- line-height: 40px;
- margin: 0 5px;
- }
- form a.standalone.align-right {
- @include bidi-style(margin-left, auto, margin-right, 0);
- }
- footer {
- clear: both;
- padding-top: 10px;
- padding-left: 10px;
- padding-right: 22px;
- @include rtl(padding-left, 22px);
- @include rtl(padding-right, 10px);
- }
- .overviews {
- .sidebar {
- @include small-desktop {
- display: none;
- }
- }
- .table > tbody > tr > td {
- user-select: none;
- }
- }
- .overview-header {
- position: relative;
- margin: 20px 0 32px;
- height: 41px;
- display: none;
- align-items: center;
- @include phone {
- margin-top: 0;
- }
- .tabsHolder {
- flex: 1;
- @include bidi-style(margin-right, 20px, margin-left, 0);
- min-width: 0; /* Firefox bug fix */
- }
- .tabs {
- margin: 0;
- position: relative;
- @include phone {
- overflow: visible;
- }
- }
- .tab {
- @include phone {
- flex-shrink: 1;
- }
- }
- .tabs-clone {
- right: 0;
- }
- .dropdown {
- min-width: 0;
- width: 336px;
- @include phone {
- left: -1px;
- right: auto;
- width: calc(100vw - 70px);
- }
- }
- @include small-desktop {
- display: flex;
- }
- }
- .table-overview {
- @include phone {
- margin-left: -10px;
- margin-right: -10px;
- }
- }
- .tableOverview-edit {
- @extend .u-clickable, .u-highlight;
- }
- .bulkAction {
- position: fixed;
- bottom: 0;
- @include bidi-style(left, $sidebarWidth + $navigationWidth, right, 0);
- min-width: $minWidth - $sidebarWidth - $navigationWidth;
- background: var(--background-secondary);
- z-index: 1;
- box-shadow:
- 0 -1px rgba(0, 0, 0, 0.05),
- 0 -2px rgba(0, 0, 0, 0.03),
- 0 -3px rgba(0, 0, 0, 0.01);
- @include small-desktop {
- @include bidi-style(left, $navigationWidth, right, 0);
- min-width: $minWidth - $sidebarWidth;
- }
- @include desktop {
- @include bidi-style(
- left,
- $desktopSidebarWidth + $navigationWidth,
- right,
- 0
- );
- min-width: $minWidth - $desktopSidebarWidth;
- }
- &.no-sidebar {
- @include bidi-style(left, $navigationWidth, right, 0);
- min-width: $minWidth - $navigationWidth;
- @include small-desktop {
- min-width: $minWidth;
- }
- }
- @include phone {
- @include bidi-style(left, $mobileNavigationWidth, right, 0);
- min-width: 0;
- .navigation.is-not-collapsed ~ & {
- @include bidi-style(left, $mobileNavigationWidthOpen, right, 0);
- }
- }
- }
- .bulkAction-firstStep {
- display: flex;
- align-items: center;
- @include phone {
- flex-direction: column;
- align-items: flex-end;
- }
- .form-group.tree_select {
- overflow: visible;
- }
- }
- .bulkAction-firstStep .has-error {
- border-color: red !important;
- border: 1px solid;
- }
- .bulkAction-secondStep {
- display: flex;
- flex-direction: column;
- &-bottom {
- display: flex;
- @include phone {
- display: block;
- }
- }
- }
- .bulkAction .btn {
- margin: 0 16px;
- @include phone {
- margin: 10px;
- }
- }
- .bulkAction .btn--text {
- @include bidi-style(margin-right, 0, margin-left, 16px);
- }
- .bulkAction-controls {
- margin-top: 10px;
- @include bidi-style(margin-left, auto, margin-right, 0);
- @include phone {
- margin-top: 0;
- display: flex;
- justify-content: space-between;
- }
- }
- .panel {
- box-shadow: none;
- background: var(--background-secondary);
- color: var(--text-normal);
- }
- .panel-default {
- border-color: var(--border-alt);
- }
- .panel-default > .panel-heading {
- padding-bottom: 8px;
- font-weight: normal;
- text-transform: uppercase;
- font-size: 12px;
- line-height: 17px;
- letter-spacing: 0.05em;
- color: inherit;
- background: var(--background-primary-alt);
- border-color: var(--border-alt);
- + .panel-collapse > .panel-body {
- border-top-color: var(--border-alt);
- }
- }
- .panel-title {
- font-size: inherit;
- }
- .panel-group .panel-heading {
- display: block;
- }
- .panel-body ul {
- list-style: none;
- padding: 0;
- margin: 0;
- }
- .well {
- background: var(--background-secondary);
- border: 1px solid var(--border);
- border-radius: 3px;
- padding: 10px;
- }
- .well-muted {
- background-color: var(--background-secondary);
- border: 1px solid rgba(0, 0, 0, 0.05);
- border-radius: 4px;
- box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
- }
- .merged,
- .merge:hover {
- text-decoration: line-through;
- }
- .translation {
- border: 1px dotted #f92;
- border-radius: 3px;
- cursor: text;
- }
- .translation[contenteditable='true'] {
- display: inline;
- }
- .translation[contenteditable='true']:hover,
- .translation[contenteditable='true']:focus {
- background: none;
- }
- .translation .icon-edit {
- display: none;
- }
- .translation:hover .icon-edit {
- display: inline-block;
- }
- .translationOverview .btn + .btn {
- margin: -10px;
- }
- .sub_attribute .control-label {
- width: 60px;
- }
- .sub_attribute .controls {
- @include bidi-style(margin-left, 80px, margin-right, 0);
- }
- .splash {
- position: absolute;
- left: 0;
- top: 0;
- width: 100%;
- height: 100%;
- background: var(--background-primary);
- display: flex;
- align-items: center;
- justify-content: center;
- font-size: 16px;
- color: var(--text-normal);
- .icon {
- @include bidi-style(margin-right, 10px, margin-left, 0);
- }
- }
- .navigation {
- width: $navigationWidth;
- background: var(--menu-background-primary);
- border: var(--menu-border);
- position: relative;
- container-name: navigation;
- container-type: inline-size;
- @include phone {
- position: absolute;
- @include bidi-style(left, 0, right, auto);
- top: 0;
- left: 0;
- width: $mobileNavigationWidth;
- height: 100%;
- z-index: 999;
- &:empty {
- display: none !important;
- }
- &.is-not-collapsed {
- width: $mobileNavigationWidthOpen;
- .menu-item-name {
- display: block;
- padding-left: 15px;
- }
- }
- }
- }
- @container navigation (width = 50px) {
- .icon-double-arrow-left {
- display: none;
- }
- }
- @container navigation (width > 50px) {
- .icon-double-arrow-right {
- display: none;
- }
- }
- .menu {
- padding: 0;
- margin: 0;
- list-style: none;
- flex-shrink: 0;
- }
- .menu .badge {
- background: var(--ok-color);
- color: hsl(233, 10%, 16%);
- @include bidi-style(margin-right, 8px, margin-left, 0);
- }
- .menu .zammad-switch {
- height: 22px;
- }
- .menu .dropdown-menu {
- left: 10px;
- right: 15px;
- min-width: 0;
- }
- .menu-item {
- padding: 0 15px;
- height: 48px;
- color: var(--menu-text);
- border-bottom: 1px solid hsla(230, 4%, 84%, 0.05);
- text-decoration: none;
- display: flex;
- align-items: center;
- @extend %clickable;
- @include phone {
- padding: 0 13px;
- position: relative;
- }
- .icon {
- fill: var(--menu-icon);
- &.accessory-icon {
- opacity: 0.7;
- }
- }
- &:hover {
- background: var(--menu-background-primary-hover);
- border-bottom-color: hsla(230, 4%, 84%, 0.1);
- }
- &.is-active,
- &.is-hovered {
- background: var(--menu-background-active);
- color: var(--menu-text-active);
- }
- &.is-active .menu-item-icon,
- &.is-active .dropdown-icon,
- &.is-hovered .menu-item-icon {
- fill: currentColor;
- }
- &.is-active .zammad-switch {
- input:not(:checked) + label {
- // switch background
- background: var(--button-primary-background-active);
- }
- label::after {
- background: var(--menu-switch-pointer-active);
- }
- }
- .dropdown-icon {
- fill: currentColor;
- }
- .zammad-switch {
- @include phone {
- .navigation:not(:hover, :active, .is-not-collapsed) & {
- position: absolute;
- right: 12px;
- top: 12px;
- width: auto;
- height: auto;
- border-radius: 0;
- input:checked + label {
- background: var(--supergood-color);
- }
- label {
- width: 8px;
- height: 8px;
- background: red;
- border-radius: 100%;
- transition: none;
- &::after {
- display: none;
- }
- }
- }
- }
- }
- &-navigation-toggle-button {
- justify-content: center;
- border-top: 1px solid rgba(213, 213, 216, 0.05);
- border-bottom: none;
- @include desktop {
- display: none;
- }
- @container navigation (width > 50px) {
- justify-content: flex-end;
- }
- }
- }
- .menu-item-icon {
- @include bidi-style(margin-right, 15px, margin-left, 0);
- width: 24px;
- height: 24px;
- @include phone {
- @include bidi-style(margin-right, 0, margin-left, 0);
- }
- }
- .menu-item-name {
- flex: 1;
- margin-top: 2px;
- @include phone {
- display: none;
- }
- }
- .call-widgets {
- overflow-y: auto;
- max-height: 30vh;
- }
- .call-widget {
- background: var(--background-quaternary-alt);
- padding: 8px 10px;
- & + & {
- border-top: 1px solid var(--background-modifier-border);
- }
- &-header {
- display: flex;
- color: inherit;
- margin-bottom: 3px;
- .label {
- color: inherit;
- margin: 0;
- }
- .btn--text {
- color: inherit;
- opacity: 0.5;
- &:hover {
- opacity: 1;
- }
- }
- .icon-diagonal-cross {
- width: 9px;
- height: 9px;
- margin-top: -5px;
- }
- }
- }
- .tasks {
- background: var(--menu-background-secondary);
- border-right: var(--menu-border-secondary);
- flex: 1;
- overflow: auto;
- -webkit-overflow-scrolling: touch;
- @include phone {
- overflow-x: hidden;
- min-height: 60px;
- }
- }
- .tasks.tasks--standalone {
- background: none;
- margin: 8px 0 0;
- padding: 0;
- overflow: visible;
- }
- .tasks--standalone .task {
- padding: 0;
- margin-bottom: 9px;
- display: flex;
- .icon-holder {
- &:first-child .icon-task-state {
- margin-left: -2px;
- }
- .icon {
- width: 16px;
- height: 16px;
- vertical-align: middle;
- margin-top: -3px;
- @include bidi-style(margin-right, 4px, margin-left, 0);
- }
- }
- }
- .tasks--standalone .task-text {
- flex: 1;
- min-width: 0; /* Firefox wrong content-calculation with word-wrap workaround */
- }
- .tasks--standalone .task-id {
- &::after {
- content: ' - ';
- }
- }
- .tasks--standalone .name {
- @extend .u-highlight, .u-textTruncate;
- display: block;
- }
- .tasks--standalone .time {
- color: var(--text-muted);
- }
- .tasks--standalone .btn-show-all {
- margin-bottom: 9px;
- }
- .nav-tab {
- @include bidi-style(padding, 10px 15px 9px 0, padding, 10px 0 9px 15px);
- position: relative;
- color: var(--menu-text);
- display: flex;
- align-items: center;
- @extend .u-clickable;
- @include phone {
- width: $mobileNavigationWidthOpen;
- }
- }
- .tasks-navigation .nav-tab {
- height: 40px;
- border-bottom: 1px solid hsla(230, 4%, 84%, 0.05);
- }
- .tasks-navigation .nav-tab:not(.is-active):hover {
- background: var(--menu-background-primary);
- border-bottom-color: hsla(230, 4%, 84%, 0.1);
- }
- .navigation .nav-tab-name {
- text-align: start;
- &.is-inactive {
- text-decoration: line-through;
- opacity: 0.73;
- }
- }
- .tasks-navigation .nav-tab-icon .error {
- transform: scale(0.85);
- }
- .nav-tab.is-active,
- .nav-tab.nav-tab--search:hover,
- .nav-tab.nav-tab--search.is-hover {
- background: var(--menu-background-active);
- color: var(--menu-text-active);
- .nav-tab-icon .icon {
- fill: currentColor;
- }
- }
- .nav-tab.ui-sortable-helper {
- border-bottom-color: transparent;
- }
- .nav-tab.nav-tab--search {
- height: 30px;
- padding-top: 9px;
- &.is-inactive {
- text-decoration: line-through;
- opacity: 0.73;
- }
- }
- .nav-tab-icon {
- margin-top: -3px;
- display: flex;
- align-items: center;
- justify-content: center;
- position: relative;
- width: 30px;
- }
- .nav-tab-icon .icon {
- max-width: 18px;
- max-height: 18px;
- fill: var(--nav-icon);
- }
- .nav-tab-icon .icon-diagonal-cross {
- fill: #f35910;
- width: 12px;
- height: 12px;
- }
- .nav-tab-icon .icon.icon-loading {
- animation: rotateplane 1.2s infinite ease-in-out;
- fill: var(--supergood-color);
- /*
- Safari font rendering bugfix while animating
- http://stackoverflow.com/questions/9733011/safari-changing-font-weights-when-unrelated-animations-are-running
- */
- @extend .zIndex-5; // stay beneath .global-search-menu
- position: relative;
- }
- .nav-tab-close {
- position: absolute;
- @include bidi-style(right, 0, left, auto);
- top: 0;
- height: 100%;
- @include bidi-style(padding-right, 16px, padding-left, 0);
- visibility: hidden;
- @extend .u-clickable;
- display: flex;
- align-items: center;
- @include phone {
- visibility: visible;
- }
- }
- .nav-tab:hover .nav-tab-close {
- visibility: visible;
- }
- .nav-tab-close-inner {
- width: 19px;
- height: 19px;
- background-color: var(--menu-close-tab-background);
- border-radius: 100%;
- display: flex;
- align-items: center;
- justify-content: center;
- }
- .nav-tab-close:hover .nav-tab-close-inner {
- background-color: #972e29;
- }
- .nav-tab-close svg {
- width: 9px;
- height: 9px;
- fill: var(--text-inverted);
- opacity: var(--menu-close-tab-opacity);
- }
- .nav-tab-close:hover svg {
- opacity: 1;
- }
- .icon-task-state {
- vertical-align: middle;
- }
- .nav-tab-icon .icon-task-state {
- margin: 0;
- }
- .nav-tab.task-state-open.is-active {
- background-color: var(--ok-color);
- color: var(--menu-text-open);
- }
- .task-state-open-color {
- color: var(--ok-color);
- }
- .icon-task-state.open {
- fill: var(--ok-color);
- }
- .nav-tab.task-state-closed.is-active {
- background-color: var(--supergood-color);
- color: var(--menu-text-closed);
- }
- .task-state-closed-color {
- color: var(--supergood-color);
- }
- .icon-task-state.closed {
- fill: var(--supergood-color);
- }
- .nav-tab.task-state-escalating.is-active {
- background-color: var(--superbad-color);
- color: var(--menu-text-escalating);
- }
- .task-state-escalating-color {
- color: var(--superbad-color);
- }
- .icon-task-state.escalating {
- fill: var(--superbad-color);
- }
- // TODO: rename to knowledgebase icon when it's available
- .icon-task-state.archived {
- fill: var(--superbad-color);
- }
- .icon-task-state.published {
- fill: var(--supergood-color);
- }
- .icon-task-state.draft {
- fill: var(--ghost-color);
- }
- // pending: stays blue
- // .nav-tab.task-state-pending.is-active {
- // background-color: var(--pending-color);
- // }
- .task-state-pending-color {
- color: var(--text-muted);
- }
- .icon-task-state.pending {
- fill: var(--pending-color);
- }
- .state-badge {
- display: flex;
- align-items: center;
- .icon-task-state {
- @include bidi-style(margin-right, 2px, margin-left, 0);
- }
- }
- .search {
- padding: 11px 5px 4px 10px;
- @include rtl(padding, 11px 10px 4px 0);
- border-bottom: 1px solid rgba(240, 250, 255, 0.05);
- flex-shrink: 0;
- display: flex;
- align-items: flex-start;
- background-color: inherit;
- @include phone {
- padding: 10px 5px 5px;
- @include rtl(padding, 10px 5px 5px);
- display: block;
- }
- }
- .search-holder {
- flex: 1;
- border-radius: 15px;
- position: relative;
- transition: margin-right 120ms;
- will-change: margin-right;
- @include phone {
- transition: none;
- will-change: initial;
- }
- }
- .empty-search {
- position: absolute;
- @include bidi-style(right, 0, left, auto);
- top: 0;
- height: 30px;
- width: 40px;
- z-index: 1;
- visibility: hidden;
- display: flex;
- align-items: center;
- justify-content: center;
- @extend %clickable;
- }
- .search .empty-search .icon-diagonal-cross {
- fill: var(--text-inverted);
- opacity: 0.5;
- }
- .filled.search .empty-search {
- visibility: visible;
- }
- .search input[type='search'] {
- width: 100%;
- padding: 5px 33px;
- height: 30px;
- color: var(--menu-text);
- background: var(--menu-background-secondary);
- line-height: 20px;
- outline: none;
- border: none;
- border-radius: 15px;
- position: relative;
- z-index: 1;
- appearance: textfield;
- @include phone {
- padding: 5px 33px;
- font-size: 16px;
- }
- }
- .navigation:not(.is-not-collapsed)
- .search:not(.filled, .focused)
- input[type='search'] {
- @include phone {
- padding: 0;
- }
- }
- input[type='search']::-webkit-search-cancel-button,
- input[type='search']::-webkit-search-decoration {
- -webkit-appearance: none;
- }
- .search .search-loader {
- position: absolute;
- top: 8px;
- left: 10px;
- z-index: 2;
- opacity: 0;
- transition: 0.1s 0s;
- pointer-events: none;
- .icon {
- fill: var(--text-inverted);
- opacity: 0.5;
- }
- }
- .search.loading .search-loader {
- opacity: 1;
- transition: 0.2s 0.5s;
- }
- .search .icon-magnifier {
- position: absolute;
- top: 8px;
- left: 10px;
- @include bidi-style(left, 10px, right, auto);
- z-index: 2;
- fill: var(--menu-icon);
- transition: opacity 0.1s;
- pointer-events: none;
- }
- .search.loading .icon-magnifier {
- opacity: 0;
- transition: 0.2s 0.5s;
- }
- .search.focused .search-holder {
- transition: margin-right 240ms;
- @include bidi-style(margin-right, -59px, margin-left, 0);
- @include phone {
- margin: 0 !important;
- }
- }
- .search.focused .logo {
- opacity: 0;
- z-index: -1;
- @include phone {
- opacity: 1;
- z-index: initial;
- }
- }
- .search.filled {
- .search-holder {
- @include phone {
- .navigation:not(:hover, :active, .is-not-collapsed) & {
- width: 210px;
- }
- }
- }
- .logo {
- @include phone {
- opacity: 0;
- }
- }
- }
- .search .logo {
- display: inline-block;
- position: relative;
- @extend .u-clickable, .zIndex-3;
- margin: -4px 10px 0 12px;
- transition: 240ms;
- @include phone {
- margin: 10px 0 0;
- }
- }
- .search .logo .icon-logo {
- position: relative;
- @include phone {
- width: 35px;
- height: 30px;
- margin-left: 4px;
- }
- }
- .search .logo .activity-counter {
- min-width: 21px;
- position: absolute;
- right: -3px;
- bottom: 2px;
- padding: 0 4px;
- font-size: 12px;
- font-weight: 300;
- line-height: 16px;
- text-align: center;
- color: var(--text-inverted);
- text-shadow: 0 1px 1px rgba(0, 0, 0, 0.21);
- background: hsl(360, 71%, 60%);
- border-radius: 10px;
- border: 2px solid var(--menu-background-primary);
- }
- .search .logo .activity-counter:empty {
- display: none;
- }
- .global-search-menu {
- @extend .zIndex-7;
- background: var(--menu-background-primary);
- position: absolute;
- left: 0;
- right: 0;
- bottom: 0;
- top: 53px;
- display: none;
- overflow: auto;
- -webkit-overflow-scrolling: touch;
- .divider {
- height: 1px;
- background: var(--menu-background-secondary);
- margin: 14px 0 17px;
- }
- }
- .search.open .global-search-menu {
- display: block;
- }
- .global-search-detail-link {
- padding: 9px 15px 8px 0;
- margin-bottom: 7px;
- height: auto !important;
- .no-match & {
- display: none;
- }
- .nav-tab-icon {
- width: 18px;
- margin-left: 10px;
- margin-right: 10px;
- .icon {
- width: 18px;
- height: 14px;
- }
- }
- .nav-tab-name {
- .icon {
- fill: currentColor;
- margin: -2px 0 0 3px;
- vertical-align: middle;
- }
- }
- }
- .global-search-result {
- margin: 0;
- padding: 0;
- list-style: none;
- }
- .global-search-detail-no-result {
- margin: 0 10px;
- .icon {
- width: 30px;
- height: 29px;
- }
- }
- .user-menu {
- padding: 0;
- margin: 0;
- list-style: none;
- position: relative;
- flex-shrink: 0;
- display: flex;
- @include phone {
- flex-direction: column;
- }
- }
- .user-menu > li {
- flex: 1;
- background: var(--menu-background-primary);
- }
- .user-menu .list-button {
- height: 60px;
- position: relative;
- text-decoration: none;
- @extend .u-clickable;
- display: flex;
- align-items: center;
- justify-content: center;
- @include phone {
- height: 46px;
- }
- }
- .user-menu .list-button *:not(.dropdown-nose, .icon-crown),
- .user-menu .list-button *:not(.dropdown-nose, .icon-crown-silver) {
- position: relative;
- }
- .user-menu > li:hover .list-button::before,
- .user-menu > li.open .list-button::before,
- .user-menu > li.is-active .list-button::before,
- .user-menu > li.is-hovered .list-button::before {
- content: '';
- position: absolute;
- top: 4px;
- right: 4px;
- bottom: 4px;
- left: 4px;
- background: var(--menu-icon-secondary-hover-background);
- }
- .user-menu > li.is-active .list-button::before {
- background: var(--highlight);
- }
- .user-menu li.add:hover .list-button::before,
- .user-menu li.add.is-active .list-button::before,
- .user-menu li.add.is-hovered .list-button::before {
- background: #38ae6a;
- }
- .user-menu-icon {
- width: 20px;
- height: 20px;
- fill: var(--menu-icon-secondary);
- }
- .user-menu-icon.icon-plus {
- fill: hsl(145, 51%, 45%);
- }
- .user-menu > li:hover .user-menu-icon {
- fill: var(--menu-background-primary);
- }
- .user-menu > li.is-active .user-menu-icon {
- fill: var(--text-inverted);
- }
- .user-menu > li.add:hover .user-menu-icon.icon-plus,
- .user-menu > li.add.is-hovered .user-menu-icon.icon-plus,
- .user-menu > li.add.is-active .user-menu-icon.icon-plus {
- fill: var(--text-inverted);
- }
- .user-menu > li:not(:last-child) {
- border-right: 1px solid var(--background-modifier-accent);
- @include phone {
- border: none;
- }
- }
- .dropdown-nose {
- position: absolute;
- border: 7px solid transparent;
- border-bottom: none;
- border-top: 7px solid var(--background-secondary);
- left: 50%;
- margin-left: -7px;
- top: -6px;
- display: none;
- }
- li.add .dropdown-nose {
- border-top-color: #38af6e;
- }
- .open.dropdown .dropdown-nose,
- .open.dropup .dropdown-nose {
- display: block;
- }
- .user-menu .dropdown-menu {
- padding: 0;
- border-radius: 0;
- margin-bottom: 5px;
- min-width: 0;
- left: 10px;
- right: 15px;
- width: 235px;
- box-shadow: 0 0 10px hsla(0, 0%, 0%, 0.28);
- &.selected-clue {
- position: absolute;
- }
- }
- .user-menu li.add .dropdown-menu {
- background-color: #38af6e;
- }
- .user-menu li.add .dropdown-menu li > a {
- color: var(--text-inverted);
- }
- .user-menu li.add .dropdown-menu .divider {
- background: #4cb77c;
- }
- .user-menu .dropdown-menu .divider {
- margin: 0;
- }
- .user-menu .dropdown-menu > li > a {
- display: flex;
- }
- .avatar {
- width: 40px;
- height: 40px;
- background-size: cover;
- background-position: center;
- border-radius: 100%;
- display: inline-block;
- vertical-align: bottom;
- position: relative;
- flex-shrink: 0;
- @include phone {
- width: 30px;
- height: 30px;
- }
- a {
- color: inherit;
- }
- &.size-30 {
- width: 30px;
- height: 30px;
- @include phone {
- width: 22px;
- height: 22px;
- }
- }
- .icon-crown,
- .icon-crown-silver {
- position: absolute;
- width: 28px;
- left: 50%;
- margin-left: -14px;
- top: -15px;
- @include phone {
- width: 20px;
- margin-left: -10px;
- }
- }
- .icon-crown {
- fill: hsl(47, 100%, 59%);
- }
- &-status {
- position: absolute;
- right: -4px;
- bottom: -4px;
- border-radius: 999px;
- background: var(--background-tertiary);
- fill: var(--text-inverted);
- width: 21px;
- height: 21px;
- display: flex;
- align-items: center;
- justify-content: center;
- }
- &.size-50 {
- width: 50px;
- height: 50px;
- @include phone {
- width: 36px;
- height: 36px;
- }
- .icon-crown,
- .icon-crown-silver {
- width: 36px;
- margin-left: -18px;
- @include phone {
- width: 26px;
- margin-left: -13px;
- }
- }
- }
- &.size-80 {
- width: 82px;
- height: 82px;
- @include phone {
- width: 60px;
- height: 60px;
- }
- .icon-crown,
- .icon-crown-silver {
- width: 64px;
- margin-left: -32px;
- top: -16px;
- @include phone {
- width: 46px;
- margin-left: -43px;
- top: -15px;
- }
- }
- }
- &--vacation {
- filter: grayscale(70%);
- opacity: 1;
- }
- &--idle {
- filter: grayscale(100%);
- opacity: 0.5;
- }
- &--inactive {
- filter: grayscale(100%);
- opacity: 0.2;
- }
- &--organization {
- background: var(--background-modifier-accent);
- color: var(--text-muted);
- }
- &--unique {
- background-image: image_url('/assets/images/avatar-bg.png');
- background-size: 300px 226px;
- color: var(--text-inverted);
- line-height: 40px;
- text-align: center;
- font-size: 13px;
- letter-spacing: 0.05em;
- text-transform: uppercase;
- text-shadow: 0 1px rgba(0, 0, 0, 0.2);
- @include phone {
- line-height: 30px;
- }
- &.size-30 {
- font-size: 10px;
- line-height: 32px;
- background-size: 225px 170px;
- @include phone {
- line-height: 22px;
- }
- }
- &.size-50 {
- font-size: 16px;
- line-height: 52px;
- background-size: 375px 283px;
- @include phone {
- line-height: 38px;
- }
- }
- &.size-80 {
- font-size: 26px;
- line-height: 84px;
- background-size: 600px 452px;
- @include phone {
- line-height: 62px;
- }
- }
- }
- &--not-linked {
- cursor: default;
- }
- &--organization {
- display: flex;
- align-items: center;
- justify-content: center;
- .icon-organization {
- fill: currentColor;
- }
- &.size-80 {
- .icon-inactive-organization,
- .icon-organization {
- width: 32px;
- height: 32px;
- }
- }
- }
- &--group {
- overflow: hidden;
- .icon {
- fill: var(--text-inverted);
- position: absolute;
- left: 50%;
- transform: translateX(-50%);
- width: 44px;
- height: 44px;
- bottom: -8px;
- }
- &.size-30 .icon {
- width: 33px;
- height: 33px;
- bottom: -6px;
- }
- &.size-50 .icon {
- width: 55px;
- height: 55px;
- bottom: -10px;
- }
- &.size-80 .icon {
- width: 88px;
- height: 88px;
- bottom: -15px;
- }
- &-color-0 {
- background: hsl(192, 100%, 38%);
- }
- &-color-1 {
- background: hsl(148, 100%, 38%);
- }
- &-color-2 {
- background: hsl(57, 100%, 37%);
- }
- }
- .icon-logo {
- width: 100%;
- height: 100%;
- }
- }
- .sidebar {
- position: relative;
- width: 280px;
- padding: 20px;
- color: var(--text-normal);
- background: var(--background-secondary);
- @include bidi-style(border-right, 1px solid var(--border), border-left, none);
- overflow: auto;
- -webkit-overflow-scrolling: touch;
- @include small-desktop {
- &.optional {
- display: none;
- }
- }
- h2 {
- margin-top: 0;
- }
- h3 {
- margin: 0;
- font-weight: normal;
- font-size: 16px;
- text-transform: initial;
- letter-spacing: 0;
- }
- }
- .sidebar-block {
- margin: 20px 0;
- &:first-child {
- margin-top: 0;
- }
- &-actions {
- margin-bottom: 7px;
- }
- &-header {
- margin-bottom: 7px;
- h2 {
- margin: 0;
- }
- }
- [contenteditable='true'] {
- white-space: normal; // do no u-textTruncate, we want to edit it inline
- }
- .btn-list {
- margin-bottom: 5px;
- }
- &-button {
- .sidebar-block-header + &.text-muted {
- margin-top: 3px;
- }
- }
- }
- .sidebar-git-issue-delete {
- text-align: right;
- @include rtl(text-align, left);
- float: right;
- @include rtl(float, left);
- }
- .sidebar-git-issue-content {
- width: 90%;
- }
- .main + .sidebar {
- border-right: none;
- border-left: 1px solid var(--border);
- @include dark {
- border-left: none;
- }
- }
- .NavBarAdmin.sidebar,
- .NavBarProfile.sidebar {
- width: $sidebarWidth;
- @include phone {
- width: 50px;
- padding-left: 10px;
- padding-right: 10px;
- &:hover,
- &:active {
- width: 165px;
- padding-left: 15px;
- padding-right: 15px;
- }
- }
- h2 {
- margin: 21px 0 12px;
- @include phone {
- white-space: nowrap;
- }
- }
- h2:first-child {
- margin-top: 0;
- }
- }
- .nav-stacked > li + li {
- margin-top: 0;
- }
- .nav-pills > li > a,
- .nav-pills > li > a:focus,
- .nav-pills > li > a:active,
- .nav-pills .nav-pills-placeholder {
- color: var(--text-nav);
- border-radius: 0;
- background: transparent; /* a:focus, a:active with bg: transparent fixes gray focus bg in IE 10 */
- display: flex;
- @extend .u-textTruncate;
- }
- .nav-pills.nav-stacked > li > a,
- .nav-pills.nav-stacked > li > a:focus,
- .nav-pills.nav-stacked > li > a:active,
- .nav-pills.nav-stacked .nav-pills-placeholder {
- padding: 0;
- height: 40px;
- line-height: 39px;
- border-top: 1px solid var(--background-modifier-border);
- }
- .nav-pills.nav-stacked .nav-pills-placeholder {
- display: block;
- border-top: none;
- @extend .label-subtle;
- @extend .u-textTruncate;
- }
- .nav-pills > li:hover > a {
- background: var(--background-secondary-hover);
- }
- .nav-pills.nav-stacked > li:hover > a,
- .nav-pills.nav-stacked > li.active + li:not(.active) > a,
- .nav-pills.nav-stacked > li:hover + li:not(.active) > a {
- border-color: transparent;
- }
- .nav-pills > li.active > a,
- .nav-pills > li.active > a:hover,
- .nav-pills > li.active > a:focus {
- color: var(--text-active);
- background: var(--background-active);
- border-color: var(--background-modifier-border);
- }
- .nav-pills.nav-stacked > li:hover > a,
- .nav-pills.nav-stacked > li.active > a,
- .nav-pills.nav-stacked > li.active > a:hover,
- .nav-pills.nav-stacked > li.active > a:focus {
- padding-left: 10px;
- padding-right: 10px;
- margin-left: -10px;
- margin-right: -10px;
- }
- .sidebar:not(.NavBarAdmin) .nav-pills > li:first-child > a {
- border-top: none;
- }
- .nav-pills > li > a > .icon {
- fill: currentColor;
- flex-shrink: 0;
- align-self: center;
- margin-top: -2px;
- &:first-child {
- @include bidi-style(margin-right, 5px, margin-left, 0);
- &[data-font] {
- @include bidi-style(margin-right, 10px, margin-left, 0);
- @include bidi-style(margin-left, 5px, margin-right, 0);
- }
- }
- }
- .nav-pills > li > a > .badge {
- margin-left: auto;
- margin-right: 5px;
- @include bidi-style(padding-left, 10px, padding-right, 0);
- @include rtl(margin-left, 5px);
- @include rtl(margin-right, auto);
- }
- a.list-group-item.active > .badge,
- .nav-pills > .active > a > .badge {
- color: var(--text-active);
- background: none;
- }
- .main {
- padding: 10px 20px;
- overflow: auto;
- -webkit-overflow-scrolling: touch;
- position: relative;
- @include phone {
- padding: 10px;
- }
- &--large-padding {
- padding: 30px 40px;
- }
- }
- .main--tabs,
- .main.no-padding {
- padding: 0;
- }
- .tooltip {
- font-family: inherit;
- }
- .tooltip-inner {
- max-width: 400px;
- }
- .popover {
- @extend .zIndex-12;
- position: absolute;
- font-family: inherit;
- width: 372px;
- max-width: 9999px;
- border-radius: 0;
- margin: 0 5px;
- background: var(--background-popover);
- border: none;
- box-shadow: var(--elevation-high);
- @include rtl(text-align, right);
- @include phone {
- width: auto;
- }
- > .arrow::after {
- border-color: var(--background-popover);
- }
- }
- .popover--has-horizontal-form {
- width: auto;
- }
- .popover-body {
- overflow: auto;
- -webkit-overflow-scrolling: touch;
- }
- .popover-title {
- display: flex;
- align-items: center;
- border: none;
- background: none;
- padding: 21px 17px 4px;
- .is-inactive {
- text-decoration: line-through;
- color: var(--interactive-muted);
- }
- h2 {
- margin: 0;
- }
- .popover-avatar {
- @include bidi-style(margin-right, 8px, margin-left, 0);
- }
- .popover-headline {
- display: flex;
- flex-direction: column;
- }
- }
- .popover-content {
- padding: 0 17px;
- margin-bottom: 21px;
- .popover--has-horizontal-form & {
- padding: 10px 5px 15px 15px;
- margin-bottom: 0;
- }
- }
- .popover.right {
- margin-left: 4px;
- }
- .popover.right > .arrow {
- border-right: none;
- left: -9px;
- }
- .popover.top {
- margin-bottom: 9px;
- }
- .popover.top > .arrow {
- border-top: none;
- bottom: -9px;
- }
- .popover.left {
- margin-right: 9px;
- margin-left: 0;
- }
- .popover.left > .arrow {
- border-left: none;
- right: -9px;
- }
- .popover.bottom {
- margin-top: 9px;
- }
- .popover.bottom > .arrow {
- border-bottom: none;
- top: -9px;
- }
- .popover > .arrow::after {
- border-width: 8px;
- }
- .popover .priority.icon::after {
- background: var(--background-secondary);
- }
- .popover .person .organization {
- color: var(--text-muted);
- }
- .popover .person {
- &.is-inactive {
- text-decoration: line-through;
- color: var(--ghost-color);
- }
- }
- .popover .user-organization {
- @extend .u-textTruncate;
- &.is-inactive {
- text-decoration: line-through;
- color: var(--ghost-color);
- }
- }
- .popover-block {
- @extend .sidebar-block;
- margin: 10px 0;
- }
- .popover hr {
- margin: 8px 0;
- }
- .popover .person .organization::before {
- content: '(';
- }
- .popover .person .organization::after {
- content: ')';
- }
- .popover label {
- font-size: 13px;
- color: var(--header-secondary);
- font-weight: 300;
- text-transform: uppercase;
- letter-spacing: 0.05em;
- }
- .popover .two-columns,
- .popover .three-columns {
- margin-top: -8px;
- }
- .popover .column label {
- margin: 8px 0 1px;
- }
- .popover .column {
- margin-top: 8px;
- }
- .popover--notifications {
- padding: 0;
- left: $navigationWidth;
- @include rtl(right, $navigationWidth);
- margin: 8px 2px;
- max-height: calc(100% - 16px);
- width: auto;
- max-width: 400px;
- min-width: 350px;
- flex-direction: column;
- @extend .zIndex-10;
- @include phone {
- left: $mobileNavigationWidth;
- @include rtl(right, $mobileNavigationWidth);
- min-width: auto;
- width: calc(100% - #{$mobileNavigationWidth} - 8px);
- }
- &.is-visible {
- display: flex;
- }
- &.is-empty .popover-notificationsHeader {
- box-shadow: none;
- }
- .arrow {
- top: 23px !important;
- left: -11px;
- @include rtl(left, 408px);
- @include rtl(transform, rotate(180deg));
- @include phone {
- top: 61px !important;
- }
- }
- .popover-content {
- padding-left: 0;
- padding-right: 0;
- margin-bottom: 0;
- overflow-y: auto;
- }
- .popover-notificationsHeader {
- border-bottom: 1px solid var(--background-modifier-accent);
- padding-bottom: 14px;
- flex-shrink: 0;
- .btn {
- padding-top: 3px;
- padding-bottom: 5px;
- }
- }
- .activity-placeholder {
- margin-bottom: 21px;
- }
- }
- .popover-notificationsHeader {
- padding-bottom: 8px;
- margin: 21px 17px 0;
- .popover-title {
- @extend h1;
- padding: 0;
- line-height: 1;
- }
- .btn {
- margin-top: 3px;
- }
- }
- .popover-notificationsCounter {
- color: #e25253;
- @include bidi-style(padding-left, 3px, padding-right, 0);
- }
- .user-popover,
- .ticket-popover,
- .organization-popover {
- @extend .u-clickable;
- }
- .user-card {
- padding: 2px 0 0 50px;
- position: relative;
- min-height: 40px;
- padding-right: 48px;
- display: flex;
- flex-direction: column;
- justify-content: center;
- min-width: 192px;
- .avatar {
- position: absolute;
- left: 0;
- top: 0;
- }
- .user-popover.is-inactive {
- text-decoration: line-through;
- opacity: 0.73;
- }
- .btn.js-newTicket {
- position: absolute;
- right: 0;
- }
- }
- .stat-icon {
- position: relative;
- }
- .mood-icon {
- width: 60px;
- height: 59px;
- }
- .stopwatch-icon {
- position: absolute;
- left: 0;
- top: 0;
- width: 100%;
- height: 100%;
- }
- .stat-stopwatch {
- width: 77px;
- height: 83px;
- position: relative;
- }
- .stat-channel-icon {
- width: 16px;
- height: 16px;
- fill: var(--text-muted);
- }
- .total-tickets {
- height: 83px;
- width: 48px;
- @include bidi-style(margin-right, 4px, margin-left, 0);
- margin-bottom: -9px;
- fill: hsl(196, 19%, 89%);
- color: var(--background-secondary);
- @include dark {
- fill: hsl(196, 9%, 70%);
- }
- }
- .one-ticket {
- width: 48px;
- height: 10px;
- margin-top: -7px;
- margin-bottom: 2px;
- position: relative;
- }
- .stat-tickets {
- height: 100px;
- color: var(--background-secondary);
- }
- .in-process-icon {
- width: 64px;
- height: 64px;
- }
- .reopening-icon {
- width: 68px;
- height: 47px;
- }
- .supergood-color {
- fill: var(--supergood-color);
- }
- .good-color {
- fill: var(--good-color);
- }
- .ok-color {
- fill: var(--ok-color);
- }
- .bad-color {
- fill: var(--bad-color);
- }
- .superbad-color {
- fill: var(--superbad-color);
- }
- .danger-color {
- color: var(--danger-color);
- }
- .u-high-priority-color {
- fill: $high-priority-color;
- }
- .u-low-priority-color {
- fill: $low-priority-color;
- }
- .stat-widgets {
- margin: -7px -7px 20px;
- }
- .stat-widget {
- height: 200px;
- padding: 10px 10px 8px;
- text-align: center;
- line-height: 20px;
- }
- .dashboard .stat-widget {
- margin: 7px;
- background: var(--background-secondary);
- border: 1px solid var(--border);
- border-radius: 1px;
- box-shadow: var(--elevation-low);
- }
- .stat-title {
- font-size: 13px;
- margin: 2px 0 8px;
- text-transform: uppercase;
- font-weight: normal;
- position: relative;
- padding: 0 24px;
- .tooltip {
- text-transform: none;
- width: 200px;
- }
- }
- .stat-icon-help {
- position: absolute;
- right: 3px;
- top: 1px;
- cursor: help;
- fill: var(--interactive-muted);
- }
- .notification-icon-help {
- fill: var(--interactive-muted);
- }
- .stat-label {
- @extend .u-textTruncate;
- }
- .stat-detail {
- color: var(--text-muted);
- @extend .u-textTruncate;
- }
- .stat-graphic {
- flex: 1;
- display: flex;
- justify-content: center;
- align-items: center;
- user-select: none;
- }
- .time.stat-widget .stat-amount {
- margin-top: 12px;
- text-align: center;
- font-size: 30px;
- color: var(--text-inverted);
- text-shadow: 0 2px rgba(0, 8, 14, 0.2);
- position: relative;
- cursor: default;
- }
- .time.stat-widget .stat-dial {
- position: absolute;
- top: 21px;
- left: 14px;
- width: 52px;
- height: 52px;
- }
- .stats-row {
- padding: 8px 0 7px;
- border-radius: 3px;
- display: flex;
- flex-direction: column;
- align-items: center;
- flex: 0 1 38px;
- height: 100%;
- .icon {
- display: block;
- }
- }
- .stats-row:hover {
- background: rgba(0, 8, 14, 0.03);
- }
- .stats-row .stat-bars {
- flex: 1;
- margin: 10px 0 13px;
- padding: 2px 5px;
- width: 100%;
- background: linear-gradient(
- to top,
- var(--background-modifier-accent),
- var(--background-modifier-accent) 1px,
- transparent 1px
- );
- background-position: center bottom;
- background-size: 100% 12px;
- display: flex;
- align-items: flex-end;
- justify-content: center;
- }
- .stat-bars .stat-bar {
- border-radius: 5px;
- max-width: 10px;
- flex: 1;
- color: #a9bcc4;
- background: #a9bcc4;
- &--outbound {
- opacity: 0.38;
- color: #a9bcc4;
- background: #a9bcc4;
- }
- }
- .stat-legend {
- margin-top: 30px;
- @include bidi-style(margin-left, auto, margin-right, 0);
- display: flex;
- }
- .stat-legendEntry {
- font-size: 11px;
- line-height: 1;
- @include bidi-style(margin-left, 20px, margin-right, 0);
- background: none !important;
- }
- .stat-circle {
- margin-bottom: -1px;
- @include bidi-style(margin-right, 3px, margin-left, 0);
- width: 10px;
- height: 10px;
- border-radius: 100%;
- display: inline-block;
- }
- .ticket_channel_distribution {
- .stat-graphic {
- align-items: stretch;
- }
- .stats-row {
- margin-bottom: -4px;
- position: relative;
- }
- }
- .frequency.stat-widget {
- .stat-bars {
- margin-top: 0;
- }
- .stats-row {
- margin-bottom: 0;
- }
- .stat-label {
- color: var(--text-muted);
- }
- .primary {
- color: hsl(145, 51%, 45%);
- background: hsl(145, 51%, 45%);
- }
- }
- .activity.sidebar {
- width: 370px;
- padding: 0;
- border-left: 1px solid var(--border);
- }
- .activity h2 {
- margin-left: 19px;
- margin-bottom: 15px;
- margin-right: 26px;
- @include rtl(margin-right, 19px);
- @include rtl(margin-left, 26px);
- }
- .activity-entries {
- margin: 0 -17px;
- }
- .activity-placeholder {
- @extend .u-textTruncate;
- padding: 0 17px;
- }
- .activity-entry {
- display: flex;
- padding: 0 17px;
- &.is-inactive {
- opacity: 0.5;
- }
- &.is-hover {
- background-color: var(--background-primary);
- }
- &.activity-entry--removeable {
- @include bidi-style(padding-right, 0, margin-left, 17px);
- }
- &:not(:hover) .activity-remove {
- opacity: 0;
- }
- &:not(:last-child) .activity-body::after {
- content: '';
- position: absolute;
- bottom: 0;
- right: 0;
- left: 0;
- border-bottom: 1px solid var(--background-modifier-accent);
- }
- &.activity-entry--removeable:not(:last-child) .activity-body::after {
- right: 17px;
- @include bidi-style(right, 17px, left, 0);
- }
- }
- .activity-avatar {
- padding: 16px 2px 0;
- @include bidi-style(margin-right, 10px, margin-left, 0);
- flex-shrink: 0;
- }
- .activity-body {
- padding: 16px 0 16px 2px;
- @include rtl(padding, 16px 2px 16px 0);
- position: relative;
- display: flex;
- flex: 1;
- min-width: 0; /* Firefox wrong content-calculation with word-wrap workaround */
- color: inherit;
- }
- .activity-message {
- color: inherit;
- flex: 1;
- min-width: 0; /* Firefox wrong content-calculation with word-wrap workaround */
- &:hover .activity-text {
- text-decoration: underline;
- }
- }
- .activity-time {
- margin-top: 2px;
- color: var(--text-muted);
- display: block;
- }
- .activity-remove {
- display: flex;
- align-items: center;
- justify-content: center;
- @extend %clickable;
- padding-left: 10px;
- padding-right: 27px;
- @include rtl(padding-left, 27px);
- @include rtl(padding-right, 10px);
- .activity-remove-icon-holder {
- width: 19px;
- height: 19px;
- border-radius: 100%;
- display: flex;
- align-items: center;
- justify-content: center;
- background: var(--ghost-color);
- }
- .icon {
- fill: var(--text-inverted);
- width: 9px;
- height: 9px;
- }
- &:hover {
- .activity-remove-icon-holder {
- background: #972e29;
- }
- .icon {
- opacity: 1;
- }
- }
- }
- .form-inline {
- display: flex;
- @include phone {
- flex-wrap: wrap;
- .alert {
- flex-basis: 100%;
- }
- }
- }
- .form-inline .input-group-addon,
- .form-inline .form-control:not(textarea) {
- background: var(--background-secondary);
- border: none;
- line-height: 1;
- }
- .form-inline .form-group {
- overflow: hidden;
- position: relative;
- height: 60px;
- flex: 1 1 auto;
- @include phone {
- width: 50%;
- margin-bottom: 0;
- }
- &.datetime {
- min-width: 140px;
- overflow: visible; // datepicker popup needs to be visible
- }
- }
- .form-group.is-changed {
- position: relative;
- }
- .form-group.is-changed::before {
- content: '';
- position: absolute;
- top: 23px;
- left: -12px;
- bottom: 0;
- width: 3px;
- background: repeating-linear-gradient(
- 45deg,
- var(--background-modifier-border),
- var(--background-modifier-border) 5px,
- transparent 5px,
- transparent 9px
- )
- repeat center;
- background-size: 11px 11px;
- }
- .form-inline .form-group.is-changed::before {
- width: 100%;
- height: 3px;
- top: 0;
- left: 0;
- bottom: auto;
- }
- .form-group.is-changed label {
- color: var(--text-muted);
- position: relative;
- }
- .form-group.is-changed label::before {
- position: absolute;
- content: '';
- left: -10px;
- width: 5px;
- height: 5px;
- top: 50%;
- margin-top: -3px;
- border-radius: 100%;
- background: var(--interactive-muted-alt);
- }
- .form-inline .form-group .btn {
- margin: 10px;
- }
- .form-inline .form-group:not(:last-child),
- .form-inline.form-inline--enclosed .form-group {
- border-right: 1px solid var(--border);
- }
- .form-inline .form-group,
- .form-inline.form-inline--enclosed .form-group {
- @include phone {
- border-bottom: 1px solid var(--border);
- &:nth-child(even) {
- border-right-width: 0;
- }
- }
- }
- .form-inline .input-group-addon {
- width: auto;
- padding: 0;
- margin: 10px 18px 0;
- font-size: 13px;
- letter-spacing: 0.05em;
- display: inline-block;
- position: relative;
- }
- .form-inline .form-control:not(textarea) {
- width: 100%;
- height: 100%;
- left: 0;
- top: 0;
- position: absolute;
- padding: 28px 5px 12px 20px;
- float: none;
- display: block;
- border-radius: 0;
- }
- .form-inline {
- .formGroup-label {
- z-index: 1;
- pointer-events: none;
- }
- .controls--datetime,
- .controls--date,
- .controls--select {
- position: static;
- }
- .controls--datetime {
- position: absolute;
- bottom: 12px;
- left: 0;
- padding: 0 5px 0 20px;
- width: 100%;
- .controls-label {
- display: none;
- }
- .form-control {
- width: 70px;
- line-height: inherit;
- position: static;
- padding: 0;
- height: auto;
- &.time {
- margin-left: 5px;
- width: 38px;
- }
- }
- }
- }
- .bulkAction-secondStep .form-group {
- min-width: 140px;
- @include phone {
- min-width: 0;
- &.textarea {
- border-bottom-width: 0;
- }
- }
- }
- .bulkAction-secondStep .form-inline .textarea.form-group {
- padding: 5px 10px;
- height: auto;
- }
- .bulkAction-secondStep .form-inline .textarea.form-group .input-group-addon {
- margin-left: 8px;
- margin-right: 8px;
- margin-bottom: 5px;
- }
- .bulkAction-secondStep .form-inline textarea.form-control {
- display: block;
- width: 100%;
- resize: vertical;
- }
- .bulkAction-secondStep .form-inline .textarea .controls {
- margin: 0 6px;
- }
- .bulkAction-secondStep .form-inline textarea.form-control:not(:focus) {
- border-color: #f0f0f0;
- }
- .ticketZoom {
- background: var(--background-primary);
- }
- .ticketZoom-controls {
- display: flex;
- justify-content: flex-end;
- align-items: center;
- padding: 28px 0 0;
- @include bidi-style(margin-right, -40px, margin-left, 0);
- @include phone {
- padding: 10px;
- @include bidi-style(margin-right, 0, margin-left, 0);
- }
- }
- .icon-marker {
- fill: hsl(0, 0%, 61%);
- width: 17px;
- height: 19px;
- }
- .ticketNumberCopy-icon {
- vertical-align: top;
- fill: currentColor;
- }
- .ticketZoom .ticketZoom-header {
- margin-top: 6px;
- padding: 0;
- @include phone {
- margin-top: 10px;
- }
- }
- .ticketZoom .ticket-article {
- margin-top: 55px;
- @include phone {
- margin-top: 40px;
- }
- }
- .ticketZoom > .overview-navigator {
- margin-top: 32px;
- @include bidi-style(padding-left, 20px, padding-right, 0);
- }
- .scrollPageAlert {
- @extend .zIndex-5;
- position: absolute;
- top: 0;
- left: 0;
- right: 0;
- transform: translateY(0);
- border-bottom: 1px solid var(--border);
- & > .alert {
- margin-bottom: 0;
- border-radius: 0;
- text-align: center;
- }
- }
- .ticket-article,
- .article-new {
- max-width: 1080px;
- margin: 0 auto;
- padding: 0 21px;
- @include phone {
- padding: 0 10px;
- }
- }
- .ticket-title {
- max-width: 1080px;
- padding: 0 81px;
- @include phone {
- padding: 0 10px;
- }
- }
- .ticket-title-update {
- @extend h1;
- white-space: normal;
- margin-top: 15px;
- margin-bottom: 8px;
- padding: 0 7px;
- text-align: center;
- .ticketZoom-header & {
- &:hover,
- &:focus {
- background: var(--background-modifier-hover);
- }
- }
- }
- .task-subline {
- text-align: center;
- display: block;
- }
- .ticket-article-item {
- padding-bottom: 33px;
- position: relative;
- z-index: 1; // fixed chrome 49 + flex issue, not shown article
- .avatar {
- position: absolute;
- right: 0;
- top: 5px;
- @include phone {
- position: static;
- margin: 0 5px 7px;
- }
- }
- &.agent .avatar {
- right: auto;
- left: 0;
- }
- }
- /*
- clip the article-meta to not stand out on the other side
- of the textBubble if the text bubble is small
- */
- .article-meta-clip {
- overflow: hidden;
- position: relative;
- height: 100%;
- margin: 0 55px;
- @include phone {
- margin: 0;
- }
- }
- .article-content {
- color: var(--text-normal);
- position: relative;
- z-index: 1;
- padding: 0 55px;
- @include phone {
- padding: 0;
- }
- &.article-actions {
- justify-content: space-around;
- }
- }
- .article-content-meta {
- position: absolute;
- width: 100%;
- }
- .article-meta {
- background: var(--background-tertiary);
- color: var(--text-inverted);
- padding: 21px 25px 11px;
- margin: 0 12px;
- @include phone {
- margin: 0 5px;
- padding: 10px 10px 5px;
- }
- }
- .article-meta.bottom {
- padding-top: 17px;
- padding-bottom: 8px;
- @include phone {
- padding-top: 10px;
- padding-bottom: 5px;
- }
- }
- .article-meta-row {
- margin-bottom: 5px;
- }
- .article-meta-key {
- width: 20%;
- text-transform: uppercase;
- flex-shrink: 0;
- @include phone {
- width: 50px;
- }
- }
- .article-meta-value {
- @include bidi-style(margin-left, 8px, margin-right, 0);
- overflow: hidden;
- text-overflow: ellipsis;
- span {
- white-space: nowrap;
- }
- }
- .article-meta-icon {
- fill: var(--text-inverted);
- vertical-align: top;
- margin: 2px 3px 0 0;
- @include rtl(margin, 2px 0 0 3px);
- &.icon-lock,
- &.icon-encryption-error {
- margin: 0;
- }
- }
- .article-meta-permanent {
- margin: 0 55px;
- + .article-content .textBubble {
- border-top-left-radius: 0;
- border-top-right-radius: 0;
- border-top-width: 0;
- }
- .alert {
- margin-bottom: 0;
- padding-left: 20px;
- padding-right: 20px;
- border-radius: 0;
- box-shadow: 0 0 0 1px inset hsla(0, 0%, 0%, 0.04);
- &:first-child {
- border-top-left-radius: 2px;
- border-top-right-radius: 2px;
- }
- &--blank {
- background: var(--background-article-meta);
- color: var(--text-muted-alt);
- border: 1px solid var(--border-alt);
- .customer.ticket-article-item & {
- background: var(--background-article-customer-meta);
- border-color: var(--border-article-customer);
- }
- .customer.state--folde-out & {
- border-color: var(--border-article-customer-selected);
- }
- }
- .icon {
- fill: currentColor;
- margin: 2px 6px 0 0;
- vertical-align: top;
- width: 14px;
- height: 14px;
- }
- .icon-lock {
- margin-top: 1px;
- width: 16px;
- height: 16px;
- }
- }
- }
- .internal-border {
- padding: 5px;
- border-radius: 5px;
- margin: -5px;
- }
- .is-internal .internal-border {
- background: repeating-linear-gradient(
- 45deg,
- var(--border-internal),
- var(--border-internal) 5px,
- var(--border-internal-stripe) 5px,
- var(--border-internal-stripe) 10px
- );
- background-size: 14px 14px;
- background-position: -1px;
- }
- .is-internal .bubble-arrow {
- display: none;
- }
- .article-visibility-text-wrapper {
- padding: 0 55px;
- opacity: 0;
- height: 0;
- .article-visibility-text {
- margin-bottom: 17px;
- &.is-hidden {
- display: none;
- }
- }
- }
- .textBubble {
- padding: 10px 20px;
- background: var(--background-secondary);
- border-radius: 2px;
- border: 1px solid var(--border-alt);
- box-shadow: 0 0 1px rgba(0, 0, 0, 0.06) inset;
- position: relative;
- @include phone {
- padding: 10px;
- }
- /* email css reset */
- p {
- margin: 0;
- }
- .is-internal & {
- border-color: var(--border-internal) !important;
- }
- }
- .textBubble-content {
- overflow: hidden;
- position: relative;
- }
- .textBubble-footer {
- display: flex;
- justify-content: space-between;
- align-items: center;
- margin: 0 -12px -28px;
- padding: 6px 12px;
- border-radius: 0 0 4px 4px;
- }
- .textBubble-footer:has(+ .attachments .attachment) {
- margin-bottom: -10px;
- }
- .textBubble-footer:not(.is-open .textBubble-footer) {
- visibility: hidden;
- }
- .textBubble-control {
- display: flex;
- }
- .textBubble-letterCount:not(.label-danger, .label-warning) {
- color: var(--ghost-color);
- }
- .textBubble-overflowContainer {
- position: absolute;
- bottom: 0;
- left: 0;
- right: 0;
- background: var(--background-secondary);
- &.is-open {
- &::before {
- display: none;
- }
- }
- .btn {
- padding-top: 15px;
- padding-bottom: 15px;
- font-size: 10px;
- }
- &::before {
- content: '';
- position: absolute;
- left: 0;
- right: 0;
- top: -30px;
- height: 30px;
- background: linear-gradient(
- rgba(255, 255, 255, 0),
- var(--background-secondary)
- );
- pointer-events: none;
- }
- }
- .customer .textBubble-overflowContainer {
- background: var(--background-article-customer);
- &::before {
- background: linear-gradient(
- hsla(199, 44%, 93%, 0),
- var(--background-article-customer)
- );
- }
- }
- .customer.ticket-article-item .textBubble {
- background: var(--background-article-customer);
- border-color: var(--border-article-customer);
- box-shadow: none;
- }
- .customer .richtext-content blockquote {
- border-left: 5px solid var(--background-modifier-border);
- }
- .customer.ticket-article-item.state--folde-out .textBubble {
- border-color: var(--border-article-customer-selected);
- }
- .bubble-arrow {
- position: absolute;
- width: 6px;
- height: 9px;
- left: -6px;
- top: 15px;
- overflow: hidden;
- @include phone {
- left: 14px !important;
- top: -5px;
- width: 9px;
- height: 6px;
- }
- }
- .bubble-arrow::after {
- content: '';
- position: absolute;
- top: -1px;
- left: 1px;
- width: 11px;
- height: 11px;
- background: var(--background-secondary);
- border: 1px solid var(--border-alt);
- box-shadow: 0 0 1px rgba(0, 0, 0, 0.06) inset;
- transform: rotate(-45deg);
- @include phone {
- top: 2px;
- left: -1px;
- }
- }
- .customer.ticket-article-item .bubble-arrow {
- left: auto;
- right: -6px;
- @include phone {
- left: 14px;
- right: auto;
- top: -4px;
- }
- }
- .customer.ticket-article-item .bubble-arrow::after {
- background: var(--background-article-customer);
- left: auto;
- right: 2px;
- border-color: var(--border-article-customer);
- box-shadow: none;
- @include phone {
- left: -1px;
- right: auto;
- }
- }
- .customer.ticket-article-item.state--folde-out .bubble-arrow::after {
- border-color: var(--border-article-customer-selected);
- }
- .attachments.attachments--list:not(:empty) {
- border-top: 1px solid var(--background-modifier-border);
- white-space: normal;
- margin: 10px -20px 0;
- padding: 26px 20px 7px 72px;
- position: relative;
- @include phone {
- margin-left: -10px;
- margin-right: -10px;
- padding: 20px 15px 7px 30px;
- }
- &.attachments--wo-body {
- border-top: none;
- margin-top: 0;
- padding-top: 12px;
- }
- }
- .attachments.attachments--list .attachments-title {
- font-size: 13px;
- font-weight: 500;
- text-transform: uppercase;
- padding: 0 7px;
- .badge {
- margin: -1px 0 0 5px;
- }
- }
- .attachments > .icon:first-child {
- position: absolute;
- left: 33px;
- top: 27px;
- fill: var(--ghost-color);
- @include phone {
- width: 16px;
- height: 16px;
- left: 12px;
- top: 20px;
- }
- }
- .attachments-block {
- margin-bottom: 12px;
- &:last-child {
- margin-bottom: 0;
- }
- &-headline {
- font-size: 13px;
- color: var(--text-normal);
- font-weight: 500;
- text-transform: uppercase;
- margin: 0 7px;
- }
- }
- .ticket-article-item .task-subline {
- margin-top: 7px;
- }
- .article-action {
- padding: 5px 16px;
- margin-top: 5px;
- color: var(--interactive-muted);
- font-size: 12px;
- text-align: center;
- @extend .u-clickable;
- }
- .article-action:hover {
- color: var(--text-primary);
- text-decoration: none;
- }
- .article-action-icon {
- @include bidi-style(margin-right, 5px, margin-left, 0);
- vertical-align: top;
- width: 17px;
- height: 17px;
- fill: currentColor;
- }
- .article-action-name {
- @media screen and (max-width: 1080px) {
- display: none;
- }
- @media screen and (max-width: 1358px) {
- .main:not(.is-closed) & {
- display: none;
- }
- }
- }
- .article-add {
- position: relative;
- z-index: 1; // fixed chrome 49 + flex issue, not shown article
- }
- .article-new {
- margin-top: auto;
- margin-bottom: 36px;
- }
- .dropArea {
- background: var(--background-secondary);
- border: 5px solid;
- color: hsl(202, 66%, 55%);
- font-size: 20px;
- margin: 5px;
- display: none;
- @extend .fit;
- &--small {
- margin: 0;
- font-size: inherit;
- border-width: 3px;
- min-height: 38px;
- }
- }
- .is-dropTarget .dropArea {
- display: block;
- }
- .dropContainer {
- position: relative;
- }
- .dropArea-inner {
- @extend .fit;
- display: flex;
- align-items: center;
- justify-content: center;
- }
- .shortcut .dropdown-menu > .is-active > a {
- background: none;
- }
- .shortcut > .dropdown-menu {
- overflow: auto;
- -webkit-overflow-scrolling: touch;
- position: absolute;
- max-width: 100%;
- min-width: 0;
- }
- .editControls {
- position: absolute;
- left: 0;
- top: 5px;
- @include phone {
- position: static;
- margin: 0 0 10px;
- display: flex;
- align-items: center;
- }
- }
- .article-add[data-type='email'] .editControls {
- top: 159px;
- }
- .editControls-item {
- position: absolute;
- top: 43px;
- @extend .u-clickable, .zIndex-4;
- @include phone {
- position: relative;
- z-index: initial;
- top: 0 !important;
- transform: none !important;
- opacity: 1 !important;
- }
- &.is-hidden {
- display: none;
- @include phone {
- display: block;
- }
- }
- }
- .editControls-item:nth-child(2) {
- @include phone {
- z-index: 1;
- }
- }
- .editControls-item:nth-child(3) {
- top: 79px;
- }
- .editControls-item:nth-child(4) {
- top: 115px;
- }
- .editControls-item:not(:last-child) {
- border-bottom: 1px solid var(--border);
- @include phone {
- border-bottom: 0;
- border-right: 1px solid var(--border);
- }
- }
- .editControls-iconHolder {
- width: 38px;
- height: 35px;
- display: flex;
- align-items: center;
- justify-content: center;
- @include phone {
- width: 48px;
- height: 32px;
- }
- }
- .editControls-icon {
- @include phone {
- line-height: 0.7;
- }
- }
- .editControls-icon .icon {
- fill: var(--interactive-muted);
- }
- .pop-selector {
- position: absolute;
- top: 0;
- left: 0;
- display: flex;
- align-items: center;
- justify-content: center;
- border-radius: 4px;
- box-shadow: var(--elevation-low);
- @include phone {
- top: -4px;
- left: 7px;
- }
- &.is-hidden {
- display: none;
- }
- }
- .pop-selectable {
- width: 35px;
- height: 35px;
- display: flex;
- align-items: center;
- justify-content: center;
- @extend .u-clickable;
- background: var(--background-tertiary);
- }
- .pop-selectable:hover {
- background: var(--highlight);
- }
- .pop-selectable:first-child {
- @include bidi-style(border-radius, 4px 0 0 4px, border-radius, 0 4px 4px 0);
- }
- .pop-selectable:last-child {
- @include bidi-style(border-radius, 0 4px 4px 0, border-radius, 4px 0 0 4px);
- }
- .pop-selectable:only-child {
- border-radius: 4px;
- }
- .pop-selectable:hover .pop-selectable-icon {
- fill: var(--text-inverted);
- }
- .article-add .icon-internal {
- fill: hsl(18, 87%, 65%);
- }
- .article-add.is-public .icon-internal,
- .article-add.is-internal .icon-public {
- display: none;
- }
- .article-new .textBubble {
- border-radius: 5px;
- padding-left: 12px;
- padding-right: 12px;
- cursor: text;
- }
- .articleNewEdit-body {
- width: 100%;
- position: relative;
- min-height: 20px;
- vertical-align: bottom;
- border: none;
- outline: none;
- resize: none;
- height: auto;
- @include phone {
- font-size: 16px;
- }
- }
- .article-new .bubble-arrow::after {
- box-shadow: none;
- }
- .article-attachment {
- position: absolute;
- bottom: -4px;
- left: 10px;
- right: 10px;
- height: 42px;
- padding: 10px 0;
- color: var(--text-muted);
- overflow: hidden;
- @extend .u-textTruncate;
- }
- .attachments:not(:empty) {
- padding: 9px 5px;
- border-top: 1px solid var(--background-modifier-border);
- margin: 6px -12px 30px;
- }
- .ticket-create .attachments:not(:empty) {
- margin-left: 0;
- margin-right: 0;
- margin-bottom: 56px;
- }
- .ticket-create .attachment--row {
- line-height: 1.45;
- }
- .attachment.attachment--row {
- font-size: 13px;
- padding: 1px 10px 1px 7px;
- @include rtl(padding, 1px 7px 1px 10px);
- cursor: default;
- position: relative;
- display: flex;
- }
- .attachment.attachment--preview {
- display: flex;
- font-size: 13px;
- padding: 9px 4px;
- position: relative;
- min-height: 42px;
- color: inherit;
- align-items: flex-start;
- border-bottom: 1px solid var(--background-modifier-border);
- &:last-child {
- border-bottom: none;
- }
- }
- .attachment-icon {
- margin-top: 2px;
- width: 38px;
- text-align: center;
- flex-shrink: 0;
- .icon {
- vertical-align: bottom;
- }
- img {
- width: 30px;
- height: 30px;
- object-fit: cover;
- }
- }
- .attachment--preview {
- .attachment-text {
- margin: 0 4px;
- }
- }
- .attachment--preview .attachment-name {
- min-width: 0;
- display: block;
- @extend .u-highlight;
- word-break: break-all;
- }
- .attachment--preview .attachment-size {
- white-space: nowrap;
- font-size: 11px;
- color: var(--text-muted);
- }
- .attachment--preview .attachment-delete {
- color: var(--interactive-muted);
- text-decoration: underline;
- display: none;
- white-space: nowrap;
- @include bidi-style(margin-left, auto, margin-right, 0);
- @extend .u-clickable;
- @include phone {
- display: block;
- }
- }
- .attachment:hover .attachment--preview .attachment-delete {
- padding: 0 10px 0 30px;
- float: right;
- display: block;
- position: absolute;
- right: 0;
- background: linear-gradient(
- to right,
- transparent,
- var(--background-secondary-hover) 20px
- );
- }
- .attachment--preview .attachment-delete .icon {
- fill: var(--interactive-muted);
- width: 9px;
- height: 9px;
- @include bidi-style(margin-right, 5px, margin-left, 0);
- }
- .attachment:hover {
- background: var(--background-secondary-hover);
- }
- .attachment--row .attachment-name {
- @include bidi-style(margin-right, 5px, margin-left, 0);
- min-width: 0;
- @extend .u-highlight;
- }
- .attachment--row .attachment-size {
- white-space: nowrap;
- float: right;
- @include bidi-style(margin-right, 10px, margin-left, 0);
- }
- .attachment--row .attachment-delete {
- color: var(--interactive-muted);
- text-decoration: underline;
- display: none;
- white-space: nowrap;
- @include bidi-style(margin-left, auto, margin-right, 0);
- @extend %clickable;
- }
- .attachment:hover.attachment--row .attachment-delete {
- padding: 0 10px 0 30px;
- float: right;
- display: block;
- position: absolute;
- right: 0;
- background: linear-gradient(
- to right,
- transparent,
- var(--background-secondary-hover) 20px
- );
- }
- .attachment--row .attachment-delete .icon {
- width: 9px;
- height: 9px;
- @include bidi-style(margin-right, 5px, margin-left, 0);
- }
- .attachmentPlaceholder-inputHolder {
- position: relative;
- display: inline-block;
- overflow: hidden;
- vertical-align: bottom;
- pointer-events: auto;
- @extend .u-highlight;
- &:has(input[type='file'][disabled]) {
- color: var(--text-muted-alt);
- pointer-events: none;
- }
- }
- .attachmentUpload {
- color: var(--text-muted);
- }
- .attachmentUpload-cancel {
- @extend .u-clickable;
- @include bidi-style(margin-left, auto, margin-right, 0);
- text-decoration: underline;
- }
- .attachmentUpload .icon {
- fill: var(--interactive-muted);
- width: 9px;
- height: 9px;
- @include bidi-style(margin-right, 5px, margin-left, 0);
- }
- .attachmentUpload-progressBar {
- position: absolute;
- height: 4px;
- background: hsl(202, 66%, 55%);
- left: 0;
- bottom: 0;
- }
- .attachmentUpload--standalone {
- position: relative;
- margin-bottom: 7px;
- padding-bottom: 2px;
- box-shadow: 0 -4px var(--border) inset;
- &:last-child {
- margin-bottom: 0;
- }
- .attachmentUpload-cancel {
- padding: 0 2px 0 7px;
- }
- }
- .attachmentUploadContainer {
- .attachmentUpload-progressBar {
- position: inherit;
- }
- }
- .tabsSidebar-tabsSpacer {
- @include bidi-style(padding-right, 62px !important, padding-left, 0);
- /*
- force div to show scrollbars
- because we offset the sidebar tabs when the os shows scrollbars
- */
- overflow-x: hidden;
- overflow-y: scroll;
- @include phone {
- @include bidi-style(padding-right, 0 !important, padding-left, 0);
- }
- }
- .tabsSidebar-sidebarSpacer {
- @include bidi-style(margin-right, $sidebarWidth, margin-left, 0);
- transition: margin-right 500ms;
- @include rtl(transition, margin-left 500ms);
- @include desktop {
- @include bidi-style(margin-right, $desktopSidebarWidth, margin-left, 0);
- }
- }
- .tabsSidebar-sidebarSpacer.is-closed {
- margin-right: 0;
- @include rtl(margin-left, 0);
- }
- .tabsSidebar-holder {
- overflow: hidden;
- position: relative;
- flex: 1;
- display: flex;
- flex-direction: column;
- }
- .tabsSidebar .sidebar {
- width: $sidebarWidth;
- border-left: 1px solid var(--border);
- padding: 0;
- margin-bottom: 1px;
- @include desktop {
- width: $desktopSidebarWidth;
- }
- }
- .tabsSidebar .sidebar > hr {
- margin: 20px;
- }
- .tabsSidebar .sidebar-header {
- display: flex;
- align-content: stretch;
- position: relative;
- margin: 0 20px;
- + hr {
- margin-top: 0;
- }
- }
- .sidebar-header-headline {
- padding: 33px 8px 17px 25px;
- @include rtl(padding, 33px 25px 17px 8px);
- margin: 0 0 0 -20px;
- @include rtl(margin, 0 -20px 0 0);
- line-height: 1;
- @extend .u-clickable, .u-textTruncate;
- }
- .sidebar-header-actions {
- flex: 1;
- @include bidi-style(margin-right, 5px, margin-left, 0);
- display: flex;
- align-items: center;
- .dropdown {
- flex: 1;
- position: static;
- }
- .dropdown-toggle {
- padding-top: 38px;
- padding-bottom: 24px;
- }
- }
- .tabsSidebar-close {
- padding: 27px 35px 12px 0;
- margin: 0 -20px 0 0;
- @extend .u-clickable;
- display: flex;
- align-items: center;
- justify-content: center;
- .icon {
- fill: var(--interactive-primary);
- }
- }
- .tabsSidebar .sidebar-content {
- padding: 0 20px 20px;
- }
- .sidebar.bottom-form-shadow {
- box-shadow:
- 0 -1px rgba(0, 0, 0, 0.005) inset,
- 0 -2px rgba(0, 0, 0, 0.005) inset,
- 0 -3px rgba(0, 0, 0, 0.005) inset,
- 0 -4px rgba(0, 0, 0, 0.005) inset;
- }
- .tabsSidebar {
- position: absolute;
- @include bidi-style(right, 0, left, auto);
- top: 0;
- bottom: 0;
- transition: 500ms;
- z-index: 300;
- &.tabsSidebar--attributeBarSpacer {
- bottom: 60px;
- }
- }
- .tabsSidebar.is-closed {
- transform: translateX($sidebarWidth);
- @include rtl(transform, translateX(-$sidebarWidth));
- @include desktop {
- transform: translateX($desktopSidebarWidth);
- @include rtl(transform, translateX(-$desktopSidebarWidth));
- }
- }
- .tabsSidebar-tabs {
- display: flex;
- flex-direction: column;
- justify-content: center;
- position: absolute;
- @include bidi-style(left, -56px, right, auto);
- top: 0;
- bottom: 0;
- pointer-events: none;
- @include phone {
- @include bidi-style(left, -47px, right, auto);
- }
- }
- .test {
- position: absolute;
- width: 100%;
- }
- .tabsSidebar-tab {
- width: 56px;
- height: 60px;
- background: var(--background-primary-alt);
- position: relative;
- border-top: 1px solid var(--border-alt);
- @extend .u-clickable;
- pointer-events: auto;
- display: flex;
- align-items: center;
- justify-content: center;
- @include phone {
- width: 47px;
- height: 50px;
- }
- }
- .tabsSidebar-tab.is-changed::before {
- position: absolute;
- content: '';
- left: -3px;
- width: 6px;
- height: 6px;
- top: 50%;
- margin-top: -3px;
- border-radius: 100%;
- background: var(--interactive-muted-alt);
- box-shadow: 0 0 0 2px var(--background-primary);
- }
- .tabsSidebar-tab:first-child {
- @include bidi-style(border-top-left-radius, 8px, border-top-right-radius, 0);
- border-top: none;
- }
- .tabsSidebar-tab:last-child {
- @include bidi-style(
- border-bottom-left-radius,
- 8px,
- border-bottom-right-radius,
- 0
- );
- }
- .tabsSidebar-tab .icon {
- width: 24px;
- height: 24px;
- fill: var(--interactive-muted-alt);
- }
- .tabsSidebar-tab.active {
- .tabsSidebar-tab-count {
- background: var(--interactive-muted-alt-selected);
- &::after {
- border-right-color: var(--interactive-muted-alt-selected);
- }
- &.tabsSidebar-tab-count--info {
- background: var(--button-primary-background);
- opacity: 1;
- &::after {
- border-right-color: var(--button-primary-background);
- }
- }
- &.tabsSidebar-tab-count--success {
- background: hsl(145, 51%, 45%);
- opacity: 1;
- &::after {
- border-right-color: hsl(145, 51%, 45%);
- }
- }
- &.tabsSidebar-tab-count--warning {
- background: hsl(45, 98%, 63%);
- opacity: 1;
- &::after {
- border-right-color: hsl(45, 98%, 63%);
- }
- }
- &.tabsSidebar-tab-count--danger {
- background: hsl(11, 85%, 48%);
- opacity: 1;
- &::after {
- border-right-color: hsl(11, 85%, 48%);
- }
- }
- }
- .icon {
- fill: var(--interactive-muted-alt-selected);
- }
- }
- .tabsSidebar-tab-count {
- position: absolute;
- left: 9px;
- top: 5px;
- background: var(--interactive-muted-alt);
- width: 16px;
- height: 13px;
- text-align: center;
- border-radius: 2px;
- font-size: 9px;
- line-height: 14px;
- color: var(--background-primary-alt);
- @include phone {
- left: 4px;
- top: 4px;
- }
- [data-tab='organization'] & {
- left: 7px;
- + .icon {
- margin-left: 3px;
- }
- }
- + .icon {
- margin-top: 6px;
- }
- &::after {
- content: '';
- position: absolute;
- top: 100%;
- right: 20%;
- border-bottom: 3px solid transparent;
- border-right: 5px solid var(--interactive-muted-alt);
- }
- &.tabsSidebar-tab-count--info {
- background: var(--button-primary-background);
- opacity: 0.5;
- &::after {
- border-right-color: var(--button-primary-background);
- }
- }
- &.tabsSidebar-tab-count--success {
- background: hsl(145, 51%, 45%);
- opacity: 0.5;
- &::after {
- border-right-color: hsl(145, 51%, 45%);
- }
- }
- &.tabsSidebar-tab-count--warning {
- background: hsl(45, 98%, 63%);
- opacity: 0.5;
- &::after {
- border-right-color: hsl(45, 98%, 63%);
- }
- }
- &.tabsSidebar-tab-count--danger {
- background: hsl(11, 85%, 48%);
- opacity: 0.5;
- &::after {
- border-right-color: hsl(11, 85%, 48%);
- }
- }
- }
- .alert {
- padding: 10px 15px 8px;
- border-radius: 3px;
- color: var(--text-inverted);
- border: none;
- background: hsla(0, 0%, 0%, 0.3);
- .icon {
- @include bidi-style(margin-right, 10px, margin-left, 0);
- fill: currentColor;
- }
- .btn {
- background: hsla(0, 0%, 0%, 0.2);
- border-color: hsla(0, 0%, 0%, 0.1);
- color: inherit;
- }
- &--info {
- background: var(--button-primary-background);
- }
- &--success {
- &,
- &[contenteditable]:hover,
- &[contenteditable]:focus {
- background: hsl(145, 51%, 45%);
- }
- }
- &--warning {
- color: hsl(45, 98%, 17%);
- background: hsl(45, 98%, 63%);
- .btn {
- background: hsla(0, 0%, 100%, 0.2);
- }
- }
- &--danger {
- background: hsl(11, 85%, 48%);
- }
- &--square {
- border-radius: 0;
- }
- &.horizontal .btn {
- margin-top: -5px;
- margin-bottom: -4px;
- &:last-child {
- margin-right: -5px;
- }
- }
- &-row {
- margin: 3px 0;
- + .btn {
- margin-top: 3px;
- }
- }
- }
- .tags,
- .links,
- .time-units,
- .link_kb_answers {
- margin: 20px 0;
- }
- .tags {
- margin-top: 10px;
- }
- .userNotifications label + .btn {
- margin-top: 1px;
- }
- .list {
- padding: 0;
- margin-bottom: 5px;
- }
- .list-title {
- margin-top: 7px;
- margin-bottom: 4px;
- text-transform: uppercase;
- color: var(--ghost-color);
- display: block;
- font-size: 12px;
- font-weight: normal;
- letter-spacing: 0.05em;
- }
- .list-item {
- display: flex;
- align-items: center;
- border-bottom: 1px solid var(--background-modifier-border);
- }
- .list-item-name {
- flex: 1;
- padding: 4px 1px;
- }
- .list-item-delete {
- padding: 0 10px;
- @include bidi-style(margin-right, -3px, margin-left, 0);
- display: flex;
- align-items: center;
- justify-content: center;
- align-self: stretch;
- @extend .u-clickable;
- .icon {
- width: 9px;
- height: 9px;
- fill: var(--interactive-muted);
- }
- }
- .list-item-delete:hover .icon {
- fill: hsl(1, 77%, 47%);
- }
- li.list-item-none {
- list-style-type: none;
- }
- .ticket-id {
- color: var(--text-inverted);
- background: var(--interactive-muted-alt);
- font-size: 11px;
- border-radius: 7px;
- padding: 0 5px;
- @include bidi-style(margin-right, 2px, margin-left, 0);
- }
- .attributeBar {
- background: var(--background-secondary);
- transition: margin 250ms;
- flex-shrink: 0;
- border-top: 1px solid var(--border);
- &.is-closed {
- margin-bottom: -60px;
- }
- @include phone {
- &-reset {
- flex-shrink: 5;
- }
- .btn,
- .buttonDropdown {
- min-width: 20px;
- &--only-icon {
- min-width: 36px;
- }
- }
- }
- &-inner {
- height: 60px;
- display: flex;
- align-items: center;
- justify-content: flex-end;
- padding: 10px;
- }
- &-avatars {
- margin-right: 10px;
- }
- &-draft-spacer {
- width: 1px;
- height: 60px;
- margin-right: 15px;
- background: var(--background-modifier-accent);
- }
- &-avatars:empty + &-draft-spacer {
- display: none;
- }
- &--border {
- border-top: 1px solid var(--border);
- }
- &--spacer-after {
- margin-right: auto;
- }
- }
- .newTicket {
- padding: 14px 34px;
- @include phone {
- padding: 0;
- }
- }
- .newTicket .sidebar {
- width: 290px;
- }
- .newTicket .form-control {
- border-color: var(--border);
- &:focus,
- &.focus {
- border-color: var(--border-highlight);
- }
- }
- .newTicket .article-form-top {
- margin-top: 15px;
- }
- .newTicket--chatTicket {
- flex: 1;
- display: flex;
- padding: 0;
- height: 100%;
- & > .icon {
- position: absolute;
- top: 50%;
- transform: translateY(-50%) translateX(-50%);
- }
- & > .box {
- width: calc(50% - 47px);
- margin: 34px;
- }
- .chatHistory {
- display: flex;
- flex-direction: column;
- }
- .boxFade {
- width: 94px;
- top: 34px;
- height: 100%;
- position: absolute;
- @include bidi-style(margin-left, -34px, margin-right, 0);
- z-index: 1;
- }
- }
- .box {
- background: var(--background-secondary);
- margin: 20px 0;
- border: 1px solid var(--border);
- padding: 20px 24px;
- }
- .box.box--newTicket {
- max-width: 1080px;
- margin-left: auto;
- margin-right: auto;
- @include phone {
- margin: 0;
- border: none;
- padding: 15px;
- }
- }
- .box .page-header {
- text-align: center;
- margin-bottom: 12px;
- }
- .box--paper {
- background-image: linear-gradient(
- transparent 30px,
- var(--background-modifier-border) 31px
- );
- background-size: 100% 31px;
- line-height: 31px;
- padding-top: 31px;
- padding-bottom: 31px;
- h1,
- h2,
- h3 {
- margin: 0;
- line-height: inherit;
- }
- h3:not(:first-child) {
- margin-top: 31px;
- }
- }
- .box h1 {
- margin-top: 10px;
- margin-bottom: 12px;
- color: var(--text-normal);
- flex: 1;
- }
- .box h2 {
- margin-top: 12px;
- }
- .box .two-columns {
- margin-left: -4px;
- margin-right: -4px;
- }
- .box .two-columns .column {
- margin-left: 4px;
- margin-right: 4px;
- width: calc(50% - 8px);
- @include phone {
- width: auto;
- }
- }
- .box-controls {
- margin-top: 20px;
- display: flex;
- align-items: center;
- }
- .box--yellow {
- background: hsl(47, 100%, 93%);
- border-color: hsl(47, 100%, 75%);
- color: hsl(47, 20%, 67%);
- h1,
- h2 {
- color: hsl(47, 3%, 28%);
- }
- }
- .box-progress {
- display: flex;
- align-items: center;
- justify-content: center;
- }
- .box-progress-title {
- color: hsl(47, 3%, 28%);
- }
- .box-progress-body {
- flex: 1;
- @include bidi-style(margin-left, 24px, margin-right, 0);
- display: flex;
- align-items: center;
- justify-content: center;
- progress {
- width: 100%;
- }
- }
- .horizontal > .box {
- margin-top: 4px;
- margin-bottom: 4px;
- & + .box {
- border-left-width: 0;
- }
- }
- .formset-inset {
- margin: 34px -24px 24px;
- padding: 19px 24px 24px;
- background: var(--background-primary-alt);
- border-top: 1px solid var(--border);
- border-bottom: 1px solid var(--border);
- }
- .type-tabs {
- @include phone {
- overflow: hidden;
- -webkit-overflow-scrolling: none;
- }
- }
- .type-tabs .tab {
- height: 40px;
- line-height: 42px;
- padding: 0 12px;
- list-style: none;
- align-items: flex-start;
- @include phone {
- display: block;
- text-align: center;
- flex-shrink: 1;
- }
- }
- .type-tabs .tab-icon {
- width: 17px;
- height: 17px;
- fill: var(--interactive-muted);
- vertical-align: top;
- @include bidi-style(margin-right, 9px, margin-left, 0);
- margin-top: 11px;
- transform: scale(1.2);
- flex-shrink: 0;
- }
- .type-tabs .tab.active .tab-icon {
- fill: var(--text-inverted);
- }
- .token {
- @include ltr(padding, 0 0 0 10px);
- margin: 0 5px 6px 0;
- height: 26px;
- color: var(--tag-text);
- border-radius: 3px;
- background: var(--tag-background);
- border: none;
- float: none;
- display: inline-flex;
- align-items: center;
- cursor: default;
- max-width: 100%;
- &.active {
- background: var(--highlight);
- color: var(--text-inverted);
- .close,
- .token-close {
- opacity: 1;
- }
- }
- }
- /*
- selector needs to be stronger than .token-input
- in order to override input[type=text]
- */
- .tokenfield .token-input {
- vertical-align: top;
- padding: 0 10px 7px 5px;
- margin: 0;
- min-width: 60px;
- height: 32px;
- display: inline-block;
- border: none;
- background: none;
- box-shadow: none;
- outline: none;
- flex: 1;
- &:focus {
- box-shadow: none;
- }
- &[disabled] {
- background: none;
- }
- }
- .tokenfield .token ~ .token-input {
- padding: 0 5px 7px 0;
- }
- .token-label {
- padding: 0;
- @include rtl(padding, 0 10px 0 0);
- white-space: nowrap;
- overflow: hidden;
- text-overflow: ellipsis;
- }
- .tokenfield.form-control {
- padding: 7px 7px 0;
- height: auto;
- display: flex;
- flex-wrap: wrap;
- }
- .token .close,
- .token-close {
- margin: 0;
- padding: 0 9px 1px 6px;
- font-family: inherit;
- font-weight: 100;
- font-size: 28px;
- line-height: 1;
- color: inherit;
- text-shadow: none;
- opacity: 0.5;
- outline: none;
- height: auto;
- @extend %clickable;
- }
- .token .close:hover,
- .token-close:hover {
- opacity: 0.5;
- }
- /* allow/show autocomplete in modal dialog */
- .ui-autocomplete.ui-widget-content {
- @extend .zIndex-11;
- position: absolute;
- max-height: 380px;
- overflow: auto;
- -webkit-overflow-scrolling: touch;
- }
- .ui-menu {
- background: var(--background-tertiary);
- border: none;
- color: var(--text-inverted);
- font-family: inherit;
- font-size: inherit;
- .ui-menu-item {
- padding: 9px 15px;
- list-style-image: none;
- &.is-inactive {
- text-decoration: line-through;
- opacity: 0.73;
- }
- &:not(:first-child) {
- box-shadow: 0 1px rgba(255, 255, 255, 0.13) inset;
- }
- &.ui-state-focus {
- margin: 0;
- border: none;
- background: var(--highlight);
- color: inherit;
- + li {
- box-shadow: none;
- }
- }
- }
- }
- .drox {
- color: var(--text-muted);
- }
- .drox .drox-header {
- padding-bottom: 2px;
- margin-bottom: 16px;
- border-bottom: 1px solid var(--background-modifier-border);
- }
- .drox a.create {
- margin-top: 2px;
- display: inline-block;
- }
- .drox .form-group {
- margin-bottom: 22px;
- }
- .drox .drox-body p:first-child {
- margin-top: 20px;
- }
- .newTicket .templates {
- border-bottom: 1px solid var(--background-modifier-border);
- padding-bottom: 14px;
- }
- .templates-manage fieldset {
- margin: 0;
- }
- .template-attributes {
- margin: 17px 0 19px;
- }
- .template-attribute {
- height: 24px;
- line-height: 25px;
- @include bidi-style(padding-left, 10px, padding-right, 0);
- margin-bottom: 2px;
- font-size: 13px;
- color: var(--text-muted-alt);
- background: var(--background-primary-alt);
- border: 1px solid var(--border);
- border-radius: 3px;
- }
- .template-attribute .key {
- text-transform: uppercase;
- @include bidi-style(margin-right, 3px, margin-left, 0);
- }
- .template-attribute .value {
- @include bidi-style(margin-left, 3px, margin-right, 0);
- }
- .template-attribute .delete {
- padding: 0 7px;
- margin-top: 4px;
- line-height: 19px;
- font-size: 28px;
- font-weight: 300;
- opacity: 0.4;
- }
- .customer-name {
- color: var(--text-normal);
- }
- .customer-email {
- margin-top: 5px;
- margin-bottom: 20px;
- display: block;
- }
- .table.user-list {
- tr:hover .switchView {
- visibility: visible;
- }
- td .list {
- margin-top: -4px;
- }
- .switchView {
- visibility: hidden;
- display: block;
- text-overflow: ellipsis;
- overflow: hidden;
- }
- .btn {
- margin: 3px 5px 0;
- }
- }
- .switchBackToUser {
- display: flex;
- align-items: center;
- background: hsl(200, 87%, 45%);
- color: var(--text-inverted);
- height: 45px;
- padding: 0 17px;
- /* top: -45px !important; */
- border-bottom: 5px solid hsl(205, 90%, 60%);
- }
- .switchBackToUser-icon {
- width: 19px;
- height: 18px;
- }
- .switchBackToUser-text {
- @include bidi-style(margin-left, 10px, margin-right, 0);
- }
- .switchBackToUser-close {
- width: 40px;
- height: 40px;
- @include bidi-style(margin-right, -10px, margin-left, 0);
- display: flex;
- align-items: center;
- justify-content: center;
- svg {
- fill: var(--text-inverted);
- }
- }
- .modal {
- @extend .zIndex-11;
- &-loader {
- text-align: center;
- padding: 70px;
- }
- &-backdrop--local {
- background: var(--background-primary-alt);
- }
- }
- .modal-dialog {
- width: auto;
- max-width: 660px;
- margin-top: 35px;
- margin-bottom: 35px;
- @extend .zIndex-11;
- @include phone {
- max-width: calc(100% - 20px) !important;
- margin: 10px;
- }
- &.wizard {
- margin: 35px auto;
- }
- }
- .modal--veryLarge .modal-dialog {
- max-width: 990px;
- }
- .modal--large .modal-dialog {
- max-width: 740px;
- }
- .modal--small .modal-dialog {
- max-width: 440px;
- }
- .modal--dynamicSize .modal-dialog {
- max-width: 100%;
- width: max-content;
- padding: 0 35px;
- @include phone {
- padding: 0;
- margin: 10px;
- }
- }
- .modal-dialog.wizard {
- max-width: 460px;
- }
- .modal-content {
- border-radius: 0;
- border: 1px solid var(--border);
- box-shadow: none;
- color: var(--text-normal);
- background: var(--background-secondary);
- }
- .modal-header {
- padding: 30px 23px 23px;
- border: none;
- @include phone {
- padding: 14px 15px;
- }
- &--empty {
- padding: 0;
- }
- }
- .modal-header h1 {
- text-align: center;
- @include phone {
- text-align: initial;
- line-height: 1.2;
- }
- }
- .modal-close {
- padding: 23px;
- position: absolute;
- z-index: 1;
- right: 0;
- color: var(--interactive-muted);
- @include rtl(right, auto);
- @include rtl(left, 0);
- top: 0;
- @extend .u-clickable;
- @include phone {
- position: static;
- padding: 21px;
- margin: -14px -15px 0 0;
- float: right;
- }
- &:active {
- color: var(--interactive-muted-active);
- }
- .icon-diagonal-cross {
- fill: currentColor;
- }
- }
- .modal-alerts-container {
- padding: 0 23px;
- }
- .modal-body {
- padding: 0 23px;
- clear: both;
- @include phone {
- padding: 0 15px;
- }
- h2:first-child {
- margin-top: 0;
- }
- p:first-child,
- .alert.hidden:first-child + p {
- margin-top: 0;
- }
- .table > thead > tr > th {
- background: var(--background-primary-alt);
- }
- }
- .modal-footer {
- padding: 23px 23px 20px;
- border: none;
- display: flex;
- @include rtl(text-align, left);
- @include phone {
- padding: 15px;
- }
- .btn--text + .btn--text {
- margin-bottom: -10px;
- }
- }
- .modal-leftFooter,
- .modal-centerFooter,
- .modal-rightFooter {
- display: flex;
- align-items: center; /* because of btn--text btn--subtle being thinner than the rest */
- flex: 1;
- }
- .modal.modal--local {
- display: block;
- padding: 0 40px;
- @extend .zIndex-11;
- @include bidi-style(padding-left, 40px, padding-right, 0);
- @include phone {
- padding: 0 !important;
- }
- .modal-dialog {
- box-shadow: 0 0 40px hsla(210, 17%, 40%, 0.34);
- @include dark {
- box-shadow: 0 0 40px hsla(0, 0%, 0%, 0.34);
- }
- }
- }
- .caret {
- position: absolute;
- top: 50%;
- margin-top: -3px;
- right: 10px;
- }
- .dropdown-backdrop {
- @extend .zIndex-5; // has to be behind dropdown-menu
- }
- .dropdown-menu {
- @extend .zIndex-6; // has to be behind modal windows and beneath notifications (popover)
- margin: 0;
- padding: 0;
- min-width: 100%;
- color: var(--text-inverted);
- text-transform: initial;
- letter-spacing: 0;
- background: var(--background-tertiary);
- border-radius: 0;
- border: none;
- box-shadow: none;
- overflow: hidden;
- @include rtl(text-align, right);
- overscroll-behavior: contain;
- }
- .dropdown-menu .divider {
- background: var(--background-modifier-border);
- }
- .dropdown-menu kbd {
- background: none;
- color: inherit;
- padding: 2px 5px;
- @include bidi-style(margin-left, 7px, margin-right, 0);
- line-height: 1;
- vertical-align: baseline;
- opacity: 0.5;
- }
- .dropdown-toggle {
- display: flex;
- align-items: center;
- @extend .u-clickable;
- }
- .dropdown-icon {
- width: 16px;
- height: 16px;
- }
- .dropdown-menu.dropdown-menu--light {
- background: var(--background-secondary);
- color: var(--text-muted);
- }
- .dropdown-menu.dropdown-menu--light > li {
- color: var(--text-nav);
- &.dropdown-header {
- color: var(--text-muted);
- }
- }
- .dropdown-menu.dropdown-menu--light > li > a:hover {
- background: var(--background-secondary-hover);
- }
- .user-menu li.add .dropdown-menu.dropdown-menu--light li > a:hover {
- color: var(--text-normal);
- }
- .dropdown-menu.dropdown-menu--light li:hover {
- background: none;
- }
- .dropdown-menu.dropdown-menu--light li.is-active {
- color: var(--text-inverted);
- }
- .dropdown ul {
- margin: 0;
- padding: 0;
- }
- .dropdown li,
- .dropup li {
- height: 39px;
- line-height: 39px;
- padding: 0 15px;
- @extend %clickable;
- white-space: nowrap;
- &:focus {
- outline: none;
- }
- &.is-active {
- small {
- color: var(--text-muted-highlight);
- }
- }
- }
- .dropdown.dropdown--actions li.with-category {
- height: 39px;
- padding: 2.5px 15px;
- display: block;
- }
- .dropdown li:not(:first-child) {
- box-shadow: 0 1px rgba(255, 255, 255, 0.13) inset;
- }
- .dropdown li.label {
- box-shadow: none;
- + li {
- box-shadow: none;
- }
- }
- .dropdown li:hover,
- .dropdown li.is-active {
- background: var(--highlight);
- + li {
- box-shadow: none;
- }
- }
- .dropdown-menu > li.danger:hover,
- .dropdown-menu > li.danger.is-active {
- background: var(--danger-color);
- }
- .dropdown-menu > li.create:hover,
- .dropdown-menu > li.create.is-active {
- background: hsl(145, 51%, 45%);
- }
- .dropdown-menu > li[disabled] {
- opacity: 0.33;
- &:hover,
- &.is-active {
- background: none;
- cursor: default;
- }
- }
- .dropdown-menu > li > a {
- color: inherit;
- padding: 0 15px;
- margin: 0 -15px;
- line-height: inherit;
- }
- .dropdown-menu > li > a:hover {
- color: inherit;
- background: none;
- }
- .dropdown-menu > li > a span {
- display: block;
- }
- .dropdown-menu .badge--text {
- @include bidi-style(padding-left, 10px, padding-right, 0);
- }
- .dropdown.dropdown--actions {
- li {
- line-height: initial;
- height: auto;
- padding: 11px 15px;
- display: flex;
- align-items: center;
- word-break: break-all;
- }
- .dropdown-iconSpacer,
- .dropdown-selectedSpacer {
- display: flex;
- align-items: center;
- }
- .dropdown-iconSpacer {
- width: 25px;
- }
- .dropdown-selectedSpacer {
- width: 34px;
- @include bidi-style(margin-left, auto, margin-right, 0);
- justify-content: flex-end;
- opacity: 0;
- .icon {
- fill: var(--text-inverted);
- }
- &.is-selected {
- opacity: 1;
- }
- }
- a {
- @extend .u-clickable;
- display: flex;
- flex: 1;
- padding: 0 18px;
- }
- li.dropdown-highlight-list {
- padding: 0 10px;
- a {
- padding: 11px 18px;
- }
- }
- }
- .dropdown.dropdown--wide {
- li {
- padding-top: 12px;
- padding-bottom: 12px;
- }
- }
- li.dropdown-header {
- line-height: 34px;
- height: 30px;
- color: var(--text-muted);
- box-shadow: none !important;
- pointer-events: none;
- }
- .dropdown-menu--has-submenu {
- overflow: hidden;
- background: none;
- ul {
- background: var(--background-tertiary);
- }
- }
- .dropdown-submenu {
- position: absolute;
- top: 0;
- left: 0;
- width: 100%;
- }
- .dropdown.dropdown--actions .dropdown-controls {
- @extend .u-clickable;
- display: flex;
- .icon {
- fill: var(--text-inverted);
- @include bidi-style(margin-right, 10px, margin-left, 0);
- flex-shrink: 0;
- }
- }
- .dropdown-title {
- flex-shrink: 1;
- overflow: hidden;
- text-overflow: ellipsis;
- white-space: nowrap;
- }
- .dropdown-detail {
- opacity: 0.5;
- }
- .dropdown {
- .dropdown-menu-full-height {
- li {
- padding: 0;
- }
- a {
- padding: 11px 18px;
- margin: 0;
- }
- }
- }
- .recipientList,
- .recipientList-organizationMembers {
- list-style: none;
- padding: 0;
- }
- .recipientList-entry {
- display: flex;
- align-items: center;
- @extend .u-clickable;
- &.is-inactive {
- .recipientList-name {
- text-decoration: line-through;
- opacity: 0.73;
- }
- }
- }
- .recipientList-entry .recipientList-iconSpacer {
- width: 20px;
- @include bidi-style(margin-left, -5px, margin-right, 0);
- display: flex;
- align-items: center;
- justify-content: center;
- flex-shrink: 0;
- }
- .recipientList-icon {
- width: 16px;
- height: 16px;
- fill: var(--text-inverted);
- opacity: 0.2;
- }
- .recipientList--new,
- .recipientList-entry:hover,
- .recipientList-entry.is-active {
- .recipientList-icon {
- opacity: 1;
- }
- }
- .recipientList-name {
- color: var(--text-inverted);
- @include bidi-style(margin-left, 10px, margin-right, 0);
- flex: 1;
- @extend .u-textTruncate;
- }
- .recipientList-status {
- opacity: 0.5;
- margin: 0 10px;
- flex-shrink: 1;
- &:last-child {
- margin-right: 0;
- }
- }
- .recipientList-arrow {
- fill: var(--text-inverted);
- opacity: 0.39;
- }
- .recipientList-entry:hover .recipientList-arrow {
- opacity: 1;
- }
- .recipientList-detail {
- opacity: 0.5;
- &.is-inactive > span {
- text-decoration: line-through;
- }
- }
- .recipientList-icon.plus {
- @include bidi-style(margin-left, 13px, margin-right, 0);
- }
- .recipientList--new {
- background: hsl(145, 51%, 45%);
- }
- .dropdown .recipientList--new:hover {
- background: hsl(147, 52%, 43%);
- }
- .recipientList-controls {
- @extend .u-clickable;
- padding: 0 10px !important;
- .dropdown &:hover {
- background: var(--supergood-color);
- .icon-arrow-left {
- fill: var(--text-inverted);
- }
- }
- & + li {
- box-shadow: 0 1px rgba(255, 255, 255, 0.13) inset;
- }
- }
- .recipientList-organizationMembers {
- position: absolute;
- top: 0;
- left: 0;
- right: 0;
- }
- .organizationInfo-avatar,
- .userInfo-avatar {
- float: right;
- @include rtl(float, left);
- position: relative;
- }
- .userList {
- list-style: none;
- padding: 0;
- .userList-entry {
- margin: 10px 0;
- display: flex;
- align-items: center;
- &:last-child {
- margin-bottom: 0;
- }
- }
- .userList-name {
- @extend .u-textTruncate;
- @include bidi-style(margin-left, 7px, margin-right, 0);
- }
- }
- .checkbox,
- .radio {
- font-size: 14px;
- padding: 0 6px;
- .form-group & {
- padding: 10px 12px;
- margin: 0;
- list-style: none;
- height: auto;
- display: flex;
- flex-direction: column;
- align-items: flex-start;
- background: var(--background-secondary);
- border: 1px solid var(--border);
- }
- .checkbox-replacement {
- display: inline-block;
- }
- label {
- padding-left: 0;
- min-height: 0;
- }
- > label,
- &-child {
- margin-top: 5px;
- font-family: inherit;
- font-size: 14px;
- color: inherit;
- text-transform: inherit;
- letter-spacing: 0;
- line-height: 1.2;
- &:first-child {
- margin-top: 0;
- }
- &.is-disabled {
- cursor: default;
- touch-action: default;
- span {
- opacity: 0.33;
- }
- }
- &.additional-radio-controls {
- margin-top: 0;
- .controls {
- display: inline-flex;
- margin-left: 5px;
- }
- }
- }
- &-child {
- padding-left: 20px;
- }
- .help-text {
- display: table;
- font-size: 0.92em;
- margin: 2px 0 3px 18px;
- }
- }
- .checkbox.form-group .checkbox--list,
- .radio.form-group .radio--list {
- margin-top: 0;
- margin-bottom: 15px;
- height: auto;
- padding-top: 3px;
- padding-bottom: 3px;
- }
- .checkbox,
- .radio {
- &.form-group .controls label {
- padding: 2px 0;
- font: inherit;
- margin-bottom: 0;
- color: inherit;
- text-transform: inherit;
- letter-spacing: 0;
- line-height: 1.2;
- &:first-child {
- margin-top: 0;
- }
- &.is-disabled {
- cursor: default;
- touch-action: default;
- span {
- opacity: 0.33;
- }
- }
- }
- &-child {
- padding-left: 20px;
- }
- }
- .radio_graphic .selections-container {
- display: grid;
- grid-gap: 10px;
- // fit as many as possible in one line, they must at least be 112px wide
- grid-template-columns: repeat(auto-fill, minmax(112px, 1fr));
- label {
- margin-top: 0;
- position: relative;
- }
- .icon {
- flex-shrink: 0;
- }
- .icon-checked {
- display: none;
- }
- .label-box {
- display: block;
- background: var(--background-secondary);
- border: 1px solid var(--border);
- border-radius: 5px;
- overflow: hidden;
- }
- .label-row {
- display: flex;
- align-items: center;
- padding: 5px 10px;
- }
- .label-text {
- display: block;
- margin-left: 5px;
- white-space: nowrap;
- overflow: hidden;
- text-overflow: ellipsis;
- }
- .radio-illustration {
- display: block;
- width: 100%;
- padding-bottom: 100%;
- position: relative;
- img {
- width: 100%;
- height: 100%;
- position: absolute;
- left: 0;
- top: 0;
- object-fit: cover;
- }
- }
- input {
- &:checked {
- ~ .label-box {
- border-color: var(--border-highlight);
- box-shadow: 0 0 0 3px var(--shadow-highlight);
- .icon-checked {
- display: inline;
- }
- .icon-unchecked {
- display: none;
- }
- }
- }
- }
- }
- .userSearch-label {
- margin-top: 11px;
- @include bidi-style(margin-right, 10px, margin-left, 0);
- }
- .userSearch .tab:not(.active) {
- background: var(--background-secondary);
- }
- .userSearch {
- margin: 0 0 20px;
- }
- .userSearch .tabs {
- margin: 0;
- }
- .nav {
- list-style: none;
- padding: 0;
- margin: 0;
- }
- .nav a {
- padding: 10px 15px;
- display: block;
- }
- .nav-tabs {
- display: flex;
- margin: 10px -20px 20px;
- padding: 0 20px 0 21px; /* margin-left: -1px */
- @include rtl(padding, 0 21px 0 20px);
- position: relative;
- }
- .nav-tabs li {
- margin: 0;
- color: var(--interactive-muted);
- border: 1px solid var(--border);
- margin-left: -1px;
- background: var(--background-secondary);
- position: relative;
- &:first-child {
- border-radius: 7px 0 0 7px;
- @include rtl(border-radius, 0 7px 7px 0);
- }
- &:last-child {
- border-radius: 0 7px 7px 0;
- @include rtl(border-radius, 7px 0 0 7px);
- }
- &:only-child {
- border-radius: 7px;
- }
- &.active {
- color: var(--text-inverted);
- background: var(--button-active);
- }
- a {
- padding: 10px 24px 8px;
- color: inherit;
- color: inherit;
- }
- }
- .tab-content {
- h2:first-child {
- margin-top: 0;
- }
- }
- .or-divider {
- position: relative;
- margin: 16px 0;
- text-align: center;
- &::before {
- content: '';
- position: absolute;
- left: 0;
- width: 100%;
- top: 50%;
- margin-top: -1px;
- height: 1px;
- background: hsla(0, 0%, 0%, 0.1);
- }
- span {
- position: relative;
- background: var(--background-secondary);
- padding: 0 10px;
- .modal-body & {
- background: var(--background-primary);
- }
- }
- }
- .settings-entry {
- margin-bottom: 42px;
- max-width: 700px;
- @include phone {
- overflow: auto;
- -webkit-overflow-scrolling: touch;
- }
- &--stretched {
- max-width: none;
- }
- }
- .setting-controls {
- margin-top: 14px;
- display: flex;
- justify-content: flex-end;
- }
- .form-item .form-group {
- margin-bottom: 0;
- }
- .form-item .form-group + .form-group {
- margin-top: 15px;
- }
- .form-item + .btn {
- @include bidi-style(margin-left, 23px, margin-right, 0);
- }
- .scrollPageHeader {
- @extend .zIndex-5;
- display: flex;
- align-items: center;
- background: var(--background-secondary);
- border-bottom: 1px solid var(--border);
- height: 64px;
- top: 0;
- left: 0;
- right: 0;
- padding: 0 22px;
- position: absolute;
- transform: translateY(-100%);
- @include phone {
- height: 50px;
- padding: 0 6px;
- overflow: hidden;
- &.is-closed {
- overflow: visible;
- }
- }
- }
- .scrollPageHeader small {
- color: var(--text-muted-alt);
- @include phone {
- margin-top: 1px;
- @include bidi-style(margin-left, 3px, margin-right, 0);
- }
- }
- .scrollPageHeader .ticket-title {
- max-width: initial;
- padding: 0;
- min-width: 0;
- flex: 1;
- }
- .scrollPageHeader h1 {
- font-size: 19px;
- margin: 0 15px;
- @extend .u-textTruncate;
- @include phone {
- font-size: 17px;
- margin: 0 5px;
- }
- }
- .wizard {
- margin: auto; // makes sure that the wizard is scrollable
- }
- .wizard-logo {
- fill: var(--text-inverted);
- @include bidi-style(margin-left, -25px, margin-right, 0);
- margin-bottom: 5px;
- }
- .wizard-slide {
- @extend .hero-unit;
- display: flex;
- flex-direction: column;
- width: 400px;
- padding-bottom: 18px;
- margin-bottom: 20px;
- &.wizard-slide--large {
- width: 460px;
- }
- &.wizard-slide--very-large {
- width: auto;
- max-width: 990px;
- }
- }
- .wizard h2 {
- text-align: center;
- border-bottom: 1px solid rgba(0, 0, 0, 0.13);
- padding-bottom: 8px;
- margin-bottom: 16px;
- & + p {
- margin-top: 0;
- }
- }
- .wizard-body {
- flex: 1;
- padding-bottom: 15px;
- @include phone {
- width: 100%;
- }
- .form-control {
- min-width: 0;
- }
- }
- .wizard-controls {
- display: flex;
- margin-top: 15px;
- height: 39px;
- }
- .wizard-buttonList {
- margin-top: 15px;
- min-width: 200px;
- }
- p + .wizard-buttonList,
- label + .wizard-buttonList {
- margin-top: 5px;
- }
- .wizard-loadingText {
- text-align: center;
- margin: 0;
- }
- .wizard-loadingText .loading {
- vertical-align: middle;
- @include bidi-style(margin-right, 10px, margin-left, 0);
- }
- .wizard-aside {
- padding-top: 15px;
- text-align: center;
- border-top: 1px solid rgba(0, 0, 0, 0.13);
- }
- .setup.wizard .wizard-body {
- min-height: 140px;
- & > p:first-child {
- margin-top: 0;
- }
- }
- .setup.wizard .logo-preview,
- .branding .logo-preview {
- display: block;
- height: 0;
- max-width: 200px;
- max-height: 100px;
- &[src=''] {
- visibility: hidden;
- }
- + .logo-preview-placeholder {
- height: 100px;
- color: var(--text-muted);
- background: var(--background-modifier-accent);
- margin-bottom: 10px;
- display: flex;
- align-items: center;
- justify-content: center;
- }
- }
- .setup.wizard .logo-preview:not([src='']) {
- margin: 0 auto 15px;
- height: auto;
- + .logo-preview-placeholder {
- display: none;
- }
- }
- .setup.wizard .base-outbound-settings {
- margin-top: 15px;
- }
- .branding .logo-preview:not([src='']) {
- margin: 20px auto 12px;
- height: auto;
- + .logo-preview-placeholder {
- display: none;
- }
- }
- .branding.login {
- padding: 24px 24px 0;
- }
- .import.wizard .wizard-slide {
- min-height: 300px;
- }
- .import-source {
- border-radius: 5px;
- border: 1px solid rgba(0, 0, 0, 0.13);
- height: 50px;
- margin: 5px 0;
- @extend .u-clickable;
- }
- .input-feedback {
- position: absolute;
- @include bidi-style(padding-left, 10px, padding-right, 0);
- right: 1px;
- top: 1px;
- bottom: 1px;
- width: 52px;
- border-radius: 0 5px 5px 0;
- background: linear-gradient(to right, rgba(255, 255, 255, 0), white 33%);
- &--no-background {
- background: none;
- }
- }
- .input-group-addon {
- color: inherit;
- }
- .input-feedback--no-background {
- background: none;
- }
- .input-feedback .icon {
- display: none;
- }
- .input-feedback[data-state='loading'] .loading.icon,
- .input-feedback[data-state='error'] .icon-error,
- .input-feedback[data-state='success'] .icon-checkmark {
- display: block;
- }
- .progressTable {
- width: 100%;
- margin: 0 auto;
- }
- .progressTable td {
- padding: 8px;
- overflow: auto;
- -webkit-overflow-scrolling: touch;
- width: 33%;
- }
- .progressTable tr:not(:last-child) {
- border-bottom: 1px solid #eee;
- }
- .progressTable td:first-child {
- text-align: end;
- }
- .progressTable progress {
- width: 100%;
- min-width: 60px;
- display: block;
- }
- .progressTable .icon-checkmark {
- @include bidi-style(margin-left, 10px, margin-right, 0);
- opacity: 0;
- }
- .progressTable tr.is-done .icon-checkmark {
- opacity: 1;
- }
- .channelList {
- flex: 1;
- display: flex;
- flex-direction: column;
- background: var(--background-secondary);
- border-radius: 2px;
- margin: 5px 0 20px;
- box-shadow: var(--elevation-low);
- }
- .channelList,
- .channelList-controls,
- .channelList-controlEntry {
- border: 1px solid var(--border);
- }
- .channelList-entry {
- display: flex;
- cursor: default;
- padding: 5px 8px;
- &:not(:last-child) {
- border-bottom: 1px solid var(--border);
- }
- }
- .channelList-label {
- margin: 0 10px;
- flex: 1;
- & > * {
- @extend .u-textTruncate;
- }
- }
- .channelList-status {
- font-size: 12px;
- color: var(--text-muted);
- }
- .channelList-placeholder {
- display: flex;
- align-items: center;
- justify-content: center;
- flex: 1;
- color: var(--text-muted);
- }
- .channelList-controls {
- margin-top: auto;
- display: flex;
- background: var(--background-quaternary-alt);
- border-left: none;
- border-right: none;
- border-bottom: none;
- }
- .channelList-controlEntry {
- display: flex;
- justify-content: center;
- width: 26px;
- height: 26px;
- border-left: none;
- border-top: none;
- border-bottom: none;
- position: relative;
- [data-toggle='dropdown'] {
- position: relative;
- }
- .icon {
- opacity: 0.8;
- }
- }
- .avatar-gallery {
- display: flex;
- flex-wrap: wrap;
- }
- .avatar-holder {
- display: inline-block;
- position: relative;
- margin: 0 32px 32px 0;
- border-radius: 100%;
- box-shadow: 0 0 0 4px var(--background-secondary);
- .avatar {
- @extend .u-clickable;
- &.is-active {
- box-shadow: 0 0 0 4px var(--border-highlight);
- }
- }
- }
- .avatar--new {
- background: hsl(145, 51%, 45%);
- @extend .u-clickable;
- }
- .avatar-holder .avatar-delete {
- position: absolute;
- right: -15px;
- top: -15px;
- width: 40px;
- height: 40px;
- pointer-events: none;
- visibility: hidden;
- background: var(--background-secondary);
- display: flex;
- align-items: center;
- justify-content: center;
- border-radius: 100%;
- box-shadow: 0 1px 5px rgba(0, 0, 0, 0.05);
- @extend .u-clickable;
- svg {
- opacity: 0.5;
- fill: var(--interactive-primary);
- }
- &:hover svg {
- opacity: 1;
- }
- }
- .avatar-holder:hover .avatar-delete {
- visibility: visible;
- pointer-events: auto;
- }
- .camera video {
- position: absolute;
- visibility: hidden;
- pointer-events: none;
- }
- .camera-preview {
- display: block;
- margin: 0 auto;
- }
- .camera-flash {
- @extend .fit;
- background: var(--background-secondary);
- opacity: 0;
- @extend .u-unclickable;
- }
- .camera-flash.is-active {
- animation: flash 500ms ease;
- }
- @keyframes flash {
- 0% {
- opacity: 0;
- }
- 50% {
- opacity: 1;
- }
- 100% {
- opacity: 0;
- }
- }
- .fileUpload {
- position: relative;
- overflow: hidden;
- &.btn input:focus + label {
- text-decoration: none;
- }
- }
- .fileUpload label {
- font-size: inherit;
- color: inherit;
- letter-spacing: inherit;
- text-transform: inherit;
- display: inline;
- margin: 0;
- }
- .fileUpload input {
- position: absolute;
- right: 0;
- top: 0;
- font-size: 118px;
- margin: 0;
- padding: 0;
- @extend %clickable;
- opacity: 0;
- &:focus + label {
- text-decoration: underline;
- }
- }
- .imagePreview {
- margin-top: 45px;
- @include phone {
- margin-top: 0;
- }
- img {
- width: auto !important;
- max-width: 100% !important;
- max-height: calc(100vh - 218px) !important;
- }
- }
- .imageCropper p {
- margin: 0;
- }
- .imageCropper-holder {
- height: 340px;
- margin: 15px 0;
- }
- .imageCropper-image {
- max-width: 100%;
- max-height: 100%;
- opacity: 0;
- }
- .imageCropper-preview {
- width: 40px;
- height: 40px;
- border-radius: 100%;
- overflow: hidden;
- margin: 0 10px;
- }
- .cropper-container {
- /* prevent cropper.js's centering – we center via flex */
- left: 0 !important;
- }
- .profile {
- padding: 60px;
- overflow: auto;
- -webkit-overflow-scrolling: touch;
- flex: 1;
- @include phone {
- padding: 0;
- margin: 0;
- }
- h1 {
- margin: 18px 0 0;
- }
- .tabs {
- margin-top: 2px;
- margin-bottom: 25px;
- }
- }
- .profile-window {
- color: var(--text-normal);
- background: var(--background-secondary);
- max-width: 660px;
- margin: 0 auto;
- border: 1px solid var(--border);
- }
- .profile-section {
- padding: 20px 50px;
- @include phone {
- padding: 10px;
- }
- &.profile-memberSection {
- margin-bottom: 10px;
- }
- }
- .profile-section:not(:last-child) {
- border-bottom: 1px solid var(--background-modifier-border);
- }
- .profile-action {
- @include bidi-style(margin-right, -20px, margin-left, 0);
- @include phone {
- @include bidi-style(margin-right, 0, margin-left, 0);
- }
- .dropdown-toggle {
- margin-top: -20px;
- @include bidi-style(margin-right, -30px, margin-left, 0);
- margin-bottom: 8px;
- padding: 26px 40px 2px;
- @include phone {
- margin-top: -5px;
- padding: 10px 0 5px;
- @include bidi-style(margin-right, 0, margin-left, 0);
- }
- }
- label {
- margin: 0 8px;
- padding: 0;
- cursor: inherit;
- }
- }
- .profile-subtitle {
- font-size: 16px;
- @extend .u-highlight;
- }
- .profile-details {
- @include bidi-style(margin-left, -50px, margin-right, 0);
- }
- .profile-ticketsPlaceholder {
- flex: 1;
- margin: 8px 0 22px;
- color: var(--text-muted);
- .stat-icon {
- margin-bottom: 10px;
- }
- }
- .profile-detailsEntry {
- margin: 8px 0;
- @include bidi-style(padding-left, 50px, padding-right, 0);
- width: 50%;
- }
- .profile-detailsEntry label {
- padding: 0;
- margin-bottom: 2px;
- display: block;
- }
- .profile-organizationMember {
- @extend .profile-detailsEntry;
- display: flex;
- align-items: center;
- .avatar {
- @include bidi-style(margin-right, 10px, margin-left, 0);
- }
- }
- .profile-ticketLists {
- display: flex;
- margin: 0 -25px;
- @include phone {
- display: block;
- margin: 0;
- }
- }
- .profile-ticketList {
- display: flex;
- flex-direction: column;
- flex: 1 1 50%;
- padding: 0 25px;
- min-width: 0; /* Firefox wrong content-calculation with word-wrap workaround */
- @include phone {
- padding: 0;
- margin-bottom: 10px;
- &:last-child {
- margin-bottom: 0;
- }
- }
- .tasks {
- margin-bottom: 10px;
- display: flex;
- flex-basis: auto;
- flex-direction: column;
- }
- }
- .profile .frequency.stat-widget {
- height: 230px;
- @include phone {
- display: none;
- }
- .stat-bars {
- height: 100px;
- }
- }
- .highlighter {
- display: flex;
- }
- [data-highlightcolor='Yellow']::selection {
- background: var(--highlighter-yellow);
- }
- .highlight-Yellow {
- background: var(--highlighter-yellow);
- }
- [data-highlightcolor='Green']::selection {
- background: var(--highlighter-green);
- }
- .highlight-Green {
- background: var(--highlighter-green);
- }
- [data-highlightcolor='Blue']::selection {
- background: var(--highlighter-blue);
- }
- .highlight-Blue {
- background: var(--highlighter-blue);
- }
- [data-highlightcolor='Pink']::selection {
- background: var(--highlighter-pink);
- }
- .highlight-Pink {
- background: var(--highlighter-pink);
- }
- [data-highlightcolor='Purple']::selection {
- background: var(--highlighter-purple);
- }
- .highlight-Purple {
- background: var(--highlighter-purple);
- }
- .translationOverview {
- tbody > tr > td {
- padding: 20px 0 0 10px;
- }
- .translationOverview-itemContainer {
- padding: 10px 0 10px 10px;
- }
- .translationOverview-source {
- width: 25%;
- }
- .translationOverview-target {
- width: 35%;
- }
- .translationOverview-initial {
- width: 25%;
- }
- .translationOverview-item {
- width: 100%;
- }
- }
- .overview-navigator {
- display: flex;
- }
- .overview-navigator .pagination {
- margin: 0 0 0 10px;
- @include rtl(margin, 0 10px 0 0);
- }
- .empty-space {
- padding: 50px;
- svg {
- width: 200px;
- height: auto;
- }
- .empty-space-tagline {
- color: var(--text-muted);
- margin-top: 15px;
- font-size: 18px;
- }
- }
- .horizontal-filters-alert {
- margin-bottom: 10px;
- }
- .horizontal-filters {
- margin-bottom: 20px;
- &--with-switch {
- margin-bottom: 10px;
- }
- .alert {
- margin-top: 10px;
- margin-bottom: 10px;
- }
- .alert + .horizontal-filter {
- border-radius: 4px 4px 0 0;
- }
- .alert + .horizontal-filter:last-child {
- border-radius: 4px;
- }
- }
- .horizontal-filter {
- position: relative;
- display: flex;
- background: var(--background-primary-alt);
- padding: 7px;
- border: 1px solid var(--border-alt);
- &:first-child {
- border-radius: 4px 4px 0 0;
- }
- &:last-child {
- border-radius: 0 0 4px 4px;
- }
- &:only-child {
- border-radius: 4px;
- }
- & + .horizontal-filter {
- border-top: none;
- }
- &-attribute {
- max-width: 250px;
- .modal--veryLarge & {
- max-width: 400px;
- }
- }
- select,
- input {
- border-color: var(--border-alt);
- }
- input[type='text'] {
- width: 100%;
- }
- input[data-item='time'] {
- width: 4.5ch;
- }
- &[data-level] {
- padding-left: 54px;
- @include rtl(padding-left, 7px);
- @include rtl(padding-right, 54px);
- }
- &[data-level='1'] {
- padding-left: 0;
- @include rtl(padding-left, 7px);
- @include rtl(padding-right, 0);
- }
- &[data-level='2'] {
- padding-left: 27px;
- @include rtl(padding-left, 7px);
- @include rtl(padding-right, 27px);
- }
- &[data-level]::before {
- content: '';
- background-color: var(--border-alt);
- width: 54px;
- position: absolute;
- top: 0;
- left: 0;
- bottom: 0;
- @include rtl(right, 0);
- }
- &[data-level='1']::before {
- width: 0;
- }
- &[data-level='2']::before {
- width: 27px;
- }
- .draggable {
- display: flex;
- align-items: center;
- justify-content: center;
- width: 36px;
- height: 39px;
- vertical-align: middle;
- cursor: move;
- }
- .ui-sortable-helper & {
- border-color: transparent;
- border-radius: none;
- background: var(--background-modifier-lighter);
- &[data-level]::before {
- background-color: transparent;
- }
- }
- &.ui-sortable-placeholder {
- visibility: visible !important;
- background: var(--background-primary-alt);
- &[data-level]::before {
- background-color: var(--border-highlight);
- }
- }
- }
- .horizontal-filter-body {
- display: flex;
- flex: 1;
- min-width: 100px;
- @include phone {
- display: block;
- margin-right: 5px;
- }
- > .controls,
- > input {
- @include bidi-style(margin-right, 5px, margin-left, 0);
- @include phone {
- margin: 0 0 5px !important;
- }
- > .controls-label {
- margin-left: 0;
- margin-right: 5px;
- @include rtl(margin-left, 5px);
- @include rtl(margin-right, 0);
- }
- .horizontal-filter-value {
- max-width: 100%;
- }
- }
- > .controls > .controls {
- max-width: 100%;
- + .controls {
- @include bidi-style(margin-left, 5px, margin-right, 0);
- }
- }
- }
- .horizontal-filter-group {
- padding: 10px;
- background: var(--background-secondary);
- border: 1px solid var(--border-alt);
- border-radius: 5px;
- margin: 0 5px;
- > .form-group:last-child {
- margin-bottom: 0;
- }
- }
- .horizontal-filter-value {
- max-width: 60%;
- flex-grow: 1;
- margin-bottom: 0;
- @include phone {
- max-width: 100%;
- }
- // lower the min-width of url input fields (normally 400px) so that it fits in
- input[type='url'] {
- min-width: 200px;
- }
- .dropdown:only-child {
- flex-grow: 1;
- }
- }
- .horizontal-filters-switch {
- display: flex;
- justify-content: flex-end;
- & > label {
- display: flex;
- align-items: center;
- margin-bottom: 0;
- .zammad-switch {
- margin-top: 0;
- margin-left: 10px;
- @include rtl(margin-left, 0);
- @include rtl(margin-right, 10px);
- }
- }
- &--align-start {
- justify-content: flex-start;
- & > label {
- flex-direction: row-reverse;
- .zammad-switch {
- margin-left: 0;
- margin-right: 10px;
- @include rtl(margin-right, 0);
- @include rtl(margin-left, 10px);
- }
- }
- }
- & + .js-preview h3 {
- margin-top: 0;
- }
- }
- .output-input {
- margin: 0 0 14px;
- output {
- margin: 0;
- border-radius: 3px 3px 0 0;
- border: 1px solid var(--border-highlight);
- border-bottom: none;
- display: block;
- }
- input {
- flex: 1;
- border-top-left-radius: 0;
- border-top-right-radius: 0;
- border-top: none;
- &:focus {
- border-color: var(--border);
- box-shadow: none;
- }
- }
- }
- output {
- border-bottom: 1px solid var(--border-highlight);
- margin: 0 0 19px;
- display: inline-block;
- padding: 10px 12px 8px;
- color: inherit;
- background: var(--background-article-customer);
- &[disabled] {
- border-color: hsl(358, 53%, 56%);
- background: hsl(358, 53%, 76%);
- color: var(--text-inverted);
- }
- p {
- margin: 0;
- }
- }
- .zammad-switch {
- overflow: hidden;
- width: 50px;
- height: 30px;
- border-radius: 15px;
- &.zammad-switch--small {
- width: 40px;
- height: 24px;
- border-radius: 12px;
- }
- &.zammad-switch--tiny {
- width: 30px;
- height: 18px;
- border-radius: 9px;
- }
- &.zammad-switch--dark {
- label {
- background: var(--menu-switch-background);
- }
- label::after {
- background: var(--menu-switch-pointer);
- }
- }
- &.zammad-switch--green input:checked + label {
- background: var(--supergood-color);
- }
- }
- .zammad-switch label {
- margin: 0;
- position: relative;
- width: 100%;
- height: 100%;
- border-radius: inherit;
- outline: none;
- background: var(--background-secondary);
- box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1) inset;
- transition: background 200ms;
- @extend %clickable;
- &::after {
- content: '';
- position: absolute;
- transition: transform 200ms;
- width: calc(60% - 2px);
- height: calc(100% - 2px);
- border-radius: inherit;
- left: 1px;
- top: 1px;
- box-shadow:
- 0 0 0 1px rgba(0, 0, 0, 0.05),
- 0 1px 3px rgba(0, 0, 0, 0.2);
- background: var(--background-secondary);
- @include rtl(transform, translateX(70%));
- }
- }
- .dropdown-menu.dropdown-menu--light .zammad-switch input:not(:checked) + label {
- background: var(--background-primary);
- }
- .zammad-switch input {
- display: none;
- &[disabled] + label {
- cursor: not-allowed;
- opacity: 0.38;
- border-color: var(--border);
- }
- &[disabled] + label::after {
- background: hsl(210, 17%, 97%);
- }
- &:focus + label {
- transition: none;
- background: var(--border-highlight);
- box-shadow: 0 0 0 3px var();
- }
- &:checked + label {
- background: var(--highlight);
- }
- &:checked + label::after {
- transform: translateX(70%);
- @include rtl(transform, none);
- }
- }
- .controls .zammad-switch {
- margin-top: 10px;
- }
- .horizontal-filter-text {
- @include bidi-style(margin-right, 5px, margin-left, 0);
- }
- .filter-controls {
- display: flex;
- margin: 5.5px 0;
- }
- .filter-control {
- display: flex;
- align-items: center;
- justify-content: center;
- width: 30px;
- height: 30px;
- box-shadow: 0 0 0 1px var(--border-alt) inset;
- border-radius: 100%;
- background: var(--background-secondary);
- @extend %clickable;
- &:hover:not(.is-disabled) {
- .icon {
- fill: var(--interactive-primary);
- }
- }
- &.is-disabled {
- cursor: not-allowed;
- opacity: 0.5;
- }
- &:not(:last-child) {
- @include bidi-style(margin-right, 7px, margin-left, 0);
- }
- .icon {
- fill: var(--interactive-muted);
- }
- }
- .filter-preview {
- margin: 20px 0;
- }
- .day-name {
- text-align: center;
- margin-bottom: 0;
- color: inherit;
- white-space: nowrap;
- }
- .form-group.day-time {
- padding: 10px 5px 6px;
- margin: 0;
- label {
- text-align: center;
- }
- .form-control {
- margin-left: auto;
- margin-right: auto;
- margin-bottom: 8px;
- }
- }
- .settings-row {
- margin-bottom: 10px;
- }
- .settings-list {
- border-collapse: separate;
- color: var(--text-normal);
- table-layout: auto;
- margin-bottom: 20px;
- & > caption {
- color: var(--text-normal);
- }
- &.is-invalid {
- border-radius: 3px;
- box-shadow:
- 0 0 0 2px var(--background-primary),
- 0 0 0 4px hsl(0, 90%, 70%);
- }
- &.settings-list--fixed {
- table-layout: fixed;
- }
- &.settings-list--stretch {
- width: 100%;
- }
- &:not(:last-child) {
- margin-bottom: 34px;
- }
- .form-group & {
- margin-bottom: 0;
- }
- &.settings-list--toggleRow {
- tr:not(.is-active) td > *:not(.dont-grey-out) {
- opacity: 0.33;
- }
- }
- &.settings-list--toggleColumn {
- td:not(.is-active) * {
- opacity: 0.33;
- }
- }
- &.settings-list--placeholder {
- th {
- text-align: center;
- border-bottom: 1px solid var(--border-alt);
- border-radius: 4px;
- }
- td {
- height: 40px;
- }
- }
- .settings-list--deleted {
- td {
- text-decoration: line-through;
- }
- }
- th,
- td {
- vertical-align: top;
- padding: 10px;
- border: 1px solid var(--border-alt);
- background: var(--background-secondary);
- }
- th {
- font-weight: normal;
- text-transform: uppercase;
- font-size: 12px;
- line-height: 17px;
- letter-spacing: 0.05em;
- background: var(--background-primary-alt);
- border-bottom: none;
- word-break: normal;
- }
- td {
- word-break: break-word;
- > fieldset {
- margin: 0;
- > .form-group {
- margin-left: 0;
- margin-right: 0;
- }
- > .checkbox,
- > .radio {
- margin: 7px 0;
- }
- }
- }
- td.empty-cell {
- border-top: none;
- }
- .settings-list-separator {
- @include bidi-style(border-left-width, 3px, border-right-width, 1px);
- }
- .text-muted {
- text-transform: none;
- font-size: 10px;
- letter-spacing: 0;
- color: var(--text-muted-alt);
- }
- .inline-label {
- color: inherit;
- }
- th:not(:last-child),
- td:not(:last-child) {
- @include bidi-style(border-right-width, 0, border-left-width, 1px);
- }
- .ui-sortable-placeholder {
- visibility: visible !important;
- td {
- background: none;
- border-left-width: 0;
- border-right-width: 0;
- }
- }
- .ui-sortable-helper td {
- border-bottom-width: 1px !important;
- }
- tr:not(:last-child) td,
- & > tbody:not(:last-child) tr td {
- border-bottom-width: 0;
- }
- tr.is-inactive td {
- color: hsl(199, 19%, 80%);
- text-decoration: line-through;
- }
- & > thead > tr > th:first-child {
- @include bidi-style(
- border-top-left-radius,
- 4px,
- border-top-right-radius,
- 0
- );
- }
- & > thead > tr > th:last-child {
- @include bidi-style(
- border-top-right-radius,
- 4px,
- border-top-left-radius,
- 0
- );
- }
- & > tbody:last-child > tr:last-child > td:first-child,
- & > tfoot:last-child > tr:last-child > td:first-child {
- @include bidi-style(
- border-bottom-left-radius,
- 4px,
- border-bottom-right-radius,
- 0
- );
- }
- & > tbody:last-child > tr:last-child > td:last-child,
- & > tfoot:last-child > tr:last-child > td:last-child {
- @include bidi-style(
- border-bottom-right-radius,
- 4px,
- border-bottom-left-radius,
- 0
- );
- }
- p {
- margin: 0;
- }
- .settings-list-action-cell {
- @extend .u-clickable;
- text-align: center;
- color: var(--interactive-muted);
- background: linear-gradient(
- hsla(0, 0%, 100%, 0.02),
- hsla(0, 0%, 100%, 0.02)
- ),
- linear-gradient(
- var(--background-primary-alt),
- var(--background-primary-alt)
- );
- line-height: 1;
- padding-top: 11px;
- padding-bottom: 9px;
- &:hover {
- color: var(--text-normal);
- }
- .icon {
- fill: currentColor;
- vertical-align: top;
- margin-top: -2px;
- }
- }
- .settings-list-controls {
- padding: 0;
- & > div,
- & > a {
- display: flex;
- min-height: 40px;
- }
- .settings-list-control {
- display: flex;
- align-items: center;
- justify-content: center;
- padding: 0 10px;
- @extend %clickable;
- .icon {
- fill: currentColor;
- }
- }
- }
- .settings-list-control-cell {
- padding: 5px;
- .btn--text {
- margin: -5px;
- }
- & ~ .settings-list-row-control {
- padding-bottom: 7px;
- }
- }
- .settings-list-checkbox-cell,
- .settings-list-radio-cell {
- vertical-align: middle;
- padding-left: 8px;
- }
- .settings-list-radio-cell {
- text-align: center;
- }
- .settings-list-wrapping-cell {
- display: flex;
- align-items: center;
- flex-wrap: wrap;
- }
- .settings-list--bottom-button {
- margin-top: 10px;
- }
- .settings-list-middle {
- vertical-align: middle;
- }
- }
- .settings-list--roles-permissions {
- margin-left: 18px;
- margin-right: 18px;
- margin-top: 10px;
- th:first-child {
- min-width: 150px;
- }
- }
- .select-boxes {
- display: flex;
- align-items: flex-start;
- }
- .select-box {
- display: flex;
- flex-wrap: wrap;
- margin: 0 14px;
- background: var(--background-secondary);
- color: var(--text-normal);
- @include bidi-style(
- border-right,
- 1px solid var(--border-alt),
- border-left,
- none
- );
- border-bottom: 1px solid var(--border-alt);
- border-radius: 3px 3px 0 0;
- &.select-box--vertical .select-value {
- flex-basis: 100%;
- }
- &.select-box--four .select-value {
- flex-basis: 25%;
- }
- &.select-box--six .select-value {
- flex-basis: calc(100% / 6);
- }
- .select-box-header {
- @extend label;
- margin: 0;
- color: inherit;
- display: flex;
- align-items: center;
- padding: 8px 10px;
- flex-basis: 100%;
- white-space: nowrap;
- background: var(--background-primary-alt);
- @include bidi-style(
- border-left,
- 1px solid var(--border-alt),
- border-right,
- none
- );
- border-top: 1px solid var(--border-alt);
- border-radius: 3px 3px 0 0;
- }
- .select-value {
- display: flex;
- align-items: center;
- justify-content: center;
- min-height: 34px;
- background-clip: content-box;
- box-shadow:
- 1px 0 var(--border-alt) inset,
- 0 1px var(--border-alt) inset;
- @extend %clickable;
- &.is-selected {
- background-color: var(--highlight);
- box-shadow: none;
- color: var(--text-inverted);
- }
- }
- &:first-child {
- @include bidi-style(margin-left, 0, margin-left, 14px);
- }
- &:last-child {
- @include bidi-style(margin-right, 0, margin-left, 14px);
- }
- }
- .searchableSelect {
- position: relative;
- .form-control {
- padding-right: 37px;
- @include bidi-style(padding-right, 37px, padding-left, 12px);
- }
- .searchableSelect-main {
- position: relative;
- line-height: 19px;
- &--with-clear-button {
- padding-right: 60px;
- @include bidi-style(padding-right, 60px, padding-left, 12px);
- }
- &.form-control--small ~ .searchableSelect-autocomplete {
- top: 6px;
- left: 9px;
- }
- }
- .searchableSelect-shadow {
- position: absolute;
- @include bidi-style(left, -9999px, right, -9999px);
- }
- .dropdown-menu {
- margin-top: -3px;
- max-width: 100%;
- }
- &-option-text {
- flex: 1 1 0%;
- text-overflow: ellipsis;
- overflow: hidden;
- white-space: nowrap;
- display: block;
- & + .icon {
- @include bidi-style(margin-left, 10px, margin-right, 0);
- }
- &.is-inactive {
- opacity: 0.33;
- cursor: not-allowed;
- }
- }
- &.dropdown li {
- &.has-inactive {
- cursor: unset;
- }
- &.is-selected {
- @include bidi-style(
- border-left,
- 5px solid var(--highlight),
- border-right,
- 5px solid var(--highlight)
- );
- }
- &.js-enter:hover,
- &.js-enter.is-active {
- background: none;
- + li {
- box-shadow: 0 1px rgba(255, 255, 255, 0.13) inset;
- }
- }
- &.js-enter.is-highlighted {
- span.searchableSelect-option-text {
- background: var(--highlight);
- }
- }
- &.js-back:hover,
- &.js-back.is-active {
- background: var(--supergood-color);
- .icon-arrow-left,
- .icon-arrow-right {
- opacity: 1;
- }
- }
- &.is-hidden {
- display: none;
- }
- &.js-enter {
- padding: 0;
- span.searchableSelect-option-text {
- padding: 11px 15px;
- }
- span.searchableSelect-option-arrow {
- padding: 11px 15px;
- cursor: pointer;
- &:hover {
- background: var(--supergood-color);
- .recipientList-arrow {
- opacity: 1;
- }
- }
- }
- }
- span.searchableSelect-option-text {
- letter-spacing: -0.02rem;
- &:hover {
- background: var(--highlight);
- }
- }
- }
- li:not(.is-active):hover + li {
- box-shadow: 0 1px rgba(255, 255, 255, 0.13) inset;
- }
- .searchableSelect-autocomplete {
- position: absolute;
- left: 13px;
- top: 11px;
- right: 37px;
- white-space: nowrap;
- overflow: hidden;
- display: flex;
- pointer-events: none;
- white-space: pre;
- line-height: 19px;
- }
- .searchableSelect-autocomplete-invisible {
- color: transparent;
- }
- .searchableSelect-autocomplete-visible {
- color: hsl(0, 0%, 33%);
- background: hsl(201, 61%, 90%);
- }
- .loading.icon {
- position: absolute;
- right: 11px;
- top: 11px;
- display: none;
- }
- &.is-loading {
- .loading.icon {
- display: block;
- }
- .icon-arrow-down {
- display: none;
- }
- }
- }
- .action {
- background: var(--background-secondary);
- border: 1px solid var(--border);
- box-shadow: var(--elevation-stroke);
- display: flex;
- flex-wrap: wrap;
- padding: 10px;
- margin-bottom: 17px;
- &.is-inactive {
- background: none;
- box-shadow: none;
- position: relative;
- top: 2px;
- border-color: var(--border-alt);
- & > *:not(.action-controls) {
- opacity: 0.33;
- }
- }
- &--placeholder {
- padding: 30px;
- align-items: center;
- justify-content: center;
- color: hsl(206, 9%, 69%);
- box-shadow: none;
- background: none;
- border-style: dashed;
- font-style: italic;
- }
- &-alert {
- width: calc(100% + 20px);
- margin: -10px -10px 10px;
- }
- &-flow {
- display: flex;
- flex-wrap: wrap;
- &.action-flow--noWrap {
- flex-wrap: nowrap;
- }
- &.action-flow--row {
- flex-basis: 100%;
- }
- &.action-flow--vertically-centered {
- align-items: center;
- }
- }
- &-separator {
- width: 1px;
- background: hsl(0, 0%, 97%);
- margin: 0 10px;
- }
- .table {
- margin-left: -9px;
- margin-right: -9px;
- }
- h2 {
- margin-bottom: 0;
- .action-form-status .icon {
- margin-top: 0;
- }
- }
- &-block,
- &-controls,
- &-row {
- padding: 10px;
- h2:first-child,
- h3:first-child {
- margin-top: 0;
- }
- }
- &-block {
- &.action-block--flex {
- flex: 1;
- }
- }
- &-row {
- flex-basis: 100%;
- }
- h3 {
- color: var(--text-muted);
- margin-top: 0;
- + .btn--text {
- position: relative;
- top: -1px;
- }
- }
- &-label {
- background: var(--background-primary-alt);
- border: 1px solid var(--border-alt);
- align-self: flex-start;
- padding: 5px 10px;
- margin: -4px 0 -5px auto;
- @include rtl(margin, -4px auto -5px 0);
- color: var(--text-muted-alt);
- cursor: default;
- }
- &-flow-icon {
- width: 15px;
- height: 24px;
- margin-top: 16px; /* compensate for h3 height */
- margin-left: 20px;
- margin-right: 20px;
- }
- &-controls {
- display: flex;
- @include bidi-style(margin-left, auto, margin-right, 0);
- align-self: flex-end;
- .btn {
- align-self: center;
- }
- }
- }
- /*
- datepicker resets some css it potentially inherits when its rendered inside a table
- */
- .datepicker {
- background: var(--background-tertiary);
- color: var(--text-inverted);
- padding: 0 14px 11px;
- position: absolute;
- min-width: 0;
- cursor: default;
- &.datepicker-rtl {
- left: auto;
- right: 0;
- }
- .datepicker-switch {
- padding: 12px 0;
- font-weight: bold;
- font-size: 15px;
- text-align: center;
- letter-spacing: 0;
- line-height: 1.5;
- text-transform: none;
- @extend %clickable;
- &:hover {
- background: hsl(240, 10%, 14%);
- }
- }
- th {
- background: none;
- font-weight: 500;
- }
- th,
- td {
- border: none;
- }
- .next,
- .prev {
- padding: 12px 9px 0;
- vertical-align: top;
- text-align: center;
- @extend %clickable;
- .icon {
- margin-top: 4px;
- fill: var(--text-inverted);
- opacity: 1;
- }
- &:hover {
- background: hsl(240, 10%, 14%);
- }
- }
- .dow {
- text-transform: uppercase;
- font-size: 12px;
- padding: 0;
- text-align: center;
- vertical-align: inherit;
- }
- td.cw {
- // background: 1px gap on the right towards the days + 1px border
- background: linear-gradient(
- to right,
- var(--background-modifier-lighter),
- var(--background-modifier-lighter) calc(100% - 2px),
- transparent calc(100% - 2px),
- var(--background-modifier-accent) calc(100% - 1px),
- transparent calc(100% - 1px)
- );
- padding: 0 5px 0 3px !important;
- text-align: center;
- border-radius: 0;
- }
- tbody td {
- width: 27px;
- height: 27px;
- border-radius: 14px;
- padding: 1px 0 0 !important;
- background-color: inherit;
- vertical-align: inherit;
- }
- .month,
- .year {
- float: left;
- width: 23%;
- margin: 1%;
- padding: 5px 0;
- }
- .day,
- .month,
- .year {
- text-align: center;
- &:not(.disabled) {
- @extend %clickable;
- }
- &.disabled,
- &.old,
- &.new {
- color: hsl(0, 0%, 33%);
- }
- &.today {
- background: #777;
- }
- &.focused {
- box-shadow: 0 0 0 1px hsl(207, 82%, 64%) inset;
- }
- &.active {
- color: var(--text-inverted);
- background: hsl(207, 82%, 64%);
- }
- }
- .today,
- .clear {
- text-align: center;
- padding: 2px 0 0;
- @extend %clickable;
- &.hidden {
- display: none;
- }
- }
- .datepicker-footer-buttons {
- display: flex;
- justify-content: space-between;
- gap: 20px;
- align-items: stretch;
- height: 31px;
- margin-top: 15px;
- div {
- flex-grow: 1;
- border: 1px solid #56575e;
- border-radius: 3px;
- display: flex;
- align-items: center;
- justify-content: center;
- }
- }
- }
- #notify {
- position: absolute;
- top: 10px;
- left: 0;
- right: 0;
- @extend .zIndex-9;
- pointer-events: none;
- .noty_bar {
- max-width: 500px;
- text-align: center;
- margin: 0 auto 10px;
- .noty_message {
- pointer-events: auto;
- display: inline-block;
- background: rgba(0, 0, 0, 0.75);
- padding: 10px 15px 8px;
- border-radius: 3px;
- color: var(--text-inverted);
- }
- .icon {
- vertical-align: middle;
- margin-top: -3px;
- @include bidi-style(margin-right, 5px, margin-left, 0);
- }
- a {
- color: inherit;
- text-decoration: none;
- }
- }
- }
- .animated {
- animation-duration: 300ms;
- animation-fill-mode: both;
- }
- .fadeInDown {
- animation-name: fadeInDown;
- }
- @keyframes fadeInDown {
- from {
- opacity: 0;
- transform: translate3d(0, -50%, 0);
- }
- to {
- opacity: 1;
- transform: none;
- }
- }
- .fadeOutDown {
- animation-name: fadeOutDown;
- }
- @keyframes fadeOutDown {
- from {
- opacity: 1;
- }
- to {
- opacity: 0;
- transform: translate3d(0, 50%, 0);
- }
- }
- .loading-placeholder {
- display: flex;
- align-items: center;
- justify-content: center;
- height: 133px;
- .loading-text {
- @include bidi-style(margin-left, 10px, margin-right, 0);
- }
- }
- .chat {
- flex: 1;
- display: flex;
- flex-direction: column;
- padding: 0 14px;
- @include phone {
- padding: 0;
- }
- .page-header {
- margin: 15px 0 5px;
- padding: 0 6px;
- @include phone {
- flex-wrap: wrap;
- margin: 0;
- padding: 5px 8px;
- }
- }
- .page-header-title {
- @include phone {
- order: 1;
- }
- }
- .page-header-center {
- @include phone {
- flex-basis: 100%;
- padding: 0;
- order: 3;
- }
- }
- .page-header-meta {
- @include phone {
- order: 2;
- @include bidi-style(margin-left, auto, margin-right, auto);
- padding-top: 4px;
- @include bidi-style(padding-left, 10px, padding-right, 0);
- }
- }
- }
- .chat-workspace {
- display: flex;
- flex-wrap: wrap;
- padding: 0 0 10px;
- margin: 0 -4px;
- flex: 1;
- @include phone {
- margin: 0;
- padding: 0;
- flex-wrap: nowrap;
- overflow: auto;
- -webkit-overflow-scrolling: touch;
- scroll-snap-mode: x mandatory;
- }
- }
- .chat-window {
- flex: 0 1 0;
- overflow: hidden;
- display: flex;
- flex-direction: column;
- transition-duration: 500ms;
- transition-property: transform, flex, padding;
- transform: scale(0);
- @include phone {
- min-width: calc(100vw - #{$mobileNavigationWidth} - 16px);
- scroll-snap-align: center;
- }
- &.is-open {
- flex: 1 0 25%;
- transform: scale(1);
- padding: 10px;
- @include phone {
- padding: 8px;
- }
- }
- &.is-offline {
- .chat-controls {
- opacity: 0.5;
- }
- }
- }
- .chat-header {
- background: var(--background-primary-alt);
- border: 1px solid var(--border-alt);
- border-radius: 3px 3px 0 0;
- height: 43px;
- line-height: 13px;
- flex-shrink: 0;
- display: flex;
- justify-content: space-between;
- align-items: center;
- }
- .chat-name {
- margin: 0 2px;
- overflow: hidden;
- text-overflow: ellipsis;
- white-space: nowrap;
- .status-badge {
- @include bidi-style(margin-left, 2px, margin-right, 0);
- vertical-align: middle;
- height: 100%;
- }
- }
- .chat-status {
- @include bidi-style(margin-left, 10px, margin-right, 0);
- &[data-status='online'] .icon {
- fill: var(--supergood-color);
- }
- &[data-status='offline'] .icon {
- fill: var(--superbad-color);
- }
- .icon-status-modified-inner-circle,
- .icon-status-modified-outer-circle {
- display: none;
- }
- &.is-modified {
- .icon-status {
- display: none;
- }
- .icon-status-modified-inner-circle,
- .icon-status-modified-outer-circle {
- display: block;
- }
- }
- }
- .chat-status-holder {
- position: relative;
- }
- .chat-disconnect,
- .chat-close {
- @extend %clickable;
- padding: 10px;
- .btn {
- min-width: 80px;
- justify-content: center;
- }
- }
- .chat-disconnect.is-hidden,
- .chat-close.is-hidden {
- display: none;
- }
- .chat-scroll-hint {
- background: var(--background-primary);
- display: flex;
- align-items: center;
- border: 1px solid var(--border-alt);
- border-top: none;
- padding: 7px 10px 6px;
- color: var(--text-muted);
- @extend %clickable;
- &.is-hidden {
- display: none;
- }
- .icon {
- fill: hsl(210, 5%, 78%);
- @include bidi-style(margin-right, 8px, margin-left, 0);
- }
- }
- .chat-body-holder {
- flex: 1;
- background: var(--background-secondary);
- font-size: 13px;
- line-height: 18px;
- overflow: auto;
- -webkit-overflow-scrolling: touch;
- border-left: 1px solid var(--border-alt);
- border-right: 1px solid var(--border-alt);
- position: relative;
- }
- .chat-body-holder--standalone {
- border-top: 1px solid var(--border-alt);
- border-bottom: 1px solid var(--border-alt);
- }
- .chat-body {
- padding: 10px;
- display: flex;
- flex-direction: column;
- align-items: flex-start;
- position: absolute;
- width: 100%;
- top: 0;
- left: 0;
- }
- .chat-timestamp,
- .chat-notice-message {
- font-size: 12px;
- color: var(--text-muted);
- margin-bottom: 4px;
- align-self: center;
- word-break: break-word;
- }
- .chat-timestamp-label {
- font-weight: 500;
- }
- .chat-message {
- max-width: 90%;
- background: var(--background-primary);
- padding: 6px 12px;
- border-radius: 16px;
- margin-bottom: 4px;
- }
- .chat-message img {
- @extend %clickable;
- }
- .chat-message--customer.chat-message--new {
- font-weight: bold;
- }
- .chat-message--agent {
- @include bidi-style(margin-left, auto, margin-right, 0);
- background: var(--background-article-customer);
- align-self: flex-end;
- }
- .chat-message--agent + .chat-message--customer,
- .chat-message--customer + .chat-message--agent {
- margin-top: 10px;
- }
- .chat-status-message {
- align-self: center;
- background: var(--background-primary-alt);
- padding: 6px 12px;
- margin: 4px 0 10px;
- border-radius: 3px;
- }
- .chat-loader {
- @include bidi-style(margin-right, -4px, margin-left, 0);
- .icon {
- width: 12px;
- height: 12px;
- fill: var(--border);
- @include bidi-style(margin-left, -4px, margin-right, 0);
- vertical-align: middle;
- animation: ease-in-out load-fade 600ms infinite alternate;
- }
- .icon + .icon {
- animation-delay: 0.13s;
- }
- .icon + .icon + .icon {
- animation-delay: 0.26s;
- }
- }
- @keyframes load-fade {
- 0% {
- opacity: 0.5;
- transform: scale(0.6);
- }
- 67% {
- opacity: 1;
- transform: scale(1);
- }
- }
- .chat-footer {
- border-top: 1px solid var(--border-alt);
- padding: 10px 10px 0;
- display: flex;
- justify-content: center;
- align-self: stretch;
- margin: 0 -10px;
- }
- .chat-controls {
- display: flex;
- align-items: flex-start;
- padding: 10px;
- background: var(--background-primary-alt);
- border: 1px solid var(--border-alt);
- border-radius: 0 0 3px 3px;
- flex-shrink: 0;
- }
- .chat-input {
- @include bidi-style(margin-right, 10px, margin-left, 0);
- flex-grow: 1;
- position: relative;
- .form-control {
- overflow: auto;
- -webkit-overflow-scrolling: touch;
- max-height: 50vh;
- }
- }
- .manage-chat-jquery-switch-container {
- display: flex;
- flex-direction: row;
- align-items: center;
- .zammad-switch {
- @include bidi-style(margin-right, 8px, margin-left, 8px);
- }
- }
- .browser {
- margin: 0 0 20px;
- position: relative;
- &[data-size] {
- padding-bottom: 65%; // 16:10 aspect ratio;
- .browser-ratio {
- width: 100%;
- height: 100%;
- position: absolute;
- left: 0;
- top: 0;
- transition: width 500ms;
- display: flex;
- flex-direction: column;
- }
- .browser-body {
- padding: 0;
- }
- }
- &[data-size='mobile'] .browser-ratio {
- width: 375px;
- }
- &-ratio {
- border: 1px solid var(--border);
- border-radius: 5px;
- }
- }
- /* stylelint-disable media-query-no-invalid */
- @media screen and (min-width: #{1280 + $sidebarWidth + $navigationWidth}) {
- // hide 1:1 button when it gets inrelevant
- [data-size='1:1'] {
- display: none;
- }
- .browser[data-size='mobile'] .browser-ratio {
- width: 500px;
- }
- }
- /* stylelint-enable media-query-no-invalid */
- .browser-body {
- flex: 1;
- position: relative;
- overflow: hidden;
- padding: 20px;
- &-inner {
- position: absolute;
- left: 0;
- top: 0;
- width: 100%;
- height: 100%;
- }
- .browser-website {
- position: relative;
- height: 100%;
- transform-origin: right bottom;
- transition: 500ms;
- overflow: hidden;
- &.is-picking {
- cursor:
- image_url('/assets/images/eyedropper.gif') 0 15,
- auto;
- }
- &-background {
- position: absolute;
- top: 0;
- left: 0;
- width: 100%;
- height: 100%;
- object-fit: cover;
- object-position: left top;
- }
- }
- }
- .browser-head {
- display: flex;
- padding: 10px;
- border-bottom: 1px solid var(--border);
- .browser-input {
- position: relative;
- flex: 1;
- @include bidi-style(margin-right, 10px, margin-left, 0);
- input {
- min-width: 0;
- @include bidi-style(padding-right, 40px, padding-left, 12px);
- &.is-loading + .loading.icon {
- display: block;
- }
- }
- .loading.icon {
- position: absolute;
- @include bidi-style(right, 11px, left, auto);
- top: 10px;
- display: none;
- }
- }
- .help-block {
- margin-bottom: -3px;
- }
- }
- .browser-inline-form {
- width: 300px;
- &.no-css {
- all: initial;
- * {
- all: unset;
- }
- input,
- textarea,
- button {
- padding: 2px;
- background: var(--background-secondary);
- border: 1px solid;
- font: 400 11px system-ui;
- }
- button {
- padding: 2px 6px 3px;
- background-color: buttonface;
- border: 2px outset buttonface;
- }
- }
- }
- .chat-demo {
- .zammad-chat {
- position: absolute;
- transform-origin: right bottom;
- transition: 500ms;
- user-select: none;
- will-change: transform;
- &.is-fullscreen {
- right: 0;
- width: 100%;
- height: 100%;
- border-radius: 0 !important;
- .zammad-chat-header {
- border-radius: 0 !important;
- box-shadow:
- 0 -1px rgba(0, 0, 0, 0.1),
- 0 -1px rgba(0, 0, 0, 0.1) inset,
- 0 1px 1px rgba(0, 0, 0, 0.13);
- }
- .zammad-chat-controls {
- border-radius: 0 0 5px 5px;
- }
- }
- &.no-transition {
- transition: none;
- }
- .zammad-chat-welcome {
- display: block !important;
- }
- .zammad-chat-header-icon-open {
- display: inline !important;
- }
- .zammad-chat-agent-status,
- .zammad-chat-header-icon-close,
- .zammad-chat-agent {
- display: none !important;
- }
- &.is-open {
- .zammad-chat-agent {
- display: block !important;
- }
- .zammad-chat-header-icon-close,
- .zammad-chat-agent-status {
- display: inline-block !important;
- }
- .zammad-chat-welcome,
- .zammad-chat-header-icon-open {
- display: none !important;
- }
- }
- &.is-fullscreen {
- height: 100%;
- .zammad-chat-controls {
- border-radius: 0 0 5px 5px;
- }
- }
- }
- .zammad-chat-header {
- pointer-events: auto;
- }
- .chat-demo-animationHolder {
- position: absolute;
- bottom: 0;
- left: 0;
- width: 100%;
- height: 100%;
- animation: slide-up 500ms;
- pointer-events: none;
- }
- }
- @keyframes slide-up {
- from {
- transform: translateY(100%);
- }
- }
- .todo {
- position: relative;
- display: block;
- &:not(a) {
- cursor: default !important;
- }
- .icon {
- fill: var(--ghost-color) !important;
- vertical-align: middle;
- margin: -2px 3px 0 0;
- }
- &.is-done .icon {
- fill: var(--supergood-color) !important;
- }
- }
- .columnSelect {
- height: 234px;
- display: flex;
- padding: 0;
- line-height: 22px;
- &-shadow {
- display: none;
- }
- &-column--selected {
- flex: 1 1 66%;
- overflow: auto;
- -webkit-overflow-scrolling: touch;
- padding: 7px;
- }
- &-column--sidebar {
- flex-basis: 33%;
- flex-shrink: 1;
- border-left: 1px solid var(--border);
- background: var(--background-modifier-accent);
- display: flex;
- flex-direction: column;
- min-width: 0;
- .columnSelect-option:hover {
- background: var(--background-modifier-hover);
- }
- }
- &-pool {
- flex: 1 1 auto;
- overflow: auto;
- -webkit-overflow-scrolling: touch;
- padding: 7px;
- }
- &-option {
- @extend %clickable;
- padding: 0 5px;
- border-radius: 1px;
- overflow: hidden;
- white-space: nowrap;
- text-overflow: ellipsis;
- &:hover {
- background: var(--background-modifier-hover);
- }
- }
- &-group-label {
- opacity: 0.5;
- .filter-active & {
- display: none;
- }
- ~ .columnSelect-option {
- padding-left: 10px;
- }
- }
- .is-hidden,
- .is-filtered {
- display: none;
- }
- &-search {
- position: relative;
- .icon-magnifier {
- left: 7px;
- top: 5px;
- position: absolute;
- opacity: 0.3;
- }
- &-clear {
- position: absolute;
- right: 0;
- top: 0;
- padding: 6px 7px 4px;
- @extend %clickable;
- line-height: 1;
- .icon {
- opacity: 0.6;
- }
- }
- input {
- width: 100%;
- padding: 2px 30px 1px;
- border: none;
- outline: none;
- border-bottom: 1px solid var(--border);
- background: none;
- }
- }
- }
- .pulsate-animation {
- animation: pulsate 667ms ease-in-out infinite alternate;
- }
- .richtext-content {
- overflow-x: auto;
- &[contenteditable] {
- &,
- &:hover,
- &:focus {
- background: none;
- }
- }
- h1,
- h2,
- h3,
- h4 {
- &:first-child {
- margin-top: 6px;
- }
- }
- table,
- pre,
- blockquote {
- margin-bottom: 16px;
- }
- & > p,
- & > table,
- & > pre,
- & > blockquote {
- &:first-child {
- margin-top: 6px;
- }
- &:last-child {
- margin-bottom: 6px;
- }
- }
- table {
- table-layout: auto;
- width: 100%;
- overflow: auto;
- -webkit-overflow-scrolling: touch;
- word-break: keep-all;
- col {
- width: auto;
- }
- span,
- p,
- a {
- overflow-wrap: anywhere;
- }
- }
- blockquote {
- padding: 8px 12px;
- border-left: 5px solid var(--background-primary-alt);
- }
- code {
- border: none;
- white-space: pre-wrap;
- }
- pre {
- padding: 12px 15px;
- font-size: 13px;
- line-height: 1.45;
- background: var(--background-modifier-accent-light);
- white-space: pre-wrap;
- border-radius: 3px;
- border: none;
- overflow: auto;
- -webkit-overflow-scrolling: touch;
- }
- hr {
- margin-top: 6px;
- margin-bottom: 6px;
- border: 0;
- border-top: 1px solid var(--background-modifier-border);
- }
- @include dark {
- // remove custom backgrounds and colors
- [style*='background'] {
- background: none !important;
- }
- [style*='color'] {
- color: inherit !important;
- }
- }
- }
- .detail-search-header {
- margin: 20px 0 32px;
- }
- .batch-overlay {
- @extend .fit, .zIndex-1;
- color: var(--text-inverted);
- text-transform: uppercase;
- text-align: center;
- letter-spacing: 0.07em;
- font-size: 0.95em;
- line-height: 1.3;
- display: none;
- will-change: display;
- cursor: grabbing;
- overflow: hidden;
- user-select: none;
- &.is-visible {
- display: block;
- }
- &-backdrop {
- @extend .fit;
- background: hsla(231, 20%, 8%, 0.8);
- opacity: 0;
- will-change: opacity;
- }
- &-circle {
- margin: 35px auto;
- background: hsl(207, 7%, 29%);
- border-radius: 100%;
- border: 4px solid var(--background-secondary);
- width: 140px;
- height: 140px;
- padding: 20px 0;
- display: flex;
- flex-direction: column;
- justify-content: space-around;
- align-items: center;
- position: absolute;
- left: 0;
- right: 0;
- will-change: transform, opacity;
- visibility: hidden;
- &--top {
- top: 0;
- }
- &--bottom {
- bottom: 0;
- }
- .icon {
- fill: currentColor;
- opacity: 1;
- }
- &-label {
- width: 80%;
- margin: 10px 0;
- }
- }
- &-cancel {
- background: hsla(0, 0%, 100%, 0.21);
- background-clip: padding-box;
- border: 2px dashed hsla(0, 0%, 100%, 0.3);
- border-radius: 8px;
- padding: 28px;
- margin: auto 200px;
- position: absolute;
- left: 0;
- right: 0;
- max-height: 100px;
- visibility: hidden;
- will-change: opacity;
- display: flex;
- justify-content: center;
- align-items: center;
- }
- &-box {
- background: hsl(232, 9%, 17%);
- width: 100%;
- position: absolute;
- visibility: hidden;
- will-change: opacity, transition;
- &-inner {
- margin: 37px 25px;
- display: flex;
- flex-wrap: wrap;
- justify-content: center;
- overflow: hidden;
- }
- }
- &-assign {
- padding-bottom: 50px;
- bottom: -50px; // extra space for bounce animation
- .batch-overlay-box-inner {
- max-height: 40vh;
- }
- &-group {
- box-shadow: 0 0 35px hsla(0, 0%, 0%, 0.5);
- .batch-overlay-box-inner {
- margin-top: 42px;
- margin-bottom: 10px;
- }
- &-name {
- position: absolute;
- left: 0;
- right: 0;
- top: 0;
- padding: 11px 13px 8px;
- line-height: 1;
- position: absolute;
- background: hsl(233, 10%, 15%);
- }
- }
- &-entry {
- padding: 13px;
- width: 116px;
- height: 155px;
- &.is-hovered {
- .avatar {
- border-color: var(--highlight);
- transform: scale(1.05);
- }
- }
- .avatar {
- border: 4px solid hsl(231, 5%, 30%);
- margin-bottom: 10px;
- box-sizing: content-box;
- transition: transform 120ms;
- cursor: inherit;
- z-index: 1;
- }
- &-name {
- max-height: 34px;
- overflow: hidden;
- display: -webkit-box;
- -webkit-box-orient: vertical;
- -webkit-line-clamp: 2;
- overflow: hidden;
- word-break: break-word;
- }
- &-detail {
- color: gray;
- }
- }
- }
- &-macro {
- padding-top: 50px;
- top: -50px; // extra space for bounce animation
- .batch-overlay-box-inner {
- max-height: 55vh;
- margin: 24px 12px;
- }
- &-entry {
- margin: 13px;
- border: 4px solid hsl(231, 5%, 30%);
- background: hsl(233, 9%, 24%);
- border-radius: 100%;
- height: 120px;
- width: 120px;
- padding: 13px 13px 10px;
- display: flex;
- align-items: center;
- justify-content: center;
- font-size: 0.9em;
- &.is-hovered {
- border-color: var(--highlight);
- transform: scale(1.05);
- }
- &.small {
- @include small-desktop {
- height: 80px;
- width: 80px;
- padding: 11px 11px 8px;
- }
- }
- }
- &-error-message {
- margin: 13px;
- height: 120px;
- padding: 13px 13px 10px;
- display: flex;
- align-items: center;
- justify-content: center;
- font-size: 0.9em;
- }
- }
- }
- .batch-dragger {
- position: absolute;
- left: 0;
- top: 0;
- pointer-events: none;
- width: 250px;
- height: 40px;
- will-change: transform;
- @extend .zIndex-10;
- &-item {
- position: absolute;
- left: 0;
- width: 100%;
- background: var(--background-highlight);
- border-radius: 4px;
- display: flex;
- align-items: center;
- padding: 11px 0 9px 11px;
- box-shadow: 0 0 10px hsla(0, 0%, 0%, 0.28);
- will-change: transform;
- a {
- color: inherit;
- }
- td:not(:first-child) {
- display: block;
- padding: 0 12px;
- white-space: nowrap;
- text-overflow: ellipsis;
- overflow: hidden;
- flex-shrink: 0;
- &:nth-child(3) {
- flex-shrink: 1;
- }
- &:nth-child(n + 4) {
- display: none;
- }
- }
- .checkbox-replacement > .icon,
- .radio-replacement > .icon {
- fill: none;
- }
- }
- &-counter {
- position: absolute;
- right: -8px;
- bottom: -8px;
- width: 25px;
- height: 25px;
- border-radius: 99px;
- z-index: 1;
- color: var(--text-inverted);
- background: var(--highlight);
- display: flex;
- align-items: center;
- justify-content: center;
- box-shadow: 0 0 10px hsla(0, 0%, 0%, 0.28);
- will-change: transform;
- &:empty {
- display: none;
- }
- }
- }
- /*
- -------------
- breadcrumbs
- -------------
- */
- .breadcrumbs {
- display: flex;
- align-items: center;
- min-width: 88px;
- @include phone {
- overflow: hidden;
- }
- &-menu {
- display: flex;
- @include ltr(margin-left, auto);
- @include rtl(margin-right, auto);
- @include bidi-style(padding-left, 20px, padding-right, 0);
- @include phone {
- @include bidi-style(padding-left, 10px, padding-right, 0);
- }
- }
- }
- .breadcrumb {
- position: relative;
- padding-top: 11px;
- padding-bottom: 8px;
- @include ltr(padding-right, 21px);
- @include ltr(padding-left, 13px);
- @include rtl(padding-left, 21px);
- @include rtl(padding-right, 13px);
- color: inherit;
- cursor: pointer;
- @extend .u-textTruncate;
- @include phone {
- flex-shrink: 0;
- }
- &::before,
- &::after {
- content: '';
- position: absolute;
- width: 1px;
- height: 50%;
- background: currentColor;
- opacity: 0.33;
- @include ltr(right, 0);
- @include rtl(left, 0);
- top: 0;
- transform-origin: bottom;
- @include ltr(transform, rotate(-37deg));
- @include rtl(transform, rotate(37deg));
- }
- &::after {
- top: 50%;
- transform-origin: top;
- @include ltr(transform, rotate(37deg));
- @include rtl(transform, rotate(-37deg));
- }
- &:last-child {
- &::before,
- &::after {
- display: none;
- }
- }
- .modified-icon {
- @include bidi-style(margin-right, 3px, margin-left, 0);
- display: inline-block;
- vertical-align: middle;
- line-height: 1;
- margin-top: -3px;
- }
- &-icon {
- fill: currentColor;
- width: 20px;
- height: 20px;
- object-fit: contain;
- }
- .modified-icon-modifier {
- fill: var(--background-primary-alt);
- }
- }
- /*
- ---------------------
- iconfont icon picker
- ---------------------
- */
- .icon_picker {
- .dropdown-menu {
- max-height: 500px;
- width: 420px;
- min-width: 0;
- overflow-y: auto;
- }
- .controls {
- position: relative;
- }
- &-shadow {
- display: none;
- }
- .dropdown-grid {
- &:empty {
- padding: 0;
- & + .dropdown-filter-placeholder {
- display: block;
- }
- }
- li:hover:not(.is-active) {
- background: none;
- }
- .icon {
- width: 40px;
- line-height: 40px;
- text-align: center;
- }
- }
- .dropdown-filter-placeholder {
- display: none;
- padding: 10px;
- text-align: center;
- text-rendering: auto;
- font-feature-settings: 'liga';
- -webkit-font-smoothing: antialiased;
- -moz-osx-font-smoothing: grayscale;
- transition: letter-spacing 200ms;
- cursor: default;
- line-height: 40px;
- &:hover {
- letter-spacing: -2px;
- }
- span {
- display: none;
- &.is-active {
- display: block;
- }
- }
- }
- .dropdown-filter {
- background: none;
- width: 100%;
- background: var(--background-modifier-accent);
- border: none;
- padding: 13px 20px 11px;
- outline: none;
- }
- .dropdown-grid {
- display: flex;
- flex-wrap: wrap;
- padding: 10px;
- margin: 0;
- li {
- list-style: none;
- cursor: pointer;
- user-select: none;
- border-radius: 2px;
- &:hover,
- &.is-active {
- background: var(--highlight);
- }
- }
- }
- }
- /*
- --------------
- color picker
- --------------
- */
- .color {
- .controls {
- position: relative;
- }
- .controls-button {
- align-self: stretch;
- }
- .controls-button-inner {
- padding: 4px;
- }
- .color-field {
- width: 31px;
- height: 100%;
- position: relative;
- // unparsable color
- &[style='']::before {
- content: '';
- position: absolute;
- left: 10%;
- top: 10%;
- width: 80%;
- height: 80%;
- background: var(--background-primary-alt);
- animation: rotateplane 1.2s infinite ease-in-out;
- }
- }
- }
- .colorpicker {
- &.dropdown-menu {
- box-sizing: content-box;
- width: 380px;
- min-width: 0;
- }
- .open > & {
- display: flex;
- }
- &-hue-saturation {
- flex-grow: 1;
- width: 200px;
- height: 150px;
- margin: 14px;
- @include ltr(margin-right, 0);
- @include rtl(margin-left, 0);
- $i: 0;
- $rainbow: ();
- @while $i <= 360 {
- $rainbow: append($rainbow, unquote('hsl(#{$i},100%,50%)'), comma);
- $i: $i + 60;
- }
- background: linear-gradient(to right, $rainbow);
- position: relative;
- overflow: hidden;
- cursor:
- image_url('/assets/images/colorcircle.gif') 8 8,
- auto;
- user-select: none;
- }
- &-lightness-plane,
- &-saturation-gradient {
- position: absolute;
- left: 0;
- top: 0;
- height: 100%;
- width: 100%;
- }
- &-circle {
- position: absolute;
- left: 0;
- top: 0;
- border: 1px solid black;
- width: 12px;
- height: 12px;
- margin: -6px 0 0 -6px;
- border-radius: 100%;
- }
- &-lightness {
- height: 150px;
- margin: 14px;
- position: relative;
- user-select: none;
- }
- &-hue-plane {
- height: 100%;
- width: 20px;
- background: red;
- }
- &-hue-gradient {
- height: 100%;
- width: 100%;
- background: linear-gradient(white, transparent, black);
- }
- &-slider {
- position: absolute;
- top: 0;
- left: -7px;
- right: -7px;
- &-arrow {
- position: absolute;
- top: 0;
- margin-top: -4px;
- border: 4px solid transparent;
- border-left: 7px solid hsl(240, 8%, 100%);
- border-right: 7px solid hsl(240, 8%, 100%);
- &--left {
- left: 0;
- border-right: none;
- }
- &--right {
- right: 0;
- border-left: none;
- }
- }
- }
- }
- /*
- ----------------
- iconset picker
- ----------------
- */
- .iconset_picker {
- .controls input {
- display: none;
- }
- }
- .icon-sets {
- margin: 0 -10px;
- }
- .icon-set {
- margin: 10px;
- display: flex;
- border: 1px solid var(--border);
- border-radius: 3px;
- &.is-active {
- border-color: var(--border-highlight);
- box-shadow: 0 0 0 3px var(--shadow-highlight);
- }
- &-preview {
- flex-grow: 1;
- display: flex;
- flex-wrap: wrap;
- align-items: center;
- justify-content: center;
- overflow: hidden;
- cursor: pointer;
- user-select: none;
- height: 250px;
- border-radius: 0 3px 3px 0;
- border-left: 1px solid var(--border);
- background: var(--background-primary);
- color: var(--text-muted);
- position: relative;
- }
- &-meta {
- flex-basis: 197px;
- order: -1;
- display: flex;
- flex-direction: column;
- flex-shrink: 0;
- padding: 10px;
- background: var(--background-secondary);
- border-radius: 3px 0 0 3px;
- }
- &-version {
- color: var(--text-muted);
- }
- &-website {
- margin-top: auto;
- display: block;
- }
- .icon {
- width: 50px;
- line-height: 50px;
- text-align: center;
- font-size: 18px;
- &:not(.loading).do-flash {
- animation: iconset-flash 0.7s ease-out;
- }
- }
- }
- @keyframes iconset-flash {
- from {
- background: var(--background-modifier-hover);
- color: var(--text-normal);
- }
- to {
- background: transparent;
- color: inherit;
- }
- }
- /*
- -----------------------------
- generic flex layout classes
- -----------------------------
- */
- .horizontal,
- .vertical,
- .centered {
- display: flex;
- }
- .horizontal.hide,
- .vertical.hide,
- .centered.hide {
- display: none;
- }
- .horizontal {
- flex-direction: row;
- }
- .horizontal.multiline {
- flex-wrap: wrap;
- }
- .horizontal.reverse {
- flex-direction: row-reverse;
- }
- .vertical {
- flex-direction: column;
- }
- .vertical.reverse {
- flex-direction: column-reverse;
- }
- .vertical.stretch > *,
- .horizontal.stretch > * {
- flex: 1;
- }
- .stretch {
- align-self: stretch;
- }
- .relative {
- position: relative;
- }
- .fit {
- position: absolute;
- top: 0;
- left: 0;
- bottom: 0;
- right: 0;
- }
- body.fit {
- margin: 0;
- }
- .scrollable {
- overflow: auto;
- -webkit-overflow-scrolling: touch;
- }
- .flex {
- flex: 1;
- }
- .margin-bottom-5 {
- margin-bottom: 5px;
- }
- /*
- Firefox minimum content bugfix
- https://github.com/philipwalton/flexbugs#1-minimum-content-sizing-of-flex-items-not-honored
- "By default, flex items won’t shrink below their minimum
- content size (the length of the longest word or fixed-size element).
- To change this, set the min-width or min-height property."
- */
- .flex-shrink-horizontal {
- min-width: 0;
- }
- .flex-full {
- flex: 1 1 100%;
- }
- .flex-auto {
- flex: 1 1 auto;
- }
- .flex-shrink {
- flex: 0 1 auto;
- }
- .flex-no-shrink {
- flex-shrink: 0;
- }
- .flex-none {
- flex: none;
- }
- .flex-1 {
- flex: 1;
- }
- .flex-2 {
- flex: 2;
- }
- .flex-3 {
- flex: 3;
- }
- .justify-start {
- justify-content: flex-start;
- }
- .justified {
- justify-content: center;
- }
- .justify-end {
- justify-content: flex-end;
- }
- .justify-between {
- justify-content: space-between;
- }
- .start {
- align-items: flex-start;
- }
- .center {
- align-items: center;
- }
- .baseline {
- align-items: baseline;
- }
- .centered {
- align-items: center;
- justify-content: center;
- }
- .end {
- align-items: flex-end;
- }
- .self-start {
- align-self: start;
- }
- .self-end {
- align-self: end;
- }
- .span-width {
- flex-basis: 100%;
- }
- .two-columns,
- .three-columns,
- .wrap {
- flex-wrap: wrap;
- }
- .two-columns,
- .three-columns {
- @include phone {
- display: block;
- }
- }
- .two-columns > .column {
- width: 50%;
- @include phone {
- width: auto;
- }
- }
- .three-columns > .column {
- width: 33.33%;
- @include phone {
- width: auto;
- }
- }
- .align-left {
- @include bidi-style(margin-right, auto, margin-left, 0);
- }
- .align-right {
- @include bidi-style(margin-left, auto, margin-right, 0);
- }
- .space-left {
- @include bidi-style(margin-left, 10px, margin-right, 0);
- }
- .space-right {
- @include bidi-style(margin-right, 10px, margin-left, 0);
- }
- .half-space-left {
- @include bidi-style(margin-left, 5px, margin-right, 0);
- }
- .half-space-right {
- @include bidi-style(margin-right, 5px, margin-left, 0);
- }
- .align-center {
- margin-left: auto;
- margin-right: auto;
- }
- .flex-space-after {
- @include bidi-style(margin-right, auto, margin-left, 0);
- }
- .flex-space-before {
- @include bidi-style(margin-left, auto, margin-right, 0);
- }
- .half-spacer {
- width: 5px;
- height: 5px;
- }
- .spacer {
- width: 10px;
- height: 10px;
- }
- .double-spacer {
- width: 20px;
- height: 20px;
- }
- .flex-spacer {
- flex: 1;
- }
- span.is-disabled {
- cursor: not-allowed;
- opacity: 0.5;
- }
- .inline-label + .scheduled-widget {
- margin-left: 18px;
- }
- .scheduled-widget {
- display: flex;
- align-items: center;
- padding: 5px 5px 5px 10px;
- border: 1px solid rgba(0, 0, 0, 0.1);
- border-radius: 4px;
- &[data-state='published'] {
- color: var(--supergood-color);
- border-color: currentColor;
- .btn {
- border-color: currentColor;
- }
- }
- &[data-state='archived'] {
- border-color: var(--ghost-color);
- .btn {
- border-color: var(--ghost-color);
- }
- }
- &[data-state='internal'] {
- color: var(--highlight);
- border-color: currentColor;
- .btn {
- border-color: currentColor;
- }
- }
- .help-text & {
- margin-top: 4px;
- }
- .icon {
- color: inherit;
- fill: currentColor;
- vertical-align: middle;
- }
- &-label {
- margin: 0 10px 0 6px;
- }
- .icon-diagonal-cross {
- width: 10px;
- height: 10px;
- }
- .btn {
- color: inherit;
- }
- }
- .knowledge-base {
- &-navigation {
- display: flex;
- align-items: center;
- color: var(--interactive-muted);
- background: var(--background-primary-alt);
- border-bottom: 1px solid var(--border);
- padding: 7px;
- @include phone {
- flex-shrink: 0;
- overflow: auto;
- -webkit-overflow-scrolling: touch;
- }
- .breadcrumb:not(:first-child) .breadcrumb-icon {
- width: 16px;
- height: 16px;
- }
- }
- &-body {
- position: relative;
- overflow-x: hidden;
- @include phone {
- flex-direction: column-reverse;
- overflow: visible;
- }
- }
- &-sidebar {
- position: absolute;
- @include ltr(right, 0);
- @include rtl(left, 0);
- top: 0;
- width: 280px;
- height: 100%;
- overflow: auto;
- -webkit-overflow-scrolling: touch;
- transition: transform 500ms;
- @include bidi-style(
- border-left,
- 1px solid var(--border),
- border-right,
- none
- );
- @include phone {
- width: auto;
- position: static;
- @include bidi-style(border-left, none, border-right, none);
- border-top: 1px solid var(--border);
- overflow: visible;
- }
- @include desktop {
- width: 28%;
- }
- &.hidden {
- display: block !important;
- visibility: visible !important;
- @include ltr(transform, translateX(100%));
- @include rtl(transform, translateX(-100%));
- @include phone {
- transform: none !important;
- display: none !important;
- }
- + .knowledge-base-main {
- @include ltr(margin-right, 0);
- @include rtl(margin-left, 0);
- }
- }
- h2 {
- font-size: 17px;
- line-height: 1;
- }
- }
- &-main {
- width: 100%;
- @include ltr(transition, margin-right 500ms);
- @include ltr(margin-right, 280px);
- @include rtl(transition, margin-left 500ms);
- @include rtl(margin-left, 280px);
- @include phone {
- margin: 0 0 10px !important;
- }
- @include desktop {
- @include ltr(margin-right, 28%);
- @include rtl(margin-left, 28%);
- }
- }
- form {
- flex-shrink: 0;
- }
- .richtext-content {
- word-break: break-word;
- word-wrap: anywhere;
- }
- .page-header {
- margin: 1px 0 3px;
- flex-shrink: 0;
- }
- }
- .modal-manage-attachments {
- input:focus + label {
- text-decoration: none;
- }
- }
- .modal-knowledge-base-server-snippet {
- label.radio-replacement:first-child {
- padding-left: 0;
- }
- }
- .container {
- max-width: 960px;
- width: 100%;
- margin: 20px auto;
- }
- .sections {
- list-style: none;
- padding: 0;
- margin: 0 -10px;
- &:not(:empty) + &:not(:empty) {
- border-top: 1px solid var(--border);
- margin-top: 20px;
- padding-top: 20px;
- }
- &--grid {
- display: flex;
- flex-wrap: wrap;
- .section {
- a {
- padding-bottom: 72%;
- position: relative;
- line-height: 1.3;
- }
- [data-font] {
- font-size: 60px;
- }
- .modified-icon {
- margin: 10px 0 20px;
- }
- &--subsection {
- display: none;
- }
- &-inner {
- position: absolute;
- padding: 10px;
- left: 0;
- top: 0;
- right: 0;
- bottom: 0;
- align-items: center;
- justify-content: center;
- flex-direction: column;
- text-align: center;
- .title {
- display: -webkit-box;
- overflow: auto;
- -webkit-box-orient: vertical;
- -webkit-line-clamp: 5;
- }
- }
- }
- &[data-size='medium'] {
- .section {
- width: 25%;
- @include phone {
- width: 100%;
- }
- a {
- font-size: 14px;
- }
- [data-font] {
- font-size: 42px;
- }
- .modified-icon-modifier {
- width: 18px;
- height: 18px;
- margin: 0 -6px -2px 0;
- }
- }
- }
- &[data-size='large'] {
- .section {
- width: 33.33%;
- @include phone {
- width: 100%;
- }
- a {
- font-size: 15px;
- }
- .modified-icon-modifier {
- width: 22.5px;
- height: 22.5px;
- margin: 0 -8px -5px 0;
- }
- }
- }
- }
- &--list {
- .section-detail {
- margin-left: 0.2em;
- }
- }
- }
- .section {
- &.kb-item--invisible {
- opacity: 0.5;
- }
- &.kb-item--missing-translation,
- &.kb-item--missing-translation:active,
- &.kb-item--missing-translation:focus {
- color: hsl(45, 98%, 63%);
- }
- a {
- display: block;
- text-decoration: none;
- color: inherit;
- }
- &-title {
- color: #444a4f;
- }
- &-detail {
- color: #b4b7b9;
- }
- }
- .section-inner {
- position: relative;
- display: flex;
- align-items: flex-start;
- padding: 10px 14px;
- margin: 10px;
- background: var(--background-secondary);
- border-radius: 3px;
- border: 1px solid var(--border);
- box-shadow: var(--elevation-low);
- @include phone {
- margin: 5px;
- }
- &:active {
- box-shadow: none;
- }
- &-title {
- font-weight: 500;
- font-size: 15px;
- line-height: 1.15;
- }
- &-date {
- display: inline;
- color: hsl(0, 0%, 75%);
- &::after {
- content: ' — ';
- color: var(--text-normal);
- }
- &:only-child::after {
- content: '';
- }
- }
- &-detail {
- display: block;
- margin-top: 5px;
- }
- &-icon {
- flex-shrink: 0;
- vertical-align: middle;
- &-holder {
- @include ltr(margin-right, 11px);
- @include rtl(margin-left, 11px);
- margin-top: 1px;
- .nav-pills & {
- @include ltr(margin-right, 7px);
- @include rtl(margin-left, 7px);
- }
- }
- &[data-font] {
- font-size: 16px;
- line-height: 1;
- }
- &.icon {
- fill: currentColor;
- width: 16px;
- height: 16px;
- object-fit: contain;
- object-position: center top;
- }
- }
- em {
- font-style: normal;
- background: hsla(205, 90%, 60%, 0.75);
- }
- }
- .knowledge-base-article {
- &-header {
- text-align: center;
- }
- &-meta {
- display: block;
- text-align: center;
- > * {
- &:first-child {
- text-transform: capitalize;
- }
- &::after {
- content: ' · ';
- }
- &:last-child::after {
- display: none;
- }
- }
- }
- &-body {
- margin-top: 20px;
- background: var(--background-secondary);
- border-radius: 2px;
- padding: 50px 50px 10px;
- border: 1px solid var(--border);
- @include phone {
- padding: 15px 15px 5px;
- }
- }
- &-content {
- margin-bottom: 40px;
- @include phone {
- margin-bottom: 10px;
- }
- }
- &-attachments,
- &-tags,
- &-linked-tickets {
- margin: 0 -30px;
- @include phone {
- margin: 0 -5px;
- }
- }
- .tasks {
- @include bidi-style(margin-left, 7px, margin-right, 0);
- }
- &-tags--container {
- padding: 6px 5px 11px;
- display: flex;
- flex-wrap: wrap;
- .tag {
- margin: 2px;
- display: inline-block;
- background: #0f94d6;
- color: var(--text-inverted);
- border-radius: 999px;
- padding: 2px 12px 1px;
- &:hover {
- background: hsl(200deg, 87%, 34%);
- }
- }
- }
- &-nav {
- display: flex;
- &-link {
- padding: 15px;
- max-width: 50%;
- display: flex;
- align-items: center;
- .knowledge-base-article > & {
- margin-top: -10px;
- }
- .spacer {
- width: 5px;
- }
- .icon {
- flex-shrink: 0;
- fill: currentColor;
- opacity: 1;
- vertical-align: top;
- }
- &--next {
- @include bidi-style(margin-left, auto, margin-right, inherit);
- }
- &-title {
- @extend .u-textTruncate;
- }
- }
- }
- }
- .miller-columns {
- display: flex;
- font-size: 12px;
- border: 1px solid var(--border);
- border-radius: 3px;
- .column {
- list-style: none;
- padding: 0;
- margin: 0;
- flex: 1 1 33%;
- height: 300px;
- overflow: auto;
- -webkit-overflow-scrolling: touch;
- border-right: 1px solid var(--border);
- &:last-child {
- border-right-width: 0;
- }
- &-item {
- display: flex;
- align-items: center;
- padding: 5px 10px;
- cursor: default;
- &:hover {
- background: var(--background-modifier-accent-light);
- }
- &.is-selected {
- background: var(--background-secondary-hover);
- }
- &--has-children {
- @extend %clickable;
- cursor: pointer;
- }
- span {
- @extend .u-textTruncate;
- margin-right: 10px;
- }
- > .icon:first-child,
- [data-font] {
- fill: currentColor;
- margin-right: 8px;
- vertical-align: middle;
- flex-shrink: 0;
- }
- .icon-arrow-right {
- margin-left: auto;
- flex-shrink: 0;
- }
- .btn {
- margin-left: auto;
- }
- }
- }
- }
- .highlight-emulator {
- background-color: highlight;
- }
- .videoWrapper {
- position: relative;
- padding-bottom: 56.25%; /* 16:9 */
- padding-top: 25px;
- height: 0;
- }
- .videoWrapper iframe {
- position: absolute;
- top: 0;
- left: 0;
- width: 100%;
- height: 100%;
- }
- .btn-manage-public-menu-edit {
- margin-top: 0;
- }
- .kb-menu-settings-entry {
- margin-bottom: 12px;
- }
- .text-modules-box {
- max-height: 40vh;
- }
- .sla_times {
- .sla_radio_container {
- padding-top: 0.5em;
- padding-left: 0.5em;
- }
- }
- .calendar-preview {
- .calendar-events {
- margin-top: 12px;
- p {
- margin: 0;
- }
- h2 {
- margin-bottom: 24px;
- }
- h4 {
- margin-bottom: 4px;
- }
- section.description {
- margin: 24px 0 0;
- padding: 4px;
- }
- .event-row {
- display: flex;
- div {
- width: 50%;
- margin-bottom: 4px;
- }
- }
- }
- div.divider {
- margin-top: 18px;
- margin-bottom: 6px;
- border-top: 1px solid #dfdfdf;
- &:last-of-type {
- display: none;
- }
- }
- }
- .reporting {
- .legend > div {
- background: var(--background-secondary) !important;
- }
- .legendColorBox {
- padding-right: 4px;
- }
- }
- .duplicate-ticket-detection {
- position: relative;
- margin-bottom: 0;
- .close {
- position: absolute;
- top: 2px;
- opacity: 0.39;
- @include bidi-style(right, 0, left, 0);
- &:hover {
- opacity: 1;
- }
- svg {
- width: 9px;
- height: 9px;
- }
- }
- h4 {
- text-transform: none;
- font-size: 16px;
- }
- p {
- word-wrap: break-word;
- overflow-wrap: break-word;
- white-space: pre-wrap;
- }
- p,
- ul {
- margin-bottom: 6px;
- }
- .btn {
- font-size: 10px;
- color: var(--text-link);
- background: none;
- }
- }
- .profile-settings-notifications-content {
- .zammad-switch {
- float: left;
- margin-right: 10px;
- }
- .profile-groups-limit-settings {
- min-height: 1px;
- }
- .settings-list {
- margin-bottom: 0;
- }
- .profile-groups-all-unchecked {
- margin-bottom: 10px;
- }
- }
- .profile-two-factor {
- table {
- margin-bottom: 16px;
- }
- .recovery-codes {
- p {
- margin: 12px 0;
- }
- p:last-of-type {
- margin: 0;
- }
- }
- }
- .two-factor-auth {
- .loading {
- display: block;
- margin: 25px auto;
- }
- &-method-buttons {
- display: flex;
- flex-direction: column;
- max-width: 382px;
- margin: 25px auto 0;
- }
- &-method {
- display: flex;
- flex-direction: column;
- margin-bottom: 15px;
- }
- .is-disabled {
- opacity: 0.33;
- }
- .method-form .form-group {
- margin-bottom: 4px;
- }
- .authenticator-app {
- --width: 306px;
- --height: 306px;
- position: relative;
- width: var(--width);
- margin: 0 auto;
- .qr-code-canvas {
- width: var(--width);
- height: var(--height);
- cursor: pointer;
- }
- .secret {
- position: absolute;
- top: 0;
- left: 0;
- width: var(--width);
- height: var(--height);
- background: rgba(0, 0, 0, 0.9);
- color: var(--text-inverted);
- font-family: monospace;
- display: flex;
- justify-content: center;
- align-items: center;
- cursor: pointer;
- }
- }
- }
- .history-row-list {
- padding-left: 10px;
- span {
- text-decoration: underline;
- }
- }
- .btn--split--last.js-securitySign {
- .icon {
- @include ltr(margin, -2px 5px 0 -2px !important);
- @include rtl(margin, -2px -2px 0 5px !important);
- }
- }
- .overlap-x-6 {
- @include ltr(margin-left, -6px);
- @include rtl(margin-right, -6px);
- }
- div.accounted-time-value {
- &-container {
- display: flex;
- flex-direction: column;
- }
- &-row {
- display: flex;
- flex-direction: row;
- }
- &-item {
- padding: 1px;
- flex: 0 0 auto;
- }
- &-item:first-child {
- flex: 1 1 auto;
- white-space: nowrap;
- text-overflow: ellipsis;
- overflow: hidden;
- @include bidi-style(margin-right, 6px, margin-left, 0);
- }
- }
|