{{define "main"}}
<section class="Hero">
  <div class="Hero-gridContainer">
    <div class="Hero-blurb">
      <h1>Scale. Faster</h1>
      <h2>
        An open source programming language that helps build fast, secure, scalable applications that grow alongside your
        business.
      </h2>
    </div>
    <div class="Hero-actions">
      <a class="Primary" href="#learn">Learn More</a>
      <a href="https://golang.org/dl">Download Go</a>
    </div>
    <div class="Hero-gopher">
      <img class="Hero-gopherLadder" src="/images/gopher-ladder.svg" alt="Go Gopher climbing a ladder.">
    </div>
  </div>
</section>
<section class="WhoUses">
  {{$solutions := index (where .Pages "Section" "solutions") 0}}
  <div class="WhoUses-gridContainer">
    <div class="WhoUses-header">
      <h2>Who Uses Go</h2>
    </div>
    <ul class="WhoUses-caseStudyList">
      {{range where $solutions.Pages "Params.series" "Case Studies"}}
        <li class="WhoUses-caseStudy">
          <a href="{{.RelPermalink}}">
            {{$logo := .Resources.GetMatch "logo"}}
            <img src="{{$logo.RelPermalink}}" class="WhoUses-logo" alt="{{$logo.Params.alt}}">
            <p>View case study</p>
          </a>
        </li>
      {{end}}
    </ul>
  </div>
</section>
<section class="UseCases">
  {{$solutions := index (where .Pages "Section" "solutions") 0}}
  <div class="Container">
    <div class="UseCases-gridContainer">
      <div class="UseCases-header">
        <h2>Use Cases</h2>
      </div>
      {{range where $solutions.Pages "Params.series" "Use Cases"}}
        <div class="UseCase">
          <div class="UseCase-logo">
            {{$icon := .Resources.GetMatch "icon-white"}}
            {{if $icon}}
            <img alt="{{$icon.Params.alt}}" src="{{$icon.RelPermalink}}">
            {{end}}
          </div>
          <h3 class="UseCase-title">{{.LinkTitle}}</h3>
          <p class="UseCase-description">
            {{.Description}}
          </p>
          <p class="UseCase-action">
            <a href="{{.RelPermalink}}">Learn More &gt;</a>
          </p>
        </div>
      {{end}}
    </div>
  </div>
</section>
<section class="WhyGo">
  <div class="WhyGo-gridContainer">
    <div class="WhyGo-header">
      <h2>Why Go</h2>
    </div>
    <ul class="WhyGo-reasons">
      <li class="WhyGo-reason">
        <div class="WhyGo-reasonIcon" role="presentation">
          <img src="/images/star-24px.svg" alt="Star."/>
        </div>
        <div class="WhyGo-reasonText">
          <h3 class="WhyGo-reasonTitle">Scalability</h3>
          <p>
            Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut
            labore et dolore magna aliqua. Ut enim ad minim veniam,
          </p>
        </div>
      </li>
      <li class="WhyGo-reason">
        <div class="WhyGo-reasonIcon" role="presentation">
          <img src="/images/star-24px.svg" alt="Star."/>
        </div>
        <div class="WhyGo-reasonText">
          <h3 class="WhyGo-reasonTitle">Microservices</h3>
          <p>
            Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut
            labore et dolore magna aliqua. Ut enim ad minim veniam,
          </p>
        </div>
      </li>
      <li class="WhyGo-reason">
        <div class="WhyGo-reasonIcon" role="presentation">
          <img src="/images/star-24px.svg" alt="Star."/>
        </div>
        <div class="WhyGo-reasonText">
          <h3 class="WhyGo-reasonTitle">Efficiency</h3>
          <p>
            Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut
            labore et dolore magna aliqua. Ut enim ad minim veniam,
          </p>
        </div>
      </li>
    </ul>
    <div class="WhyGo-gopher">
      <img src="images/gopher-biplane.png" alt="Go Gopher piloting a biplane.">
    </div>
  </div>
</section>
<section class="LearnGo">
  <div class="LearnGo-gridContainer">
    <div class="LearnGo-header">
      <h2>Learn Go</h2>
      <p>Join the Go community and start learning</p>
    </div>
    <div class="LearnGo-subHeader">
      <h3>Courses</h3>
      <p class="LearnGo-viewMore">
        {{if gt (len $.Site.Data.learn.courses.links) 4}}
          <a href="#">View More &gt;</a>
        {{end}}
      </p>
    </div>
    <ul class="LearnGo-courses">
      {{range first 4 $.Site.Data.learn.courses.links}}
      <li class="LearnGo-courseItem">
        <div class="LearnGo-course">
          <a href="{{.url}}">
            <div class="LearnGo-courseImage">
              {{if .thumbnail}}
                <img alt="{{.title}} thumbnail." src="{{.thumbnail}}">
              {{end}}
            </div>
            <p class="LearnGo-courseTitle">{{.title}}</p>
          </a>
        </div>
      </li>
      {{end}}
    </ul>
    <div class="LearnGo-subHeader">
      <h3>Events</h3>
      <p class="LearnGo-viewMore"><a href="https://www.meetup.com/pro/go">View more events &gt;</a></p>
    </div>
    <ul class="LearnGo-events">
      {{range first 3 $.Site.Data.events.all}}
        <li class="LearnGo-eventItem">
          <div class="LearnGo-eventThumbnail {{if not .thumbnailurl}}LearnGo-eventThumbnail--noimage{{end}}">
            {{if .thumbnailurl}}
              <img src="{{.thumbnailurl}}" alt="{{.name}} group photo."/>
            {{end}}
          </div>
          <div class="LearnGo-eventBody">
            <div class="LearnGo-eventDate">
              <p>{{.local_date}}</p>
              <p>{{.city}}, {{.state}} {{.country}}</p>
            </div>
            <div class="LearnGo-eventText">
              <h4 class="LearnGo-eventName">
                <a href="{{.url}}">{{.name}}</a>
              </h4>
              <p class="LearnGo-eventDescription">
                {{.description | safeHTML}}
              </p>
            </div>
            <p class="LearnGo-viewMore"><a href="{{.url}}">Learn more &gt;</a></p>
          </div>
        </li>
      {{end}}
    </ul>
  </div>
</section>
{{end}}
