public function getSiteLayout(Site $site, $layout = null)
    {
        $themeLayoutConfig = $this->getSiteThemeLayoutsConfig($site->getTheme());

        if (empty($layout)) {
            $layout = $site->getSiteLayout();
        }

        if (!empty($themeLayoutConfig[$layout])
            && !empty($themeLayoutConfig[$layout]['file'])
        ) {
            return $themeLayoutConfig[$layout]['file'];
        } elseif (!empty($themeLayoutConfig['default'])
            && !empty($themeLayoutConfig['default']['file'])
        ) {
            return $themeLayoutConfig['default']['file'];
        }

        throw new RuntimeException('No Layouts Found in config');
    }