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/amritharmonium.com/www/wp-content/themes/porto/inc/functions/
Upload File :
Current File : /home/amritharmonium.com/www/wp-content/themes/porto/inc/functions/shortcodes.php
<?php



add_action('vc_after_init', 'porto_load_shortcodes');



function porto_load_shortcodes() {



    if ( function_exists('vc_map') ) {

        global $porto_settings;

        $dark = porto_is_dark_skin();



        $section_group = __('Porto Options', 'porto');

        $sticky_group = __('Sticky Options', 'porto');

        $animation_group = __('Animation', 'porto');

        $animation_type = array(

            "type" => "porto_theme_animation_type",

            "heading" => __("Animation Type", 'porto'),

            "param_name" => "animation_type",

            'group' => $animation_group

        );

        $animation_duration = array(

            "type" => "textfield",

            "heading" => __("Animation Duration", 'porto'),

            "param_name" => "animation_duration",

            "description" => __("numerical value (unit: milliseconds)", 'porto'),

            "value" => '1000',

            'group' => $animation_group

        );

        $animation_delay = array(

            "type" => "textfield",

            "heading" => __("Animation Delay", 'porto'),

            "param_name" => "animation_delay",

            "description" => __("numerical value (unit: milliseconds)", 'porto'),

            "value" => '0',

            'group' => $animation_group

        );



        /* ---------------------------- */

        /* Customize Row

        /* ---------------------------- */



        vc_add_param('vc_row', array(

            'type' => 'checkbox',

            'heading' => __('Wrap as Container', 'porto'),

            'param_name' => 'wrap_container',

            'value' => array(__('Yes, please', 'js_composer') => 'yes'),

            'group' => $section_group,

            'admin_label' => true

        ));

        vc_add_param('vc_row', array(

            'type' => 'dropdown',

            'heading' => __('Section & Parallax Text Color', 'porto'),

            'param_name' => 'section_text_color',

            'value' => porto_vc_commons('section_text_color'),

            'group' => $section_group,

        ));

        vc_add_param('vc_row', array(

            'type' => 'dropdown',

            'heading' => __('Text Align', 'porto'),

            'param_name' => 'text_align',

            'value' => porto_vc_commons('align'),

            'group' => $section_group,

        ));

        vc_add_param('vc_row', array(

            'type' => 'checkbox',

            'heading' => __('Is Section?', 'porto'),

            'param_name' => 'is_section',

            'value' => array(__('Yes, please', 'js_composer') => 'yes'),

            'group' => $section_group,

            'admin_label' => true,

        ));

        vc_add_param('vc_row', array(

            'type' => 'dropdown',

            'heading' => __('Section Skin Color', 'porto'),

            'param_name' => 'section_skin',

            'value' => porto_vc_commons('section_skin'),

            'group' => $section_group

        ));

        vc_add_param('vc_row', array(

            'type' => 'dropdown',

            'heading' => __('Section Default Color Scale', 'porto'),

            'param_name' => 'section_color_scale',

            'value' => porto_vc_commons('section_color_scale'),

            'dependency' => array('element' => 'section_skin', 'value' => array('default')),

            'group' => $section_group

        ));

        vc_add_param('vc_row', array(

            'type' => 'dropdown',

            'heading' => __('Section Color Scale', 'porto'),

            'param_name' => 'section_skin_scale',

            'dependency' => array('element' => 'section_skin', 'value' => array('primary','secondary','tertiary','quaternary','dark','light')),

            'group' => $section_group,

            'value' => array(

                __( 'Default', 'porto' ) => '',

                __( 'Scale 2', 'porto' ) => 'scale-2'

            ),

        ));

        vc_add_param('vc_row', array(

            'type' => 'checkbox',

            'heading' => __('Remove Margin Top', 'porto'),

            'param_name' => 'remove_margin_top',

            'value' => array(__('Yes, please', 'js_composer') => 'yes'),

            'group' => $section_group

        ));

        vc_add_param('vc_row', array(

            'type' => 'checkbox',

            'heading' => __('Remove Margin Bottom', 'porto'),

            'param_name' => 'remove_margin_bottom',

            'value' => array(__('Yes, please', 'js_composer') => 'yes'),

            'group' => $section_group

        ));

        vc_add_param('vc_row', array(

            'type' => 'checkbox',

            'heading' => __('Remove Padding Top', 'porto'),

            'param_name' => 'remove_padding_top',

            'value' => array(__('Yes, please', 'js_composer') => 'yes'),

            'group' => $section_group

        ));

        vc_add_param('vc_row', array(

            'type' => 'checkbox',

            'heading' => __('Remove Padding Bottom', 'porto'),

            'param_name' => 'remove_padding_bottom',

            'value' => array(__('Yes, please', 'js_composer') => 'yes'),

            'group' => $section_group

        ));

        vc_add_param('vc_row', array(

            'type' => 'checkbox',

            'heading' => __('Remove Border', 'porto'),

            'param_name' => 'remove_border',

            'value' => array(__('Yes, please', 'js_composer') => 'yes'),

            'group' => $section_group

        ));

        vc_add_param('vc_row', array(

            'type' => 'checkbox',

            'heading' => __('Show Divider', 'porto'),

            'param_name' => 'show_divider',

            'value' => array(__('Yes, please', 'js_composer') => 'yes'),

            'dependency' => array('element' => 'is_section', 'not_empty' => true),

            'group' => $section_group

        ));

        vc_add_param('vc_row', array(

            'type' => 'dropdown',

            'heading' => __('Divider Position', 'porto'),

            'param_name' => 'divider_pos',

            'value' => array(

                __('Top', 'porto') => '',

                __('Bottom', 'porto') => 'bottom',

            ),

            'dependency' => array('element' => 'show_divider', 'not_empty' => true),

            'group' => $section_group

        ));

        vc_add_param('vc_row', array(

            'type' => 'colorpicker',

            'heading' => __( 'Divider Color', 'porto' ),

            'param_name' => 'divider_color',

            'dependency' => array('element' => 'show_divider', 'not_empty' => true),

            'group' => $section_group

        ));

        vc_add_param('vc_row', array(

            'type' => 'textfield',

            'heading' => __('Divider Height', 'porto'),

            'param_name' => 'divider_height',

            'dependency' => array('element' => 'show_divider', 'not_empty' => true),

            'group' => $section_group

        ));

        vc_add_param('vc_row', array(

            'type' => 'checkbox',

            'heading' => __('Show Divider Icon', 'porto'),

            'param_name' => 'show_divider_icon',

            'value' => array(__('Yes, please', 'js_composer') => 'yes'),

            'dependency' => array('element' => 'show_divider', 'not_empty' => true),

            'group' => $section_group

        ));

        vc_add_param('vc_row', array(

            'type' => 'dropdown',

            'heading' => __( 'Icon library', 'js_composer' ),

            'value' => array(

                __( 'Font Awesome', 'porto' ) => 'fontawesome',

                __( 'Simple Line Icon', 'porto' ) => 'simpleline',

                __( 'Custom Image Icon', 'porto-shortcodes' ) => 'image'

            ),

            'param_name' => 'divider_icon_type',

            'dependency' => array('element' => 'show_divider_icon', 'not_empty' => true),

            'group' => $section_group,

        ));

        vc_add_param('vc_row', array(

            'type' => 'attach_image',

            'heading' => __('Select Icon', 'porto-shortcodes'),

            'dependency' => array('element' => 'divider_icon_type', 'value' => 'image'),

            'param_name' => 'divider_icon_image',

            'group' => $section_group,

        ));

        vc_add_param('vc_row', array(

            'type' => 'iconpicker',

            'heading' => __('Select Icon', 'porto'),

            'param_name' => 'divider_icon',

            'dependency' => array('element' => 'divider_icon_type', 'value' => 'fontawesome'),

            'group' => $section_group

        ));

        vc_add_param('vc_row', array(

            'type' => 'iconpicker',

            'heading' => __('Select Icon', 'porto'),

            'param_name' => 'divider_icon_simpleline',

            'value' => '',

            'settings' => array(

                'type' => 'simpleline',

                'iconsPerPage' => 4000,

            ),

            'dependency' => array('element' => 'divider_icon_type', 'value' => 'simpleline'),

            'group' => $section_group,

        ));

        vc_add_param('vc_row', array(

            'type' => 'dropdown',

            'heading' => __('Icon Skin Color', 'porto'),

            'param_name' => 'divider_icon_skin',

            'std' => 'custom',

            'value' => porto_vc_commons('colors'),

            'dependency' => array('element' => 'show_divider_icon', 'not_empty' => true),

            'group' => $section_group

        ));

        vc_add_param('vc_row', array(

            'type' => 'colorpicker',

            'heading' => __('Icon Color', 'porto'),

            'param_name' => 'divider_icon_color',

            'dependency' => array('element' => 'divider_icon_skin', 'value' => array('custom')),

            'group' => $section_group

        ));

        vc_add_param('vc_row', array(

            'type' => 'colorpicker',

            'heading' => __('Icon Background Color', 'porto'),

            'param_name' => 'divider_icon_bg_color',

            'dependency' => array('element' => 'divider_icon_skin', 'value' => array('custom')),

            'group' => $section_group

        ));

        vc_add_param('vc_row', array(

            'type' => 'colorpicker',

            'heading' => __('Icon Border Color', 'porto'),

            'param_name' => 'divider_icon_border_color',

            'dependency' => array('element' => 'divider_icon_skin', 'value' => array('custom')),

            'group' => $section_group

        ));

        vc_add_param('vc_row', array(

            'type' => 'colorpicker',

            'heading' => __('Icon Wrap Border Color', 'porto'),

            'param_name' => 'divider_icon_wrap_border_color',

            'dependency' => array('element' => 'divider_icon_skin', 'value' => array('custom')),

            'group' => $section_group

        ));

        vc_add_param('vc_row', array(

            'type' => 'dropdown',

            'heading' => __('Icon Style', 'porto'),

            'param_name' => 'divider_icon_style',

            'value' => porto_vc_commons('separator_icon_style'),

            'dependency' => array('element' => 'show_divider_icon', 'not_empty' => true),

            'group' => $section_group

        ));

        vc_add_param('vc_row', array(

            'type' => 'dropdown',

            'heading' => __('Icon Position', 'porto'),

            'param_name' => 'divider_icon_pos',

            'value' => porto_vc_commons('separator_icon_pos'),

            'dependency' => array('element' => 'show_divider_icon', 'not_empty' => true),

            'group' => $section_group

        ));

        vc_add_param('vc_row', array(

            'type' => 'dropdown',

            'heading' => __('Icon Size', 'porto'),

            'param_name' => 'divider_icon_size',

            'value' => porto_vc_commons('separator_icon_size'),

            'dependency' => array('element' => 'show_divider_icon', 'not_empty' => true),

            'group' => $section_group

        ));

        vc_add_param('vc_row', array(

            'type' => 'checkbox',

            'heading' => __('Enable Sticky Options?', 'porto'),

            'param_name' => 'is_sticky',

            'value' => array(__('Yes, please', 'js_composer') => 'yes'),

            'group' => $sticky_group,

            'admin_label' => true,

        ));

        vc_add_param('vc_row', array(

            "type" => "textfield",

            "heading" => __("Container Selector", 'porto'),

            "param_name" => "sticky_container_selector",

            "value" => ".main-content",

            'dependency' => array('element' => 'is_sticky', 'not_empty' => true),

            'group' => $sticky_group

        ));

        vc_add_param('vc_row', array(

            "type" => "textfield",

            "heading" => __("Min Width (unit: px)", 'porto'),

            "param_name" => "sticky_min_width",

            "" => __("Wll be disabled if window width is smaller than min width", 'porto'),

            "value" => 767,

            'dependency' => array('element' => 'is_sticky', 'not_empty' => true),

            'group' => $sticky_group

        ));

        vc_add_param('vc_row', array(

            "type" => "textfield",

            "heading" => __("Top (unit: px)", 'porto'),

            "param_name" => "sticky_top",

            "" => __("Top position when active", 'porto'),

            "value" => 110,

            'dependency' => array('element' => 'is_sticky', 'not_empty' => true),

            'group' => $sticky_group

        ));

        vc_add_param('vc_row', array(

            "type" => "textfield",

            "heading" => __("Bottom (unit: px)", 'porto'),

            "param_name" => "sticky_bottom",

            "" => __("Bottom position when active", 'porto'),

            "value" => 0,

            'dependency' => array('element' => 'is_sticky', 'not_empty' => true),

            'group' => $sticky_group

        ));

        vc_add_param('vc_row', array(

            "type" => "textfield",

            "heading" => __("Active Class", 'porto'),

            "param_name" => "sticky_active_class",

            "value" => "sticky-active",

            'dependency' => array('element' => 'is_sticky', 'not_empty' => true),

            'group' => $sticky_group

        ));

        vc_add_param('vc_row', $animation_type);

        vc_add_param('vc_row', $animation_duration);

        vc_add_param('vc_row', $animation_delay);



        vc_add_param('vc_row_inner', array(

            'type' => 'checkbox',

            'heading' => __('Enable Sticky Options?', 'porto'),

            'param_name' => 'is_sticky',

            'value' => array(__('Yes, please', 'js_composer') => 'yes'),

            'group' => $sticky_group,

            'admin_label' => true,

        ));

        vc_add_param('vc_row_inner', array(

            "type" => "textfield",

            "heading" => __("Container Selector", 'porto'),

            "param_name" => "sticky_container_selector",

            "value" => ".vc_row",

            'dependency' => array('element' => 'is_sticky', 'not_empty' => true),

            'group' => $sticky_group

        ));

        vc_add_param('vc_row_inner', array(

            "type" => "textfield",

            "heading" => __("Min Width (unit: px)", 'porto'),

            "param_name" => "sticky_min_width",

            "" => __("Wll be disabled if window width is smaller than min width", 'porto'),

            "value" => 767,

            'dependency' => array('element' => 'is_sticky', 'not_empty' => true),

            'group' => $sticky_group

        ));

        vc_add_param('vc_row_inner', array(

            "type" => "textfield",

            "heading" => __("Top (unit: px)", 'porto'),

            "param_name" => "sticky_top",

            "" => __("Top position when active", 'porto'),

            "value" => 110,

            'dependency' => array('element' => 'is_sticky', 'not_empty' => true),

            'group' => $sticky_group

        ));

        vc_add_param('vc_row_inner', array(

            "type" => "textfield",

            "heading" => __("Bottom (unit: px)", 'porto'),

            "param_name" => "sticky_bottom",

            "" => __("Bottom position when active", 'porto'),

            "value" => 0,

            'dependency' => array('element' => 'is_sticky', 'not_empty' => true),

            'group' => $sticky_group

        ));

        vc_add_param('vc_row_inner', array(

            "type" => "textfield",

            "heading" => __("Active Class", 'porto'),

            "param_name" => "sticky_active_class",

            "value" => "sticky-active",

            'dependency' => array('element' => 'is_sticky', 'not_empty' => true),

            'group' => $sticky_group

        ));

        vc_add_param('vc_row_inner', $animation_type);

        vc_add_param('vc_row_inner', $animation_duration);

        vc_add_param('vc_row_inner', $animation_delay);



        /* ---------------------------- */

        /* Customize Column

        /* ---------------------------- */

        vc_add_param('vc_column', array(

            'type' => 'dropdown',

            'heading' => __('Section & Parallax Text Color', 'porto'),

            'param_name' => 'section_text_color',

            'value' => porto_vc_commons('section_text_color'),

            'group' => $section_group,

        ));

        vc_add_param('vc_column', array(

            'type' => 'dropdown',

            'heading' => __('Text Align', 'porto'),

            'param_name' => 'text_align',

            'value' => porto_vc_commons('align'),

            'group' => $section_group,

        ));

        vc_add_param('vc_column', array(

            'type' => 'checkbox',

            'heading' => __('Is Section?', 'porto'),

            'param_name' => 'is_section',

            'value' => array(__('Yes, please', 'js_composer') => 'yes'),

            'group' => $section_group,

            'admin_label' => true,

        ));

        vc_add_param('vc_column', array(

            'type' => 'dropdown',

            'heading' => __('Section Skin Color', 'porto'),

            'param_name' => 'section_skin',

            'value' => porto_vc_commons('section_skin'),

            'group' => $section_group

        ));

        vc_add_param('vc_column', array(

            'type' => 'dropdown',

            'heading' => __('Section Default Color Scale', 'porto'),

            'param_name' => 'section_color_scale',

            'value' => porto_vc_commons('section_color_scale'),

            'dependency' => array('element' => 'section_skin', 'value' => array('default')),

            'group' => $section_group

        ));

        vc_add_param('vc_column', array(

            'type' => 'dropdown',

            'heading' => __('Section Color Scale', 'porto'),

            'param_name' => 'section_skin_scale',

            'dependency' => array('element' => 'section_skin', 'value' => array('primary','secondary','tertiary','quaternary','dark','light')),

            'group' => $section_group,

            'value' => array(

                __( 'Default', 'porto' ) => '',

                __( 'Scale 2', 'porto' ) => 'scale-2'

            ),

        ));

        vc_add_param('vc_column', array(

            'type' => 'checkbox',

            'heading' => __('Remove Margin Top', 'porto'),

            'param_name' => 'remove_margin_top',

            'value' => array(__('Yes, please', 'js_composer') => 'yes'),

            'group' => $section_group

        ));

        vc_add_param('vc_column', array(

            'type' => 'checkbox',

            'heading' => __('Remove Margin Bottom', 'porto'),

            'param_name' => 'remove_margin_bottom',

            'value' => array(__('Yes, please', 'js_composer') => 'yes'),

            'group' => $section_group

        ));

        vc_add_param('vc_column', array(

            'type' => 'checkbox',

            'heading' => __('Remove Padding Top', 'porto'),

            'param_name' => 'remove_padding_top',

            'value' => array(__('Yes, please', 'js_composer') => 'yes'),

            'group' => $section_group

        ));

        vc_add_param('vc_column', array(

            'type' => 'checkbox',

            'heading' => __('Remove Padding Bottom', 'porto'),

            'param_name' => 'remove_padding_bottom',

            'value' => array(__('Yes, please', 'js_composer') => 'yes'),

            'group' => $section_group

        ));

        vc_add_param('vc_column', array(

            'type' => 'checkbox',

            'heading' => __('Remove Border', 'porto'),

            'param_name' => 'remove_border',

            'value' => array(__('Yes, please', 'js_composer') => 'yes'),

            'group' => $section_group

        ));

        vc_add_param('vc_column', array(

            'type' => 'checkbox',

            'heading' => __('Show Divider', 'porto'),

            'param_name' => 'show_divider',

            'value' => array(__('Yes, please', 'js_composer') => 'yes'),

            'dependency' => array('element' => 'is_section', 'not_empty' => true),

            'group' => $section_group

        ));

        vc_add_param('vc_column', array(

            'type' => 'dropdown',

            'heading' => __('Divider Position', 'porto'),

            'param_name' => 'divider_pos',

            'value' => array(

                __('Top', 'porto') => '',

                __('Bottom', 'porto') => 'bottom',

            ),

            'dependency' => array('element' => 'show_divider', 'not_empty' => true),

            'group' => $section_group

        ));

        vc_add_param('vc_column', array(

            'type' => 'colorpicker',

            'heading' => __( 'Divider Color', 'porto' ),

            'param_name' => 'divider_color',

            'dependency' => array('element' => 'show_divider', 'not_empty' => true),

            'group' => $section_group

        ));

        vc_add_param('vc_column', array(

            'type' => 'textfield',

            'heading' => __('Divider Height', 'porto'),

            'param_name' => 'divider_height',

            'dependency' => array('element' => 'show_divider', 'not_empty' => true),

            'group' => $section_group

        ));

        vc_add_param('vc_column', array(

            'type' => 'checkbox',

            'heading' => __('Show Divider Icon', 'porto'),

            'param_name' => 'show_divider_icon',

            'value' => array(__('Yes, please', 'js_composer') => 'yes'),

            'dependency' => array('element' => 'show_divider', 'not_empty' => true),

            'group' => $section_group

        ));

        vc_add_param('vc_column', array(

            'type' => 'dropdown',

            'heading' => __( 'Icon library', 'js_composer' ),

            'value' => array(

                __( 'Font Awesome', 'porto' ) => 'fontawesome',

                __( 'Simple Line Icon', 'porto' ) => 'simpleline',

                __( 'Custom Image Icon', 'porto-shortcodes' ) => 'image'

            ),

            'param_name' => 'divider_icon_type',

            'dependency' => array('element' => 'show_divider_icon', 'not_empty' => true),

            'group' => $section_group,

        ));

        vc_add_param('vc_column', array(

            'type' => 'attach_image',

            'heading' => __('Select Icon', 'porto-shortcodes'),

            'dependency' => array('element' => 'divider_icon_type', 'value' => 'image'),

            'param_name' => 'divider_icon_image',

            'group' => $section_group,

        ));

        vc_add_param('vc_column', array(

            'type' => 'iconpicker',

            'heading' => __('Select Icon', 'porto'),

            'param_name' => 'divider_icon',

            'dependency' => array('element' => 'divider_icon_type', 'value' => 'fontawesome'),

            'group' => $section_group

        ));

        vc_add_param('vc_column', array(

            'type' => 'iconpicker',

            'heading' => __('Select Icon', 'porto'),

            'param_name' => 'divider_icon_simpleline',

            'value' => '',

            'settings' => array(

                'type' => 'simpleline',

                'iconsPerPage' => 4000,

            ),

            'dependency' => array('element' => 'divider_icon_type', 'value' => 'simpleline'),

            'group' => $section_group,

        ));

        vc_add_param('vc_column', array(

            'type' => 'dropdown',

            'heading' => __('Icon Skin Color', 'porto'),

            'param_name' => 'divider_icon_skin',

            'std' => 'custom',

            'value' => porto_vc_commons('colors'),

            'dependency' => array('element' => 'show_divider_icon', 'not_empty' => true),

            'group' => $section_group

        ));

        vc_add_param('vc_column', array(

            'type' => 'colorpicker',

            'heading' => __('Icon Color', 'porto'),

            'param_name' => 'divider_icon_color',

            'dependency' => array('element' => 'divider_icon_skin', 'value' => array('custom')),

            'group' => $section_group

        ));

        vc_add_param('vc_column', array(

            'type' => 'colorpicker',

            'heading' => __('Icon Background Color', 'porto'),

            'param_name' => 'divider_icon_bg_color',

            'dependency' => array('element' => 'divider_icon_skin', 'value' => array('custom')),

            'group' => $section_group

        ));

        vc_add_param('vc_column', array(

            'type' => 'colorpicker',

            'heading' => __('Icon Border Color', 'porto'),

            'param_name' => 'divider_icon_border_color',

            'dependency' => array('element' => 'divider_icon_skin', 'value' => array('custom')),

            'group' => $section_group

        ));

        vc_add_param('vc_column', array(

            'type' => 'colorpicker',

            'heading' => __('Icon Wrap Border Color', 'porto'),

            'param_name' => 'divider_icon_wrap_border_color',

            'dependency' => array('element' => 'divider_icon_skin', 'value' => array('custom')),

            'group' => $section_group

        ));

        vc_add_param('vc_column', array(

            'type' => 'dropdown',

            'heading' => __('Icon Style', 'porto'),

            'param_name' => 'divider_icon_style',

            'value' => porto_vc_commons('separator_icon_style'),

            'dependency' => array('element' => 'show_divider_icon', 'not_empty' => true),

            'group' => $section_group

        ));

        vc_add_param('vc_column', array(

            'type' => 'dropdown',

            'heading' => __('Icon Position', 'porto'),

            'param_name' => 'divider_icon_pos',

            'value' => porto_vc_commons('separator_icon_pos'),

            'dependency' => array('element' => 'show_divider_icon', 'not_empty' => true),

            'group' => $section_group

        ));

        vc_add_param('vc_column', array(

            'type' => 'dropdown',

            'heading' => __('Icon Size', 'porto'),

            'param_name' => 'divider_icon_size',

            'value' => porto_vc_commons('separator_icon_size'),

            'dependency' => array('element' => 'show_divider_icon', 'not_empty' => true),

            'group' => $section_group

        ));

        vc_add_param('vc_column', array(

            'type' => 'checkbox',

            'heading' => __('Enable Sticky Options?', 'porto'),

            'param_name' => 'is_sticky',

            'value' => array(__('Yes, please', 'js_composer') => 'yes'),

            'group' => $sticky_group,

            'admin_label' => true,

        ));

        vc_add_param('vc_column', array(

            "type" => "textfield",

            "heading" => __("Container Selector", 'porto'),

            "param_name" => "sticky_container_selector",

            "value" => ".vc_row",

            'dependency' => array('element' => 'is_sticky', 'not_empty' => true),

            'group' => $sticky_group

        ));

        vc_add_param('vc_column', array(

            "type" => "textfield",

            "heading" => __("Min Width (unit: px)", 'porto'),

            "param_name" => "sticky_min_width",

            "" => __("Wll be disabled if window width is smaller than min width", 'porto'),

            "value" => 767,

            'dependency' => array('element' => 'is_sticky', 'not_empty' => true),

            'group' => $sticky_group

        ));

        vc_add_param('vc_column', array(

            "type" => "textfield",

            "heading" => __("Top (unit: px)", 'porto'),

            "param_name" => "sticky_top",

            "" => __("Top position when active", 'porto'),

            "value" => 110,

            'dependency' => array('element' => 'is_sticky', 'not_empty' => true),

            'group' => $sticky_group

        ));

        vc_add_param('vc_column', array(

            "type" => "textfield",

            "heading" => __("Bottom (unit: px)", 'porto'),

            "param_name" => "sticky_bottom",

            "" => __("Bottom position when active", 'porto'),

            "value" => 0,

            'dependency' => array('element' => 'is_sticky', 'not_empty' => true),

            'group' => $sticky_group

        ));

        vc_add_param('vc_column', array(

            "type" => "textfield",

            "heading" => __("Active Class", 'porto'),

            "param_name" => "sticky_active_class",

            "value" => "sticky-active",

            'dependency' => array('element' => 'is_sticky', 'not_empty' => true),

            'group' => $sticky_group

        ));

        vc_add_param('vc_column', $animation_type);

        vc_add_param('vc_column', $animation_duration);

        vc_add_param('vc_column', $animation_delay);



        vc_add_param('vc_column_inner', array(

            'type' => 'checkbox',

            'heading' => __('Enable Sticky Options?', 'porto'),

            'param_name' => 'is_sticky',

            'value' => array(__('Yes, please', 'js_composer') => 'yes'),

            'group' => $sticky_group,

            'admin_label' => true,

        ));

        vc_add_param('vc_column_inner', array(

            "type" => "textfield",

            "heading" => __("Container Selector", 'porto'),

            "param_name" => "sticky_container_selector",

            "value" => ".vc_row",

            'dependency' => array('element' => 'is_sticky', 'not_empty' => true),

            'group' => $sticky_group

        ));

        vc_add_param('vc_column_inner', array(

            "type" => "textfield",

            "heading" => __("Min Width (unit: px)", 'porto'),

            "param_name" => "sticky_min_width",

            "" => __("Wll be disabled if window width is smaller than min width", 'porto'),

            "value" => 767,

            'dependency' => array('element' => 'is_sticky', 'not_empty' => true),

            'group' => $sticky_group

        ));

        vc_add_param('vc_column_inner', array(

            "type" => "textfield",

            "heading" => __("Top (unit: px)", 'porto'),

            "param_name" => "sticky_top",

            "" => __("Top position when active", 'porto'),

            "value" => 110,

            'dependency' => array('element' => 'is_sticky', 'not_empty' => true),

            'group' => $sticky_group

        ));

        vc_add_param('vc_column_inner', array(

            "type" => "textfield",

            "heading" => __("Bottom (unit: px)", 'porto'),

            "param_name" => "sticky_bottom",

            "" => __("Bottom position when active", 'porto'),

            "value" => 0,

            'dependency' => array('element' => 'is_sticky', 'not_empty' => true),

            'group' => $sticky_group

        ));

        vc_add_param('vc_column_inner', array(

            "type" => "textfield",

            "heading" => __("Active Class", 'porto'),

            "param_name" => "sticky_active_class",

            "value" => "sticky-active",

            'dependency' => array('element' => 'is_sticky', 'not_empty' => true),

            'group' => $sticky_group

        ));

        vc_add_param('vc_column_inner', $animation_type);

        vc_add_param('vc_column_inner', $animation_duration);

        vc_add_param('vc_column_inner', $animation_delay);



        /* ---------------------------- */

        /* Customize Custom Heading

        /* ---------------------------- */

        vc_add_param('vc_custom_heading', array(

            'type' => 'dropdown',

            'heading' => __('Text Transform', 'porto'),

            'param_name' => 'text_transform',

            'std' => '',

            'value' => array(

                __('None', 'porto' ) => '',

                __('Uppercase', 'porto' ) => 'text-uppercase',

                __('Lowercase', 'porto' ) => 'text-lowercase',

                __('Capitalize', 'porto' ) => 'text-capitalize',

            ),

            'group' => $section_group,

        ));

        vc_add_param('vc_custom_heading', array(

            'type' => 'dropdown',

            'heading' => __('Skin Color', 'porto'),

            'param_name' => 'skin',

            'std' => 'custom',

            'value' => porto_vc_commons('colors'),

            'group' => $section_group,

        ));

        vc_add_param('vc_custom_heading', array(

            'type' => 'checkbox',

            'heading' => __('Show Border', 'porto'),

            'param_name' => 'show_border',

            'value' => array(__('Yes, please', 'js_composer') => 'yes'),

            'group' => $section_group,

        ));

        vc_add_param('vc_custom_heading', array(

            'type' => 'dropdown',

            'heading' => __('Border Skin Color', 'porto'),

            'param_name' => 'border_skin',

            'std' => 'custom',

            'value' => porto_vc_commons('colors'),

            'dependency' => array('element' => 'show_border', 'not_empty' => true),

            'group' => $section_group,

        ));

        vc_add_param('vc_custom_heading', array(

            'type' => 'colorpicker',

            'heading' => __('Border Color', 'porto'),

            'param_name' => 'border_color',

            'dependency' => array('element' => 'border_skin', 'value' => array('custom')),

            'group' => $section_group,

        ));

        vc_add_param('vc_custom_heading', array(

            'type' => 'dropdown',

            'heading' => __('Border Type', 'porto'),

            'param_name' => 'border_type',

            'value' => porto_vc_commons('heading_border_type'),

            'dependency' => array('element' => 'show_border', 'not_empty' => true),

            'group' => $section_group,

        ));

        vc_add_param('vc_custom_heading', array(

            'type' => 'dropdown',

            'heading' => __('Border Size', 'porto'),

            'param_name' => 'border_size',

            'value' => porto_vc_commons('heading_border_size'),

            'dependency' => array('element' => 'show_border', 'not_empty' => true),

            'group' => $section_group,

        ));



        /* ---------------------------- */

        /* Customize Tabs, Tab

        /* ---------------------------- */

        vc_remove_param('vc_tabs', 'interval');

        vc_add_param('vc_tabs', array(

            'type' => 'dropdown',

            'heading' => __('Position', 'porto'),

            'param_name' => 'position',

            'value' => porto_vc_commons('tabs'),

            'description' => __('Select the position of the tab header.', 'porto'),

            'group' => $section_group,

            'admin_label' => true

        ));

        vc_add_param('vc_tabs', array(

            'type' => 'dropdown',

            'heading' => __('Skin Color', 'porto'),

            'param_name' => 'skin',

            'std' => 'custom',

            'value' => porto_vc_commons('colors'),

            'group' => $section_group,

            'admin_label' => true

        ));

        vc_add_param('vc_tabs', array(

            'type' => 'colorpicker',

            'heading' => __('Color', 'porto'),

            'param_name' => 'color',

            'dependency' => array('element' => 'skin', 'value' => array( 'custom' )),

            'group' => $section_group,

        ));

        vc_add_param('vc_tabs', array(

            'type' => 'dropdown',

            'heading' => __('Type', 'porto'),

            'param_name' => 'type',

            'value' => porto_vc_commons('tabs_type'),

            'group' => $section_group,

            'admin_label' => true

        ));

        vc_add_param('vc_tabs', array(

            'type' => 'dropdown',

            'heading' => __('Icon Style', 'porto'),

            'param_name' => 'icon_style',

            'value' => porto_vc_commons('tabs_icon_style'),

            'admin_label' => true,

            'dependency' => array('element' => 'type', 'value' => array( 'tabs-simple' )),

            'group' => $section_group,

        ));

        vc_add_param('vc_tabs', array(

            'type' => 'dropdown',

            'heading' => __('Icon Effect', 'porto'),

            'param_name' => 'icon_effect',

            'value' => porto_vc_commons('tabs_icon_effect'),

            'group' => $section_group,

            'admin_label' => true,

            'dependency' => array('element' => 'type', 'value' => array( 'tabs-simple' )),

        ));

        vc_add_param('vc_tab', array(

            'type' => 'checkbox',

            'heading' => __('Show Icon', 'porto'),

            'param_name' => 'show_icon',

            'value' => array(__('Yes, please', 'js_composer') => 'yes'),

            'group' => $section_group,

        ));

        vc_add_param('vc_tab', array(

            'type' => 'dropdown',

            'heading' => __( 'Icon library', 'js_composer' ),

            'value' => array(

                __( 'Font Awesome', 'porto' ) => 'fontawesome',

                __( 'Simple Line Icon', 'porto' ) => 'simpleline',

                __( 'Custom Image Icon', 'porto-shortcodes' ) => 'image'

            ),

            'param_name' => 'icon_type',

            'dependency' => array('element' => 'show_icon', 'not_empty' => true),

            'group' => $section_group,

        ));

		vc_add_param('vc_tab', array(

            'type' => 'attach_image',

            'heading' => __('Select Icon', 'porto-shortcodes'),

            'dependency' => array('element' => 'icon_type', 'value' => 'image'),

            'param_name' => 'icon_image',

            'group' => $section_group,

        ));

		vc_add_param('vc_tab', array(

            'type' => 'iconpicker',

            'heading' => __('Select Icon', 'porto'),

            'param_name' => 'icon',

            'dependency' => array('element' => 'icon_type', 'value' => 'fontawesome'),

            'group' => $section_group,

        ));

        vc_add_param('vc_tab', array(

            'type' => 'iconpicker',

            'heading' => __('Select Icon', 'porto'),

            'param_name' => 'icon_simpleline',

            'value' => '',

            'settings' => array(

                'type' => 'simpleline',

                'iconsPerPage' => 4000,

            ),

            'dependency' => array('element' => 'icon_type', 'value' => 'simpleline'),

            'group' => $section_group,

        ));

		vc_add_param('vc_tab', array(

            'type' => 'label',

            'heading' => __('Please configure the following options when Tabs Type is Simple.', 'porto'),

            'param_name' => 'label',

            'group' => $section_group,

        ));

        vc_add_param('vc_tab', array(

            'type' => 'dropdown',

            'heading' => __('Icon Skin Color', 'porto'),

            'param_name' => 'icon_skin',

            'std' => 'custom',

            'value' => porto_vc_commons('colors'),

            'dependency' => array('element' => 'show_icon', 'not_empty' => true),

            'group' => $section_group,

        ));

        vc_add_param('vc_tab', array(

            'type' => 'colorpicker',

            'heading' => __('Icon Color', 'porto'),

            'param_name' => 'icon_color',

            'dependency' => array('element' => 'icon_skin', 'value' => array( 'custom' )),

            'group' => $section_group,

        ));

        vc_add_param('vc_tab', array(

            'type' => 'colorpicker',

            'heading' => __('Icon Background Color', 'porto'),

            'param_name' => 'icon_bg_color',

            'dependency' => array('element' => 'icon_skin', 'value' => array( 'custom' )),

            'group' => $section_group,

        ));

        vc_add_param('vc_tab', array(

            'type' => 'colorpicker',

            'heading' => __('Icon Border Color', 'porto'),

            'param_name' => 'icon_border_color',

            'dependency' => array('element' => 'icon_skin', 'value' => array( 'custom' )),

            'group' => $section_group,

        ));

        vc_add_param('vc_tab', array(

            'type' => 'colorpicker',

            'heading' => __('Icon Wrap Border Color', 'porto'),

            'param_name' => 'icon_wrap_border_color',

            'dependency' => array('element' => 'icon_skin', 'value' => array( 'custom' )),

            'group' => $section_group,

        ));

        vc_add_param('vc_tab', array(

            'type' => 'colorpicker',

            'heading' => __('Icon Box Shadow Color', 'porto'),

            'param_name' => 'icon_shadow_color',

            'dependency' => array('element' => 'icon_skin', 'value' => array( 'custom' )),

            'group' => $section_group,

        ));

        vc_add_param('vc_tab', array(

            'type' => 'colorpicker',

            'heading' => __('Icon Hover Color', 'porto'),

            'param_name' => 'icon_hcolor',

            'dependency' => array('element' => 'icon_skin', 'value' => array( 'custom' )),

            'group' => $section_group,

        ));

        vc_add_param('vc_tab', array(

            'type' => 'colorpicker',

            'heading' => __('Icon Hover Background Color', 'porto'),

            'param_name' => 'icon_hbg_color',

            'dependency' => array('element' => 'icon_skin', 'value' => array( 'custom' )),

            'group' => $section_group,

        ));

        vc_add_param('vc_tab', array(

            'type' => 'colorpicker',

            'heading' => __('Icon Hover Border Color', 'porto'),

            'param_name' => 'icon_hborder_color',

            'dependency' => array('element' => 'icon_skin', 'value' => array( 'custom' )),

            'group' => $section_group,

        ));

        vc_add_param('vc_tab', array(

            'type' => 'colorpicker',

            'heading' => __('Icon Wrap Hover Border Color', 'porto'),

            'param_name' => 'icon_wrap_hborder_color',

            'dependency' => array('element' => 'icon_skin', 'value' => array( 'custom' )),

            'group' => $section_group,

        ));

        vc_add_param('vc_tab', array(

            'type' => 'colorpicker',

            'heading' => __('Icon Hover Box Shadow Color', 'porto'),

            'param_name' => 'icon_hshadow_color',

            'dependency' => array('element' => 'icon_skin', 'value' => array( 'custom' )),

            'group' => $section_group,

        ));





        /* ---------------------------- */

        /* Customize Tour

        /* ---------------------------- */

        vc_remove_param('vc_tour', 'interval');

        vc_add_param('vc_tour', array(

            'type' => 'dropdown',

            'heading' => __('Position', 'porto'),

            'param_name' => 'position',

            'value' => porto_vc_commons('tour'),

            'description' => __('Select the position of the tab header.', 'porto'),

            'group' => $section_group,

            'admin_label' => true

        ));

        vc_add_param('vc_tour', array(

            'type' => 'dropdown',

            'heading' => __('Skin Color', 'porto'),

            'param_name' => 'skin',

            'std' => 'custom',

            'value' => porto_vc_commons('colors'),

            'group' => $section_group,

            'admin_label' => true

        ));

        vc_add_param('vc_tour', array(

            'type' => 'colorpicker',

            'heading' => __('Color', 'porto'),

            'param_name' => 'color',

            'group' => $section_group,

            'dependency' => array(

                'element' => 'skin',

                'value' => array( 'custom' )

            ),

        ));

        vc_add_param('vc_tour', array(

            'type' => 'dropdown',

            'heading' => __('Type', 'porto'),

            'param_name' => 'type',

            'value' => porto_vc_commons('tour_type'),

            'group' => $section_group,

            'admin_label' => true

        ));



        /* ---------------------------- */

        /* Customize Separator

        /* ---------------------------- */

        vc_remove_param('vc_separator', 'style');

        vc_add_param('vc_separator', array(

            'type' => 'dropdown',

            'heading' => __('Type', 'porto'),

            'param_name' => 'type',

            'value' => porto_vc_commons('separator_type'),

            'group' => $section_group,

        ));

        vc_add_param('vc_separator', array(

            'type' => 'dropdown',

            'heading' => __('Style', 'porto'),

            'param_name' => 'style',

            'value' => porto_vc_commons('separator_style'),

            'dependency' => array('element' => 'type', 'value' => array('')),

            'group' => $section_group,

        ));

        vc_add_param('vc_separator', array(

            'type' => 'attach_image',

            'heading' => __('Pattern', 'porto'),

            'param_name' => 'pattern',

            'dependency' => array('element' => 'style', 'value' => array('pattern')),

            'group' => $section_group,

        ));

        vc_add_param('vc_separator', array(

            'type' => 'dropdown',

            'heading' => __('Pattern Repeat', 'porto'),

            'param_name' => 'pattern_repeat',

            'value' => porto_vc_commons('separator_repeat'),

            'dependency' => array('element' => 'style', 'value' => array('pattern')),

            'group' => $section_group,

        ));

        vc_add_param('vc_separator', array(

            'type' => 'dropdown',

            'heading' => __('Pattern Position', 'porto'),

            'param_name' => 'pattern_position',

            'value' => porto_vc_commons('separator_position'),

            'dependency' => array('element' => 'style', 'value' => array('pattern')),

            'group' => $section_group,

        ));

        vc_add_param('vc_separator', array(

            'type' => 'textfield',

            'heading' => __('Pattern Height (unit: px)', 'porto'),

            'param_name' => 'pattern_height',

            'dependency' => array('element' => 'style', 'value' => array('pattern')),

            'value' => '15',

            'group' => $section_group,

        ));

        vc_add_param('vc_separator', array(

            'type' => 'checkbox',

            'heading' => __('Show Icon', 'porto'),

            'param_name' => 'show_icon',

            'value' => array(__('Yes, please', 'js_composer') => 'yes'),

            'group' => $section_group,

        ));

        vc_add_param('vc_separator', array(

            'type' => 'dropdown',

            'heading' => __( 'Icon library', 'js_composer' ),

            'value' => array(

                __( 'Font Awesome', 'porto' ) => 'fontawesome',

                __( 'Simple Line Icon', 'porto' ) => 'simpleline',

                __( 'Custom Image Icon', 'porto-shortcodes' ) => 'image'

            ),

            'param_name' => 'icon_type',

            'dependency' => array('element' => 'show_icon', 'not_empty' => true),

            'group' => $section_group,

        ));

        vc_add_param('vc_separator', array(

            'type' => 'attach_image',

            'heading' => __('Select Icon', 'porto-shortcodes'),

            'dependency' => array('element' => 'icon_type', 'value' => 'image'),

            'param_name' => 'icon_image',

            'group' => $section_group,

        ));

        vc_add_param('vc_separator', array(

            'type' => 'iconpicker',

            'heading' => __('Select Icon', 'porto'),

            'param_name' => 'icon',

            'dependency' => array('element' => 'icon_type', 'value' => 'fontawesome'),

            'group' => $section_group,

        ));

        vc_add_param('vc_separator', array(

            'type' => 'iconpicker',

            'heading' => __('Select Icon', 'porto'),

            'param_name' => 'icon_simpleline',

            'value' => '',

            'settings' => array(

                'type' => 'simpleline',

                'iconsPerPage' => 4000,

            ),

            'dependency' => array('element' => 'icon_type', 'value' => 'simpleline'),

            'group' => $section_group,

        ));

        vc_add_param('vc_separator', array(

            'type' => 'dropdown',

            'heading' => __('Icon Skin Color', 'porto'),

            'param_name' => 'icon_skin',

            'std' => 'custom',

            'value' => porto_vc_commons('colors'),

            'dependency' => array('element' => 'show_icon', 'not_empty' => true),

            'group' => $section_group,

        ));

        vc_add_param('vc_separator', array(

            'type' => 'colorpicker',

            'heading' => __('Icon Color', 'porto'),

            'param_name' => 'icon_color',

            'dependency' => array('element' => 'icon_skin', 'value' => array('custom')),

            'group' => $section_group,

        ));

        vc_add_param('vc_separator', array(

            'type' => 'colorpicker',

            'heading' => __('Icon Background Color', 'porto'),

            'param_name' => 'icon_bg_color',

            'dependency' => array('element' => 'icon_skin', 'value' => array('custom')),

            'group' => $section_group,

        ));

        vc_add_param('vc_separator', array(

            'type' => 'colorpicker',

            'heading' => __('Icon Border Color', 'porto'),

            'param_name' => 'icon_border_color',

            'dependency' => array('element' => 'icon_skin', 'value' => array('custom')),

            'group' => $section_group,

        ));

        vc_add_param('vc_separator', array(

            'type' => 'colorpicker',

            'heading' => __('Icon Wrap Border Color', 'porto'),

            'param_name' => 'icon_wrap_border_color',

            'dependency' => array('element' => 'icon_skin', 'value' => array('custom')),

            'group' => $section_group,

        ));

        vc_add_param('vc_separator', array(

            'type' => 'dropdown',

            'heading' => __('Icon Style', 'porto'),

            'param_name' => 'icon_style',

            'value' => porto_vc_commons('separator_icon_style'),

            'dependency' => array('element' => 'show_icon', 'not_empty' => true),

            'group' => $section_group,

        ));

        vc_add_param('vc_separator', array(

            'type' => 'dropdown',

            'heading' => __('Icon Position', 'porto'),

            'param_name' => 'icon_pos',

            'value' => porto_vc_commons('separator_icon_pos'),

            'dependency' => array('element' => 'show_icon', 'not_empty' => true),

            'group' => $section_group,

        ));

        vc_add_param('vc_separator', array(

            'type' => 'dropdown',

            'heading' => __('Icon Size', 'porto'),

            'param_name' => 'icon_size',

            'value' => porto_vc_commons('separator_icon_size'),

            'dependency' => array('element' => 'show_icon', 'not_empty' => true),

            'group' => $section_group,

        ));

        vc_add_param('vc_separator', array(

            'type' => 'dropdown',

            'heading' => __('Gap Size', 'porto'),

            'param_name' => 'gap',

            'value' => porto_vc_commons('separator'),

            'group' => $section_group,

        ));



        /* ---------------------------- */

        /* Customize Text Separator

        /* ---------------------------- */

        vc_remove_param('vc_text_separator', 'style');

        vc_add_param('vc_text_separator', array(

            'type' => 'dropdown',

            'heading' => __('Style', 'porto'),

            'param_name' => 'style',

            'value' => porto_vc_commons('separator_style'),

            'group' => $section_group,

        ));

        vc_add_param('vc_text_separator', array(

            'type' => 'attach_image',

            'heading' => __('Pattern', 'porto'),

            'param_name' => 'pattern',

            'dependency' => array('element' => 'style', 'value' => array('pattern')),

            'group' => $section_group,

        ));

        vc_add_param('vc_text_separator', array(

            'type' => 'dropdown',

            'heading' => __('Element Tag', 'porto'),

            'param_name' => 'element',

            'std' => 'h4',

            'value' => porto_vc_commons('separator_elements'),

            'group' => $section_group,

        ));



        /* ---------------------------- */

        /* Customize Accordion, Accordion Tab

        /* ---------------------------- */

        vc_remove_param('vc_accordion', 'disable_keyboard');

        vc_add_param('vc_accordion', array(

            'type' => 'dropdown',

            'heading' => __('Type', 'porto'),

            'param_name' => 'type',

            'value' => porto_vc_commons('accordion'),

            'group' => $section_group,

        ));

        vc_add_param('vc_accordion', array(

            'type' => 'dropdown',

            'heading' => __('Size', 'porto'),

            'param_name' => 'size',

            'value' => porto_vc_commons('accordion_size'),

            'group' => $section_group,

        ));

        vc_add_param('vc_accordion', array(

            'type' => 'dropdown',

            'heading' => __('Skin Color', 'porto'),

            'param_name' => 'skin',

            'std' => 'custom',

            'value' => porto_vc_commons('colors'),

            'admin_label' => true,

            'dependency' => array('element' => 'type', 'value' => array( 'custom' )),

            'group' => $section_group,

        ));

        vc_add_param('vc_accordion', array(

            'type' => 'colorpicker',

            'heading' => __('Heading Color', 'porto'),

            'param_name' => 'heading_color',

            'dependency' => array('element' => 'skin', 'value' => array( 'custom' )),

            'group' => $section_group,

        ));

        vc_add_param('vc_accordion', array(

            'type' => 'colorpicker',

            'heading' => __('Heading Background Color', 'porto'),

            'param_name' => 'heading_bg_color',

            'dependency' => array('element' => 'skin', 'value' => array( 'custom' )),

            'group' => $section_group,

        ));

        vc_add_param('vc_accordion_tab', array(

            'type' => 'checkbox',

            'heading' => __('Show Icon', 'porto'),

            'param_name' => 'show_icon',

            'value' => array(__('Yes, please', 'js_composer') => 'yes'),

            'group' => $section_group,

        ));

        vc_add_param('vc_accordion_tab', array(

            'type' => 'dropdown',

            'heading' => __( 'Icon library', 'js_composer' ),

            'value' => array(

                __( 'Font Awesome', 'porto' ) => 'fontawesome',

                __( 'Simple Line Icon', 'porto' ) => 'simpleline',

                __( 'Custom Image Icon', 'porto-shortcodes' ) => 'image'

            ),

            'param_name' => 'icon_type',

            'dependency' => array('element' => 'show_icon', 'not_empty' => true),

            'group' => $section_group,

        ));

        vc_add_param('vc_accordion_tab', array(

            'type' => 'attach_image',

            'heading' => __('Select Icon', 'porto-shortcodes'),

            'dependency' => array('element' => 'icon_type', 'value' => 'image'),

            'param_name' => 'icon_image',

            'group' => $section_group,

        ));

        vc_add_param('vc_accordion_tab', array(

            'type' => 'iconpicker',

            'heading' => __('Select Icon', 'porto'),

            'param_name' => 'icon',

            'dependency' => array('element' => 'icon_type', 'value' => 'fontawesome'),

            'group' => $section_group,

        ));

        vc_add_param('vc_accordion_tab', array(

            'type' => 'iconpicker',

            'heading' => __('Select Icon', 'porto'),

            'param_name' => 'icon_simpleline',

            'value' => '',

            'settings' => array(

                'type' => 'simpleline',

                'iconsPerPage' => 4000,

            ),

            'dependency' => array('element' => 'icon_type', 'value' => 'simpleline'),

            'group' => $section_group,

        ));



        /* ---------------------------- */

        /* Customize Toggle

        /* ---------------------------- */

        vc_remove_param('vc_toggle', 'style');

        vc_remove_param('vc_toggle', 'color');

        vc_remove_param('vc_toggle', 'size');

        vc_add_param('vc_toggle', array(

            'type' => 'checkbox',

            'heading' => __('Show Icon', 'porto'),

            'param_name' => 'show_icon',

            'value' => array(__('Yes, please', 'js_composer') => 'yes'),

            'group' => $section_group,

        ));

        vc_add_param('vc_toggle', array(

            'type' => 'dropdown',

            'heading' => __( 'Icon library', 'js_composer' ),

            'value' => array(

                __( 'Font Awesome', 'porto' ) => 'fontawesome',

                __( 'Simple Line Icon', 'porto' ) => 'simpleline',

                __( 'Custom Image Icon', 'porto-shortcodes' ) => 'image'

            ),

            'param_name' => 'icon_type',

            'dependency' => array('element' => 'show_icon', 'not_empty' => true),

            'group' => $section_group,

        ));

        vc_add_param('vc_toggle', array(

            'type' => 'attach_image',

            'heading' => __('Select Icon', 'porto-shortcodes'),

            'dependency' => array('element' => 'icon_type', 'value' => 'image'),

            'param_name' => 'icon_image',

            'group' => $section_group,

        ));

        vc_add_param('vc_toggle', array(

            'type' => 'iconpicker',

            'heading' => __('Select Icon', 'porto'),

            'param_name' => 'icon',

            'dependency' => array('element' => 'icon_type', 'value' => 'fontawesome'),

            'group' => $section_group,

        ));

        vc_add_param('vc_toggle', array(

            'type' => 'iconpicker',

            'heading' => __('Select Icon', 'porto'),

            'param_name' => 'icon_simpleline',

            'value' => '',

            'settings' => array(

                'type' => 'simpleline',

                'iconsPerPage' => 4000,

            ),

            'dependency' => array('element' => 'icon_type', 'value' => 'simpleline'),

            'group' => $section_group,

        ));



        /* ---------------------------- */

        /* Customize Buttons

        /* ---------------------------- */

        vc_add_param('vc_button', array(

            'type' => 'checkbox',

            'heading' => __('Disable', 'porto'),

            'param_name' => 'disabled',

            'value' => array(__('Disable button.', 'porto') => 'yes'),

            'group' => $section_group,

        ));

        vc_add_param('vc_button', array(

            'type' => 'checkbox',

            'heading' => __('Show as Label', 'porto'),

            'param_name' => 'label',

            'value' => array( __( 'Yes, please', 'js_composer' ) => 'yes' ),

            'group' => $section_group,

        ));

        vc_add_param('vc_btn', array(

            'type' => 'dropdown',

            'heading' => __('Skin Color', 'porto'),

            'param_name' => 'skin',

            'std' => 'custom',

            'value' => porto_vc_commons('colors'),

            'group' => $section_group,

        ));

        vc_add_param('vc_btn', array(

            'type' => 'dropdown',

            'heading' => __('Color Scale', 'porto'),

            'param_name' => 'scale',

            'std' => '',

            'value' => array(

                __( 'Default', 'porto' ) => '',

                __( 'Scale 2', 'porto' ) => 'scale-2'

            ),

            'group' => $section_group,

        ));

        vc_add_param('vc_btn', array(

            'type' => 'dropdown',

            'heading' => __('Contextual Classes', 'porto'),

            'param_name' => 'contextual',

            'value' => porto_vc_commons('contextual'),

            'group' => $section_group,

        ));

        vc_add_param('vc_btn', array(

            'type' => 'checkbox',

            'heading' => __('Show as Label', 'porto'),

            'param_name' => 'label',

            'value' => array( __( 'Yes, please', 'js_composer' ) => 'yes' ),

            'group' => $section_group,

        ));



        /* ---------------------------- */

        /* Add Single Image Parameters

        /* ---------------------------- */

        vc_add_param('vc_single_image', array(

            'type' => 'label',

            'heading' => __('Please select "On click action" as "Link to Large Image" in "Design Section" before configure.', 'porto'),

            'param_name' => 'label',

            'group' => $section_group,

        ));

        vc_add_param('vc_single_image', array(

            'type' => 'checkbox',

            'heading' => __('LightBox', 'porto'),

            'param_name' => 'lightbox',

            'value' => array( __( 'Yes, please', 'js_composer' ) => 'yes' ),

            'description' => __('Check it if you want to link to the lightbox with the large image.', 'porto'),

            'group' => $section_group,

        ));

        vc_add_param('vc_single_image', array(

            'type' => 'checkbox',

            'heading' => __('Show as Image Gallery', 'porto'),

            'param_name' => 'image_gallery',

            'description' => __('Show all the images inside of same row.', 'porto'),

            'value' => array( __( 'Yes, please', 'js_composer' ) => 'yes' ),

            'group' => $section_group,

        ));

        vc_add_param('vc_single_image', array(

            'type' => 'textfield',

            'heading' => __('Container Class', 'porto'),

            'param_name' => 'container_class',

            'dependency' => array('element' => 'image_gallery', 'not_empty' => true),

            'value' => 'vc_row',

            'group' => $section_group,

        ));

        vc_add_param('vc_single_image', array(

            'type' => 'checkbox',

            'heading' => __('Show Zoom Icon', 'porto'),

            'param_name' => 'zoom_icon',

            'value' => array( __( 'Yes, please', 'js_composer' ) => 'yes' ),

            'group' => $section_group,

        ));

        vc_add_param('vc_single_image', array(

            'type' => 'checkbox',

            'heading' => __('Show Hover Effect', 'porto'),

            'param_name' => 'hover_effect',

            'value' => array( __( 'Yes, please', 'js_composer' ) => 'yes' ),

            'group' => $section_group,

        ));



        /* ---------------------------- */

        /* Customize Progress Bar

        /* ---------------------------- */

        vc_add_param('vc_progress_bar', array(

            'type' => 'dropdown',

            'heading' => __('Contextual Classes', 'porto'),

            'param_name' => 'contextual',

            'value' => porto_vc_commons('contextual'),

            'admin_label' => true,

            'group' => $section_group,

        ));

        vc_add_param('vc_progress_bar', array(

            'type' => 'checkbox',

            'heading' => __('Enable Animation', 'porto'),

            'param_name' => 'animation',

            'std' => 'yes',

            'value' => array( __( 'Yes, please', 'js_composer' ) => 'yes' ),

            'group' => $section_group,

        ));

        vc_add_param('vc_progress_bar', array(

            'type' => 'checkbox',

            'heading' => __('Show Percentage as Tooltip', 'porto'),

            'param_name' => 'tooltip',

            'std' => 'yes',

            'value' => array( __( 'Yes, please', 'js_composer' ) => 'yes' ),

            'group' => $section_group,

        ));

        vc_add_param('vc_progress_bar', array(

            'type' => 'dropdown',

            'heading' => __('Border Radius', 'porto'),

            'param_name' => 'border_radius',

            'value' => porto_vc_commons('progress_border_radius'),

            'group' => $section_group,

        ));

        vc_add_param('vc_progress_bar', array(

            'type' => 'dropdown',

            'heading' => __('Size', 'porto'),

            'param_name' => 'size',

            'value' => porto_vc_commons('progress_size'),

            'group' => $section_group,

        ));

        vc_add_param('vc_progress_bar', array(

            'type' => 'textfield',

            'heading' => __('Min Width', 'porto'),

            'description' => 'ex: 2em or 30px, etc',

            'param_name' => 'min_width',

            'group' => $section_group,

        ));



        /* ---------------------------- */

        /* Customize Pie Chart

        /* ---------------------------- */

        vc_remove_param('vc_pie', 'color');



        // Used in 'Button', 'Call __( 'Blue', 'js_composer' )to Action', 'Pie chart' blocks

        $colors_arr = array(

            __( 'Grey', 'js_composer' ) => 'wpb_button',

            __( 'Blue', 'js_composer' ) => 'btn-primary',

            __( 'Turquoise', 'js_composer' ) => 'btn-info',

            __( 'Green', 'js_composer' ) => 'btn-success',

            __( 'Orange', 'js_composer' ) => 'btn-warning',

            __( 'Red', 'js_composer' ) => 'btn-danger',

            __( 'Black', 'js_composer' ) => 'btn-inverse'

        );



        vc_add_param('vc_pie', array(

            'type' => 'dropdown',

            'heading' => __('Type', 'porto'),

            'param_name' => 'type',

            'std' => 'custom',

            'value' => array(

                __('Porto Circular Bar', 'porto') => 'custom',

                __('VC Pie Chart', 'porto') => 'default',

            ),

            'description' => __( 'Select pie chart type.', 'porto' ),

            'admin_label' => true,

            'group' => $section_group,

        ));

        vc_add_param('vc_pie', array(

            'type' => 'dropdown',

            'heading' => __( 'Bar color', 'porto' ),

            'param_name' => 'color',

            'value' => $colors_arr, //$pie_colors,

            'description' => __( 'Select pie chart color.', 'js_composer' ),

            'dependency' => array('element' => 'type', 'value' => array( 'default' )),

            'param_holder_class' => 'vc_colored-dropdown',

            'group' => $section_group,

        ));

        vc_add_param('vc_pie', array(

            'type' => 'dropdown',

            'heading' => __('View Type', 'porto'),

            'param_name' => 'view',

            'dependency' => array('element' => 'type', 'value' => array( 'custom' )),

            'value' => porto_vc_commons('circular_view_type'),

            'group' => $section_group,

        ));

        vc_add_param('vc_pie', array(

            'type' => 'iconpicker',

            'heading' => __('Select FontAwesome Icon', 'porto'),

            'param_name' => 'icon',

            'dependency' => array('element' => 'view', 'value' => array('only-icon')),

            'group' => $section_group,

        ));

        vc_add_param('vc_pie', array(

            'type' => 'colorpicker',

            'heading' => __('Icon Color', 'porto'),

            'param_name' => 'icon_color',

            'dependency' => array('element' => 'view', 'value' => array('only-icon')),

            'group' => $section_group,

        ));

        vc_add_param('vc_pie', array(

            'type' => 'dropdown',

            'heading' => __('View Size', 'porto'),

            'param_name' => 'view_size',

            'dependency' => array('element' => 'type', 'value' => array( 'custom' )),

            'value' => porto_vc_commons('circular_view_size'),

            'group' => $section_group,

        ));

        vc_add_param('vc_pie', array(

            'type' => 'textfield',

            'heading' => __('Bar Size', 'porto'),

            'param_name' => 'size',

            'std' => 175,

            'dependency' => array('element' => 'type', 'value' => array( 'custom' )),

            'description' => __('Enter the size of the chart in px.', 'porto'),

            'group' => $section_group,

        ));

        vc_add_param('vc_pie', array(

            'type' => 'colorpicker',

            'heading' => __('Track Color', 'porto'),

            'param_name' => 'trackcolor',

            'std' => $dark ? '#2e353e' : '#eeeeee',

            'dependency' => array('element' => 'type', 'value' => array( 'custom' )),

            'description' => __('Choose the color of the track. Please clear this if you want to use the default color.', 'porto'),

            'group' => $section_group,

        ));

        vc_add_param('vc_pie', array(

            'type' => 'colorpicker',

            'heading' => __('Bar color', 'porto'),

            'param_name' => 'barcolor',

            'dependency' => array('element' => 'type', 'value' => array( 'custom' )),

            'description' => __('Select pie chart color. Please clear this if you want to use the default color.', 'porto'),

            'group' => $section_group,

        ));

        vc_add_param('vc_pie', array(

            'type' => 'colorpicker',

            'heading' => __('Scale color', 'porto'),

            'param_name' => 'scalecolor',

            'dependency' => array('element' => 'type', 'value' => array( 'custom' )),

            'description' => __('Choose the color of the scale. Please clear this if you want to hide the scale.', 'porto'),

            'group' => $section_group,

        ));

        vc_add_param('vc_pie', array(

            'type' => 'textfield',

            'heading' => __('Animation Speed', 'porto'),

            'param_name' => 'speed',

            'std' => 2500,

            'dependency' => array('element' => 'type', 'value' => array( 'custom' )),

            'description' => __('Enter the animation speed in milliseconds.', 'porto'),

            'group' => $section_group,

        ));

        vc_add_param('vc_pie', array(

            'type' => 'textfield',

            'heading' => __('Line Width', 'porto'),

            'param_name' => 'line',

            'std' => 14,

            'dependency' => array('element' => 'type', 'value' => array( 'custom' )),

            'description' => __('Enter the width of the line bar in px.', 'porto'),

            'group' => $section_group,

        ));

        vc_add_param('vc_pie', array(

            'type' => 'dropdown',

            'heading' => __('Line Cap', 'porto'),

            'param_name' => 'linecap',

            'std' => 'round',

            'value' => array(__('Round', 'porto') => 'round', __('Square', 'porto') => 'square'),

            'dependency' => array('element' => 'type', 'value' => array( 'custom' )),

            'description' => __('Choose how the ending of the bar line looks like.', 'porto'),

            'group' => $section_group,

        ));

    }

}



if (!function_exists('porto_vc_commons')) {

    function porto_vc_commons($asset = '') {

        switch ($asset) {

            case 'accordion':         return Porto_VcSharedLibrary::getAccordionType();

            case 'accordion_size':    return Porto_VcSharedLibrary::getAccordionSize();

            case 'align':             return Porto_VcSharedLibrary::getTextAlign();

            case 'tabs':              return Porto_VcSharedLibrary::getTabsPositions();

            case 'tabs_type':         return Porto_VcSharedLibrary::getTabsType();

            case 'tabs_icon_style':   return Porto_VcSharedLibrary::getTabsIconStyle();

            case 'tabs_icon_effect':  return Porto_VcSharedLibrary::getTabsIconEffect();

            case 'tour':              return Porto_VcSharedLibrary::getTourPositions();

            case 'tour_type':         return Porto_VcSharedLibrary::getTourType();

            case 'separator':         return Porto_VcSharedLibrary::getSeparator();

            case 'separator_type':    return Porto_VcSharedLibrary::getSeparatorType();

            case 'separator_style':   return Porto_VcSharedLibrary::getSeparatorStyle();

            case 'separator_repeat':  return Porto_VcSharedLibrary::getSeparatorRepeat();

            case 'separator_position': return Porto_VcSharedLibrary::getSeparatorPosition();

            case 'separator_icon_style':   return Porto_VcSharedLibrary::getSeparatorIconStyle();

            case 'separator_icon_size':    return Porto_VcSharedLibrary::getSeparatorIconSize();

            case 'separator_icon_pos':     return Porto_VcSharedLibrary::getSeparatorIconPosition();

            case 'separator_elements':     return Porto_VcSharedLibrary::getSeparatorElements();

            case 'colors':                 return Porto_VcSharedLibrary::getColors();

            case 'contextual':             return Porto_VcSharedLibrary::getContextual();

            case 'progress_border_radius': return Porto_VcSharedLibrary::getProgressBorderRadius();

            case 'progress_size':          return Porto_VcSharedLibrary::getProgressSize();

            case 'circular_view_type':     return Porto_VcSharedLibrary::getCircularViewType();

            case 'circular_view_size':     return Porto_VcSharedLibrary::getCircularViewSize();

            case 'section_skin':           return Porto_VcSharedLibrary::getSectionSkin();

            case 'section_color_scale':    return Porto_VcSharedLibrary::getSectionColorScale();

            case 'section_text_color':     return Porto_VcSharedLibrary::getSectionTextColor();

            case 'heading_border_type':    return Porto_VcSharedLibrary::getHeadingBorderType();

            case 'heading_border_size':    return Porto_VcSharedLibrary::getHeadingBorderSize();

            default: return array();

        }

    }

}



if (!class_exists('Porto_VcSharedLibrary')) {



    class Porto_VcSharedLibrary {



        public static function getTextAlign() {

            return array(

                __('None', 'porto') => '',

                __('Left', 'porto' ) => 'left',

                __('Right', 'porto' ) => 'right',

                __('Center', 'porto' ) => 'center',

                __('Justify', 'porto' ) => 'justify'

            );

        }



        public static function getTabsPositions() {

            return array(

                __('Top left', 'porto' ) => '',

                __('Top right', 'porto' ) => 'top-right',

                __('Bottom left', 'porto' ) => 'bottom-left',

                __('Bottom right', 'porto' ) => 'bottom-right',

                __('Top justify', 'porto' ) => 'top-justify',

                __('Bottom justify', 'porto' ) => 'bottom-justify',

                __('Top center', 'porto' ) => 'top-center',

                __('Bottom center', 'porto' ) => 'bottom-center',

            );

        }



        public static function getTabsType() {

            return array(

                __('Default', 'porto' ) => '',

                __('Simple', 'porto' ) => 'tabs-simple'

            );

        }



        public static function getTabsIconStyle() {

            return array(

                __('Default', 'porto' ) => '',

                __('Style 1', 'porto' ) => 'featured-boxes-style-1',

                __('Style 2', 'porto' ) => 'featured-boxes-style-2',

                __('Style 3', 'porto' ) => 'featured-boxes-style-3',

                __('Style 4', 'porto' ) => 'featured-boxes-style-4',

                __('Style 5', 'porto' ) => 'featured-boxes-style-5',

                __('Style 6', 'porto' ) => 'featured-boxes-style-6',

                __('Style 7', 'porto' ) => 'featured-boxes-style-7',

                __('Style 8', 'porto' ) => 'featured-boxes-style-8',

            );

        }



        public static function getTabsIconEffect() {

            return array(

                __('Default', 'porto' ) => '',

                __('Effect 1', 'porto' ) => 'featured-box-effect-1',

                __('Effect 2', 'porto' ) => 'featured-box-effect-2',

                __('Effect 3', 'porto' ) => 'featured-box-effect-3',

                __('Effect 4', 'porto' ) => 'featured-box-effect-4',

                __('Effect 5', 'porto' ) => 'featured-box-effect-5',

                __('Effect 6', 'porto' ) => 'featured-box-effect-6',

                __('Effect 7', 'porto' ) => 'featured-box-effect-7',

            );

        }



        public static function getTourPositions() {

            return array(

                __('Left', 'porto' ) => 'vertical-left',

                __('Right', 'porto' ) => 'vertical-right',

            );

        }



        public static function getTourType() {

            return array(

                __('Default', 'porto' ) => '',

                __('Navigation', 'porto' ) => 'tabs-navigation',

            );

        }



        public static function getSeparator() {

            return array(

                __('Normal', 'porto' ) => '',

                __('Short', 'porto' ) => 'short',

                __('Tall', 'porto' ) => 'tall',

                __('Taller', 'porto' ) => 'taller',

            );

        }



        public static function getSeparatorType() {

            return array(

                __('Normal', 'porto' ) => '',

                __('Small', 'porto' ) => 'small',

            );

        }



        public static function getSeparatorStyle() {

            return array(

                __('Gradient', 'porto' ) => '',

                __('Solid', 'porto' ) => 'solid',

                __('Dashed', 'porto' ) => 'dashed',

                __('Pattern', 'porto' ) => 'pattern',

            );

        }



        public static function getSeparatorRepeat() {

            return array(

                __('Repeat', 'porto' ) => '',

                __('No Repeat', 'porto' ) => 'no-repeat'

            );

        }



        public static function getSeparatorPosition() {

            return array(

                __('Left Top', 'porto' ) => '',

                __('Left Center', 'porto' ) => 'left center',

                __('Left Bottom', 'porto' ) => 'left bottom',

                __('Center Top', 'porto' ) => 'center top',

                __('Center Center', 'porto' ) => 'center center',

                __('Center Bottom', 'porto' ) => 'center bottom',

                __('Right Top', 'porto' ) => 'right top',

                __('Right Center', 'porto' ) => 'right center',

                __('Right Bottom', 'porto' ) => 'right bottom',

            );

        }



        public static function getSeparatorIconStyle() {

            return array(

                __('Style 1', 'porto' ) => '',

                __('Style 2', 'porto' ) => 'style-2',

                __('Style 3', 'porto' ) => 'style-3',

                __('Style 4', 'porto' ) => 'style-4',

            );

        }



        public static function getSeparatorIconSize() {

            return array(

                __('Normal', 'porto' ) => '',

                __('Small', 'porto' )  => 'sm',

                __('Large', 'porto' )  => 'lg'

            );

        }



        public static function getSeparatorIconPosition() {

            return array(

                __('Center', 'porto' ) => '',

                __('Left', 'porto' )  => 'left',

                __('Right', 'porto' )  => 'right'

            );

        }



        public static function getSeparatorElements() {

            return array(

                __('h1', 'porto' ) => 'h1',

                __('h2', 'porto' ) => 'h2',

                __('h3', 'porto' ) => 'h3',

                __('h4', 'porto' ) => 'h4',

                __('h5', 'porto' ) => 'h5',

                __('h6', 'porto' ) => 'h6',

                __('p', 'porto' )  => 'p',

                __('div', 'porto' ) => 'div',

            );

        }



        public static function getAccordionType() {

            return array(

                __('Default', 'porto' ) => 'panel-default',

                __('Without Background', 'porto' ) => 'without-bg',

                __('Without Borders and Background', 'porto' ) => 'without-bg without-borders',

                __('Custom', 'porto' ) => 'custom',

            );

        }



        public static function getAccordionSize() {

            return array(

                __('Default', 'porto' ) => '',

                __('Small', 'porto' ) => 'panel-group-sm',

                __('Large', 'porto' ) => 'panel-group-lg',

            );

        }



        public static function getColors() {

            return array(

                '' => 'custom',

                __( 'Primary', 'porto' ) => 'primary',

                __( 'Secondary', 'porto' ) => 'secondary',

                __( 'Tertiary', 'porto' ) => 'tertiary',

                __( 'Quaternary', 'porto' ) => 'quaternary',

                __( 'Dark', 'porto' ) => 'dark',

                __( 'Light', 'porto' ) => 'light',

            );

        }



        public static function getContextual() {

            return array(

                __('None', 'porto' )    => '',

                __('Success', 'porto' ) => 'success',

                __('Info', 'porto' )    => 'info',

                __('Warning', 'porto' ) => 'warning',

                __('Danger', 'porto' )  => 'danger',

            );

        }



        public static function getProgressBorderRadius() {

            return array(

                __('Default', 'porto' )               => '',

                __('No Border Radius', 'porto' )      => 'no-border-radius',

                __('Rounded Border Radius', 'porto' ) => 'border-radius'

            );

        }



        public static function getProgressSize() {

            return array(

                __('Normal', 'porto' ) => '',

                __('Small', 'porto' )  => 'sm',

                __('Large', 'porto' )  => 'lg'

            );

        }



        public static function getCircularViewType() {

            return array(

                __('Show Title and Value', 'porto' ) => '',

                __('Show Only Icon', 'porto' )  => 'only-icon',

                __('Show Only Title', 'porto' )  => 'single-line'

            );

        }



        public static function getCircularViewSize() {

            return array(

                __('Normal', 'porto' ) => '',

                __('Small', 'porto' )  => 'sm',

                __('Large', 'porto' )  => 'lg'

            );

        }



        public static function getSectionSkin() {

            return array(

                __('Default', 'porto')    => 'default',

                __('Transparent', 'porto')    => 'parallax',

                __('Primary', 'porto')    => 'primary',

                __('Secondary', 'porto')  => 'secondary',

                __('Tertiary', 'porto')   => 'tertiary',

                __('Quaternary', 'porto') => 'quaternary',

                __('Dark', 'porto')       => 'dark',

                __('Light', 'porto')      => 'light',

            );

        }



        public static function getSectionColorScale() {

            return array(

                __('Default', 'porto') => '',

                __('Scale 1', 'porto') => 'scale-1',

                __('Scale 2', 'porto') => 'scale-2',

                __('Scale 3', 'porto') => 'scale-3',

                __('Scale 4', 'porto') => 'scale-4',

                __('Scale 5', 'porto') => 'scale-5',

                __('Scale 6', 'porto') => 'scale-6',

                __('Scale 7', 'porto') => 'scale-7',

                __('Scale 8', 'porto') => 'scale-8',

                __('Scale 9', 'porto') => 'scale-9',

            );

        }



        public static function getSectionTextColor() {

            return array(

                __('Default', 'porto') => '',

                __('Dark', 'porto')    => 'dark',

                __('Light', 'porto')   => 'light',

            );

        }



        public static function getHeadingBorderType() {

            return array(

                __('Bottom Border', 'porto')          => 'bottom-border',

                __('Bottom Double Border', 'porto')   => 'bottom-double-border',

                __('Middle Border', 'porto')          => 'middle-border',

                __('Middle Border Reverse', 'porto')  => 'middle-border-reverse',

                __('Middle Border Center', 'porto')   => 'middle-border-center',

            );

        }



        public static function getHeadingBorderSize() {

            return array(

                __('Normal', 'porto')       => '',

                __('Extra Small', 'porto')  => 'xs',

                __('Small', 'porto')        => 'sm',

                __('Large', 'porto')        => 'lg',

                __('Extra Large', 'porto')  => 'xl',

            );

        }

    }

}



add_filter( 'the_content', 'porto_format_shortcodes' );

add_filter( 'widget_text', 'porto_format_shortcodes' );



function porto_format_shortcodes($content) {



    $shortcodes = array("ult_animation_block", "ultimate_carousel", "ult_content_box", "ultimate_exp_section",

        "ultimate_fancytext", "ultimate_google_map", "ultimate_google_trends", "ultimate_heading", "ultimate_ctation",

        "ult_hotspot", "ult_hotspot_items", "icon_timeline", "icon_timeline_item", "icon_timeline_sep",

        "icon_timeline_feat", "ultimate_icons", "single_icon", "ult_ihover", "ult_ihover_item", "ultimate_img_separator",

        "ultimate_info_banner", "bsf-info-box", "info_circle", "info_circle_item", "info_list", "info_list_item",

        "ultimate_info_table", "interactive_banner_2", "interactive_banner", "ultimate_icon_list", "ultimate_icon_list_item",

        "ultimate_modal", "ultimate_pricing", "swatch_container", "swatch_item", "ult_tab_element", "single_tab", "ultimate_video_banner"

    );



    $block = join("|", $shortcodes);

    // opening tag

    $content = preg_replace("/(<p>)?\[($block)(\s[^\]]+)?\](<\/p>|<br \/>)?/","[$2$3]", $content);

    // closing tag

    $content = preg_replace("/(<p>)?\[\/($block)](<\/p>|<br \/>)/","[/$2]", $content);



    return $content;

}



add_action('vc_after_init', 'porto_vc_enable_deprecated_shortcodes');



function porto_vc_enable_deprecated_shortcodes() {

    if (class_exists('WPBMap')) {

        $category = __('Porto', 'porto');

        $desc = __(' with porto style','porto');

        WPBMap::modify('vc_tabs', 'deprecated', false);

        WPBMap::modify('vc_tabs', 'category', $category);

        WPBMap::modify('vc_tabs', 'name', __('Porto Tabs', 'porto'));

        WPBMap::modify('vc_tab', 'name', __('Porto Tab', 'porto'));

        WPBMap::modify('vc_tabs', 'description', __( 'Tabbed content', 'js_composer' ) . $desc);

        WPBMap::modify('vc_tour', 'deprecated', false);

        WPBMap::modify('vc_tour', 'category', $category);

        WPBMap::modify('vc_tour', 'name', __('Porto Tour', 'porto'));

        WPBMap::modify('vc_tour', 'description', __( 'Vertical tabbed content', 'js_composer' ) . $desc);

        WPBMap::modify('vc_accordion', 'deprecated', false);

        WPBMap::modify('vc_accordion', 'category', $category);

        WPBMap::modify('vc_accordion', 'name', __('Porto Accordion', 'porto'));

        WPBMap::modify('vc_accordion', 'description', __( 'Collapsible content panels', 'js_composer' ) . $desc);

        WPBMap::modify('vc_accordion_tab', 'name', __('Accordion Section', 'porto'));

    }

}



if (function_exists('vc_add_shortcode_param'))

    vc_add_shortcode_param('porto_theme_animation_type', 'porto_theme_vc_animation_type_field');



function porto_theme_vc_animation_type_field($settings, $value) {

    $param_line = '<select name="' . $settings['param_name'] . '" class="wpb_vc_param_value dropdown wpb-input wpb-select ' . $settings['param_name'] . ' ' . $settings['type'] . '">';



    $param_line .= '<option value="">none</option>';



    $param_line .= '<optgroup label="' . __('Attention Seekers', 'porto') . '">';

    $options = array("bounce", "flash", "pulse", "rubberBand", "shake", "swing", "tada", "wobble");

    foreach ( $options as $option ) {

        $selected = '';

        if ( $option == $value ) $selected = ' selected="selected"';

        $param_line .= '<option value="' . $option . '"' . $selected . '>' . $option . '</option>';

    }

    $param_line .= '</optgroup>';



    $param_line .= '<optgroup label="' . __('Bouncing Entrances', 'porto') . '">';

    $options = array("bounceIn", "bounceInDown", "bounceInLeft", "bounceInRight", "bounceInUp");

    foreach ( $options as $option ) {

        $selected = '';

        if ( $option == $value ) $selected = ' selected="selected"';

        $param_line .= '<option value="' . $option . '"' . $selected . '>' . $option . '</option>';

    }

    $param_line .= '</optgroup>';



    $param_line .= '<optgroup label="' . __('Bouncing Exits', 'porto') . '">';

    $options = array("bounceOut", "bounceOutDown", "bounceOutLeft", "bounceOutRight", "bounceOutUp");

    foreach ( $options as $option ) {

        $selected = '';

        if ( $option == $value ) $selected = ' selected="selected"';

        $param_line .= '<option value="' . $option . '"' . $selected . '>' . $option . '</option>';

    }

    $param_line .= '</optgroup>';



    $param_line .= '<optgroup label="' . __('Fading Entrances', 'porto') . '">';

    $options = array("fadeIn", "fadeInDown", "fadeInDownBig", "fadeInLeft", "fadeInLeftBig", "fadeInRight", "fadeInRightBig", "fadeInUp", "fadeInUpBig");

    foreach ( $options as $option ) {

        $selected = '';

        if ( $option == $value ) $selected = ' selected="selected"';

        $param_line .= '<option value="' . $option . '"' . $selected . '>' . $option . '</option>';

    }

    $param_line .= '</optgroup>';



    $param_line .= '<optgroup label="' . __('Fading Exits', 'porto') . '">';

    $options = array("fadeOut", "fadeOutDown", "fadeOutDownBig", "fadeOutLeft", "fadeOutLeftBig", "fadeOutRight", "fadeOutRightBig", "fadeOutUp", "fadeOutUpBig");

    foreach ( $options as $option ) {

        $selected = '';

        if ( $option == $value ) $selected = ' selected="selected"';

        $param_line .= '<option value="' . $option . '"' . $selected . '>' . $option . '</option>';

    }

    $param_line .= '</optgroup>';



    $param_line .= '<optgroup label="' . __('Flippers', 'porto') . '">';

    $options = array("flip", "flipInX", "flipInY", "flipOutX", "flipOutY");

    foreach ( $options as $option ) {

        $selected = '';

        if ( $option == $value ) $selected = ' selected="selected"';

        $param_line .= '<option value="' . $option . '"' . $selected . '>' . $option . '</option>';

    }

    $param_line .= '</optgroup>';



    $param_line .= '<optgroup label="' . __('Lightspeed', 'porto') . '">';

    $options = array("lightSpeedIn", "lightSpeedOut");

    foreach ( $options as $option ) {

        $selected = '';

        if ( $option == $value ) $selected = ' selected="selected"';

        $param_line .= '<option value="' . $option . '"' . $selected . '>' . $option . '</option>';

    }

    $param_line .= '</optgroup>';



    $param_line .= '<optgroup label="' . __('Rotating Entrances', 'porto') . '">';

    $options = array("rotateIn", "rotateInDownLeft", "rotateInDownRight", "rotateInUpLeft", "rotateInUpRight");

    foreach ( $options as $option ) {

        $selected = '';

        if ( $option == $value ) $selected = ' selected="selected"';

        $param_line .= '<option value="' . $option . '"' . $selected . '>' . $option . '</option>';

    }

    $param_line .= '</optgroup>';



    $param_line .= '<optgroup label="' . __('Rotating Exits', 'porto') . '">';

    $options = array("rotateOut", "rotateOutDownLeft", "rotateOutDownRight", "rotateOutUpLeft", "rotateOutUpRight");

    foreach ( $options as $option ) {

        $selected = '';

        if ( $option == $value ) $selected = ' selected="selected"';

        $param_line .= '<option value="' . $option . '"' . $selected . '>' . $option . '</option>';

    }

    $param_line .= '</optgroup>';



    $param_line .= '<optgroup label="' . __('Sliding Entrances', 'porto') . '">';

    $options = array("slideInUp", "slideInDown", "slideInLeft", "slideInRight");

    foreach ( $options as $option ) {

        $selected = '';

        if ( $option == $value ) $selected = ' selected="selected"';

        $param_line .= '<option value="' . $option . '"' . $selected . '>' . $option . '</option>';

    }

    $param_line .= '</optgroup>';



    $param_line .= '<optgroup label="' . __('Sliding Exit', 'porto') . '">';

    $options = array("slideOutUp", "slideOutDown", "slideOutLeft", "slideOutRight");

    foreach ( $options as $option ) {

        $selected = '';

        if ( $option == $value ) $selected = ' selected="selected"';

        $param_line .= '<option value="' . $option . '"' . $selected . '>' . $option . '</option>';

    }

    $param_line .= '</optgroup>';



    $param_line .= '<optgroup label="' . __('Specials', 'porto') . '">';

    $options = array("hinge", "rollIn", "rollOut");

    foreach ( $options as $option ) {

        $selected = '';

        if ( $option == $value ) $selected = ' selected="selected"';

        $param_line .= '<option value="' . $option . '"' . $selected . '>' . $option . '</option>';

    }

    $param_line .= '</optgroup>';



    $param_line .= '</select>';



    return $param_line;

}



// Add simple line icon font

if (!function_exists('vc_iconpicker_type_simpleline')) {

    add_filter( 'vc_iconpicker-type-simpleline', 'vc_iconpicker_type_simpleline' );



    function vc_iconpicker_type_simpleline( $icons ) {

        $simpleline_icons = array(

            array( 'Simple-Line-Icons-user' => 'User' ),

            array( 'Simple-Line-Icons-people' => 'People' ),

            array( 'Simple-Line-Icons-user-female' => 'User Female' ),

            array( 'Simple-Line-Icons-user-follow' => 'User Follow' ),

            array( 'Simple-Line-Icons-user-following' => 'User Following' ),

            array( 'Simple-Line-Icons-user-unfollow' => 'User Unfollow' ),

            array( 'Simple-Line-Icons-login' => 'Login' ),

            array( 'Simple-Line-Icons-logout' => 'Logout' ),

            array( 'Simple-Line-Icons-emotsmile' => 'Emotsmile' ),

            array( 'Simple-Line-Icons-phone' => 'Phone' ),

            array( 'Simple-Line-Icons-call-end' => 'Call End' ),

            array( 'Simple-Line-Icons-call-in' => 'Call In' ),

            array( 'Simple-Line-Icons-call-out' => 'Call Out' ),

            array( 'Simple-Line-Icons-map' => 'Map' ),

            array( 'Simple-Line-Icons-location-pin' => 'Location Pin' ),

            array( 'Simple-Line-Icons-direction' => 'Direction' ),

            array( 'Simple-Line-Icons-directions' => 'Directions' ),

            array( 'Simple-Line-Icons-compass' => 'Compass' ),

            array( 'Simple-Line-Icons-layers' => 'Layers' ),

            array( 'Simple-Line-Icons-menu' => 'Menu' ),

            array( 'Simple-Line-Icons-list' => 'List' ),

            array( 'Simple-Line-Icons-options-vertical' => 'Options Vertical' ),

            array( 'Simple-Line-Icons-options' => 'Options' ),

            array( 'Simple-Line-Icons-arrow-down' => 'Arrow Down' ),

            array( 'Simple-Line-Icons-arrow-left' => 'Arrow Left' ),

            array( 'Simple-Line-Icons-arrow-right' => 'Arrow Right' ),

            array( 'Simple-Line-Icons-arrow-up' => 'Arrow Up' ),

            array( 'Simple-Line-Icons-arrow-up-circle' => 'Arrow Up Circle' ),

            array( 'Simple-Line-Icons-arrow-left-circle' => 'Arrow Left Circle' ),

            array( 'Simple-Line-Icons-arrow-right-circle' => 'Arrow Right Circle' ),

            array( 'Simple-Line-Icons-arrow-down-circle' => 'Arrow Down Circle' ),

            array( 'Simple-Line-Icons-check' => 'Check' ),

            array( 'Simple-Line-Icons-clock' => 'Clock' ),

            array( 'Simple-Line-Icons-plus' => 'Plus' ),

            array( 'Simple-Line-Icons-minus' => 'Minus' ),

            array( 'Simple-Line-Icons-close' => 'Close' ),

            array( 'Simple-Line-Icons-event' => 'Event' ),

            array( 'Simple-Line-Icons-exclamation' => 'Exclamation' ),

            array( 'Simple-Line-Icons-organization' => 'Organization' ),

            array( 'Simple-Line-Icons-trophy' => 'Trophy' ),

            array( 'Simple-Line-Icons-screen-smartphone' => 'Smartphone' ),

            array( 'Simple-Line-Icons-screen-desktop' => 'Desktop' ),

            array( 'Simple-Line-Icons-plane' => 'Plane' ),

            array( 'Simple-Line-Icons-notebook' => 'Notebook' ),

            array( 'Simple-Line-Icons-mustache' => 'Mustache' ),

            array( 'Simple-Line-Icons-mouse' => 'Mouse' ),

            array( 'Simple-Line-Icons-magnet' => 'Magnet' ),

            array( 'Simple-Line-Icons-energy' => 'Energy' ),

            array( 'Simple-Line-Icons-disc' => 'Disc' ),

            array( 'Simple-Line-Icons-cursor' => 'Cursor' ),

            array( 'Simple-Line-Icons-cursor-move' => 'Cursor Move' ),

            array( 'Simple-Line-Icons-crop' => 'Crop' ),

            array( 'Simple-Line-Icons-chemistry' => 'Chemistry' ),

            array( 'Simple-Line-Icons-speedometer' => 'Speedometer' ),

            array( 'Simple-Line-Icons-shield' => 'Shield' ),

            array( 'Simple-Line-Icons-screen-tablet' => 'Tablet' ),

            array( 'Simple-Line-Icons-magic-wand' => 'Magic Wand' ),

            array( 'Simple-Line-Icons-hourglass' => 'Hourglass' ),

            array( 'Simple-Line-Icons-graduation' => 'Graduation' ),

            array( 'Simple-Line-Icons-ghost' => 'Ghost' ),

            array( 'Simple-Line-Icons-game-controller' => 'Game Controller' ),

            array( 'Simple-Line-Icons-fire' => 'Fire' ),

            array( 'Simple-Line-Icons-eyeglass' => 'Eyeglass' ),

            array( 'Simple-Line-Icons-envelope-open' => 'Envelope Open' ),

            array( 'Simple-Line-Icons-envelope-letter' => 'Envelope Letter' ),

            array( 'Simple-Line-Icons-bell' => 'Bell' ),

            array( 'Simple-Line-Icons-badge' => 'Badge' ),

            array( 'Simple-Line-Icons-anchor' => 'Anchor' ),

            array( 'Simple-Line-Icons-wallet' => 'Wallet' ),

            array( 'Simple-Line-Icons-vector' => 'Vector' ),

            array( 'Simple-Line-Icons-speech' => 'Speech' ),

            array( 'Simple-Line-Icons-puzzle' => 'Puzzle' ),

            array( 'Simple-Line-Icons-printer' => 'Printer' ),

            array( 'Simple-Line-Icons-present' => 'Present' ),

            array( 'Simple-Line-Icons-playlist' => 'Playlist' ),

            array( 'Simple-Line-Icons-pin' => 'Pin' ),

            array( 'Simple-Line-Icons-picture' => 'Picture' ),

            array( 'Simple-Line-Icons-handbag' => 'Handbag' ),

            array( 'Simple-Line-Icons-globe-alt' => 'Globe Alt' ),

            array( 'Simple-Line-Icons-globe' => 'Globe' ),

            array( 'Simple-Line-Icons-folder-alt' => 'Folder Alt' ),

            array( 'Simple-Line-Icons-folder' => 'Folder' ),

            array( 'Simple-Line-Icons-film' => 'Film' ),

            array( 'Simple-Line-Icons-feed' => 'Feed' ),

            array( 'Simple-Line-Icons-drop' => 'Drop' ),

            array( 'Simple-Line-Icons-drawer' => 'Drawer' ),

            array( 'Simple-Line-Icons-docs' => 'Docs' ),

            array( 'Simple-Line-Icons-doc' => 'Doc' ),

            array( 'Simple-Line-Icons-diamond' => 'Diamond' ),

            array( 'Simple-Line-Icons-cup' => 'Cup' ),

            array( 'Simple-Line-Icons-calculator' => 'Calculator' ),

            array( 'Simple-Line-Icons-bubbles' => 'Bubbles' ),

            array( 'Simple-Line-Icons-briefcase' => 'Briefcase' ),

            array( 'Simple-Line-Icons-book-open' => 'Book Open' ),

            array( 'Simple-Line-Icons-basket-loaded' => 'Basket Loaded' ),

            array( 'Simple-Line-Icons-basket' => 'Basket' ),

            array( 'Simple-Line-Icons-bag' => 'Bag' ),

            array( 'Simple-Line-Icons-action-undo' => 'Action Undo' ),

            array( 'Simple-Line-Icons-action-redo' => 'Action Redo' ),

            array( 'Simple-Line-Icons-wrench' => 'Wrench' ),

            array( 'Simple-Line-Icons-umbrella' => 'Umbrella' ),

            array( 'Simple-Line-Icons-trash' => 'Trash' ),

            array( 'Simple-Line-Icons-tag' => 'Tag' ),

            array( 'Simple-Line-Icons-support' => 'Support' ),

            array( 'Simple-Line-Icons-frame' => 'Frame' ),

            array( 'Simple-Line-Icons-size-fullscreen' => 'Size Fullscreen' ),

            array( 'Simple-Line-Icons-size-actual' => 'Size Actual' ),

            array( 'Simple-Line-Icons-shuffle' => 'Shuffle' ),

            array( 'Simple-Line-Icons-share-alt' => 'Share Alt' ),

            array( 'Simple-Line-Icons-share' => 'Share' ),

            array( 'Simple-Line-Icons-rocket' => 'Rocket' ),

            array( 'Simple-Line-Icons-question' => 'Question' ),

            array( 'Simple-Line-Icons-pie-chart' => 'Pie Chart' ),

            array( 'Simple-Line-Icons-pencil' => 'Pencil' ),

            array( 'Simple-Line-Icons-note' => 'Note' ),

            array( 'Simple-Line-Icons-loop' => 'Loop' ),

            array( 'Simple-Line-Icons-home' => 'Home' ),

            array( 'Simple-Line-Icons-grid' => 'Grid' ),

            array( 'Simple-Line-Icons-graph' => 'Graph' ),

            array( 'Simple-Line-Icons-microphone' => 'Microphone' ),

            array( 'Simple-Line-Icons-music-tone-alt' => 'Music Tone Alt' ),

            array( 'Simple-Line-Icons-music-tone' => 'Music Tone' ),

            array( 'Simple-Line-Icons-earphones-alt' => 'Earphones Alt' ),

            array( 'Simple-Line-Icons-earphones' => 'Earphones' ),

            array( 'Simple-Line-Icons-equalizer' => 'Equalizer' ),

            array( 'Simple-Line-Icons-like' => 'Like' ),

            array( 'Simple-Line-Icons-dislike' => 'Dislike' ),

            array( 'Simple-Line-Icons-control-start' => 'Control Start' ),

            array( 'Simple-Line-Icons-control-rewind' => 'Control Rewind' ),

            array( 'Simple-Line-Icons-control-play' => 'Control Play' ),

            array( 'Simple-Line-Icons-control-pause' => 'Control Pause' ),

            array( 'Simple-Line-Icons-control-forward' => 'Control Forward' ),

            array( 'Simple-Line-Icons-control-end' => 'Control End' ),

            array( 'Simple-Line-Icons-volume-1' => 'Volume 1' ),

            array( 'Simple-Line-Icons-volume-2' => 'Volume 2' ),

            array( 'Simple-Line-Icons-volume-off' => 'Volume Off' ),

            array( 'Simple-Line-Icons-calendar' => 'Calendar' ),

            array( 'Simple-Line-Icons-bulb' => 'Bulb' ),

            array( 'Simple-Line-Icons-chart' => 'Chart' ),

            array( 'Simple-Line-Icons-ban' => 'Ban' ),

            array( 'Simple-Line-Icons-bubble' => 'Bubble' ),

            array( 'Simple-Line-Icons-camcorder' => 'Camcorder' ),

            array( 'Simple-Line-Icons-camera' => 'Camera' ),

            array( 'Simple-Line-Icons-cloud-download' => 'Cloud Download' ),

            array( 'Simple-Line-Icons-cloud-upload' => 'Cloud Upload' ),

            array( 'Simple-Line-Icons-envelope' => 'Envelope' ),

            array( 'Simple-Line-Icons-eye' => 'Eye' ),

            array( 'Simple-Line-Icons-flag' => 'Flag' ),

            array( 'Simple-Line-Icons-heart' => 'Heart' ),

            array( 'Simple-Line-Icons-info' => 'Info' ),

            array( 'Simple-Line-Icons-key' => 'Key' ),

            array( 'Simple-Line-Icons-link' => 'Link' ),

            array( 'Simple-Line-Icons-lock' => 'Lock' ),

            array( 'Simple-Line-Icons-lock-open' => 'Lock Open' ),

            array( 'Simple-Line-Icons-magnifier' => 'Magnifier' ),

            array( 'Simple-Line-Icons-magnifier-add' => 'Magnifier Add' ),

            array( 'Simple-Line-Icons-magnifier-remove' => 'Magnifier Remove' ),

            array( 'Simple-Line-Icons-paper-clip' => 'Paper Clip' ),

            array( 'Simple-Line-Icons-paper-plane' => 'Paper Plane' ),

            array( 'Simple-Line-Icons-power' => 'Power' ),

            array( 'Simple-Line-Icons-refresh' => 'Refresh' ),

            array( 'Simple-Line-Icons-reload' => 'Reload' ),

            array( 'Simple-Line-Icons-settings' => 'Settings' ),

            array( 'Simple-Line-Icons-star' => 'Star' ),

            array( 'Simple-Line-Icons-symbol-female' => 'Symbol Female' ),

            array( 'Simple-Line-Icons-symbol-male' => 'Symbol Male' ),

            array( 'Simple-Line-Icons-target' => 'Target' ),

            array( 'Simple-Line-Icons-credit-card' => 'Credit Card' ),

            array( 'Simple-Line-Icons-paypal' => 'Paypal' ),

            array( 'Simple-Line-Icons-social-tumblr' => 'Tumblr' ),

            array( 'Simple-Line-Icons-social-twitter' => 'Twitter' ),

            array( 'Simple-Line-Icons-social-facebook' => 'Facebook' ),

            array( 'Simple-Line-Icons-social-instagram' => 'Instagram' ),

            array( 'Simple-Line-Icons-social-linkedin' => 'Linkedin' ),

            array( 'Simple-Line-Icons-social-pinterest' => 'Pinterest' ),

            array( 'Simple-Line-Icons-social-github' => 'Github' ),

            array( 'Simple-Line-Icons-social-google' => 'Google' ),

            array( 'Simple-Line-Icons-social-reddit' => 'Reddit' ),

            array( 'Simple-Line-Icons-social-skype' => 'Skype' ),

            array( 'Simple-Line-Icons-social-dribbble' => 'Dribbble' ),

            array( 'Simple-Line-Icons-social-behance' => 'Behance' ),

            array( 'Simple-Line-Icons-social-foursqare' => 'Foursqare' ),

            array( 'Simple-Line-Icons-social-soundcloud' => 'Soundcloud' ),

            array( 'Simple-Line-Icons-social-spotify' => 'Spotify' ),

            array( 'Simple-Line-Icons-social-stumbleupon' => 'Stumbleupon' ),

            array( 'Simple-Line-Icons-social-youtube' => 'Youtube' ),

            array( 'Simple-Line-Icons-social-dropbox' => 'Dropbox' ),

            array( 'Simple-Line-Icons-social-vkontakte' => 'Vkontakte' ),

            array( 'Simple-Line-Icons-social-steam' => 'Steam' ),

            array( 'Simple-Line-Icons-moustache' => 'Moustache' ),

            array( 'Simple-Line-Icons-bar-chart' => 'Bar Chart' ),

            array( 'Simple-Line-Icons-pointer' => 'Pointer' ),

            array( 'Simple-Line-Icons-users' => 'Users' ),

            array( 'Simple-Line-Icons-eyeglasses' => 'Eyeglasses' ),

            array( 'Simple-Line-Icons-symbol-fermale' => 'Symbol Fermale' ),

        );



        return array_merge( $icons, $simpleline_icons );

    }

}



if (!function_exists('porto_image_resize')) :

    function porto_image_resize( $attach_id = null, $thumb_size ) {

        if (!$attach_id)

            return false;



        if ( is_string( $thumb_size ) ) {

            preg_match_all( '/\d+/', $thumb_size, $thumb_matches );

            if ( isset( $thumb_matches[0] ) ) {

                $thumb_size = array();

                if ( count( $thumb_matches[0] ) > 1 ) {

                    $thumb_size[] = $thumb_matches[0][0]; // width

                    $thumb_size[] = $thumb_matches[0][1]; // height

                } elseif ( count( $thumb_matches[0] ) > 0 && count( $thumb_matches[0] ) < 2 ) {

                    $thumb_size[] = $thumb_matches[0][0]; // width

                    $thumb_size[] = $thumb_matches[0][0]; // height

                } else {

                    $thumb_size = false;

                }

            }

        }



        $width = $thumb_size[0];

        $height = $thumb_size[1];

        $crop = true;



        $image_src = array();



        $image_src = wp_get_attachment_image_src( $attach_id, 'full' );

        $actual_file_path = get_attached_file( $attach_id );

        // this is not an attachment, let's use the image url



        if(!empty($actual_file_path)) {

            $file_info = pathinfo( $actual_file_path );

            $extension = '.' . $file_info['extension'];



            // the image path without the extension

            $no_ext_path = $file_info['dirname'] . '/' . $file_info['filename'];



            $cropped_img_path = $no_ext_path . '-' . $width . 'x' . $height . $extension;



            // checking if the file size is larger than the target size

            // if it is smaller or the same size, stop right here and return

            if ( $image_src[1] > $width || $image_src[2] > $height ) {



                // the file is larger, check if the resized version already exists (for $crop = true but will also work for $crop = false if the sizes match)

                if ( file_exists( $cropped_img_path ) ) {

                    $cropped_img_url = str_replace( basename( $image_src[0] ), basename( $cropped_img_path ), $image_src[0] );

                    $vt_image = array(

                        $cropped_img_url,

                        $width,

                        $height

                    );



                    return $vt_image;

                }



                // no cache files - let's finally resize it

                $img_editor = wp_get_image_editor( $actual_file_path );



                if ( is_wp_error( $img_editor ) || is_wp_error( $img_editor->resize( $width, $height, $crop ) ) ) {

                    return array(

                        '',

                        '',

                        ''

                    );

                }



                $new_img_path = $img_editor->generate_filename();



                if ( is_wp_error( $img_editor->save( $new_img_path ) ) ) {

                    return array(

                        '',

                        '',

                        ''

                    );

                }

                if ( ! is_string( $new_img_path ) ) {

                    return array(

                        '',

                        '',

                        ''

                    );

                }



                $new_img_size = getimagesize( $new_img_path );

                $new_img = str_replace( basename( $image_src[0] ), basename( $new_img_path ), $image_src[0] );



                // resized output

                $vt_image = array(

                    $new_img,

                    $new_img_size[0],

                    $new_img_size[1]

                );



                return $vt_image;

            }



            // default output - without resizing

            $vt_image = array(

                $image_src[0],

                $image_src[1],

                $image_src[2]

            );



            return $vt_image;

        }

        return false;

    }

endif;