var pysFacebookRest = {"restApiUrl":"https://skylightexperts.co.nz/wp-json/pys-facebook/v1/event","debug":""};
//# sourceURL=jquery-core-js-extra
https://skylightexperts.co.nz/wp-includes/js/jquery/jquery.min.js
https://skylightexperts.co.nz/wp-includes/js/jquery/jquery-migrate.min.js
https://skylightexperts.co.nz/wp-content/plugins/addons-for-visual-composer/assets/js/jquery.waypoints.min.js
var lvca_settings = {"mobile_width":"780","custom_css":""};
//# sourceURL=lvca-frontend-scripts-js-extra
https://skylightexperts.co.nz/wp-content/plugins/addons-for-visual-composer/assets/js/lvca-frontend.min.js
var breeze_prefetch = {"local_url":"https://skylightexperts.co.nz","ignore_remote_prefetch":"1","ignore_list":["/cart/","/checkout/","/my-account/","wp-admin","wp-login.php"]};
//# sourceURL=breeze-prefetch-js-extra
https://skylightexperts.co.nz/wp-content/plugins/breeze/assets/js/js-front-end/breeze-prefetch-links.min.js
https://skylightexperts.co.nz/wp-content/plugins/woocommerce/assets/js/jquery-blockui/jquery.blockUI.min.js
var wc_add_to_cart_params = {"ajax_url":"/wp-admin/admin-ajax.php","wc_ajax_url":"/?wc-ajax=%%endpoint%%","i18n_view_cart":"View cart","cart_url":"https://skylightexperts.co.nz/cart/","is_cart":"","cart_redirect_after_add":"no"};
//# sourceURL=wc-add-to-cart-js-extra
https://skylightexperts.co.nz/wp-content/plugins/woocommerce/assets/js/frontend/add-to-cart.min.js
https://skylightexperts.co.nz/wp-content/plugins/woocommerce/assets/js/js-cookie/js.cookie.min.js
https://skylightexperts.co.nz/wp-content/plugins/addons-for-visual-composer/includes/addons/accordion/js/accordion.min.js
https://skylightexperts.co.nz/wp-content/plugins/addons-for-visual-composer/assets/js/slick.min.js
https://skylightexperts.co.nz/wp-content/plugins/addons-for-visual-composer/assets/js/jquery.stats.min.js
https://skylightexperts.co.nz/wp-content/plugins/addons-for-visual-composer/includes/addons/odometers/js/odometer.min.js
https://skylightexperts.co.nz/wp-content/plugins/addons-for-visual-composer/includes/addons/piecharts/js/piechart.min.js
https://skylightexperts.co.nz/wp-content/plugins/addons-for-visual-composer/includes/addons/posts-carousel/js/posts-carousel.min.js
https://skylightexperts.co.nz/wp-content/plugins/addons-for-visual-composer/includes/addons/spacer/js/spacer.min.js
https://skylightexperts.co.nz/wp-content/plugins/addons-for-visual-composer/includes/addons/services/js/services.min.js
https://skylightexperts.co.nz/wp-content/plugins/addons-for-visual-composer/includes/addons/stats-bar/js/stats-bar.min.js
https://skylightexperts.co.nz/wp-content/plugins/addons-for-visual-composer/includes/addons/tabs/js/tabs.min.js
https://skylightexperts.co.nz/wp-content/plugins/addons-for-visual-composer/assets/js/jquery.flexslider.min.js
https://skylightexperts.co.nz/wp-content/plugins/addons-for-visual-composer/includes/addons/testimonials-slider/js/testimonials.min.js
https://skylightexperts.co.nz/wp-content/plugins/addons-for-visual-composer/assets/js/isotope.pkgd.min.js
https://skylightexperts.co.nz/wp-content/plugins/addons-for-visual-composer/assets/js/imagesloaded.pkgd.min.js
https://skylightexperts.co.nz/wp-content/plugins/addons-for-visual-composer/includes/addons/portfolio/js/portfolio.min.js
https://skylightexperts.co.nz/wp-content/plugins/js_composer/assets/js/vendors/woocommerce-add-to-cart.js
(function () {
window.lvca_fs = {can_use_premium_code: false};
})();
!function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod?
n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n;
n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window,
document,'script','https://connect.facebook.net/en_US/fbevents.js');
var url = window.location.origin + '?ob=open-bridge';
fbq('set', 'openbridge', '1163286805660643', url);
fbq('init', '1163286805660643', {}, {
"agent": "wordpress-6.9.1-4.1.5"
})
fbq('track', 'PageView', []);
Skip to content
By Skylight Experts
Think beyond the square
While most skylights are rectangular or circular, modern manufacturing allows for almost any shape. Advances in construction materials and glazing technology mean skylights can follow a roof’s curves or create a dramatic feature. Unique Skylights points out that custom roof windows can be manufactured to fit existing structures and creative shapes, freeing architects to explore more expressive designs.
Benefits of bespoke skylights
Custom skylights do more than look stunning. They connect occupants with the sky and surrounding landscape, enhancing wellbeing by bringing in natural light and views of clouds and stars. In commercial or public buildings, a bespoke skylight can act as an architectural centrepiece, adding value and identity to the space. Modern custom units can be triple‑glazed, feature thermally broken frames and include automated shading, so you don’t have to compromise on energy efficiency or comfort.
Tailored design and installation
Our custom fitting team works with architects and homeowners to design skylights that complement the building’s structure and meet structural and weatherproofing requirements. Options include:
· Curved or angled glazing: perfect for barrel‑vault roofs or contemporary designs.
· Multi‑segment skylights: long, continuous spans of glass that flood large rooms with light.
· Unusual shapes: triangles, polygons or freeform curves that transform ceilings into works of art.
Custom skylights require precise engineering and professional installation to maintain structural integrity and comply with building codes. Working with a certified installer ensures the skylight’s frame and flashing are designed for the specific roof type and that the glazing performs as expected.
FAQs
Q: Can skylights be made in any shape? A: Yes. Advances in glazing and framing allow for custom shapes and sizes. The complexity of the shape may affect cost and lead time.
Q: Are custom skylights energy efficient? A: Bespoke skylights can include all the energy‑saving features of standard units, such as thermally broken frames, low‑E coatings and argon‑filled glazing.
Q: How long does it take to design and install a custom skylight? A: Lead times depend on the size and complexity of the design. Allow extra time for engineering and manufacturing before installation.
Related Posts
By Skylight Experts Why regular maintenance matters Skylights sit in exposed roof...
Read More
By Skylight Experts Make informed decisions before cutting into your roof Installing...
Read More
function dnd_cf7_generateUUIDv4() {
const bytes = new Uint8Array(16);
crypto.getRandomValues(bytes);
bytes[6] = (bytes[6] & 0x0f) | 0x40; // version 4
bytes[8] = (bytes[8] & 0x3f) | 0x80; // variant 10
const hex = Array.from(bytes, b => b.toString(16).padStart(2, "0")).join("");
return hex.replace(/^(.{8})(.{4})(.{4})(.{4})(.{12})$/, "$1-$2-$3-$4-$5");
}
document.addEventListener("DOMContentLoaded", function() {
if ( ! document.cookie.includes("wpcf7_guest_user_id")) {
document.cookie = "wpcf7_guest_user_id=" + dnd_cf7_generateUUIDv4() + "; path=/; max-age=" + (12 * 3600) + "; samesite=Lax";
}
});
document.addEventListener( 'wpcf7mailsent', function( event ) {
if( "fb_pxl_code" in event.detail.apiResponse){
eval(event.detail.apiResponse.fb_pxl_code);
}
}, false );
var node = document.getElementsByClassName('woocommerce-message')[0];
if(node && document.getElementById('pys_late_event')) {
var messageText = node.textContent.trim();
if(!messageText) {
node.style.display = 'none';
}
}
var sbiajaxurl = "https://skylightexperts.co.nz/wp-admin/admin-ajax.php";
(function () {
var c = document.body.className;
c = c.replace(/woocommerce-no-js/, 'woocommerce-js');
document.body.className = c;
})();
https://skylightexperts.co.nz/wp-includes/js/dist/hooks.min.js
https://skylightexperts.co.nz/wp-includes/js/dist/i18n.min.js
wp.i18n.setLocaleData( { 'text direction\u0004ltr': [ 'ltr' ] } );
//# sourceURL=wp-i18n-js-after
https://skylightexperts.co.nz/wp-content/plugins/contact-form-7/includes/swv/js/index.js
var wpcf7 = {
"api": {
"root": "https:\/\/skylightexperts.co.nz\/wp-json\/",
"namespace": "contact-form-7\/v1"
},
"cached": 1
};
//# sourceURL=contact-form-7-js-before
https://skylightexperts.co.nz/wp-content/plugins/contact-form-7/includes/js/index.js
var dnd_cf7_uploader = {"ajax_url":"https://skylightexperts.co.nz/wp-admin/admin-ajax.php","ajax_nonce":"5480c33ed8","drag_n_drop_upload":{"tag":"h5","text":"Drag & Drop Files Here","or_separator":"or","browse":"Browse Files","server_max_error":"The uploaded file exceeds the maximum upload size of your server.","large_file":"Uploaded file is too large","inavalid_type":"Uploaded file is not allowed for file type","max_file_limit":"Note : Some of the files are not uploaded ( Only %count% files allowed )","required":"This field is required.","delete":{"text":"deleting","title":"Remove"}},"dnd_text_counter":"of","disable_btn":""};
//# sourceURL=codedropz-uploader-js-extra
https://skylightexperts.co.nz/wp-content/plugins/drag-and-drop-multiple-file-upload-contact-form-7/assets/js/codedropz-uploader-jquery.js
var woocommerce_params = {"ajax_url":"/wp-admin/admin-ajax.php","wc_ajax_url":"/?wc-ajax=%%endpoint%%","i18n_password_show":"Show password","i18n_password_hide":"Hide password"};
//# sourceURL=woocommerce-js-extra
https://skylightexperts.co.nz/wp-content/plugins/woocommerce/assets/js/frontend/woocommerce.min.js
https://skylightexperts.co.nz/wp-content/plugins/woocommerce/assets/js/sourcebuster/sourcebuster.min.js
var wc_order_attribution = {"params":{"lifetime":1.0e-5,"session":30,"base64":false,"ajaxurl":"https://skylightexperts.co.nz/wp-admin/admin-ajax.php","prefix":"wc_order_attribution_","allowTracking":true},"fields":{"source_type":"current.typ","referrer":"current_add.rf","utm_campaign":"current.cmp","utm_source":"current.src","utm_medium":"current.mdm","utm_content":"current.cnt","utm_id":"current.id","utm_term":"current.trm","utm_source_platform":"current.plt","utm_creative_format":"current.fmt","utm_marketing_tactic":"current.tct","session_entry":"current_add.ep","session_start_time":"current_add.fd","session_pages":"session.pgs","session_count":"udata.vst","user_agent":"udata.uag"}};
//# sourceURL=wc-order-attribution-js-extra
https://skylightexperts.co.nz/wp-content/plugins/woocommerce/assets/js/frontend/order-attribution.min.js
https://skylightexperts.co.nz/wp-content/plugins/google-site-kit/dist/assets/js/googlesitekit-events-provider-contact-form-7-40476021fb6e59177033.js
window._googlesitekit.wcdata = window._googlesitekit.wcdata || {};
window._googlesitekit.wcdata.products = [];
window._googlesitekit.wcdata.add_to_cart = null;
window._googlesitekit.wcdata.currency = "NZD";
window._googlesitekit.wcdata.eventsToTrack = ["add_to_cart","purchase"];
//# sourceURL=googlesitekit-events-provider-woocommerce-js-before
https://skylightexperts.co.nz/wp-content/plugins/google-site-kit/dist/assets/js/googlesitekit-events-provider-woocommerce-56777fd664fb7392edc2.js
https://skylightexperts.co.nz/wp-includes/js/imagesloaded.min.js
https://skylightexperts.co.nz/wp-includes/js/masonry.min.js
https://skylightexperts.co.nz/wp-includes/js/jquery/jquery.masonry.min.js
https://skylightexperts.co.nz/wp-content/themes/ohio/assets/js/jquery.clb-slider.min.js
https://skylightexperts.co.nz/wp-content/themes/ohio/assets/js/libs/jquery.mega-menu.min.js
https://skylightexperts.co.nz/wp-content/themes/ohio/assets/js/libs/jquery.tilt.min.js
https://skylightexperts.co.nz/wp-includes/js/comment-reply.min.js
var wc_cart_fragments_params = {"ajax_url":"/wp-admin/admin-ajax.php","wc_ajax_url":"/?wc-ajax=%%endpoint%%","cart_hash_key":"wc_cart_hash_0863d996d468169126b6eed8173746e5","fragment_name":"wc_fragments_0863d996d468169126b6eed8173746e5","request_timeout":"5000"};
//# sourceURL=wc-cart-fragments-js-extra
https://skylightexperts.co.nz/wp-content/plugins/woocommerce/assets/js/frontend/cart-fragments.min.js
https://skylightexperts.co.nz/wp-content/themes/ohio/assets/js/woocommerce.min.js
https://skylightexperts.co.nz/wp-includes/js/underscore.min.js
var _wpUtilSettings = {"ajax":{"url":"/wp-admin/admin-ajax.php"}};
//# sourceURL=wp-util-js-extra
https://skylightexperts.co.nz/wp-includes/js/wp-util.min.js
var wc_add_to_cart_variation_params = {"wc_ajax_url":"/?wc-ajax=%%endpoint%%","i18n_no_matching_variations_text":"Sorry, no products matched your selection. Please choose a different combination.","i18n_make_a_selection_text":"Please select some product options before adding this product to your cart.","i18n_unavailable_text":"Sorry, this product is unavailable. Please choose a different combination.","i18n_reset_alert_text":"Your selection has been reset. Please select some product options before adding this product to your cart."};
//# sourceURL=wc-add-to-cart-variation-js-extra
https://skylightexperts.co.nz/wp-content/plugins/woocommerce/assets/js/frontend/add-to-cart-variation.min.js
var ohioVariables = {"url":"https://skylightexperts.co.nz/wp-admin/admin-ajax.php","view_cart":"View Cart","add_to_cart_message":"has been added to the cart","cart_page":"https://skylightexperts.co.nz/cart/","subscribe_popup_enable":"","notification_enable":""};
//# sourceURL=ohio-main-js-extra
https://skylightexperts.co.nz/wp-content/themes/ohio/assets/js/main.min.js
function initialize_gpa(retries = 10) {
if (!window.google || !google.maps || !google.maps.places) {
if (retries > 0) {
console.warn("Google Maps API not loaded yet. Retrying...");
setTimeout(() => initialize_gpa(retries - 1), 500); // Retry after 500ms
} else {
console.error("Google Maps API failed to load after multiple attempts.");
}
return;
}
console.log("Google Maps API loaded successfully.");
var optionsc = {
componentRestrictions: {country: ["NZL"]}, };
var acInputs = document.getElementsByClassName("wpcf7-gmautocomplete");
for (var i = 0; i < acInputs.length; i++) {
ApplyAutoComplete(acInputs[i],optionsc)
}
}
function ApplyAutoComplete(input,optionsc) {
var autocomplete = new google.maps.places.Autocomplete(input,optionsc);
autocomplete.inputId = input.id;
autocomplete.inputName = input.name;
var address2Field = document.querySelector("#"+autocomplete.inputName+"_address2");
var postalField = document.querySelector("#"+autocomplete.inputName+"_postcode");
var latitudeField = document.querySelector("#" + autocomplete.inputName + "_latitude");
var longitudeField = document.querySelector("#" + autocomplete.inputName + "_longitude");
google.maps.event.addListener(autocomplete, 'place_changed', function () {
const place = autocomplete.getPlace();
console.log(place);
let address1 = "";
let postcode = "";
let latitude = "";
let longitude = "";
if (place.geometry && place.geometry.location) {
latitude = place.geometry.location.lat();
longitude = place.geometry.location.lng();
console.log("Latitude:", latitude, "Longitude:", longitude);
if (latitudeField) {
latitudeField.value = latitude;
}
if (longitudeField) {
longitudeField.value = longitude;
}
}
console.log(autocomplete.inputName);
if(document.getElementById(autocomplete.inputName+"map")){
document.getElementById(autocomplete.inputName+"map").style.display = "block";
const myLatLng = { lat: -25.363, lng: 131.044 };
const map = new google.maps.Map(document.getElementById(autocomplete.inputName+"map"), {
zoom: 4,
center: myLatLng,
mapTypeControl: false,
});
const marker = new google.maps.Marker({
position: myLatLng,
map,
});
marker.setVisible(false);
if (place.geometry.viewport) {
map.fitBounds(place.geometry.viewport);
} else {
map.setCenter(place.geometry.location);
map.setZoom(17);
}
marker.setPosition(place.geometry.location);
marker.setVisible(true);
}
for (const component of place.address_components) {
const componentType = component.types[0];
switch (componentType) {
case "street_number": {
address1 = `${component.long_name} ${address1}`;
break;
}
case "route": {
address1 += component.short_name;
break;
}
case "postal_code": {
postcode = `${component.long_name}${postcode}`;
break;
}
case "postal_code_suffix": {
postcode = `${postcode}-${component.long_name}`;
break;
}
case "locality":
if(document.getElementById(autocomplete.inputName+"_locality")){
document.querySelector("#"+autocomplete.inputName+"_locality").value = component.long_name;
}
break;
case "administrative_area_level_1": {
if(document.getElementById(autocomplete.inputName+"_state")){
document.querySelector("#"+autocomplete.inputName+"_state").value = component.short_name;
}
break;
}
case "country":
if(document.getElementById(autocomplete.inputName+"_country")){
document.querySelector("#"+autocomplete.inputName+"_country").value = component.long_name;
}
break;
}
}
if(document.getElementById(autocomplete.inputName+"_address2")){
address2Field.value = address1;
}
console.log(autocomplete.inputName);
if(document.getElementById(autocomplete.inputName+"_postcode")){
postalField.value = postcode;
}
});
}
setTimeout(() => initialize_gpa(), 1000);
jQuery(window).on('elementor/popup/show', () => {
setTimeout(() => initialize_gpa(), 1000);
});