description = "home layout"

[blogPosts]
pageNumber = "{{ :page }}"
postsPerPage = 7
noPostsMessage = "No posts found"
sortOrder = "published_at desc"
categoryPage = "home"
postPage = "{{ :slug }}"
==
{##}
<!DOCTYPE html>
<html lang="en">
{% partial "head" %}
{% partial "header" %}
{% set posts = blogPosts.posts %}

<style>
  #main_message {
    background-color: var(--dark-color);
    position: relative;
  }

  #main_message .container {
    overflow: initial;
  }

  .full-graphic {
    padding-bottom: 0px;
  }

  .full-graphic > img {
    width: auto;
    max-width: 50vw;
    height: 100%;
  }

  .main-download {
    margin-top: 48px;
  }

  .main-download .btn.download {
    margin-top: 0;
  }

  #donations {
    background-color: var(--dark-color);
    color: var(--dark-color-text);
    overflow: auto;
    text-align: center;
  }

  #donations h1, #donations h2, #donations h3 {
    color: var(--dark-color-text-title);
  }

  #sponsors .flex {
    justify-content: center;
    flex-wrap: wrap;
  }

  #sponsors .sponsor {
    background-color: var(--sponsor-background-color);
    border: 14px solid var(--sponsor-background-color);
    border-radius: 8px 8px;
    display: flex;
    align-items: center;
    height: 80px;
    box-sizing: border-box;
    margin-bottom: 8px;
    margin-left: 8px;
    overflow: auto;
    opacity: 0.85;
    transition: opacity 0.2s;
  }

  #sponsors .sponsor:hover {
    filter: brightness(105%);
    opacity: 1.0;
  }

  #sponsors img {
    mix-blend-mode: multiply;
    width: inherit;
    height: 100%;
  }

  #sponsors .silver .sponsor {
    background-color: var(--sponsor-silver-background-color);
    border-color: var(--sponsor-silver-background-color);
    height: 68px;
  }

  #sponsors .gold .sponsor {
    background-color: var(--sponsor-gold-background-color);
    border-color: var(--sponsor-gold-background-color);
  }

  #sponsors .platinum .sponsor {
    background-color: var(--sponsor-platinum-background-color);
    border-color: var(--sponsor-platinum-background-color);
    height: 100px;
  }

  .feature, #highlight {
    position: relative;
  }

  #highlight {
    background-size: cover;
    background-position: center;
    background-color: var(--base-color);
    border-radius: 4px 0 0 4px;
    display: flex;
    flex-direction: column;
    text-decoration: none;
  }

  #highlight .highlight-cover {
    border-radius: 4px 0 0 0;
    background-position: center;
    background-size: cover;
    height: 100%;
    min-height: 250px;
  }

  #highlight .highlight-details {
    border-radius: 0 0 0 4px;
  }

  #highlight .highlight-title {
    text-decoration: underline;
    text-decoration-color: var(--link-underline-color);
    text-decoration-thickness: 0.125rem;
  }

  #news .news-list {
    padding: 0 20px;
  }

  #news .news-shortitem {
    color: var(--base-color-text);
    padding: 2px 2px;
  }

  #news .news-shortitem:hover {
    color: var(--base-color-text-hl);
  }

  .feature-link {
    text-decoration: none;
  }

  .features-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
  }

  .feature:hover {
    transform: translateY(-2px);
  }

  .features-row > :first-child, .split-row > :first-child {
    margin-right: 8px;
  }

  .features-row > :last-child, .split-row > :last-child {
    margin-left: 8px;
  }

  .feature img {
    display: block;
    width: 100%;
    height: auto;
    position: relative;
    background-color: #607080;
    aspect-ratio: 3/2;
    object-fit: cover;
    object-position: top center;
  }

  .feature {
    overflow: hidden;
    transition: transform 200ms ease-in-out;
    height: 100%;
    border-radius: 8px;
  }

  .feature.dark {
    background-color: var(--transparent-cover-darker);
  }

  .feature h4 {
    margin-bottom: 10px;
  }

  .feature p {
    margin: 0;
  }

  .feature .body {
    padding: 24px;
  }

  .feature .dark h4 {
    color: var(--dark-color-text-title);
  }

  .img-auto-size {
    width: 100%;
    height: auto;
  }

  @media (max-width: 900px) {
    .main-download {
      display: flex;
      justify-content: center;
      align-items: center;
      flex-wrap: wrap;
    }

    .features-grid {
      grid-template-columns: 1fr;
    }

    #highlight .highlight-cover {
      border-radius: 4px 4px 0 0;
    }

    #highlight .highlight-details {
      border-radius: 0;
    }
  }
</style>

{#
Use placeholder background to show while the image is loading. This improves perceived performance.
Make sure to update this gradient when the home background image is changed.
#}
<div style="background: linear-gradient(90deg, #6a515c 2%, #4d253c 14%, #5d4753 31%, #6c4448 53%, #3b2847 86%, #3c2848 93%)">
  <div class="main-image" style="position: relative">
    <div class="main-image-text">
      <a href="https://kivano.games/"><i>TailQuest: Defense</i> by Kivano Games</a>
    </div>
  </div>
</div>

<section id="main_message" class="dark">
  <div class="container flex eqsize responsive">

    <div class="padded">
      <h2>The game engine you've been waiting&nbsp;for.</h2>
      <p>
        Godot provides a huge set of common tools, so you can just focus on
        making your game without reinventing the wheel.
      </p>
      <p>
        Godot is completely free and open-source under the very permissive MIT license.
        No strings attached, no royalties, nothing.
        Your game is yours, down to the last line of engine code.
      </p>

      <div class="main-download">
        <a href="/download" class="btn download">
          <div class="main">Download</div><div class="opt">{% include('version') with {'key': 'identifier'} %}</div>
        </a>
        <a href="/features" class="btn flat btn-white-text">Learn more</a>
      </div>
    </div>

    <div class="base-padding full-graphic text-right">
      <img src="{{ 'assets/home/graphic.svg' | theme }}" width="460" height="441" alt="">
    </div>

  </div>
</section>

<section id="news_and_highlights" class="container padded">
  <div class="flex eqsize responsive card" style="border-radius: 4px;">

    <a id="highlight" href="{{ 'article' | page({ slug: posts[0].slug }) }}">
      <div
        class="highlight-cover"
        style="background-image: url({{ posts[0].featured_images[0].path }});"
        title="{{ posts[0].featured_images[0].title }}"
        alt="{{ posts[0].featured_images[0].title }} {{ posts[0].featured_images[0].description }}"
      ></div>
      <div class="highlight-details dark base-padding">
        <h4 class="highlight-title no-margin">{{ posts[0].title }}</h4>
        <p class="highlight-summary hide-on-mobile">{{ str_limit(posts[0].excerpt, 200) | raw }}</p>
      </div>
    </a>

    <div id="news">
      <h3 class="base-padding no-margin-bottom" style="text-align: center;">News</h3>
      <div class="news-list">
        {% for post in posts %}
        {% if post != posts[0] %}
        <a class="news-shortitem" href="{{ 'article'|page({ slug: post.slug }) }}">
          <strong>· {{ post.title }}</strong>
        </a>
        <hr>
        {% endif %}
        {% endfor %}
      </div>
      <div class="base-padding" style="text-align: right;">
        <a href="/news/default/1" class="btn flat no-margin">More</a>
      </div>
    </div>

  </div>
</section>

<section id="features" class="container padded">
  <h2>A different way to make games</h2>

  <div class="features-grid">
    <a class="feature-link" href="/features#design" data-barba-prevent>
      <div class="feature dark">
        <img
          src="{{ 'assets/home/features/innovative.webp' | theme }}"
          alt=""
          width="1"
          height="1"
          style="background: linear-gradient(90deg, #333747 11%, #2d3342 50%, #2d3342 68%, #272d3c 87%)"
          loading="lazy"
        >
        <div class="body">
          <h4>Innovative design</h4>
          <p>
            Godot's Node and Scene system gives you both power and flexibility
            to create anything.
          </p>
        </div>
      </div>
    </a>

    <a class="feature-link" href="/features#script" data-barba-prevent>
      <div class="feature dark">
        <img
          src="{{ 'assets/home/features/language.webp' | theme }}"
          alt=""
          width="1"
          height="1"
          style="background: linear-gradient(90deg, #252a35 46%, #252a35 53%, #202630 76%, #202630 89%)"
          loading="lazy"
        >
        <div class="body">
          <h4>Use the right language for the job</h4>
          <p>
            Keep your code modular with an object-oriented API using Godot's own
            GDScript, C#, C++, or bring your own using GDNative.
          </p>
        </div>
      </div>
    </a>
    <a class="feature-link" href="/features#features_2d" data-barba-prevent>
      <div class="feature dark">
        <img
          src="{{ 'assets/home/features/2d.webp' | theme }}"
          alt=""
          width="1"
          height="1"
          style="background: linear-gradient(90deg, #196f36 7%, #28674e 29%, #2a4b46 65%, #3b6f4e 97%)"
          loading="lazy"
        >
        <div class="body">
          <h4>Dedicated 2D engine</h4>
          <p>
            Make crisp and performant 2D games with Godot's dedicated 2D
            rendering engine with real 2D pixel coordinates and 2D nodes.
          </p>
        </div>
      </div>
    </a>

    <a class="feature-link" href="/features#features_3d" data-barba-prevent>
      <div class="feature dark">
        <img
          src="{{ 'assets/home/features/3d.webp' | theme }}"
          alt=""
          width="1"
          height="1"
          style="background: linear-gradient(90deg, #196f36 7%, #28674e 29%, #2a4b46 65%, #3b6f4e 97%)"
          loading="lazy"
        >
        <div class="body">
          <h4>Simple and powerful 3D</h4>
          <p>
            Godot's 3D nodes give you everything you need to build, animate,
            and render your 3D worlds and characters.
          </p>
        </div>
      </div>
    </a>

    <a class="feature-link" href="/features#deploy" data-barba-prevent>
      <div class="feature dark">
        <img
          src="{{ 'assets/home/features/cross-platform.svg' | theme }}"
          alt=""
          width="1"
          height="1"
          style="background-color: #333667"
          loading="lazy"
        >
        <div class="body">
          <h4>Release on all platforms</h4>
          <p>
            Deploy your game on desktop, mobile, and the web in seconds. Godot
            even supports consoles through third party publishers.
          </p>
        </div>
      </div>
    </a>

    <a class="feature-link" href="#get_involved" data-barba-prevent>
      <div class="feature dark">
        <img
          src="{{ 'assets/home/features/oss.svg' | theme }}"
          alt=""
          width="1"
          height="1"
          style="background-color: #333667"
          loading="lazy"
        >
        <div class="body">
          <h4>Open Source</h4>
          <p>
            Truly open development: anyone who contributes to Godot benefits
            equally from others’ contributions.
          </p>
        </div>
      </div>
    </a>
  </div>
</section>

<section id="get_involved" class="container padded">
  <h2>Get involved</h2>
  <p>
    Join the community and help create a game engine that belongs to everybody.
  </p>

  <div class="flex eqsize responsive">

    <div class="text-center base-padding">
      <img src="{{ 'assets/home/code.svg' | theme }}" alt="" width="250" height="250" loading="lazy">
      <h4>Code</h4>
      <p>
        If you know how to code, you can help by fixing bugs and working with engine contributors towards the implementation of new features.
      </p>
      <a href="https://docs.godotengine.org/en/stable/community/contributing/ways_to_contribute.html#contributing-code" class="btn flat" target="_blank" rel="noopener">Learn more</a>
    </div>

    <div class="text-center base-padding">
      <img src="{{ 'assets/home/document.svg' | theme }}" alt="" width="250" height="250" loading="lazy">
      <h4>Document</h4>
      <p>
        Documentation quality is essential in a game engine; help make it better by updating the API reference, writing new guides or submitting corrections.
      </p>
      <a href="https://docs.godotengine.org/en/stable/community/contributing/ways_to_contribute.html#contributing-to-the-documentation" class="btn flat" target="_blank" rel="noopener">Learn more</a>
    </div>

    <div class="text-center base-padding">
      <img src="{{ 'assets/home/report.svg' | theme }}" alt="" width="250" height="250" loading="lazy">
      <h4>Report</h4>
      <p>
        Found a problem with the engine? Don't forget to report it so that developers can track it down.
      </p>
      <a href="https://docs.godotengine.org/en/stable/community/contributing/ways_to_contribute.html#testing-and-reporting-issues" class="btn flat" target="_blank" rel="noopener">Learn more</a>
    </div>

  </div>
</section>

<section id="donations" class="padded">
  <div class="container sm-full">
    <img id="sfc_graphic" src="{{ 'assets/home/sfc.svg' | theme }}" alt="Software Freedom Conservancy logo" width="1" height="1" class="img-auto-size"  loading="lazy">
    <h3 class="text-center">Donate</h3>
    <p class="small auto-margin">
      You don't need to be an engine developer to help Godot. Consider donating to speed up development and make Godot&nbsp;Engine even more awesome!
    </p>

    <a href="/donate" class="btn flat btn-white-text">Learn more</a>
  </div>
</section>

<section id="sponsors">
  <div class="container sm-full padded">
    <h2 class="text-center">Sponsored by</h2>

    <div class="platinum flex">
      <a class="sponsor card" href="https://www.gamblify.com/" target="_blank" rel="noopener">
        <img src="{{ 'assets/home/sponsors/gamblify.png' | theme }}" width="312" height="66" alt="Gamblify" loading="lazy">
      </a>
      <a class="sponsor card" href="http://spiffcode.com/" target="_blank" rel="noopener">
        <img src="{{ 'assets/home/sponsors/spiffcode.png' | theme }}" width="291" height="66" alt="Spiffcode" loading="lazy">
      </a>
    </div>
    <div class="gold flex">
      <a class="sponsor card" href="https://scp.games/pandemic/" target="_blank" rel="noopener">
        <img src="{{ 'assets/home/sponsors/affray-interactive.png' | theme }}" width="220" height="66" alt="Affray Interactive" loading="lazy">
      </a>
      <a class="sponsor card" href="https://www.asifa-hollywood.org/" target="_blank" rel="noopener">
        <img src="{{ 'assets/home/sponsors/asifa-hollywood.png' | theme }}" width="223" height="68" alt="ASIFA-Hollywood" loading="lazy">
      </a>
      <a class="sponsor card" href="https://playfulstudios.com/" target="_blank" rel="noopener">
        <img src="{{ 'assets/home/sponsors/playful-studios.png' | theme }}" width="196" height="80" alt="Playful Studios" loading="lazy">
      </a>
      <a class="sponsor card" href="http://robotgentleman.com/" target="_blank" rel="noopener">
        <img src="{{ 'assets/home/sponsors/robot-gentleman.png' | theme }}" width="120" height="103" alt="Robot Gentleman" loading="lazy">
      </a>
    </div>
    <div class="silver flex">
      <a class="sponsor card" href="https://developers.join-striked.com/home" target="_blank" rel="noopener">
        <img src="{{ 'assets/home/sponsors/striked.png?v2' | theme }}" width="171" height="40" alt="Striked" loading="lazy">
      </a>
    </div>
  </div>
</section>

{% partial "footer" %}

</html>
