<head>
  <meta charset="utf-8">
  <meta name="robots" content="all,follow">
  <meta name="googlebot" content="index,follow,snippet,archive">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>{{ .Title }}</title>
  <meta name="author" content="{{ .Site.Author.name }}" />

  {{ if .Keywords }}
  <meta name="keywords" content="{{ delimit .Keywords ", " }}">
  {{ else if .Site.Params.DefaultKeywords }}
  <meta name="keywords" content="{{ delimit .Site.Params.DefaultKeywords ", " }}">	
  {{ end }}

  {{ if .Description }}
  <meta name="description" content="{{ .Description }}">
  {{ else if .Site.Params.DefaultDescription }}
  <meta name="description" content="{{ .Site.Params.DefaultDescription }}">	
  {{ end }}

  {{ .Hugo.Generator }}

  <link href='//fonts.googleapis.com/css?family=Roboto:400,100,100italic,300,300italic,500,700,800' rel='stylesheet' type='text/css'>

  <!-- Bootstrap and Font Awesome css -->
  <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
  <!--link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css" integrity="sha384-fnmOCqbTlWIlj8LyTjo7mOUStjsKC4pOpQbqyi7RrhN7udi9RwhKkMHpvLbHG9Sr" crossorigin="anonymous"-->
  <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">

  <!-- Css animations  -->
  <link href="{{ .Site.BaseURL }}css/animate.css" rel="stylesheet">

  <!-- Theme stylesheet, if possible do not edit this stylesheet -->
  {{ if and (isset .Site.Params "style") .Site.Params.style }}
    <link href="{{ .Site.BaseURL }}css/style.{{ .Site.Params.style }}.css" rel="stylesheet" id="theme-stylesheet">
  {{ else }}
    <link href="{{ .Site.BaseURL }}css/style.default.css" rel="stylesheet" id="theme-stylesheet">
  {{ end }}
  <link href="{{ .Site.BaseURL }}css/style.basyx.css" rel="stylesheet" id="theme-stylesheet">


  <!-- Custom stylesheet - for your changes -->
  <link href="{{ .Site.BaseURL }}css/custom.css" rel="stylesheet">

  <!-- Responsivity for older IE -->
  {{ `
    <!--[if lt IE 9]>
        <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
        <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
    <![endif]-->
  ` | safeHTML }}

  <!-- Favicon and apple touch icons-->
	<link rel="apple-touch-icon" sizes="57x57" href="{{ .Site.BaseURL }}img/favicon/apple-icon-57x57.png">
	<link rel="apple-touch-icon" sizes="60x60" href="{{ .Site.BaseURL }}img/favicon/apple-icon-60x60.png">
	<link rel="apple-touch-icon" sizes="72x72" href="{{ .Site.BaseURL }}img/favicon/apple-icon-72x72.png">
	<link rel="apple-touch-icon" sizes="76x76" href="{{ .Site.BaseURL }}img/favicon/apple-icon-76x76.png">
	<link rel="apple-touch-icon" sizes="114x114" href="{{ .Site.BaseURL }}img/favicon/apple-icon-114x114.png">
	<link rel="apple-touch-icon" sizes="120x120" href="{{ .Site.BaseURL }}img/favicon/apple-icon-120x120.png">
	<link rel="apple-touch-icon" sizes="144x144" href="{{ .Site.BaseURL }}img/favicon/apple-icon-144x144.png">
	<link rel="apple-touch-icon" sizes="152x152" href="{{ .Site.BaseURL }}img/favicon/apple-icon-152x152.png">
	<link rel="apple-touch-icon" sizes="180x180" href="{{ .Site.BaseURL }}img/favicon/apple-icon-180x180.png">
	<link rel="icon" type="image/png" sizes="192x192"  href="{{ .Site.BaseURL }}img/favicon/android-icon-192x192.png">
	<link rel="icon" type="image/png" sizes="32x32" href="{{ .Site.BaseURL }}img/favicon/favicon-32x32.png">
	<link rel="icon" type="image/png" sizes="96x96" href="{{ .Site.BaseURL }}img/favicon/favicon-96x96.png">
	<link rel="icon" type="image/png" sizes="16x16" href="{{ .Site.BaseURL }}img/favicon/favicon-16x16.png">
	<link rel="manifest" href="/manifest.json">
	<meta name="msapplication-TileColor" content="#ffffff">
	<meta name="msapplication-TileImage" content="{{ .Site.BaseURL }}img/favicon/ms-icon-144x144.png">
	<meta name="theme-color" content="#ffffff">
  <!-- PK
  <link rel="shortcut icon" href="{{ .Site.BaseURL }}img/favicon.ico" type="image/x-icon" />
  <link rel="apple-touch-icon" href="{{ .Site.BaseURL }}img/apple-touch-icon.png" />
  <link rel="apple-touch-icon" href="{{ .Site.BaseURL }}img/basyx-icon.png" />
  -->
  <!-- owl carousel css -->

  <link href="{{ .Site.BaseURL }}css/owl.carousel.css" rel="stylesheet">
  <link href="{{ .Site.BaseURL }}css/owl.theme.css" rel="stylesheet">

  <link rel="alternate" href="{{ "/index.xml" | absURL }}" type="application/rss+xml" title="{{ .Site.Title }}">

  <!-- Facebook OpenGraph tags -->
  <meta property="og:title" content="{{ .Title }}" />
  <meta property="og:type" content="website" />
  <meta property="og:url" content="{{ .URL }}/" />
  <meta property="og:image" content="{{ .Site.Params.logo }}" />
  
  <!-- Eclipse Cookie Consent Banner -->
  <link rel="stylesheet" type="text/css" href="//www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css" />
  <script src="//www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script> 
  <!-- Embedding Youtube videos -->
  <script src="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/eclipsefdn.videos.min.js"></script>
  <link href="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/eclipsefdn-video.min.css" rel="stylesheet" type="text/css">
  <script>eclipseFdnVideos.replace();</script>

  <!-- Font Awesome -->
  <script defer src="/static/fontawesome/fontawesome-all.js"></script>
</head>
