<!DOCTYPE html>
<html lang="en" class="no-js">

{{ partial "head.html" . }}

<body>
  <svg style="width: 0; height: 0; position: absolute; opacity: 0;">
    <defs>
      <linearGradient id="a" x1="0%" x2="100%" y1="100%" y2="0%">
        <stop offset="0%" stop-color="#4BC0C8" />
        <stop offset="52.5%" stop-color="#C779D0" />
        <stop offset="100%" stop-color="#FEAC5E" />
      </linearGradient>
      <path id="b" vector-effect="non-scaling-stroke"
        d="M61 127v30h31v39c0 2-2 4-5 4h-5v15H3v-79h14v-5c0-2 2-4 5-4h39zm135 0c2 0 4 2 4 4v5h14v79h-79v-15h-4c-2 0-4-2-4-4v-39h30v-30h39zM57 161H38v19h19v-19zm122 0h-18v19h18v-19zm-35-87v69H75V74h69zm71-71v79h-15v5c0 3-2 5-4 5h-39V61h-30V22c0-3 2-5 4-5h5V3h79zM82 3v14h5c3 0 5 2 5 5v39H61v31H22c-3 0-5-2-5-5v-5H3V3h79zm79 54h19V38h-19v19zM57 57V38H38v19h19z" />
      <path id="c" vector-effect="non-scaling-stroke"
        d="M182 112v39h32c2 0 4 2 4 4v23c0 2-2 4-4 4h-32v32c0 2-2 4-4 4h-23c-2 0-4-2-4-4v-32h-39v-27c0-3 1-4 4-4h35v-35c0-3 1-4 4-4h27zm-119 0c2 0 4 1 4 3v36h35c3 0 4 1 4 3v28H67v32c0 2-2 4-4 4H40c-2 0-4-2-4-4v-32H4c-2 0-4-2-4-4v-23c0-2 2-4 4-4h32v-39h27zm77-34v62H78V78h62zM63 0c2 0 4 2 4 4v32h39v27c0 3-1 4-4 4H67v35c0 3-1 4-4 4H36V67H4c-2 0-4-2-4-4V40c0-2 2-4 4-4h32V4c0-2 2-4 4-4h23zm115 0c2 0 4 2 4 4v32h32c2 0 4 2 4 4v23c0 2-2 4-4 4h-32v39h-27c-2 0-4-1-4-3V67h-35c-3 0-4-1-4-3V36h39V4c0-2 2-4 4-4h23z" />
      <path id="d" vector-effect="non-scaling-stroke"
        d="M187 117v8h27c2 0 4 1 4 3v24c0 2-2 4-4 4h-27v31h-31v27c0 2-2 4-4 4h-24c-2 0-3-2-3-4v-27h-8v-27c0-2 2-4 4-4h35v-35c0-2 2-4 4-4h27zm-129 0c2 0 4 2 4 4v35h35c2 0 4 2 4 4v27h-8v27c0 2-1 4-3 4H66c-2 0-4-2-4-4v-27H31v-31H4c-2 0-4-2-4-4v-24c0-2 2-3 4-3h27v-8h27zm82-39v62H78V78h62zM90 0c2 0 3 2 3 4v27h8v27c0 2-2 4-4 4H62v35c0 2-2 4-4 4H31v-8H4c-2 0-4-1-4-3V66c0-2 2-4 4-4h27V31h31V4c0-2 2-4 4-4h24zm62 0c2 0 4 2 4 4v27h31v31h27c2 0 4 2 4 4v24c0 2-2 3-4 3h-27v8h-27c-2 0-4-2-4-4V62h-35c-2 0-4-2-4-4V31h8V4c0-2 1-4 3-4h24z" />
    </defs>
  </svg>

  <a href="#main" class="skip-link">Skip to main content</a>

  <header class="main-header">
    <h1 class="logo">
      <a href="/">
        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1068 200" aria-hidden="true" focusable="false">
          <g fill="#FFF" fill-rule="evenodd">
            <path
              d="M932.8 60.2v3.2c-6.6-5.9-15.4-9.3-26.4-9.3-20.5 0-38 15.2-41 38h24.4c1.5 0 2.8-.8 3.3-2.2 3.1-7.8 10.1-12.7 18.9-12.7 11 0 20.8 9 20.8 22 0 13.2-9.8 22-20.8 22-8.8 0-15.8-4.8-18.9-12.7a3.6 3.6 0 00-3.3-2.2h-24.5a41.6 41.6 0 0067.5 28.6v3.3c0 2 1.6 3.5 3.6 3.5h20c2 0 3.5-1.6 3.5-3.5v-78c0-2-1.6-3.5-3.5-3.5h-20c-2 0-3.6 1.6-3.6 3.5zm-524-4a40.6 40.6 0 00-33.2 15.4v-9.9c0-2-1.6-3.5-3.5-3.5h-5.8c-2 0-3.5 1.6-3.5 3.5v30.4h11c1.6 0 3-1 3.4-2.5A31.2 31.2 0 01438 100c0 19.9-14 32.4-31.2 32.4a31.2 31.2 0 01-30-23.4 3.6 3.6 0 00-3.5-2.7h-10.5V167c0 2 1.5 3.5 3.5 3.5h5.8c2 0 3.5-1.6 3.5-3.5v-38.5a40.6 40.6 0 0033.2 15.4 42 42 0 0041.7-43.9 42 42 0 00-41.7-43.8zm658 33.3v48.7c0 2-1.6 3.5-3.6 3.5h-19.8c-2 0-3.6-1.6-3.6-3.5v-43c0-10-5.9-16.7-14.5-16.7-10.7 0-17.6 7.3-17.6 23.7v36c0 2-1.6 3.5-3.6 3.5h-20c-2 0-3.5-1.6-3.5-3.5v-78c0-2 1.5-3.5 3.5-3.5h20c2 0 3.6 1.6 3.6 3.5v4.6a35 35 0 0126-10.7c19.9 0 33 14 33 35.4zM859 135.2c.5 1.6-.3 3.4-1.8 4.1-5.8 2.9-12.2 5-20.6 5-21.1 0-33.8-11.6-33.8-34V78.3h-12c-1.9 0-3.5-1.6-3.5-3.6V60.2c0-2 1.6-3.5 3.6-3.5h11.9V35c0-2 1.5-3.5 3.5-3.5h20c2 0 3.6 1.6 3.6 3.5v21.6h21.5c2 0 3.5 1.6 3.5 3.5v14.4c0 2-1.6 3.6-3.5 3.6h-21.5v29.5c0 8.8 4.2 12.3 11.3 12.3 2.6 0 6-.7 8.9-1.8 2-.7 4 .4 4.6 2.4l4.3 14.6zm-112.3 3v-78c0-2 1.6-3.5 3.6-3.5h20c2 0 3.5 1.6 3.5 3.5v78c0 2-1.6 3.5-3.5 3.5h-20c-2 0-3.6-1.6-3.6-3.5zM776 31.6c0 8.6-6.6 15-15.7 15-9.2 0-15.6-6.4-15.6-15 0-8.3 6.4-15.4 15.6-15.4 9.1 0 15.7 7.1 15.7 15.4zm-42.8 103.6c.5 1.6-.3 3.4-1.8 4.1-5.8 2.9-12.2 5-20.6 5-21.1 0-33.8-11.6-33.8-34V78.3h-12c-1.9 0-3.5-1.6-3.5-3.6V60.2c0-2 1.6-3.5 3.6-3.5H677V35c0-2 1.5-3.5 3.5-3.5h20c2 0 3.6 1.6 3.6 3.5v21.6h21.5c2 0 3.5 1.6 3.5 3.5v14.4c0 2-1.6 3.6-3.5 3.6H704v29.5c0 8.8 4.2 12.3 11.3 12.3 2.6 0 6-.7 8.9-1.8 2-.7 4 .4 4.6 2.4l4.3 14.6zm-85.9-43.5v46.5c0 2-1.5 3.5-3.5 3.5H638c-2 0-3.5-1.6-3.5-3.5V94c0-15.6-9.3-26-23.2-26-17.5 0-29 11.8-29 33.5v36.6c0 2-1.6 3.5-3.5 3.5H573c-2 0-3.6-1.6-3.6-3.5V61.7c0-2 1.6-3.5 3.6-3.5h5.8c2 0 3.5 1.6 3.5 3.5v10.4a35.9 35.9 0 0131.5-16c20.2 0 33.5 14.5 33.5 35.6zM479.1 93h58.1c-2.4-16.4-14-25.4-28-25.4A30 30 0 00479.2 93zm71.1 9.7h-71.6c1.2 18.8 15.4 30 29.8 30 11.1 0 21.2-4 27.3-15.5a3.6 3.6 0 014-1.9l4.6 1.1c2.2.6 3.3 3 2.3 5a40 40 0 01-38.2 22.6 42.2 42.2 0 01-42.3-43.7c0-26.8 20.1-44 43.2-44 22.5 0 40.1 16.7 41 41.6v4.8zM331 99.9a31.2 31.2 0 00-31.5-32.2c-17.2 0-31.8 13-31.8 32.2a31.5 31.5 0 0031.8 32.5A31.4 31.4 0 00331 99.9zm12.7 0a43.1 43.1 0 01-44.2 43.8 43 43 0 01-44.3-43.8 42.8 42.8 0 0144.3-43.6c24.6 0 44.2 18 44.2 43.6zM170.6 106.6v7.1h24.8c2 0 3.6 1.7 3.6 3.6v21.3c0 1.9-1.7 3.5-3.6 3.5h-24.8v28.5H142v24.8c0 2-1.6 3.6-3.5 3.6h-21.3a3.6 3.6 0 01-3.6-3.6v-24.8h-7v-24.9c0-1.9 1.6-3.6 3.5-3.6h32v-32c0-1.8 1.6-3.5 3.5-3.5h24.9zm-117.3 0c1.8 0 3.4 1.6 3.6 3.4v32.2h32c1.8 0 3.4 1.5 3.5 3.3V170.6h-7.1v24.8c0 2-1.7 3.6-3.6 3.6H60.4a3.6 3.6 0 01-3.5-3.6v-24.8H28.4V142H3.6a3.6 3.6 0 01-3.6-3.5v-21.3c0-2 1.7-3.6 3.6-3.6h24.8v-7h24.9zm74.6-35.5v56.8H71.1V71.1h56.8zM81.7 0c2 0 3.6 1.7 3.6 3.6v24.8h7v24.9c0 1.9-1.6 3.6-3.5 3.6h-32v32c0 1.8-1.6 3.5-3.5 3.5H28.4v-7.1H3.6A3.6 3.6 0 010 81.7V60.4C0 58.5 1.7 57 3.6 57h24.8V28.4H57V3.6c0-2 1.6-3.6 3.5-3.6h21.3zm56.9 0c1.9 0 3.5 1.7 3.5 3.6v24.8h28.5V57h24.8c2 0 3.6 1.6 3.6 3.5v21.3c0 2-1.7 3.6-3.6 3.6h-24.8v7h-24.9a3.7 3.7 0 01-3.6-3.3V56.8h-32a3.7 3.7 0 01-3.5-3.3V28.4h7.1V3.6c0-2 1.7-3.6 3.6-3.6h21.3z" />
          </g>
        </svg>
        <span class="sr-only">opentitan.org</span>
      </a>
    </h1>

    <nav id="main-nav" class="main-nav" aria-label="Main">
      <ul id="menu" class="main-nav__list">
        <li class="main-nav__item">
          <a href="https://docs.opentitan.org">Documentation</a>
        </li>
        <li class="main-nav__item">
          <a href="#partners">Partners</a>
        </li>
        <li class="main-nav__item">
          <a href="{{ .Site.Params.github_repo }}">Source</a>
        </li>
        <li class="main-nav__item">
          <a href="{{ .Site.Params.blogpost }}">Blog</a>
        </li>
        <li class="main-nav__item user-toggle">
          <button class="[ toggle-button ] [ js-mode-toggle ]" aria-label="Switch light and dark theme">
            <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
              <path fill="currentColor"
                d="M12 2a10 10 0 01.3 20H12a10 10 0 110-20zm0 2a8 8 0 100 16v-3a5 5 0 010-10V4zm0 4v8a4 4 0 100-8z"
                fill-rule="evenodd" />
            </svg>
          </button>
        </li>
      </ul>
    </nav>
  </header>

  <main id="main" role="main">
    <section id="intro" class="intro">
      <div class="intro__content">
        <div class="intro__logo">
          <svg class="ani-logo" focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 84 84">
            <g fill="none" fill-rule="evenodd">
              <rect class="center item" width="24" height="24" x="30" y="30" />
              <path class="ul item" d="M19 19h27v10.5c0 .8-.7 1.5-1.5 1.5H31v13.5c0 .8-.7 1.5-1.5 1.5H19V19z" />
              <path class="ll item" d="M19 65h27V54.5c0-.8-.7-1.5-1.5-1.5H31V39.5c0-.8-.7-1.5-1.5-1.5H19v27z" />
              <path class="ur item" d="M65 19H38v10.5c0 .8.7 1.5 1.5 1.5H53v13.5c0 .8.7 1.5 1.5 1.5H65V19z" />
              <path class="lr item" d="M65 65H38V54.5c0-.8.7-1.5 1.5-1.5H53V39.5c0-.8.7-1.5 1.5-1.5H65v27z" />
              <path class="right item item--outer"
                d="M82.5 48c.8 0 1.5.7 1.5 1.5v9c0 .8-.7 1.5-1.5 1.5H69V48h13.5zm0-24c.8 0 1.5.7 1.5 1.5v9c0 .8-.7 1.5-1.5 1.5H69V24h13.5z" />
              <path class="left item item--outer"
                d="M15 48v12H1.5C.7 60 0 59.3 0 58.5v-9c0-.8.7-1.5 1.5-1.5H15zm0-24v12H1.5C.7 36 0 35.3 0 34.5v-9c0-.8.7-1.5 1.5-1.5H15z" />
              <path class="top item item--outer"
                d="M34.5 0c.8 0 1.5.7 1.5 1.5V15H24V1.5c0-.8.7-1.5 1.5-1.5h9zm24 0c.8 0 1.5.7 1.5 1.5V15H48V1.5c0-.8.7-1.5 1.5-1.5h9z" />
              <path class="bottom item item--outer"
                d="M60 69v13.5c0 .8-.7 1.5-1.5 1.5h-9c-.8 0-1.5-.7-1.5-1.5V69h12zm-24 0v13.5c0 .8-.7 1.5-1.5 1.5h-9c-.8 0-1.5-.7-1.5-1.5V69h12z" />
            </g>
          </svg>
        </div>
        <p class="intro__body">
          OpenTitan is the first open source project building a transparent, high-quality reference design and integration
          guidelines for silicon root of trust (RoT) chips.
        </p>
      </div>
    </section>

    <section id="benefits" class="benefits light-bg">
      <h2 class="sr-only">Benefits</h2>
      <div class="benefit-list">
        <div class="benefit">
          <figure class="benefit__image" aria-hidden="true">
            <svg xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 218 218">
              <use fill="url(#a)" xlink:href="#b" fill-rule="evenodd" />
            </svg>
            <svg class="benefit__decoration" aria-hidden="true" xmlns:xlink="http://www.w3.org/1999/xlink"
              viewBox="-4 -4 224 224">
              <use fill="none" stroke-width="1" stroke="#23BDE3" xlink:href="#b" opacity="0.3" />
            </svg>
          </figure>

          <div class="benefit__content">
            <h3 class="benefit__headline h2">Transparent</h3>
            <p class="benefit__body bodytext bodytext--large">
              Anyone can inspect, evaluate, and contribute to OpenTitan's design
              and documentation to help build a more transparent, trustworthy
              silicon RoT for all.
            </p>
          </div>
        </div>
        <div class="benefit">
          <figure class="benefit__image" aria-hidden="true">
            <svg xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 218 218">
              <use fill="url(#a)" xlink:href="#c" />
            </svg>
            <svg class="benefit__decoration" aria-hidden="true" xmlns:xlink="http://www.w3.org/1999/xlink"
              viewBox="-4 -4 224 224">
              <use fill="none" stroke-width="1" stroke="#23BDE3" xlink:href="#c" opacity="0.3" />
            </svg>
          </figure>
          <div class="benefit__content">
            <h3 class="benefit__headline h2">High quality</h3>
            <p class="benefit__body bodytext bodytext--large">
              OpenTitan's aim is to build and maintain a high-quality
              logically-secure silicon design, including reference firmware,
              verification collateral, and technical documentation.
            </p>
          </div>
        </div>
        <div class="benefit">
          <figure class="benefit__image" aria-hidden="true">
            <svg xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 218 218">
              <use fill="url(#a)" xlink:href="#d" />
            </svg>
            <svg class="benefit__decoration" aria-hidden="true" xmlns:xlink="http://www.w3.org/1999/xlink"
              viewBox="-4 -4 224 224">
              <use fill="none" stroke-width="1" stroke="#23BDE3" xlink:href="#d" opacity="0.3" />
            </svg>
          </figure>
          <div class="benefit__content">
            <h3 class="benefit__headline h2">Flexible</h3>
            <p class="benefit__body bodytext bodytext--large">
              Adopters can reduce costs and reach more customers by using a
              vendor- and platform-agnostic silicon RoT design that can be
              integrated into data center servers, storage devices, peripherals and
              other hardware.
            </p>
          </div>
        </div>
      </div>
    </section>

    <section id="learn-more" class="cta">
      <h2 class="sr-only">Learn more</h2>
      <p class="cta__body quote">
        OpenTitan helps to make the silicon root of trust (RoT) more transparent,
        trustworthy, and ultimately, secure.
      </p>
      <a href="{{ .Site.Params.blogpost }}" class="btn" aria-label="Learn more about OpenTitan">Learn more</a>
    </section>

    <section id="features" class="features light-bg">
      <h2 class="h2">Features</h2>
      <ol class="feature-list">
        <li class="feature-list__item">
          <h3 class="h3 feature__headline">Independently managed</h3>
          <p class="bodytext feature__body">
            OpenTitan is stewarded by
            <a href="{{ .Site.Params.partner_lowrisc }}">lowRISC</a>, a
            not-for-profit company that uses collaborative engineering to
            develop and maintain open source silicon designs and tools for the
            long term.
          </p>
        </li>
        <li class="feature-list__item">
          <h3 class="h3 feature__headline">Open source</h3>
          <p class="bodytext feature__body">
            OpenTitan is an open source project with leading not-for-profit,
            academic, and commercial organizations committed to its development
            and expansion.
          </p>
        </li>
        <li class="feature-list__item">
          <h3 class="h3 feature__headline">Security through transparency</h3>
          <p class="bodytext feature__body">
            As an open source project, OpenTitan enables the larger community
            to proactively audit, evaluate, and improve the security properties
            of the design.
          </p>
        </li>
        <li class="feature-list__item">
          <h3 class="h3 feature__headline">High-quality IP</h3>
          <p class="bodytext feature__body">
            OpenTitan is developed by engineers and researchers from ETH
            Zürich, G+D Mobile Security, Google, lowRISC, Nuvoton Technology,
            and Western Digital. Our community brings ideas and expertise from
            a variety of perspectives.
          </p>
        </li>
        <li class="feature-list__item">
          <h3 class="h3 feature__headline">Modern architecture</h3>
          <p class="bodytext feature__body">
            OpenTitan is designed to serve as the system root of trust by
            actively mediating access to the first-stage boot firmware. It is
            built upon the quality constructs and security principles used to
            create
            <a href="{{ .Site.Params.blogpost }}">Google's Titan chips</a>.
          </p>
        </li>
        <li class="feature-list__item">
          <h3 class="h3 feature__headline">Vendor- and platform-agnostic</h3>
          <p class="bodytext feature__body">
            Because it is not proprietary to a specific vendor or platform,
            OpenTitan can be integrated with data center servers, peripherals,
            storage devices, and other hardware, helping you reduce costs and reach more
            customers.
          </p>
        </li>
      </ol>
    </section>

    <section id="integrate" class="cta">
      <h2 class="sr-only">Itegrate OptenTitan</h2>
      <p class="cta__body quote">
        Interested in integrating the OpenTitan RoT reference design into your platform or device?
      </p>
      <a href="mailto:{{ .Site.Params.contact_email }}" class="btn">Contact us</a>
    </section>

    <section id="partners" class="partners light-bg">
      <h2 class="h2">Founding partners</h2>
      <div class="partner-list">
        <a href="{{ .Site.Params.partner_lowrisc }}" class="partner" target="_blank">
          <img src="https://static.opentitan.org/img/partners/lowrisc.svg" alt="lowRISC">
        </a>
        <a href="{{ .Site.Params.partner_ethzurich }}" class="partner" target="_blank">
          <img src="https://static.opentitan.org/img/partners/eth-zurich.svg" alt="ETH Zurich">
        </a>
        <a href="{{ .Site.Params.partner_gd }}" class="partner" target="_blank">
          <img src="https://static.opentitan.org/img/partners/giesecke.png" alt="Giesecke + Devrient Creating Confidence">
        </a>
        <a href="{{ .Site.Params.partner_google }}" class="partner" target="_blank">
          <img src="https://static.opentitan.org/img/partners/google.svg" alt="Google">
        </a>
        <a href="{{ .Site.Params.partner_nuvoton }}" class="partner" target="_blank">
          <img src="https://static.opentitan.org/img/partners/nuvoton.svg" alt="nuvoTon">
        </a>
        <a href="{{ .Site.Params.partner_wd }}" class="partner" target="_blank">
          <img src="https://static.opentitan.org/img/partners/western-digital.svg" alt="Western Digital">
        </a>
      </div>

      <div class="partner-quote">
        <ul class="js-partner-quotes">
          {{ range $.Site.Data.partner_quotes }}
          <li class="partner-quote__item">
            <blockquote>
              <p class="quote quote--small js-quote-text">{{ .quote }}</p>
              <footer class="js-quote-partner">
                {{ .partner }}
              </footer>
            </blockquote>
          </li>
          {{ end }}
        </ul>
      </div>
    </section>

    <section id="join-the-project" class="cta">
      <h2 class="sr-only">Join the Project</h2>
      <p class="cta__body quote">
        Interested in participating in the project?
      </p>
      <a href="mailto:{{ .Site.Params.get_involved_email }}" class="btn">Let us know</a>
    </section>
  </main>

  <footer id="footer" class="footer">
    <svg class="ani-logo" focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 84 84">
      <g fill="none" fill-rule="evenodd">
        <rect class="center item" width="24" height="24" x="30" y="30" />
        <path class="ul item" d="M19 19h27v10.5c0 .8-.7 1.5-1.5 1.5H31v13.5c0 .8-.7 1.5-1.5 1.5H19V19z" />
        <path class="ll item" d="M19 65h27V54.5c0-.8-.7-1.5-1.5-1.5H31V39.5c0-.8-.7-1.5-1.5-1.5H19v27z" />
        <path class="ur item" d="M65 19H38v10.5c0 .8.7 1.5 1.5 1.5H53v13.5c0 .8.7 1.5 1.5 1.5H65V19z" />
        <path class="lr item" d="M65 65H38V54.5c0-.8.7-1.5 1.5-1.5H53V39.5c0-.8.7-1.5 1.5-1.5H65v27z" />
        <path class="right item item--outer"
          d="M82.5 48c.8 0 1.5.7 1.5 1.5v9c0 .8-.7 1.5-1.5 1.5H69V48h13.5zm0-24c.8 0 1.5.7 1.5 1.5v9c0 .8-.7 1.5-1.5 1.5H69V24h13.5z" />
        <path class="left item item--outer"
          d="M15 48v12H1.5C.7 60 0 59.3 0 58.5v-9c0-.8.7-1.5 1.5-1.5H15zm0-24v12H1.5C.7 36 0 35.3 0 34.5v-9c0-.8.7-1.5 1.5-1.5H15z" />
        <path class="top item item--outer"
          d="M34.5 0c.8 0 1.5.7 1.5 1.5V15H24V1.5c0-.8.7-1.5 1.5-1.5h9zm24 0c.8 0 1.5.7 1.5 1.5V15H48V1.5c0-.8.7-1.5 1.5-1.5h9z" />
        <path class="bottom item item--outer"
          d="M60 69v13.5c0 .8-.7 1.5-1.5 1.5h-9c-.8 0-1.5-.7-1.5-1.5V69h12zm-24 0v13.5c0 .8-.7 1.5-1.5 1.5h-9c-.8 0-1.5-.7-1.5-1.5V69h12z" />
      </g>
    </svg>

    <nav class="footer-nav" aria-label="Full">
      <ul class="footer-nav__list">
        <li class="footer-nav__item">
          <a href="https://docs.opentitan.org">Documentation</a>
        </li>
        <li class="footer-nav__item">
          <a href="#partners">Partners</a>
        </li>
        <li class="footer-nav__item">
          <a href="{{ .Site.Params.github_repo }}">Source</a>
        </li>
        <li class="footer-nav__item">
          <a href="{{ .Site.Params.blogpost }}">Blog</a>
        </li>
        <li class="footer-nav__item footer-nav__item--icons">
          <a href="{{ .Site.Params.github_repo }}" aria-label="View on Github">
            <svg focusable="false" width="24" height="20" viewBox="0 0 24 20">
              <path fill="currentColor" fill-rule="evenodd"
                d="M11.4 1A9 9 0 002 10c0 4.2 2.7 7.7 6.5 9 .5 0 .7-.2.7-.5v-2.2s-2.7.5-3.3-1.2c0 0-.4-1-1-1.3 0 0-1-.6 0-.6 0 0 1 0 1.5 1 .8 1.4 2.2 1 2.8.7 0-.6.3-1 .6-1.2-2.1-.2-4.3-.5-4.3-4.1 0-1 .3-1.6.9-2.2C6.3 7 6 6 6.5 4.9c.8-.3 2.6 1 2.6 1a9.3 9.3 0 014.9 0s1.8-1.3 2.6-1c.6 1.2.2 2.2.1 2.5.6.6 1 1.2 1 2.2 0 3.6-2.2 3.9-4.4 4 .4.4.7 1 .7 1.8v3.1c0 .3.1.6.6.5a9.3 9.3 0 006.5-9c0-5-4.4-9-9.7-9z" />
            </svg>
          </a>
        </li>
      </ul>
    </nav>

    <p>© 2019 lowRISC contributors, <a href="/privacy-policy/">Privacy
      Policy</a>, <a href="/usage-policy/">Usage Policy</a>.</p>
    <p>The text content on this website is licensed under a
    <a href="https://creativecommons.org/licenses/by-sa/4.0/">Creative Commons
      Attribution 4.0 International License</a>, except where otherwise noted.</p>
    <p>No license is granted for the OpenTitan logo or other trademarks. <a
      href="/trademark-usage-policy/">Trademark Usage Policy</a>.</p>
  </footer>

  <script src="/js/tiny-slider.js"></script>

  <script>
    // Tiny Slider for Quotes
    var slider = tns({
      container: '.js-partner-quotes',
      items: 1,
      autoplay: false,
      slideBy: 'page',
      mouseDrag: true,
      autoHeight: true,
      nav: false,
      swipeAngle: 30,
      loop: false,
      preventScrollOnTouch: 'auto',
      controlsPosition: 'bottom',
      controlsText: [
        "<span class='sr-only'>prev</span><svg viewBox='0 0 40 40'><path fill='currentColor' fill-rule='evenodd' d='M16 20l9-6v12z' focusable='false'/></svg>",
        "<span class='sr-only'>next</span><svg viewBox='0 0 40 40'><path fill='currentColor' fill-rule='evenodd' d='M24 20l-9-6v12z' focusable='false'/></svg>"]
    });

    if (document.fonts.ready) {
      document.fonts.ready.then(() => {
        slider.updateSliderHeight()
      })
    }
    // Light and dark theme
    document.documentElement.classList.remove('no-js');
    const STORAGE_KEY = 'user-color-scheme';
    const COLOR_MODE_KEY = '--color-mode';

    const modeToggleButton = document.querySelector('.js-mode-toggle');

    const getCSSCustomProp = propKey => {
      let response = getComputedStyle(document.documentElement).getPropertyValue(propKey);

      if (response.length) {
        response = response.replace(/\"/g, '').trim();
      }

      return response;
    };

    const applySetting = passedSetting => {
      let currentSetting = passedSetting || localStorage.getItem(STORAGE_KEY);

      if (currentSetting) {
        document.documentElement.setAttribute('data-user-color-scheme', currentSetting)
      }
    };

    const toggleSetting = () => {
      let currentSetting = localStorage.getItem(STORAGE_KEY);

      switch (currentSetting) {
        case null:
          currentSetting = getCSSCustomProp(COLOR_MODE_KEY) === 'dark' ? 'light' : 'dark';
          break;
        case 'light':
          currentSetting = 'dark';
          break;
        case 'dark':
          currentSetting = 'light';
          break;
      }

      localStorage.setItem(STORAGE_KEY, currentSetting);

      return currentSetting;
    };

    modeToggleButton.addEventListener('click', evt => {
      evt.preventDefault();

      applySetting(toggleSetting());
    });

    applySetting();

    // control animation on intro area
    const intro = document.getElementById('intro');
    intro.addEventListener('mouseenter', e => {
      if (intro.classList.contains('animate')) {
        return
      }
      else {
        intro.classList.add('animate');
        setTimeout(function () {
          intro.classList.remove('animate');
        }, 2200);
      }
    })

    const partnerList = document.querySelector('.js-partner-quotes');
    // fisher-yates shuffle
    for (let i = partnerList.children.length; i >= 0; i--) {
      partnerList.appendChild(partnerList.children[Math.random() * i | 0]);
    }

  </script>
</body>

</html>
