--Outer box border
draw.RoundedBox(8, x-7, 8, w+24,h*6+93, Color(150,150,150,255))
--Outer box
draw.RoundedBox(8, x-5, 10, w+20,h*6+89, Color(50,50,50,255))
--Rank image box
draw.RoundedBox(8, x, 15, w+10, 74, Color(100,100,100,255))
surface.SetTexture(PlayerRanks[CurSyncRank].BadgeMat)
surface.SetDrawColor(255,255,255,255)
surface.DrawTexturedRect(x+((w+10)/2)-32,20,64,64)
--Info box
draw.RoundedBox(8, x,1y, w+10, h*6, Color(100,100,100,255))
draw.SimpleText(msg[1], "DefaultSmall", x+5, y+5, Color(255,255,255,255))
draw.SimpleText(msg[2], "DefaultSmall", x+5, y+h+7, Color(255,255,255,255))
draw.SimpleText(msg[3], "DefaultSmall", x+7, y+h+41, Color(255,255,255,255))
--Info box progress bar
if not PlayerRanks[CurSyncRank+1] then return end;
local rnum = PlayerRanks[CurSyncRank+1].Time - PlayerRanks[CurSyncRank].Time
local plnum = CurSyncTime - PlayerRanks[CurSyncRank].Time
local percent = plnum/rnum*100
local size = (w-4)/100*percent
local ypos = y+20+h
draw.RoundedBox(4, x+4, ypos, w, 20, Color(150,150,150,255))
surface.SetDrawColor(30,30,30,255)
surface.DrawRect(x+6,ypos+2,w-4,16)
surface.SetDrawColor(255,170,0,255)
surface.DrawRect(x+6,ypos+2,size,16)
--Info box progress bar text
msg = ToHoursMinutesSeconds(rnum-plnum)
local w2,h2 = surface.GetTextSize(msg)
local tx = (x+6+((w-4)/2))-(w2/2)
local ty = (ypos+8)-(h2/4)
draw.RoundedBox(4, tx-2, ty-1,w2+4,h2+1, Color(30,30,30,180))
draw.SimpleText(msg, "DefaultSmall", tx, ty, Color(255,255,255,255))