/* Banner */
.header {
	position: relative;
	padding: 128px 0 16px;
	min-height: 256px;
	background-color: black;
	background-image: url("pinecone-in-focus.jpg");
	background-size: cover;
	background-position: 50% 100%;
	background-repeat: no-repeat;
	margin-bottom: 32px;
	color: rgba(255, 255, 255, 0.9);
}

.header .title {
	font-size: 2.4em;
	font-weight: 500;
	text-shadow: 0 1px 2px black;
}

.header a.title[href] {
	color: inherit;
}

.header a.title[href]:hover {
	border-bottom-color: currentColor;
}

.header .description {
	font-size: 1.4em;
	font-weight: 300;
	text-shadow: 0 1px 3px black;
}

h1 {
	font-size: 2.25em;
	padding: 0 0 16px;
	margin: 0;
	border-bottom: 1px solid lightgray;
}

.first-wrapper {
	margin: auto;
	width: 50%;
}

.youtube-video-wrapper {
	position: relative;
	display: block;
	width: 100%;
	padding-top: 56.25%;
	margin-bottom: 8px;
}

.youtube-video {
	position: absolute;
	left: 0;
	top: 0;
	display: block;
	width: 100%;
	height: 100%;
}

/* Table of Contents */

.table-of-contents a[href] {
	display: block;
	margin-left: 16px;
	padding-top: 4px;
	color: rgba(0, 0, 0, 0.85);
}

.table-of-contents a[href]:hover {
	color: firebrick;
	border-bottom: none;
}

h2 > a[name] {
	outline: none;
}

h2 > a[name]:hover {
	border-bottom: none;
}

h2 > a[name]::after {
	font-family: 'Material Icons';
	font-weight: normal;
	font-style: normal;
	/*font-size: 24px;*/
	line-height: 1em;
	letter-spacing: normal;
	text-transform: none;
	display: inline-block;
	white-space: nowrap;
	word-wrap: normal;
	direction: ltr;
	-webkit-font-feature-settings: 'liga';
	-webkit-font-smoothing: antialiased;
	padding-left: 8px;
	vertical-align: bottom;
	color: lightgray;
	content: "link";
}

h2 > a[name]:hover::after,
h2 > a[name]:active::after,
h2 > a[name]:focus::after {
	color: gray;
}

/* Intent List */

#intent-list {
	padding: 8px;
	list-style: none;
}

#intent-list:empty::after {
	display: block;
	font-size: 2em;
	min-height: 600px;
	content: "Loading...";
}

#intent-list li {
	font-size: 1.25em;
	font-weight: 500;
	text-transform: capitalize;
}

#intent-list span {
	padding-left: 8px;
	font-size: 0.8em;
	font-weight: 300;
	color: gray;
	text-transform: lowercase;
}

a[href].action-button {
	display: inline-block;
	position: absolute;
	top: 0;
	right: 0;
	padding: 16px 16px 16px 64px;
	height: 80px;
	line-height: 48px;
	font-size: 2.5em;
	margin-bottom: 16px;
	background-color: firebrick;
	color: rgba(255, 255, 255, 0.90);
	text-shadow: -1px -1px 1px rgba(255, 255, 255, 0.2),
		1px 1px 1px rgba(0, 0, 0, 0.5);
}

.action-button::before {
	position: absolute;
	left: 0;
	top: 0px;
	border: 40px solid transparent;
	border-left-color: white;
	display: block;
	content: "";
}

.action-button::after {
	position: absolute;
	left: 100%;
	top: 0px;
	border: 40px solid transparent;
	border-left-color: firebrick;
	display: block;
	content: "";
}

/* Phone diagram */
.tab-section {
	text-align: left;
}

.tab-section > .description {
	font-size: 1.25em;
	margin-bottom: 24px;
}

.tab {
	text-align: center;
	overflow-y: hidden;
	overflow: hidden;
}

.tab .column {
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	display: inline-block;
	width: 20%;
	max-width: 240px;
	padding-top: 24px;
	vertical-align: top;
	text-align: left;
}

.tab .column-before {
	padding-right: 56px;
	text-align: right;
}

.tab .column-after {
	padding-left: 56px;
}

.tab .column-before:not(:empty) ~ .column-after {
	padding-top: 64px;
}

.tab .column .description {
	position: relative;
	margin-bottom: 24px;
}

.tab .column-before .description::after,
.tab .column-after .description::before {
	position: absolute;
	top: 0;
	display: inline-block;
	height: 100%;
	font-size: 1.4em;
	font-weight: 300;
	color: gray;
	content: attr(data-note-number);
}

.tab .column-before .description.hover::after,
.tab .column-after .description.hover::before {
	font-weight: 400;
	color: firebrick;
	border-color: firebrick;
}

.tab .column-before .description::after {
	left: 100%;
	margin-left: 8px;
	padding-left: 8px;
	border-left: 1px solid gray;
}

.tab .column-after .description::before {
	right: 100%;
	margin-right: 8px;
	padding-right: 8px;
	border-right: 1px solid gray;
}

.tab .column-before .description.hover::after {
	margin-left: 7px;
	padding-left: 7px;
	border-left-width: 3px;
	border-left-style: double;
}

.tab .column-after .description.hover::before {
	margin-right: 7px;
	padding-right: 7px;
	border-right-width: 3px;
	border-right-style: double;
}

.tab .description .title {
	font-size: 1.25em;
	font-weight: 500;
}

.phone-wrapper {
	position: relative;
	display: inline-block;
	width: 100%;
	max-width: 414px;
	margin-bottom: 24px;
	/*padding: 6px;*/
	/*padding: 1px;*/
	/*background-color: black;*/
	/*background: linear-gradient(20deg, #333 0%, #000 100%);*/
	background: linear-gradient(215deg, #888 0%, #333 30%, #000 100%);
	/*border: 1px solid lightgray;*/
	/*border-radius: 1.75em;*/
	/*box-shadow: 4px 1px 0 0px #242424, 8px 2px 0 -1px black;*/
}

.phone-wrapper > .speaker {
	margin: 1.25em 40%;
	width: 20%;
	height: 0.4em;
	background-color: #333;
	border-radius: 0.25em;
}

.phone-wrapper > .screen {
	position: relative;
	width: 100%;
	padding-top: 177.77777%;
	/*border: 4px solid #333;*/
	/*border-radius: 2px;*/
	/*background-image: url("screen6.png");*/
	background-position: top;
	background-size: contain;
	background-repeat: no-repeat;
	box-shadow: 0 0 5px 5px rgba(0, 0, 0, 0.1);
}

.phone-wrapper > .screen .note .pointer {
	position: absolute;
	border-radius: 2px;
	min-width: 16px;
	height: 16px;
	line-height: 16px;
	/*padding: 2px;*/
	background-color: black;
	color: rgba(255, 255, 255, 0.9);
	font-size: 10px;
	box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.5);
}

.phone-wrapper > .screen .note .pointer::before {
	display: inline-block;
	height: 16px;
	line-height: 16px;
	content: attr(data-note-number);
}

.phone-wrapper > .screen .note .pointer.hover {
	background-color: firebrick;
	/*color: rgba(0, 0, 0, 0.9);*/
}

/* Banner captions */
.cards {
	text-align: center;
}

.card {
	position: relative;
	display: inline-block;
	vertical-align: top;
	width: 600px;
	min-height: 450px;
	margin-bottom: 20px;
	padding-bottom: 12px;
	text-align: left;
	border-radius: 2px;
	box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, 0.4),
		0px 0px 1px 0px rgba(0, 0, 0, 0.2);
}

.card > * {
	display: block;
}

.card > p {
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	display: block;
	margin: 0;
	padding: 24px 24px 0;
	width: 100%;
	height: calc(100% - 1px);
	font-size: 24px;
	font-weight: 400;
	white-space: normal;
}

.card > .detail {
	padding: 12px 24px 0;
}

/* Banner Screenshots */
.banner {
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	position: relative;
	display: block;
	width: 100%;
	/*padding-top: 53.3333%;*/
	padding-top: 48%;
	/*margin: 32px 0;*/
	background-color: lightgray;
	border-bottom: 1px solid #E8E8E8;
	/*background-image: url("banner-image-bg.jpg");*/
	background-size: cover;
	overflow: hidden;
	box-shadow: inset 0 0 128px -2px black;
}

.banner + .banner {
	border-top: 4px solid black;
}

.banner > .banner-image[data-src] {
	position: absolute;
	left: 10%;
	top: -12.5%;
	width: 80%;
	height: 125%;
	/*background-image: url(attr(data-src));*/
	background-repeat: no-repeat;
	background-size: cover;
	background-position: 50% 50%;
	border: 4px solid black;
	box-shadow: 0 2px 6px -1px rgba(0, 0, 0, 0.75);
	transform: rotate(-5deg);
	-webkit-transform: rotate(-5deg);
	-moz-transform: rotate(-5deg);
	-o-transform: rotate(-5deg);
}

/* Info */
.release-info-section {
	margin-bottom: 0;
}

.page-width.divider {
	border-bottom: 1px solid lightgray;
}

.page-width.divider {
	padding-top: 24px;
}

h2 {
	font-size: 1.8em;
	margin-bottom: 8px;
}

.release-info {
	font-size: 1.25em;
	padding-bottom: 12px;
}

.release-updates {
	margin-left: 16px;
	margin-top: 16px;
	padding: 16px;
	border-left: 4px solid black;
	font-size: 1.4em;
	font-weight: 400;
	background-color: #E8E8E8;
	max-width: 512px;
	margin-bottom: 16px;
}

.release-updates > i {
	position: relative;
	top: 2px;
	font-size: 1em;
	padding-right: 6px;
	vertical-align: text-top;
}

/* Footer */
.footer {
	background-color: lightgray;
	padding: 16px 0;
	margin-bottom: 0;
}

/* Links */

a[href] {
	color: firebrick;
	text-decoration: none;
}

a[href]:hover {
	border-bottom: 1px solid firebrick;
}

/* EU Cookie Notice */
#eu-cookie-notice {
	position: fixed;
	left: 0;
	bottom: 0;
	width: 100%;
	padding: 0px 12px;
	background-color: black;
	color: rgba(255, 255, 255, 0.87);
	box-shadow: 0 -2px 8px 2px rgba(0, 0, 0, 0.4);
	font-size: 14px;
	transition: bottom 0.5s;
}

#eu-cookie-notice div.okay {
	display: inline-block;
	padding: 12px;
	text-transform: uppercase;
	font-weight: bold;
	color: firebrick;
	cursor: pointer;
}

#eu-cookie-notice a[href].details {
	display: inline-block;
	/*padding: 12px;
	text-transform: uppercase;*/
	font-weight: bold;
	cursor: pointer;
	color: inherit;
	text-decoration: none;
	border-bottom: 1px solid transparent;
}

#eu-cookie-notice a[href].details:hover {
	/*border: none;*/
	border-bottom: 1px solid currentColor;
}

#eu-cookie-notice.hidden {
	bottom: -128px;
}


/* Small Displays */
@media (max-width: 967px) {
	body.first-page .header {
		margin-bottom: 0;
	}

	.first-info:nth-child(2) {
		display: none;
	}

	.first-info {
		padding-bottom: 16px;
	}

	.first-info h2 {
		margin-top: 0px;
	}

	a[href].action-button {
		box-sizing: border-box;
		-moz-box-sizing: border-box;
		position: relative;
		left: -128px;
		width: calc(100% + 256px);
		padding: 16px;
		margin-bottom: 32px;
		box-shadow: 0 1px 6px 2px rgba(0, 0, 0, 0.25);
	}

	a[href].action-button::before {
		content: unset;
	}

	a[href].action-button::after {
		position: static;
		display: inline-block;
		margin-left: 8px;
		border: none;

		font-family: 'Material Icons';
		font-weight: normal;
		font-style: normal;
		letter-spacing: normal;
		text-transform: none;
		display: inline-block;
		white-space: nowrap;
		word-wrap: normal;
		direction: ltr;
		-webkit-font-feature-settings: 'liga';
		-webkit-font-smoothing: antialiased;

		vertical-align: bottom;
		content: "arrow_forward";
	}

	.tab .column-before {
		display: none;
	}

	.tab .phone-wrapper {
		width: 55%;
	}

	.tab .column-after {
		width: 40%;
	}

	#eu-cookie-notice {
		position: relative;
		width: auto;
		max-height: 256px;
		margin: 16px;
		padding: 16px 96px 16px 16px;
		border-left: 4px solid black;
		background-color: #E8E8E8;
		box-shadow: none;
		color: rgba(0, 0, 0, 0.87);
		transition: transform 0.2s, opacity 0.2s;
	}

	#eu-cookie-notice.hidden {
		bottom: 0;
		opacity: 0;
		transform: translateY(32px);
	}

	#eu-cookie-notice div.okay {
		position: absolute;
		right: 16px;
		bottom: 16px;
	}
}

/* Tiny Displays */
@media (max-width: 599px) {
	.first-info {
		padding-bottom: 20px;
	}

	a[href].action-button {
		/*float: none;*/
		left: -16px;
		line-height: 48px;
		width: calc(100% + 32px);
		height: 64px;
		padding: 8px;
		font-size: 2.25em;
	}

	.tab .phone-wrapper {
		max-width: none;
		overflow: hidden;
	}

	.tab .phone-wrapper {
		width: 100%;
	}

	.tab .column-after {
		width: 100%;
		max-width: none;
		padding-top: 0;
		padding-right: 12px;
	}

	.phone-wrapper > .screen {
		border-bottom: 1px solid lightgray;
	}
	.phone-wrapper::after {
		position: absolute;
		left: -16px;
		bottom: -4px;
		display: block;
		/*width: calc(100% + 20px);*/
		width: calc(100% + 32px);
		height: 28px;
		background-color: white;
		box-shadow: 0 -12px 20px -12px rgba(0, 0, 0, 0.75);
		/*content: "";*/
	}
}

@media (max-width: 831px) {
	.phone-wrapper {
		font-size: 0.75em;
	}

	.release-updates {
		font-size: 1.25em;
		margin-left: 0;
	}
}