private void resize() {
        size   = getSkinnable().getWidth() < getSkinnable().getHeight() ? getSkinnable().getWidth() : getSkinnable().getHeight();
        width  = getSkinnable().getWidth();
        height = getSkinnable().getHeight();
        if (getSkinnable().isKeepAspect()) {
            if (aspectRatio * width > height) {
                width  = 1 / (aspectRatio / height);
            } else if (1 / (aspectRatio / height) > width) {
                height = aspectRatio * width;
            }
        }
        if (width > 0 && height > 0) {
            green.setPrefSize(0.5333333333333333 * width, 0.11844331641285956 * height);
            green.setTranslateX(0.26 * width);
            green.setTranslateY(0.350253807106599 * height);

            yellow.setPrefSize(0.5333333333333333 * width, 0.11844331641285956 * height);
            yellow.setTranslateX(0.26 * width);
            yellow.setTranslateY(0.22504230118443316 * height);

            red.setPrefSize(0.5333333333333333 * width, 0.11844331641285956 * height);
            red.setTranslateX(0.26 * width);
            red.setTranslateY(0.09475465313028765 * height);

            rack.setPrefSize(0.02666666666666667 * width, 0.3824027072758037 * height);
            rack.setTranslateX(0.4266666666666667 * width);
            rack.setTranslateY(0.09475465313028765 * height);

            bodyDropShadow.setRadius(Util.clamp(1, 3, 0.0133333333 * size));
            bodyInnerShadow.setRadius(Util.clamp(1, 3, 0.0133333333 * size));

            body.setPrefSize(0.6133333333333333 * width, 0.9111675126903553 * height);
            body.setTranslateX(0.22 * width);
            body.setTranslateY(0.03976311336717428 * height);

            roof.setPrefSize(0.6133333333333333 * width, 0.018612521150592216 * height);
            roof.setTranslateX(0.22 * width);
            roof.setTranslateY(0.028764805414551606 * height);
        }
    }