Opens in a new tab
 /* update variables when header is on dark background*/
.on-dark-bg {
   --header-bg: var(--current-header-bg);
   --chevron-clr: white;
   --menu-item-clr: white;
   --menu-item-hover-bg: #172235;
   --menu-item-hover-clr: #bc92e6;
   --menu-toggle-clr: var(--menu-item-clr);
   --dropdown-content-border: solid 1px rgb(220 220 220 / 20%);
   --mobile-menu-bg: var(--header-bg);
 }

 .on-light-bg {
   --menu-item-clr: black;
   /* update variables when header is on light background*/
 }


 /* update variable when on dark or light background */
 .on-dark-bg,
 .on-light-bg {
   --overlay-header-bg-active: var(--current-header-bg);
   --dropdown-content-bg: var(--current-header-bg);
 }

 .on-video-section {
   /* update variables when header is on video section*/
   --menu-item-clr: white;
   --chevron-clr: white;
   --menu-item-hover-bg: rgb(0 0 0 / 30%);
   --menu-item-hover-clr: #bc92e6;
   --dropdown-content-bg: rgb(0 0 0 / 70%);
   --overlay-header-bg: rgb(0 0 0 / 25%);
   --overlay-header-bg-active: var(--dropdown-content-bg);
   --dropdown-content-border: solid 1px rgb(220 220 220 / 20%);
   --current-header-bg: rgb(0 0 0 / 14%) !important;
   --header-bg: rgb(0 0 0 / 70%);
   --menu-toggle-clr: white;
   --mobile-menu-bg: rgb(0 0 0 / 95%);
   --menu-cta-border: var(--dropdown-content-border)
 }


 .on-hero-section {
   /* update variables when header is on hero section*/
 }

 /* header bg blure when on video section */
 html:not(.dwc-mobile) .dwc-nest-header.on-video-section {
   backdrop-filter: blur(var(--overlay-header-blur));
 }

 /* overlay header border when on video section or dark background*/
 .dwc-nest-header:is(.on-dark-bg, .on-video-section)[data-overlay-header="true"] {
   border: 1px solid rgba(255, 255, 255, 0.2);
 }

 /* header bottom border when on dark background or video section*/
 .dwc-nest-header:is(.on-dark-bg, .on-video-section) {
   border-bottom: 1px solid rgba(255, 255, 255, 0.2);
 }


 /* logo color when on dark background*/
 .on-dark-bg .dwc-nest-menu__logo path {
   fill: white;
 }

 /* logo color when on light background*/
 .on-dark-bg .dwc-nest-menu__logo path {
   /*define svg fill when logo is on light background */
 }

 /* logo color when on video background*/
 .on-video-section .dwc-nest-menu__logo path {
   fill: white;
 }

/*custom */

.on-dark-bg .mega-menu-magic__menu-icon-large{
   background-color: var(--current-header-bg);
    fill: #bc92e6;
    color: #bc92e6;
}

.on-video-section .mega-menu-magic__menu-icon-large{
   background-color: var(--current-header-bg);
    fill: #bc92e6;
    color: #bc92e6;
}

.on-video-section .mega-menu-magic__dropdown-title,
.on-dark-bg .mega-menu-magic__dropdown-title{
    color: rgb(210 210 210);   
}
// Constants
const BREAKPOINT_DESKTOP = 0;
const DEBOUNCE_DELAY = 50;

// Configuration object for all header-related selectors
const HEADER_CONFIG = {
  // Main header element
  headerElement: '.dwc-nest-header',
  // Wrapper element selectors (can be classes, IDs, or data attributes)
  wrapperSelectors: [
    // '.dwc-nest-header__container'
  ],
  // Elements to monitor for header styling (can include any CSS selector)
  // Default monitors sections, but you can add footer, divs, or any element
  monitoredElements: 'section, [data-header-zone]',
  // Store original header background color
  originalHeaderBgColor: null
};

// Unified section type configuration
// Add new data attributes here - they will be automatically mapped to header classes
const SECTION_TYPES = {
  'data-hero': 'on-hero-section',
  'data-video': 'on-video-section',
  'data-custom': 'on-custom-section',
  'data-sticky': 'on-media-section'
  // Add new: 'data-feature': 'on-feature-section'
};

// Configuration for excluded sections
const EXCLUSION_CONFIG = {
  // Data attribute that identifies sections to exclude from header styling
  sectionAttribute: 'data-exclude-header'
};

// Text color classes
const TEXT_CLASSES = {
  light: 'on-dark-bg',
  dark: 'on-light-bg'
};

// Generate classes to remove dynamically from SECTION_TYPES and text classes
const ALL_CLASSES_TO_REMOVE = [
  // Add all header classes from section types
  ...Object.values(SECTION_TYPES),
  // Add text color classes
  TEXT_CLASSES.light,
  TEXT_CLASSES.dark
];

// Performance optimization: Cache DOM elements and computed values
const CACHE = {
  headerElement: null,
  wrapperElement: null,
  sections: [],
  sectionsData: new Map(),
  colorCache: new Map(),
  tempColorElement: null,
  lastKnownSection: null,
  isUpdating: false,
  pendingColorUpdate: false
};

// Initialize cache
function initializeCache() {
  // Cache header elements
  CACHE.headerElement = document.querySelector(HEADER_CONFIG.headerElement);
  
  // Try each wrapper selector until one is found
  for (const selector of HEADER_CONFIG.wrapperSelectors) {
    CACHE.wrapperElement = document.querySelector(selector);
    if (CACHE.wrapperElement) break;
  }
  
  // Cache sections and their positions
  CACHE.sections = Array.from(document.querySelectorAll(HEADER_CONFIG.monitoredElements));
  
  // Create reusable element for color calculations
  CACHE.tempColorElement = document.createElement('div');
  CACHE.tempColorElement.style.position = 'absolute';
  CACHE.tempColorElement.style.visibility = 'hidden';
  CACHE.tempColorElement.style.pointerEvents = 'none';
  document.body.appendChild(CACHE.tempColorElement);
  
  // Cache section metadata
  updateSectionsCache();
}

// Update sections cache (call when DOM changes)
function updateSectionsCache() {
  CACHE.sections = Array.from(document.querySelectorAll(HEADER_CONFIG.monitoredElements));
  CACHE.sectionsData.clear();
  
  CACHE.sections.forEach((section, index) => {
    const sectionData = {
      index,
      isExcluded: section.hasAttribute(EXCLUSION_CONFIG.sectionAttribute)
    };
    
    // Dynamically check for all section types defined in SECTION_TYPES
    Object.keys(SECTION_TYPES).forEach(attribute => {
      sectionData[attribute] = section.hasAttribute(attribute);
    });
    
    CACHE.sectionsData.set(section, sectionData);
  });
}

// Function to remove all section classes from :root only
function removeAllSectionClasses() {
  const rootElement = document.documentElement;
  
  // Remove classes from :root only
  rootElement.classList.remove(...ALL_CLASSES_TO_REMOVE);
}

// Function to update the CSS variable on :root
function updateRootBackgroundVariable(color) {
  document.documentElement.style.setProperty('--current-header-bg', color);
}

// Function to apply classes to :root only
function applyClassesToRoot(headerClass, textClass) {
  const rootElement = document.documentElement;
  
  // Apply header class to :root only
  if (headerClass) {
    rootElement.classList.add(headerClass);
  }
  
  // Apply text class to :root only
  if (textClass) {
    rootElement.classList.add(textClass);
  }
}

// Optimized color conversion using cached temp element
function getRGBValues(color) {
  const cacheKey = color;
  if (CACHE.colorCache.has(cacheKey)) {
    return CACHE.colorCache.get(cacheKey);
  }
  
  CACHE.tempColorElement.style.color = color;
  const computedColor = window.getComputedStyle(CACHE.tempColorElement).color;
  
  // Extract RGB values
  const match = computedColor.match(/rgba?\((\d+),\s*(\d+),\s*(\d+)/);
  const result = match ? {
    r: parseInt(match[1]),
    g: parseInt(match[2]),
    b: parseInt(match[3])
  } : { r: 255, g: 255, b: 255 };
  
  // Cache the result
  CACHE.colorCache.set(cacheKey, result);
  return result;
}

// Function to check if a background color is transparent or empty
function isBackgroundTransparent(color) {
  if (!color) return true;
  
  const transparentValues = [
    'transparent',
    'rgba(0, 0, 0, 0)',
    'rgba(0,0,0,0)',
    'initial',
    'inherit',
    ''
  ];
  
  return transparentValues.includes(color.toLowerCase().replace(/\s/g, ''));
}

// Function to determine if a color is dark or light
function isColorDark(color) {
  if (color === 'transparent' || color === 'rgba(0, 0, 0, 0)') {
    return false;
  }
  
  const rgb = getRGBValues(color);
  const luminance = (0.299 * rgb.r + 0.587 * rgb.g + 0.114 * rgb.b) / 255;
  return luminance < 0.5;
}

// Optimized section detection using cached data
function getCurrentSection() {
  if (!CACHE.headerElement || CACHE.sections.length === 0) return null;
  
  const headerHeight = CACHE.headerElement.offsetHeight;
  
  // Quick check if we're still in the same section
  if (CACHE.lastKnownSection) {
    const rect = CACHE.lastKnownSection.getBoundingClientRect();
    if (rect.top <= headerHeight && rect.bottom > headerHeight) {
      return CACHE.lastKnownSection;
    }
  }
  
  // Binary search would be ideal here, but simple loop is sufficient for most cases
  for (const section of CACHE.sections) {
    const rect = section.getBoundingClientRect();
    if (rect.top <= headerHeight && rect.bottom > headerHeight) {
      CACHE.lastKnownSection = section;
      return section;
    }
  }
  
  const firstSection = CACHE.sections[0] || null;
  CACHE.lastKnownSection = firstSection;
  return firstSection;
}

// Function to get computed background color with caching
function getComputedBackgroundColor(element) {
  const cacheKey = element;
  if (CACHE.colorCache.has(cacheKey)) {
    return CACHE.colorCache.get(cacheKey);
  }
  
  const bgColor = window.getComputedStyle(element).backgroundColor;
  CACHE.colorCache.set(cacheKey, bgColor);
  return bgColor;
}

// Function to initialize original header background color
function initializeOriginalHeaderBgColor() {
  if (CACHE.headerElement) {
    HEADER_CONFIG.originalHeaderBgColor = window.getComputedStyle(CACHE.headerElement).backgroundColor;
  }
}

// Function to determine header style configuration based on section
function determineHeaderConfig(section) {
  if (!section) return null;
  
  const sectionData = CACHE.sectionsData.get(section);
  if (!sectionData) return null;
  
  // If section is excluded, return null to skip styling
  if (sectionData.isExcluded) {
    return null;
  }
  
  // Dynamically check for any section type defined in SECTION_TYPES
  for (const [attribute, headerClass] of Object.entries(SECTION_TYPES)) {
    if (sectionData[attribute]) {
      return {
        backgroundColor: null,
        headerClass: headerClass,
        needsWhiteText: null,
        isSpecialSection: true
      };
    }
  }
  
  // Get the actual background color of the section
  const sectionBgColor = getComputedBackgroundColor(section);
  
  if (isBackgroundTransparent(sectionBgColor)) {
    return {
      backgroundColor: HEADER_CONFIG.originalHeaderBgColor || 'rgb(255, 255, 255)',
      headerClass: null,
      needsWhiteText: isColorDark(HEADER_CONFIG.originalHeaderBgColor || 'rgb(255, 255, 255)'),
      isSpecialSection: false
    };
  }
  
  const needsWhiteText = isColorDark(sectionBgColor);
  
  return {
    backgroundColor: sectionBgColor,
    headerClass: null,
    needsWhiteText: needsWhiteText,
    isSpecialSection: false
  };
}

// Function to apply styles (background color to header, classes to :root only)
function applyHeaderStyles(config) {
  if (!CACHE.headerElement || !config) return;
  
  const elementsToStyle = [CACHE.headerElement, CACHE.wrapperElement].filter(Boolean);
  
  // Use requestAnimationFrame for smooth visual updates
  requestAnimationFrame(() => {
    // First, remove all section classes and text classes from :root only
    removeAllSectionClasses();
    
    // Update the root CSS variable with background color
    if (config.backgroundColor !== null) {
      const appliedBgColor = config.backgroundColor || '';
      updateRootBackgroundVariable(appliedBgColor);
    } else {
      updateRootBackgroundVariable('');
    }
    
    // Determine text class to apply
    const textClass = config.needsWhiteText !== null 
      ? (config.needsWhiteText ? TEXT_CLASSES.light : TEXT_CLASSES.dark)
      : null;
    
    // Apply classes to :root only
    applyClassesToRoot(config.headerClass, textClass);
    
    // Handle background color on header elements only
    elementsToStyle.forEach(element => {
      if (config.backgroundColor !== null) {
        const appliedBgColor = config.backgroundColor || '';
        element.style.backgroundColor = appliedBgColor;
      } else {
        element.style.backgroundColor = '';
      }
    });
    
    // For special sections, allow CSS to apply first, then get computed background color
    if (config.isSpecialSection && config.headerClass) {
      // Use setTimeout(0) to ensure CSS has been applied, but batch multiple calls
      if (!CACHE.pendingColorUpdate) {
        CACHE.pendingColorUpdate = true;
        setTimeout(() => {
          // Process all elements that need color updates in this batch
          elementsToStyle.forEach(el => {
            // Check if element has any of the section classes (though they're not applied anymore)
            const hasSectionClass = Object.values(SECTION_TYPES).some(className => 
              el.classList.contains(className)
            );
            
            if (hasSectionClass) {
              const computedBgColor = getComputedBackgroundColor(el);
              updateRootBackgroundVariable(computedBgColor);
            }
          });
          CACHE.pendingColorUpdate = false;
        }, 50);
      }
    }
    
    CACHE.isUpdating = false;
  });
}

// Throttled update function using requestAnimationFrame
function updateHeaderStyles() {
  // Prevent multiple updates in the same frame
  if (CACHE.isUpdating) return;
  
  // Apply only on screens larger than the breakpoint
  if (window.innerWidth <= BREAKPOINT_DESKTOP) {
    return;
  }
  
  CACHE.isUpdating = true;
  
  const currentSection = getCurrentSection();
  if (!currentSection) {
    CACHE.isUpdating = false;
    return;
  }
  
  const headerConfig = determineHeaderConfig(currentSection);
  if (!headerConfig) {
    CACHE.isUpdating = false;
    return;
  }
  
  applyHeaderStyles(headerConfig);
}

// Debounce function for resize events (less frequent)
function debounce(func, wait) {
  let timeout;
  return function executedFunction(...args) {
    const later = () => {
      clearTimeout(timeout);
      func(...args);
    };
    clearTimeout(timeout);
    timeout = setTimeout(later, wait);
  };
}

// RAF-based throttle for scroll events
let rafId = null;
function throttleWithRAF(func) {
  return function(...args) {
    if (rafId) return;
    
    rafId = requestAnimationFrame(() => {
      func.apply(this, args);
      rafId = null;
    });
  };
}

// Initialize everything
function initialize() {
  initializeCache();
  initializeOriginalHeaderBgColor();
  updateHeaderStyles();
}

// Cleanup function
function cleanup() {
  if (CACHE.tempColorElement && CACHE.tempColorElement.parentNode) {
    CACHE.tempColorElement.parentNode.removeChild(CACHE.tempColorElement);
  }
  if (rafId) {
    cancelAnimationFrame(rafId);
  }
}

// Initialize on page load
if (document.readyState === 'loading') {
  document.addEventListener('DOMContentLoaded', initialize);
} else {
  initialize();
}

// Create optimized event handlers
const throttledUpdateHeaderStyles = throttleWithRAF(updateHeaderStyles);
const debouncedUpdateHeaderStyles = debounce(() => {
  updateSectionsCache(); // Refresh cache on resize
  updateHeaderStyles();
}, DEBOUNCE_DELAY);

// Add event listeners with passive option for better performance
window.addEventListener('scroll', throttledUpdateHeaderStyles, { passive: true });
window.addEventListener('resize', debouncedUpdateHeaderStyles, { passive: true });

// Cleanup on page unload
window.addEventListener('beforeunload', cleanup);

Grădinița NANNY Galați

O grădiniță creată să le ofere copiilor un start armonios, plin de siguranță, cu afecțiune și explorări, atent adaptat nevoilor lor unice.

La Grădinița Nanny din Galați, copiii cresc într-un mediu plin de căldură, siguranță și descoperiri zilnice. Aici, învățarea se împletește firesc cu jocul, iar fiecare moment devine o ocazie de a învăța ceva nou despre lume și despre sine. Sprijinim echilibrul emoțional și curiozitatea naturală a fiecărui copil, oferindu-le o bază solidă pentru viitor.

Într-un spațiu luminos și plin de energie pozitivă, educatorii noștri îi ghidează cu blândețe, atenție și devotament, pentru ca primii ani de viață să fie cu adevărat frumoși și plini de sens.

Nanny in imagini H

Abordarea educațională

Filosofia noastră educațională se bazează pe crearea unui mediu care stimulează dezvoltarea integrală a fiecărui copil. Combinând metodologii inovatoare cu atenție individualizată, construim fundamente solide pentru o intelecțiune critică, emoțional stabilă și dorință continuă de cunoaștere.

Fiecare moment în instituția noastră este o oportunitate de creștere holistică și valorificare a potențialului unic al copilului.

Prioritatea noastră sunt copiii

Prioritatea noastră
sunt copiii

Copiii sunt întotdeauna pe primul loc — tot ce facem începe de la nevoile și binele lor. Le oferim un mediu în care să se simtă în siguranță, iubiți și încurajați să exploreze. Credem cu adevărat că fiecare copil merită să fie văzut, ascultat și îmbrățișat cu grijă.

Siguranța și sănătatea fizică și psihică

Siguranță și sănătate fizică și psihică

Suntem atenți la sănătatea lor fizică, investiția în lămpile de sterilizare cu UV asigură un mediu în care răspândirea microbilor e redusă semnificativ. Ne preocupăm la fel de mult și de bunăstarea lor emoțională, ascultându-i, susținându-i și ajutându-i să se simtă înțeleși.

Transparență și respect

Transparență
și respect

Credem în comunicarea deschisă și sinceră, astfel încât părinții să știe mereu ce se întâmplă cu cei mici. Personalul tratează fiecare copil cu respect, blândețe și răbdare, ca pe un mic om cu propriile nevoi și emoții. Împreună, construim un spațiu de încredere.

Activități extracurriculare diverse

Activități extracurriculare diverse

Pentru noi, învățarea nu se oprește la ușa sălii de grupă, ea prinde viață prin ieșirile săptămânale, gândite special pentru a încheia tema abordată în fiecare săptămână. Ne dorim ca fiecare copil să descopere cu bucurie legătura dintre învățarea din clasă și lumea din jurul lui.

Alimentație echilibrată

Alimentație
echilibrată

Acordăm o atenție deosebită alimentației, oferind copiilor meniuri echilibrate și adaptate nevoilor lor de creștere. Folosim ingrediente proaspete, astfel încât fiecare masă să fie atât hrănitoare, cât și gustoasă.

Spații dotate corespunzător vârstei

Spațiile dotate corespunzător vârstei

Copiii se bucură de materiale și echipamente adaptate perfect vârstei lor, gândite să îi stimuleze și să îi sprijine în fiecare etapă de dezvoltare. Ne ocupăm permanent să actualizăm dotările, astfel încât ele să fie moderne, sigure și atractive.

Activități extracuriculare

La Grădinița Nanny din Galați, învățarea nu se oprește la finalul programului. Prin activitățile extracurriculare, îi încurajăm pe cei mici să-și descopere pasiunile, să-și dezvolte abilitățile și să învețe despre lume într-un mod creativ și distractiv.

De la ateliere de artă, muzică și dans, până la activități sportive, drumeții sau vizite tematice, fiecare experiență este gândită să stârnească curiozitatea și bucuria de a explora.

Ne dorim ca micii noștri exploratori să își descopere talentele și să învețe să colaboreze, să își exprime ideile și emoțiile, dezvoltând în același timp încrederea în sine și spiritul de echipă.

Ziua tatalui

Ziua tatălui

Ziua mamei

Ziua mamei

Ziua bunicilor

Ziua bunicilor

Ziua copilului

Ziua copilului

Targ caritabil de Craciun

Târg caritabil

Serbari scolare v2

Serbări școlare

Tabere

Tabere / Excursii

Activitati de vara v2

Activități de vară

Sedinte foto v2

 Ședințe foto

Teatru in gradinita

Spectacole

O zi la grădinița NANNY

O zi NANNY@2500

O varietate de cluburi

Dans

Dans

Muzica

Muzică

Teatru

Teatru

Arta

Artă

Engleza

Engleză

Înscriere și taxe 2026-2027

Suntem bucuroși să vă cunoaștem! Echipa Grădinița NANNY vă așteaptă cu răspunsuri la toate întrebările despre filosofia noastră educațională, valorile care ne animă și pentru a face înscrierea un proces simplu și plăcut.

Program

8:00-18:00

2.200 lei / lună

+ taxa administrativă - 40 lei / zi

Inscriere Taxe Cresa NANNY

FAQ (Întrebări frecvente)

Ținând cont că fiecare copil este diferit, acomodarea se face personalizată.

Da, începând cu 3 ani sunt organizate ieșiri, party peste noapte în grădiniță, tabere, excursii.

Grădinița noastră este închisă în zilele libere la nivel național, 10 zile de Crăciun, 10 zile de Paște și luna august.

Da, luna iunie și iulie suntem în activitate și în funcție de solicitări putem organiza activități și primele 2 săptămâni din august.

Da, avem bucătărie proprie. Hrana pregătită copiilor este realizată exclusiv de noi, inclusiv deserturile care au un conținut redus de zahăr. Mâncarea este pregătită zilnic în bucătăria proprie, din ingrediente atent selecționate. Folosim făină integrală, cereale integrale, pâine de secară. Alimentația copiilor alternează primind carne de vită, curcan și pui. Legumele și fructele fac parte din alimentația zilnică.

În cadrul grădiniței avem activități opționale variate: dezvoltare prin artă, Club de muzică, Canto, Pian, Engleză, dansuri moderne.

Creșa/ grădinița organizează activități pe parcursul a 11 luni (septembrie – iulie) și pentru această perioadă se achită taxa de școlarizare indiferent de câte zile din lună frecventează copilul. În cazul absentării NU se achită taxa de masă (40 lei/ zi).

Copiii fac câte 2 ședințe de engleză pe săptămână, începând cu vârsta de 3 ani.

Pentru copii este foarte importantă rutina, hrana și odihna, astfel că aceste momente sunt în atenția noastră și copiii au permanent adulți care să ofere sprijinul lor.

La creșă sunt 2 cadre specializate pentru acest nivel de vârstă, 2 ajutoare și o îngrijitoare dedicată lor.
La grădiniță pentru grupele mică, mijlocie, mare sunt 2 educatoare cu calificare și grade didactice.

La creșă (1 an și 6 luni) sunt maxim 15 copii, însă înscrierea lor este realizată treptat. În septembrie începem cu 6 copii care se află în grija a 3 cadre, în ianuarie se înscriu încă 2 copii, în aprilie încă 2, treptat ajungând în iulie grupa completă.
Grupele mică, mijlocie, mare au un efectiv de maxim 18 copii.

Da, există și program scurt, care poate fi ales pentru o perioadă de cel mult 3 luni, pentru acomodare. Programul zilnic la creșă și grădiniță este între 08:00 și 18:00.

Avem grupă de copii începând cu 1 an și 6 luni, la această vârstă copilul trebuie să fi renunțat la al doilea somn din timpul zilei și să nu mai mănânce pasat.

Copiii care intră pentru prima dată în colectivitate beneficiază de o perioadă de acomodare (maxim 3 luni) pentru care putem stabili program scurt (taxa este 1980 lei). Fiecare copil va beneficia de perioada de acomodare personalizată în funcție de personalitatea și sensibilitățile sale.

Contact

Programează vizită

Suntem la un mesaj distanță

Testimoniale

Ce spun părinții

Vocea comunității Grădinița NANNY

  • Si acum, după 10 ani, Alex își amintește cu drag și dor de toate taberele/ excursiile alături de Nanny. Veți avea mereu un loc aparte în inimile noastre 🥰 🤗

    Woman Asset Nanny
    Mari H.
    CEO, Company
  • Oameni frumoși, faceți lucruri minunate!
    Mulțumim că aveți zilnic grijă de copiii noștri și le dați curaj și aripi pentru zborul lor prin viață!

    Woman Asset Nanny
    Ana D.
    CEO, Company
  • Recomand din toată inima Școala Nanny, personalul foarte amabil, bine pregătit. Fetița mea este încântată și chiar îi place mâncarea( aveam o problemă în general), activitățile, a început să cânte și să îmi povestească tot ce face acolo. Eu sunt încântată de tot, iar programul până la 18 mă ajută enorm. Mă bucur că din toate opțiunile pe care le-am avut am ales Nanny. ❤️

    Woman Asset Nanny
    Cristina C.
    CEO, Company
  • Recomand cu încredere Grădinița Nanny! 💯 🔝
    Mulțumim întregului personal pentru dragostea,atenția și răbdarea pe care o oferă tuturor copiilor din grădiniță.
    Bucuria pe care o are pe chip copilul nostru atunci când îl aducem dimineața la grădiniță ne face să credem că am luat cea mai buna decizie că am ales această grădiniță! 🥰

    Woman Asset Nanny
    Claudia H.
    CEO, Company
  • Atmosfera este una primitoare și plină de căldură, iar acest lucru ne oferă siguranța că fetița noastră este pe mâini bune!
    Curățenia este impecabilă și am fost impresionată de modul în care fetița noastră a fost ajutată să se adapteze în scurt timp.
    Mulțumim! 🥰

    Woman Asset Nanny
    Corina A.
    CEO, Company
  • Nanny înseamnă dăruire, empatie, profesionalism. De 8 ani fetița mea e parte din familia Nanny – creșă, grădiniță și acum la școală. Cea mai bună alegere.

    Woman Asset Nanny
    Mihaela Ș.
    CEO, Company
  • Blândețe, profesionalism, dăruire!
    Copilul meu nu putea să nimerească într-un loc mai potrivit să se adapteze mai ușor și mai blând tranzitului educational Anglia-România!
    Mulțumesc, Nanny!

    Woman Asset Nanny
    Cristina M.
    CEO, Company
  • Deși emoțiile au fost mari la început, a existat teamă de necunoscut, frica de cum se va adapta Matei la o lume cu totul diferită în care timp de câteva ore mami și tati nu sunt, după o scurtă perioadă de timp am realizat că este în locul potrivit. Acum se supără când îl luăm seara acasă 😅

    Woman Asset Nanny
    Iulia I.
    CEO, Company
  • Un loc cald și prietenos, unde copilul este respectat, văzut, ascultat și înțeles. Băiețelul meu a îndrăgit Nanny din prima, de când avea 2 ani și jumătate, acum este în clasa a III-a și experiențele minunate continuă cu Nanny.

    Woman Asset Nanny
    Camelia B.
    CEO, Company
  • Un colectiv absolut minunat, cu un sistem de lucru foarte modern, actualizat permanent . Dominik are 3 săptămâni și din a 3-a zi deja face nani și papă toate mesele, iar acum de cum se trezește își pregătește rucsacul pentru “ghiță” .
    Vedem zilnic progrese, iar încântarea lui este cel mai frumos rezultat. Suntem foarte mulțumiți de alegerea făcută! ❤️

    Woman Asset Nanny
    Mihaela A.
    CEO, Company
  • După o încercare eșuată în altă parte, am pășit cu emoție și teamă în curtea de la Nanny. După primii pași m-au întâmpinat privirile calde și blânde ale fetelor de la recepție. După o vizită și cu prințesa am știut că e locul potrivit. Mă copleșesc aceste ființe care sunt îngeri pentru copiii noștri. Fiica mea nu dormea, nu mânca, nu stătea fără mine. Acum, da. Știu că suntem la început, dar copila mea deja e fericită si veselă alături de Nanny. Recomand din toată inima . Felicitari tuturor!

    Woman Asset Nanny
    Raluca A.
    CEO, Company
  • Echipa NANNY

    La Grădinița Nanny din Galați, copiii sunt înconjurați de o echipă de educatoare dedicate, care inspiră în fiecare zi prin pasiune, empatie și profesionalism. Punem mare preț pe formarea continuă, de aceea echipa noastră participă constant la cursuri și traininguri moderne, rămânând mereu conectată la cele mai actuale metode de predare și dezvoltare timpurie.

    Credem cu tărie că un mediu sigur și iubitor începe cu oameni bine pregătiți, iar la Nanny, fiecare educator contribuie cu grijă, răbdare și creativitate la construirea unei atmosfere în care copiii se simt valorizați, încurajați și fericiți să descopere lumea pas cu pas.

    • Oana Grosu

      Oana Grosu

      Fondator

    • Teodora Palade

      Teodora Palade

      Cofondator

    Vezi echipa...
    • Enache Adelina

      Enache Adelina

      Educatoare

    • Apăvăloaei Mirela

      Apăvăloaei Mirela

      Prof. înv. Preșcolar

    • Delegeanu Georgiana

      Delegeanu Georgiana

      Prof. înv. Preșcolar

    • Iacomi Claudia

      Iacomi Claudia

      Educatoare

    • Apetroae Gianina

      Apetroae Gianina

      Prof. înv. preșcolar

    • Datcu Mirela

      Datcu Mirela

      Prof. înv. preșcolar

    • Pelin Iulia

      Pelin Iulia

      Prof. înv. preșcolar

    • Rotaru Gina

      Rotaru Gina

      Ajutor educator

    • Simona Partenie

      Simona Partenie

      Asistent medical

    • Cornelia Bocaneala

      Cornelia Bocăneală

      Psiholog

    • Adriana Huzum

      Adriana Huzum

      Bucătar șef

    • Iuliana Manolache

      Iuliana Manolache

      Bucătar patiser

    • Elena Stoica

      Elena Stoica

      Ajutor bucătar

    • Daniela Arama

      Daniela Aramă

      Ajutor bucătar

    • Mariana Sima

      Mariana Sima

      Îngrijitor copii

    • Elena Pavalascu

      Elena Păvălascu

      Îngrijitor copii

    • Mihaela Ciobotaru

      Mihaela Ciobotaru

      Îngrijitor copii

    • Novac Valerica copy

      Valerica Novac

      Îngrijitor copii

    Grădinița NANNY în imagini

    Gradinita NANNY Galerie Foto
    Gradinita NANNY Galerie Foto
    Gradinita NANNY Galerie Foto
    Gradinita NANNY Galerie Foto
    Gradinita NANNY Galerie Foto
    Gradinita NANNY Galerie Foto
    Gradinita NANNY Galerie Foto
    Gradinita NANNY Galerie Foto
    Gradinita NANNY Galerie Foto
    Gradinita NANNY Galerie Foto
    LOGO Nanny

    Școala NANNY

    Răspundem, de obicei, în 3 minute.

    • Școala NANNY

      Salut,
      Cu ce te pot ajuta?

    • Școala NANNY

      Ia legătura cu noi chiar acum!