<script>

var Webflow = Webflow || []
Webflow.push(function ()
{
	const dropdownGroups = document.querySelectorAll('[fc-dropdown = group]')
  setupDropdownGroups(dropdownGroups)

	if(sessionStorage['fc-dropdown-id'] !== undefined)
  	openTargetDropdown()
  else
  {
		openAutomaticDropdown()
    
    window.addEventListener('resize', function()
    {
    	openAutomaticDropdown()
		})
  }
})

Webflow.push(function () {
  const sources = document.querySelectorAll('[fc-dropdown-source]')
  
  if(sources.length <= 0)
  	return
  
  for(const source of sources)
  {
    source.addEventListener('click', function(event)
    {
      const identifier = source.getAttribute('fc-dropdown-source')
      const link = source.getAttribute('href')

      event.preventDefault()
      sessionStorage['fc-dropdown-id'] = identifier
      window.location = link
    })
  }
})

function setupDropdownGroups(dropdownGroups)
{
	if(dropdownGroups === null)
  	return
    
	for(const group of dropdownGroups)
  {
  	const dropdowns = group.querySelectorAll('.w-dropdown')
    for(const dropdown of dropdowns)
  	{
    	dropdown.addEventListener('click', function()
      {
        group.interacted = true
      })
    }
  }
}

function openTargetDropdown()
{
	const identifier = sessionStorage['fc-dropdown-id']
  sessionStorage.removeItem('fc-dropdown-id')

  const targets = document.querySelectorAll('[fc-dropdown-target]')
  let targetIds = []
  for(const target of targets)
    targetIds.push(target.getAttribute('fc-dropdown-target'))

  for(let i = 0; i < targetIds.length; i++)
  {
    if(identifier === targetIds[i])
    {
    	const dropdownGroup = targets[i].closest('[fc-dropdown = group]')
      if(dropdownGroup !== null)
      	dropdownGroup.interacted = true
        
    	openDropdown(targets[i])
      targets[i].scrollIntoView({ behavior: "smooth", block: "center" })

      break
    }
  }
}

function openAutomaticDropdown()
{
  const dropdowns = document.querySelectorAll('[fc-dropdown-behavior = open]')

  if(dropdowns.length <= 0)
    return
	else if(dropdowns.length === 1)
  {
    const dropdown = dropdowns[0]
    
    const dropdownGroup = dropdown.closest('[fc-dropdown = group]')
    if(dropdownGroup !== null && dropdownGroup.interacted)
    	return

    if(checkBreakpoint(dropdown))
    {
    	closeDropdown(dropdown)
      return
    }
    
		openDropdown(dropdown)
	}
  else
  {  
    let options = {
      threshold: 0,
    }

    let callback = (entries, observer) => {
      entries.forEach((entry) => {

				const dropdownGroup = entry.target.closest('[fc-dropdown = group]')
        if(dropdownGroup !== null && dropdownGroup.interacted)
          return

        if(entry.isIntersecting)
        {
        	if(checkBreakpoint(entry.target))
          {
          	closeDropdown(entry.target)
            return
          }
        	openDropdown(entry.target)
        }
      })
    }

    let observer = new IntersectionObserver(callback, options)

    for(const dropdown of dropdowns)
      observer.observe(dropdown)
  }
}

function checkBreakpoint(dropdown)
{
	const breakpoints = { tablet: 991, landscape: 767, portrait: 478 }
  
  const dropdownBreakpoint = dropdown.getAttribute('fc-dropdown-breakpoint-off')
  
  if(dropdownBreakpoint === null)
  	return false
    
  const breakpointWidth = breakpoints[`${dropdownBreakpoint}`]
  
  if(breakpointWidth === undefined)
  	return false
    
  if(window.innerWidth <= breakpointWidth)
  	return true
    
  return false
}

function closeDropdown(dropdown) {
	const dropdownToggle = dropdown.querySelector('.w-dropdown-toggle')
  if(dropdownToggle.classList.contains('w--open'))
  {
    dropdownToggle.dispatchEvent(new Event('mousedown'))
    dropdownToggle.dispatchEvent(new Event('mouseup'))

    dropdownToggle.dispatchEvent(new MouseEvent('click'))
  }
}

function openDropdown(dropdown) {
	const dropdownToggle = dropdown.querySelector('.w-dropdown-toggle')
  if(!dropdownToggle.classList.contains('w--open'))
  {
    dropdownToggle.dispatchEvent(new Event('mousedown'))
    dropdownToggle.dispatchEvent(new Event('mouseup'))

    dropdownToggle.dispatchEvent(new MouseEvent('click'))
  }
}

</script>

к name подключаем поле из коллекции