/* IE/Edge Responsive Viewport */
@-ms-viewport {
	width: device-width;
}

/* Offer Expired Resets */
.offer-expired {
	background: url(/_img/toolbox/icons/icon_important-60.png) no-repeat center 15px, linear-gradient(#d00, #800);
	border-radius: 0;
	padding: 80px 1em 1em;
	text-align: center;
	width: auto;
	min-height: 0;
}

/* General Rules */

body {
	color: #111;
	font-family: 'Montserrat', 'Helvetica Neue', Helvetica, Arial, sans-serif;
	font-size: 100%;
	line-height: 1.5;
}

h1,
h2,
h3,
.h1,
.h2,
.h3 {
	font-family: 'Montserrat', 'Helvetica Neue', Helvetica, Arial, sans-serif;
	line-height: 1.2;
} 

h1,
.h1{
	font-size: 2em;
	color: #fff;
	margin: 0.2em auto 0;
}

h2,
.h2 {
	text-align: center;
	color: #9c9518;
	margin-left: auto;
	margin-right: auto;
}

h3,
.h3 {
	color: #204d7d;
}


.headline-part {
	display: block;
}

.headline-part + .headline-part {
	margin-top: 0.5em;
}

p {
	margin: 1.2em 0;
}

.fa-ul li, 
.no-bullets {
	list-style: none;
}

.fa-li {
	color: #9c9518;
}

img {
	height: auto;
	max-width: 100%;
}

@media (min-width: 30em) {
	body {
		font-size: 110%;
	}

	h1,
	.h1 {
		font-size: 2.6em;
	}
}

@media (min-width: 48em) {
	body {
		font-size: 118%;
	}
}

@media (min-width: 62em) {
	body {
		font-size: 125%;
	}
}

/* Layout Rules */

.content {
	box-sizing: border-box;
	padding: 0
}

.content *,
.content *:before,
.content *:after{
	box-sizing: inherit;
}

.wrap {
	margin: 0 auto;
	max-width: 35em;
	padding: 1px 1em;
}

/* Header Rules */

.hero-overlay {
	background: #c4c4c4 url(/_img/toolbox/p/inf/inf_offer_mosaic.jpg);
	background-size: cover;
	/*min-height: 70vh;*/
	padding: 1px 1em 1em;
	text-align: center;
	
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
}

.hero-overlay.-gold {
	background: #bebc62;
	background: linear-gradient(rgba(220, 227, 0, 0.5), rgba(123, 105, 0, 0.5)), url(/_img/toolbox/p/inf/inf_offer_mosaic.jpg);	
}

.lc-banner {
    background: #000;
    background: linear-gradient(rgba(0, 0, 0, 1) 70%, rgba(0, 0, 0, 0));
    margin: -1px -1em;
    padding: 1em 1em 1.1em;
    display: flex;
    align-items: center;
    min-height: 70vh;
}

.hero-overlay .wrap {
	border: #fff solid 0.5em;
	background-color: #000;
	background-color: rgba(0, 0, 0, 0.85);
	color: #fff;
	max-width: 45em;
	margin: 1em auto;
}

.eyebrow {
	background: #1b7b00;
	border-radius: 1em;
	display: inline-block;
	padding: 0.25em 0.5em 0.3em;
}

.headline-part-small {
	margin-bottom: 0.2em;
	font-size: 0.7em;
	color: #ff0;
}

.headline-part-big {
	color: #ff0;
	font-size: 2.5em;
	line-height: 0.9;
}

.deck {
	font-size: 1.3em;
	margin: 0.6em auto;
}

.deck-warning {
	background-color: #fff;
	color: red;
	font-size: 1.2em; 
	margin: 0 -0.9em -0.1em;
	padding-top: 0.25em;
}

@media (orientation: landscape) {
	.hero-overlay{
		min-height: 10vh;
	}
}

@media (min-width: 30em) {
	.headline-part-big {
		font-size: 2.3em;
	}
}

@media (min-width: 48em) {
	.hero-overlay {
		background-size: contain;
	}
	
	.headline-part-big {
		font-size: 2.8em;
	}
}

/* Content Rules */

.portrait,
.aside-image{
	margin: 1.2em 0;
	text-align: center;
}

.portrait-inner {
	background: #d6d64d;
	border: 6px solid #d6d64d;
	border-radius: 0.5em;
	display: inline-block;
}

.portrait .caption {
	color: inherit;
	font-size: 0.8em;
	padding-bottom: 0.1em;
}

.portrait img {
	border-radius: 0.5em;
	display: block;
}

.inline-quote,
.centered-box {
	border-radius: 0.5em;
	margin: 1.2em auto;	
	padding: 1px 1em;
}

.inline-quote {
	background: #b4ffa9;
	font-size: 0.9em;
}

.centered-box {
	background: #e9e9a0;
}

.value {
	color: #008000;
	text-align: right;
}

.two-col-wrap {
	display: table;
	margin: -1em auto;

	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.two-col-wrap .two-col-wrap_col {
	display: table-cell;
	box-sizing: content-box;
	margin: 1em;
	min-width: 150px;
	vertical-align: middle;
	
	-webkit-flex: 0 0 150px;
	-ms-flex: 0 0 150px;
	flex: 0 0 150px;
}

@media (min-width: 32.5em) {
	.aside-image-right{
		float: right;
		margin: 0 0 1em 0.5em;
	}
	
	.two-col-150 {
		border: solid #eee;
		border-width: 1px 0;
		display: table;
		margin: 1.4em auto;
		padding: 1.4em 0;

		display: -ms-flexbox;
		display: -webkit-flex;
		display: flex;
		flex-wrap: wrap;
		-webkit-align-items: center;
		-ms-flex-align: center;
		align-items: center;
	}

	.two-col-150 + .two-col-150 {
		border-width: 0 0 1px;
		padding: 0 0 1.4em;
	}

	.two-col-150.borderless {
		border: 0 none;
		padding: 0;
		margin: 0 auto;
	}

	.two-col-150 .portrait {
		margin: 0 auto;
	}
	
	.two-col-150 .col-copy,
	.two-col-150 .col-image {
		display: table-cell;
		vertical-align: middle;
	}

	.two-col-150 .col-copy-wide {
		flex: 1 1 100%;
	}

	.two-col-150 .col-copy {
		flex: 0 1 calc(100% - 150px + -1em);
	}

	.two-col-150 .col-copy > p:first-of-type {
		margin-top: 0;
	}

	.two-col-150 .col-copy > p:last-of-type,
	.two-col-150 .col-copy-wide > p:last-of-type {
		margin-bottom: 0;
	}

	.two-col-150 .col-image {
		box-sizing: content-box;
		min-width: 150px;
		padding-left: 1em;
		
		-webkit-flex: 0 0 150px;
		-ms-flex: 0 0 150px;
		flex: 0 0 150px;
	}

	.two-col-150 .col-image img {
		display: block;
	}
	
	.two-col-150:nth-of-type(even) .col-image {
		padding-left: 0;
		padding-right: 1em;

		order: -1;
	}
}

/* Skip Last Bar */

html {
    scroll-behavior: smooth;
}

.skip-list-bar-wrapper {
    background-color: #fff;
    padding: 1px;
	position: -webkit-sticky;
	position: sticky;
	top: 0;
    z-index: 1;
}

.skip-list-bar {
	border: 2px solid #ccc;
	border-radius: 1em;
	font-size: 0.9em;
	margin: 1em auto;
	max-width: 33em;
	text-align: center;
}

.skip-list-bar a {
	display: block;
	padding: 1em;
}

#product-list-end {
    padding-top: 10px;
}

/* Buttons */

a.order-button {
	background: #ff811b;
	background: -webkit-linear-gradient(top,  #ff9a43 0%,#ff9640 49%,#ff811b 50%,#ff6c06 100%);
	background: linear-gradient(to bottom,  #ff9a43 0%,#ff9640 49%,#ff811b 50%,#ff6c06 100%);
	border: 0.075em solid #76675C;
	border-radius: 0.25em;
	box-shadow:0 0 0 0.15em #A6A6A6;
	color: #fff;
	display: inline-block;
	font-weight: bold;
	font-size: 1.5em;
	line-height: 1.2;
	margin: 0.5em auto;
	padding: 0.25em 0.67em 0.33em;
}

a.order-button:hover, 
a.order-button:focus, 
a.order-button:active {
	color:#ff3;
}

a.order-button:active {
	background: #d36b18;
	background: -webkit-linear-gradient(top,  #d18945 0%,#d67e34 49%,#d36b18 50%,#d25a06 100%);
	background: linear-gradient(to bottom,  #d18945 0%,#d67e34 49%,#d36b18 50%,#d25a06 100%);
}

/* Utility Classes */

.underline { text-decoration: underline; }