1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850685168526853685468556856685768586859686068616862686368646865686668676868686968706871687268736874687568766877687868796880688168826883688468856886688768886889689068916892689368946895689668976898689969006901690269036904690569066907690869096910691169126913691469156916691769186919692069216922692369246925692669276928692969306931693269336934693569366937693869396940694169426943694469456946694769486949695069516952695369546955695669576958695969606961696269636964696569666967696869696970697169726973697469756976697769786979698069816982698369846985698669876988698969906991699269936994699569966997699869997000700170027003700470057006700770087009701070117012701370147015701670177018701970207021702270237024702570267027702870297030703170327033703470357036703770387039704070417042704370447045704670477048704970507051705270537054705570567057705870597060706170627063706470657066706770687069707070717072707370747075707670777078707970807081708270837084708570867087708870897090709170927093709470957096709770987099710071017102710371047105710671077108710971107111711271137114711571167117711871197120712171227123712471257126712771287129713071317132713371347135713671377138713971407141714271437144714571467147714871497150715171527153715471557156715771587159716071617162716371647165716671677168716971707171717271737174717571767177717871797180718171827183718471857186718771887189719071917192719371947195719671977198719972007201720272037204720572067207720872097210721172127213721472157216721772187219722072217222722372247225722672277228722972307231723272337234723572367237723872397240724172427243724472457246724772487249725072517252725372547255725672577258725972607261726272637264726572667267726872697270727172727273727472757276727772787279728072817282728372847285728672877288728972907291729272937294729572967297729872997300730173027303730473057306730773087309731073117312731373147315731673177318731973207321732273237324732573267327732873297330733173327333733473357336733773387339734073417342734373447345734673477348734973507351735273537354735573567357735873597360736173627363736473657366736773687369737073717372737373747375737673777378737973807381738273837384738573867387738873897390739173927393739473957396739773987399740074017402740374047405740674077408740974107411741274137414741574167417741874197420742174227423742474257426742774287429743074317432743374347435743674377438743974407441744274437444744574467447744874497450745174527453745474557456745774587459746074617462746374647465746674677468746974707471747274737474747574767477747874797480748174827483748474857486748774887489749074917492749374947495749674977498749975007501750275037504750575067507750875097510751175127513751475157516751775187519752075217522752375247525752675277528752975307531753275337534753575367537753875397540754175427543754475457546754775487549755075517552755375547555755675577558755975607561756275637564756575667567756875697570757175727573757475757576757775787579758075817582758375847585758675877588758975907591759275937594759575967597759875997600760176027603760476057606760776087609761076117612761376147615761676177618761976207621762276237624762576267627762876297630763176327633763476357636763776387639764076417642764376447645764676477648764976507651765276537654765576567657765876597660766176627663766476657666766776687669767076717672767376747675767676777678767976807681768276837684768576867687768876897690769176927693769476957696769776987699770077017702770377047705770677077708770977107711771277137714771577167717771877197720772177227723772477257726772777287729773077317732773377347735773677377738773977407741774277437744774577467747774877497750775177527753775477557756775777587759776077617762776377647765776677677768776977707771777277737774777577767777777877797780778177827783778477857786778777887789779077917792779377947795779677977798779978007801780278037804780578067807780878097810781178127813781478157816781778187819782078217822782378247825782678277828782978307831783278337834783578367837783878397840784178427843784478457846784778487849785078517852785378547855785678577858785978607861786278637864786578667867786878697870787178727873787478757876787778787879788078817882788378847885788678877888788978907891789278937894789578967897789878997900790179027903790479057906790779087909791079117912791379147915791679177918791979207921792279237924792579267927792879297930793179327933793479357936793779387939794079417942794379447945794679477948794979507951795279537954795579567957795879597960796179627963796479657966796779687969797079717972797379747975797679777978797979807981798279837984798579867987798879897990799179927993799479957996799779987999800080018002800380048005800680078008800980108011801280138014801580168017801880198020802180228023802480258026802780288029803080318032803380348035803680378038803980408041804280438044804580468047804880498050805180528053805480558056805780588059806080618062806380648065806680678068806980708071807280738074807580768077807880798080808180828083808480858086808780888089809080918092809380948095809680978098809981008101810281038104810581068107810881098110811181128113811481158116811781188119812081218122812381248125812681278128812981308131813281338134813581368137813881398140814181428143814481458146814781488149815081518152815381548155815681578158815981608161816281638164816581668167816881698170817181728173817481758176817781788179818081818182818381848185818681878188818981908191819281938194819581968197819881998200820182028203820482058206820782088209821082118212821382148215821682178218821982208221822282238224822582268227822882298230823182328233823482358236823782388239824082418242824382448245824682478248824982508251825282538254825582568257825882598260826182628263826482658266826782688269827082718272827382748275827682778278827982808281828282838284828582868287828882898290829182928293829482958296829782988299830083018302830383048305830683078308830983108311831283138314831583168317831883198320832183228323832483258326832783288329833083318332833383348335833683378338833983408341834283438344834583468347834883498350835183528353835483558356835783588359836083618362836383648365836683678368836983708371837283738374837583768377837883798380838183828383838483858386838783888389839083918392839383948395839683978398839984008401840284038404840584068407840884098410841184128413841484158416841784188419842084218422842384248425842684278428842984308431843284338434843584368437843884398440844184428443844484458446844784488449845084518452845384548455845684578458845984608461846284638464846584668467846884698470847184728473847484758476847784788479848084818482848384848485848684878488848984908491849284938494849584968497849884998500850185028503850485058506850785088509851085118512851385148515851685178518851985208521852285238524852585268527852885298530853185328533853485358536853785388539854085418542854385448545854685478548854985508551855285538554855585568557855885598560856185628563856485658566856785688569857085718572857385748575857685778578857985808581858285838584858585868587858885898590859185928593859485958596859785988599860086018602860386048605860686078608860986108611861286138614861586168617861886198620862186228623862486258626862786288629863086318632863386348635863686378638863986408641864286438644864586468647864886498650865186528653865486558656865786588659866086618662866386648665866686678668866986708671867286738674867586768677867886798680868186828683868486858686868786888689869086918692869386948695869686978698869987008701870287038704870587068707870887098710871187128713871487158716871787188719872087218722872387248725872687278728872987308731873287338734873587368737873887398740874187428743874487458746874787488749875087518752875387548755875687578758875987608761876287638764876587668767876887698770877187728773877487758776877787788779878087818782878387848785878687878788878987908791879287938794879587968797879887998800880188028803880488058806880788088809881088118812881388148815881688178818881988208821882288238824882588268827882888298830883188328833883488358836883788388839884088418842884388448845884688478848884988508851885288538854885588568857885888598860886188628863886488658866886788688869887088718872887388748875887688778878887988808881888288838884888588868887888888898890889188928893889488958896889788988899890089018902890389048905890689078908890989108911891289138914891589168917891889198920892189228923892489258926892789288929893089318932893389348935893689378938893989408941894289438944894589468947894889498950895189528953895489558956895789588959896089618962896389648965896689678968896989708971897289738974897589768977897889798980898189828983898489858986898789888989899089918992899389948995899689978998899990009001900290039004900590069007900890099010901190129013901490159016901790189019902090219022902390249025902690279028902990309031903290339034903590369037903890399040904190429043904490459046904790489049905090519052905390549055905690579058905990609061906290639064906590669067906890699070907190729073907490759076907790789079908090819082908390849085908690879088908990909091909290939094909590969097909890999100910191029103910491059106910791089109911091119112911391149115911691179118911991209121912291239124912591269127912891299130913191329133913491359136913791389139914091419142914391449145914691479148914991509151915291539154915591569157915891599160916191629163916491659166916791689169917091719172917391749175917691779178917991809181918291839184918591869187918891899190919191929193919491959196919791989199920092019202920392049205920692079208920992109211921292139214921592169217921892199220922192229223922492259226922792289229923092319232923392349235923692379238923992409241924292439244924592469247924892499250925192529253925492559256925792589259926092619262926392649265926692679268926992709271927292739274927592769277927892799280928192829283928492859286928792889289929092919292929392949295929692979298929993009301930293039304930593069307930893099310931193129313931493159316931793189319932093219322932393249325932693279328932993309331933293339334933593369337933893399340934193429343934493459346934793489349935093519352935393549355935693579358935993609361936293639364936593669367936893699370937193729373937493759376937793789379938093819382938393849385938693879388938993909391939293939394939593969397939893999400940194029403940494059406940794089409941094119412941394149415941694179418941994209421942294239424942594269427942894299430943194329433943494359436943794389439944094419442944394449445944694479448944994509451945294539454945594569457945894599460946194629463946494659466946794689469947094719472947394749475947694779478947994809481948294839484948594869487948894899490949194929493949494959496949794989499950095019502950395049505950695079508950995109511951295139514951595169517951895199520952195229523952495259526952795289529953095319532953395349535953695379538953995409541954295439544954595469547954895499550955195529553955495559556955795589559956095619562956395649565956695679568956995709571957295739574957595769577957895799580958195829583958495859586958795889589959095919592959395949595959695979598959996009601960296039604960596069607960896099610961196129613961496159616961796189619962096219622962396249625962696279628962996309631963296339634963596369637963896399640964196429643964496459646964796489649965096519652965396549655965696579658965996609661966296639664966596669667966896699670967196729673967496759676967796789679968096819682968396849685968696879688968996909691969296939694969596969697969896999700970197029703970497059706970797089709971097119712971397149715971697179718971997209721972297239724972597269727972897299730973197329733973497359736973797389739974097419742974397449745974697479748974997509751975297539754975597569757975897599760976197629763976497659766976797689769977097719772977397749775977697779778977997809781978297839784978597869787978897899790979197929793979497959796979797989799980098019802980398049805980698079808980998109811981298139814981598169817981898199820982198229823982498259826982798289829983098319832983398349835983698379838983998409841984298439844984598469847984898499850985198529853985498559856985798589859986098619862986398649865986698679868986998709871987298739874987598769877987898799880988198829883988498859886988798889889989098919892989398949895989698979898989999009901990299039904990599069907990899099910991199129913991499159916991799189919992099219922992399249925992699279928992999309931993299339934993599369937993899399940994199429943994499459946994799489949995099519952995399549955995699579958995999609961996299639964996599669967996899699970997199729973997499759976997799789979998099819982998399849985998699879988998999909991999299939994999599969997999899991000010001100021000310004100051000610007100081000910010100111001210013100141001510016100171001810019100201002110022100231002410025100261002710028100291003010031100321003310034100351003610037100381003910040100411004210043100441004510046100471004810049100501005110052100531005410055100561005710058100591006010061100621006310064100651006610067100681006910070100711007210073100741007510076100771007810079100801008110082100831008410085100861008710088100891009010091100921009310094100951009610097100981009910100101011010210103101041010510106101071010810109101101011110112101131011410115101161011710118101191012010121101221012310124101251012610127101281012910130101311013210133101341013510136101371013810139101401014110142101431014410145101461014710148101491015010151101521015310154101551015610157101581015910160101611016210163101641016510166101671016810169101701017110172101731017410175101761017710178101791018010181101821018310184101851018610187101881018910190101911019210193101941019510196101971019810199102001020110202102031020410205102061020710208102091021010211102121021310214102151021610217102181021910220102211022210223102241022510226102271022810229102301023110232102331023410235102361023710238102391024010241102421024310244102451024610247102481024910250102511025210253102541025510256102571025810259102601026110262102631026410265102661026710268102691027010271102721027310274102751027610277102781027910280102811028210283102841028510286102871028810289102901029110292102931029410295102961029710298102991030010301103021030310304103051030610307103081030910310103111031210313103141031510316103171031810319103201032110322103231032410325103261032710328103291033010331103321033310334103351033610337103381033910340103411034210343103441034510346103471034810349103501035110352103531035410355103561035710358103591036010361103621036310364103651036610367103681036910370103711037210373103741037510376103771037810379103801038110382103831038410385103861038710388103891039010391103921039310394103951039610397103981039910400104011040210403104041040510406104071040810409104101041110412104131041410415104161041710418104191042010421104221042310424104251042610427104281042910430104311043210433104341043510436104371043810439104401044110442104431044410445104461044710448104491045010451104521045310454104551045610457104581045910460104611046210463104641046510466104671046810469104701047110472104731047410475104761047710478104791048010481104821048310484104851048610487104881048910490104911049210493104941049510496104971049810499105001050110502105031050410505105061050710508105091051010511105121051310514105151051610517105181051910520105211052210523105241052510526105271052810529105301053110532105331053410535105361053710538105391054010541105421054310544105451054610547105481054910550105511055210553105541055510556105571055810559105601056110562105631056410565105661056710568105691057010571105721057310574105751057610577105781057910580105811058210583105841058510586105871058810589105901059110592105931059410595105961059710598105991060010601106021060310604106051060610607106081060910610106111061210613106141061510616106171061810619106201062110622106231062410625106261062710628106291063010631106321063310634106351063610637106381063910640106411064210643106441064510646106471064810649106501065110652106531065410655106561065710658106591066010661106621066310664106651066610667106681066910670106711067210673106741067510676106771067810679106801068110682106831068410685106861068710688106891069010691106921069310694106951069610697106981069910700107011070210703107041070510706107071070810709107101071110712107131071410715107161071710718107191072010721107221072310724107251072610727107281072910730107311073210733107341073510736107371073810739107401074110742107431074410745107461074710748107491075010751107521075310754107551075610757107581075910760107611076210763107641076510766107671076810769107701077110772107731077410775107761077710778107791078010781107821078310784107851078610787107881078910790107911079210793107941079510796107971079810799108001080110802108031080410805108061080710808108091081010811108121081310814108151081610817108181081910820108211082210823108241082510826108271082810829108301083110832108331083410835108361083710838108391084010841108421084310844108451084610847108481084910850108511085210853108541085510856108571085810859108601086110862108631086410865108661086710868108691087010871108721087310874108751087610877108781087910880108811088210883108841088510886108871088810889108901089110892108931089410895108961089710898108991090010901109021090310904109051090610907109081090910910109111091210913109141091510916109171091810919109201092110922109231092410925109261092710928109291093010931109321093310934109351093610937109381093910940109411094210943109441094510946109471094810949109501095110952109531095410955109561095710958109591096010961109621096310964109651096610967109681096910970109711097210973109741097510976109771097810979109801098110982109831098410985109861098710988109891099010991109921099310994109951099610997109981099911000110011100211003110041100511006110071100811009110101101111012110131101411015110161101711018110191102011021110221102311024110251102611027110281102911030110311103211033110341103511036110371103811039110401104111042110431104411045110461104711048110491105011051110521105311054110551105611057110581105911060110611106211063110641106511066110671106811069110701107111072110731107411075110761107711078110791108011081110821108311084110851108611087110881108911090110911109211093110941109511096110971109811099111001110111102111031110411105111061110711108111091111011111111121111311114111151111611117111181111911120111211112211123111241112511126111271112811129111301113111132111331113411135111361113711138111391114011141111421114311144111451114611147111481114911150111511115211153111541115511156111571115811159111601116111162111631116411165111661116711168111691117011171111721117311174111751117611177111781117911180111811118211183111841118511186111871118811189111901119111192111931119411195111961119711198111991120011201112021120311204112051120611207112081120911210112111121211213112141121511216112171121811219112201122111222112231122411225112261122711228112291123011231112321123311234112351123611237112381123911240112411124211243112441124511246112471124811249112501125111252112531125411255112561125711258112591126011261112621126311264112651126611267112681126911270112711127211273112741127511276112771127811279112801128111282112831128411285112861128711288112891129011291112921129311294112951129611297112981129911300113011130211303113041130511306113071130811309113101131111312113131131411315113161131711318113191132011321113221132311324113251132611327113281132911330113311133211333113341133511336113371133811339113401134111342113431134411345113461134711348113491135011351113521135311354113551135611357113581135911360113611136211363113641136511366113671136811369113701137111372113731137411375113761137711378113791138011381113821138311384113851138611387113881138911390113911139211393113941139511396113971139811399114001140111402114031140411405114061140711408114091141011411114121141311414114151141611417114181141911420114211142211423114241142511426114271142811429114301143111432114331143411435114361143711438114391144011441114421144311444114451144611447114481144911450114511145211453114541145511456114571145811459114601146111462114631146411465114661146711468114691147011471114721147311474114751147611477114781147911480114811148211483114841148511486114871148811489114901149111492114931149411495114961149711498114991150011501115021150311504115051150611507115081150911510115111151211513115141151511516115171151811519115201152111522115231152411525115261152711528115291153011531115321153311534115351153611537115381153911540115411154211543115441154511546115471154811549115501155111552115531155411555115561155711558115591156011561115621156311564115651156611567115681156911570115711157211573115741157511576115771157811579115801158111582115831158411585115861158711588115891159011591115921159311594115951159611597115981159911600116011160211603116041160511606116071160811609116101161111612116131161411615116161161711618116191162011621116221162311624116251162611627116281162911630116311163211633116341163511636116371163811639116401164111642116431164411645116461164711648116491165011651116521165311654116551165611657116581165911660116611166211663116641166511666116671166811669116701167111672116731167411675116761167711678116791168011681116821168311684116851168611687116881168911690116911169211693116941169511696116971169811699117001170111702117031170411705117061170711708117091171011711117121171311714117151171611717117181171911720117211172211723117241172511726117271172811729117301173111732117331173411735117361173711738117391174011741117421174311744117451174611747117481174911750117511175211753117541175511756117571175811759117601176111762117631176411765117661176711768117691177011771117721177311774117751177611777117781177911780117811178211783117841178511786117871178811789117901179111792117931179411795117961179711798117991180011801118021180311804118051180611807118081180911810118111181211813118141181511816118171181811819118201182111822118231182411825118261182711828118291183011831118321183311834118351183611837118381183911840118411184211843118441184511846118471184811849118501185111852118531185411855118561185711858118591186011861118621186311864118651186611867118681186911870118711187211873118741187511876118771187811879118801188111882118831188411885118861188711888118891189011891118921189311894118951189611897118981189911900119011190211903119041190511906119071190811909119101191111912119131191411915119161191711918119191192011921119221192311924119251192611927119281192911930119311193211933119341193511936119371193811939119401194111942119431194411945119461194711948119491195011951119521195311954119551195611957119581195911960119611196211963119641196511966119671196811969119701197111972119731197411975119761197711978119791198011981119821198311984119851198611987119881198911990119911199211993119941199511996119971199811999120001200112002120031200412005120061200712008120091201012011120121201312014120151201612017120181201912020120211202212023120241202512026120271202812029120301203112032120331203412035120361203712038120391204012041120421204312044120451204612047120481204912050120511205212053120541205512056120571205812059120601206112062120631206412065120661206712068120691207012071120721207312074120751207612077120781207912080120811208212083120841208512086120871208812089120901209112092120931209412095120961209712098120991210012101121021210312104121051210612107121081210912110121111211212113121141211512116121171211812119121201212112122121231212412125121261212712128121291213012131121321213312134121351213612137121381213912140121411214212143121441214512146121471214812149121501215112152121531215412155121561215712158121591216012161121621216312164121651216612167121681216912170121711217212173121741217512176121771217812179121801218112182121831218412185121861218712188121891219012191121921219312194121951219612197121981219912200122011220212203122041220512206122071220812209122101221112212122131221412215122161221712218122191222012221122221222312224122251222612227122281222912230122311223212233122341223512236122371223812239122401224112242122431224412245122461224712248122491225012251122521225312254122551225612257122581225912260122611226212263122641226512266122671226812269122701227112272122731227412275122761227712278122791228012281122821228312284122851228612287122881228912290122911229212293122941229512296122971229812299123001230112302123031230412305123061230712308123091231012311123121231312314123151231612317123181231912320123211232212323123241232512326123271232812329123301233112332123331233412335123361233712338123391234012341123421234312344123451234612347123481234912350123511235212353123541235512356123571235812359123601236112362123631236412365123661236712368123691237012371123721237312374123751237612377123781237912380123811238212383123841238512386123871238812389123901239112392123931239412395123961239712398123991240012401124021240312404124051240612407124081240912410124111241212413124141241512416124171241812419124201242112422124231242412425124261242712428124291243012431124321243312434124351243612437124381243912440124411244212443124441244512446124471244812449124501245112452124531245412455124561245712458124591246012461124621246312464124651246612467124681246912470124711247212473124741247512476124771247812479124801248112482124831248412485124861248712488124891249012491124921249312494124951249612497124981249912500125011250212503125041250512506125071250812509125101251112512125131251412515125161251712518125191252012521125221252312524125251252612527125281252912530125311253212533125341253512536125371253812539125401254112542125431254412545125461254712548125491255012551125521255312554125551255612557125581255912560125611256212563125641256512566125671256812569125701257112572125731257412575125761257712578125791258012581125821258312584125851258612587125881258912590125911259212593125941259512596125971259812599126001260112602126031260412605126061260712608126091261012611126121261312614126151261612617126181261912620126211262212623126241262512626126271262812629126301263112632126331263412635126361263712638126391264012641126421264312644126451264612647126481264912650126511265212653126541265512656126571265812659126601266112662126631266412665126661266712668126691267012671126721267312674126751267612677126781267912680126811268212683126841268512686126871268812689126901269112692126931269412695126961269712698126991270012701127021270312704127051270612707127081270912710127111271212713127141271512716127171271812719127201272112722127231272412725127261272712728127291273012731127321273312734127351273612737127381273912740127411274212743127441274512746127471274812749127501275112752127531275412755127561275712758127591276012761127621276312764127651276612767127681276912770127711277212773127741277512776127771277812779127801278112782127831278412785127861278712788127891279012791127921279312794127951279612797127981279912800128011280212803128041280512806128071280812809128101281112812128131281412815128161281712818128191282012821128221282312824128251282612827128281282912830128311283212833128341283512836128371283812839128401284112842128431284412845128461284712848128491285012851128521285312854128551285612857128581285912860128611286212863128641286512866128671286812869128701287112872128731287412875128761287712878128791288012881128821288312884128851288612887128881288912890128911289212893128941289512896128971289812899129001290112902129031290412905129061290712908129091291012911129121291312914129151291612917129181291912920129211292212923129241292512926129271292812929129301293112932129331293412935129361293712938129391294012941129421294312944129451294612947129481294912950129511295212953129541295512956129571295812959129601296112962129631296412965129661296712968129691297012971129721297312974129751297612977129781297912980129811298212983129841298512986129871298812989129901299112992129931299412995129961299712998129991300013001130021300313004130051300613007130081300913010130111301213013130141301513016130171301813019130201302113022130231302413025130261302713028130291303013031130321303313034130351303613037130381303913040130411304213043130441304513046130471304813049130501305113052130531305413055130561305713058130591306013061130621306313064130651306613067130681306913070130711307213073130741307513076130771307813079130801308113082130831308413085130861308713088130891309013091130921309313094130951309613097130981309913100131011310213103131041310513106131071310813109131101311113112131131311413115131161311713118131191312013121131221312313124131251312613127131281312913130131311313213133131341313513136131371313813139131401314113142131431314413145131461314713148131491315013151131521315313154131551315613157131581315913160131611316213163131641316513166131671316813169131701317113172131731317413175131761317713178131791318013181131821318313184131851318613187131881318913190131911319213193131941319513196131971319813199132001320113202132031320413205132061320713208132091321013211132121321313214132151321613217132181321913220132211322213223132241322513226132271322813229132301323113232132331323413235132361323713238132391324013241132421324313244132451324613247132481324913250132511325213253132541325513256132571325813259132601326113262132631326413265132661326713268132691327013271132721327313274132751327613277132781327913280132811328213283132841328513286132871328813289132901329113292132931329413295132961329713298132991330013301133021330313304133051330613307133081330913310133111331213313133141331513316133171331813319133201332113322133231332413325133261332713328133291333013331133321333313334133351333613337133381333913340133411334213343133441334513346133471334813349133501335113352133531335413355133561335713358133591336013361133621336313364133651336613367133681336913370133711337213373133741337513376133771337813379133801338113382133831338413385133861338713388133891339013391133921339313394133951339613397133981339913400134011340213403134041340513406134071340813409134101341113412134131341413415134161341713418134191342013421134221342313424134251342613427134281342913430134311343213433134341343513436134371343813439134401344113442134431344413445134461344713448134491345013451134521345313454134551345613457134581345913460134611346213463134641346513466134671346813469134701347113472134731347413475134761347713478134791348013481134821348313484134851348613487134881348913490134911349213493134941349513496134971349813499135001350113502135031350413505135061350713508135091351013511135121351313514135151351613517135181351913520135211352213523135241352513526135271352813529135301353113532135331353413535135361353713538135391354013541135421354313544135451354613547135481354913550135511355213553135541355513556135571355813559135601356113562135631356413565135661356713568135691357013571135721357313574135751357613577135781357913580135811358213583135841358513586135871358813589135901359113592135931359413595135961359713598135991360013601136021360313604136051360613607136081360913610136111361213613136141361513616136171361813619136201362113622136231362413625136261362713628136291363013631136321363313634136351363613637136381363913640136411364213643136441364513646136471364813649136501365113652136531365413655136561365713658136591366013661136621366313664136651366613667136681366913670136711367213673136741367513676136771367813679136801368113682136831368413685136861368713688136891369013691136921369313694136951369613697136981369913700137011370213703137041370513706137071370813709137101371113712137131371413715137161371713718137191372013721137221372313724137251372613727137281372913730137311373213733137341373513736137371373813739137401374113742137431374413745137461374713748137491375013751137521375313754137551375613757137581375913760137611376213763137641376513766137671376813769137701377113772137731377413775137761377713778137791378013781137821378313784137851378613787137881378913790137911379213793137941379513796137971379813799138001380113802138031380413805138061380713808138091381013811138121381313814138151381613817138181381913820138211382213823138241382513826138271382813829138301383113832138331383413835138361383713838138391384013841138421384313844138451384613847138481384913850138511385213853138541385513856138571385813859138601386113862138631386413865138661386713868138691387013871138721387313874138751387613877138781387913880138811388213883138841388513886138871388813889138901389113892138931389413895138961389713898138991390013901139021390313904139051390613907139081390913910139111391213913139141391513916139171391813919139201392113922139231392413925139261392713928139291393013931139321393313934139351393613937139381393913940139411394213943139441394513946139471394813949139501395113952139531395413955139561395713958139591396013961139621396313964139651396613967139681396913970139711397213973139741397513976139771397813979139801398113982139831398413985139861398713988139891399013991139921399313994139951399613997139981399914000140011400214003140041400514006140071400814009140101401114012140131401414015140161401714018140191402014021140221402314024140251402614027140281402914030140311403214033140341403514036140371403814039140401404114042140431404414045140461404714048140491405014051140521405314054140551405614057140581405914060140611406214063140641406514066140671406814069140701407114072140731407414075140761407714078140791408014081140821408314084140851408614087140881408914090140911409214093140941409514096140971409814099141001410114102141031410414105141061410714108141091411014111141121411314114141151411614117141181411914120141211412214123141241412514126141271412814129141301413114132141331413414135141361413714138141391414014141141421414314144141451414614147141481414914150141511415214153141541415514156141571415814159141601416114162141631416414165141661416714168141691417014171141721417314174141751417614177141781417914180141811418214183141841418514186141871418814189141901419114192141931419414195141961419714198141991420014201142021420314204142051420614207142081420914210142111421214213142141421514216142171421814219142201422114222142231422414225142261422714228142291423014231142321423314234142351423614237142381423914240142411424214243142441424514246142471424814249142501425114252142531425414255142561425714258142591426014261142621426314264142651426614267142681426914270142711427214273142741427514276142771427814279142801428114282142831428414285142861428714288142891429014291142921429314294142951429614297142981429914300143011430214303143041430514306143071430814309143101431114312143131431414315143161431714318143191432014321143221432314324143251432614327143281432914330143311433214333143341433514336143371433814339143401434114342143431434414345143461434714348143491435014351143521435314354143551435614357143581435914360143611436214363143641436514366143671436814369143701437114372143731437414375143761437714378143791438014381143821438314384143851438614387143881438914390143911439214393143941439514396143971439814399144001440114402144031440414405144061440714408144091441014411144121441314414144151441614417144181441914420144211442214423144241442514426144271442814429144301443114432144331443414435144361443714438144391444014441144421444314444144451444614447144481444914450144511445214453144541445514456144571445814459144601446114462144631446414465144661446714468144691447014471144721447314474144751447614477144781447914480144811448214483144841448514486144871448814489144901449114492144931449414495144961449714498144991450014501145021450314504145051450614507145081450914510145111451214513145141451514516145171451814519145201452114522145231452414525145261452714528145291453014531145321453314534145351453614537145381453914540145411454214543145441454514546145471454814549145501455114552145531455414555145561455714558145591456014561145621456314564145651456614567145681456914570145711457214573145741457514576145771457814579145801458114582145831458414585145861458714588145891459014591145921459314594145951459614597145981459914600146011460214603146041460514606146071460814609146101461114612146131461414615146161461714618146191462014621146221462314624146251462614627146281462914630146311463214633146341463514636146371463814639146401464114642146431464414645146461464714648146491465014651146521465314654146551465614657146581465914660146611466214663146641466514666146671466814669146701467114672146731467414675146761467714678146791468014681146821468314684146851468614687146881468914690146911469214693146941469514696146971469814699147001470114702147031470414705147061470714708147091471014711147121471314714147151471614717147181471914720147211472214723147241472514726147271472814729147301473114732147331473414735147361473714738147391474014741147421474314744147451474614747147481474914750147511475214753147541475514756147571475814759147601476114762147631476414765147661476714768147691477014771147721477314774147751477614777147781477914780147811478214783147841478514786147871478814789147901479114792147931479414795147961479714798147991480014801148021480314804148051480614807148081480914810148111481214813148141481514816148171481814819148201482114822148231482414825148261482714828148291483014831148321483314834148351483614837148381483914840148411484214843148441484514846148471484814849148501485114852148531485414855148561485714858148591486014861148621486314864148651486614867148681486914870148711487214873148741487514876148771487814879148801488114882148831488414885148861488714888148891489014891148921489314894148951489614897148981489914900149011490214903149041490514906149071490814909149101491114912149131491414915149161491714918149191492014921149221492314924149251492614927149281492914930149311493214933149341493514936149371493814939149401494114942149431494414945149461494714948149491495014951149521495314954149551495614957149581495914960149611496214963149641496514966149671496814969149701497114972149731497414975149761497714978149791498014981149821498314984149851498614987149881498914990149911499214993149941499514996149971499814999150001500115002150031500415005150061500715008150091501015011150121501315014150151501615017150181501915020150211502215023150241502515026150271502815029150301503115032150331503415035150361503715038150391504015041150421504315044150451504615047150481504915050150511505215053150541505515056150571505815059150601506115062150631506415065150661506715068150691507015071150721507315074150751507615077150781507915080150811508215083150841508515086150871508815089 |
- $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:not(.btn--no-margin),
- .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.table--no-borders > tbody > tr:not(:first-child) > td {
- border-color: transparent;
- }
- .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;
- }
- }
- }
- .checkbox-replacement-readonly {
- padding: 0;
- margin: 0;
- display: flex;
- align-items: center;
- justify-content: center;
- position: relative;
- > .icon {
- vertical-align: middle;
- margin-top: -2px;
- }
- .icon-checkbox-checked-readonly.icon {
- fill: var(--text-muted);
- color: var(--background-primary);
- }
- .icon-checkbox-readonly.icon {
- fill: var(--text-muted);
- }
- }
- .radio-replacement {
- input:focus ~ .icon-checked,
- input:focus ~ .icon-unchecked {
- border-radius: 100%;
- }
- > .icon {
- margin-top: -3px;
- }
- }
- .table .checkbox-replacement,
- .table .checkbox-replacement-readonly,
- .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;
- input:read-only.form-control:not(.js-input, .js-objectSelect) {
- pointer-events: auto;
- cursor: auto;
- }
- }
- &.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);
- @include bidi-style(right, 0, left, $sidebarWidth + $navigationWidth);
- 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);
- @include bidi-style(right, 0, left, $navigationWidth);
- min-width: $minWidth - $sidebarWidth;
- }
- @include desktop {
- @include bidi-style(left, $sidebarWidth + $navigationWidth, right, 0);
- @include bidi-style(right, 0, left, $sidebarWidth + $navigationWidth);
- min-width: $minWidth - $sidebarWidth;
- }
- &.no-sidebar {
- @include bidi-style(left, $navigationWidth, right, 0);
- @include bidi-style(right, 0, left, $navigationWidth);
- min-width: $minWidth - $navigationWidth;
- @include small-desktop {
- min-width: $minWidth;
- }
- }
- @include phone {
- @include bidi-style(left, $mobileNavigationWidth, right, 0);
- @include bidi-style(right, 0, left, $mobileNavigationWidth);
- min-width: 0;
- .navigation.is-not-collapsed ~ .content & {
- @include bidi-style(left, 0, 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);
- }
- .remote-content-message {
- border-top: 1px solid var(--background-modifier-border);
- white-space: normal;
- margin: 10px -20px -10px;
- padding: 10px 20px 10px 40px;
- text-indent: -20px;
- position: relative;
- font-size: 13px;
- cursor: pointer;
- &:hover {
- background-color: var(--background-modifier-hover);
- }
- .icon-danger {
- vertical-align: text-bottom;
- color: var(--text-normal);
- }
- @include phone {
- margin-left: -10px;
- margin-right: -10px;
- padding: 10px 15px 10px 30px;
- }
- }
- .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);
- }
- }
- .zammad-switch-inline-label {
- @extend .inline-label;
- display: flex;
- align-items: center;
- .zammad-switch {
- @include bidi-style(margin-left, 8px, margin-right, 0);
- }
- }
- .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);
- }
- }
- .checklistShowRowContent {
- display: flex;
- align-items: stretch;
- .checklistItemTicketTitle,
- .checklistItemValue {
- flex-grow: 1;
- padding-left: 4px;
- padding-right: 4px;
- padding-top: 10px;
- padding-bottom: 5px; // make sure the value is aligned vertically with the checkbox and the dropdown menu
- word-wrap: break-word;
- overflow-wrap: break-word;
- &.edit-widget-active {
- padding-top: 5px;
- padding-bottom: 3px;
- @include bidi-style(padding-left, 0, padding-right, 4px);
- }
- }
- .checkbox-replacement-readonly,
- .checkbox-replacement {
- width: 40px;
- flex-shrink: 0;
- }
- .checklistItemTicketStateIndicator {
- width: 40px;
- height: 40px;
- flex-shrink: 0;
- display: flex;
- align-items: center;
- justify-content: center;
- }
- .draggable {
- width: 40px;
- height: 28px;
- text-align: center;
- cursor: move;
- flex-shrink: 0;
- display: flex;
- align-items: start;
- justify-content: center;
- margin-top: 12px;
- }
- .draggable:not(.hide) + .checklistItemTicketStateIndicator,
- .draggable:not(.hide) + .checkbox-replacement-readonly {
- width: 20px;
- }
- .dropdown-container {
- flex-shrink: 0;
- .icon-checkmark {
- fill: white;
- }
- }
- }
- .checklistShow .table {
- margin-bottom: 0;
- &:not(.table--no-borders) {
- border-bottom: 1px solid var(--background-modifier-accent);
- }
- > thead > tr > th {
- height: 40px;
- vertical-align: middle;
- padding-top: 4px;
- padding-bottom: 3px;
- }
- > tbody > tr > td {
- vertical-align: middle;
- &.checklistShowRowContentCell {
- height: 40px;
- padding: 0;
- }
- &.checklistShowRowContentCellNoItems {
- height: 40px;
- font-size: 12px;
- text-transform: uppercase;
- text-align: center;
- }
- .icon {
- margin-top: 0;
- }
- }
- }
- .checklistShowButtons {
- display: flex;
- justify-content: space-between;
- padding: 5px;
- .btn {
- margin: 0;
- }
- .btn--create {
- @include ltr(margin-left, auto);
- @include rtl(margin-right, auto);
- }
- }
- .input-group--small {
- height: 30px;
- .input-group-btn {
- .btn--action {
- padding: 0 9px !important;
- }
- .btn--icon-only {
- height: 30px;
- width: 30px;
- .icon {
- height: 10px;
- width: 10px;
- }
- }
- }
- }
- .checklistItemEdit,
- .checklistTitleEdit {
- flex-grow: 1;
- }
- .checklistStart {
- display: flex;
- flex-direction: column;
- row-gap: 8px;
- }
- .checklist-item-container {
- .checklist-item {
- display: flex;
- flex: 0 1 auto;
- align-items: center;
- margin-bottom: 4px;
- padding-left: 6px;
- padding-right: 6px;
- padding-bottom: 5px;
- border-bottom: 1px solid var(--background-modifier-accent);
- &-draggable {
- cursor: move;
- margin-right: 8px;
- margin-left: 8px;
- padding-top: 6px;
- }
- &-text {
- @include ltr(margin-right, 8px);
- @include rtl(margin-left, 8px);
- }
- }
- }
- .checklist-item-add-container {
- display: flex;
- flex-direction: row;
- margin-top: 5px;
- padding-left: 13px;
- padding-right: 13px;
- .checklist-item-add-item-text {
- flex: 1 1 0%;
- @include ltr(margin-right, 8px);
- @include rtl(margin-left, 8px);
- }
- }
- .checklist_item .controls .help-inline {
- padding-left: 13px;
- padding-right: 13px;
- }
- .checklist-item-template {
- display: flex;
- flex: 0 1 auto;
- align-items: center;
- margin-bottom: 4px;
- }
- #form-checklist-template .form-group {
- margin-bottom: 10px;
- }
- #keyboard-shortcut {
- &-switches {
- margin-bottom: 20px;
- }
- &-areas {
- transition: opacity 0.1s;
- &.is-disabled {
- opacity: 0.33;
- }
- }
- }
|