THE MOTIDE MOD

CUSTOM DESIGN YOUR OWN VANITY WITH US WITH USING OUR STEP-BY-STEP PROCESS BELOW.

SIMPLY SELECT OPTIONS AT THE BOTTOM OF THE PAGE AND SUBMIT YOUR INQUIRY


STEP 1 - CHOOSE YOUR CABINET

CHOOSE A CABINET WITH THE RIGHT STORAGE OPTIONS FOR YOUR NEEDS.

THEN CHOOSE IF YOU WANT TO SEE PLYWOOD END-GRAIN OR NOT?

 

STEP 2 - CHOOSE YOUR DOOR / DRAWER PANEL

SELECT A PANEL STYLE. EITHER SHAKER, SHAKER WITH RATTAN INLAY, OR SIMPLE PLYWOOD.

 

STEP 3 - ADD SOME OPEN SHELVING - OPTIONAL

IF YOU WANT TO, YOU CAN SELECT SOME OPEN SHELVING FOR EITHER SIDE OF YOUR CABINET.

 

STEP 4 - SELECT YOUR MATERIAL & FINISH

SELECT A CABINET MATERIAL FROM THE PLYWOOD OPTIONS BELOW.

NOW CHOOSE YOUR PROTECTIVE OSMO OIL FINISH, OR ALTERNATIVELY, GET YOUR VANITY PAINTED IN A CUSTOM RESENE COLOUR.

NOTE: DEPENDING ON YOUR SELECTED MATERIAL CHOICE, THE TINTED PROTECTIVE OIL WILL VARY IN TONE AND DEPTH.

 

STEP 5 - SELECT YOUR HANDLES OR KNOBS

SELECT FROM A LARGE RANGE OF HANDLE AND KNOB STYLES & MATERIALS. IF YOU DON’T WANT HANDLES, WE CAN CUT DISCREET RECESSED GRAB AREAS IN THE DRAWER/DOOR FRONTS, OR MAKE CUT-OUT HANDLES.

 

STEP 6- BENCHTOPS & CONCRETE BASINS - OPTIONAL

SELECT FROM OUR RANGE OR SUPPLY YOUR OWN.

CHOOSE POLARIS FOR ITS DURABLE AND SATIN SOFT FEEL. OR ADD SOME BESPOKE COLOUR AND TEXTURE WITH OUR CUSTOM CONCRETE RANGE. MANY COLOURS AVAILABLE.

 

STEP 7 - MOUNTING

DO YOU WANT YOUR VANITY TO BE WALL-HUNG, FLOOR MOUNTED, OR STEEL / TIMBER LEGS?

 

STEP 8 - TELL US YOUR DIMENSIONS

PROVIDE US WITH THE THREE KEY DIMENSIONS.

Vanity preview
Width: Depth: Height:
Estimated Price: NZ$ 0
Style A
Style B
Style C
Style D
Style E
Style F
Style G
Style H
Oil
Paint
Birch
Gaboon
Meranti
Handle Black
Handle Brass
Handle Nickel
Polaris White
Black
Timber
Concrete

Custom Vanity Configurator














Total Price: $2585

<div id="vanity-configurator" style="font-family: Arial; max-width: 600px; margin: auto;">
  <h2>Custom Vanity Configurator</h2>
  
  <!-- Cabinet Style -->
  <label><strong>Cabinet Style:</strong></label>
  <div id="style-thumbs" style="display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 10px;">
    <img src="https://images.squarespace-cdn.com/content/v1/5d23f7ebc7ee7200018776ee/1675110261455-0XWM4GBH9ZRF9I5JR60K/Base+A.jpg?format=300w" data-style="ADA" class="thumb" style="width:70px;cursor:pointer;">
    <img src="https://images.squarespace-cdn.com/content/v1/5d23f7ebc7ee7200018776ee/1675110261648-X75XNLGTWOF6CI7YHRKS/Base+B.jpg?format=300w" data-style="BELA" class="thumb" style="width:70px;cursor:pointer;">
    <img src="https://images.squarespace-cdn.com/content/v1/5d23f7ebc7ee7200018776ee/1675110262533-IDO1R06SLGLL7H0YL67M/Base+C.jpg?format=300w" data-style="CLEO" class="thumb" style="width:70px;cursor:pointer;">
    <img src="https://images.squarespace-cdn.com/content/v1/5d23f7ebc7ee7200018776ee/1675110263208-2JANRV5JUNAVNIY7XPWP/Base+D+%26+F.jpg?format=500w" data-style="DUA" class="thumb" style="width:70px;cursor:pointer;">
    <img src="https://images.squarespace-cdn.com/content/v1/5d23f7ebc7ee7200018776ee/1675110263618-M00F6RMRFODBAE7A2KYM/Base+E.jpg?format=300w" data-style="EVE" class="thumb" style="width:70px;cursor:pointer;">
    <img src="https://images.squarespace-cdn.com/content/v1/5d23f7ebc7ee7200018776ee/1675110266166-8WJYZM9T7AEIFPHG8761/Base+J.jpg?format=300w" data-style="FREY" class="thumb" style="width:70px;cursor:pointer;">
    <img src="https://images.squarespace-cdn.com/content/v1/5d23f7ebc7ee7200018776ee/1675110265047-K8GW5RSKTVVLU0U2YDWI/Base+H.jpg?format=300w" data-style="HANA" class="thumb" style="width:70px;cursor:pointer;">
    <img src="https://images.squarespace-cdn.com/content/v1/5d23f7ebc7ee7200018776ee/1675110264761-DCLDV3IKLNTZXLLO9RSW/Base+G.jpg?format=300w" data-style="IVY" class="thumb" style="width:70px;cursor:pointer;">
  </div>
  <p><strong>Selected Style:</strong> <span id="selected-style">ADA</span></p>

  <!-- Dimensions -->
  <label>Width (mm): <input type="number" id="width" value="1200"></label><br>
  <label>Height (mm): <input type="number" id="height" value="500"></label><br>
  <label>Depth (mm): <input type="number" id="depth" value="450"></label><br><br>

  <!-- Options -->
  <label>Number of Drawers: <input type="number" id="drawers" value="2" min="0"></label><br>
  <label>Number of Doors: <input type="number" id="doors" value="0" min="0"></label><br>
  <label>Shelving: 
    <select id="shelving">
      <option value="none">None</option>
      <option value="open">Open Shelf</option>
      <option value="extra">Extra Shelf</option>
    </select>
  </label><br><br>

  <!-- Material & Finish -->
  <label>Material:
    <select id="material">
      <option value="birch">Birch</option>
      <option value="gaboon">Gaboon</option>
      <option value="meranti">Meranti</option>
    </select>
  </label><br>
  <label>Finish:
    <select id="finish">
      <option value="oil">Oil</option>
      <option value="paint">Paint</option>
    </select>
  </label><br><br>

  <!-- Style Option -->
  <label>Style:
    <select id="styleType">
      <option value="global">Global</option>
      <option value="inset">Inset</option>
    </select>
  </label><br><br>

  <h3>Total Price: $<span id="price">2585</span></h3>
</div>

<script>
  const basePrice = 2585;
  const baseWidth = 1200, baseHeight = 500, baseDepth = 450;

  function calculatePrice() {
    const width = parseInt(document.getElementById('width').value) || baseWidth;
    const height = parseInt(document.getElementById('height').value) || baseHeight;
    const depth = parseInt(document.getElementById('depth').value) || baseDepth;
    const drawers = parseInt(document.getElementById('drawers').value) || 0;
    const doors = parseInt(document.getElementById('doors').value) || 0;
    const shelving = document.getElementById('shelving').value;

    let price = basePrice;
    price += (width - baseWidth);
    price += (height - baseHeight);
    price += (depth - baseDepth);
    price += drawers * 350;
    price += doors * 250;

    if (shelving !== "none") {
      price += width; // +$1 per mm width
    }

    document.getElementById('price').textContent = price;
  }

  // Update price when inputs change
  document.querySelectorAll('input, select').forEach(el => {
    el.addEventListener('input', calculatePrice);
  });

  // Handle cabinet style selection
  const thumbs = document.querySelectorAll('#style-thumbs img');
  thumbs.forEach(img => {
    img.addEventListener('click', () => {
      thumbs.forEach(i => i.style.border = "none");
      img.style.border = "3px solid #0070f3";
      document.getElementById('selected-style').textContent = img.getAttribute('data-style');
    });
  });

  calculatePrice();
</script>