Danica
EN
Send brief

Contact Danica

Start your property project with Danica Space.

Contact Danica Space about architecture, interior design, renovation, furnishing or construction management for your property project in Croatia.

Quick contact

Short request

For the first message, a short description is enough. Danica will reply with the right next step.

This is the simple contact form. Detailed project information goes into the Project Brief section.

Detailed project brief

Send Project Brief

Tell us about your property, plot, interior, renovation or investment idea. We will review the context and suggest the right next step.

1. Location
2. Project type
3. Property status
4. Object type
5. Approximate size
6. What needs to be done
7. Budget range
8. Timeline
9. File upload
10. Contact details

'; try { const response = await fetch(mapStage.dataset.mapSrc || '/assets/images/maps/croatia.svg', { cache: 'force-cache' }); if (!response.ok) throw new Error('map load failed'); const text = await response.text(); const doc = new DOMParser().parseFromString(text, 'image/svg+xml'); const svg = doc.querySelector('svg'); if (!svg) throw new Error('map svg missing'); enhanceCountryMapSvg(svg); mapStage.replaceChildren(document.importNode(svg, true)); enhanceCountryMapSvg(mapStage.querySelector('svg')); syncCountryMapActiveRegion(current); countryMapLoaded = true; } catch (error) { mapStage.innerHTML = '
' + escapeHtml('Map could not be loaded.') + '
'; } } function hideCountryMapModal(){ if (mapModal) mapModal.hidden = true; } if (regionSelect) { regionSelect.addEventListener('change', syncManualRegionSelection); updateCities(); } function syncPreferredContactRequirement(){ if (!preferredContact) return; if (nameInput) nameInput.required = true; if (emailInput) emailInput.required = preferredContact.value === 'Email'; if (phoneInput) { phoneInput.required = preferredContact.value === 'WhatsApp' || preferredContact.value === 'Phone' || preferredContact.value === 'Telegram'; phoneInput.placeholder = preferredContact.value === 'Telegram' ? '@username' : ''; } clearBriefValidationHighlight(); } function clearBriefValidationHighlight(){ document.body.classList.remove('brief-validation-active'); document.body.classList.remove('contact-hub-validation-active'); form.classList.remove('brief-validation-focus'); form.querySelectorAll('.brief-field-error').forEach(item => item.classList.remove('brief-field-error')); form.querySelectorAll('.brief-control-error').forEach(item => item.classList.remove('brief-control-error')); } function showBriefValidationError(field){ if (!field) return; clearBriefValidationHighlight(); const invalidFields = Array.from(form.querySelectorAll('input, select, textarea')).filter(item => !item.validity.valid); invalidFields.forEach(item => { item.classList.add('brief-control-error'); (item.closest('label') || item.closest('fieldset'))?.classList.add('brief-field-error'); }); document.body.classList.add('brief-validation-active'); form.classList.add('brief-validation-focus'); field.scrollIntoView({ behavior: 'auto', block: 'center' }); setTimeout(() => field.focus({ preventScroll: true }), 260); setTimeout(() => { form.classList.remove('brief-validation-focus'); document.body.classList.remove('brief-validation-active'); document.body.classList.remove('contact-hub-validation-active'); }, 2200); } if (preferredContact) { preferredContact.addEventListener('change', syncPreferredContactRequirement); syncPreferredContactRequirement(); } form.addEventListener('invalid', function(event){ event.preventDefault(); if (handlingInvalidField) return; handlingInvalidField = true; showBriefValidationError(event.target); setTimeout(() => { handlingInvalidField = false; }, 420); }, true); document.addEventListener('click', function(event){ if (event.target.closest?.('[data-country-map-open]')) { event.preventDefault(); showCountryMapModal(); return; } if (event.target.closest?.('[data-country-map-close]')) { event.preventDefault(); hideCountryMapModal(); return; } if (event.target.closest?.('[data-country-map-apply]')) { event.preventDefault(); hideCountryMapModal(); return; } const cityButton = event.target.closest?.('[data-map-city]'); if (cityButton) { event.preventDefault(); cityInput.value = cityButton.getAttribute('data-map-city') || cityButton.textContent.trim(); cityPanel?.querySelectorAll('.is-active-city').forEach(item => item.classList.remove('is-active-city')); cityButton.classList.add('is-active-city'); } }); document.addEventListener('keydown', function(event){ if (event.key === 'Escape' && mapModal && !mapModal.hidden) { hideCountryMapModal(); document.getElementById('countryMapOpenBtn')?.focus({ preventScroll: true }); } }); function appendSiteOpsContext(){ const data = new FormData(form); const params = new URLSearchParams(window.location.search); const doc = document.documentElement; const scrollBase = Math.max(1, document.documentElement.scrollHeight - window.innerHeight); const scrollDepth = Math.min(100, Math.max(0, Math.round((window.scrollY / scrollBase) * 100))); const filledFields = Array.from(form.elements) .filter(item => item.name && item.name !== 'website' && item.type !== 'hidden') .filter(item => item.type === 'checkbox' ? item.checked : String(item.value || '').trim() !== '') .map(item => item.name); data.set('page_url', window.location.href); data.set('referrer', document.referrer || ''); data.set('locale', doc.lang || 'en'); data.set('page_title', document.title || ''); data.set('route_path', window.location.pathname || '/contact/'); data.set('form_id', form.id || ''); data.set('form_name', form.getAttribute('aria-label') || 'Project brief'); data.set('timezone', Intl.DateTimeFormat().resolvedOptions().timeZone || ''); data.set('viewport', window.innerWidth + 'x' + window.innerHeight); data.set('browser_user_agent', navigator.userAgent || ''); data.set('time_on_page_ms', String(Date.now() - formStartedAt)); data.set('scroll_depth_percent', String(scrollDepth)); data.set('recent_clicks', '[]'); data.set('filled_fields', JSON.stringify(filledFields)); data.set('visited_steps', JSON.stringify(['brief'])); data.set('form_rendered_at', form.dataset.renderedAt || ''); params.forEach((value, key) => { if (key.indexOf('utm_') === 0 && value) data.set(key, value); }); return data; } form.addEventListener('submit', async function(event){ event.preventDefault(); syncPreferredContactRequirement(); const invalidFields = Array.from(form.querySelectorAll('input, select, textarea')).filter(item => !item.validity.valid); if (invalidFields.length) { showBriefValidationError(invalidFields[0]); return; } status.textContent = 'Sending...'; const button = form.querySelector('button[type="submit"]'); if (button) button.disabled = true; try { const response = await fetch(form.dataset.submitUrl || form.action, { method: 'POST', body: appendSiteOpsContext(), headers: {'Accept': 'application/json'} }); const result = await response.json(); if (!response.ok || !result.ok) throw new Error(result.error || 'Form delivery failed'); status.textContent = 'Brief received. We will review it and reply with the next step.'; form.reset(); updateCities(); } catch (error) { status.textContent = 'Could not send the brief. Please email a@danicaspace.com with the same details.'; } finally { if (button) button.disabled = false; } }); })();

Company contacts

Direct contact details.

Use direct contacts if you already know what you need, want to send materials by email, or need to schedule a project consultation.

What to send

Photos, plans, listing link

Useful materials include photos, videos, drawings, measurements, real estate links and inspiration references.

What happens next

We map the right route

Danica reviews the context and suggests whether the next step is design, renovation, procurement, feasibility or coordination.

Project stage

Early questions are welcome

The project does not need to be fully defined before you write. A location and basic goal are enough to start.