private void resize() {
        size   = getSkinnable().getWidth() < getSkinnable().getHeight() ? getSkinnable().getWidth() : getSkinnable().getHeight();
        width  = size;
        height = size;

        if (width > 0 && height > 0) {
            frame.setPrefSize(width, height);

            off.setPrefSize(0.7916666666666666 * width, 0.7916666666666666 * height);
            off.setTranslateX(0.10416666666666667 * width);
            off.setTranslateY(0.10416666666666667 * height);
            offInnerShadow.setOffsetY(-5.0 / 144.0 * size);
            offInnerShadow.setRadius(2.0 / 144.0 * size);
            offInnerShadow1.setRadius(3.0 / 144.0 * size);
            offDropShadow.setOffsetY(10.0 / 144.0 * size);
            offDropShadow.setRadius(10.0 / 144.0 * size);

            ledOff.setPrefSize(0.08333333333333333 * width, 0.08333333333333333 * height);
            ledOff.setTranslateX(0.4583333333333333 * width);
            ledOff.setTranslateY(0.7291666666666666 * height);
            ledOffInnerShadow.setRadius(1.0 / 144.0 * size);
            ledOffInnerShadow1.setRadius(1.0 / 144.0 * size);

            on.setPrefSize(0.7916666666666666 * width, 0.7916666666666666 * height);
            on.setTranslateX(0.10416666666666667 * width);
            on.setTranslateY(0.10416666666666667 * height);
            onInnerShadow.setOffsetY(-2.0 / 144.0 * size);
            onInnerShadow.setRadius(2.0 / 144.0 * size);
            onInnerShadow1.setOffsetY(4.0 / 144.0 * size);
            onInnerShadow1.setRadius(2.0 / 144.0 * size);
            onDropShadow.setRadius(1.0 / 144.0 * size);

            ledOn.setPrefSize(0.08333333333333333 * width, 0.08333333333333333 * height);
            ledOn.setTranslateX(0.4583333333333333 * width);
            ledOn.setTranslateY(0.75 * height);
            ledOnInnerShadow.setRadius(1.0 / 144.0 * size);
            ledOnInnerShadow1.setRadius(2.0 / 144.0 * size);
            ledOnGlow.setRadius(9.0 / 144.0 * size);

            font = Font.font("Open Sans", FontWeight.BOLD, FontPosture.REGULAR, 28.0 / 144.0 * size);
            text.setFont(font);
            if (text.getLayoutBounds().getWidth() > 0.78 * width) {
                text.setText("...");
            }
            text.setTranslateX((width - text.getLayoutBounds().getWidth()) * 0.5);
            text.setTranslateY((height - text.getLayoutBounds().getHeight()) * 0.49);

            textInnerShadow.setOffsetY(-1.0 / 144.0 * size);
            textInnerShadow.setRadius(1.0 / 144.0 * size);
            textInnerShadow1.setOffsetY(1.0 / 144.0 * size);
            textInnerShadow1.setRadius(1.0 / 144.0 * size);
        }
    }