.main {
	overflow: initial;
}

code {
	word-break: break-word;
}

.typography-caption {
	margin-top: 0.8em;
	font-weight: 600;
}

.eyebrow.badge {
	display: inline-block;
	margin-bottom: 8px;
}

article .headline-divider {
	border-top: 1px solid #d2d2d7;
	margin-top: 1.6em;
	padding-top: 1.6em;
}

h3,
h2 + h3,
h2 + h4,
span + h4 {
	margin-top: 1.6em;
}

h2.divider-top {
	padding-top: 1.6em;
}

h4 {
	margin-top: 1.6em;
}

h4 + ol {
	margin-top: 0.8em;
}

img + h2,
img + h4 {
	margin-top: 1.6em;
}

p + p.typography-caption {
	margin-top: 0.8em;
}
@media only screen and (max-width: 734px) {
	p + p.typography-caption {
		margin-top: 0.4em;
	}
}

img {
	display: block;
}

img.iap-branding-lockup {
	height: 34px;
}
img.iap-branding-badge {
	height: 56px;
}

img + p.typography-subbody {
	margin-top: 0.8em;
}

.row-flex.callout {
	padding: 34px;
}

.row-payment-flow img {
	margin-bottom: 17px;
}

.row-payment-flow img,
.row-iap-buttons img,
.row-layout-guidelines img,
img + p.typography-subbody,
p.typography-caption {
	width: 350px;
}
.row-layout-guidelines .column-wordmarks img,
.row-layout-guidelines .column-wordmarks .typography-subbody,
.row-layout-guidelines .column-wordmarks .typography-caption {
	width: 100%;
}
@media only screen and (max-width: 1068px) {
	.row-payment-flow img,
	.row-iap-buttons img,
	.row-layout-guidelines img,
	img + p.typography-subbody,
	p.typography-caption {
		width: 242px;
	}
}

table th {
	font-weight: 600;
	text-align: left;
	padding: 10px;
}

table td {
	text-align: left;
	padding: 10px;
}

table td:first-of-type {
	width: 15%;
}

.row-layout-guidelines,
.row-iap-buttons {
	text-align: center;
}
.device-row {
	margin-top: 1.6em;
	margin-bottom: 3.2em;
	text-align: center;
}
.device-row .device-wrap {
	margin-right: auto;
	margin-left: auto;
}
.device-row .typography-caption {
	width: 367px;
}
@media only screen and (max-width: 1068px) {
	.device-row .typography-caption {
		width: 259px;
	}
}
@media only screen and (max-width: 734px) {
	.row-layout-guidelines,
	.row-iap-buttons,
	.device-row {
		text-align: left;
	}

	.device-row {
		margin-top: 0;
	}
	.device-row .device-wrap {
		margin: 1.6em 0 0;
	}
	.device-row .typography-caption {
		text-align: left;
		width: 100%;
	}
}

.column-flex-center {
	align-self: center;
}

@media only screen and (max-width: 734px) {
	.column-flex-center {
		align-self: unset;
	}
}

/* ----- sidenav ----- */

.column-sidenav {
	height: 100%;
}

/* ----- Utilities ----- */

.row-flex {
	display: flex;
}

.row-flex .callout {
	margin-top: 1.5em;
}

.row-flex.callout .text-right img {
	position: absolute;
	right: 0;
	top: -28px;
}

.column-flex-center {
	align-self: center;
}

/* small viewport */
@media only screen and (max-width: 734px) {
	h3 {
		margin-top: 1.6em;
	}
	.row-flex {
		display: block;
	}
	.row-flex + p {
		margin-top: 0.8em;
	}
	.row-flex.callout .text-right img {
		top: -46px;
	}
}

@media only screen and (max-width: 579px) {
	.row-flex.callout .text-right img {
		position: static;
		margin: 1.5em auto 0 0;
		text-align: left;
	}
}
