{{define "main"}}
<section class="Solutions-title">
  <div class="Container">
    <h1>Solutions</h1>
  </div>
</section>
<section class="Solutions-headline">
  <div class="Container">
    <p>
      Learn about how Go can help your development process
    </p>
  </div>
</section>
<section class="Solutions-useCases">
  <div class="Container">
    <div class="Solutions-useCasesHeader">
      <h2>Use Cases</h2>
    </div>
    <ul class="Solutions-useCaseList">
      {{range where .Pages "Params.series" "Use Cases"}}
      <li class="Solutions-useCase">
        <a href="{{.RelPermalink}}">
          <div class="Solutions-useCaseHeader">
            <div class="Solutions-useCaseLogo">
              {{$icon := .Resources.GetMatch "icon"}}
              {{if $icon}}
                <img alt="{{$icon.Params.alt}}" src="{{$icon.RelPermalink}}">
              {{end}}
            </div>
            <h3 class="Solutions-useCaseTitle">{{.LinkTitle}}</h3>
          </div>
          <div class="Solutions-useCaseBody">
            <p class="Solutions-useCaseDescription">
              {{.Description}}
            </p>
            <p class="Solutions-useCaseAction">
              Learn More &gt;
            </p>
          </div>
        </a>
      </li>
      {{end}}
    </ul>
  </div>
</section>
<section class="Solutions-caseStudies">
  <div class="Container">
    <div class="Solutions-caseStudiesHeader">
      <h2>Who Uses Go</h2>
    </div>
    <ul class="Solutions-caseStudyList">
      {{range where .Pages "Params.series" "Case Studies"}}
      <li class="Solutions-caseStudy">
        <a href="{{.RelPermalink}}">
          <div class="Solutions-caseStudyLogo">
            {{$logo := .Resources.GetMatch "logo"}}
            <img alt="{{$logo.Params.alt}}" src="{{$logo.RelPermalink}}">
          </div>
          <p>View case study</p>
        </a>
      </li>
      {{end}}
    </ul>
  </div>
</section>
{{end}}
