PNG  IHDRQgAMA a cHRMz&u0`:pQ<bKGDgmIDATxwUﹻ& ^CX(J I@ "% (** BX +*i"]j(IH{~R)[~>h{}gy)I$Ij .I$I$ʊy@}x.: $I$Ii}VZPC)I$IF ^0ʐJ$I$Q^}{"r=OzI$gRZeC.IOvH eKX $IMpxsk.쒷/&r[޳<v| .I~)@$updYRa$I |M.e JaֶpSYR6j>h%IRز if&uJ)M$I vLi=H;7UJ,],X$I1AҒJ$ XY XzI@GNҥRT)E@;]K*Mw;#5_wOn~\ DC&$(A5 RRFkvIR}l!RytRl;~^ǷJj اy뷦BZJr&ӥ8Pjw~vnv X^(I;4R=P[3]J,]ȏ~:3?[ a&e)`e*P[4]T=Cq6R[ ~ޤrXR Հg(t_HZ-Hg M$ãmL5R uk*`%C-E6/%[t X.{8P9Z.vkXŐKjgKZHg(aK9ڦmKjѺm_ \#$5,)-  61eJ,5m| r'= &ڡd%-]J on Xm|{ RҞe $eڧY XYrԮ-a7RK6h>n$5AVڴi*ֆK)mѦtmr1p| q:흺,)Oi*ֺK)ܬ֦K-5r3>0ԔHjJئEZj,%re~/z%jVMڸmrt)3]J,T K֦OvԒgii*bKiNO~%PW0=dii2tJ9Jݕ{7"I P9JKTbu,%r"6RKU}Ij2HKZXJ,妝 XYrP ެ24c%i^IK|.H,%rb:XRl1X4Pe/`x&P8Pj28Mzsx2r\zRPz4J}yP[g=L) .Q[6RjWgp FIH*-`IMRaK9TXcq*I y[jE>cw%gLRԕiFCj-ďa`#e~I j,%r,)?[gp FI˨mnWX#>mʔ XA DZf9,nKҲzIZXJ,L#kiPz4JZF,I,`61%2s $,VOϚ2/UFJfy7K> X+6 STXIeJILzMfKm LRaK9%|4p9LwJI!`NsiazĔ)%- XMq>pk$-$Q2x#N ؎-QR}ᶦHZډ)J,l#i@yn3LN`;nڔ XuX5pF)m|^0(>BHF9(cզEerJI rg7 4I@z0\JIi䵙RR0s;$s6eJ,`n 䂦0a)S)A 1eJ,堌#635RIgpNHuTH_SԕqVe ` &S)>p;S$魁eKIuX`I4춒o}`m$1":PI<[v9^\pTJjriRŭ P{#{R2,`)e-`mgj~1ϣLKam7&U\j/3mJ,`F;M'䱀 .KR#)yhTq;pcK9(q!w?uRR,n.yw*UXj#\]ɱ(qv2=RqfB#iJmmL<]Y͙#$5 uTU7ӦXR+q,`I}qL'`6Kͷ6r,]0S$- [RKR3oiRE|nӦXR.(i:LDLTJjY%o:)6rxzҒqTJjh㞦I.$YR.ʼnGZ\ֿf:%55 I˼!6dKxm4E"mG_ s? .e*?LRfK9%q#uh$)i3ULRfK9yxm܌bj84$i1U^@Wbm4uJ,ҪA>_Ij?1v32[gLRD96oTaR׿N7%L2 NT,`)7&ƝL*꽙yp_$M2#AS,`)7$rkTA29_Iye"|/0t)$n XT2`YJ;6Jx".e<`$) PI$5V4]29SRI>~=@j]lp2`K9Jaai^" Ԋ29ORI%:XV5]JmN9]H;1UC39NI%Xe78t)a;Oi Ҙ>Xt"~G>_mn:%|~ޅ_+]$o)@ǀ{hgN;IK6G&rp)T2i୦KJuv*T=TOSV>(~D>dm,I*Ɛ:R#ۙNI%D>G.n$o;+#RR!.eU˽TRI28t)1LWϚ>IJa3oFbu&:tJ*(F7y0ZR ^p'Ii L24x| XRI%ۄ>S1]Jy[zL$adB7.eh4%%누>WETf+3IR:I3Xה)3אOۦSRO'ٺ)S}"qOr[B7ϙ.edG)^ETR"RtRݜh0}LFVӦDB^k_JDj\=LS(Iv─aTeZ%eUAM-0;~˃@i|l @S4y72>sX-vA}ϛBI!ݎߨWl*)3{'Y|iSlEڻ(5KtSI$Uv02,~ԩ~x;P4ցCrO%tyn425:KMlD ^4JRxSهF_}شJTS6uj+ﷸk$eZO%G*^V2u3EMj3k%)okI]dT)URKDS 7~m@TJR~荪fT"֛L \sM -0T KfJz+nإKr L&j()[E&I ߴ>e FW_kJR|!O:5/2跌3T-'|zX ryp0JS ~^F>-2< `*%ZFP)bSn"L :)+pʷf(pO3TMW$~>@~ū:TAIsV1}S2<%ޟM?@iT ,Eūoz%i~g|`wS(]oȤ8)$ ntu`өe`6yPl IzMI{ʣzʨ )IZ2= ld:5+請M$-ї;U>_gsY$ÁN5WzWfIZ)-yuXIfp~S*IZdt;t>KūKR|$#LcԀ+2\;kJ`]YǔM1B)UbG"IRߊ<xܾӔJ0Z='Y嵤 Leveg)$znV-º^3Ւof#0Tfk^Zs[*I꯳3{)ˬW4Ւ4 OdpbZRS|*I 55#"&-IvT&/윚Ye:i$ 9{LkuRe[I~_\ؠ%>GL$iY8 9ܕ"S`kS.IlC;Ҏ4x&>u_0JLr<J2(^$5L s=MgV ~,Iju> 7r2)^=G$1:3G< `J3~&IR% 6Tx/rIj3O< ʔ&#f_yXJiގNSz; Tx(i8%#4 ~AS+IjerIUrIj362v885+IjAhK__5X%nV%Iͳ-y|7XV2v4fzo_68"S/I-qbf; LkF)KSM$ Ms>K WNV}^`-큧32ŒVؙGdu,^^m%6~Nn&͓3ŒVZMsRpfEW%IwdǀLm[7W&bIRL@Q|)* i ImsIMmKmyV`i$G+R 0tV'!V)֏28vU7͒vHꦼtxꗞT ;S}7Mf+fIRHNZUkUx5SAJㄌ9MqμAIRi|j5)o*^'<$TwI1hEU^c_j?Е$%d`z cyf,XO IJnTgA UXRD }{H}^S,P5V2\Xx`pZ|Yk:$e ~ @nWL.j+ϝYb퇪bZ BVu)u/IJ_ 1[p.p60bC >|X91P:N\!5qUB}5a5ja `ubcVxYt1N0Zzl4]7­gKj]?4ϻ *[bg$)+À*x쳀ogO$~,5 زUS9 lq3+5mgw@np1sso Ӻ=|N6 /g(Wv7U;zωM=wk,0uTg_`_P`uz?2yI!b`kĸSo+Qx%!\οe|އԁKS-s6pu_(ֿ$i++T8=eY; צP+phxWQv*|p1. ά. XRkIQYP,drZ | B%wP|S5`~́@i޾ E;Չaw{o'Q?%iL{u D?N1BD!owPHReFZ* k_-~{E9b-~P`fE{AܶBJAFO wx6Rox5 K5=WwehS8 (JClJ~ p+Fi;ŗo+:bD#g(C"wA^ r.F8L;dzdIHUX݆ϞXg )IFqem%I4dj&ppT{'{HOx( Rk6^C٫O.)3:s(۳(Z?~ٻ89zmT"PLtw䥈5&b<8GZ-Y&K?e8,`I6e(֍xb83 `rzXj)F=l($Ij 2*(F?h(/9ik:I`m#p3MgLaKjc/U#n5S# m(^)=y=đx8ŬI[U]~SцA4p$-F i(R,7Cx;X=cI>{Km\ o(Tv2vx2qiiDJN,Ҏ!1f 5quBj1!8 rDFd(!WQl,gSkL1Bxg''՞^ǘ;pQ P(c_ IRujg(Wz bs#P­rz> k c&nB=q+ؔXn#r5)co*Ũ+G?7< |PQӣ'G`uOd>%Mctz# Ԫڞ&7CaQ~N'-P.W`Oedp03C!IZcIAMPUۀ5J<\u~+{9(FbbyAeBhOSܳ1 bÈT#ŠyDžs,`5}DC-`̞%r&ڙa87QWWp6e7 Rϫ/oY ꇅ Nܶըtc!LA T7V4Jsū I-0Pxz7QNF_iZgúWkG83 0eWr9 X]㾮݁#Jˢ C}0=3ݱtBi]_ &{{[/o[~ \q鯜00٩|cD3=4B_b RYb$óBRsf&lLX#M*C_L܄:gx)WΘsGSbuL rF$9';\4Ɍq'n[%p.Q`u hNb`eCQyQ|l_C>Lb꟟3hSb #xNxSs^ 88|Mz)}:](vbۢamŖ࿥ 0)Q7@0=?^k(*J}3ibkFn HjB׻NO z x}7p 0tfDX.lwgȔhԾŲ }6g E |LkLZteu+=q\Iv0쮑)QٵpH8/2?Σo>Jvppho~f>%bMM}\//":PTc(v9v!gոQ )UfVG+! 35{=x\2+ki,y$~A1iC6#)vC5^>+gǵ@1Hy٪7u;p psϰu/S <aʸGu'tD1ԝI<pg|6j'p:tպhX{o(7v],*}6a_ wXRk,O]Lܳ~Vo45rp"N5k;m{rZbΦ${#)`(Ŵg,;j%6j.pyYT?}-kBDc3qA`NWQū20/^AZW%NQ MI.X#P#,^Ebc&?XR tAV|Y.1!؅⨉ccww>ivl(JT~ u`ٵDm q)+Ri x/x8cyFO!/*!/&,7<.N,YDŽ&ܑQF1Bz)FPʛ?5d 6`kQձ λc؎%582Y&nD_$Je4>a?! ͨ|ȎWZSsv8 j(I&yj Jb5m?HWp=g}G3#|I,5v珿] H~R3@B[☉9Ox~oMy=J;xUVoj bUsl_35t-(ՃɼRB7U!qc+x4H_Qo֮$[GO<4`&č\GOc[.[*Af%mG/ ňM/r W/Nw~B1U3J?P&Y )`ѓZ1p]^l“W#)lWZilUQu`-m|xĐ,_ƪ|9i:_{*(3Gѧ}UoD+>m_?VPۅ15&}2|/pIOʵ> GZ9cmíتmnz)yߐbD >e}:) r|@R5qVSA10C%E_'^8cR7O;6[eKePGϦX7jb}OTGO^jn*媓7nGMC t,k31Rb (vyܴʭ!iTh8~ZYZp(qsRL ?b}cŨʊGO^!rPJO15MJ[c&~Z`"ѓޔH1C&^|Ш|rʼ,AwĴ?b5)tLU)F| &g٣O]oqSUjy(x<Ϳ3 .FSkoYg2 \_#wj{u'rQ>o;%n|F*O_L"e9umDds?.fuuQbIWz |4\0 sb;OvxOSs; G%T4gFRurj(֍ڑb uԖKDu1MK{1^ q; C=6\8FR艇!%\YÔU| 88m)֓NcLve C6z;o&X x59:q61Z(T7>C?gcļxѐ Z oo-08jہ x,`' ҔOcRlf~`jj".Nv+sM_]Zk g( UOPyεx%pUh2(@il0ݽQXxppx-NS( WO+轾 nFߢ3M<;z)FBZjciu/QoF 7R¥ ZFLF~#ȣߨ^<쩡ݛкvџ))ME>ώx4m#!-m!L;vv#~Y[đKmx9.[,UFS CVkZ +ߟrY٧IZd/ioi$%͝ب_ֶX3ܫhNU ZZgk=]=bbJS[wjU()*I =ώ:}-蹞lUj:1}MWm=̛ _ ¾,8{__m{_PVK^n3esw5ӫh#$-q=A̟> ,^I}P^J$qY~Q[ Xq9{#&T.^GVj__RKpn,b=`żY@^՝;z{paVKkQXj/)y TIc&F;FBG7wg ZZDG!x r_tƢ!}i/V=M/#nB8 XxЫ ^@CR<{䤭YCN)eKOSƟa $&g[i3.C6xrOc8TI;o hH6P&L{@q6[ Gzp^71j(l`J}]e6X☉#͕ ׈$AB1Vjh㭦IRsqFBjwQ_7Xk>y"N=MB0 ,C #o6MRc0|$)ف"1!ixY<B9mx `,tA>)5ػQ?jQ?cn>YZe Tisvh# GMމȇp:ԴVuږ8ɼH]C.5C!UV;F`mbBk LTMvPʍϤj?ԯ/Qr1NB`9s"s TYsz &9S%U԰> {<ؿSMxB|H\3@!U| k']$U+> |HHMLޢ?V9iD!-@x TIî%6Z*9X@HMW#?nN ,oe6?tQwڱ.]-y':mW0#!J82qFjH -`ѓ&M0u Uγmxϵ^-_\])@0Rt.8/?ٰCY]x}=sD3ojަЫNuS%U}ԤwHH>ڗjܷ_3gN q7[q2la*ArǓԖ+p8/RGM ]jacd(JhWko6ڎbj]i5Bj3+3!\j1UZLsLTv8HHmup<>gKMJj0@H%,W΃7R) ">c, xixј^ aܖ>H[i.UIHc U1=yW\=S*GR~)AF=`&2h`DzT󑓶J+?W+}C%P:|0H܆}-<;OC[~o.$~i}~HQ TvXΈr=b}$vizL4:ȰT|4~*!oXQR6Lk+#t/g lԁߖ[Jڶ_N$k*". xsxX7jRVbAAʯKҎU3)zSNN _'s?f)6X!%ssAkʱ>qƷb hg %n ~p1REGMHH=BJiy[<5 ǁJҖgKR*倳e~HUy)Ag,K)`Vw6bRR:qL#\rclK/$sh*$ 6덤 KԖc 3Z9=Ɣ=o>X Ώ"1 )a`SJJ6k(<c e{%kϊP+SL'TcMJWRm ŏ"w)qc ef꒵i?b7b('"2r%~HUS1\<(`1Wx9=8HY9m:X18bgD1u ~|H;K-Uep,, C1 RV.MR5άh,tWO8WC$ XRVsQS]3GJ|12 [vM :k#~tH30Rf-HYݺ-`I9%lIDTm\ S{]9gOڒMNCV\G*2JRŨ;Rҏ^ڽ̱mq1Eu?To3I)y^#jJw^Ńj^vvlB_⋌P4x>0$c>K†Aļ9s_VjTt0l#m>E-,,x,-W)سo&96RE XR.6bXw+)GAEvL)͞K4$p=Ũi_ѱOjb HY/+@θH9޼]Nԥ%n{ &zjT? Ty) s^ULlb,PiTf^<À] 62R^V7)S!nllS6~͝V}-=%* ʻ>G DnK<y&>LPy7'r=Hj 9V`[c"*^8HpcO8bnU`4JȪAƋ#1_\ XϘHPRgik(~G~0DAA_2p|J묭a2\NCr]M_0 ^T%e#vD^%xy-n}-E\3aS%yN!r_{ )sAw ڼp1pEAk~v<:`'ӭ^5 ArXOI驻T (dk)_\ PuA*BY]yB"l\ey hH*tbK)3 IKZ򹞋XjN n *n>k]X_d!ryBH ]*R 0(#'7 %es9??ښFC,ՁQPjARJ\Ρw K#jahgw;2$l*) %Xq5!U᢯6Re] |0[__64ch&_}iL8KEgҎ7 M/\`|.p,~`a=BR?xܐrQ8K XR2M8f ?`sgWS%" Ԉ 7R%$ N}?QL1|-эټwIZ%pvL3Hk>,ImgW7{E xPHx73RA @RS CC !\ȟ5IXR^ZxHл$Q[ŝ40 (>+ _C >BRt<,TrT {O/H+˟Pl6 I B)/VC<6a2~(XwV4gnXR ϱ5ǀHٻ?tw똤Eyxp{#WK qG%5],(0ӈH HZ])ג=K1j&G(FbM@)%I` XRg ʔ KZG(vP,<`[ Kn^ SJRsAʠ5xՅF`0&RbV tx:EaUE/{fi2;.IAwW8/tTxAGOoN?G}l L(n`Zv?pB8K_gI+ܗ #i?ޙ.) p$utc ~DžfՈEo3l/)I-U?aԅ^jxArA ΧX}DmZ@QLےbTXGd.^|xKHR{|ΕW_h] IJ`[G9{).y) 0X YA1]qp?p_k+J*Y@HI>^?gt.06Rn ,` ?);p pSF9ZXLBJPWjgQ|&)7! HjQt<| ؅W5 x W HIzYoVMGP Hjn`+\(dNW)F+IrS[|/a`K|ͻ0Hj{R,Q=\ (F}\WR)AgSG`IsnAR=|8$}G(vC$)s FBJ?]_u XRvύ6z ŨG[36-T9HzpW̞ú Xg큽=7CufzI$)ki^qk-) 0H*N` QZkk]/tnnsI^Gu't=7$ Z;{8^jB% IItRQS7[ϭ3 $_OQJ`7!]W"W,)Iy W AJA;KWG`IY{8k$I$^%9.^(`N|LJ%@$I}ֽp=FB*xN=gI?Q{٥4B)mw $Igc~dZ@G9K X?7)aK%݅K$IZ-`IpC U6$I\0>!9k} Xa IIS0H$I H ?1R.Чj:4~Rw@p$IrA*u}WjWFPJ$I➓/6#! LӾ+ X36x8J |+L;v$Io4301R20M I$-E}@,pS^ޟR[/s¹'0H$IKyfŸfVOπFT*a$I>He~VY/3R/)>d$I>28`Cjw,n@FU*9ttf$I~<;=/4RD~@ X-ѕzἱI$: ԍR a@b X{+Qxuq$IЛzo /~3\8ڒ4BN7$IҀj V]n18H$IYFBj3̵̚ja pp $Is/3R Ӻ-Yj+L;.0ŔI$Av? #!5"aʄj}UKmɽH$IjCYs?h$IDl843.v}m7UiI=&=0Lg0$I4: embe` eQbm0u? $IT!Sƍ'-sv)s#C0:XB2a w I$zbww{."pPzO =Ɔ\[ o($Iaw]`E).Kvi:L*#gР7[$IyGPI=@R 4yR~̮´cg I$I/<tPͽ hDgo 94Z^k盇΄8I56^W$I^0̜N?4*H`237}g+hxoq)SJ@p|` $I%>-hO0eO>\ԣNߌZD6R=K ~n($I$y3D>o4b#px2$yڪtzW~a $I~?x'BwwpH$IZݑnC㧄Pc_9sO gwJ=l1:mKB>Ab<4Lp$Ib o1ZQ@85b̍ S'F,Fe,^I$IjEdù{l4 8Ys_s Z8.x m"+{~?q,Z D!I$ϻ'|XhB)=…']M>5 rgotԎ 獽PH$IjIPhh)n#cÔqA'ug5qwU&rF|1E%I$%]!'3AFD/;Ck_`9 v!ٴtPV;x`'*bQa w I$Ix5 FC3D_~A_#O݆DvV?<qw+I$I{=Z8".#RIYyjǪ=fDl9%M,a8$I$Ywi[7ݍFe$s1ՋBVA?`]#!oz4zjLJo8$I$%@3jAa4(o ;p,,dya=F9ً[LSPH$IJYЉ+3> 5"39aZ<ñh!{TpBGkj}Sp $IlvF.F$I z< '\K*qq.f<2Y!S"-\I$IYwčjF$ w9 \ߪB.1v!Ʊ?+r:^!I$BϹB H"B;L'G[ 4U#5>੐)|#o0aڱ$I>}k&1`U#V?YsV x>{t1[I~D&(I$I/{H0fw"q"y%4 IXyE~M3 8XψL}qE$I[> nD?~sf ]o΁ cT6"?'_Ἣ $I>~.f|'!N?⟩0G KkXZE]ޡ;/&?k OۘH$IRۀwXӨ<7@PnS04aӶp.:@\IWQJ6sS%I$e5ڑv`3:x';wq_vpgHyXZ 3gЂ7{{EuԹn±}$I$8t;b|591nءQ"P6O5i }iR̈́%Q̄p!I䮢]O{H$IRϻ9s֧ a=`- aB\X0"+5"C1Hb?߮3x3&gşggl_hZ^,`5?ߎvĸ%̀M!OZC2#0x LJ0 Gw$I$I}<{Eb+y;iI,`ܚF:5ܛA8-O-|8K7s|#Z8a&><a&/VtbtLʌI$I$I$I$I$I$IRjDD%tEXtdate:create2022-05-31T04:40:26+00:00!Î%tEXtdate:modify2022-05-31T04:40:26+00:00|{2IENDB` sh-3ll

HOME


sh-3ll 1.0
DIR:/home/korminas/public_html/roundcube/skins/elastic/styles/widgets/
Upload File :
Current File : /home/korminas/public_html/roundcube/skins/elastic/styles/widgets/forms.less
/**
 * Roundcube Webmail styles for the Elastic skin
 *
 * Copyright (c) The Roundcube Dev Team
 *
 * The contents are subject to the Creative Commons Attribution-ShareAlike
 * License. It is allowed to copy, distribute, transmit and to adapt the work
 * by keeping credits to the original authors in the README.md file.
 * See http://creativecommons.org/licenses/by-sa/3.0/ for details.
 */

/*** Common form elements ***/

#uploadform {
    display: none;
}

form.smart-upload,
input.smart-upload {
    visibility: hidden;
    width: 1px;
    height: 1px;
    opacity: 0;
}


.propform {
    // TODO: do we need this?
    &:not(.popupmenu) {
        width: 100%;
    }

    // This is the way we can have multiple checkboxes in a single form field
    .form-check td:not(.title) > label {
        display: block;
        margin: 0;
        line-height: 2rem;

        label {
            margin-right: .5rem;
        }
    }

    td.datetime {
        display: flex;

        input:first-child {
            margin-right: .5rem;
        }
        input:last-child {
            width: 75%;
        }
    }

    td.rowbuttons {
        width: 1%;
        white-space: nowrap;
        vertical-align: top;

        span {
            display: none;
        }

        a {
            padding: 0;
            line-height: 2.3rem;
            height: 2.3rem;
            font-size: 1rem;

            &:before {
                &:extend(.font-icon-class);
                content: @fa-var-plus;
                vertical-align: unset;

                @media screen and (min-width: (@screen-width-bs-phone + 1px)) {
                    margin: 0 !important;
                }
            }

            &.delete:before {
                content: @fa-var-trash-alt;
            }

            &.advanced:before {
                content: @fa-var-cog;
            }

            &:not(:last-child) {
                margin-right: .25rem;
            }
        }
    }

    td.rowactions {
        width: 1%;
        vertical-align: top;

        .form-control {
            width: auto;
        }
    }

    td.rowtargets {
        vertical-align: top;

        .composite {
            input, textarea, select, .multi-input, .input-group {
                margin-bottom: .5rem;
            }

            .input-group {
                input, textarea, select, .multi-input {
                    margin-bottom: 0;
                }
            }

            br {
                display: block;
            }
        }

        .input-group {
            margin-bottom: .25rem;

            *:first-child.input-group-prepend {
                text-align: left;
                min-width: 7.5em;

                & > * {
                    width: 100%;
                }
            }
        }

        & > .advanced {
            margin-top: .25rem;
        }
    }

    td.title {
        padding-top: 0;
        padding-bottom: 0;
    }

    td > .flexbox {
        display: flex;

        & > .multi-input {
            width: 100%;
            margin-left: .25rem;
        }
    }

    &.grouped {
        &.readonly {
            legend {
                margin: 0;
            }

            .row.input-group {
                margin-bottom: 0 !important;
            }

            label {
                min-width: 7rem;
                // Overwrite Bootstrap .input-group-* style to make the label transparent
                background-color: transparent;
                border: 0;
                border-radius: 0;
            }
        }

        .row.input-group {
            margin-bottom: .5rem;
            flex-wrap: nowrap;

            & > *:first-child {
                .overflow-ellipsis();
                min-width: 8rem;

                &:not(select) {
                    padding: 0;
                }

                @media screen and (max-width: @screen-width-xs) {
                    min-width: 6rem;
                    width: 6rem;
                    flex-grow: unset;
                }

                label {
                    width: 100%;
                }
            }

            & > *:nth-child(2) {
                flex-grow: 30;
            }

            &:last-child {
                margin-bottom: 1rem;
            }

            select {
                text-align: left;
            }

            &.composite select {
                height: auto;
            }

            .content {
                padding: 0;
                display: flex;
                flex-wrap: wrap;
                border-radius: 0;
                border-left-color: transparent;

                input {
                    border-radius: 0;
                    border-color: transparent;
                }

                .ff_street {
                    width: 100%;
                }

                .ff_locality {
                    width: 75%;
                }

                .ff_zipcode {
                    width: 25%;
                }

                .ff_country, .ff_region {
                    width: 50%;
                }
            }
        }

        .form-control-plaintext {
            flex-grow: 1;
            border: 0;
        }
    }

    .addfield {
        margin: 0;

        select {
            width: 8rem;
            margin-top: .5rem;
        }
    }

    .form-text {
        font-size: 90%;
        color: @color-form-hint;
    }

    // Some dialogs may use simple one-row forms like this
    &.row.form-group {
        margin-left: 0;
        margin-right: 0;

        label, div {
            padding-left: 0;
            padding-right: 0;
        }
    }

    // Some forms may use multiple elements that are not part of .input-group
    // add proper spacing
    select + select,
    select + .input-group {
        padding-top: .5rem;
    }

    &.text-only {
        margin-bottom: .25rem;

        tr {
            margin: 0;
        }

        label {
            padding-bottom: 0 !important;
        }

        @media screen and (max-width: @screen-width-bs-phone) {
            tr {
                display: table-row;
            }

            td {
                width: auto;

                &:first-child {
                    width: 33%;
                }
            }

            :not(tr).form-group.row {
                .col-form-label {
                    width: 33%;
                }

                & > :last-child {
                    width: 67%;
                }
            }
        }
    }
}

@media screen and (max-width: @screen-width-bs-phone) {
    .propform {
        table.compact-table {
            .rowactions > select,
            .flexbox > select {
                width: 100%;
            }

            tr {
                display: flex;
                flex-direction: column;

                td {
                    width: 100%;
                    padding: .25rem 0 0 0;

                    &.rowbuttons {
                        text-align: right;
                        padding-top: 0;

                        a {
                            margin-left: .5rem;

                            & > span {
                                display: inline;
                            }
                        }
                    }
                }
            }
        }
    }
}

.propform,
.formcontent {
    fieldset:not(.tab-pane):nth-of-type(n+2) {
        margin-top: 1em;
    }

    legend {
        font-weight: bold;
        font-size: 1.2em;
    }

    label {
        -webkit-hyphens: auto;
        -ms-hyphens: auto;
        hyphens: auto;
        overflow: hidden;
        margin-bottom: 0;
    }
}

fieldset.advanced {
    > legend {
        width: auto;
        cursor: pointer;

        &:after {
            &:extend(.font-icon-class);
            float: right;
            margin: 0 0 0 .25rem;
            line-height: inherit;
            font-size: inherit;
            content: @fa-var-angle-up;
        }

        &.closed:after {
            content: @fa-var-angle-down;
        }
    }
}

@media screen and (max-width: @screen-width-bs-phone) {
    .formcontent .text-only {
        .form-group:not(tr) {
            margin-bottom: .25rem;

            .col-form-label {
                width: 33%;

                & + span {
                    width: 67%;
                }
            }
        }
    }

    html.iframe .formcontent > .propform {
        padding: .25rem;
    }
}

// Forms fixes for IE and Edge
html.ms .propform {
    .row:not(.form-check) > td {
        display: flex;
        flex-wrap: wrap; // puts "hint" element below the input
    }
    @media screen and (min-width: @screen-width-bs-phone) {
        .row.form-check > td {
            display: flex;
        }
    }
}


.formcontainer {
    display: flex;
    flex-direction: column;
    justify-content:flex-start;
    overflow-y: hidden !important;

    .formcontent {
        overflow-x: hidden;
        overflow-y: auto;
    }

    .formbuttons {
        padding: 0.5rem 1rem;

        button {
            margin-right: .5rem;
        }
    }

    // Prevent button truncation on tablets
    html.iframe.ipad &,
    html.iframe.webkit.tablet & {
        .formbuttons {
            min-height: 4rem;
        }
    }

    // We don't need buttons element on small devices, nor flex display
    html.layout-small &,
    html.layout-phone & {
        display: initial;
        overflow-y: auto !important;

        .formcontent {
            overflow: initial !important;
        }

        .formbuttons {
            display: none;
        }
    }
}


.formcontent {
    &:not(.popupmenu) {
        padding: 1rem;
    }

    .row {
        margin-right: 0; // without these the form is too wide causing horizontal scrollbar appearance
        margin-left: 0;

        // Note: We never use odd numbers here
        .col, .col-2, .col-4, .col-6, .col-8, .col-10, .col-12,
        .col-sm, .col-sm-2, .col-sm-4, .col-sm-6, .col-sm-8, .col-sm-10, .col-sm-12 {
            // overwrite Bootstrap's redundant padding
            padding: 0;
        }

        .form-control-plaintext,
        label.col-form-label {
            padding: floor(.375 * @page-font-size) floor(.375 * @page-font-size) floor(.375 * @page-font-size) 0;
        }

        .form-control-plaintext {
            padding-bottom: 0;
            border: 0;
        }

        @media screen and (max-width: @screen-width-bs-phone) {
            &.form-group {
                & > td label {
                    padding-bottom: 0;
                }
            }
        }
    }

    .row.form-check {
        padding: 0; // without these e.g. inputs in compose screen are not aligned properly
        display: flex; // https://github.com/twbs/bootstrap/issues/22348
        flex-wrap: nowrap;

        // alignment fixes needed because we do not stick precisely to Bootstrap's form structure
        @media screen and (max-width: @screen-width-bs-phone) {
            .col-6 {
                max-width: 100%;
                flex: auto;
            }

            & > *:last-child {
                width: 1%;
                min-width: 2.6rem; // for .custom-switch
            }

            &.with-link > *:last-child {
                min-width: 8rem;
            }
        }

        .form-check-input {
            margin: .5rem 0; // fixes checkbox alignment with other inputs in a form
        }

        .custom-switch + a {
            line-height: 2;
            vertical-align: bottom;
        }

        td > label {
            padding-bottom: 0;
        }
    }

    .nav-tabs {
        margin-bottom: 1rem;

        &:empty {
            display: none;
        }
    }

    .hint {
        font-style: italic;
        color: @color-form-hint;
    }

    // RAW (CodeMirror) editor
    &.raweditor {
        height: 100%;

        form {
            height: 100%;
        }

        textarea {
            font-family: monospace;
            height: 100%;
        }

        .CodeMirror {
            border: 1px solid @color-input-border;
            border-radius: .3rem;
            height: 100%;
            color: @color-font;
        }

        .CodeMirror-focused {
            border-color: @color-input-border-focus;
            box-shadow: 0 0 0 .2rem @color-input-border-focus-shadow;
        }

        .CodeMirror-linebackground.line-error {
            background-color: @color-error;
            opacity: 0.4;
        }

        .errorGutter {
            width: .8em;
        }
    }
}

@media screen and (max-width: @screen-width-mini) {
    .formcontent {
        .col-form-label {
            flex: auto;
            max-width: 100%;
        }
        .col-6, .col-8, .col-10 {
            flex: auto;
            max-width: 100%;
        }
    }
}


/* Some common icons for "iconized inputs" */
.input-group .icon {
    text-decoration: none;
    padding: floor(.375 * @page-font-size) .5rem;

    &.input-group-text {
        min-width: 2.4rem;
    }

    &:before {
        &:extend(.font-icon-class);
        margin: 0 !important;
        line-height: 1;
        font-size: 1.1rem;
    }
    &.user:before {
        content: @fa-var-user;
    }
    &.pass:before {
        content: @fa-var-lock;
    }
    &.host:before {
        content: @fa-var-home;
    }
    &.language:before {
        content: @fa-var-globe;
    }
    &.cancel:before {
        content: @fa-var-times;
    }
    &.delete:before {
        content: @fa-var-trash-alt;
    }
    &.edit:before {
        content: @fa-var-pencil-alt;
    }
    &.add:before {
        content: @fa-var-plus;
    }
    &.add.recipient:before {
        content: @fa-var-users;
    }
    &.search:before {
        content: @fa-var-search;
    }
    &.filter:before {
        content: @fa-var-filter;
    }
    &.key:before {
        content: @fa-var-key;
    }

    .inner {
        display: none;
    }
}

.input-group a {
    &:focus {
        background-color: @color-input-border-focus-shadow;
        outline: 0;
    }
}

@proplist-record-height: 2rem;
.proplist {
    margin-bottom: 0;
    padding: 0;

    li {
        list-style-type: none;
        line-height: @proplist-record-height;
        margin-bottom: .25rem;
        display: flex;
        align-items: center;

        &:last-child {
            margin-bottom: 0;
        }

        input[type=radio] {
            margin-right: .5em;

            &:disabled + label {
                opacity: .5;
            }
        }

        label:not(.input-group-text) {
            margin: 0;
            line-height: @proplist-record-height;
        }

        select {
            width: auto;
            display: inline;
        }

        &.with-sublist {
            flex-wrap: wrap;
            position: relative;

            & > :first-child {
                width: 100%;
                margin-right: 2em;
            }

            & > .proplist {
                margin-left: 2.5rem;
            }

            & > a.dropdown {
                position: absolute;
                right: 0;
                top: 0;
                height: 2em;
                color: @color-font;
            }
        }
    }
}

.checklist {
    & > div {
        line-height: 2rem;
        display: block; // overwrite .custom-switch
    }

    .custom-control-label {
        &:before,
        &:after {
            margin: calc(floor(.15 * @page-font-size) * -1) 0 0 0;
        }
    }

    & > div + br {
        display: none;
    }
}

/*** Forms in popups ***/

.popup form.propform {
    padding: .25rem;
    overflow-x: hidden;
}

.popupmenu.form {
    &.nolist {
        padding: 0 .5rem;
    }

    ul {
        list-style-type: none;
        padding: 0;
        margin: 0;
    }

    li:not(.separator) {
        padding: 0 1rem;

        label {
            margin: 0;
            line-height: @listing-line-height;

            input {
                margin-right: .5rem;
            }
        }
    }

    input {
        vertical-align: middle;
    }

    select {
        margin: .5rem 0;
    }

    .buttons {
        text-align: center;
        padding: .5rem;
    }
}


/*** Smart list (multiple input) field ***/

.multi-input {
    & > .content {
        max-height: 11.65em;
        overflow: hidden;
        overflow-y: auto;
        border-radius: .25rem;
        border: 1px solid @color-input-border;

        &.focused {
            .style-input-focus();
        }

        // TODO: style button focus
    }

    a.icon {
        &.reset:before {
            &:extend(.font-icon-class);
            content: @fa-var-trash-alt;
        }
    }

    input.form-control {
        padding-left: .75rem;
        height: auto; // fixes input height
    }

    input,
    input:focus,
    .input-group-text {
        border-radius: 0;
        border: 0;
        border-bottom: 1px solid @color-input-border;
        box-shadow: none;
    }

    .input-group-text {
        border-left: 1px solid @color-input-border;
    }

    .input-group-append {
        margin-left: 0;
    }

    .input-group {
        margin: 0 !important;
        flex-wrap: nowrap; // Bootstrap makes them wrappable (imho)

        &:last-child * {
            border-bottom: 0;
        }
    }

    & + .btn {
        margin-top: .5rem;
    }

    &.is-invalid {
        & > .content {
            border: 1px solid @color-input-border-invalid;
            &.focused {
                border-color: @color-input-border-invalid;
                box-shadow: 0 0 0 .2rem @color-input-border-invalid-shadow;
            }
        }

        & > .invalid-feedback {
            display: inline-block;
            line-height: 1.5;
        }
    }
}


/*** Files upload widget with list of files, upload form and drop area ***/

.file-upload {
    padding: 1rem 1rem 12rem;
    margin: 0 1rem .25rem 1rem;
    border-radius: .5rem;
    border: .2rem dashed @color-table-border;

    fieldset & {
        margin: 0;
    }

    .upload-form {
        text-align: center;
        padding-bottom: 1em;

        a.btn,
        button {
            margin-bottom: .25rem;
        }
    }

   .hint {
        margin-bottom: .5rem;
        color: @color-form-hint;
        text-align: center;
    }

    .attachmentslist {
        border: 0;
        background: transparent;

        li {
            position: relative;
            display: flex;
            padding-right: 1.5em;
            margin: 0.15em 0;

            a.filename {
                flex: 1;
            }

            a.delete,
            a.cancelupload {
                position: absolute;
                right: 0.25em;
                width: auto; // fix button width if the widget is in a .popupmenu
            }

            a.dropdown {
                margin-right: .5em;
            }

            .inner {
                display: none;
            }
        }
    }

    &.droptarget {
        padding-bottom: .5rem !important;

        &:after {
            content: @icon-file-drop;
            width: 10rem;
            margin: 5rem auto 0 auto;
            display: block;
        }

        &.active {
            border-color: darken(@color-toolbar-button-background-hover, 20%);
        }

        &.hover {
            border-color: darken(@color-toolbar-button-background-hover, 20%);
            background-color: @color-toolbar-button-background-hover;
        }
    }
}


/*** Smart recipient input field ***/

@recipient-input-margin-fix: round(.25 * @page-font-size);

.recipient-input {
    display: flex;
    flex-wrap: wrap;
    padding: 0 .75rem @recipient-input-margin-fix .75rem;
    list-style-type: none;
    cursor: text;
    height: auto; // reset .form-control height

    &.focus {
        .style-input-focus();
    }

    li {
        max-width: 100%;

        &:not(.recipient) {
            user-select: text;
        }

        &.input {
            flex: 1;
            min-width: 100px;
        }
    }

    input {
        width: 100%;
        background: transparent !important;
        border: 0 !important;
        margin-top: @recipient-input-margin-fix;
        outline: 0;
        line-height: 1.5;

        &::-ms-clear {
            display: none; // removes clear icon in IE11
        }
    }
}

.recipient-input li.recipient,
body > li.recipient.ui-sortable-helper {
    display: flex;
    position: relative;
    max-width: ~"calc(50% - 3px)";
    border: 1px solid @color-recipient-input-border;
    background-color: @color-recipient-input-background;
    border-radius: .25rem;
    padding: 0 .25rem;
    margin-top: @recipient-input-margin-fix;
    margin-right: .2em;
    white-space: nowrap;
    cursor: default;

    @media screen and (max-width: 450px) {
        width: 100%;
        max-width: 100%;
    }

    .name {
        .overflow-ellipsis();
        flex-grow: 1;
        line-height: 1.1;
        padding: floor(.25 * @page-font-size);
        vertical-align: middle;
    }

    .email {
        text-indent: -5000rem;
        display: inline-block;
        width: 0;
    }

    .quotes {
        position: absolute;
        width: 0;
        opacity: 0;
    }

    a.button.icon {
        font-size: .75em;
        cursor: pointer;
        padding: 0;
        color: @color-font;

        &:before {
            display: inline-block;
            width: 1em;
            line-height: 1.6;
        }
    }

    &.ui-sortable-helper {
        // fix element width while dragging
        padding: 0 0 0 .25rem !important;
    }
}

/*** Tagedit widget (from jqueryui plugin) ***/

.tagedit-list {
    display: flex;
    flex-wrap: wrap;
    padding: 0 .75rem @recipient-input-margin-fix .75rem;
    margin: 0;
    list-style-type: none;
    min-height: 2.3rem;

    & + .placeholder {
        display: none;
    }

    &[tabindex="-1"] {
        .style-input-focus();
    }

    li.tagedit-listelement-new {
        margin-top: @recipient-input-margin-fix;

        input {
            width: 15px;
            background: transparent !important;
            border: 0;
            outline: 0;
            margin: 0;
            padding: 0;
            line-height: 1.5;

            &.tagedit-input-disabled {
                visibility: hidden;
            }
        }
    }

    li.tagedit-listelement-old {
        max-width: 50%;
        border: 1px solid @color-recipient-input-border;
        background-color: @color-recipient-input-background;
        border-radius: .25em;
        margin-top: @recipient-input-margin-fix;
        margin-right: .2em;
        white-space: nowrap;

        a /* TODO: .tagedit-close, .tagedit-break, .tagedit-delete, .tagedit-save */ {
            font-size: .8em;
            cursor: pointer;
            display: inline-block;
            width: 1.1em;
            overflow: hidden;
            vertical-align: middle;
            margin-right: .2rem;

            &:before {
                &:extend(.font-icon-class);
                content: @fa-var-times;
                width: 1em;
                line-height: 1.2;
            }
        }

        span {
            .overflow-ellipsis();
            flex-grow: 1;
            display: inline-block;
            line-height: 1.4;
            padding: 0 .25rem;
            vertical-align: middle;
        }
    }

    li.tagedit-listelement-focus {
        // TODO
    }
}


/*** Skin selection widget ***/

.skinselection {
    white-space: nowrap;
    display: table-row;

    & > span {
        display: table-cell;
        vertical-align: middle;
        padding: .1em .5em;
        white-space: normal;

        &:last-child {
            padding-right: 0;
        }
    }

    .skinitem input {
        width: auto;
    }

    .skinname {
        font-weight: bold;
    }

    .skinlicense,
    .skinlicense a {
        font-style: italic;
        text-decoration: none;
    }

    .skinlicense a:hover {
        text-decoration: underline;
    }

    .skinlicense,
    .skinauthor {
        font-size: 90%;
    }

    .skinthumbnail {
        width: 64px;
        height: 64px;
        border: 1px solid @color-input-border;
        background: #fff;
        border-radius: 4px;
    }
}

/*** Percent input with jQuery-UI slider ***/

// Structure: <input><span.label><div.ui-slider>
.input-percent-slider {
    display: flex;
    align-items: center;

    input {
        max-width: 4em;
    }

    span.label {
        line-height: 2.4;
        padding: 0 .5rem 0 .25rem;
    }

    div.ui-slider {
        flex: 1;
        margin: 0 .5em;
    }
}


/*** Image upload widget ***/

.image-upload {
    position: relative;
    overflow: hidden;
    cursor: pointer;
    background-color: @color-image-upload-background;

    a.button {
        display: none;
        position: absolute;
        left: 0;
        top: 0;
        background-color: rgba(255, 255, 255, .85);
        border-radius: 5px;
        width: 2.5em;
        padding: .5em;
        margin: .5em;
        line-height: 1;
    }

    &.changed a.button {
        display: inline;
    }
}

.input-group-combo {
    select:first-of-type {
        &.alone {
            border-radius: .25rem !important;
        }

        &:not(.alone) {
            flex: unset;
            width: auto;
        }
    }

    .input-group {
        padding: 0 !important;
        flex: 2;
    }

    select + select,
    .input-group :first-child {
        border-top-left-radius: 0;
        border-bottom-left-radius: 0;
    }
}


/*** General browser hacks ***/

// Remove outline on selects in Firefox
@-moz-document url-prefix() {
    select:-moz-focusring {
       color: transparent !important;
       text-shadow: 0 0 0 @color-font !important;
    }
}


/*** Bootstrap style overrides and improvements ***/

.form-control {
    color: @color-font;

    &:focus {
        color: @color-font;
        border-color: @color-input-border-focus;
        box-shadow: 0 0 0 .2rem @color-input-border-focus-shadow;
    }

    // FIXME: This fixes style of required inputs in Firefox/Edge, but
    // makes inputs on login form red-bordered, commented for now
    // &:invalid,
    &.is-invalid {
        border-color: @color-input-border-invalid;
        box-shadow: none;

        &:focus {
            border-color: @color-input-border-invalid;
            box-shadow: 0 0 0 .2rem @color-input-border-invalid-shadow;
        }
    }

    &::placeholder {
        color: @color-input-placeholder;
    }

    // Note: This must be a separate rule
    &::-ms-input-placeholder,
    &::-webkit-input-placeholder {
        color: @color-input-placeholder;
    }
}

.invalid-feedback {
    color: @color-error;
    font-size: 90%;
}

.form-group {
    margin-bottom: .5rem;
}

// This one is to fix height of an input-group child that usually we put
// in between inputs, e.g. in managesieve forms it is '@' in email input
// with a separate local part and domain selector.
.input-group-append.input-group-prepend {
    display: inline;
}

.input-group-text {
    color: @color-input;
    background-color: @color-input-addon-background;

    input:focus {
        z-index: 1;
        border-color: @color-input-border-focus !important;
    }
}

.custom-switch {
    padding-left: 0;
    display: inline-block;

    .custom-control-input {
        left: 0;
        opacity: 0 !important; // fixes input in dark mode

        &:focus ~ .custom-control-label:before {
            box-shadow: 0 0 0 .2rem @color-checkbox-focus-shadow;
        }

        &:focus:not(:checked) ~ .custom-control-label::before {
            border-color: @color-checkbox-focus;
        }

        &:checked ~ .custom-control-label::before {
            border-color: @color-checkbox;
            background-color: @color-checkbox;
        }

        &:checked:disabled ~ .custom-control-label::before {
            border-color: @color-checkbox-checked-disabled;
            background-color: @color-checkbox-checked-disabled;
        }
    }

    // Make switches bigger, we use smaller font than Bootstrap's default

    .custom-control-label {
        padding-left: 2.5rem;
        min-height: 2rem;
        line-height: 2;
        display: inline-block;

        html.touch & {
            padding-left: 3rem;
        }

        &:before,
        &:after {
            border-radius: .6rem;
            margin: floor(.15 * @page-font-size) 0;

            html.touch & {
                border-radius: .8rem;
                margin: 0;
            }
        }

        &:before {
            left: 2px;
            top: 4px;
            width: floor(1.9 * @page-font-size);
            height: floor(1.2 * @page-font-size);

            html.touch & {
                top: floor(.2 * @page-font-size);
                width: floor(2.5 * @page-font-size);
                height: floor(1.6 * @page-font-size);
            }
        }

        &:after {
            left: 4px;
            top: 6px;
            width: floor(1.2 * @page-font-size) - 4;
            height: floor(1.2 * @page-font-size) - 4;

            html.touch & {
                top: floor(.2 * @page-font-size) + 2;
                height: floor(1.6 * @page-font-size) - 4;
                width: floor(1.6 * @page-font-size) - 4;
            }
        }
    }

    .custom-control-input:checked ~ .custom-control-label::after {
        transform: translateX(floor(1.2 * @page-font-size) - 6);

        html.touch & {
            transform: translateX(floor(1.6 * @page-font-size) - 9);
        }
    }

    .custom-control-input:not(:disabled) ~ .custom-control-label {
        &:after, &:before {
            cursor: pointer;
        }
    }
}

.custom-file {
    display: block;

    .custom-file-label {
        white-space: nowrap;
        .overflow-ellipsis();
        padding-right: 100px;
    }

    & + .hint {
        margin-top: floor(.25 * @page-font-size);
    }
}

.custom-file-input:focus ~ .custom-file-label {
    border-color: @color-input-border-focus;
    box-shadow: 0 0 0 .2rem @color-input-border-focus-shadow;
}