/*---------------------------------------------------------
 * Copyright 2020 The Go Authors. All rights reserved.
 * Licensed under the MIT License. See LICENSE in the project root for license information.
 *--------------------------------------------------------*/

.Content {
	max-width: 60rem;
	font-size: 1rem;
	line-height: 1.5rem;
	margin: auto;
}

.Header {
  align-items: center;
  display: flex;
	border-bottom: 0.0625rem solid #ccc;
	margin-bottom: 2rem;
	padding-bottom: 1.25rem;
}
.Header-logo {
  width: 12rem;
	margin-right: 3rem;
}
.Header-title {
	font-size: 1.75rem;
}

.Announcement {
	display: flex;
	flex-direction: row;
	align-items: center;
	font-style: italic;
	padding: 1rem;
}
.Announcement-image {
	height: 2rem;
	flex: 0;
	margin-right: 1.5rem;
}

.Cards {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
}
.Card {
  max-width: 40rem;
	flex: 1;
}
.Card-inner {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 0rem;
}
.Card-title {
  font-size: 1.5rem;
  font-weight: 500;
}
.Card-content {
	margin: 0;
}

a:link,
a:visited {
  text-decoration: none;
}
.Command:hover,
a:hover {
  text-decoration: underline;
}

@media (min-width: 40rem) {
	.Header-links {
		list-style: none;
		padding: 0;
	}
	.Header-links li {
		float: left;
	}
	.Header-links li:not(:first-child):before {
		content: "|";
		color: #ccc;
		padding: 0 1rem;
	}
  .Cards {
    flex-direction: row;
    justify-content: space-between;
  }
	.Card:not(:last-child) {
		margin-right: 4rem;
	}
}
