Scaling HTML content.

I have managed a 'Cludge' to scale the fonts on the screen resize event. This only works if we use font:43 / 20 / 16. If we have the words font in the text that will also be an issue.

http://toolfolks.com/safeGuardMe/Project7.html

procedure TForm7.WebFormCreate(Sender: TObject);
var
screenWidth : Integer;

begin


       Application.InsertCSS('themecss','fresca/myTheme.css');
       screenWidth := ClientWidth;
        if clientWidth < 800 then changeLayout('small');
        if (clientWidth > 800) or (clientWidth < 1100) then changeLayout('medium');
        if clientWidth > 1100 then changeLayout('large');

      end;
procedure TForm7.WebFormResize(Sender: TObject);
begin
        labelWidth.Caption := clientWidth.ToString;
        if clientWidth < 800 then changeLayout('small');
        if (clientWidth > 800) or (clientWidth < 1100) then changeLayout('medium');
        if clientWidth > 1100 then changeLayout('large');
end;

procedure TForm7.changeLayout (size : String) ;
var
myStringList :TstringList;
myString : String;

begin
    if size = 'small' then begin
      gridPanelStory.ColumnCollection.Items[0].Value := 99;
      gridPanelStory.ColumnCollection.Items[1].Value := 1;
     // gridPanelStory.RemoveControl(webButton4) ;
      gridPanelStory.ControlCollection.Items[0].Control := HTMLContStory ;
      gridPanelStory.ControlCollection.Items[1].Control := webButton4;
      gridPanelStory.ControlCollection.Items[2].Control := respGridPanelEnquiry ;
      gridPanelStory.ControlCollection.Items[3].Control := webButton3;
      gridPanelStory.ControlCollection.Items[4].Control := multimediaPlayerStory;
      myStringList :=  HTMLContStory.HTML;
      myString := myStringList.Text;
      myString := StringReplace(myString, 'font:43.0', 'font:21.75', [rfReplaceAll]);
      myString := StringReplace(myString, 'font:20.0', 'font:19.0', [rfReplaceAll]);
      myString := StringReplace(myString, 'font:16.0', 'font:14.0', [rfReplaceAll]);
      myString := StringReplace(myString, 'font:53.0', 'font:22.0', [rfReplaceAll]);
      myString := StringReplace(myString, 'font:30.0', 'font:19.0', [rfReplaceAll]);
      myString := StringReplace(myString, 'font:23.0', 'font:14.0', [rfReplaceAll]);
      HTMLContStory.html.Clear;
      HTMLContStory.html.Add(myString);// .AddObject(mystring,1);

    end;

    if size = 'medium' then begin

      myStringList :=  HTMLContStory.HTML;
      myString := myStringList.Text;
      myString := StringReplace(myString, 'font:22.0', 'font:43.0', [rfReplaceAll]);
      myString := StringReplace(myString, 'font:19.0', 'font:20.0', [rfReplaceAll]);
      myString := StringReplace(myString, 'font:14.0', 'font:16.0', [rfReplaceAll]);
      myString := StringReplace(myString, 'font:53.0', 'font:43.0', [rfReplaceAll]);
      myString := StringReplace(myString, 'font:30.0', 'font:20.0', [rfReplaceAll]);
      myString := StringReplace(myString, 'font:23.0', 'font:16.0', [rfReplaceAll]);
      HTMLContStory.html.Clear;
      HTMLContStory.html.Add(myString);// .AddObject(mystring,1);

    end;

    if size = 'large' then begin
      gridPanelStory.ColumnCollection.Items[0].Value := 70;
      gridPanelStory.ColumnCollection.Items[1].Value := 30;
      gridPanelStory.ControlCollection.Items[0].Control := HTMLContStory ;
      gridPanelStory.ControlCollection.Items[1].Control := respGridPanelEnquiry;
      gridPanelStory.ControlCollection.Items[2].Control := multimediaPlayerStory ;
      gridPanelStory.ControlCollection.Items[3].Control := webButton3;
      gridPanelStory.ControlCollection.Items[4].Control := webButton4;
      myStringList :=  HTMLContStory.HTML;
      myString := myStringList.Text;
      myString := StringReplace(myString, 'font:43.0', 'font:53.0', [rfReplaceAll]);
      myString := StringReplace(myString, 'font:20.0', 'font:30.0', [rfReplaceAll]);
      myString := StringReplace(myString, 'font:16.0', 'font:23.0', [rfReplaceAll]);
      myString := StringReplace(myString, 'font:22.0', 'font:53.0', [rfReplaceAll]);
      myString := StringReplace(myString, 'font:19.0', 'font:30.0', [rfReplaceAll]);
      myString := StringReplace(myString, 'font:14.0', 'font:23.0', [rfReplaceAll]);
      HTMLContStory.html.Clear;
      HTMLContStory.html.Add(myString);// .AddObject(mystring,1);

    end;
end;

Any improvements welcome.