.order .btn {
	background-color: rgb(221, 43, 0);
	transition: background-color 0.2s;
}

.order .btn:hover {
	background-color: rgb(255, 100, 50);
}

#product-wrapper,
#online-book-wrapper {
	display: none;
	width: 100%;
}

#physical-product,
#online-product {
	display: table;
	width: 100%;
}

#product-wrapper .order-inline {
	display: block;
}

.product-description {
	display: table-cell;
	vertical-align: top;
}

.product-description .metadata {
	display: table;
	margin-bottom: 5px;
}

.product-description .metadata .image {
	display: none;
	vertical-align: top;
	padding-right: 10px;
}

.mobile-product-image {
	display: none;
	justify-content: center;
	margin: 1.5rem 0;
	max-height: 200px;
}

.mobile-product-image {
	display: flex;
}

@media (min-width: 481px) {
	.mobile-product-image {
		display: none;
	}
}

.product-description .metadata .product-text {
	display: table-cell;
	vertical-align: top;
}

.product-description .product-text .short-description {
	padding-top: 10px;
}

.product-description .overview {
	padding-top: 10px;
}

.right-column {
	width: 230px;
	/* Width of content is 215 because of padding */
	padding-left: 15px;
	display: none;
	vertical-align: top;
}

.right-column-p {
	width: 230px;
	/* Width of content is 215 because of padding */
	padding-left: 15px;
	display: table-row;
	text-align: center;
	vertical-align: top;
}

.bao-right-column {
	/*float: right;*/
	vertical-align: middle;
	width: 23%;
	padding: 0px 0px 0px 20px;
}

.bao-image {
	margin: auto;
	padding: 10px;
}

.bao-column {
	display: table-row;
}

.bao-column .bao-desktop {
	display: none;
}

.bao-left-column {
	text-align: center;
	vertical-align: middle;
}

.bao-headmaster {
	display: none;
}

.bao-tablet1 {
	display: none;
	transform: rotate(-10deg);
	padding: 0px 25px 0px 5px;
}

.bao-tablet2 {
	display: block;
	padding: 25px;
}

.bao-info h1,
.bao-info h2,
.bao-info h3 {
	color: #1b365d;
	text-align: center;
}

.right-column .order {
}

#online-product h3 {
	margin: 0;
}

#online-product a {
	font-weight: bold;
}

/** Order boxes */

.item-box {
	width: 100%;
	background-color: #f2f2f2;
	padding: 5px;
	margin-bottom: 5px;
}

.item-box.online-book {
	background-color: #deeaf8;
}

.info-wrapper {
	width: 100%;
	display: table;
}

.item-box .title-wrapper {
	display: table-cell;
}

.item-box .price-wrapper {
	display: table-cell;
	text-align: right;
}

.item-box .add-wrapper {
	display: block;
	vertical-align: top;
}

.physical-book .title {
	font-size: 12px;
}

.online-book .title {
	color: #1b365d;
}

.first-box .title-wrapper .title {
	color: #1b365d;
	font-size: 15px;
	padding-right: 5px;
}

.title-wrapper .title {
	font-weight: bold;
}

.title-wrapper .byline {
	font-size: 12px;
}

.price-wrapper .price {
	font-weight: bold;
}

.price-wrapper .savings {
	color: #009fad;
	font-weight: bold;
	font-size: 12px;
}

.add-wrapper .add {
	padding-top: 10px;
	text-align: right;
}

.add-wrapper .qty {
	width: 35px;
	height: 24px;
	float: right;
}

.add-wrapper .btn {
	float: right;
	margin-left: 5px;
}

.add-wrapper .attributes {
	margin-bottom: 5px;
}

.text-solutions-box {
	display: table;
	width: 100%;
	margin-bottom: 5px;
}

.text-solutions-box .text-box,
.text-solutions-box .solutions-box {
	display: table-cell;
	background-color: #f2f2f2;
	width: 105px;
	max-width: 105px;
	padding: 5px;
	font-size: 12px;
	font-weight: bold;
}

.text-solutions-box .text-box .byline,
.text-solutions-box .solutions-box .byline {
	font-weight: normal;
}

.text-solutions-box .spacer {
	display: table-cell;
	width: 5px;
}

/** Excerpts and Diagnostics */
.excerpts {
}

.excerpts a,
.diagnostics a {
	display: block;
	background-color: #eee;
	padding: 3px 4px;
	margin: 4px 0;
	font-size: 13px;
	font-weight: bold;
	font-family: arial, helvetica, sans-serif;
}

/* Icon before each excerpt and diagnostics */
.excerpts a:before,
.diagnostics a:before {
	content: "\f1c1";
	margin-right: 8px;
	display: inline-block;
	font-family: AoPS;
	font-style: normal;
	font-weight: normal;
	line-height: 1;
	color: red;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	position: relative;
	top: -1px;
}

.excerpts h3,
.diagnostics h3 {
	margin-top: 10px;
	margin-bottom: 5px;
	padding: 0;
}

#pdf-iframe {
	width: 100%;
	height: 100%;
	position: relative;
	border: none;
}

input.username {
	width: 100%;
	padding: 3px;
}

.item h1.title {
	font-size: 1.75em;
}

@media (min-width: 481px) {
	.product-description .metadata .image {
		display: table-cell;
	}

	.bao-column .bao-desktop {
		display: inline;
	}

	.bao-column .bao-mobile {
		display: none;
	}
}

/* At 768px, we want order form and excerpts on side */
@media (min-width: 768px) {
	.right-column {
		display: table-cell;
	}

	.right-column-p {
		display: table-cell;
		text-align: left;
	}

	#product-wrapper .order-inline {
		display: none;
	}

	.bao-left-column {
		/*float: left;*/
		vertical-align: center;
		width: 23%;
	}

	.bao-column {
		display: table-cell;
	}

	.bao-headmaster {
		display: block;
	}

	.bao-tablet1 {
		display: block;
	}

	.bao-tablet2 {
		display: none;
	}
}

/* At 840px, turn off order and excerpts sidebar because left nav now takes up space */
@media (min-width: 840px) {
	.right-column {
		display: none;
	}

	.right-column-p {
		display: table-row;
		text-align: center;
	}

	.bao-column {
		display: table-row;
	}

	.bao-headmaster {
		display: none;
	}

	.bao-tablet1 {
		display: none;
	}

	.bao-tablet2 {
		display: block;
	}

	#product-wrapper .order-inline {
		display: block;
	}
}

@media (min-width: 930px) {
	.product-description .metadata .image {
		display: table-cell;
	}
}

/* And back on at 1020px. */
@media (min-width: 1020px) {
	.right-column {
		display: table-cell;
	}

	.right-column-p {
		display: table-cell;
		text-align: left;
	}

	#product-wrapper .order-inline {
		display: none;
	}

	.product-image img {
		width: 175px;
		max-width: 175px;
	}

	.bao-left-column {
		/*float: left;*/
		vertical-align: center;
		width: 23%;
	}

	.bao-column {
		/*display: block;*/
		display: table-cell;
	}

	.bao-headmaster {
		display: block;
	}

	.bao-tablet1 {
		display: block;
	}

	.bao-tablet2 {
		display: none;
	}
}

@media (min-width: 1270px) {
	.product-image img {
		width: auto;
		max-width: inherit;
	}

	.bao-info h2 {
		text-align: left;
	}
}

.bao-info .aops-panel {
	border-top: 8px solid #1b365d;
}

.bao-middle-column {
	vertical-align: top;
}

.bao-image {
	max-width: 100%;
	height: auto;
}

.btn-bao {
	color: white;
	background-color: #1b365d;
	width: 100%;
}

.btn-bao:hover,
.btn-bao:focus,
.btn-bao:active,
.btn-bao.btn-active,
.open .dropdown-toggle.btn-bao {
	color: white;
	background-color: #009fad;
}

.bao-learn-more-arrow {
	font-size: 16pt;
	line-height: 16px;
	vertical-align: middle;
	margin-bottom: 2px;
}

#main-column {
	min-height: 100vh;
}
