main.scss 70 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083
  1. /* ==================
  2. 初始化
  3. ==================== */
  4. body {
  5. /* Color 可以自定义相关配色 */
  6. /* var属性兼容性 --> https://www.caniuse.com/#feat=css-variables */
  7. /* 标准色 */
  8. --red: #e54d42;
  9. --orange: #f37b1d;
  10. --yellow: #fbbd08;
  11. --olive: #8dc63f;
  12. --green: #39b54a;
  13. --cyan: #1cbbb4;
  14. --blue: #0081ff;
  15. --purple: #6739b6;
  16. --mauve: #9c26b0;
  17. --pink: #e03997;
  18. --brown: #a5673f;
  19. --grey: #8799a3;
  20. --black: #333333;
  21. --darkGray: #666666;
  22. --gray: #aaaaaa;
  23. --ghostWhite: #f1f1f1;
  24. --white: #ffffff;
  25. /* 浅色 */
  26. --redLight: #fadbd9;
  27. --orangeLight: #fde6d2;
  28. --yellowLight: #fef2ce;
  29. --oliveLight: #e8f4d9;
  30. --greenLight: #d7f0db;
  31. --cyanLight: #d2f1f0;
  32. --blueLight: #cce6ff;
  33. --purpleLight: #e1d7f0;
  34. --mauveLight: #ebd4ef;
  35. --pinkLight: #f9d7ea;
  36. --brownLight: #ede1d9;
  37. --greyLight: #e7ebed;
  38. /* 渐变色 */
  39. --gradualRed: linear-gradient(45deg, #f43f3b, #ec008c);
  40. --gradualOrange: linear-gradient(45deg, #ff9700, #ed1c24);
  41. --gradualGreen: linear-gradient(45deg, #39b54a, #8dc63f);
  42. --gradualPurple: linear-gradient(45deg, #9000ff, #5e00ff);
  43. --gradualPink: linear-gradient(45deg, #ec008c, #6739b6);
  44. --gradualBlue: linear-gradient(45deg, #0081ff, #1cbbb4);
  45. /* 阴影透明色 */
  46. --ShadowSize: 6upx 6upx 8upx;
  47. --redShadow: rgba(204, 69, 59, 0.2);
  48. --orangeShadow: rgba(217, 109, 26, 0.2);
  49. --yellowShadow: rgba(224, 170, 7, 0.2);
  50. --oliveShadow: rgba(124, 173, 55, 0.2);
  51. --greenShadow: rgba(48, 156, 63, 0.2);
  52. --cyanShadow: rgba(28, 187, 180, 0.2);
  53. --blueShadow: rgba(0, 102, 204, 0.2);
  54. --purpleShadow: rgba(88, 48, 156, 0.2);
  55. --mauveShadow: rgba(133, 33, 150, 0.2);
  56. --pinkShadow: rgba(199, 50, 134, 0.2);
  57. --brownShadow: rgba(140, 88, 53, 0.2);
  58. --greyShadow: rgba(114, 130, 138, 0.2);
  59. --grayShadow: rgba(114, 130, 138, 0.2);
  60. --blackShadow: rgba(26, 26, 26, 0.2);
  61. background-color: var(--ghostWhite);
  62. font-size: 28upx;
  63. color: var(--black);
  64. font-family: Helvetica Neue, Helvetica, sans-serif;
  65. }
  66. div,
  67. scroll-view,
  68. swiper,
  69. button,
  70. input,
  71. textarea,
  72. label,
  73. navigator,
  74. image {
  75. box-sizing: border-box;
  76. }
  77. .round {
  78. border-radius: 5000upx;
  79. }
  80. .radius {
  81. border-radius: 6upx;
  82. }
  83. /* ==================
  84. 图片
  85. ==================== */
  86. image {
  87. max-width: 100%;
  88. display: inline-block;
  89. position: relative;
  90. z-index: 0;
  91. }
  92. image.loading::before {
  93. content: '';
  94. background-color: #f5f5f5;
  95. display: block;
  96. position: absolute;
  97. width: 100%;
  98. height: 100%;
  99. z-index: -2;
  100. }
  101. image.loading::after {
  102. content: '\e7f1';
  103. font-family: 'cuIcon';
  104. position: absolute;
  105. top: 0;
  106. left: 0;
  107. width: 32upx;
  108. height: 32upx;
  109. line-height: 32upx;
  110. right: 0;
  111. bottom: 0;
  112. z-index: -1;
  113. font-size: 32upx;
  114. margin: auto;
  115. color: #ccc;
  116. -webkit-animation: cuIcon-spin 2s infinite linear;
  117. animation: cuIcon-spin 2s infinite linear;
  118. display: block;
  119. }
  120. .response {
  121. width: 100%;
  122. }
  123. /* ==================
  124. 开关
  125. ==================== */
  126. switch,
  127. checkbox,
  128. radio {
  129. position: relative;
  130. }
  131. switch::after,
  132. switch::before {
  133. font-family: 'cuIcon';
  134. content: '\e645';
  135. position: absolute;
  136. color: var(--white) !important;
  137. top: 0%;
  138. left: 0upx;
  139. font-size: 26upx;
  140. line-height: 26px;
  141. width: 50%;
  142. text-align: center;
  143. pointer-events: none;
  144. transform: scale(0, 0);
  145. transition: all 0.3s ease-in-out 0s;
  146. z-index: 9;
  147. bottom: 0;
  148. height: 26px;
  149. margin: auto;
  150. }
  151. switch::before {
  152. content: '\e646';
  153. right: 0;
  154. transform: scale(1, 1);
  155. left: auto;
  156. }
  157. switch[checked]::after,
  158. switch.checked::after {
  159. transform: scale(1, 1);
  160. }
  161. switch[checked]::before,
  162. switch.checked::before {
  163. transform: scale(0, 0);
  164. }
  165. /* #ifndef MP-ALIPAY */
  166. radio::before,
  167. checkbox::before {
  168. font-family: 'cuIcon';
  169. content: '\e645';
  170. position: absolute;
  171. color: var(--white) !important;
  172. top: 50%;
  173. margin-top: -8px;
  174. right: 5px;
  175. font-size: 32upx;
  176. line-height: 16px;
  177. pointer-events: none;
  178. transform: scale(1, 1);
  179. transition: all 0.3s ease-in-out 0s;
  180. z-index: 9;
  181. }
  182. radio .wx-radio-input,
  183. checkbox .wx-checkbox-input,
  184. radio .uni-radio-input,
  185. checkbox .uni-checkbox-input {
  186. margin: 0;
  187. width: 24px;
  188. height: 24px;
  189. }
  190. checkbox.round .wx-checkbox-input,
  191. checkbox.round .uni-checkbox-input {
  192. border-radius: 100upx;
  193. }
  194. /* #endif */
  195. switch[checked]::before {
  196. transform: scale(0, 0);
  197. }
  198. switch .wx-switch-input,
  199. switch .uni-switch-input {
  200. border: none;
  201. padding: 0 24px;
  202. width: 48px;
  203. height: 26px;
  204. margin: 0;
  205. border-radius: 100upx;
  206. }
  207. switch .wx-switch-input:not([class*='bg-']),
  208. switch .uni-switch-input:not([class*='bg-']) {
  209. background: var(--grey) !important;
  210. }
  211. switch .wx-switch-input::after,
  212. switch .uni-switch-input::after {
  213. margin: auto;
  214. width: 26px;
  215. height: 26px;
  216. border-radius: 100upx;
  217. left: 0upx;
  218. top: 0upx;
  219. bottom: 0upx;
  220. position: absolute;
  221. transform: scale(0.9, 0.9);
  222. transition: all 0.1s ease-in-out 0s;
  223. }
  224. switch .wx-switch-input.wx-switch-input-checked::after,
  225. switch .uni-switch-input.uni-switch-input-checked::after {
  226. margin: auto;
  227. left: 22px;
  228. box-shadow: none;
  229. transform: scale(0.9, 0.9);
  230. }
  231. radio-group {
  232. display: inline-block;
  233. }
  234. switch.radius .wx-switch-input::after,
  235. switch.radius .wx-switch-input,
  236. switch.radius .wx-switch-input::before,
  237. switch.radius .uni-switch-input::after,
  238. switch.radius .uni-switch-input,
  239. switch.radius .uni-switch-input::before {
  240. border-radius: 10upx;
  241. }
  242. switch .wx-switch-input::before,
  243. radio.radio::before,
  244. checkbox .wx-checkbox-input::before,
  245. radio .wx-radio-input::before,
  246. switch .uni-switch-input::before,
  247. radio.radio::before,
  248. checkbox .uni-checkbox-input::before,
  249. radio .uni-radio-input::before {
  250. display: none;
  251. }
  252. radio.radio[checked]::after,
  253. radio.radio .uni-radio-input-checked::after {
  254. content: '';
  255. background-color: transparent;
  256. display: block;
  257. position: absolute;
  258. width: 8px;
  259. height: 8px;
  260. z-index: 999;
  261. top: 0upx;
  262. left: 0upx;
  263. right: 0;
  264. bottom: 0;
  265. margin: auto;
  266. border-radius: 200upx;
  267. /* #ifndef MP */
  268. border: 7px solid var(--white) !important;
  269. /* #endif */
  270. /* #ifdef MP */
  271. border: 8px solid var(--white) !important;
  272. /* #endif */
  273. }
  274. .switch-sex::after {
  275. content: '\e71c';
  276. }
  277. .switch-sex::before {
  278. content: '\e71a';
  279. }
  280. .switch-sex .wx-switch-input,
  281. .switch-sex .uni-switch-input {
  282. background: var(--red) !important;
  283. border-color: var(--red) !important;
  284. }
  285. .switch-sex[checked] .wx-switch-input,
  286. .switch-sex.checked .uni-switch-input {
  287. background: var(--blue) !important;
  288. border-color: var(--blue) !important;
  289. }
  290. switch.red[checked] .wx-switch-input,
  291. checkbox.red[checked] .wx-checkbox-input,
  292. radio.red[checked] .wx-radio-input,
  293. switch.red.checked .uni-switch-input,
  294. checkbox.red.checked .uni-checkbox-input,
  295. radio.red.checked .uni-radio-input {
  296. border-color: var(--red) !important;
  297. }
  298. switch.orange[checked] .wx-switch-input,
  299. switch.orange.checked .uni-switch-input,
  300. checkbox.orange[checked] .wx-checkbox-input,
  301. checkbox.orange.checked .uni-checkbox-input,
  302. radio.orange[checked] .wx-radio-input,
  303. radio.orange.checked .uni-radio-input {
  304. border-color: var(--orange) !important;
  305. }
  306. switch.yellow[checked] .wx-switch-input,
  307. switch.yellow.checked .uni-switch-input,
  308. checkbox.yellow[checked] .wx-checkbox-input,
  309. checkbox.yellow.checked .uni-checkbox-input,
  310. radio.yellow[checked] .wx-radio-input,
  311. radio.yellow.checked .uni-radio-input {
  312. border-color: var(--yellow) !important;
  313. }
  314. switch.olive[checked] .wx-switch-input,
  315. switch.olive.checked .uni-switch-input,
  316. checkbox.olive[checked] .wx-checkbox-input,
  317. checkbox.olive.checked .uni-checkbox-input,
  318. radio.olive[checked] .wx-radio-input,
  319. radio.olive.checked .uni-radio-input {
  320. border-color: var(--olive) !important;
  321. }
  322. switch.green[checked] .wx-switch-input,
  323. checkbox.green[checked] .wx-checkbox-input,
  324. checkbox[checked] .wx-checkbox-input,
  325. radio.green[checked] .wx-radio-input,
  326. switch.green.checked .uni-switch-input,
  327. checkbox.green.checked .uni-checkbox-input,
  328. checkbox.checked .uni-checkbox-input,
  329. radio.green.checked .uni-radio-input,
  330. radio.checked .uni-radio-input {
  331. border-color: var(--green) !important;
  332. }
  333. switch.cyan[checked] .wx-switch-input,
  334. checkbox.cyan[checked] .wx-checkbox-input,
  335. radio.cyan[checked] .wx-radio-input,
  336. switch.cyan.checked .uni-switch-input,
  337. checkbox.cyan.checked .uni-checkbox-input,
  338. radio.cyan.checked .uni-radio-input {
  339. border-color: var(--cyan) !important;
  340. }
  341. switch.blue[checked] .wx-switch-input,
  342. checkbox.blue[checked] .wx-checkbox-input,
  343. radio.blue[checked] .wx-radio-input,
  344. switch.blue.checked .uni-switch-input,
  345. checkbox.blue.checked .uni-checkbox-input,
  346. radio.blue.checked .uni-radio-input {
  347. border-color: var(--blue) !important;
  348. }
  349. switch.purple[checked] .wx-switch-input,
  350. checkbox.purple[checked] .wx-checkbox-input,
  351. radio.purple[checked] .wx-radio-input,
  352. switch.purple.checked .uni-switch-input,
  353. checkbox.purple.checked .uni-checkbox-input,
  354. radio.purple.checked .uni-radio-input {
  355. border-color: var(--purple) !important;
  356. }
  357. switch.mauve[checked] .wx-switch-input,
  358. checkbox.mauve[checked] .wx-checkbox-input,
  359. radio.mauve[checked] .wx-radio-input,
  360. switch.mauve.checked .uni-switch-input,
  361. checkbox.mauve.checked .uni-checkbox-input,
  362. radio.mauve.checked .uni-radio-input {
  363. border-color: var(--mauve) !important;
  364. }
  365. switch.pink[checked] .wx-switch-input,
  366. checkbox.pink[checked] .wx-checkbox-input,
  367. radio.pink[checked] .wx-radio-input,
  368. switch.pink.checked .uni-switch-input,
  369. checkbox.pink.checked .uni-checkbox-input,
  370. radio.pink.checked .uni-radio-input {
  371. border-color: var(--pink) !important;
  372. }
  373. switch.brown[checked] .wx-switch-input,
  374. checkbox.brown[checked] .wx-checkbox-input,
  375. radio.brown[checked] .wx-radio-input,
  376. switch.brown.checked .uni-switch-input,
  377. checkbox.brown.checked .uni-checkbox-input,
  378. radio.brown.checked .uni-radio-input {
  379. border-color: var(--brown) !important;
  380. }
  381. switch.grey[checked] .wx-switch-input,
  382. checkbox.grey[checked] .wx-checkbox-input,
  383. radio.grey[checked] .wx-radio-input,
  384. switch.grey.checked .uni-switch-input,
  385. checkbox.grey.checked .uni-checkbox-input,
  386. radio.grey.checked .uni-radio-input {
  387. border-color: var(--grey) !important;
  388. }
  389. switch.gray[checked] .wx-switch-input,
  390. checkbox.gray[checked] .wx-checkbox-input,
  391. radio.gray[checked] .wx-radio-input,
  392. switch.gray.checked .uni-switch-input,
  393. checkbox.gray.checked .uni-checkbox-input,
  394. radio.gray.checked .uni-radio-input {
  395. border-color: var(--grey) !important;
  396. }
  397. switch.black[checked] .wx-switch-input,
  398. checkbox.black[checked] .wx-checkbox-input,
  399. radio.black[checked] .wx-radio-input,
  400. switch.black.checked .uni-switch-input,
  401. checkbox.black.checked .uni-checkbox-input,
  402. radio.black.checked .uni-radio-input {
  403. border-color: var(--black) !important;
  404. }
  405. switch.white[checked] .wx-switch-input,
  406. checkbox.white[checked] .wx-checkbox-input,
  407. radio.white[checked] .wx-radio-input,
  408. switch.white.checked .uni-switch-input,
  409. checkbox.white.checked .uni-checkbox-input,
  410. radio.white.checked .uni-radio-input {
  411. border-color: var(--white) !important;
  412. }
  413. switch.red[checked] .wx-switch-input.wx-switch-input-checked,
  414. checkbox.red[checked] .wx-checkbox-input,
  415. radio.red[checked] .wx-radio-input,
  416. switch.red.checked .uni-switch-input.uni-switch-input-checked,
  417. checkbox.red.checked .uni-checkbox-input,
  418. radio.red.checked .uni-radio-input {
  419. background-color: var(--red) !important;
  420. color: var(--white) !important;
  421. }
  422. switch.orange[checked] .wx-switch-input,
  423. checkbox.orange[checked] .wx-checkbox-input,
  424. radio.orange[checked] .wx-radio-input,
  425. switch.orange.checked .uni-switch-input,
  426. checkbox.orange.checked .uni-checkbox-input,
  427. radio.orange.checked .uni-radio-input {
  428. background-color: var(--orange) !important;
  429. color: var(--white) !important;
  430. }
  431. switch.yellow[checked] .wx-switch-input,
  432. checkbox.yellow[checked] .wx-checkbox-input,
  433. radio.yellow[checked] .wx-radio-input,
  434. switch.yellow.checked .uni-switch-input,
  435. checkbox.yellow.checked .uni-checkbox-input,
  436. radio.yellow.checked .uni-radio-input {
  437. background-color: var(--yellow) !important;
  438. color: var(--black) !important;
  439. }
  440. switch.olive[checked] .wx-switch-input,
  441. checkbox.olive[checked] .wx-checkbox-input,
  442. radio.olive[checked] .wx-radio-input,
  443. switch.olive.checked .uni-switch-input,
  444. checkbox.olive.checked .uni-checkbox-input,
  445. radio.olive.checked .uni-radio-input {
  446. background-color: var(--olive) !important;
  447. color: var(--white) !important;
  448. }
  449. switch.green[checked] .wx-switch-input,
  450. switch[checked] .wx-switch-input,
  451. checkbox.green[checked] .wx-checkbox-input,
  452. checkbox[checked] .wx-checkbox-input,
  453. radio.green[checked] .wx-radio-input,
  454. radio[checked] .wx-radio-input,
  455. switch.green.checked .uni-switch-input,
  456. switch.checked .uni-switch-input,
  457. checkbox.green.checked .uni-checkbox-input,
  458. checkbox.checked .uni-checkbox-input,
  459. radio.green.checked .uni-radio-input,
  460. radio.checked .uni-radio-input {
  461. background-color: var(--green) !important;
  462. color: var(--white) !important;
  463. }
  464. switch.cyan[checked] .wx-switch-input,
  465. checkbox.cyan[checked] .wx-checkbox-input,
  466. radio.cyan[checked] .wx-radio-input,
  467. switch.cyan.checked .uni-switch-input,
  468. checkbox.cyan.checked .uni-checkbox-input,
  469. radio.cyan.checked .uni-radio-input {
  470. background-color: var(--cyan) !important;
  471. color: var(--white) !important;
  472. }
  473. switch.blue[checked] .wx-switch-input,
  474. checkbox.blue[checked] .wx-checkbox-input,
  475. radio.blue[checked] .wx-radio-input,
  476. switch.blue.checked .uni-switch-input,
  477. checkbox.blue.checked .uni-checkbox-input,
  478. radio.blue.checked .uni-radio-input {
  479. background-color: var(--blue) !important;
  480. color: var(--white) !important;
  481. }
  482. switch.purple[checked] .wx-switch-input,
  483. checkbox.purple[checked] .wx-checkbox-input,
  484. radio.purple[checked] .wx-radio-input,
  485. switch.purple.checked .uni-switch-input,
  486. checkbox.purple.checked .uni-checkbox-input,
  487. radio.purple.checked .uni-radio-input {
  488. background-color: var(--purple) !important;
  489. color: var(--white) !important;
  490. }
  491. switch.mauve[checked] .wx-switch-input,
  492. checkbox.mauve[checked] .wx-checkbox-input,
  493. radio.mauve[checked] .wx-radio-input,
  494. switch.mauve.checked .uni-switch-input,
  495. checkbox.mauve.checked .uni-checkbox-input,
  496. radio.mauve.checked .uni-radio-input {
  497. background-color: var(--mauve) !important;
  498. color: var(--white) !important;
  499. }
  500. switch.pink[checked] .wx-switch-input,
  501. checkbox.pink[checked] .wx-checkbox-input,
  502. radio.pink[checked] .wx-radio-input,
  503. switch.pink.checked .uni-switch-input,
  504. checkbox.pink.checked .uni-checkbox-input,
  505. radio.pink.checked .uni-radio-input {
  506. background-color: var(--pink) !important;
  507. color: var(--white) !important;
  508. }
  509. switch.brown[checked] .wx-switch-input,
  510. checkbox.brown[checked] .wx-checkbox-input,
  511. radio.brown[checked] .wx-radio-input,
  512. switch.brown.checked .uni-switch-input,
  513. checkbox.brown.checked .uni-checkbox-input,
  514. radio.brown.checked .uni-radio-input {
  515. background-color: var(--brown) !important;
  516. color: var(--white) !important;
  517. }
  518. switch.grey[checked] .wx-switch-input,
  519. checkbox.grey[checked] .wx-checkbox-input,
  520. radio.grey[checked] .wx-radio-input,
  521. switch.grey.checked .uni-switch-input,
  522. checkbox.grey.checked .uni-checkbox-input,
  523. radio.grey.checked .uni-radio-input {
  524. background-color: var(--grey) !important;
  525. color: var(--white) !important;
  526. }
  527. switch.gray[checked] .wx-switch-input,
  528. checkbox.gray[checked] .wx-checkbox-input,
  529. radio.gray[checked] .wx-radio-input,
  530. switch.gray.checked .uni-switch-input,
  531. checkbox.gray.checked .uni-checkbox-input,
  532. radio.gray.checked .uni-radio-input {
  533. background-color: #f0f0f0 !important;
  534. color: var(--darkGray) !important;
  535. }
  536. switch.black[checked] .wx-switch-input,
  537. checkbox.black[checked] .wx-checkbox-input,
  538. radio.black[checked] .wx-radio-input,
  539. switch.black.checked .uni-switch-input,
  540. checkbox.black.checked .uni-checkbox-input,
  541. radio.black.checked .uni-radio-input {
  542. background-color: var(--black) !important;
  543. color: var(--white) !important;
  544. }
  545. switch.white[checked] .wx-switch-input,
  546. checkbox.white[checked] .wx-checkbox-input,
  547. radio.white[checked] .wx-radio-input,
  548. switch.white.checked .uni-switch-input,
  549. checkbox.white.checked .uni-checkbox-input,
  550. radio.white.checked .uni-radio-input {
  551. background-color: var(--white) !important;
  552. color: var(--darkGray) !important;
  553. }
  554. /* ==================
  555. 边框
  556. ==================== */
  557. /* -- 实线 -- */
  558. .solid,
  559. .solid-top,
  560. .solid-right,
  561. .solid-bottom,
  562. .solid-left,
  563. .solids,
  564. .solids-top,
  565. .solids-right,
  566. .solids-bottom,
  567. .solids-left,
  568. .dashed,
  569. .dashed-top,
  570. .dashed-right,
  571. .dashed-bottom,
  572. .dashed-left {
  573. position: relative;
  574. }
  575. .solid::after,
  576. .solid-top::after,
  577. .solid-right::after,
  578. .solid-bottom::after,
  579. .solid-left::after,
  580. .solids::after,
  581. .solids-top::after,
  582. .solids-right::after,
  583. .solids-bottom::after,
  584. .solids-left::after,
  585. .dashed::after,
  586. .dashed-top::after,
  587. .dashed-right::after,
  588. .dashed-bottom::after,
  589. .dashed-left::after {
  590. content: ' ';
  591. width: 200%;
  592. height: 200%;
  593. position: absolute;
  594. top: 0;
  595. left: 0;
  596. border-radius: inherit;
  597. transform: scale(0.5);
  598. transform-origin: 0 0;
  599. pointer-events: none;
  600. box-sizing: border-box;
  601. }
  602. .solid::after {
  603. border: 1upx solid rgba(0, 0, 0, 0.1);
  604. }
  605. .solid-top::after {
  606. border-top: 1upx solid rgba(0, 0, 0, 0.1);
  607. }
  608. .solid-right::after {
  609. border-right: 1upx solid rgba(0, 0, 0, 0.1);
  610. }
  611. .solid-bottom::after {
  612. border-bottom: 1upx solid rgba(0, 0, 0, 0.1);
  613. }
  614. .solid-left::after {
  615. border-left: 1upx solid rgba(0, 0, 0, 0.1);
  616. }
  617. .solids::after {
  618. border: 8upx solid #eee;
  619. }
  620. .solids-top::after {
  621. border-top: 8upx solid #eee;
  622. }
  623. .solids-right::after {
  624. border-right: 8upx solid #eee;
  625. }
  626. .solids-bottom::after {
  627. border-bottom: 8upx solid #eee;
  628. }
  629. .solids-left::after {
  630. border-left: 8upx solid #eee;
  631. }
  632. /* -- 虚线 -- */
  633. .dashed::after {
  634. border: 1upx dashed #ddd;
  635. }
  636. .dashed-top::after {
  637. border-top: 1upx dashed #ddd;
  638. }
  639. .dashed-right::after {
  640. border-right: 1upx dashed #ddd;
  641. }
  642. .dashed-bottom::after {
  643. border-bottom: 1upx dashed #ddd;
  644. }
  645. .dashed-left::after {
  646. border-left: 1upx dashed #ddd;
  647. }
  648. /* -- 阴影 -- */
  649. .shadow {
  650. --ShadowSize: 0 1upx 6upx;
  651. }
  652. .shadow-lg {
  653. --ShadowSize: 0upx 40upx 100upx 0upx;
  654. }
  655. .shadow-warp {
  656. position: relative;
  657. box-shadow: 0 0 10upx rgba(0, 0, 0, 0.1);
  658. }
  659. .shadow-warp:before,
  660. .shadow-warp:after {
  661. position: absolute;
  662. content: '';
  663. top: 20upx;
  664. bottom: 30upx;
  665. left: 20upx;
  666. width: 50%;
  667. box-shadow: 0 30upx 20upx rgba(0, 0, 0, 0.2);
  668. transform: rotate(-3deg);
  669. z-index: -1;
  670. }
  671. .shadow-warp:after {
  672. right: 20upx;
  673. left: auto;
  674. transform: rotate(3deg);
  675. }
  676. .shadow-blur {
  677. position: relative;
  678. }
  679. .shadow-blur::before {
  680. content: '';
  681. display: block;
  682. background: inherit;
  683. filter: blur(10upx);
  684. position: absolute;
  685. width: 100%;
  686. height: 100%;
  687. top: 10upx;
  688. left: 10upx;
  689. z-index: -1;
  690. opacity: 0.4;
  691. transform-origin: 0 0;
  692. border-radius: inherit;
  693. transform: scale(1, 1);
  694. }
  695. /* ==================
  696. 按钮
  697. ==================== */
  698. .cu-btn {
  699. position: relative;
  700. border: 0upx;
  701. display: inline-flex;
  702. align-items: center;
  703. justify-content: center;
  704. box-sizing: border-box;
  705. padding: 0 30upx;
  706. font-size: 28upx;
  707. height: 64upx;
  708. line-height: 1;
  709. text-align: center;
  710. text-decoration: none;
  711. overflow: visible;
  712. margin-left: initial;
  713. transform: translate(0upx, 0upx);
  714. margin-right: initial;
  715. }
  716. .cu-btn::after {
  717. display: none;
  718. }
  719. .cu-btn:not([class*='bg-']) {
  720. background-color: #f0f0f0;
  721. }
  722. .cu-btn[class*='line'] {
  723. background-color: transparent;
  724. }
  725. .cu-btn[class*='line']::after {
  726. content: ' ';
  727. display: block;
  728. width: 200%;
  729. height: 200%;
  730. position: absolute;
  731. top: 0;
  732. left: 0;
  733. border: 1upx solid currentColor;
  734. transform: scale(0.5);
  735. transform-origin: 0 0;
  736. box-sizing: border-box;
  737. border-radius: 12upx;
  738. z-index: 1;
  739. pointer-events: none;
  740. }
  741. .cu-btn.round[class*='line']::after {
  742. border-radius: 1000upx;
  743. }
  744. .cu-btn[class*='lines']::after {
  745. border: 6upx solid currentColor;
  746. }
  747. .cu-btn[class*='bg-']::after {
  748. display: none;
  749. }
  750. .cu-btn.sm {
  751. padding: 0 20upx;
  752. font-size: 20upx;
  753. height: 48upx;
  754. }
  755. .cu-btn.lg {
  756. padding: 0 40upx;
  757. font-size: 32upx;
  758. height: 80upx;
  759. }
  760. .cu-btn.icon.sm {
  761. width: 48upx;
  762. height: 48upx;
  763. }
  764. .cu-btn.icon {
  765. width: 64upx;
  766. height: 64upx;
  767. border-radius: 500upx;
  768. padding: 0;
  769. }
  770. button.icon.lg {
  771. width: 80upx;
  772. height: 80upx;
  773. }
  774. .cu-btn.shadow-blur::before {
  775. top: 4upx;
  776. left: 4upx;
  777. filter: blur(6upx);
  778. opacity: 0.6;
  779. }
  780. .cu-btn.button-hover {
  781. transform: translate(1upx, 1upx);
  782. }
  783. .block {
  784. display: block;
  785. }
  786. .cu-btn.block {
  787. display: flex;
  788. }
  789. .cu-btn[disabled] {
  790. opacity: 0.6;
  791. color: var(--white);
  792. }
  793. /* ==================
  794. 徽章
  795. ==================== */
  796. .cu-tag {
  797. font-size: 24upx;
  798. vertical-align: middle;
  799. position: relative;
  800. display: inline-flex;
  801. align-items: center;
  802. justify-content: center;
  803. box-sizing: border-box;
  804. padding: 0upx 16upx;
  805. height: 48upx;
  806. font-family: Helvetica Neue, Helvetica, sans-serif;
  807. white-space: nowrap;
  808. }
  809. .cu-tag:not([class*='bg']):not([class*='line']) {
  810. background-color: var(--ghostWhite);
  811. }
  812. .cu-tag[class*='line-']::after {
  813. content: ' ';
  814. width: 200%;
  815. height: 200%;
  816. position: absolute;
  817. top: 0;
  818. left: 0;
  819. border: 1upx solid currentColor;
  820. transform: scale(0.5);
  821. transform-origin: 0 0;
  822. box-sizing: border-box;
  823. border-radius: inherit;
  824. z-index: 1;
  825. pointer-events: none;
  826. }
  827. .cu-tag.radius[class*='line']::after {
  828. border-radius: 12upx;
  829. }
  830. .cu-tag.round[class*='line']::after {
  831. border-radius: 1000upx;
  832. }
  833. .cu-tag[class*='line-']::after {
  834. border-radius: 0;
  835. }
  836. .cu-tag + .cu-tag {
  837. margin-left: 10upx;
  838. }
  839. .cu-tag.sm {
  840. font-size: 20upx;
  841. padding: 0upx 12upx;
  842. height: 32upx;
  843. }
  844. .cu-capsule {
  845. display: inline-flex;
  846. vertical-align: middle;
  847. }
  848. .cu-capsule + .cu-capsule {
  849. margin-left: 10upx;
  850. }
  851. .cu-capsule .cu-tag {
  852. margin: 0;
  853. }
  854. .cu-capsule .cu-tag[class*='line-']:last-child::after {
  855. border-left: 0upx solid transparent;
  856. }
  857. .cu-capsule .cu-tag[class*='line-']:first-child::after {
  858. border-right: 0upx solid transparent;
  859. }
  860. .cu-capsule.radius .cu-tag:first-child {
  861. border-top-left-radius: 6upx;
  862. border-bottom-left-radius: 6upx;
  863. }
  864. .cu-capsule.radius .cu-tag:last-child::after,
  865. .cu-capsule.radius .cu-tag[class*='line-'] {
  866. border-top-right-radius: 12upx;
  867. border-bottom-right-radius: 12upx;
  868. }
  869. .cu-capsule.round .cu-tag:first-child {
  870. border-top-left-radius: 200upx;
  871. border-bottom-left-radius: 200upx;
  872. text-indent: 4upx;
  873. }
  874. .cu-capsule.round .cu-tag:last-child::after,
  875. .cu-capsule.round .cu-tag:last-child {
  876. border-top-right-radius: 200upx;
  877. border-bottom-right-radius: 200upx;
  878. text-indent: -4upx;
  879. }
  880. .cu-tag.badge {
  881. border-radius: 200upx;
  882. position: absolute;
  883. top: -10upx;
  884. right: -10upx;
  885. font-size: 20upx;
  886. padding: 0upx 10upx;
  887. height: 28upx;
  888. color: var(--white);
  889. }
  890. .cu-tag.badge:not([class*='bg-']) {
  891. background-color: #dd514c;
  892. }
  893. .cu-tag:empty:not([class*='cuIcon-']) {
  894. padding: 0upx;
  895. width: 16upx;
  896. height: 16upx;
  897. top: -4upx;
  898. right: -4upx;
  899. }
  900. .cu-tag[class*='cuIcon-'] {
  901. width: 32upx;
  902. height: 32upx;
  903. top: -4upx;
  904. right: -4upx;
  905. }
  906. /* ==================
  907. 头像
  908. ==================== */
  909. .cu-avatar {
  910. font-variant: small-caps;
  911. margin: 0;
  912. padding: 0;
  913. display: inline-flex;
  914. text-align: center;
  915. justify-content: center;
  916. align-items: center;
  917. background-color: #ccc;
  918. color: var(--white);
  919. white-space: nowrap;
  920. position: relative;
  921. width: 64upx;
  922. height: 64upx;
  923. background-size: cover;
  924. background-position: center;
  925. vertical-align: middle;
  926. font-size: 1.5em;
  927. }
  928. .cu-avatar.sm {
  929. width: 48upx;
  930. height: 48upx;
  931. font-size: 1em;
  932. }
  933. .cu-avatar.lg {
  934. width: 96upx;
  935. height: 96upx;
  936. font-size: 2em;
  937. }
  938. .cu-avatar.xl {
  939. width: 128upx;
  940. height: 128upx;
  941. font-size: 2.5em;
  942. }
  943. .cu-avatar .avatar-text {
  944. font-size: 0.4em;
  945. }
  946. .cu-avatar-group {
  947. direction: rtl;
  948. unicode-bidi: bidi-override;
  949. padding: 0 10upx 0 40upx;
  950. display: inline-block;
  951. }
  952. .cu-avatar-group .cu-avatar {
  953. margin-left: -30upx;
  954. border: 4upx solid var(--ghostWhite);
  955. vertical-align: middle;
  956. }
  957. .cu-avatar-group .cu-avatar.sm {
  958. margin-left: -20upx;
  959. border: 1upx solid var(--ghostWhite);
  960. }
  961. /* ==================
  962. 进度条
  963. ==================== */
  964. .cu-progress {
  965. overflow: hidden;
  966. height: 28upx;
  967. background-color: #ebeef5;
  968. display: inline-flex;
  969. align-items: center;
  970. width: 100%;
  971. }
  972. .cu-progress + div,
  973. .cu-progress + text {
  974. line-height: 1;
  975. }
  976. .cu-progress.xs {
  977. height: 10upx;
  978. }
  979. .cu-progress.sm {
  980. height: 20upx;
  981. }
  982. .cu-progress div {
  983. width: 0;
  984. height: 100%;
  985. align-items: center;
  986. display: flex;
  987. justify-items: flex-end;
  988. justify-content: space-around;
  989. font-size: 20upx;
  990. color: var(--white);
  991. transition: width 0.6s ease;
  992. }
  993. .cu-progress text {
  994. align-items: center;
  995. display: flex;
  996. font-size: 20upx;
  997. color: var(--darkGray);
  998. text-indent: 10upx;
  999. }
  1000. .cu-progress.text-progress {
  1001. padding-right: 60upx;
  1002. }
  1003. .cu-progress.striped div {
  1004. background-image: linear-gradient(
  1005. 45deg,
  1006. rgba(255, 255, 255, 0.15) 25%,
  1007. transparent 25%,
  1008. transparent 50%,
  1009. rgba(255, 255, 255, 0.15) 50%,
  1010. rgba(255, 255, 255, 0.15) 75%,
  1011. transparent 75%,
  1012. transparent
  1013. );
  1014. background-size: 72upx 72upx;
  1015. }
  1016. .cu-progress.active div {
  1017. animation: progress-stripes 2s linear infinite;
  1018. }
  1019. @keyframes progress-stripes {
  1020. from {
  1021. background-position: 72upx 0;
  1022. }
  1023. to {
  1024. background-position: 0 0;
  1025. }
  1026. }
  1027. /* ==================
  1028. 加载
  1029. ==================== */
  1030. .cu-load {
  1031. display: block;
  1032. line-height: 3em;
  1033. text-align: center;
  1034. }
  1035. .cu-load::before {
  1036. font-family: 'cuIcon';
  1037. display: inline-block;
  1038. margin-right: 6upx;
  1039. }
  1040. .cu-load.loading::before {
  1041. content: '\e67a';
  1042. animation: cuIcon-spin 2s infinite linear;
  1043. }
  1044. .cu-load.loading::after {
  1045. content: '加载中...';
  1046. }
  1047. .cu-load.over::before {
  1048. content: '\e64a';
  1049. }
  1050. .cu-load.over::after {
  1051. content: '没有更多了';
  1052. }
  1053. .cu-load.erro::before {
  1054. content: '\e658';
  1055. }
  1056. .cu-load.erro::after {
  1057. content: '加载失败';
  1058. }
  1059. .cu-load.load-icon::before {
  1060. font-size: 32upx;
  1061. }
  1062. .cu-load.load-icon::after {
  1063. display: none;
  1064. }
  1065. .cu-load.load-icon.over {
  1066. display: none;
  1067. }
  1068. .cu-load.load-modal {
  1069. position: fixed;
  1070. top: 0;
  1071. right: 0;
  1072. bottom: 140upx;
  1073. left: 0;
  1074. margin: auto;
  1075. width: 260upx;
  1076. height: 260upx;
  1077. background-color: var(--white);
  1078. border-radius: 10upx;
  1079. box-shadow: 0 0 0upx 2000upx rgba(0, 0, 0, 0.5);
  1080. display: flex;
  1081. align-items: center;
  1082. flex-direction: column;
  1083. justify-content: center;
  1084. font-size: 28upx;
  1085. z-index: 9999;
  1086. line-height: 2.4em;
  1087. }
  1088. .cu-load.load-modal [class*='cuIcon-'] {
  1089. font-size: 60upx;
  1090. }
  1091. .cu-load.load-modal image {
  1092. width: 70upx;
  1093. height: 70upx;
  1094. }
  1095. .cu-load.load-modal::after {
  1096. content: '';
  1097. position: absolute;
  1098. background-color: var(--white);
  1099. border-radius: 50%;
  1100. width: 200upx;
  1101. height: 200upx;
  1102. font-size: 10px;
  1103. border-top: 6upx solid rgba(0, 0, 0, 0.05);
  1104. border-right: 6upx solid rgba(0, 0, 0, 0.05);
  1105. border-bottom: 6upx solid rgba(0, 0, 0, 0.05);
  1106. border-left: 6upx solid var(--orange);
  1107. animation: cuIcon-spin 1s infinite linear;
  1108. z-index: -1;
  1109. }
  1110. .load-progress {
  1111. pointer-events: none;
  1112. top: 0;
  1113. position: fixed;
  1114. width: 100%;
  1115. left: 0;
  1116. z-index: 2000;
  1117. }
  1118. .load-progress.hide {
  1119. display: none;
  1120. }
  1121. .load-progress .load-progress-bar {
  1122. position: relative;
  1123. width: 100%;
  1124. height: 4upx;
  1125. overflow: hidden;
  1126. transition: all 200ms ease 0s;
  1127. }
  1128. .load-progress .load-progress-spinner {
  1129. position: absolute;
  1130. top: 10upx;
  1131. right: 10upx;
  1132. z-index: 2000;
  1133. display: block;
  1134. }
  1135. .load-progress .load-progress-spinner::after {
  1136. content: '';
  1137. display: block;
  1138. width: 24upx;
  1139. height: 24upx;
  1140. -webkit-box-sizing: border-box;
  1141. box-sizing: border-box;
  1142. border: solid 4upx transparent;
  1143. border-top-color: inherit;
  1144. border-left-color: inherit;
  1145. border-radius: 50%;
  1146. -webkit-animation: load-progress-spinner 0.4s linear infinite;
  1147. animation: load-progress-spinner 0.4s linear infinite;
  1148. }
  1149. @-webkit-keyframes load-progress-spinner {
  1150. 0% {
  1151. -webkit-transform: rotate(0);
  1152. transform: rotate(0);
  1153. }
  1154. 100% {
  1155. -webkit-transform: rotate(360deg);
  1156. transform: rotate(360deg);
  1157. }
  1158. }
  1159. @keyframes load-progress-spinner {
  1160. 0% {
  1161. -webkit-transform: rotate(0);
  1162. transform: rotate(0);
  1163. }
  1164. 100% {
  1165. -webkit-transform: rotate(360deg);
  1166. transform: rotate(360deg);
  1167. }
  1168. }
  1169. /* ==================
  1170. 列表
  1171. ==================== */
  1172. .grayscale {
  1173. filter: grayscale(1);
  1174. }
  1175. .cu-list + .cu-list {
  1176. margin-top: 30upx;
  1177. }
  1178. .cu-list > .cu-item {
  1179. transition: all 0.6s ease-in-out 0s;
  1180. transform: translateX(0upx);
  1181. }
  1182. .cu-list > .cu-item.move-cur {
  1183. transform: translateX(-260upx);
  1184. }
  1185. .cu-list > .cu-item .move {
  1186. position: absolute;
  1187. right: 0;
  1188. display: flex;
  1189. width: 260upx;
  1190. height: 100%;
  1191. transform: translateX(100%);
  1192. }
  1193. .cu-list > .cu-item .move div {
  1194. display: flex;
  1195. flex: 1;
  1196. justify-content: center;
  1197. align-items: center;
  1198. }
  1199. .cu-list.menu-avatar {
  1200. overflow: hidden;
  1201. }
  1202. .cu-list.menu-avatar > .cu-item {
  1203. position: relative;
  1204. display: flex;
  1205. padding-right: 10upx;
  1206. height: 140upx;
  1207. background-color: var(--white);
  1208. justify-content: flex-end;
  1209. align-items: center;
  1210. }
  1211. .cu-list.menu-avatar > .cu-item > .cu-avatar {
  1212. position: absolute;
  1213. left: 30upx;
  1214. }
  1215. .cu-list.menu-avatar > .cu-item .flex .text-cut {
  1216. max-width: 510upx;
  1217. }
  1218. .cu-list.menu-avatar > .cu-item .content {
  1219. position: absolute;
  1220. left: 146upx;
  1221. width: calc(100% - 96upx - 60upx - 120upx - 20upx);
  1222. line-height: 1.6em;
  1223. }
  1224. .cu-list.menu-avatar > .cu-item .content.flex-sub {
  1225. width: calc(100% - 96upx - 60upx - 20upx);
  1226. }
  1227. .cu-list.menu-avatar > .cu-item .content > div:first-child {
  1228. font-size: 30upx;
  1229. display: flex;
  1230. align-items: center;
  1231. }
  1232. .cu-list.menu-avatar > .cu-item .content .cu-tag.sm {
  1233. display: inline-block;
  1234. margin-left: 10upx;
  1235. height: 28upx;
  1236. font-size: 16upx;
  1237. line-height: 32upx;
  1238. }
  1239. .cu-list.menu-avatar > .cu-item .action {
  1240. width: 100upx;
  1241. text-align: center;
  1242. }
  1243. .cu-list.menu-avatar > .cu-item .action div + div {
  1244. margin-top: 10upx;
  1245. }
  1246. .cu-list.menu-avatar.comment > .cu-item .content {
  1247. position: relative;
  1248. left: 0;
  1249. width: auto;
  1250. flex: 1;
  1251. }
  1252. .cu-list.menu-avatar.comment > .cu-item {
  1253. padding: 30upx 30upx 30upx 120upx;
  1254. height: auto;
  1255. }
  1256. .cu-list.menu-avatar.comment .cu-avatar {
  1257. align-self: flex-start;
  1258. }
  1259. .cu-list.menu > .cu-item {
  1260. position: relative;
  1261. display: flex;
  1262. padding: 0 30upx;
  1263. min-height: 100upx;
  1264. background-color: var(--white);
  1265. justify-content: space-between;
  1266. align-items: center;
  1267. }
  1268. .cu-list.menu > .cu-item:last-child:after {
  1269. border: none;
  1270. }
  1271. .cu-list.menu > .cu-item:after {
  1272. position: absolute;
  1273. top: 0;
  1274. left: 0;
  1275. box-sizing: border-box;
  1276. width: 200%;
  1277. height: 200%;
  1278. border-bottom: 1upx solid #ddd;
  1279. border-radius: inherit;
  1280. content: ' ';
  1281. transform: scale(0.5);
  1282. transform-origin: 0 0;
  1283. pointer-events: none;
  1284. }
  1285. .cu-list.menu > .cu-item.grayscale {
  1286. background-color: #f5f5f5;
  1287. }
  1288. .cu-list.menu > .cu-item.cur {
  1289. background-color: #fcf7e9;
  1290. }
  1291. .cu-list.menu > .cu-item.arrow {
  1292. padding-right: 90upx;
  1293. }
  1294. .cu-list.menu > .cu-item.arrow:before {
  1295. position: absolute;
  1296. top: 0;
  1297. right: 30upx;
  1298. bottom: 0;
  1299. display: block;
  1300. margin: auto;
  1301. width: 30upx;
  1302. height: 30upx;
  1303. color: var(--grey);
  1304. content: '\e6a3';
  1305. text-align: center;
  1306. font-size: 34upx;
  1307. font-family: cuIcon;
  1308. line-height: 30upx;
  1309. }
  1310. .cu-list.menu > .cu-item button.content {
  1311. padding: 0;
  1312. background-color: transparent;
  1313. justify-content: flex-start;
  1314. }
  1315. .cu-list.menu > .cu-item button.content:after {
  1316. display: none;
  1317. }
  1318. .cu-list.menu > .cu-item .cu-avatar-group .cu-avatar {
  1319. border-color: var(--white);
  1320. }
  1321. .cu-list.menu > .cu-item .content > div:first-child {
  1322. display: flex;
  1323. align-items: center;
  1324. }
  1325. .cu-list.menu > .cu-item .content > text[class*='cuIcon'] {
  1326. display: inline-block;
  1327. margin-right: 10upx;
  1328. width: 1.6em;
  1329. text-align: center;
  1330. }
  1331. .cu-list.menu > .cu-item .content > image {
  1332. display: inline-block;
  1333. margin-right: 10upx;
  1334. width: 1.6em;
  1335. height: 1.6em;
  1336. vertical-align: middle;
  1337. }
  1338. .cu-list.menu > .cu-item .content {
  1339. font-size: 30upx;
  1340. line-height: 1.6em;
  1341. flex: 1;
  1342. }
  1343. .cu-list.menu > .cu-item .content .cu-tag.sm {
  1344. display: inline-block;
  1345. margin-left: 10upx;
  1346. height: 28upx;
  1347. font-size: 16upx;
  1348. line-height: 32upx;
  1349. }
  1350. .cu-list.menu > .cu-item .action .cu-tag:empty {
  1351. right: 10upx;
  1352. }
  1353. .cu-list.menu {
  1354. display: block;
  1355. overflow: hidden;
  1356. }
  1357. .cu-list.menu.sm-border > .cu-item:after {
  1358. left: 30upx;
  1359. width: calc(200% - 120upx);
  1360. }
  1361. .cu-list.grid > .cu-item {
  1362. position: relative;
  1363. display: flex;
  1364. padding: 20upx 0 30upx;
  1365. transition-duration: 0s;
  1366. flex-direction: column;
  1367. }
  1368. .cu-list.grid > .cu-item:after {
  1369. position: absolute;
  1370. top: 0;
  1371. left: 0;
  1372. box-sizing: border-box;
  1373. width: 200%;
  1374. height: 200%;
  1375. border-right: 1px solid rgba(0, 0, 0, 0.1);
  1376. border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  1377. border-radius: inherit;
  1378. content: ' ';
  1379. transform: scale(0.5);
  1380. transform-origin: 0 0;
  1381. pointer-events: none;
  1382. }
  1383. .cu-list.grid > .cu-item text {
  1384. display: block;
  1385. margin-top: 10upx;
  1386. color: #888;
  1387. font-size: 26upx;
  1388. line-height: 40upx;
  1389. }
  1390. .cu-list.grid > .cu-item [class*='cuIcon'] {
  1391. position: relative;
  1392. display: block;
  1393. margin-top: 20upx;
  1394. width: 100%;
  1395. font-size: 48upx;
  1396. }
  1397. .cu-list.grid > .cu-item .cu-tag {
  1398. right: auto;
  1399. left: 50%;
  1400. margin-left: 20upx;
  1401. }
  1402. .cu-list.grid {
  1403. background-color: var(--white);
  1404. text-align: center;
  1405. }
  1406. .cu-list.grid.no-border > .cu-item {
  1407. padding-top: 10upx;
  1408. padding-bottom: 20upx;
  1409. }
  1410. .cu-list.grid.no-border > .cu-item:after {
  1411. border: none;
  1412. }
  1413. .cu-list.grid.no-border {
  1414. padding: 20upx 10upx;
  1415. }
  1416. .cu-list.grid.col-3 > .cu-item:nth-child(3n):after,
  1417. .cu-list.grid.col-4 > .cu-item:nth-child(4n):after,
  1418. .cu-list.grid.col-5 > .cu-item:nth-child(5n):after {
  1419. border-right-width: 0;
  1420. }
  1421. .cu-list.card-menu {
  1422. overflow: hidden;
  1423. margin-right: 30upx;
  1424. margin-left: 30upx;
  1425. border-radius: 20upx;
  1426. }
  1427. /* ==================
  1428. 操作条
  1429. ==================== */
  1430. .cu-bar {
  1431. display: flex;
  1432. position: relative;
  1433. align-items: center;
  1434. min-height: 100upx;
  1435. justify-content: space-between;
  1436. }
  1437. .cu-bar .action {
  1438. display: flex;
  1439. align-items: center;
  1440. height: 100%;
  1441. justify-content: center;
  1442. max-width: 100%;
  1443. }
  1444. .cu-bar .action.border-title {
  1445. position: relative;
  1446. top: -10upx;
  1447. }
  1448. .cu-bar .action.border-title text[class*='bg-']:last-child {
  1449. position: absolute;
  1450. bottom: -0.5rem;
  1451. min-width: 2rem;
  1452. height: 6upx;
  1453. left: 0;
  1454. }
  1455. .cu-bar .action.sub-title {
  1456. position: relative;
  1457. top: -0.2rem;
  1458. }
  1459. .cu-bar .action.sub-title text {
  1460. position: relative;
  1461. z-index: 1;
  1462. }
  1463. .cu-bar .action.sub-title text[class*='bg-']:last-child {
  1464. position: absolute;
  1465. display: inline-block;
  1466. bottom: -0.2rem;
  1467. border-radius: 6upx;
  1468. width: 100%;
  1469. height: 0.6rem;
  1470. left: 0.6rem;
  1471. opacity: 0.3;
  1472. z-index: 0;
  1473. }
  1474. .cu-bar .action.sub-title text[class*='text-']:last-child {
  1475. position: absolute;
  1476. display: inline-block;
  1477. bottom: -0.7rem;
  1478. left: 0.5rem;
  1479. opacity: 0.2;
  1480. z-index: 0;
  1481. text-align: right;
  1482. font-weight: 900;
  1483. font-size: 36upx;
  1484. }
  1485. .cu-bar.justify-center .action.border-title text:last-child,
  1486. .cu-bar.justify-center .action.sub-title text:last-child {
  1487. left: 0;
  1488. right: 0;
  1489. margin: auto;
  1490. text-align: center;
  1491. }
  1492. .cu-bar .action:first-child {
  1493. margin-left: 30upx;
  1494. font-size: 30upx;
  1495. }
  1496. .cu-bar .action text.text-cut {
  1497. text-align: left;
  1498. width: 100%;
  1499. }
  1500. .cu-bar .cu-avatar:first-child {
  1501. margin-left: 20upx;
  1502. }
  1503. .cu-bar .action:first-child > text[class*='cuIcon-'] {
  1504. margin-left: -0.3em;
  1505. margin-right: 0.3em;
  1506. }
  1507. .cu-bar .action:last-child {
  1508. margin-right: 30upx;
  1509. }
  1510. .cu-bar .action > text[class*='cuIcon-'],
  1511. .cu-bar .action > div[class*='cuIcon-'] {
  1512. font-size: 36upx;
  1513. }
  1514. .cu-bar .action > text[class*='cuIcon-'] + text[class*='cuIcon-'] {
  1515. margin-left: 0.5em;
  1516. }
  1517. .cu-bar .content {
  1518. position: absolute;
  1519. text-align: center;
  1520. width: calc(100% - 340upx);
  1521. left: 0;
  1522. right: 0;
  1523. bottom: 0;
  1524. top: 0;
  1525. margin: auto;
  1526. height: 60upx;
  1527. font-size: 32upx;
  1528. line-height: 60upx;
  1529. cursor: none;
  1530. pointer-events: none;
  1531. text-overflow: ellipsis;
  1532. white-space: nowrap;
  1533. overflow: hidden;
  1534. }
  1535. .cu-bar.ios .content {
  1536. bottom: 7px;
  1537. height: 30px;
  1538. font-size: 32upx;
  1539. line-height: 30px;
  1540. }
  1541. .cu-bar.btn-group {
  1542. justify-content: space-around;
  1543. }
  1544. .cu-bar.btn-group button {
  1545. padding: 20upx 32upx;
  1546. }
  1547. .cu-bar.btn-group button {
  1548. flex: 1;
  1549. margin: 0 20upx;
  1550. max-width: 50%;
  1551. }
  1552. .cu-bar .search-form {
  1553. background-color: #f5f5f5;
  1554. line-height: 64upx;
  1555. height: 64upx;
  1556. font-size: 24upx;
  1557. color: var(--darkGray);
  1558. flex: 1;
  1559. display: flex;
  1560. align-items: center;
  1561. margin: 0 30upx;
  1562. }
  1563. .cu-bar .search-form + .action {
  1564. margin-right: 30upx;
  1565. }
  1566. .cu-bar .search-form input {
  1567. flex: 1;
  1568. padding-right: 30upx;
  1569. height: 64upx;
  1570. line-height: 64upx;
  1571. font-size: 26upx;
  1572. background-color: transparent;
  1573. }
  1574. .cu-bar .search-form [class*='cuIcon-'] {
  1575. margin: 0 0.5em 0 0.8em;
  1576. }
  1577. .cu-bar .search-form [class*='cuIcon-']::before {
  1578. top: 0upx;
  1579. }
  1580. .cu-bar.fixed,
  1581. .nav.fixed {
  1582. position: fixed;
  1583. width: 100%;
  1584. top: 0;
  1585. z-index: 1024;
  1586. box-shadow: 0 1upx 6upx rgba(0, 0, 0, 0.1);
  1587. }
  1588. .cu-bar.foot {
  1589. position: fixed;
  1590. width: 100%;
  1591. bottom: 0;
  1592. z-index: 1024;
  1593. box-shadow: 0 -1upx 6upx rgba(0, 0, 0, 0.1);
  1594. }
  1595. .cu-bar.tabbar {
  1596. padding: 0;
  1597. height: calc(100upx + env(safe-area-inset-bottom) / 2);
  1598. padding-bottom: calc(env(safe-area-inset-bottom) / 2);
  1599. }
  1600. .cu-tabbar-height {
  1601. min-height: 100upx;
  1602. height: calc(100upx + env(safe-area-inset-bottom) / 2);
  1603. }
  1604. .cu-bar.tabbar.shadow {
  1605. box-shadow: 0 -1upx 6upx rgba(0, 0, 0, 0.1);
  1606. }
  1607. .cu-bar.tabbar .action {
  1608. font-size: 22upx;
  1609. position: relative;
  1610. flex: 1;
  1611. text-align: center;
  1612. padding: 0;
  1613. display: block;
  1614. height: auto;
  1615. line-height: 1;
  1616. margin: 0;
  1617. background-color: inherit;
  1618. overflow: initial;
  1619. }
  1620. .cu-bar.tabbar.shop .action {
  1621. width: 140upx;
  1622. flex: initial;
  1623. }
  1624. .cu-bar.tabbar .action.add-action {
  1625. position: relative;
  1626. z-index: 2;
  1627. padding-top: 50upx;
  1628. }
  1629. .cu-bar.tabbar .action.add-action [class*='cuIcon-'] {
  1630. position: absolute;
  1631. width: 70upx;
  1632. z-index: 2;
  1633. height: 70upx;
  1634. border-radius: 50%;
  1635. line-height: 70upx;
  1636. font-size: 50upx;
  1637. top: -35upx;
  1638. left: 0;
  1639. right: 0;
  1640. margin: auto;
  1641. padding: 0;
  1642. }
  1643. .cu-bar.tabbar .action.add-action::after {
  1644. content: '';
  1645. position: absolute;
  1646. width: 100upx;
  1647. height: 100upx;
  1648. top: -50upx;
  1649. left: 0;
  1650. right: 0;
  1651. margin: auto;
  1652. box-shadow: 0 -3upx 8upx rgba(0, 0, 0, 0.08);
  1653. border-radius: 50upx;
  1654. background-color: inherit;
  1655. z-index: 0;
  1656. }
  1657. .cu-bar.tabbar .action.add-action::before {
  1658. content: '';
  1659. position: absolute;
  1660. width: 100upx;
  1661. height: 30upx;
  1662. bottom: 30upx;
  1663. left: 0;
  1664. right: 0;
  1665. margin: auto;
  1666. background-color: inherit;
  1667. z-index: 1;
  1668. }
  1669. .cu-bar.tabbar .btn-group {
  1670. flex: 1;
  1671. display: flex;
  1672. justify-content: space-around;
  1673. align-items: center;
  1674. padding: 0 10upx;
  1675. }
  1676. .cu-bar.tabbar button.action::after {
  1677. border: 0;
  1678. }
  1679. .cu-bar.tabbar .action [class*='cuIcon-'] {
  1680. width: 100upx;
  1681. position: relative;
  1682. display: block;
  1683. height: auto;
  1684. margin: 0 auto 10upx;
  1685. text-align: center;
  1686. font-size: 40upx;
  1687. }
  1688. .cu-bar.tabbar .action .cuIcon-cu-image {
  1689. margin: 0 auto;
  1690. }
  1691. .cu-bar.tabbar .action .cuIcon-cu-image image {
  1692. width: 40upx;
  1693. height: 40upx;
  1694. display: inline-block;
  1695. }
  1696. .cu-bar.tabbar .submit {
  1697. align-items: center;
  1698. display: flex;
  1699. justify-content: center;
  1700. text-align: center;
  1701. position: relative;
  1702. flex: 2;
  1703. align-self: stretch;
  1704. }
  1705. .cu-bar.tabbar .submit:last-child {
  1706. flex: 2.6;
  1707. }
  1708. .cu-bar.tabbar .submit + .submit {
  1709. flex: 2;
  1710. }
  1711. .cu-bar.tabbar.border .action::before {
  1712. content: ' ';
  1713. width: 200%;
  1714. height: 200%;
  1715. position: absolute;
  1716. top: 0;
  1717. left: 0;
  1718. transform: scale(0.5);
  1719. transform-origin: 0 0;
  1720. border-right: 1upx solid rgba(0, 0, 0, 0.1);
  1721. z-index: 3;
  1722. }
  1723. .cu-bar.tabbar.border .action:last-child:before {
  1724. display: none;
  1725. }
  1726. .cu-bar.input {
  1727. padding-right: 20upx;
  1728. background-color: var(--white);
  1729. }
  1730. .cu-bar.input input {
  1731. overflow: initial;
  1732. line-height: 64upx;
  1733. height: 64upx;
  1734. min-height: 64upx;
  1735. flex: 1;
  1736. font-size: 30upx;
  1737. margin: 0 20upx;
  1738. }
  1739. .cu-bar.input .action {
  1740. margin-left: 20upx;
  1741. }
  1742. .cu-bar.input .action [class*='cuIcon-'] {
  1743. font-size: 48upx;
  1744. }
  1745. .cu-bar.input input + .action {
  1746. margin-right: 20upx;
  1747. margin-left: 0upx;
  1748. }
  1749. .cu-bar.input .action:first-child [class*='cuIcon-'] {
  1750. margin-left: 0upx;
  1751. }
  1752. .cu-custom {
  1753. display: block;
  1754. position: relative;
  1755. }
  1756. .cu-custom .cu-bar .content {
  1757. width: calc(100% - 440upx);
  1758. }
  1759. /* #ifdef MP-ALIPAY */
  1760. .cu-custom .cu-bar .action .cuIcon-back {
  1761. opacity: 0;
  1762. }
  1763. /* #endif */
  1764. .cu-custom .cu-bar .content image {
  1765. height: 60upx;
  1766. width: 240upx;
  1767. }
  1768. .cu-custom .cu-bar {
  1769. min-height: 0px;
  1770. /* #ifdef MP-WEIXIN */
  1771. padding-right: 220upx;
  1772. /* #endif */
  1773. /* #ifdef MP-ALIPAY */
  1774. padding-right: 150upx;
  1775. /* #endif */
  1776. box-shadow: 0upx 0upx 0upx;
  1777. z-index: 9999;
  1778. }
  1779. .cu-custom .cu-bar .border-custom {
  1780. position: relative;
  1781. background: rgba(0, 0, 0, 0.15);
  1782. border-radius: 1000upx;
  1783. height: 30px;
  1784. }
  1785. .cu-custom .cu-bar .border-custom::after {
  1786. content: ' ';
  1787. width: 200%;
  1788. height: 200%;
  1789. position: absolute;
  1790. top: 0;
  1791. left: 0;
  1792. border-radius: inherit;
  1793. transform: scale(0.5);
  1794. transform-origin: 0 0;
  1795. pointer-events: none;
  1796. box-sizing: border-box;
  1797. border: 1upx solid var(--white);
  1798. opacity: 0.5;
  1799. }
  1800. .cu-custom .cu-bar .border-custom::before {
  1801. content: ' ';
  1802. width: 1upx;
  1803. height: 110%;
  1804. position: absolute;
  1805. top: 22.5%;
  1806. left: 0;
  1807. right: 0;
  1808. margin: auto;
  1809. transform: scale(0.5);
  1810. transform-origin: 0 0;
  1811. pointer-events: none;
  1812. box-sizing: border-box;
  1813. opacity: 0.6;
  1814. background-color: var(--white);
  1815. }
  1816. .cu-custom .cu-bar .border-custom text {
  1817. display: block;
  1818. flex: 1;
  1819. margin: auto !important;
  1820. text-align: center;
  1821. font-size: 34upx;
  1822. }
  1823. /* ==================
  1824. 导航栏
  1825. ==================== */
  1826. .nav {
  1827. white-space: nowrap;
  1828. }
  1829. ::-webkit-scrollbar {
  1830. display: none;
  1831. }
  1832. .nav .cu-item {
  1833. height: 90upx;
  1834. display: inline-block;
  1835. line-height: 90upx;
  1836. margin: 0 10upx;
  1837. padding: 0 20upx;
  1838. }
  1839. .nav .cu-item.cur {
  1840. border-bottom: 4upx solid;
  1841. }
  1842. /* ==================
  1843. 时间轴
  1844. ==================== */
  1845. .cu-timeline {
  1846. display: block;
  1847. background-color: var(--white);
  1848. }
  1849. .cu-timeline .cu-time {
  1850. width: 120upx;
  1851. text-align: center;
  1852. padding: 20upx 0;
  1853. font-size: 26upx;
  1854. color: #888;
  1855. display: block;
  1856. }
  1857. .cu-timeline > .cu-item {
  1858. padding: 30upx 30upx 30upx 120upx;
  1859. position: relative;
  1860. display: block;
  1861. z-index: 0;
  1862. }
  1863. .cu-timeline > .cu-item:not([class*='text-']) {
  1864. color: #ccc;
  1865. }
  1866. .cu-timeline > .cu-item::after {
  1867. content: '';
  1868. display: block;
  1869. position: absolute;
  1870. width: 1upx;
  1871. background-color: #ddd;
  1872. left: 60upx;
  1873. height: 100%;
  1874. top: 0;
  1875. z-index: 8;
  1876. }
  1877. .cu-timeline > .cu-item::before {
  1878. font-family: 'cuIcon';
  1879. display: block;
  1880. position: absolute;
  1881. top: 36upx;
  1882. z-index: 9;
  1883. background-color: var(--white);
  1884. width: 50upx;
  1885. height: 50upx;
  1886. text-align: center;
  1887. border: none;
  1888. line-height: 50upx;
  1889. left: 36upx;
  1890. }
  1891. .cu-timeline > .cu-item:not([class*='cuIcon-'])::before {
  1892. content: '\e763';
  1893. }
  1894. .cu-timeline > .cu-item[class*='cuIcon-']::before {
  1895. background-color: var(--white);
  1896. width: 50upx;
  1897. height: 50upx;
  1898. text-align: center;
  1899. border: none;
  1900. line-height: 50upx;
  1901. left: 36upx;
  1902. }
  1903. .cu-timeline > .cu-item > .content {
  1904. padding: 30upx;
  1905. border-radius: 6upx;
  1906. display: block;
  1907. line-height: 1.6;
  1908. }
  1909. .cu-timeline > .cu-item > .content:not([class*='bg-']) {
  1910. background-color: var(--ghostWhite);
  1911. color: var(--darkGray);
  1912. }
  1913. .cu-timeline > .cu-item > .content + .content {
  1914. margin-top: 20upx;
  1915. }
  1916. /* ==================
  1917. 聊天
  1918. ==================== */
  1919. .cu-chat {
  1920. display: flex;
  1921. flex-direction: column;
  1922. }
  1923. .cu-chat .cu-item {
  1924. display: flex;
  1925. padding: 30upx 30upx 70upx;
  1926. position: relative;
  1927. }
  1928. .cu-chat .cu-item > .cu-avatar {
  1929. width: 80upx;
  1930. height: 80upx;
  1931. }
  1932. .cu-chat .cu-item > .main {
  1933. max-width: calc(100% - 260upx);
  1934. margin: 0 40upx;
  1935. display: flex;
  1936. align-items: center;
  1937. }
  1938. .cu-chat .cu-item > image {
  1939. height: 320upx;
  1940. }
  1941. .cu-chat .cu-item > .main .content {
  1942. padding: 20upx;
  1943. border-radius: 6upx;
  1944. display: inline-flex;
  1945. max-width: 100%;
  1946. align-items: center;
  1947. font-size: 30upx;
  1948. position: relative;
  1949. min-height: 80upx;
  1950. line-height: 40upx;
  1951. text-align: left;
  1952. }
  1953. .cu-chat .cu-item > .main .content:not([class*='bg-']) {
  1954. background-color: var(--white);
  1955. color: var(--darkGray);
  1956. }
  1957. .cu-chat .cu-item .date {
  1958. position: absolute;
  1959. font-size: 24upx;
  1960. color: var(--grey);
  1961. width: calc(100% - 320upx);
  1962. bottom: 20upx;
  1963. left: 160upx;
  1964. }
  1965. .cu-chat .cu-item .action {
  1966. padding: 0 30upx;
  1967. display: flex;
  1968. align-items: center;
  1969. }
  1970. .cu-chat .cu-item > .main .content::after {
  1971. content: '';
  1972. top: 27upx;
  1973. transform: rotate(45deg);
  1974. position: absolute;
  1975. z-index: 100;
  1976. display: inline-block;
  1977. overflow: hidden;
  1978. width: 24upx;
  1979. height: 24upx;
  1980. left: -12upx;
  1981. right: initial;
  1982. background-color: inherit;
  1983. }
  1984. .cu-chat .cu-item.self > .main .content::after {
  1985. left: auto;
  1986. right: -12upx;
  1987. }
  1988. .cu-chat .cu-item > .main .content::before {
  1989. content: '';
  1990. top: 30upx;
  1991. transform: rotate(45deg);
  1992. position: absolute;
  1993. z-index: -1;
  1994. display: inline-block;
  1995. overflow: hidden;
  1996. width: 24upx;
  1997. height: 24upx;
  1998. left: -12upx;
  1999. right: initial;
  2000. background-color: inherit;
  2001. filter: blur(5upx);
  2002. opacity: 0.3;
  2003. }
  2004. .cu-chat .cu-item > .main .content:not([class*='bg-'])::before {
  2005. background-color: var(--black);
  2006. opacity: 0.1;
  2007. }
  2008. .cu-chat .cu-item.self > .main .content::before {
  2009. left: auto;
  2010. right: -12upx;
  2011. }
  2012. .cu-chat .cu-item.self {
  2013. justify-content: flex-end;
  2014. text-align: right;
  2015. }
  2016. .cu-chat .cu-info {
  2017. display: inline-block;
  2018. margin: 20upx auto;
  2019. font-size: 24upx;
  2020. padding: 8upx 12upx;
  2021. background-color: rgba(0, 0, 0, 0.2);
  2022. border-radius: 6upx;
  2023. color: var(--white);
  2024. max-width: 400upx;
  2025. line-height: 1.4;
  2026. }
  2027. /* ==================
  2028. 卡片
  2029. ==================== */
  2030. .cu-card {
  2031. display: block;
  2032. overflow: hidden;
  2033. }
  2034. .cu-card > .cu-item {
  2035. display: block;
  2036. background-color: var(--white);
  2037. overflow: hidden;
  2038. border-radius: 10upx;
  2039. margin: 30upx;
  2040. }
  2041. .cu-card > .cu-item.shadow-blur {
  2042. overflow: initial;
  2043. }
  2044. .cu-card.no-card > .cu-item {
  2045. margin: 0upx;
  2046. border-radius: 0upx;
  2047. }
  2048. .cu-card .grid.grid-square {
  2049. margin-bottom: -20upx;
  2050. }
  2051. .cu-card.case .image {
  2052. position: relative;
  2053. }
  2054. .cu-card.case .image image {
  2055. width: 100%;
  2056. }
  2057. .cu-card.case .image .cu-tag {
  2058. position: absolute;
  2059. right: 0;
  2060. top: 0;
  2061. }
  2062. .cu-card.case .image .cu-bar {
  2063. position: absolute;
  2064. bottom: 0;
  2065. width: 100%;
  2066. background-color: transparent;
  2067. padding: 0upx 30upx;
  2068. }
  2069. .cu-card.case.no-card .image {
  2070. margin: 30upx 30upx 0;
  2071. overflow: hidden;
  2072. border-radius: 10upx;
  2073. }
  2074. .cu-card.dynamic {
  2075. display: block;
  2076. }
  2077. .cu-card.dynamic > .cu-item {
  2078. display: block;
  2079. background-color: var(--white);
  2080. overflow: hidden;
  2081. }
  2082. .cu-card.dynamic > .cu-item > .text-content {
  2083. padding: 0 30upx 0;
  2084. max-height: 6.4em;
  2085. overflow: hidden;
  2086. font-size: 30upx;
  2087. margin-bottom: 20upx;
  2088. }
  2089. .cu-card.dynamic > .cu-item .square-img {
  2090. width: 100%;
  2091. height: 200upx;
  2092. border-radius: 6upx;
  2093. }
  2094. .cu-card.dynamic > .cu-item .only-img {
  2095. width: 100%;
  2096. height: 320upx;
  2097. border-radius: 6upx;
  2098. }
  2099. /* card.dynamic>.cu-item .comment {
  2100. padding: 20upx;
  2101. background-color: var(--ghostWhite);
  2102. margin: 0 30upx 30upx;
  2103. border-radius: 6upx;
  2104. } */
  2105. .cu-card.article {
  2106. display: block;
  2107. }
  2108. .cu-card.article > .cu-item {
  2109. padding-bottom: 30upx;
  2110. }
  2111. .cu-card.article > .cu-item .title {
  2112. font-size: 30upx;
  2113. font-weight: 900;
  2114. color: var(--black);
  2115. line-height: 100upx;
  2116. padding: 0 30upx;
  2117. }
  2118. .cu-card.article > .cu-item .content {
  2119. display: flex;
  2120. padding: 0 30upx;
  2121. }
  2122. .cu-card.article > .cu-item .content > image {
  2123. width: 240upx;
  2124. height: 6.4em;
  2125. margin-right: 20upx;
  2126. border-radius: 6upx;
  2127. }
  2128. .cu-card.article > .cu-item .content .desc {
  2129. flex: 1;
  2130. display: flex;
  2131. flex-direction: column;
  2132. justify-content: space-between;
  2133. }
  2134. .cu-card.article > .cu-item .content .text-content {
  2135. font-size: 28upx;
  2136. color: #888;
  2137. height: 4.8em;
  2138. overflow: hidden;
  2139. }
  2140. /* ==================
  2141. 表单
  2142. ==================== */
  2143. .cu-form-group {
  2144. background-color: var(--white);
  2145. padding: 1upx 30upx;
  2146. display: flex;
  2147. align-items: center;
  2148. min-height: 100upx;
  2149. justify-content: space-between;
  2150. }
  2151. .cu-form-group + .cu-form-group {
  2152. border-top: 1upx solid #eee;
  2153. }
  2154. .cu-form-group .title {
  2155. text-align: justify;
  2156. padding-right: 30upx;
  2157. font-size: 30upx;
  2158. position: relative;
  2159. height: 60upx;
  2160. line-height: 60upx;
  2161. }
  2162. .cu-form-group input {
  2163. flex: 1;
  2164. font-size: 30upx;
  2165. color: #555;
  2166. padding-right: 20upx;
  2167. }
  2168. .cu-form-group > text[class*='cuIcon-'] {
  2169. font-size: 36upx;
  2170. padding: 0;
  2171. box-sizing: border-box;
  2172. }
  2173. .cu-form-group textarea {
  2174. margin: 32upx 0 30upx;
  2175. height: 4.6em;
  2176. width: 100%;
  2177. line-height: 1.2em;
  2178. flex: 1;
  2179. font-size: 28upx;
  2180. padding: 0;
  2181. }
  2182. .cu-form-group.align-start .title {
  2183. height: 1em;
  2184. margin-top: 32upx;
  2185. line-height: 1em;
  2186. }
  2187. .cu-form-group picker {
  2188. flex: 1;
  2189. padding-right: 40upx;
  2190. overflow: hidden;
  2191. position: relative;
  2192. }
  2193. .cu-form-group picker .picker {
  2194. line-height: 100upx;
  2195. font-size: 28upx;
  2196. text-overflow: ellipsis;
  2197. white-space: nowrap;
  2198. overflow: hidden;
  2199. width: 100%;
  2200. text-align: right;
  2201. }
  2202. .cu-form-group picker::after {
  2203. font-family: cuIcon;
  2204. display: block;
  2205. content: '\e6a3';
  2206. position: absolute;
  2207. font-size: 34upx;
  2208. color: var(--grey);
  2209. line-height: 100upx;
  2210. width: 60upx;
  2211. text-align: center;
  2212. top: 0;
  2213. bottom: 0;
  2214. right: -20upx;
  2215. margin: auto;
  2216. }
  2217. .cu-form-group textarea[disabled],
  2218. .cu-form-group textarea[disabled] .placeholder {
  2219. color: transparent;
  2220. }
  2221. /* ==================
  2222. 模态窗口
  2223. ==================== */
  2224. .cu-modal {
  2225. position: fixed;
  2226. top: 0;
  2227. right: 0;
  2228. bottom: 0;
  2229. left: 0;
  2230. z-index: 1110;
  2231. opacity: 0;
  2232. outline: 0;
  2233. text-align: center;
  2234. -ms-transform: scale(1.185);
  2235. transform: scale(1.185);
  2236. backface-visibility: hidden;
  2237. perspective: 2000upx;
  2238. background: rgba(0, 0, 0, 0.6);
  2239. transition: all 0.3s ease-in-out 0s;
  2240. pointer-events: none;
  2241. }
  2242. .cu-modal::before {
  2243. content: '\200B';
  2244. display: inline-block;
  2245. height: 100%;
  2246. vertical-align: middle;
  2247. }
  2248. .cu-modal.show {
  2249. opacity: 1;
  2250. transition-duration: 0.3s;
  2251. -ms-transform: scale(1);
  2252. transform: scale(1);
  2253. overflow-x: hidden;
  2254. overflow-y: auto;
  2255. pointer-events: auto;
  2256. }
  2257. .cu-dialog {
  2258. position: relative;
  2259. display: inline-block;
  2260. vertical-align: middle;
  2261. margin-left: auto;
  2262. margin-right: auto;
  2263. width: 680upx;
  2264. max-width: 100%;
  2265. background-color: #f8f8f8;
  2266. border-radius: 10upx;
  2267. overflow: hidden;
  2268. }
  2269. .cu-modal.bottom-modal::before {
  2270. vertical-align: bottom;
  2271. }
  2272. .cu-modal.bottom-modal .cu-dialog {
  2273. width: 100%;
  2274. border-radius: 0;
  2275. }
  2276. .cu-modal.bottom-modal {
  2277. margin-bottom: -1000upx;
  2278. }
  2279. .cu-modal.bottom-modal.show {
  2280. margin-bottom: 0;
  2281. }
  2282. .cu-modal.drawer-modal {
  2283. transform: scale(1);
  2284. display: flex;
  2285. }
  2286. .cu-modal.drawer-modal .cu-dialog {
  2287. height: 100%;
  2288. min-width: 200upx;
  2289. border-radius: 0;
  2290. margin: initial;
  2291. transition-duration: 0.3s;
  2292. }
  2293. .cu-modal.drawer-modal.justify-start .cu-dialog {
  2294. transform: translateX(-100%);
  2295. }
  2296. .cu-modal.drawer-modal.justify-end .cu-dialog {
  2297. transform: translateX(100%);
  2298. }
  2299. .cu-modal.drawer-modal.show .cu-dialog {
  2300. transform: translateX(0%);
  2301. }
  2302. /* ==================
  2303. 轮播
  2304. ==================== */
  2305. swiper .a-swiper-dot {
  2306. display: inline-block;
  2307. width: 16upx;
  2308. height: 16upx;
  2309. background: rgba(0, 0, 0, 0.3);
  2310. border-radius: 50%;
  2311. vertical-align: middle;
  2312. }
  2313. swiper[class*='-dot'] .wx-swiper-dots,
  2314. swiper[class*='-dot'] .a-swiper-dots,
  2315. swiper[class*='-dot'] .uni-swiper-dots {
  2316. display: flex;
  2317. align-items: center;
  2318. width: 100%;
  2319. justify-content: center;
  2320. }
  2321. swiper.square-dot .wx-swiper-dot,
  2322. swiper.square-dot .a-swiper-dot,
  2323. swiper.square-dot .uni-swiper-dot {
  2324. background-color: var(--white);
  2325. opacity: 0.4;
  2326. width: 10upx;
  2327. height: 10upx;
  2328. border-radius: 20upx;
  2329. margin: 0 8upx !important;
  2330. }
  2331. swiper.square-dot .wx-swiper-dot.wx-swiper-dot-active,
  2332. swiper.square-dot .a-swiper-dot.a-swiper-dot-active,
  2333. swiper.square-dot .uni-swiper-dot.uni-swiper-dot-active {
  2334. opacity: 1;
  2335. width: 30upx;
  2336. }
  2337. swiper.round-dot .wx-swiper-dot,
  2338. swiper.round-dot .a-swiper-dot,
  2339. swiper.round-dot .uni-swiper-dot {
  2340. width: 10upx;
  2341. height: 10upx;
  2342. position: relative;
  2343. margin: 4upx 8upx !important;
  2344. }
  2345. swiper.round-dot .wx-swiper-dot.wx-swiper-dot-active::after,
  2346. swiper.round-dot .a-swiper-dot.a-swiper-dot-active::after,
  2347. swiper.round-dot .uni-swiper-dot.uni-swiper-dot-active::after {
  2348. content: '';
  2349. position: absolute;
  2350. width: 10upx;
  2351. height: 10upx;
  2352. top: 0upx;
  2353. left: 0upx;
  2354. right: 0;
  2355. bottom: 0;
  2356. margin: auto;
  2357. background-color: var(--white);
  2358. border-radius: 20upx;
  2359. }
  2360. swiper.round-dot .wx-swiper-dot.wx-swiper-dot-active,
  2361. swiper.round-dot .a-swiper-dot.a-swiper-dot-active,
  2362. swiper.round-dot .uni-swiper-dot.uni-swiper-dot-active {
  2363. width: 18upx;
  2364. height: 18upx;
  2365. }
  2366. .screen-swiper {
  2367. min-height: 375upx;
  2368. }
  2369. .screen-swiper image,
  2370. .screen-swiper video,
  2371. .swiper-item image,
  2372. .swiper-item video {
  2373. width: 100%;
  2374. display: block;
  2375. height: 100%;
  2376. margin: 0;
  2377. pointer-events: none;
  2378. }
  2379. .card-swiper {
  2380. height: 420upx !important;
  2381. }
  2382. .card-swiper swiper-item {
  2383. width: 610upx !important;
  2384. left: 70upx;
  2385. box-sizing: border-box;
  2386. padding: 40upx 0upx 70upx;
  2387. overflow: initial;
  2388. }
  2389. .card-swiper swiper-item .swiper-item {
  2390. width: 100%;
  2391. display: block;
  2392. height: 100%;
  2393. border-radius: 10upx;
  2394. transform: scale(0.9);
  2395. transition: all 0.2s ease-in 0s;
  2396. overflow: hidden;
  2397. }
  2398. .card-swiper swiper-item.cur .swiper-item {
  2399. transform: none;
  2400. transition: all 0.2s ease-in 0s;
  2401. }
  2402. .tower-swiper {
  2403. height: 420upx;
  2404. position: relative;
  2405. max-width: 750upx;
  2406. overflow: hidden;
  2407. }
  2408. .tower-swiper .tower-item {
  2409. position: absolute;
  2410. width: 300upx;
  2411. height: 380upx;
  2412. top: 0;
  2413. bottom: 0;
  2414. left: 50%;
  2415. margin: auto;
  2416. transition: all 0.2s ease-in 0s;
  2417. opacity: 1;
  2418. }
  2419. .tower-swiper .tower-item.none {
  2420. opacity: 0;
  2421. }
  2422. .tower-swiper .tower-item .swiper-item {
  2423. width: 100%;
  2424. height: 100%;
  2425. border-radius: 6upx;
  2426. overflow: hidden;
  2427. }
  2428. /* ==================
  2429. 步骤条
  2430. ==================== */
  2431. .cu-steps {
  2432. display: flex;
  2433. }
  2434. scroll-view.cu-steps {
  2435. display: block;
  2436. white-space: nowrap;
  2437. }
  2438. scroll-view.cu-steps .cu-item {
  2439. display: inline-block;
  2440. }
  2441. .cu-steps .cu-item {
  2442. flex: 1;
  2443. text-align: center;
  2444. position: relative;
  2445. min-width: 100upx;
  2446. }
  2447. .cu-steps .cu-item:not([class*='text-']) {
  2448. color: var(--grey);
  2449. }
  2450. .cu-steps .cu-item [class*='cuIcon-'],
  2451. .cu-steps .cu-item .num {
  2452. display: block;
  2453. font-size: 40upx;
  2454. line-height: 80upx;
  2455. }
  2456. .cu-steps .cu-item::before,
  2457. .cu-steps .cu-item::after,
  2458. .cu-steps.steps-arrow .cu-item::before,
  2459. .cu-steps.steps-arrow .cu-item::after {
  2460. content: '';
  2461. display: block;
  2462. position: absolute;
  2463. height: 0px;
  2464. width: calc(100% - 80upx);
  2465. border-bottom: 1px solid #ccc;
  2466. left: calc(0px - (100% - 80upx) / 2);
  2467. top: 40upx;
  2468. z-index: 0;
  2469. }
  2470. .cu-steps.steps-arrow .cu-item::before,
  2471. .cu-steps.steps-arrow .cu-item::after {
  2472. content: '\e6a3';
  2473. font-family: 'cuIcon';
  2474. height: 30upx;
  2475. border-bottom-width: 0px;
  2476. line-height: 30upx;
  2477. top: 0;
  2478. bottom: 0;
  2479. margin: auto;
  2480. color: #ccc;
  2481. }
  2482. .cu-steps.steps-bottom .cu-item::before,
  2483. .cu-steps.steps-bottom .cu-item::after {
  2484. bottom: 40upx;
  2485. top: initial;
  2486. }
  2487. .cu-steps .cu-item::after {
  2488. border-bottom: 1px solid currentColor;
  2489. width: 0px;
  2490. transition: all 0.3s ease-in-out 0s;
  2491. }
  2492. .cu-steps .cu-item[class*='text-']::after {
  2493. width: calc(100% - 80upx);
  2494. color: currentColor;
  2495. }
  2496. .cu-steps .cu-item:first-child::before,
  2497. .cu-steps .cu-item:first-child::after {
  2498. display: none;
  2499. }
  2500. .cu-steps .cu-item .num {
  2501. width: 40upx;
  2502. height: 40upx;
  2503. border-radius: 50%;
  2504. line-height: 40upx;
  2505. margin: 20upx auto;
  2506. font-size: 24upx;
  2507. border: 1px solid currentColor;
  2508. position: relative;
  2509. overflow: hidden;
  2510. }
  2511. .cu-steps .cu-item[class*='text-'] .num {
  2512. background-color: currentColor;
  2513. }
  2514. .cu-steps .cu-item .num::before,
  2515. .cu-steps .cu-item .num::after {
  2516. content: attr(data-index);
  2517. position: absolute;
  2518. left: 0;
  2519. right: 0;
  2520. top: 0;
  2521. bottom: 0;
  2522. margin: auto;
  2523. transition: all 0.3s ease-in-out 0s;
  2524. transform: translateY(0upx);
  2525. }
  2526. .cu-steps .cu-item[class*='text-'] .num::before {
  2527. transform: translateY(-40upx);
  2528. color: var(--white);
  2529. }
  2530. .cu-steps .cu-item .num::after {
  2531. transform: translateY(40upx);
  2532. color: var(--white);
  2533. transition: all 0.3s ease-in-out 0s;
  2534. }
  2535. .cu-steps .cu-item[class*='text-'] .num::after {
  2536. content: '\e645';
  2537. font-family: 'cuIcon';
  2538. color: var(--white);
  2539. transform: translateY(0upx);
  2540. }
  2541. .cu-steps .cu-item[class*='text-'] .num.err::after {
  2542. content: '\e646';
  2543. }
  2544. /* ==================
  2545. 布局
  2546. ==================== */
  2547. /* -- flex弹性布局 -- */
  2548. .flex {
  2549. display: flex;
  2550. }
  2551. .basis-xs {
  2552. flex-basis: 20%;
  2553. }
  2554. .basis-sm {
  2555. flex-basis: 40%;
  2556. }
  2557. .basis-df {
  2558. flex-basis: 50%;
  2559. }
  2560. .basis-lg {
  2561. flex-basis: 60%;
  2562. }
  2563. .basis-xl {
  2564. flex-basis: 80%;
  2565. }
  2566. .flex-sub {
  2567. flex: 1;
  2568. }
  2569. .flex-twice {
  2570. flex: 2;
  2571. }
  2572. .flex-treble {
  2573. flex: 3;
  2574. }
  2575. .flex-direction {
  2576. flex-direction: column;
  2577. }
  2578. .flex-wrap {
  2579. flex-wrap: wrap;
  2580. }
  2581. .align-start {
  2582. align-items: flex-start;
  2583. }
  2584. .align-end {
  2585. align-items: flex-end;
  2586. }
  2587. .align-center {
  2588. align-items: center;
  2589. }
  2590. .align-stretch {
  2591. align-items: stretch;
  2592. }
  2593. .self-start {
  2594. align-self: flex-start;
  2595. }
  2596. .self-center {
  2597. align-self: flex-center;
  2598. }
  2599. .self-end {
  2600. align-self: flex-end;
  2601. }
  2602. .self-stretch {
  2603. align-self: stretch;
  2604. }
  2605. .align-stretch {
  2606. align-items: stretch;
  2607. }
  2608. .justify-start {
  2609. justify-content: flex-start;
  2610. }
  2611. .justify-end {
  2612. justify-content: flex-end;
  2613. }
  2614. .justify-center {
  2615. justify-content: center;
  2616. }
  2617. .justify-between {
  2618. justify-content: space-between;
  2619. }
  2620. .justify-around {
  2621. justify-content: space-around;
  2622. }
  2623. /* grid布局 */
  2624. .grid {
  2625. display: flex;
  2626. flex-wrap: wrap;
  2627. }
  2628. .grid.grid-square {
  2629. overflow: hidden;
  2630. }
  2631. .grid.grid-square .cu-tag {
  2632. position: absolute;
  2633. right: 0;
  2634. top: 0;
  2635. border-bottom-left-radius: 6upx;
  2636. padding: 6upx 12upx;
  2637. height: auto;
  2638. background-color: rgba(0, 0, 0, 0.5);
  2639. }
  2640. .grid.grid-square > div > text[class*='cuIcon-'] {
  2641. font-size: 52upx;
  2642. position: absolute;
  2643. color: var(--grey);
  2644. margin: auto;
  2645. top: 0;
  2646. bottom: 0;
  2647. left: 0;
  2648. right: 0;
  2649. display: flex;
  2650. justify-content: center;
  2651. align-items: center;
  2652. flex-direction: column;
  2653. }
  2654. .grid.grid-square > div {
  2655. margin-right: 20upx;
  2656. margin-bottom: 20upx;
  2657. border-radius: 6upx;
  2658. position: relative;
  2659. overflow: hidden;
  2660. }
  2661. .grid.col-1.grid-square > div {
  2662. padding-bottom: 100%;
  2663. height: 0;
  2664. margin-right: 0;
  2665. }
  2666. .grid.col-2.grid-square > div {
  2667. padding-bottom: calc((100% - 20upx) / 2);
  2668. height: 0;
  2669. width: calc((100% - 20upx) / 2);
  2670. }
  2671. .grid.col-2.grid-square > div:nth-child(2n) {
  2672. margin-right: 0;
  2673. }
  2674. .grid.col-3.grid-square > div {
  2675. padding-bottom: calc((100% - 40upx) / 3);
  2676. height: 0;
  2677. width: calc((100% - 40upx) / 3);
  2678. }
  2679. .grid.col-3.grid-square > div:nth-child(3n) {
  2680. margin-right: 0;
  2681. }
  2682. .grid.col-4.grid-square > div {
  2683. padding-bottom: calc((100% - 60upx) / 4);
  2684. height: 0;
  2685. width: calc((100% - 60upx) / 4);
  2686. }
  2687. .grid.col-4.grid-square > div:nth-child(4n) {
  2688. margin-right: 0;
  2689. }
  2690. .grid.col-5.grid-square > div {
  2691. padding-bottom: calc((100% - 80upx) / 5);
  2692. height: 0;
  2693. width: calc((100% - 80upx) / 5);
  2694. }
  2695. .grid.col-1 > div {
  2696. width: 100%;
  2697. }
  2698. .grid.col-2 > div {
  2699. width: 50%;
  2700. }
  2701. .grid.col-3 > div {
  2702. width: 33.33%;
  2703. }
  2704. .grid.col-4 > div {
  2705. width: 25%;
  2706. }
  2707. .grid.col-5 > div {
  2708. width: 20%;
  2709. }
  2710. /* -- 内外边距 -- */
  2711. .margin-0 {
  2712. margin: 0;
  2713. }
  2714. .margin-xs {
  2715. margin: 10upx;
  2716. }
  2717. .margin-sm {
  2718. margin: 20upx;
  2719. }
  2720. .margin {
  2721. margin: 30upx;
  2722. }
  2723. .margin-lg {
  2724. margin: 40upx;
  2725. }
  2726. .margin-xl {
  2727. margin: 50upx;
  2728. }
  2729. .margin-top-xs {
  2730. margin-top: 10upx;
  2731. }
  2732. .margin-top-sm {
  2733. margin-top: 20upx;
  2734. }
  2735. .margin-top {
  2736. margin-top: 30upx;
  2737. }
  2738. .margin-top-lg {
  2739. margin-top: 40upx;
  2740. }
  2741. .margin-top-xl {
  2742. margin-top: 50upx;
  2743. }
  2744. .margin-right-xs {
  2745. margin-right: 10upx;
  2746. }
  2747. .margin-right-sm {
  2748. margin-right: 20upx;
  2749. }
  2750. .margin-right {
  2751. margin-right: 30upx;
  2752. }
  2753. .margin-right-lg {
  2754. margin-right: 40upx;
  2755. }
  2756. .margin-right-xl {
  2757. margin-right: 50upx;
  2758. }
  2759. .margin-bottom-xs {
  2760. margin-bottom: 10upx;
  2761. }
  2762. .margin-bottom-sm {
  2763. margin-bottom: 20upx;
  2764. }
  2765. .margin-bottom {
  2766. margin-bottom: 30upx;
  2767. }
  2768. .margin-bottom-lg {
  2769. margin-bottom: 40upx;
  2770. }
  2771. .margin-bottom-xl {
  2772. margin-bottom: 50upx;
  2773. }
  2774. .margin-left-xs {
  2775. margin-left: 10upx;
  2776. }
  2777. .margin-left-sm {
  2778. margin-left: 20upx;
  2779. }
  2780. .margin-left {
  2781. margin-left: 30upx;
  2782. }
  2783. .margin-left-lg {
  2784. margin-left: 40upx;
  2785. }
  2786. .margin-left-xl {
  2787. margin-left: 50upx;
  2788. }
  2789. .margin-lr-xs {
  2790. margin-left: 10upx;
  2791. margin-right: 10upx;
  2792. }
  2793. .margin-lr-sm {
  2794. margin-left: 20upx;
  2795. margin-right: 20upx;
  2796. }
  2797. .margin-lr {
  2798. margin-left: 30upx;
  2799. margin-right: 30upx;
  2800. }
  2801. .margin-lr-lg {
  2802. margin-left: 40upx;
  2803. margin-right: 40upx;
  2804. }
  2805. .margin-lr-xl {
  2806. margin-left: 50upx;
  2807. margin-right: 50upx;
  2808. }
  2809. .margin-tb-xs {
  2810. margin-top: 10upx;
  2811. margin-bottom: 10upx;
  2812. }
  2813. .margin-tb-sm {
  2814. margin-top: 20upx;
  2815. margin-bottom: 20upx;
  2816. }
  2817. .margin-tb {
  2818. margin-top: 30upx;
  2819. margin-bottom: 30upx;
  2820. }
  2821. .margin-tb-lg {
  2822. margin-top: 40upx;
  2823. margin-bottom: 40upx;
  2824. }
  2825. .margin-tb-xl {
  2826. margin-top: 50upx;
  2827. margin-bottom: 50upx;
  2828. }
  2829. .padding-0 {
  2830. padding: 0;
  2831. }
  2832. .padding-xs {
  2833. padding: 10upx;
  2834. }
  2835. .padding-sm {
  2836. padding: 20upx;
  2837. }
  2838. .padding {
  2839. padding: 30upx;
  2840. }
  2841. .padding-lg {
  2842. padding: 40upx;
  2843. }
  2844. .padding-xl {
  2845. padding: 50upx;
  2846. }
  2847. .padding-top-xs {
  2848. padding-top: 10upx;
  2849. }
  2850. .padding-top-sm {
  2851. padding-top: 20upx;
  2852. }
  2853. .padding-top {
  2854. padding-top: 30upx;
  2855. }
  2856. .padding-top-lg {
  2857. padding-top: 40upx;
  2858. }
  2859. .padding-top-xl {
  2860. padding-top: 50upx;
  2861. }
  2862. .padding-right-xs {
  2863. padding-right: 10upx;
  2864. }
  2865. .padding-right-sm {
  2866. padding-right: 20upx;
  2867. }
  2868. .padding-right {
  2869. padding-right: 30upx;
  2870. }
  2871. .padding-right-lg {
  2872. padding-right: 40upx;
  2873. }
  2874. .padding-right-xl {
  2875. padding-right: 50upx;
  2876. }
  2877. .padding-bottom-xs {
  2878. padding-bottom: 10upx;
  2879. }
  2880. .padding-bottom-sm {
  2881. padding-bottom: 20upx;
  2882. }
  2883. .padding-bottom {
  2884. padding-bottom: 30upx;
  2885. }
  2886. .padding-bottom-lg {
  2887. padding-bottom: 40upx;
  2888. }
  2889. .padding-bottom-xl {
  2890. padding-bottom: 50upx;
  2891. }
  2892. .padding-left-xs {
  2893. padding-left: 10upx;
  2894. }
  2895. .padding-left-sm {
  2896. padding-left: 20upx;
  2897. }
  2898. .padding-left {
  2899. padding-left: 30upx;
  2900. }
  2901. .padding-left-lg {
  2902. padding-left: 40upx;
  2903. }
  2904. .padding-left-xl {
  2905. padding-left: 50upx;
  2906. }
  2907. .padding-lr-xs {
  2908. padding-left: 10upx;
  2909. padding-right: 10upx;
  2910. }
  2911. .padding-lr-sm {
  2912. padding-left: 20upx;
  2913. padding-right: 20upx;
  2914. }
  2915. .padding-lr {
  2916. padding-left: 30upx;
  2917. padding-right: 30upx;
  2918. }
  2919. .padding-lr-lg {
  2920. padding-left: 40upx;
  2921. padding-right: 40upx;
  2922. }
  2923. .padding-lr-xl {
  2924. padding-left: 50upx;
  2925. padding-right: 50upx;
  2926. }
  2927. .padding-tb-xs {
  2928. padding-top: 10upx;
  2929. padding-bottom: 10upx;
  2930. }
  2931. .padding-tb-sm {
  2932. padding-top: 20upx;
  2933. padding-bottom: 20upx;
  2934. }
  2935. .padding-tb {
  2936. padding-top: 30upx;
  2937. padding-bottom: 30upx;
  2938. }
  2939. .padding-tb-lg {
  2940. padding-top: 40upx;
  2941. padding-bottom: 40upx;
  2942. }
  2943. .padding-tb-xl {
  2944. padding-top: 50upx;
  2945. padding-bottom: 50upx;
  2946. }
  2947. /* -- 浮动 -- */
  2948. .cf::after,
  2949. .cf::before {
  2950. content: ' ';
  2951. display: table;
  2952. }
  2953. .cf::after {
  2954. clear: both;
  2955. }
  2956. .fl {
  2957. float: left;
  2958. }
  2959. .fr {
  2960. float: right;
  2961. }
  2962. /* ==================
  2963. 背景
  2964. ==================== */
  2965. .line-red::after,
  2966. .lines-red::after {
  2967. border-color: var(--red);
  2968. }
  2969. .line-orange::after,
  2970. .lines-orange::after {
  2971. border-color: var(--orange);
  2972. }
  2973. .line-yellow::after,
  2974. .lines-yellow::after {
  2975. border-color: var(--yellow);
  2976. }
  2977. .line-olive::after,
  2978. .lines-olive::after {
  2979. border-color: var(--olive);
  2980. }
  2981. .line-green::after,
  2982. .lines-green::after {
  2983. border-color: var(--green);
  2984. }
  2985. .line-cyan::after,
  2986. .lines-cyan::after {
  2987. border-color: var(--cyan);
  2988. }
  2989. .line-blue::after,
  2990. .lines-blue::after {
  2991. border-color: var(--blue);
  2992. }
  2993. .line-purple::after,
  2994. .lines-purple::after {
  2995. border-color: var(--purple);
  2996. }
  2997. .line-mauve::after,
  2998. .lines-mauve::after {
  2999. border-color: var(--mauve);
  3000. }
  3001. .line-pink::after,
  3002. .lines-pink::after {
  3003. border-color: var(--pink);
  3004. }
  3005. .line-brown::after,
  3006. .lines-brown::after {
  3007. border-color: var(--brown);
  3008. }
  3009. .line-grey::after,
  3010. .lines-grey::after {
  3011. border-color: var(--grey);
  3012. }
  3013. .line-gray::after,
  3014. .lines-gray::after {
  3015. border-color: var(--gray);
  3016. }
  3017. .line-black::after,
  3018. .lines-black::after {
  3019. border-color: var(--black);
  3020. }
  3021. .line-white::after,
  3022. .lines-white::after {
  3023. border-color: var(--white);
  3024. }
  3025. .bg-red {
  3026. background-color: var(--red);
  3027. color: var(--white);
  3028. }
  3029. .bg-orange {
  3030. background-color: var(--orange);
  3031. color: var(--white);
  3032. }
  3033. .bg-yellow {
  3034. background-color: var(--yellow);
  3035. color: var(--black);
  3036. }
  3037. .bg-olive {
  3038. background-color: var(--olive);
  3039. color: var(--white);
  3040. }
  3041. .bg-green {
  3042. background-color: var(--green);
  3043. color: var(--white);
  3044. }
  3045. .bg-cyan {
  3046. background-color: var(--cyan);
  3047. color: var(--white);
  3048. }
  3049. .bg-blue {
  3050. background-color: var(--blue);
  3051. color: var(--white);
  3052. }
  3053. .bg-purple {
  3054. background-color: var(--purple);
  3055. color: var(--white);
  3056. }
  3057. .bg-mauve {
  3058. background-color: var(--mauve);
  3059. color: var(--white);
  3060. }
  3061. .bg-pink {
  3062. background-color: var(--pink);
  3063. color: var(--white);
  3064. }
  3065. .bg-brown {
  3066. background-color: var(--brown);
  3067. color: var(--white);
  3068. }
  3069. .bg-grey {
  3070. background-color: var(--grey);
  3071. color: var(--white);
  3072. }
  3073. .bg-gray {
  3074. background-color: #f0f0f0;
  3075. color: var(--darkGray);
  3076. }
  3077. .bg-black {
  3078. background-color: var(--black);
  3079. color: var(--white);
  3080. }
  3081. .bg-white {
  3082. background-color: var(--white);
  3083. color: var(--darkGray);
  3084. }
  3085. .bg-shadeTop {
  3086. background-image: linear-gradient(rgba(0, 0, 0, 1), rgba(0, 0, 0, 0.01));
  3087. color: var(--white);
  3088. }
  3089. .bg-shadeBottom {
  3090. background-image: linear-gradient(rgba(0, 0, 0, 0.01), rgba(0, 0, 0, 1));
  3091. color: var(--white);
  3092. }
  3093. .bg-red.light {
  3094. color: var(--red);
  3095. background-color: var(--redLight);
  3096. }
  3097. .bg-orange.light {
  3098. color: var(--orange);
  3099. background-color: var(--orangeLight);
  3100. }
  3101. .bg-yellow.light {
  3102. color: var(--yellow);
  3103. background-color: var(--yellowLight);
  3104. }
  3105. .bg-olive.light {
  3106. color: var(--olive);
  3107. background-color: var(--oliveLight);
  3108. }
  3109. .bg-green.light {
  3110. color: var(--green);
  3111. background-color: var(--greenLight);
  3112. }
  3113. .bg-cyan.light {
  3114. color: var(--cyan);
  3115. background-color: var(--cyanLight);
  3116. }
  3117. .bg-blue.light {
  3118. color: var(--blue);
  3119. background-color: var(--blueLight);
  3120. }
  3121. .bg-purple.light {
  3122. color: var(--purple);
  3123. background-color: var(--purpleLight);
  3124. }
  3125. .bg-mauve.light {
  3126. color: var(--mauve);
  3127. background-color: var(--mauveLight);
  3128. }
  3129. .bg-pink.light {
  3130. color: var(--pink);
  3131. background-color: var(--pinkLight);
  3132. }
  3133. .bg-brown.light {
  3134. color: var(--brown);
  3135. background-color: var(--brownLight);
  3136. }
  3137. .bg-grey.light {
  3138. color: var(--grey);
  3139. background-color: var(--greyLight);
  3140. }
  3141. .bg-gradual-red {
  3142. background-image: var(--gradualRed);
  3143. color: var(--white);
  3144. }
  3145. .bg-gradual-orange {
  3146. background-image: var(--gradualOrange);
  3147. color: var(--white);
  3148. }
  3149. .bg-gradual-green {
  3150. background-image: var(--gradualGreen);
  3151. color: var(--white);
  3152. }
  3153. .bg-gradual-purple {
  3154. background-image: var(--gradualPurple);
  3155. color: var(--white);
  3156. }
  3157. .bg-gradual-pink {
  3158. background-image: var(--gradualPink);
  3159. color: var(--white);
  3160. }
  3161. .bg-gradual-blue {
  3162. background-image: var(--gradualBlue);
  3163. color: var(--white);
  3164. }
  3165. .shadow[class*='-red'] {
  3166. box-shadow: var(--ShadowSize) var(--redShadow);
  3167. }
  3168. .shadow[class*='-orange'] {
  3169. box-shadow: var(--ShadowSize) var(--orangeShadow);
  3170. }
  3171. .shadow[class*='-yellow'] {
  3172. box-shadow: var(--ShadowSize) var(--yellowShadow);
  3173. }
  3174. .shadow[class*='-olive'] {
  3175. box-shadow: var(--ShadowSize) var(--oliveShadow);
  3176. }
  3177. .shadow[class*='-green'] {
  3178. box-shadow: var(--ShadowSize) var(--greenShadow);
  3179. }
  3180. .shadow[class*='-cyan'] {
  3181. box-shadow: var(--ShadowSize) var(--cyanShadow);
  3182. }
  3183. .shadow[class*='-blue'] {
  3184. box-shadow: var(--ShadowSize) var(--blueShadow);
  3185. }
  3186. .shadow[class*='-purple'] {
  3187. box-shadow: var(--ShadowSize) var(--purpleShadow);
  3188. }
  3189. .shadow[class*='-mauve'] {
  3190. box-shadow: var(--ShadowSize) var(--mauveShadow);
  3191. }
  3192. .shadow[class*='-pink'] {
  3193. box-shadow: var(--ShadowSize) var(--pinkShadow);
  3194. }
  3195. .shadow[class*='-brown'] {
  3196. box-shadow: var(--ShadowSize) var(--brownShadow);
  3197. }
  3198. .shadow[class*='-grey'] {
  3199. box-shadow: var(--ShadowSize) var(--greyShadow);
  3200. }
  3201. .shadow[class*='-gray'] {
  3202. box-shadow: var(--ShadowSize) var(--grayShadow);
  3203. }
  3204. .shadow[class*='-black'] {
  3205. box-shadow: var(--ShadowSize) var(--blackShadow);
  3206. }
  3207. .shadow[class*='-white'] {
  3208. box-shadow: var(--ShadowSize) var(--blackShadow);
  3209. }
  3210. .text-shadow[class*='-red'] {
  3211. text-shadow: var(--ShadowSize) var(--redShadow);
  3212. }
  3213. .text-shadow[class*='-orange'] {
  3214. text-shadow: var(--ShadowSize) var(--orangeShadow);
  3215. }
  3216. .text-shadow[class*='-yellow'] {
  3217. text-shadow: var(--ShadowSize) var(--yellowShadow);
  3218. }
  3219. .text-shadow[class*='-olive'] {
  3220. text-shadow: var(--ShadowSize) var(--oliveShadow);
  3221. }
  3222. .text-shadow[class*='-green'] {
  3223. text-shadow: var(--ShadowSize) var(--greenShadow);
  3224. }
  3225. .text-shadow[class*='-cyan'] {
  3226. text-shadow: var(--ShadowSize) var(--cyanShadow);
  3227. }
  3228. .text-shadow[class*='-blue'] {
  3229. text-shadow: var(--ShadowSize) var(--blueShadow);
  3230. }
  3231. .text-shadow[class*='-purple'] {
  3232. text-shadow: var(--ShadowSize) var(--purpleShadow);
  3233. }
  3234. .text-shadow[class*='-mauve'] {
  3235. text-shadow: var(--ShadowSize) var(--mauveShadow);
  3236. }
  3237. .text-shadow[class*='-pink'] {
  3238. text-shadow: var(--ShadowSize) var(--pinkShadow);
  3239. }
  3240. .text-shadow[class*='-brown'] {
  3241. text-shadow: var(--ShadowSize) var(--brownShadow);
  3242. }
  3243. .text-shadow[class*='-grey'] {
  3244. text-shadow: var(--ShadowSize) var(--greyShadow);
  3245. }
  3246. .text-shadow[class*='-gray'] {
  3247. text-shadow: var(--ShadowSize) var(--grayShadow);
  3248. }
  3249. .text-shadow[class*='-black'] {
  3250. text-shadow: var(--ShadowSize) var(--blackShadow);
  3251. }
  3252. .bg-img {
  3253. background-size: cover;
  3254. background-position: center;
  3255. background-repeat: no-repeat;
  3256. }
  3257. .bg-mask {
  3258. background-color: var(--black);
  3259. position: relative;
  3260. }
  3261. .bg-mask::after {
  3262. content: '';
  3263. border-radius: inherit;
  3264. width: 100%;
  3265. height: 100%;
  3266. display: block;
  3267. background-color: rgba(0, 0, 0, 0.4);
  3268. position: absolute;
  3269. left: 0;
  3270. right: 0;
  3271. bottom: 0;
  3272. top: 0;
  3273. }
  3274. .bg-mask div,
  3275. .bg-mask cover-view {
  3276. z-index: 5;
  3277. position: relative;
  3278. }
  3279. .bg-video {
  3280. position: relative;
  3281. }
  3282. .bg-video video {
  3283. display: block;
  3284. height: 100%;
  3285. width: 100%;
  3286. -o-object-fit: cover;
  3287. object-fit: cover;
  3288. position: absolute;
  3289. top: 0;
  3290. z-index: 0;
  3291. pointer-events: none;
  3292. }
  3293. /* ==================
  3294. 文本
  3295. ==================== */
  3296. .text-xs {
  3297. font-size: 20upx;
  3298. }
  3299. .text-sm {
  3300. font-size: 24upx;
  3301. }
  3302. .text-df {
  3303. font-size: 28upx;
  3304. }
  3305. .text-lg {
  3306. font-size: 32upx;
  3307. }
  3308. .text-xl {
  3309. font-size: 36upx;
  3310. }
  3311. .text-xxl {
  3312. font-size: 44upx;
  3313. }
  3314. .text-sl {
  3315. font-size: 80upx;
  3316. }
  3317. .text-xsl {
  3318. font-size: 120upx;
  3319. }
  3320. .text-Abc {
  3321. text-transform: Capitalize;
  3322. }
  3323. .text-ABC {
  3324. text-transform: Uppercase;
  3325. }
  3326. .text-abc {
  3327. text-transform: Lowercase;
  3328. }
  3329. .text-price::before {
  3330. content: '¥';
  3331. font-size: 80%;
  3332. margin-right: 4upx;
  3333. }
  3334. .text-cut {
  3335. text-overflow: ellipsis;
  3336. white-space: nowrap;
  3337. overflow: hidden;
  3338. }
  3339. .text-bold {
  3340. font-weight: bold;
  3341. }
  3342. .text-center {
  3343. text-align: center;
  3344. }
  3345. .text-content {
  3346. line-height: 1.6;
  3347. }
  3348. .text-left {
  3349. text-align: left;
  3350. }
  3351. .text-right {
  3352. text-align: right;
  3353. }
  3354. .text-red,
  3355. .line-red,
  3356. .lines-red {
  3357. color: var(--red);
  3358. }
  3359. .text-orange,
  3360. .line-orange,
  3361. .lines-orange {
  3362. color: var(--orange);
  3363. }
  3364. .text-yellow,
  3365. .line-yellow,
  3366. .lines-yellow {
  3367. color: var(--yellow);
  3368. }
  3369. .text-olive,
  3370. .line-olive,
  3371. .lines-olive {
  3372. color: var(--olive);
  3373. }
  3374. .text-green,
  3375. .line-green,
  3376. .lines-green {
  3377. color: var(--green);
  3378. }
  3379. .text-cyan,
  3380. .line-cyan,
  3381. .lines-cyan {
  3382. color: var(--cyan);
  3383. }
  3384. .text-blue,
  3385. .line-blue,
  3386. .lines-blue {
  3387. color: var(--blue);
  3388. }
  3389. .text-purple,
  3390. .line-purple,
  3391. .lines-purple {
  3392. color: var(--purple);
  3393. }
  3394. .text-mauve,
  3395. .line-mauve,
  3396. .lines-mauve {
  3397. color: var(--mauve);
  3398. }
  3399. .text-pink,
  3400. .line-pink,
  3401. .lines-pink {
  3402. color: var(--pink);
  3403. }
  3404. .text-brown,
  3405. .line-brown,
  3406. .lines-brown {
  3407. color: var(--brown);
  3408. }
  3409. .text-grey,
  3410. .line-grey,
  3411. .lines-grey {
  3412. color: var(--grey);
  3413. }
  3414. .text-gray,
  3415. .line-gray,
  3416. .lines-gray {
  3417. color: var(--gray);
  3418. }
  3419. .text-black,
  3420. .line-black,
  3421. .lines-black {
  3422. color: var(--black);
  3423. }
  3424. .text-white,
  3425. .line-white,
  3426. .lines-white {
  3427. color: var(--white);
  3428. }