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`Mini Shell

HOME


Mini Shell 1.0
DIR:/home/ghomanschool.com/www/wp-content/plugins/Ultimate_VC_Addons/modules/
Upload File :
Current File : /home/ghomanschool.com/www/wp-content/plugins/Ultimate_VC_Addons/modules/ultimate_tab.php
<?php
/**
 * Add-on Name: Advanced Tab.
 * Add-on URI: http://dev.brainstormforce.com
 *
 * @package ULT_TAB_ELEMENT.
 */

if ( ! defined( 'ABSPATH' ) ) {
	die( '-1' );
}
if ( ! class_exists( 'ULT_TAB_ELEMENT' ) ) {
	/**
	 * ULT_TAB_ELEMENT.
	 *
	 * @class ULT_TAB_ELEMENT.
	 */
	class ULT_TAB_ELEMENT {

		/**
		 * Initiator
		 */
		public function __construct() {
			if ( Ultimate_VC_Addons::$uavc_editor_enable ) {
				add_action( 'init', array( $this, 'ult_tab_init' ) );
			}
			add_action( 'wp_enqueue_scripts', 'ultimate_tabs', 1 );
			add_action( 'admin_print_scripts', 'ultimate_tabs_admin', 999 );
			add_shortcode( 'ult_tab_element', array( $this, 'ultimate_main_tab' ) );
			add_shortcode( 'single_tab', array( $this, 'ultimate_single_tab' ) );
		}
		/**
		 * Ultimate_single_tab.
		 *
		 * @param array $atts Attributes.
		 * @param array $content Content.
		 */
		public function ultimate_single_tab( $atts, $content = null ) {
			$output                           = '';
			$icon_background_color            = '';
			$icon_margin_bottom               = '';
			$icon_margin_left                 = '';
			$ult_ultimate_single_tab_settings = shortcode_atts(
				array(
					'title'               => ' ',
					'tab_id'              => ' ',
					'font_icons_position' => ' ',
					'icon_type'           => ' ',
					'icon'                => ' ',
					'icon_color'          => ' ',
					'icon_hover_color'    => ' ',
					'icon_size'           => ' ',
					'icon_margin'         => ' ',
					'ul_sub_class'        => '',
				),
				$atts
			);

					global $tabarr;

					$tabarr[] = array(
						'title'               => $ult_ultimate_single_tab_settings['title'],
						'tab_id'              => $ult_ultimate_single_tab_settings['tab_id'],
						'font_icons_position' => $ult_ultimate_single_tab_settings['font_icons_position'],
						'icon_type'           => $ult_ultimate_single_tab_settings['icon_type'],
						'icon'                => $ult_ultimate_single_tab_settings['icon'],
						'icon_color'          => $ult_ultimate_single_tab_settings['icon_color'],
						'icon_hover_color'    => $ult_ultimate_single_tab_settings['icon_hover_color'],
						'icon_size'           => $ult_ultimate_single_tab_settings['icon_size'],
						'content'             => $content,
						'icon_margin'         => $ult_ultimate_single_tab_settings['icon_margin'],
						'ul_sub_class'        => $ult_ultimate_single_tab_settings['ul_sub_class'],
					);

					if ( current_user_can( 'editor' ) || current_user_can( 'administrator' ) ) {

						$admn = __( 'Empty tab. Edit page to add content here.', 'js_composer' );
					} else {
						$admn = '';
					}
					$tabcont = wpb_js_remove_wpautop( $content );

					$css_class = apply_filters( VC_SHORTCODE_CUSTOM_CSS_FILTER_TAG, 'wpb_tab ui-tabs-panel wpb_ui-tabs-hide vc_clearfix ult_back', 'single_tab', $atts );
					$output   .= "\n\t\t\t" . '<div  class="ult_tabitemname"  >';
					$output   .= ( '' == $content || ' ' == $content ) ? $admn : "\n\t\t\t\t" . wpb_js_remove_wpautop( $content );
					$output   .= "\n\t\t\t" . '</div>';
					return $output;

		}
		/**
		 * Ultimate_main_tab.
		 *
		 * @param array $atts Attributes.
		 * @param array $content Content.
		 */
		public function ultimate_main_tab( $atts, $content ) {

			$output                                    = '';
			$title                                     = '';
			$ult_advanced_tab_settings['interval']     = '';
			$ult_advanced_tab_settings['el_class']     = '';
			$ult_advanced_tab_settings['shadow_color'] = '';
			$ult_advanced_tab_settings['shadow_width'] = '';
			$ult_advanced_tab_settings                 = shortcode_atts(
				array(
					'title_color'                => '',
					'auto_rotate'                => '',
					'interval'                   => 0,
					'tab_style'                  => 'Style_1',
					'tab_bottom_border'          => 'Disable',
					'border_color'               => '#1e73be',
					'border_thickness'           => '2',
					'tab_title_color'            => '#74777b',
					'tab_hover_title_color'      => '#ffffff',
					'tab_background_color'       => '#e7ecea',
					'tab_hover_background_color' => '#4f90d1',
					'container_width'            => '',
					'el_class'                   => '',
					'container_width'            => '',
					'main_heading_font_family'   => '',
					'title_font_size'            => '15',
					'title_font_wt'              => '',
					'title_line_ht'              => '',
					'desc_font_family'           => '',
					'desc_font_size'             => '',
					'desc_font_style'            => '',
					'desc_line_ht'               => '',
					'shadow_color'               => '#333333',
					'shadow_width'               => '',
					'enable_bg_color'            => '',
					'container_border_style1'    => '',
					'container_color_border'     => '',
					'cont_border_size'           => '',
					'tabs_border_radius'         => '8',
					'tabs_active_index'          => '1',
					'tab_animation'              => 'Slide',
					'tab_describe_color'         => '#74777b',
					'title_font_style'           => '',
					'css'                        => '',
					'act_icon_color'             => '',
					'acttab_background'          => '',
					'acttab_title'               => '',
					'resp_type'                  => 'Tabs',
					'resp_width'                 => '400',
					'resp_style'                 => 'Both',
					'ac_tabs'                    => '',
					'icon_color'                 => '#74777b',
					'icon_hover_color'           => '#ffffff',
					'icon_size'                  => '15',
					'icon_margin'                => '',
					'disp_icon'                  => 'Enable',
					'tab_css'                    => ' ',
					'font_icons_position'        => 'Right',
					'main_title_typograpy'       => '',
					'tab_max'                    => 'off',
					'wrapper_margin'             => '',
					'smooth_scroll'              => 'on',
				),
				$atts
			);

			global $tabarr;
			$tabarr = array();
			do_shortcode( $content );

			/*-----------default settings------------*/

			if ( '' == $ult_advanced_tab_settings['acttab_background'] ) {
				$ult_advanced_tab_settings['acttab_background'] = $ult_advanced_tab_settings['tab_hover_background_color'];
			}
			if ( '' == $ult_advanced_tab_settings['acttab_title'] ) {
				$ult_advanced_tab_settings['acttab_title'] = $ult_advanced_tab_settings['tab_hover_title_color'];
			}

			/*---------------padding---------------------*/
			$css_class = '';
			$css_class = apply_filters( VC_SHORTCODE_CUSTOM_CSS_FILTER_TAG, vc_shortcode_custom_css_class( $ult_advanced_tab_settings['css'], ' ' ), 'ult_tab_element', $atts );
			$css_class = esc_attr( $css_class );

			$container_style = '';
			$ult_style       = '';
			$tab_style_no    = '';
			if ( 'Disable' == $ult_advanced_tab_settings['tab_bottom_border'] ) {
				$ult_advanced_tab_settings['border_thickness'] = '0';
				$ult_advanced_tab_settings['border_color']     = 'transparent';
			}
			if ( '' != $ult_advanced_tab_settings['container_width'] ) {
				$container_style = 'max-width:' . $ult_advanced_tab_settings['container_width'] . 'px;';
			}
			$mhfont_family  = '';
			$border_style   = '';
			$tabs_nav_style = '';

			if ( is_numeric( $ult_advanced_tab_settings['title_font_size'] ) ) {
					$ult_advanced_tab_settings['title_font_size'] = 'desktop:' . $ult_advanced_tab_settings['title_font_size'] . 'px;';
			}

			if ( is_numeric( $ult_advanced_tab_settings['title_font_wt'] ) ) {
				$ult_advanced_tab_settings['title_font_wt'] = 'desktop:' . $ult_advanced_tab_settings['title_font_wt'] . 'px;';
			}

			$advanced_tabs_id = 'advanced-tabs-wrap-' . wp_rand( 1000, 9999 );

			$advanced_tabs_args = array(
				'target'      => '#' . $advanced_tabs_id . ' .ult-span-text', // set targeted element e.g. unique class/id etc.
				'media_sizes' => array(
					'font-size'   => $ult_advanced_tab_settings['title_font_size'], // set 'css property' & 'ultimate_responsive' sizes. Here $title_responsive_font_size holds responsive font sizes from user input.
					'line-height' => $ult_advanced_tab_settings['title_font_wt'],
				),
			);

			$advanced_tabs_data_list = get_ultimate_vc_responsive_media_css( $advanced_tabs_args );

			if ( function_exists( 'get_ultimate_font_family' ) ) {

				$mhfont_family = get_ultimate_font_family( $ult_advanced_tab_settings['main_heading_font_family'] );
				if ( '' != $mhfont_family ) {
					$tabs_nav_style .= 'font-family:' . $mhfont_family . ';';
				}
			}
			if ( function_exists( 'get_ultimate_font_style' ) ) {
				if ( '' != $ult_advanced_tab_settings['title_font_style'] ) {
					$tabs_nav_style .= get_ultimate_font_style( $ult_advanced_tab_settings['title_font_style'] );
				}
			}

			/*-------------------auto rotate------------------*/

			if ( 'Disables' == $ult_advanced_tab_settings['auto_rotate'] ) {
				$ult_advanced_tab_settings['interval'] = 0;
				$autorotate                            = 'no';
			} else {
				$autorotate = 'yes';
			}

			if ( '' == $ult_advanced_tab_settings['tab_background_color'] ) {
				$ult_advanced_tab_settings['tab_background_color'] = 'transparent';
			}

			$element  = 'wpb_tabs';
			$ul_style = '';
			$tabs_nav = '';
			$style    = '';

			/*------------------- style------------------*/

			if ( 'Style_1' == $ult_advanced_tab_settings['tab_style'] ) {

				$style = 'style1';
			} elseif ( 'Style_2' == $ult_advanced_tab_settings['tab_style'] ) {

				$style = 'style2';

			} elseif ( 'Style_3' == $ult_advanced_tab_settings['tab_style'] ) {

				$style = 'style3';

			} elseif ( 'Style_4' == $ult_advanced_tab_settings['tab_style'] ) {
				$ult_style = 'ult_tab_style_4';
				$style     = 'style1';
			} elseif ( 'Style_5' == $ult_advanced_tab_settings['tab_style'] ) {
				$ult_style = 'ult_tab_style_5';
				$style     = 'style1';
			} elseif ( 'Style_6' == $ult_advanced_tab_settings['tab_style'] ) {
				$ult_style = 'ult_tab_style_6';
				$style     = 'style1';
			}
			foreach ( $tabarr as $key => $value ) {
				$icon_value = $value['icon_size'];
				if ( is_numeric( $icon_value ) ) {
					$icon_value1[] = $value['icon_size'];
				}
			}

			/*-------------- border style-----------*/
			$tab_border  = '';
			$tab_border .= 'color:' . $ult_advanced_tab_settings['border_color'] . ';';
			$tab_border .= 'border-bottom-color:' . $ult_advanced_tab_settings['border_color'] . ';';
			$tab_border .= 'border-bottom-width:' . $ult_advanced_tab_settings['border_thickness'] . 'px;';
			$tab_border .= 'border-bottom-style:solid;';
			if ( 'Style_1' == $ult_advanced_tab_settings['tab_style'] || 'Style_3' == $ult_advanced_tab_settings['tab_style'] ) {
				$tab_border .= 'background-color:' . $ult_advanced_tab_settings['tab_background_color'] . ';';
				$tab_border .= 'border-top-left-radius:' . $ult_advanced_tab_settings['tabs_border_radius'] . 'px;';
				$tab_border .= 'border-top-right-radius:' . $ult_advanced_tab_settings['tabs_border_radius'] . 'px;';
				$tab_border  = '';
			}
			if ( 'Style_2' == $ult_advanced_tab_settings['tab_style'] ) {
				$tab_border .= 'border-bottom-width:0px;';
			}
			if ( 'Style_4' == $ult_advanced_tab_settings['tab_style'] || 'Style_5' == $ult_advanced_tab_settings['tab_style'] || 'Style_6' == $ult_advanced_tab_settings['tab_style'] ) {
				$tab_border .= 'border-bottom-width:0px;';

			}

			/*-----------------content baground-------------------*/

			$contain_bg = '';

			/*---------------- description font family-----------*/
			if ( is_numeric( $ult_advanced_tab_settings['desc_font_size'] ) ) {
						$ult_advanced_tab_settings['desc_font_size'] = 'desktop:' . $ult_advanced_tab_settings['desc_font_size'] . 'px;';
			}

			if ( is_numeric( $ult_advanced_tab_settings['desc_line_ht'] ) ) {
				$ult_advanced_tab_settings['desc_line_ht'] = 'desktop:' . $ult_advanced_tab_settings['desc_line_ht'] . 'px;';
			}

			$advanced_tabs_desc_id = 'advanced-tabs-desc-wrap-' . wp_rand( 1000, 9999 );

			$advanced_tabs_desc_args = array(
				'target'      => '#' . $advanced_tabs_desc_id . ' .ult_tabcontent .ult_tab_min_contain  p', // set targeted element e.g. unique class/id etc.
				'media_sizes' => array(
					'font-size'   => $ult_advanced_tab_settings['desc_font_size'], // set 'css property' & 'ultimate_responsive' sizes. Here $title_responsive_font_size holds responsive font sizes from user input.
					'line-height' => $ult_advanced_tab_settings['desc_line_ht'],
				),
			);

			$advanced_tabs_desc_data_list = get_ultimate_vc_responsive_media_css( $advanced_tabs_desc_args );

			if ( function_exists( 'get_ultimate_font_family' ) ) {

				$dhfont_family = get_ultimate_font_family( $ult_advanced_tab_settings['desc_font_family'] );
				if ( '' != $dhfont_family ) {
					$contain_bg .= 'font-family:' . $dhfont_family . ';';
				}
			}
			if ( function_exists( 'get_ultimate_font_style' ) ) {
				if ( '' != $ult_advanced_tab_settings['desc_font_style'] ) {
					$contain_bg .= get_ultimate_font_style( $ult_advanced_tab_settings['desc_font_style'] );
				}
			}

			$ult_top       = '';
			$icon_top_link = '';
			if ( 'Style_1' == $ult_advanced_tab_settings['tab_style'] ) {
				$ult_top       = 'ult_top';
				$icon_top_link = 'icon_top_link';
			} elseif ( 'Style_2' == $ult_advanced_tab_settings['tab_style'] ) {

				$ult_top       = 'ult_top';
				$icon_top_link = '';
			}
			if ( 'Style_4' == $ult_advanced_tab_settings['tab_style'] ) {
				$tab_style_no .= 'Style_4';
				$ult_top       = 'ult_top';
				$icon_top_link = 'style_4_top';
			}
			if ( 'Style_5' == $ult_advanced_tab_settings['tab_style'] ) {
				$tab_style_no .= 'Style_5';
				$icon_top_link = '';

			}
			if ( 'Style_6' == $ult_advanced_tab_settings['tab_style'] ) {
				$tab_style_no .= 'Style_6';
				$icon_top_link = '';

			}
			if ( 'Style_3' == $ult_advanced_tab_settings['tab_style'] ) {
					$ult_top       = 'ult_top';
					$icon_top_link = 'icon_top_link';
			}

			if ( '' != $ult_advanced_tab_settings['enable_bg_color'] ) {
				$contain_bg .= 'background-color:' . $ult_advanced_tab_settings['enable_bg_color'] . ';';
			}
			if ( '' != $ult_advanced_tab_settings['container_border_style1'] ) {
				$ult_advanced_tab_settings['container_border_style1'] = str_replace( '|', ' ', $ult_advanced_tab_settings['container_border_style1'] );
				$contain_bg .= $ult_advanced_tab_settings['container_border_style1'];
			}
			if ( '' != $ult_advanced_tab_settings['tab_describe_color'] ) {
				$contain_bg .= 'color:' . $ult_advanced_tab_settings['tab_describe_color'] . ';';
			}
			$acord       = '';
			$array_count = '';
			$array_count = count( $tabarr );
			$newtab      = '';
			$newtab     .= '<ul id=' . esc_attr( $advanced_tabs_id ) . ' class="ult_tabmenu ' . esc_attr( $style ) . ' ' . esc_attr( $tab_style_no ) . '" style="' . esc_attr( $tab_border ) . '">';
			$cnt         = 0;

			$acord        .= '';
			$accontaint    = '';
			$ult_ac_border = '';
			foreach ( $tabarr as $key => $value ) {
					$cnt++;

				$icon_position = $ult_advanced_tab_settings['font_icons_position'];
				if ( 'Disables' == $ult_advanced_tab_settings['disp_icon'] ) {
					$icon_position = 'none';
				}
				$tabicon                                       = $value['icon'];
				$ult_advanced_tab_settings['icon_color']       = $ult_advanced_tab_settings['icon_color'];
				$ult_advanced_tab_settings['icon_size']        = $ult_advanced_tab_settings['icon_size'];
				$ult_advanced_tab_settings['icon_hover_color'] = $ult_advanced_tab_settings['icon_hover_color'];
				$margin                                        = $ult_advanced_tab_settings['icon_margin'];
				$tab_id                                        = $value['tab_id'];
				$accontaint                                    = $value['content'];
				$accontaint                                    = wpb_js_remove_wpautop( $accontaint );
				$ul_sub_class                                  = $value['ul_sub_class'];
				/*---icon style---*/
				$ult_advanced_tab_settings['icon_size'];
				if ( '' == $ult_advanced_tab_settings['icon_size'] ) {
					$ult_advanced_tab_settings['icon_size'] = '15';
				}
				$tab_icon_style  = '';
				$tab_icon_style .= 'color:' . $ult_advanced_tab_settings['icon_color'] . ';';
				$tab_icon_style .= 'font-size:' . $ult_advanced_tab_settings['icon_size'] . 'px;';
				$tab_icon_style .= $margin;
				$link_li_style   = '';
				$bgcolor         = '';
				if ( 'Style_2' != $ult_advanced_tab_settings['tab_style'] ) {
					$link_li_style .= 'background-color:' . $ult_advanced_tab_settings['tab_background_color'] . ';';
				} else {
					$bgcolor .= 'background-color:' . $ult_advanced_tab_settings['tab_background_color'] . ';';

				}
				$style5bgcolor = '';
				if ( 'Style_5' == $ult_advanced_tab_settings['tab_style'] || 'Style_6' == $ult_advanced_tab_settings['tab_style'] ) {
					$style5bgcolor = 'border-color:' . $ult_advanced_tab_settings['shadow_color'] . ';';
					$ult_top       = 'ult_top';
				}

				if ( 'Style_4' == $ult_advanced_tab_settings['tab_style'] ) {
					$ult_top        = 'ult_top';
					$link_li_style .= '';
					$link_li_style .= 'border-color:' . $ult_advanced_tab_settings['border_color'] . ';';
					$link_li_style .= 'border-width:' . $ult_advanced_tab_settings['border_thickness'] . 'px;';
					$link_li_style .= 'border-style:solid;';

				}
				if ( 'Style_1' == $ult_advanced_tab_settings['tab_style'] || 'Style_3' == $ult_advanced_tab_settings['tab_style'] ) {

					$link_li_style .= '';
					$link_li_style .= 'border-color:' . $ult_advanced_tab_settings['border_color'] . ';';
					$link_li_style .= 'border-width:' . $ult_advanced_tab_settings['border_thickness'] . 'px;';
					$link_li_style .= 'border-style:solid;';

				}

				/*---------------- for tabs border -----------------*/

				if ( 'Style_2' != $ult_advanced_tab_settings['tab_style'] ) {
					if ( $cnt == $array_count ) {
						$link_li_style .= 'border-top-right-radius:' . $ult_advanced_tab_settings['tabs_border_radius'] . 'px;';
					} elseif ( 1 == $cnt ) {
						$link_li_style .= 'border-top-left-radius:' . $ult_advanced_tab_settings['tabs_border_radius'] . 'px;';
					}
				} else {

					if ( $cnt == $array_count ) {
						$bgcolor .= 'border-top-right-radius:' . $ult_advanced_tab_settings['tabs_border_radius'] . 'px;';
					} elseif ( 1 == $cnt ) {
						$bgcolor .= 'border-top-left-radius:' . $ult_advanced_tab_settings['tabs_border_radius'] . 'px;';
					}
				}

				/*------------ accordian border style --------------*/

				$ult_ac_border .= 'border-bottom-color:' . $ult_advanced_tab_settings['border_color'] . ';';
				$ult_ac_border .= 'border-bottom-width:' . $ult_advanced_tab_settings['border_thickness'] . 'px;';
				$ult_ac_border .= 'border-bottom-style:solid;';

				if ( isset( $value['title'] ) ) {
					if ( 'Right' == $icon_position ) {
						$icon_position = 'right';
						$newtab       .= '<li class="ult_tab_li ' . esc_attr( $ult_style ) . ' ' . esc_attr( $ul_sub_class ) . ' " data-iconcolor="' . esc_attr( $ult_advanced_tab_settings['icon_color'] ) . '" data-iconhover="' . esc_attr( $ult_advanced_tab_settings['icon_hover_color'] ) . '" style="' . esc_attr( $link_li_style ) . '">
					<a href="#' . esc_attr( $tab_id ) . '" id="' . esc_attr( $tab_id ) . '" style="color:' . esc_attr( $ult_advanced_tab_settings['tab_title_color'] ) . ';' . esc_attr( $bgcolor ) . ';' . esc_attr( $style5bgcolor ) . ' ' . esc_attr( $ult_advanced_tab_settings['tab_css'] ) . '" class="ult_a ' . esc_attr( $css_class ) . '">
					   <span class="ult_tab_main  ' . esc_attr( $ult_advanced_tab_settings['resp_style'] ) . ' ">
					    <span class="ult_tab_section">
					  		<span ' . $advanced_tabs_data_list . ' class="ult-span-text ult-responsive" style="' . esc_attr( $tabs_nav_style ) . '">' . $value['title'] . '</span>
						   	<span class="aio-icon none ult_tab_icon' . esc_attr( $icon_position ) . '" style="' . esc_attr( $tab_icon_style ) . '">
						   	<i class=" ' . esc_attr( $tabicon ) . ' ult_tab_icon"  ></i>
						   </span>
						</span>
					   </span>

					</a>
					</li>';

						/*-------------------accordion right icon------------------*/

						$acord .= '<dt class="' . esc_attr( $ul_sub_class ) . '">
        	<a class="ult-tabto-actitle withBorder ult_a" id="' . esc_attr( $tab_id ) . '" style="color:' . esc_attr( $ult_advanced_tab_settings['tab_title_color'] ) . ';' . esc_attr( $style5bgcolor ) . ';background-color:' . esc_attr( $ult_advanced_tab_settings['tab_background_color'] ) . ';' . esc_attr( $ult_ac_border ) . '" href="#' . esc_attr( $tab_id ) . '">
        		<i class="accordion-icon"></i>
        			<span class="ult_tab_main ult_ac_main' . esc_attr( $ult_advanced_tab_settings['resp_style'] ) . '">
					   <span ' . $advanced_tabs_data_list . ' class="ult-span-text ult_acordian-text ult-responsive" style="' . esc_attr( $tabs_nav_style ) . ';color:inherit " >' . $value['title'] . '</span>
					</span>
					   <div class="aio-icon none " style="' . esc_attr( $tab_icon_style ) . '" data-iconcolor="' . esc_attr( $ult_advanced_tab_settings['icon_color'] ) . '" data-iconhover="' . esc_attr( $ult_advanced_tab_settings['icon_hover_color'] ) . '">
					   <i class="  ' . esc_attr( $tabicon ) . ' ult_tab_icon"  ></i>
					   </div>
					</a></dt>
            		<dd class="ult-tabto-accordionItem ult-tabto-accolapsed">
			            <div class="ult-tabto-acontent" style="' . esc_attr( $contain_bg ) . '">
			               ' . $accontaint . '
			            </div>
        	</dd>';

					} elseif ( 'Left' == $icon_position ) {
						$icon_position = 'left';
						$newtab       .= '<li class="ult_tab_li ' . esc_attr( $ult_style ) . ' ' . esc_attr( $ul_sub_class ) . '" data-iconcolor="' . esc_attr( $ult_advanced_tab_settings['icon_color'] ) . '" data-iconhover="' . esc_attr( $ult_advanced_tab_settings['icon_hover_color'] ) . '" style="' . esc_attr( $link_li_style ) . '">
					<a href="#' . esc_attr( $tab_id ) . '" id="' . esc_attr( $tab_id ) . '" style="color:' . esc_attr( $ult_advanced_tab_settings['tab_title_color'] ) . ';' . esc_attr( $bgcolor ) . ';' . esc_attr( $style5bgcolor ) . ' ' . esc_attr( $ult_advanced_tab_settings['tab_css'] ) . '" class="ult_a  ' . esc_attr( $css_class ) . '">
					     <span class="ult_tab_main ' . esc_attr( $ult_advanced_tab_settings['resp_style'] ) . '">
					      <span class="ult_tab_section">
						   <span class="aio-icon none ult_tab_icon' . esc_attr( $icon_position ) . '" style="' . esc_attr( $tab_icon_style ) . '">
						   <i class="  ' . esc_attr( $tabicon ) . ' ult_tab_icon"  ></i>
						   </span>
						   <span ' . $advanced_tabs_data_list . ' class="ult-span-text ult-responsive" style="' . esc_attr( $tabs_nav_style ) . '">' . $value['title'] . '</span>
						    </span >
						</span>
					</a>
					</li>';

						/*-------------------accordion left icon------------------*/

						$acord .= '<dt class="' . esc_attr( $ul_sub_class ) . '">
        	<a class="ult-tabto-actitle withBorder ult_a"  id="' . esc_attr( $tab_id ) . '" style="color:' . esc_attr( $ult_advanced_tab_settings['tab_title_color'] ) . ';' . esc_attr( $style5bgcolor ) . ';background-color:' . esc_attr( $ult_advanced_tab_settings['tab_background_color'] ) . ';' . esc_attr( $ult_ac_border ) . '" href="#' . esc_attr( $tab_id ) . '">
        		<i class="accordion-icon"></i>
        			<span class="ult_tab_main ult_ac_main' . esc_attr( $ult_advanced_tab_settings['resp_style'] ) . '">
					   <div class="aio-icon none " style="' . esc_attr( $tab_icon_style ) . '" data-iconcolor="' . esc_attr( $ult_advanced_tab_settings['icon_color'] ) . '" data-iconhover="' . esc_attr( $ult_advanced_tab_settings['icon_hover_color'] ) . '">
					   <i class="  ' . esc_attr( $tabicon ) . ' ult_tab_icon"  ></i>
					   </div>
					<span ' . $advanced_tabs_data_list . ' class="ult-span-text ult_acordian-text ult-responsive" style="' . esc_attr( $tabs_nav_style ) . ';color:inherit " >' . $value['title'] . '</span>
					</span></a></dt>
            		<dd class="ult-tabto-accordionItem ult-tabto-accolapsed">
			            <div class="ult-tabto-acontent" style="' . esc_attr( $contain_bg ) . '">
			               ' . $accontaint . '
			            </div>
        	</dd>';
					} elseif ( 'Top' == $icon_position ) {
						$newtab .= '<li class="ult_tab_li ' . esc_attr( $ult_style ) . ' ' . esc_attr( $ul_sub_class ) . '" data-iconcolor="' . esc_attr( $ult_advanced_tab_settings['icon_color'] ) . '" data-iconhover="' . esc_attr( $ult_advanced_tab_settings['icon_hover_color'] ) . '" style="' . esc_attr( $link_li_style ) . '">
					<a href="#' . esc_attr( $tab_id ) . '" id="' . esc_attr( $tab_id ) . '"  style="color:' . $ult_advanced_tab_settings['tab_title_color'] . ';' . esc_attr( $bgcolor ) . ';' . esc_attr( $style5bgcolor ) . ' ' . esc_attr( $ult_advanced_tab_settings['tab_css'] ) . '" class="ult_a ' . esc_attr( $icon_top_link ) . ' ' . esc_attr( $css_class ) . '">
					    <span class="ult_tab_main ' . esc_attr( $ult_top ) . ' ' . esc_attr( $ult_advanced_tab_settings['resp_style'] ) . ' ">
					    <span class="ult_tab_section">
					   <span class="aio-icon none icon-top ult_tab_icon' . esc_attr( $icon_position ) . '"  style="' . esc_attr( $tab_icon_style ) . '">
					   <i class="  ' . esc_attr( $tabicon ) . ' ult_tab_icon" ></i>
					   </span>
					   <span ' . $advanced_tabs_data_list . ' class="ult-span-text ult-responsive" style="' . esc_attr( $tabs_nav_style ) . '">' . $value['title'] . '</span>
					   </span>
						</span>
					</a>
					</li>';

						/*-------------------accordion top icon------------------*/

						$acord .= '<dt class="' . esc_attr( $ul_sub_class ) . '">
	        	<a class="ult-tabto-actitle withBorder ult_a" id="' . esc_attr( $tab_id ) . '"  style="color:' . esc_attr( $ult_advanced_tab_settings['tab_title_color'] ) . ';' . esc_attr( $style5bgcolor ) . ';background-color:' . esc_attr( $ult_advanced_tab_settings['tab_background_color'] ) . ';' . esc_attr( $ult_ac_border ) . '" href="#' . esc_attr( $tab_id ) . '">
	        		<i class="accordion-icon"></i>
	        			<span class="ult_tab_main ult_ac_main ult_top ' . esc_attr( $ult_advanced_tab_settings['resp_style'] ) . '">
						   <span class="aio-icon none icon-top" style="' . esc_attr( $tab_icon_style ) . '" data-iconcolor="' . esc_attr( $ult_advanced_tab_settings['icon_color'] ) . '" data-iconhover="' . esc_attr( $ult_advanced_tab_settings['icon_hover_color'] ) . '">
						   <i class="  ' . esc_attr( $tabicon ) . ' ult_tab_icon"  ></i>
						   </span>
						<span ' . $advanced_tabs_data_list . ' class="ult-span-text ult_acordian-text ult-responsive" style="' . esc_attr( $tabs_nav_style ) . ';color:inherit " >' . $value['title'] . '</span>
						</span></a></dt>
	            		<dd class="ult-tabto-accordionItem ult-tabto-accolapsed">
				            <div class="ult-tabto-acontent" style="' . esc_attr( $contain_bg ) . '">
				               ' . $accontaint . '
				            </div>
	        	</dd>';

					} else {
						$icon_position = 'none';
						$newtab       .= '<li class="ult_tab_li ' . esc_attr( $ult_style ) . ' ' . esc_attr( $ul_sub_class ) . '" data-iconcolor="' . esc_attr( $ult_advanced_tab_settings['icon_color'] ) . '" data-iconhover="' . esc_attr( $ult_advanced_tab_settings['icon_hover_color'] ) . '" style="' . esc_attr( $link_li_style ) . '">
					<a href="#' . esc_attr( $tab_id ) . '"  id="' . esc_attr( $tab_id ) . '"  style="color:' . esc_attr( $ult_advanced_tab_settings['tab_title_color'] ) . ';' . esc_attr( $bgcolor ) . ';' . esc_attr( $style5bgcolor ) . ' ' . esc_attr( $ult_advanced_tab_settings['tab_css'] ) . ' " class="ult_a ' . esc_attr( $ult_style ) . ' ' . esc_attr( $css_class ) . '">
					     <span class="ult_tab_main ' . esc_attr( $ult_advanced_tab_settings['resp_style'] ) . ' ">
					 		 <span class="ult_tab_section">
					   			<span ' . $advanced_tabs_data_list . ' class="ult-span-text no_icon ult_tab_display_text ult-responsive" style="' . esc_attr( $tabs_nav_style ) . ';">' . $value['title'] . '</span>
					   		</span>
						</span>
					</a>
					</li>';

						/*-------------------accordion without icon------------------*/

						$acord .= '<dt class="' . esc_attr( $ul_sub_class ) . '">
	        	<a class="ult-tabto-actitle withBorder ult_a " id="' . esc_attr( $tab_id ) . '" style="color:' . esc_attr( $ult_advanced_tab_settings['tab_title_color'] ) . ';' . esc_attr( $style5bgcolor ) . ';background-color:' . esc_attr( $ult_advanced_tab_settings['tab_background_color'] ) . ';' . esc_attr( $ult_ac_border ) . '" href="#' . esc_attr( $tab_id ) . '">
	        		<i class="accordion-icon"></i>
	        			<span class="ult_tab_main ult_ac_main ult_noacordicn' . esc_attr( $ult_advanced_tab_settings['resp_style'] ) . '">

						<span ' . $advanced_tabs_data_list . ' class="ult-span-text no_icon ult_acordian-text ult-responsive" style="' . esc_attr( $tabs_nav_style ) . ';color:inherit " >' . $value['title'] . '</span>
						</span></a></dt>
	            		<dd class="ult-tabto-accordionItem ult-tabto-accolapsed">
				            <div class="ult-tabto-acontent" style="' . esc_attr( $contain_bg ) . '">
				               ' . $accontaint . '
				            </div>
	        			</dd>';

					}
				}
			}
			$newtab .= '</ul>';

			$newtabcontain  = '';
			$newtabcontain .= '<div class="ult_tab_min_contain">';
			$newtabcontain .= '<div class="ult_tabitemname" style="color:inherit">';
			$newtabcontain .= wpb_js_remove_wpautop( $content );
			$newtabcontain .= '</div>';
			$newtabcontain .= '</div>';
			$op             = '';
			$op            .= '<div id="' . esc_attr( $advanced_tabs_desc_id ) . '" class="ult_tabs ' . esc_attr( $ult_advanced_tab_settings['el_class'] ) . '" style="' . esc_attr( $container_style ) . ' ' . esc_attr( $ult_advanced_tab_settings['wrapper_margin'] ) . '" data-tabsstyle="' . esc_attr( $style ) . '"
 data-titlebg="' . esc_attr( $ult_advanced_tab_settings['tab_background_color'] ) . '" data-titlecolor="' . esc_attr( $ult_advanced_tab_settings['tab_title_color'] ) . '" data-fullheight="' . esc_attr( $ult_advanced_tab_settings['tab_max'] ) . '"
 data-titlehoverbg="' . esc_attr( $ult_advanced_tab_settings['tab_hover_background_color'] ) . '" data-titlehovercolor="' . esc_attr( $ult_advanced_tab_settings['tab_hover_title_color'] ) . '"
 data-rotatetabs="' . esc_attr( $ult_advanced_tab_settings['interval'] ) . '" data-responsivemode="' . esc_attr( $ult_advanced_tab_settings['resp_style'] ) . '" data-animation="' . esc_attr( $ult_advanced_tab_settings['tab_animation'] ) . '"
data-activetitle="' . esc_attr( $ult_advanced_tab_settings['acttab_title'] ) . '" data-activeicon="' . esc_attr( $ult_advanced_tab_settings['act_icon_color'] ) . '" data-activebg="' . esc_attr( $ult_advanced_tab_settings['acttab_background'] ) . '"  data-respmode="' . esc_attr( $ult_advanced_tab_settings['resp_type'] ) . '" data-respwidth="' . esc_attr( $ult_advanced_tab_settings['resp_width'] ) . '" data-scroll = "' . esc_attr( $ult_advanced_tab_settings['smooth_scroll'] ) . '" data-activeindex="' . esc_attr( $ult_advanced_tab_settings['tabs_active_index'] ) . '">';
			$op            .= $newtab;
			$op            .= '<div ' . $advanced_tabs_desc_data_list . 'class="ult_tabcontent ult-responsive ' . esc_attr( $style ) . '" style="' . esc_attr( $contain_bg ) . '">';
			$tabanimatclass = '';
			if ( 'Slide-Zoom' == $ult_advanced_tab_settings['tab_animation'] ) {

				$tabanimatclass = 'tabanimate';
			}
			$op .= '<div class="ult_tab_min_contain ' . esc_attr( $tabanimatclass ) . '" >';
			$op .= wpb_js_remove_wpautop( $content );
			$op .= '</div>';
			$op .= '</div>';
			$op .= '</div>';
			ob_start();
			echo $op; //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped

			/*---------------- for acordian -----------------*/
			$actab  = '';
			$actab .= '<div class="ult_acord ' . esc_attr( $advanced_tabs_desc_id ) . '">
   <div class="ult-tabto-accordion " style="width:;"
    data-titlecolor="' . esc_attr( $ult_advanced_tab_settings['tab_title_color'] ) . '"  data-titlebg="' . esc_attr( $ult_advanced_tab_settings['tab_background_color'] ) . '"
     data-titlehoverbg="' . esc_attr( $ult_advanced_tab_settings['tab_hover_background_color'] ) . '" data-titlehovercolor="' . esc_attr( $ult_advanced_tab_settings['tab_hover_title_color'] ) . '" data-animation="' . esc_attr( $ult_advanced_tab_settings['tab_animation'] ) . '"
     data-activetitle="' . esc_attr( $ult_advanced_tab_settings['acttab_title'] ) . '" data-activeicon="' . esc_attr( $ult_advanced_tab_settings['act_icon_color'] ) . '" data-activebg="' . esc_attr( $ult_advanced_tab_settings['acttab_background'] ) . '" data-scroll = "' . esc_attr( $ult_advanced_tab_settings['smooth_scroll'] ) . '" data-activeindex="' . esc_attr( $ult_advanced_tab_settings['tabs_active_index'] ) . '" >
     <dl>';

			$actab .= $acord;
			$actab .= '
    	</dl>
    <!--<div class="extraborder" style="background-color:' . esc_attr( $ult_advanced_tab_settings['tab_hover_background_color'] ) . '"></div>-->
</div>

</div>';

			echo $actab; //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
			return ob_get_clean();

		}
		/**
		 * Ult_tab_init.
		 */
		public function ult_tab_init() {

			$tab_id_1 = time() . '-1-' . wp_rand( 0, 100 );
			$tab_id_2 = time() . '-2-' . wp_rand( 0, 100 );

			$settings = array(
				'name'              => __( 'Advanced Tabs' ),
				'base'              => 'ult_tab_element',
				'category'          => __( 'Ultimate VC Addons', 'ultimate_vc' ),
				'description'       => __( 'Create nice looking tabs.', 'ultimate_vc' ),
				'class'             => 'ult_tab_eleicon',
				'is_container'      => true,
				'weight'            => - 5,
				'html_template'     => dirname( __FILE__ ) . '../vc_templates/ult_tab_element.php',
				'admin_enqueue_css' => preg_replace( '/\s/', '%20', UAVC_URL . 'admin/vc_extend/css/sub-tab.css' ),
				'js_view'           => 'UltimateTabView',
				// JS View name for backend. Can be used to override or add some logic for shortcodes in backend (cloning/rendering/deleting/editing).
				'icon'              => 'icon-wpb-ui-tab-content ult_tab_eleicon',
				'params'            => array(

					array(
						'type'       => 'dropdown',
						'class'      => '',
						'heading'    => __( 'Style' ),
						'param_name' => 'tab_style',
						'value'      => array(
							'Style 1' => 'Style_1',
							'Style 2' => 'Style_2',
							'Style 3' => 'Style_3',
							'Style 4' => 'Style_4',
							'Style 5' => 'Style_5',
							'Style 6' => 'Style_6',
						),
						'group'      => 'General ',
					),

					array(
						'type'       => 'dropdown',
						'class'      => '',
						'heading'    => __( 'Animation' ),
						'param_name' => 'tab_animation',
						'value'      => array(
							'Vertical Slide '  => '',
							'Horizontal Slide' => 'Slide-Horizontal',
							'Slide-Zoom'       => 'Slide-Zoom',
							'Fade'             => 'Fade',
							'Scale'            => 'Scale',
							'None'             => 'None',
						),

						'group'      => 'General ',

					),

					array(
						'type'       => 'dropdown',
						'class'      => '',
						'heading'    => __( ' Auto Rotate Tabs' ),
						'param_name' => 'auto_rotate',
						'value'      => array(
							'Disable' => 'Disables',
							'Enable'  => 'Enable',
						),
						'group'      => 'General ',
					),

					array(
						'type'       => 'number',
						'heading'    => __( 'Auto Rotate Interval', 'ultimate_vc' ),
						'param_name' => 'interval',
						'value'      => '',
						'suffix'     => 'seconds',
						'dependency' => array(
							'element' => 'auto_rotate',
							'value'   => array( 'Enable' ),
						),
						'group'      => 'General ',

					),
					array(
						'type'        => 'number',
						'heading'     => __( 'Tab Element Width' ),
						'value'       => '',
						'min'         => 300,
						'suffix'      => 'px',
						'param_name'  => 'container_width',
						'description' => __( 'Adjust width of your tab section. Keep empty for full width.' ),
						'group'       => 'General ',
					),
					array(
						'type'        => 'ult_switch',
						'class'       => '',
						'param_name'  => 'tab_max',
						'value'       => 'off',
						'default_set' => true,
						'options'     => array(
							'on' => array(
								'label' => __( 'Apply Max height to container?', 'ultimate_vc' ),
								'off'   => __( 'No', 'ultimate_vc' ),
								'on'    => __( 'Yes', 'ultimate_vc' ),
							),
						),
						'description' => __( 'Apply Max height to container?', 'ultimate_vc' ),
						'group'       => 'General ',
					),
					array(
						'type'        => 'textfield',
						'heading'     => __( 'Extra Class Name', 'ultimate_vc' ),
						'param_name'  => 'el_class',
						'description' => __( 'If you wish to style particular content element differently, then use this field to add a class name and then refer to it in your css file.', 'ultimate_vc' ),
						'group'       => 'General ',
					),

					/*---------tab----------------*/

					array(
						'type'       => 'colorpicker',
						'heading'    => __( 'Tab Title Color' ),
						'param_name' => 'tab_title_color',
						'value'      => '',
						'group'      => 'Tab',

					),

					array(
						'type'             => 'colorpicker',
						'heading'          => __( ' Tab Background Color' ),
						'param_name'       => 'tab_background_color',
						'value'            => '',
						'group'            => 'Tab',
						'edit_field_class' => 'vc_col-sm-12 vc_column ult_space_border',
					),

					array(
						'type'       => 'colorpicker',
						'heading'    => __( ' Tab Hover Title Color' ),
						'param_name' => 'tab_hover_title_color',
						'value'      => '',
						'group'      => 'Tab',

					),
					array(
						'type'             => 'colorpicker',
						'heading'          => __( ' Tab Hover Background Color' ),
						'param_name'       => 'tab_hover_background_color',
						'value'            => '',
						'group'            => 'Tab',
						'edit_field_class' => 'vc_col-sm-12 vc_column ult_space_border',
					),

					array(
						'type'       => 'colorpicker',
						'heading'    => __( 'Tab Active Title Color' ),
						'param_name' => 'acttab_title',
						'value'      => '',
						'group'      => 'Tab',
					),

					array(
						'type'             => 'colorpicker',
						'heading'          => __( 'Tab Active Background Color' ),
						'param_name'       => 'acttab_background',
						'value'            => '',
						'group'            => 'Tab',
						'edit_field_class' => 'vc_col-sm-12 vc_column ult_space_border',
					),
					array(
						'type'             => 'ultimate_spacing',
						'heading'          => 'Tab Padding',
						'param_name'       => 'tab_css',
						'mode'             => 'padding',                    // margin/padding.
						'unit'             => 'px',                        // [required] px,em,%,all     Default all.
						'positions'        => array(                   // Also set 'defaults'.
							'Top'    => '',
							'Right'  => '',
							'Bottom' => '',
							'Left'   => '',
						),
						'group'            => 'Tab',
						'description'      => __( 'Adjust inside spacing of tabs.', 'ultimate_vc' ),
						'dependency'       => array(
							'element' => 'tab_style',
							'value'   => array( 'Style_4', 'Style_1', 'Style_3', 'Style_5', 'Style_6' ),
						),
						'edit_field_class' => 'vc_col-sm-12 vc_column ult_space_border',
					),

					array(
						'type'       => 'dropdown',
						'class'      => '',
						'heading'    => __( 'Tab Border' ),
						'param_name' => 'tab_bottom_border',
						'value'      => array(
							'Disable' => 'Disable',
							'Enable'  => 'Enable',
						),
						'dependency' => array(
							'element' => 'tab_style',
							'value'   => array( 'Style_1', 'Style_3', 'Style_4' ),
						),
						'group'      => 'Tab',
					),

					array(
						'type'       => 'colorpicker',
						'heading'    => __( 'Tab Border Color' ),
						'param_name' => 'border_color',
						'value'      => '',
						'dependency' => array(
							'element' => 'tab_bottom_border',
							'value'   => array( 'Enable' ),
						),
						'group'      => 'Tab',
					),

					array(
						'type'       => 'number',
						'class'      => '',
						'heading'    => __( 'Tab Border Thickness' ),
						'param_name' => 'border_thickness',
						'dependency' => array(
							'element' => 'tab_bottom_border',
							'value'   => array( 'Enable' ),
						),
						'min'        => '1',
						'value'      => '',
						'suffix'     => 'px',
						'group'      => 'Tab',
					),
					array(
						'type'             => 'number',
						'class'            => '',
						'heading'          => __( 'Tab Border Radius', 'ultimate_vc' ),
						'param_name'       => 'tabs_border_radius',
						'value'            => '',
						'min'              => 1,
						'max'              => 100,
						'suffix'           => 'px',
						'description'      => __( 'This border will assign to border-top-left and border-top-right for first and last tab element . As you increase the value, the shape convert in circle slowly. (e.g 100 pixels).', 'ultimate_vc' ),
						'group'            => 'Tab',
						'edit_field_class' => 'vc_col-sm-12 vc_column ult_space_border',
					),
					array(
						'type'             => 'number',
						'class'            => '',
						'heading'          => __( 'Initial Active Tab', 'ultimate_vc' ),
						'param_name'       => 'tabs_active_index',
						'value'            => '1',
						'min'              => 1,
						'max'              => 100,
						'suffix'           => '',
						'description'      => __( 'Enter active tab number (Note: to have all tabs closed on initial load enter non-existing number).', 'ultimate_vc' ),
						'group'            => 'Tab',
						'edit_field_class' => 'vc_col-sm-12 vc_column ult_space_border',
					),
					array(
						'type'       => 'colorpicker',
						'heading'    => __( 'Tab Shaddow Color' ),
						'param_name' => 'shadow_color',
						'value'      => '',
						'dependency' => array(
							'element' => 'tab_style',
							'value'   => array( 'Style_5', 'Style_6' ),
						),
						'group'      => 'Tab',

					),
					/*---------icon----------------*/
					array(
						'type'        => 'dropdown',
						'class'       => '',
						'heading'     => __( 'Display Icon' ),
						'param_name'  => 'disp_icon',
						'value'       => array(
							'Enable'  => 'Enable',
							'Disable' => 'Disables',
						),
						'group'       => 'Icon ',
						'description' => __( 'Display icon with tab title.', 'ultimate_vc' ),
					),

					array(
						'type'             => 'ult_param_heading',
						'param_name'       => 'icon_text_setting',
						'text'             => __( 'Please choose icon from Subtab settings ', 'ultimate_vc' ),
						'value'            => '',
						'class'            => '',
						'group'            => 'Icon ',
						'edit_field_class' => 'ult-param-heading-wrapper  vc_column vc_col-sm-12 ult_tabicon_notice',
					),
					array(
						'type'       => 'dropdown',
						'class'      => '',
						'heading'    => __( 'Icon Position' ),
						'param_name' => 'font_icons_position',
						'value'      => array(
							'Right' => 'Right',
							'Left'  => 'Left',
							'Top'   => 'Top',
						),
						'group'      => 'Icon ',
						'dependency' => array(
							'element' => 'disp_icon',
							'value'   => array( 'Enable' ),
						),
					),
					array(
						'type'             => 'number',
						'heading'          => __( 'Icon Size', 'smile' ),
						'param_name'       => 'icon_size',
						'value'            => '',
						'min'              => 15,
						'max'              => 72,
						'suffix'           => 'px',
						'group'            => 'Icon ',
						'dependency'       => array(
							'element' => 'disp_icon',
							'value'   => array( 'Enable' ),
						),
						'edit_field_class' => 'vc_col-sm-12 vc_column ult_space_border',
					),
					array(
						'type'       => 'colorpicker',
						'heading'    => __( 'Icon Color', 'smile' ),
						'param_name' => 'icon_color',
						'value'      => '',
						'group'      => 'Icon ',
						'dependency' => array(
							'element' => 'disp_icon',
							'value'   => array( 'Enable' ),
						),
					),
					array(
						'type'       => 'colorpicker',
						'heading'    => __( 'Icon Hover Color', 'smile' ),
						'param_name' => 'icon_hover_color',
						'value'      => '',
						'group'      => 'Icon ',
						'dependency' => array(
							'element' => 'disp_icon',
							'value'   => array( 'Enable' ),
						),
					),
					array(
						'type'             => 'colorpicker',
						'heading'          => __( 'Icon Active Color' ),
						'param_name'       => 'act_icon_color',
						'value'            => '',
						'group'            => 'Icon ',
						'dependency'       => array(
							'element' => 'disp_icon',
							'value'   => array( 'Enable' ),
						),
						'edit_field_class' => 'vc_col-sm-12 vc_column ult_space_border',
					),
					array(
						'type'        => 'ultimate_spacing',
						'heading'     => ' Icon Margin ',
						'param_name'  => 'icon_margin',
						'mode'        => 'margin',                    // margin/padding.
						'unit'        => 'px',                        // [required] px,em,%,all     Default all.
						'positions'   => array(                   // Also set 'defaults'.
							'Top'    => '',
							'Right'  => '',
							'Bottom' => '',
							'Left'   => '',
						),
						'group'       => 'Icon ',
						'dependency'  => array(
							'element' => 'disp_icon',
							'value'   => array( 'Enable' ),
						),
						'description' => __( 'Adjust spacing of icon.', 'ultimate_vc' ),
					),

					/*--------------container-----------*/

					array(
						'type'       => 'colorpicker',
						'heading'    => __( 'Container Text Color' ),
						'param_name' => 'tab_describe_color',
						'value'      => '',
						'group'      => 'Container ',
					),
					array(
						'type'       => 'colorpicker',
						'heading'    => __( 'Container Background Color' ),
						'param_name' => 'enable_bg_color',
						'value'      => '',
						'group'      => 'Container ',

					),
					array(
						'type'         => 'ultimate_border',
						'heading'      => __( 'Container Border', 'ultimate_vc' ),
						'param_name'   => 'container_border_style1',
						'unit'         => 'px',                        // [required] px,em,%,all     Default all.
						'positions'    => array(
							__( 'Top', 'ultimate_vc' )    => '',
							__( 'Right', 'ultimate_vc' )  => '',
							__( 'Bottom', 'ultimate_vc' ) => '',
							__( 'Left', 'ultimate_vc' )   => '',
						),
						'radius'       => array(
							__( 'Top Left', 'ultimate_vc' ) => '',
							__( 'Top Right', 'ultimate_vc' )    => '',
							__( 'Bottom Right', 'ultimate_vc' ) => '3',
							__( 'Bottom Left', 'ultimate_vc' )  => '3',
						),
						'label_color'  => __( 'Container Border Color', 'ultimate_vc' ),
						'label_radius' => __( 'Container Border Radius', 'ultimate_vc' ),
						'group'        => 'Container ',
					),

					/*-------------design-------------*/
					array(
						'type'        => 'dropdown',
						'class'       => '',
						'heading'     => __( 'Responsive Mode for Tabs ' ),
						'param_name'  => 'resp_type',
						'value'       => array(
							'Tabs'      => 'Tabs',
							'Accordion' => 'Accordion',
						),
						'group'       => 'Responsive',
						'description' => __( 'Display normal tab or convert them into accordion on responsive devices.', 'ultimate_vc' ),
					),
					array(
						'type'        => 'number',
						'class'       => '',
						'heading'     => __( 'Responsive Width', 'ultimate_vc' ),
						'param_name'  => 'resp_width',
						'value'       => '',
						'min'         => 300,
						'max'         => 1200,
						'suffix'      => 'px',
						'description' => __( 'Enable accordion below this width.', 'ultimate_vc' ),
						'dependency'  => array(
							'element' => 'resp_type',
							'value'   => array( 'Accordion' ),
						),
						'group'       => 'Responsive',
					),
					array(
						'type'        => 'ult_switch',
						'class'       => '',
						'param_name'  => 'smooth_scroll',
						'value'       => 'on',
						'default_set' => true,
						'options'     => array(
							'on' => array(
								'label' => __( 'Scroll to Top of Container', 'ultimate_vc' ),
								'off'   => __( 'No', 'ultimate_vc' ),
								'on'    => __( 'Yes', 'ultimate_vc' ),
							),
						),
						'description' => __( 'If enable, tab will adjust on viewport on click.', 'ultimate_vc' ),
						'dependency'  => array(
							'element' => 'resp_type',
							'value'   => array( 'Accordion' ),
						),
						'group'       => 'Responsive',
					),
					array(
						'type'        => 'dropdown',
						'class'       => '',
						'heading'     => __( 'Responsive Mode Visibility ' ),
						'param_name'  => 'resp_style',
						'value'       => array(
							'Both'  => 'Both',
							'Icon'  => 'Icon',
							'Title' => 'Title',
						),

						'group'       => 'Responsive',
						'dependency'  => array(
							'element' => 'resp_type',
							'value'   => array( 'Tabs' ),
						),
						'description' => __( 'Choose what you want to display on responsive devices.', 'ultimate_vc' ),
					),

					/*-----------typography------------*/

								array(
									'type'       => 'text',
									'heading'    => __( '<h2>Title Settings</h2>' ),
									'param_name' => 'main_title_typograpy',
									'group'      => 'Typography',
								),
					array(
						'type'        => 'ultimate_google_fonts',
						'heading'     => __( 'Title Font Family', 'imedica' ),
						'param_name'  => 'main_heading_font_family',
						'description' => __( "Select the font of your choice. You can <a target='_blank' href='" . admin_url( 'admin.php?page=bsf-google-font-manager' ) . "'>add new in the collection here</a>.", 'imedica' ),
						'group'       => 'Typography',
					),
					array(
						'type'       => 'ultimate_google_fonts_style',
						'heading'    => __( 'Font Style', 'imedica' ),
						'param_name' => 'title_font_style',
						'group'      => 'Typography',
					),
					array(
						'type'       => 'ultimate_responsive',
						'class'      => '',
						'heading'    => __( 'Font size', 'ultimate_vc' ),
						'param_name' => 'title_font_size',
						'unit'       => 'px',
						'media'      => array(
							'Desktop'          => '',
							'Tablet'           => '',
							'Tablet Portrait'  => '',
							'Mobile Landscape' => '',
							'Mobile'           => '',
						),
						'group'      => 'Typography',
					),
					array(
						'type'       => 'ultimate_responsive',
						'class'      => '',
						'heading'    => __( 'Line Height', 'ultimate_vc' ),
						'param_name' => 'title_line_ht',
						'unit'       => 'px',
						'media'      => array(
							'Desktop'          => '',
							'Tablet'           => '',
							'Tablet Portrait'  => '',
							'Mobile Landscape' => '',
							'Mobile'           => '',
						),
						'group'      => 'Typography',
					),

					array(
						'type'       => 'text',
						'heading'    => __( '<h2>Container Description </h2>' ),
						'param_name' => 'main_desc_typograpy',
						'group'      => 'Typography',
					),

					array(
						'type'        => 'ultimate_google_fonts',
						'heading'     => __( ' Font Family', 'smile' ),
						'param_name'  => 'desc_font_family',
						'description' => __( "Select the font of your choice. You can <a target='_blank' href='" . admin_url( 'admin.php?page=bsf-google-font-manager' ) . "'>add new in the collection here</a>.", 'smile' ),
						'group'       => 'Typography',
					),

					array(
						'type'       => 'ultimate_google_fonts_style',
						'heading'    => __( 'Font Style', 'imedica' ),
						'param_name' => 'desc_font_style',
						'group'      => 'Typography',
					),
					array(
						'type'       => 'ultimate_responsive',
						'class'      => '',
						'heading'    => __( 'Font size', 'ultimate_vc' ),
						'param_name' => 'desc_font_size',
						'unit'       => 'px',
						'media'      => array(
							'Desktop'          => '',
							'Tablet'           => '',
							'Tablet Portrait'  => '',
							'Mobile Landscape' => '',
							'Mobile'           => '',
						),
						'group'      => 'Typography',
					),
					array(
						'type'       => 'ultimate_responsive',
						'class'      => '',
						'heading'    => __( 'Line Height', 'ultimate_vc' ),
						'param_name' => 'desc_line_ht',
						'unit'       => 'px',
						'media'      => array(
							'Desktop'          => '',
							'Tablet'           => '',
							'Tablet Portrait'  => '',
							'Mobile Landscape' => '',
							'Mobile'           => '',
						),
						'group'      => 'Typography',
					),
					array(
						'type'        => 'ultimate_spacing',
						'heading'     => ' Wrapper Margin ',
						'param_name'  => 'wrapper_margin',
						'mode'        => 'margin',                    // margin/padding.
						'unit'        => 'px',                        // [required] px,em,%,all     Default all.
						'positions'   => array(                   // Also set 'defaults'.
							'Top'    => '',
							'Right'  => '',
							'Bottom' => '',
							'Left'   => '',
						),
						'group'       => __( 'Design ', 'ultimate_vc' ),
						'description' => __( 'Add or remove margin for wrapper.', 'ultimate_vc' ),
					),

				/*----------end----------*/
				),
				'custom_markup'     => '<div class="wpb_tabs_holder wpb_holder vc_container_for_children">
									<ul class="tabs_controls">
									</ul>
									%content%
									</div>',

				'default_content'   => '[single_tab title="' . __( 'Tab 1', 'ultimate_vc' ) . '" tab_id="' . $tab_id_1 . ' ][/single_tab]
					  [single_tab title="' . __( 'Tab 2', 'ultimate_vc' ) . '" tab_id="' . $tab_id_2 . ' ][/single_tab]
									',
			);
			if ( function_exists( 'vc_map' ) ) {
				vc_map( $settings );
			}

			/* ---for single tabs element-------------*/
			if ( function_exists( 'vc_map' ) ) {
				vc_map(
					array(
						'name'                      => __( 'SubTab', 'ultimate_vc' ),
						'base'                      => 'single_tab',
						'icon'                      => 'ult_tab_eleicon',
						'class'                     => 'ult_tab_eleicon',
						'allowed_container_element' => 'vc_row',
						'is_container'              => true,
						'content_element'           => true,
						'as_child'                  => array( 'only' => 'ult_tab_element' ),
						'html_template'             => dirname( __FILE__ ) . '/vc_templates/single_tab.php',
						'js_view'                   => 'UltimateSubTabView',
						'params'                    => array(

							array(
								'type'       => 'textfield',
								'heading'    => __( 'Title', 'ultimate_vc' ),
								'param_name' => 'title',

							),
							array(
								'type'             => 'textfield',
								'edit_field_class' => ' vc_col-sm-12 vc_column wpb_el_type_textfield vc_shortcode-param',
								'heading'          => __( 'Tab ID', 'ultimate_vc' ),
								'param_name'       => 'tab_id',
								/* translators: %$s is replaced with "string" */
								'description'      => __( 'Enter Tab ID (Note: make sure it is unique, no space and valid according to <a href="%s" target="_blank">w3c specification</a>).', 'ultimate_vc' ),
							),
							array(
								'type'        => 'icon_manager',
								'class'       => '',
								'heading'     => __( 'Select Icon ', 'smile' ),
								'param_name'  => 'icon',
								'value'       => '',
								'group'       => 'Icon',
								'description' => __( "Click and select icon of your choice. If you can't find the one that suits for your purpose, you can <a href='admin.php?page=bsf-font-icon-manager' target='_blank'>add new here</a>.", 'smile' ),
							),
							array(
								'type'        => 'textfield',
								'heading'     => __( 'Extra class name', 'ultimate_vc' ),
								'param_name'  => 'ul_sub_class',
								'description' => __( 'If you wish to style particular content element differently, then use this field to add a class name and then refer to it in your css file.', 'ultimate_vc' ),
							),

						),

					)
				);

			}

		}//end ult_tab_init()


	}
	/**
	 * Ultimate_tabs.
	 */
	function ultimate_tabs() {

		Ultimate_VC_Addons::ultimate_register_style( 'ult_tabs', 'tabs' );
		Ultimate_VC_Addons::ultimate_register_style( 'ult_tabs_acordian', 'tabs-accordion' );

		Ultimate_VC_Addons::ultimate_register_script( 'ult_tabs_acordian_js', 'tabs-accordion', false, array( 'jquery' ), ULTIMATE_VERSION, true );

		Ultimate_VC_Addons::ultimate_register_script( 'ult_tabs_rotate', 'tabs', false, array( 'jquery' ), ULTIMATE_VERSION, true );
	}
	/**
	 * Ultimate_tabs_admin.
	 */
	function ultimate_tabs_admin() {
		$screen    = get_current_screen();
		$screen_id = $screen->base;
		if ( 'post' !== $screen_id ) {
			return false;
		}
		wp_register_script( 'tab-js-1', UAVC_URL . 'admin/vc_extend/js/ult_tab_admin_enqueue_js.js', array( 'jquery' ), ULTIMATE_VERSION, true );
		wp_register_script( 'tab-js-2', UAVC_URL . 'admin/vc_extend/js/single_element_js.js', array( 'jquery' ), ULTIMATE_VERSION, true );

		wp_enqueue_script( 'tab-js-1' );
		wp_enqueue_script( 'tab-js-2' );
	}
}

if ( class_exists( 'ULT_TAB_ELEMENT' ) ) {

	$ult_tab_element = new ULT_TAB_ELEMENT();

}

if ( class_exists( 'WPBakeryShortCode' ) ) {
		// Class Name should be WPBakeryShortCode_Your_Short_Code.
		// See more in vc_composer/includes/classes/shortcodes/shortcodes.php.
	/**
	 * WPBakeryShortCode_ULT_TAB_ELEMENT.
	 */
	class WPBakeryShortCode_ULT_TAB_ELEMENT extends WPBakeryShortCode {
		/**
		 * Filter method
		 *
		 * @var $filter_added.
		 */
		public static $filter_added = false;
		/**
		 * Controls_css_settings
		 *
		 * @var $controls_css_settings
		 */
		protected $controls_css_settings = 'out-tc vc_controls-content-widget';
		/**
		 * Controls_list
		 *
		 * @var $controls_list
		 */
		protected $controls_list = array( 'edit', 'clone', 'delete' );
		/**
		 * Initiator
		 *
		 * @param array $settings Settings.
		 */
		public function __construct( $settings ) {
				parent::__construct( $settings ); // !Important to call parent constructor to active all logic for .shortcode.
			if ( ! self::$filter_added ) {
				$this->addFilter( 'vc_inline_template_content', 'setCustomTabId' );
				self::$filter_added = true;
			}
		}
		/**
		 * ContentAdmin.
		 *
		 * @param array $atts Attributes.
		 * @param array $content Content.
		 */
		public function contentAdmin( $atts, $content = null ) {
				$width                = '';
				$custom_markup        = '';
				$shortcode_attributes = array( 'width' => '1/1' );
			foreach ( $this->settings['params'] as $param ) {
				if ( 'content' != $param['param_name'] ) {
					if ( isset( $param['value'] ) && is_string( $param['value'] ) ) {
						$shortcode_attributes[ $param['param_name'] ] = __( $param['value'], 'ultimate_vc' );
					} elseif ( isset( $param['value'] ) ) {
						$shortcode_attributes[ $param['param_name'] ] = $param['value'];
					}
				} elseif ( 'content' == $param['param_name'] && null == $content ) {
					$content = __( $param['value'], 'ultimate_vc' );
				}
			}
				extract( //phpcs:ignore WordPress.PHP.DontExtract.extract_extract
					shortcode_atts(
						$shortcode_attributes,
						$atts
					)
				);

				// Extract tab titles.

				preg_match_all( '/vc_tab title="([^\"]+)"(\stab_id\=\"([^\"]+)\"){0,1}/i', $content, $matches, PREG_OFFSET_CAPTURE );

				$output     = '';
				$tab_titles = array();

			if ( isset( $matches[0] ) ) {
				$tab_titles = $matches[0];
			}
				$tmp = '';
			if ( count( $tab_titles ) ) {
				$tmp .= '<ul class="clearfix tabs_controls">';
				foreach ( $tab_titles as $tab ) {
					preg_match( '/title="([^\"]+)"(\stab_id\=\"([^\"]+)\"){0,1}/i', $tab[0], $tab_matches, PREG_OFFSET_CAPTURE );
					if ( isset( $tab_matches[1][0] ) ) {
						$tmp .= '<li><a href="#tab-' . ( isset( $tab_matches[3][0] ) ? $tab_matches[3][0] : sanitize_title( $tab_matches[1][0] ) ) . '">' . $tab_matches[1][0] . '</a></li>';

					}
				}
				$tmp .= '</ul>' . "\n";
			} else {
				$output .= do_shortcode( $content );
			}

				$elem = $this->getElementHolder( $width );

				$iner = '';
			foreach ( $this->settings['params'] as $param ) {
				$custom_markup = '';
				$param_value   = isset( $param['param_name'] ) ? $param['param_name'] : '';
				if ( is_array( $param_value ) ) {
					// Get first element from the array.
					reset( $param_value );
					$first_key   = key( $param_value );
					$param_value = $param_value[ $first_key ];
				}
				$iner .= $this->singleParamHtmlHolder( $param, $param_value );
			}

			if ( isset( $this->settings['custom_markup'] ) && '' != $this->settings['custom_markup'] ) {
				if ( '' != $content ) {
					$custom_markup = str_ireplace( '%content%', $tmp . $content, $this->settings['custom_markup'] );
				} elseif ( '' == $content && isset( $this->settings['default_content_in_template'] ) && '' != $this->settings['default_content_in_template'] ) {
					$custom_markup = str_ireplace( '%content%', $this->settings['default_content_in_template'], $this->settings['custom_markup'] );
				} else {
					$custom_markup = str_ireplace( '%content%', '', $this->settings['custom_markup'] );
				}
				$iner .= do_shortcode( $custom_markup );
			}
				$elem   = str_ireplace( '%wpb_element_content%', $iner, $elem );
				$output = $elem;

				return $output;
		}
		/**
		 * GetTabTemplate.
		 */
		public function getTabTemplate() {
				return '<div class="wpb_template">' . do_shortcode( '[single_tab title="Tab" tab_id=""   icon_type="" icon="" icon_color="" icon_hover_color="" icon_size="15px" icon_background_color=""][/single_tab]' ) . '</div>';
		}
		/**
		 * SetCustomTabId.
		 *
		 * @param string $content Content.
		 */
		public function setCustomTabId( $content ) {
			return preg_replace( '/tab\_id\=\"([^\"]+)\"/', 'tab_id="$1-' . time() . '"', $content );

		}


	}//end class



	// } // End Class.

	define( 'ULT_TAB_TITLE', __( 'Tab', 'ultimate_vc' ) );
	if ( function_exists( 'vc_path_dir' ) ) {
		require_once vc_path_dir( 'SHORTCODES_DIR', 'vc-column.php' );
	}

	if ( class_exists( 'WPBakeryShortCode_VC_Column' ) ) {
		/**
		 * Class WPBakeryShortCode_SINGLE_TAB.
		 */
		class WPBakeryShortCode_SINGLE_TAB extends WPBakeryShortCode_VC_Column {
			/**
			 * Controls_css_settings.
			 *
			 * @var $controls_css_settings
			 */
			protected $controls_css_settings = 'tc vc_control-container';
			/**
			 * Controls_list.
			 *
			 * @var $controls_list
			 */
			protected $controls_list = array( 'add', 'edit', 'clone', 'delete' );
			/**
			 * Predefined_atts.
			 *
			 * @var $predefined_atts
			 */
			protected $predefined_atts = array(
				'tab_id'       => ULT_TAB_TITLE,
				'title'        => '',
				'icon_type'    => '',
				'icon'         => '',
				'ul_sub_class' => '',
			);


			/**
			 * Initiator
			 *
			 * @param array $settings Settings.
			 */
			public function __construct( $settings ) { //phpcs:ignore Generic.CodeAnalysis.UselessOverridingMethod.Found
				parent::__construct( $settings );

			}
			/**
			 * CustomAdminBlockParams.
			 */
			public function customAdminBlockParams() {
				return ' id="tab-' . esc_attr( $this->atts['tab_id'] ) . '"';
			}
			/**
			 * MainHtmlBlockParams.
			 *
			 * @param string $width Width.
			 * @param string $i I.
			 */
			public function mainHtmlBlockParams( $width, $i ) {
				return 'data-element_type="' . esc_attr( $this->settings['base'] ) . '" class="wpb_' . esc_attr( $this->settings['base'] ) . ' wpb_sortable wpb_content_holder"' . $this->customAdminBlockParams();
			}
			/**
			 * ContainerHtmlBlockParams.
			 *
			 * @param string $width Width.
			 * @param string $i I.
			 */
			public function containerHtmlBlockParams( $width, $i ) {
				return 'class="wpb_column_container vc_container_for_children"';
			}
			/**
			 * GetColumnControls.
			 *
			 * @param array $controls COntrols.
			 * @param array $extended_css Extended CSS.
			 */
			public function getColumnControls( $controls, $extended_css = '' ) {

				return $this->getColumnControlsModular( $extended_css );
			}

		}
	}
}