diff --git a/.gitignore b/.gitignore
index 7072e3190b74b3e07c5e0a8fb812a6a2e4ca8b74..7f254794fcffc36e63e6df55e64194c745d19fc3 100644
--- a/.gitignore
+++ b/.gitignore
@@ -70,3 +70,6 @@ ios/robovm.properties
 
 ## core
 core/gen
+
+
+temp/
\ No newline at end of file
diff --git a/core/assets/common/screen/gamemenu/gfx/bankovniloupez_back.png b/core/assets/common/screen/gamemenu/gfx/bankovniloupez_back.png
index d9d3c637e1255f67af94b207b0d9fd6883fb4772..3159e8e6cd55c6d5ad3fea28a8bd185b0e1fbd32 100644
Binary files a/core/assets/common/screen/gamemenu/gfx/bankovniloupez_back.png and b/core/assets/common/screen/gamemenu/gfx/bankovniloupez_back.png differ
diff --git a/core/assets/common/screen/gamemenu/gfx/bankovniloupez_fore.png b/core/assets/common/screen/gamemenu/gfx/bankovniloupez_fore.png
index 59057615e33af54d54e6b28fd18da85c705a9b00..7122f089fb2e11d6345615600e2690cb50d9fb4a 100644
Binary files a/core/assets/common/screen/gamemenu/gfx/bankovniloupez_fore.png and b/core/assets/common/screen/gamemenu/gfx/bankovniloupez_fore.png differ
diff --git a/core/assets/common/screen/gamemenu/gfx/bankovniloupez_mid.png b/core/assets/common/screen/gamemenu/gfx/bankovniloupez_mid.png
index 74775e68cb0df75051b39285e3c386e53348c2d9..d79def214150a3ed9d4d968e11343b09b3b9602a 100644
Binary files a/core/assets/common/screen/gamemenu/gfx/bankovniloupez_mid.png and b/core/assets/common/screen/gamemenu/gfx/bankovniloupez_mid.png differ
diff --git a/core/assets/common/screen/gamemenu/gfx/nocnisledovani_back.png b/core/assets/common/screen/gamemenu/gfx/nocnisledovani_back.png
index 663b9c0d5236dfe49b6090a53b9a8ac8d4e27bed..4d6ca9b284bf55814892f65708957d8857e4ca69 100644
Binary files a/core/assets/common/screen/gamemenu/gfx/nocnisledovani_back.png and b/core/assets/common/screen/gamemenu/gfx/nocnisledovani_back.png differ
diff --git a/core/assets/common/screen/gamemenu/gfx/nocnisledovani_fore.png b/core/assets/common/screen/gamemenu/gfx/nocnisledovani_fore.png
index 4f3727508f0cbef101f675d490ede92f8d4911c6..6bb038fad6d47ffa797a2db95cdc91c4e1767776 100644
Binary files a/core/assets/common/screen/gamemenu/gfx/nocnisledovani_fore.png and b/core/assets/common/screen/gamemenu/gfx/nocnisledovani_fore.png differ
diff --git a/core/assets/common/screen/gamemenu/gfx/nocnisledovani_mid.png b/core/assets/common/screen/gamemenu/gfx/nocnisledovani_mid.png
index c2ec630adcf5a9dbf548fd17a0e3096b26ff1625..19878ce681e77a4d2464ed8a2ac20f92811b5303 100644
Binary files a/core/assets/common/screen/gamemenu/gfx/nocnisledovani_mid.png and b/core/assets/common/screen/gamemenu/gfx/nocnisledovani_mid.png differ
diff --git a/core/assets/common/screen/gamemenu/gfx/potme_back.png b/core/assets/common/screen/gamemenu/gfx/potme_back.png
index 6eabf1d99e7bed3f680584bb6fbfadae3a538e70..faa5a8062a8af3e9313a2b327d784e638fba6b11 100644
Binary files a/core/assets/common/screen/gamemenu/gfx/potme_back.png and b/core/assets/common/screen/gamemenu/gfx/potme_back.png differ
diff --git a/core/assets/common/screen/gamemenu/gfx/potme_fore.png b/core/assets/common/screen/gamemenu/gfx/potme_fore.png
index 723044ed2001fd145670b2b415cd5b414f4dfbf5..9966cd99d26201a27de6a85f4ba5718e04fc2a1c 100644
Binary files a/core/assets/common/screen/gamemenu/gfx/potme_fore.png and b/core/assets/common/screen/gamemenu/gfx/potme_fore.png differ
diff --git a/core/assets/common/screen/gamemenu/gfx/potme_mid.png b/core/assets/common/screen/gamemenu/gfx/potme_mid.png
index 017bffca99d67c5d5f5c96948a1d3dbe1620d71b..e018108edda300d014a5e5179a886e587f91a1c0 100644
Binary files a/core/assets/common/screen/gamemenu/gfx/potme_mid.png and b/core/assets/common/screen/gamemenu/gfx/potme_mid.png differ
diff --git a/core/assets/common/screen/gamemenu/gfx/pronasledovani_back.png b/core/assets/common/screen/gamemenu/gfx/pronasledovani_back.png
index cf8a55f8c84d57c0120a450fbf5b4260b71c9299..a975f5114df47eb0a5c985b42aad0b3dad3491aa 100644
Binary files a/core/assets/common/screen/gamemenu/gfx/pronasledovani_back.png and b/core/assets/common/screen/gamemenu/gfx/pronasledovani_back.png differ
diff --git a/core/assets/common/screen/gamemenu/gfx/pronasledovani_fore.png b/core/assets/common/screen/gamemenu/gfx/pronasledovani_fore.png
index 753143e8a2809687a62696bf9dc590262888da07..45cd8108d686ce060258ac94a645a8f15d49a376 100644
Binary files a/core/assets/common/screen/gamemenu/gfx/pronasledovani_fore.png and b/core/assets/common/screen/gamemenu/gfx/pronasledovani_fore.png differ
diff --git a/core/assets/common/screen/gamemenu/gfx/pronasledovani_mid.png b/core/assets/common/screen/gamemenu/gfx/pronasledovani_mid.png
index a97adfee1cc802af3795a8089e59ae6e0ed51aad..f4f56c2abcd4188492797e67d9b93cca3b647fcb 100644
Binary files a/core/assets/common/screen/gamemenu/gfx/pronasledovani_mid.png and b/core/assets/common/screen/gamemenu/gfx/pronasledovani_mid.png differ
diff --git a/core/assets/common/screen/gamemenu/gfx/strelnice_back.png b/core/assets/common/screen/gamemenu/gfx/strelnice_back.png
index 10333b95475123376c6067f3c1d34f025d57a04e..bef8bf9a378eeed3687639e132f593ea5583146e 100644
Binary files a/core/assets/common/screen/gamemenu/gfx/strelnice_back.png and b/core/assets/common/screen/gamemenu/gfx/strelnice_back.png differ
diff --git a/core/assets/common/screen/gamemenu/gfx/strelnice_fore.png b/core/assets/common/screen/gamemenu/gfx/strelnice_fore.png
index c4a0a41e2e8e05225247bafb190d0ec910043e39..ac1fbe83a618a48c808089bfd6062d6dd8c1623c 100644
Binary files a/core/assets/common/screen/gamemenu/gfx/strelnice_fore.png and b/core/assets/common/screen/gamemenu/gfx/strelnice_fore.png differ
diff --git a/core/assets/common/screen/gamemenu/gfx/strelnice_mid.png b/core/assets/common/screen/gamemenu/gfx/strelnice_mid.png
index f543837c39eb520cd93aeb74baa5d991684191d0..b5cb9216ae8cff7cff6313f54de0ebd99992cfd1 100644
Binary files a/core/assets/common/screen/gamemenu/gfx/strelnice_mid.png and b/core/assets/common/screen/gamemenu/gfx/strelnice_mid.png differ
diff --git a/core/assets/common/screen/gamemenu/gfx/unos_back.png b/core/assets/common/screen/gamemenu/gfx/unos_back.png
index 7d6448ea367f76be9c1b5f2bf172a45d2fa8e301..2690d439d6618707eabbafe6e9f3e4146f72abb7 100644
Binary files a/core/assets/common/screen/gamemenu/gfx/unos_back.png and b/core/assets/common/screen/gamemenu/gfx/unos_back.png differ
diff --git a/core/assets/common/screen/gamemenu/gfx/unos_fore.png b/core/assets/common/screen/gamemenu/gfx/unos_fore.png
index a741561713869570be5e47648fc414190df73d1a..c1256d7b5cd5a131963504d4f8a15e2a0dd9af30 100644
Binary files a/core/assets/common/screen/gamemenu/gfx/unos_fore.png and b/core/assets/common/screen/gamemenu/gfx/unos_fore.png differ
diff --git a/core/assets/common/screen/gamemenu/gfx/unos_mid.png b/core/assets/common/screen/gamemenu/gfx/unos_mid.png
index 2ba240c927532ba1052b7b832a984a2d5eaffac8..a7a40d342be850b433f049ad3a8bf7debcfdca96 100644
Binary files a/core/assets/common/screen/gamemenu/gfx/unos_mid.png and b/core/assets/common/screen/gamemenu/gfx/unos_mid.png differ
diff --git a/core/src/cz/nic/tablexia/screen/gamemenu/GameMenuScreen.java b/core/src/cz/nic/tablexia/screen/gamemenu/GameMenuScreen.java
index c11823516432d9da826a701934b890e00de503cb..39a7053cf22f8d469c6a6a4c63cd56cae696754e 100644
--- a/core/src/cz/nic/tablexia/screen/gamemenu/GameMenuScreen.java
+++ b/core/src/cz/nic/tablexia/screen/gamemenu/GameMenuScreen.java
@@ -1,7 +1,6 @@
 package cz.nic.tablexia.screen.gamemenu;
 
 import com.badlogic.gdx.graphics.g2d.TextureRegion;
-import com.badlogic.gdx.math.Rectangle;
 import com.badlogic.gdx.scenes.scene2d.Touchable;
 import com.badlogic.gdx.scenes.scene2d.actions.Actions;
 import com.badlogic.gdx.scenes.scene2d.ui.Image;
@@ -69,6 +68,7 @@ public class GameMenuScreen extends AbstractTablexiaScreen<int[][]> {
     }
 
     private ViewPager vp;
+    private Image vignette;
 
     @Override
     protected String prepareScreenTextResourcesAssetName() {
@@ -81,19 +81,14 @@ public class GameMenuScreen extends AbstractTablexiaScreen<int[][]> {
         getStage().setDebugAll(TablexiaSettings.getInstance().isShowBoundingBoxes());
         vp = new ViewPager();
         vp.addPage(new OfficeMenuPage(this));
-
         for (GameDefinition gd : GameDefinition.getActiveGames()) {
             vp.addPage(new GameMenuPage(this, gd));
         }
-
-        vp.setSize(getStage().getWidth(), getStage().getHeight());
-        vp.setCullingArea(new Rectangle(0, 0, vp.getWidth(), vp.getHeight()));
         getStage().addActor(vp);
 
-        Image im = new Image(getScreenTextureRegion(GameMenuAssets.VIGNETTE));
-        im.setTouchable(Touchable.disabled);
-        im.setSize(getStage().getWidth(), getStage().getHeight());
-        getStage().addActor(im);
+        vignette = new Image(getScreenTextureRegion(GameMenuAssets.VIGNETTE));
+        vignette.setTouchable(Touchable.disabled);
+        getStage().addActor(vignette);
 
         ApplicationBus.getInstance().subscribe(this);
 
@@ -115,6 +110,16 @@ public class GameMenuScreen extends AbstractTablexiaScreen<int[][]> {
                 }
             })));
         }
+        screenResized(0, 0);
+    }
+
+    @Override
+    protected void screenResized(int width, int height) {
+        super.screenResized(width, height);
+        vignette.setSize(getStage().getWidth(), getStage().getHeight());
+        vp.setBounds(0, 0, getStage().getWidth(), TablexiaSettings.getMinWorldHeight());
+        //vp.setSize(getStage().getWidth(), getStage().getHeight());
+        //vp.setCullingArea(new Rectangle(0, 0, vp.getWidth(), vp.getHeight()));
     }
 
     @Handler
diff --git a/core/src/cz/nic/tablexia/screen/gamemenu/pages/GameMenuPage.java b/core/src/cz/nic/tablexia/screen/gamemenu/pages/GameMenuPage.java
index 4ecd04e751a9f6a508d0aa4f7a5a30e47dbacbb4..ac7687cf8eb3e02aeb22eb3321166af61a7d970f 100644
--- a/core/src/cz/nic/tablexia/screen/gamemenu/pages/GameMenuPage.java
+++ b/core/src/cz/nic/tablexia/screen/gamemenu/pages/GameMenuPage.java
@@ -98,7 +98,7 @@ public class GameMenuPage extends MenuPage implements ViewPager.ScrollListener {
             public void clicked(InputEvent event, float x, float y) {
                 super.clicked(event, x, y);
                 ApplicationBus.getInstance().publishAsync(new Tablexia.ChangeScreenEvent(GameMenuPage.this.game.getScreenClass(),
-                                                          TablexiaApplication.ScreenTransaction.FADE));
+                        TablexiaApplication.ScreenTransaction.FADE));
             }
         });
 
@@ -203,13 +203,15 @@ public class GameMenuPage extends MenuPage implements ViewPager.ScrollListener {
         batch.draw(back.getTexture(), x, getY(), width, getHeight(), back.getRegionX() + srcX, back.getRegionY(), srcWidth, back.getRegionHeight(), false, false);
         batch.enableBlending();
         // Mid layer travels the same speed
-        batch.draw(getScreen().getScreenTextureRegion(GameMenuAssets.getResourcePath(game, GameMenuAssets.GameMenuLayers.MID)), getX(), getY(), getWidth(), getHeight());
+        batch.draw(getScreen().getScreenTextureRegion(GameMenuAssets.getResourcePath(game, GameMenuAssets.GameMenuLayers.MID)), getX(), getY() - ((getWidth() - getHeight()) / 2), getWidth(), getWidth());
 
         // Foreground layer travels faster and could be wider than screen. Needs to be clipped
         TextureRegion fore = getScreen().getScreenTextureRegion(GameMenuAssets.getResourcePath(game, GameMenuAssets.GameMenuLayers.FORE));
+        /*
         float foreWidth = (getHeight() / fore.getRegionHeight()) * fore.getRegionWidth();
         batch.draw(fore, getX() - ((foreWidth - getWidth()) / 2) + (scrollOffset / 2), getY(), foreWidth, getHeight());
-
+        */
+        batch.draw(fore, getX() + (scrollOffset / 2), getY() - ((getWidth() - getHeight()) / 2), getWidth(), getWidth());
         super.draw(batch, parentAlpha);
     }
 
diff --git a/core/src/cz/nic/tablexia/screen/gamemenu/pages/OfficeMenuPage.java b/core/src/cz/nic/tablexia/screen/gamemenu/pages/OfficeMenuPage.java
index 92973662d97006fc79feabd1511cd0bbad51ea4e..6ba4a79d66f6a7614b59293098263fff537d2b63 100644
--- a/core/src/cz/nic/tablexia/screen/gamemenu/pages/OfficeMenuPage.java
+++ b/core/src/cz/nic/tablexia/screen/gamemenu/pages/OfficeMenuPage.java
@@ -48,7 +48,7 @@ public class OfficeMenuPage extends MenuPage implements ViewPager.ScrollListener
     private       Image         street;
     private       Image         profile;
     private final TextureRegion clickmap;
-
+    private       Stack         officeStack;
 
     public OfficeMenuPage(AbstractTablexiaScreen screen) {
         super(screen);
@@ -114,29 +114,35 @@ public class OfficeMenuPage extends MenuPage implements ViewPager.ScrollListener
         });
 
         clickmap = getScreen().getScreenTextureRegion(GameMenuAssets.OFFICE_CLICKMAP);
+        sizeChanged();
+    }
+
+    @Override
+    protected void sizeChanged() {
+        super.sizeChanged();
+        officeStack.setSize(getScreen().getStage().getWidth(), getScreen().getStage().getHeight());
+        officeStack.setPosition(0, 0);
     }
 
     private void createImageStack() {
-        Stack stack = new Stack();
-        stack.setSize(getScreen().getStage().getWidth(), getScreen().getStage().getHeight());
-        stack.setPosition(0, 0);
-        addActor(stack);
-
-        stack.addActor(new TablexiaNoBlendingImage(getScreen().getScreenTextureRegion(GameMenuAssets.OFFICE)));
-        stack.addActor(createImage(GameMenuAssets.OFFICE_HALLOFFAME));
-        stack.addActor(street = createImage(GameMenuAssets.DOOR_PRESSED));
-        stack.addActor(encyclopedia = createImage(GameMenuAssets.ENCYCLOPEDIA_PRESSED));
-        stack.addActor(statistics = createImage(GameMenuAssets.STATISTICS_PRESSED));
-        stack.addActor(hallOfFame = createImage(GameMenuAssets.HALLOFFAME_PRESSED));
-        stack.addActor(createImage(GameMenuAssets.DESK));
-        stack.addActor(profile = createImage(GameMenuAssets.PROFILE_PRESSED));
+        officeStack = new Stack();
+        addActor(officeStack);
+
+        officeStack.addActor(new TablexiaNoBlendingImage(getScreen().getScreenTextureRegion(GameMenuAssets.OFFICE)));
+        officeStack.addActor(createImage(GameMenuAssets.OFFICE_HALLOFFAME));
+        officeStack.addActor(street = createImage(GameMenuAssets.DOOR_PRESSED));
+        officeStack.addActor(encyclopedia = createImage(GameMenuAssets.ENCYCLOPEDIA_PRESSED));
+        officeStack.addActor(statistics = createImage(GameMenuAssets.STATISTICS_PRESSED));
+        officeStack.addActor(hallOfFame = createImage(GameMenuAssets.HALLOFFAME_PRESSED));
+        officeStack.addActor(createImage(GameMenuAssets.DESK));
+        officeStack.addActor(profile = createImage(GameMenuAssets.PROFILE_PRESSED));
 
         hideAllActions();
 
         help = new Stack();
         help.setSize(getScreen().getStage().getWidth(), getScreen().getStage().getHeight());
         help.setPosition(0, 0);
-        stack.addActor(help);
+        officeStack.addActor(help);
         Actor overlay = new Image(ApplicationAtlasManager.getInstance().getColorTexture(ApplicationAtlasManager.COLOR_OVERLAY));
         help.addActor(overlay);
         help.addActor(createImage(GameMenuAssets.OFFICE_HELP));
diff --git a/core/src/cz/nic/tablexia/util/ScaleUtil.java b/core/src/cz/nic/tablexia/util/ScaleUtil.java
index 1b6a9ec084994ee39f6ebe414a3d6dd928a95954..4b217c4994e2c0c54675a4262bbf240292befd08 100644
--- a/core/src/cz/nic/tablexia/util/ScaleUtil.java
+++ b/core/src/cz/nic/tablexia/util/ScaleUtil.java
@@ -174,10 +174,10 @@ public class ScaleUtil {
     }
 
     public static float getViewportWidth() {
-        return Gdx.graphics.getWidth();
+        return Gdx.graphics.getWidth(); // TODO this is wrong
     }
 
     public static float getViewportHeight() {
-        return Gdx.graphics.getHeight();
+        return Gdx.graphics.getHeight();// TODO this is wrong
     }
 }