public void draw(Graphics g) {
        if (inMenu()) {
            mainMenu.draw(g);
        } else {
            currentDemo.draw(g);

            if (currentDemo != null && !currentDemo.running()) {
                g.setColor(new Color(0, 0, 0, 200));
                g.fillRect(0, 0, width, height);

                // Resume game button
                if (resume.contains(Mouse.location)) {
                    g.setColor(new Color(0x2980B9));
                } else {
                    g.setColor(new Color(0x3498DB));
                }
                g.fillRect(resume.x, resume.y, resume.width, resume.height);

                g.setColor(new Color(0xECF0F1));
                g.setFont(new Font("Times New Roman", Font.PLAIN, 30));
                g.drawString("Resume Game", resume.x + 35, resume.y + 35);
                
                // Return to main menu button
                if (returnToMenu.contains(Mouse.location)) {
                    g.setColor(new Color(0x2980B9));
                } else {
                    g.setColor(new Color(0x3498DB));
                }
                g.fillRect(returnToMenu.x, returnToMenu.y, returnToMenu.width, returnToMenu.height);

                g.setColor(new Color(0xECF0F1));
                g.setFont(new Font("Times New Roman", Font.PLAIN, 30));
                g.drawString("Return to Menu", returnToMenu.x + 30, returnToMenu.y + 35);
            }
        }
    }