/* 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: #0e0e0e;
	font-size: 20px;
 font-family: 'Poppins', "Helvetica Neue", Helvetica, Arial, sans-serif;
 line-height: 1.2;
}

@media(max-width: 959px) {
 body {
  font-size: 18px;
 }
}

h1,h2,h3 {
 font-family: 'Poppins', "Helvetica Neue", Helvetica, Arial, sans-serif;
 margin: 0 auto 25px;
 text-align: center;
}

.fa-ul li {
 list-style-image: none;
}

.fa-li {
 color: #0c1cb4;
}

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

.color--alt {
 color: #dd5100;
}

/* Strikethrough: */
 
.strikethru {
  text-decoration: none;
  position: relative;
  line-height: 1em;
 }

 .strikethru:after {
  transition: all 0.4s ease;
  border-bottom: 0.3em solid rgba(255, 0, 0, 0.7);
  content: "";
  left: 0;
  margin-top: calc(0.3em / 2 * -1);
  position: absolute;
  right: 0;
  top: 50%;
  transform: rotate(-20deg);
 }
 
 
 .order-button .strikethru:after {
   border-bottom: 0.3em solid rgba(255, 255, 0, 0.7);
 }

.hand-insert {
	color: #f00;
	font-weight: bold;
	font-family: "Kaushan Script", cursive;
	font-size: 1.2em;
    padding-right: 0.2em;
}

.order-button .hand-insert {
    color: #ff0;
}

/* ===== Layout Rules ===== */

.content {
 background: #fff;
 margin: 0;
 padding: 0;
}

.container {
 margin: 0 auto;
 max-width: 1140px;
 padding: 0px 20px
}

.wrapper {
 max-width: 720px;
 margin: 0 auto;
}

section {
 padding: 50px 0;
}

.section-rel {
 position: relative;
}

.section__header {
padding: 50px;
background: #0c1cb4;
text-align: center;
position: relative;
margin-bottom: -50px;
top: -100px;
}

.section__header h2 {
 margin: 0 auto;
}

@media(max-width: 960px) {
 .section__header h2 {
  font-size: 1.5rem;
 }
}

.section__header:after {
 content:'';
 position: absolute;
 top: 100%;
 left: 0;
 right: 0;
 margin: 0 auto;
 width: 0;
 height: 0;
 border-top: solid 50px #0c1cb4;
 border-left: solid 50px transparent;
 border-right: solid 50px transparent;
}

.section-with-section-header {
 position: relative;
}

.portrait-with-bg {
 position: relative;
 max-width: 150px;
 width: 100%;
 position: relative;
 height: 250px;
 background: #E4EFF9;
 float: right;
 margin: 0 0 .8em 2em;
}

.portrait-with-bg img {
 position: absolute;
 left: -20px;
 max-width: 150px;
 z-index: 20;
 top: 30px;
 filter: drop-shadow(0 2px 5px rgba(0,0,0,.3));
}

.portrait-with-bg--left {
 position: relative;
 max-width: 150px;
 width: 100%;
 height: 250px;
 background: #E4EFF9;
 float: left;
 margin: 0 2em .8em 0;
}

.portrait-with-bg--left img {
 position: absolute;
 left: 20px;
 max-width: 150px;
 z-index: 20;
 top: 30px;
}

@media(max-width: 540px) {
 .portrait-with-bg--left,.portrait-with-bg {
  float: none;
  margin: 0 auto;
  background: transparent;
  height: auto;
 }

 .portrait-with-bg--left img, .portrait-with-bg img {
  left: 0;
  top: 0;
  position: relative;
 }
}



/* ===== Header Rules ===== */

header {
 /* This background color can be changed depending on the promo */
 background: linear-gradient(45deg,#78bbfa, #c1dcf5);
 padding: 50px 0 100px;
}

header h1 {
 color: #050a3a;
 font-size: 4.5rem;
}

@media(max-width: 1140px) {
 header h1 {
  font-size: 3.3rem;
 }
}

@media(max-width: 540px) {
 header h1 {
  font-size: 2.3rem;
 }
}

.header__copy {
 text-align: center;
}

.header__content {
 display: flex;
 justify-content: space-around;
 max-width: 100%;
}

@media(max-width: 1140px) {
 .header__content {
  flex-wrap: wrap;
 }

 .header__sign-up {
 margin-top: 20px;
 }
}

.header__video {
	margin: 0 auto;
 max-width: 600px;
 width: 100%;
}

.header__sign-up {
 /* This background can be changed depending on the promo */
 background: #7684ff;
 max-width: 450px;
 text-align: center;
 padding: 20px;
}

.header__sign-up p {
 margin: 10px 0;
}

.sign-up__header {
 font-weight: bold;
 font-size: 1.9rem;
}

.sign-up__subhead {
 font-size: 1.9rem;
 margin: 20px auto;
 max-width: 28em;
}

@media(max-width: 960px) {

}

.sign-up__button-caption {
 font-size: .9rem;
 display: block;
}

/* ===== Main Rules ===== */

.section__bg-color {
 background-color: #a0d9ff;
}

.section__bg-color-alt {
 background-color: #c2dcff;
}

/* Part Cards */

.part__cards {
	display: flex;
	flex-wrap: wrap;
   margin: 0 auto;
}

.part__card {
 background: #dee7ff;
 padding: 50px;
 margin: 30px auto;
 max-width: 720px;
 border-radius: 5px;
 font-size: 1rem;
}

.part__title {
 font-size: 2.2rem;
 text-align: center;
}

/* testimonials */

.testimonial-section {
 float: right;
 margin: 0 0 .6em .8em;
}

.testimonial-section__top, .testimonial-section__bottom {
 display: flex;
 justify-content: space-around;
 align-items: center;
}

.testimonial-section__bottom {
 margin-bottom: 50px;
}

.testimonial-section__top hr, .testimonial-section__bottom hr {
 max-width: 100px;
 height: 5px;
}

.testimonial-section__top i, .testimonial-section__bottom i {
 font-size: 2em;
}

.testimonial__card, .testimonial__card--alt {
  background: #dee7ff;
  padding: 20px;
  margin: 50px auto;
  max-width: 250px;
  border-radius: 5px;
  font-size: 1rem;
  box-shadow: 0 2px 8px 1px rgba(0,0,0,.1);
}

.testimonials .testimonial-section, .testimonial-section--alt {
 margin: 50px auto;
 float: none
}

.testimonials .testimonial__card, .testimonial__card--alt {
 max-width: 900px;
}

.testimonials .testimonial-section__top hr, .testimonials .testimonial-section__bottom hr, .testimonial-section__top--alt hr, .testimonial-section__bottom--alt hr {
 max-width: 500px;
 height: 5px;
}

@media(max-width: 740px) {
 .testimonial-section {
  float: none;
  margin: 20px auto;
 }

 .testimonial__card {
  max-width: 900px;
 }
}


/* ===== Bonus Rules ===== */

.bonus {
 background: #7a9dff;
 padding: 20px;
 margin: 50px auto;
 max-width: 900px;
 border-radius: 5px;
}

.bonus__header {
 color: #fefefe;
 background-color: #0c1cb4;
 padding: 20px;
}

/* ===== Footer Rules */

/* ===== Button Rules ===== */

a.order-button {
    background: #ff811b;
    background: -webkit-linear-gradient(top, #ff9a43 0%, #ff8623 49%, #ff811b 50%, #ff6c06 100%);
    background: linear-gradient(to bottom, #ff9a43 0%, #ff8623 49%, #ff811b 50%, #ff6c06 100%);
    border-radius: 0.25em;
    color: #fff;
    display: inline-block;
    font-size: 1.4em;
    font-weight: bold;
    line-height: 1.2;
    margin: 0.25em auto;
    padding: 0.5em 1em 0.6em;
}

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%);
}

/* Checkbox Styles */

.checkboxes__container {
 padding: 20px;
 /* margin: 50px auto; */
}

.checkboxes {
 display: flex;
 justify-content: space-around;
 max-width: 700px;
 align-items: center;
 margin: 25px 0;
 border-radius: 5px;
}

.checkbox__copy {
 margin: 0;
 max-width: 600px;
 width: 100%;
}


/* Customize the label (the checkbox) */
.describe__checkbox {
	/* background: #ff9919; */
	border-radius: 0.5em;
	cursor: pointer;
	color: #fff;
	display: block;
	font-weight: bold;
	font-size: 1.1em;
	margin: 0 auto 0.5em;
	padding: 0.5em 0.5em 0.6em;
	position: relative;
	text-align: center;
	text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.4);
	width: 10%;
	z-index: 1;
}

/* Hide the browser's default checkbox */
.describe__checkbox input {
	cursor: pointer;
	opacity: 0;
	position: absolute;
}


/* Create a custom checkbox */
.describe__checkbox-checkmark {
	background-color: #afafaf;
	border-radius: 0.33em;
	display: inline-block;
	height: 1.75em;
	margin-left: 0;
	text-align: center;
	width: 1.75em;
	vertical-align: middle;
}

/* On hover/focus, change styling */
/* .describe__checkbox:hover {
	background-color: #ffb151;
	box-shadow: 0.1em 0.1em 0.1em 0 rgba(0, 0, 0, 0.2);
}

.describe__checkbox:focus-within {
	background-color: #ffb151;
	box-shadow: 0.1em 0.1em 0.1em 0 rgba(0, 0, 0, 0.2);
} */

/* .describe__checkbox:hover input~.describe__checkbox-checkmark,
.describe__checkbox input:focus~.describe__checkbox-checkmark {
	background-color: #eee;
	box-shadow: 0.1em 0.1em 0.1em 0 rgba(0, 0, 0, 0.2);
} */

/* When the checkbox is checked, add a colored background */
.describe__checkbox.checked {
	background-color: #7684ff;
}

.describe__checkbox input:checked~.describe__checkbox-checkmark {
	background-color: #7684ff;
}

/* On hover/focus and when checked, change styling */
.describe__checkbox.checked:hover {
	background-color: #7684ff;
	box-shadow: 0.1em 0.1em 0.1em 0 rgba(0, 0, 0, 0.2);
}

.describe__checkbox.checked:focus-within {
	background-color: #7684ff;
	box-shadow: 0.1em 0.1em 0.1em 0 rgba(0, 0, 0, 0.2);
}

.describe__checkbox:hover input:checked~.describe__checkbox-checkmark,
.describe__checkbox input:checked:focus~.describe__checkbox-checkmark {
	background-color: #7684ff;
	box-shadow: 0.1em 0.1em 0.1em 0 rgba(0, 0, 0, 0.2);
}

/* Create the checkmark/indicator (hidden when not checked) */
.describe__checkbox-checkmark:after {
	color: #fff;
	content: '\f00c';
	display: none;
	font: normal normal normal 14px/1.7em FontAwesome;
	font-size: inherit;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

/* Show the checkmark when checked */
.describe__checkbox input:checked~.describe__checkbox-checkmark:after {
	display: inline-block;
}

/* Product Grid Media Queries */

@media (min-width: 25.875em) {

 .describe__checkbox,
 .describe__checkbox:hover,
 .describe__checkbox.checked,
 .describe__checkbox.checked:hover {
  background: none;
  box-shadow: none;
  position: relative;
 }

 .describe__checkbox:focus-within,
 .describe__checkbox.checked:focus-within {
  background: none;
  box-shadow: none;
  position: relative;
 }

 .describe__checkbox-checkmark {
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 0;
 }

 .product-grid .describe__checkbox-helper-text {
  /* Visually hide, but still is read by screen readers */
  position: absolute;
  left: -10000px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
 }
 }

 @media(max-width: 415px) {
  .checkboxes {
  flex-wrap: wrap;
  background: #f2f2f2;
  padding: 10px;
  }

  .checkbox__copy {
   order: 1;
  }

  .describe__checkbox {
   order: 2;
  }
 }