/* template.css overwrites -- use only when absolutely necessary
================================*/
.banner {padding-top: 53.334%; }
.banner-img {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	max-height: 400px;
	background: url("../imgs/hero2.png") no-repeat 0 0;
	background-size: cover;
	background-position: center;
}

.price{margin:0 0 0.825em 0;}
.price-save-dollar,.price-save-label,.price-save-percent{position:relative;background:#cc4e00;color:#fff;font-weight:700;font-size:13px;}
.price-save-percent:after{left: 100%;border-bottom:19px solid #cc4e00;border-right: 10px solid transparent;margin-bottom:0;}

/* No Orange Bar for Custom LPs with Black Background
.price-save-dollar,.price-save-label,.price-save-percent{position:relative;background:none;color:#fff;font-weight:700;font-size:13px;}
.price-save-percent:after{left: 100%;border-bottom:none;border-right: 10px solid transparent;margin-bottom:0;}
*/

.price-save-label{padding:0 0 1px 6px}
.price-save-dollar{padding:0 0 1px 2px}
.price-save-percent{padding:0 6px 1px 2px}
.price-save-label:before,.price-save-percent:after{content:'';position:absolute;bottom:0;width:0;height:0;}
.item-cell{border-bottom:none;}
.item-promo{margin-top:1em;}
.item-promo-code{border-color:#888;}
.item-promo-title span{color:#333;}
.item-promo-info{color:#cc4e00;}
.item-promo-code{padding:1.5em 5px 1em 5px;height:auto;color:#cc4e00;}
.item-promo-code-save{display:inline;}
li.mir{display:none;}
.instantSavings, .mir{display:block;}
.finalPrice{font-size:1.6em;}
.instantSavings{font-size:0.925em}
.shipping{visibility:hidden;}
.mir{font-size:1em;margin:0;color:#016B04}
.btn-mini{border-color:#E68626;font-family:'Open Sans','Arial Narrow','Helvetica Narrow',arial,helvetica,sans-serif;letter-spacing:1px}
.hero{ position:relative; }
.hero img { width:100%; }
/* Bootstrap Q&A Tab Panels
================================*/

.panel-default > .panel-heading {
    color: #fff;
    background-color: #000;
    border-color: #888;
}
.panel-title > .small, .panel-title > .small > a:hover, .panel-title > a:hover, .panel-title > small, .panel-title > small > a:hover {
    color: #ffc000;
}

/* custom CSS on a per project basis
================================*/

body {
	background-color: #020a39;
}
.btn-area { margin-top:0; }

.hero{ position:relative; padding-top:36%; }
.hero img { width:100%; }
.hero-img{position: absolute; top: 0; left: 0; right: 0;bottom: 0; background: url("../imgs/hero2.png") no-repeat 0 0; background-size: cover;}
.hero-bg { background: url('../imgs/hero_bg.jpg') no-repeat top center; background-size:contain; max-width:1920px; width:100%; margin:auto; }

.section-inner {
	font-family:"Montserrat", sans-serif;
}

.smcx-show {
    display: inline-block !important;
}

.contentwrap{width:100%;padding:0;font-size:.8em;position:relative;display:table;line-height:1.4; }
.alltext{width:70%;padding:1% 0%;display:block;margin:0 auto;color:#fff; text-align:center;}

.alltext h1 { color:#f0e9a5; font-size:clamp(2.5rem, 4vw, 4rem); }
.alltext p { font-weight:400; }

.ngg-intro { font-size: 25px; font-weight: 400 !important; margin-top: 15px; }
.ngg-details { font-size:2rem; padding:2% 0 3%;}

/* "btn-primary" changed to "bttn-primary" due to Bootstrap CSS conflict
================================*/

.bttn-primary, .button.button-primary {
    border-color: #c60;
    background: #ffa33a;
}
.bttn-primary, .btn-secondary, .btn-alt {
    text-transform: uppercase;
}

.bttn-primary:hover, .bttn-primary:active, .button.button-primary:hover, .button.button-primary:active {
	background: #f39834 !important;
	color: #222 !important;
}

.bfpp-badge {
	max-width: 34%;
	vertical-align: middle;
}

.contentwrap {
	margin: auto auto 60px auto;
	max-width: 1366px;
}

h1.heading {
	
	border-top: 1px solid #ffc000;
	border-bottom: 0px solid #ffc000;
	color: #fff;
	font-size: 2em;
	font-weight: 700;
	margin: 50px 20px 20px 20px;
	padding: 2% 10px 1%;
	text-align: center;
}

h2.subheading {
	background: #ea7d13;
	color: #fff;
	font-weight: 600;
	font-size: 1.7em;
	text-align: center;
}

.message {
	
	font-weight: normal !important;
	padding: 1em 0 3em 0;
	max-width: 990px;
	width: 100%;
	margin: 0 auto;
	text-align: center;
}

.message p {
	color: #fff;
	font-size: 1.875em;
	line-height: 1.5em;
	font-weight: 700;
	padding: 0 1.5em;
}

a.link {
	color: #337ab7;
	text-decoration: underline;
}

a.link:hover {
	color: #000;
	text-decoration: none;
}

span.bold {
	font-weight: 700;
}

.two_col {
	display: inline-block;
	margin: 0px auto 40px auto;
	padding: 0px 20px;
	text-align: center;
	vertical-align: middle;
	width: 43%;
}

.two_col p {
	color: #000;
	font-size: 1.875em;
	font-weight: 300;
	line-height: 1.5em;
	margin-top: 20px;
	padding: 0 1.5em;
}

.divider {
	border-bottom: 2px solid #ababab;
	margin: 10px auto 30px auto;
}

.disclaimer {
	color: #fff;
	font-family: 'Open Sans', sans-serif;
	font-size: 12px;
	margin-top: 40px;
	text-align: center;
}

.disclaimer a {
	color: #012d6b;
	border-bottom: 1px solid #ea7d13;
}

.disclaimer a:hover {
	color: #000;
	border-bottom: 1px solid #fff;
}

/* Toggle for FAQ section */
.ngg-all-faq { display:flex; max-width:1300px; width:96%; margin:auto; gap:10px; }
.ngg-all-faq div { flex:1; }
.ngg-faq { display:flex; flex-direction:column; gap:5px; }
.ngg-faq details { width:100%; max-width:640px; margin:0 auto 1%; background-color:#000; color:#fff; border-radius:8px; border:1px solid #fff5; transition:.58s; }
.ngg-faq summary { padding:10px 15px; cursor:pointer; border-radius:8px; font-weight:bold; display:list-item; transition:.58s; }
.ngg-faq summary:hover { background-color:orange; color:#09144f; transition:.58s; }
.ngg-faq details[open] > summary { border-bottom:1px dotted #ccc; border-bottom-left-radius:0; border-bottom-right-radius:0; transition:0s; }
.ngg-faq details p { padding:10px 20px; color:#000; background-color:#fff; border-bottom-left-radius:8px; border-bottom-right-radius:8px; }

.ngg-btn { border-radius:30px; padding:15px 0; text-transform:unset; letter-spacing:0; font-family:'Open Sans',sans-serif; font-size:clamp(1.5rem, 2vw, 2rem); }




.bfpp-badge2 {
	width: 100% !important;
	vertical-align: middle;
	max-width:200px; 
}

.ngg-line-with-title {
            display: flex;
            align-items: center;
            width: 100%;
            margin: 20px 0;
        }
        .ngg-line {
            flex: 1;
            height: 1px;
            background-color: #000;
        }
        .ngg-titleline {
            padding: 0 15px;
            font-size: 18px;
            font-weight: bold;
        }
.ngg-faded-hr { border: none;
            height: 1px;
            background: linear-gradient(to right, transparent, #fff, transparent);
            margin: 20px 0;		}
.ngg-abs { padding:0 7% !important; }
.ngg-abs-logo { max-width:200px; width:100%; }

.ngg-deals-banner { display:block; margin:2% 1%; }

.ngg-whole-deal { display:flex; width:100%; gap:20px 0; align-items:center; }
.ngg-wd-left { flex:0 0 30%; box-sizing:border-box; }
.ngg-wd-right { flex:0 0 70%; box-sizing:border-box; }
.ngg-whole-deal div > img { max-width:150px; width:100%; }
.ngg-deal { display:flex; flex-direction:column; justify-content:center; padding:3% 9% 0; }
.ngg-deal div > p { letter-spacing: 3px; }
.ngg-deal div h2 { color:#f0e9a5; font-size:clamp(2rem, 4vw, 4rem); line-height:1.1; }


/* ── Individual card ── */
    .ngg-hiw-card {
      padding: 2%;
      text-align: center;
      display: flex;
      flex-direction: column;
      align-items: center;
	  border-right:1px solid #fff5;
    }
	.ngg-hiw-card:last-child { border-right:0px; }

    /* ── Step number badge ── */
    .ngg-hiw-step-badge {
      width: 42px;
      height: 42px;
      border-radius: 50%;
      background-color: #f5a623;
      color: #000;
      font-size: 20px;
      font-weight: 700;
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
    }

    /* ── Step title ── */
    .ngg-hiw-step-title {
      font-size: 1.2em;
      font-weight: 700 !important;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      color: #fff;
	  padding:10px 2px;
	  min-height:60px; 
	  
    }

    /* ── Step body text ── */
    .ngg-hiw-step-body {
      font-size: 1.5em;
      color: #ccc;
	    padding:0 !important;
    }

    /* ── Inline highlights ── */
    .ngg-hiw-highlight-gold {
      color: #f5a623;
      font-weight: 600;
	  padding:0 !important;
    }

    .ngg-hiw-highlight-blue {
      color: #00aaff;
      font-weight: 700;
	  padding:0 !important;
      display:inline-block;
    }

    /* ── FantasTech badge pill ── */
    .ngg-hiw-badge-pill {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      background: linear-gradient(90deg, #e87722 0%, #c85a00 100%);
      color: #fff;
      font-size: 13px;
      font-weight: 700;
      padding: 6px 14px;
      border-radius: 4px;
      white-space: nowrap;
    }

    .ngg-hiw-badge-pill svg {
      width: 16px;
      height: 16px;
      fill: #fff;
      flex-shrink: 0;
    }

	/* how it works */
/* ── Section wrapper ── */
    .ngg-hiw-section {
      border-radius:10px;
	  border:2px solid #fff5;
      padding: 3% 1%;
      color: #fff;
    }

    /* ── Section heading ── */
    .ngg-hiw-heading {
      text-align: center;
      font-size: 20px;
      font-weight: 700;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      color: #fff;
      margin-bottom: 32px;
    }

    /* ── Three-column grid ── */
    .ngg-hiw-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      max-width: 960px;
      margin: 0 auto;
    }

    @media (max-width: 640px) {
      .ngg-hiw-grid {
        grid-template-columns: 1fr;
      }
    }


/* responsive CSS on a per project basis
================================*/

@media only screen and (max-width: 768px) {
	.bfpp-badge { max-width:50%; }
    .ngg-intro { font-size:16px !important; }
	.ngg-all-faq { flex-direction: column; width:95%; }
	.disclaimer { margin:7%; text-align:justify; }
	.hero { padding-top:52%; }
	.hero-img { background: url("../imgs/hero3.png") no-repeat 0 0; background-size: cover;}
}



@media only screen and (max-width: 550px) {
	.message {
		font-size: .85em;
	}
	.bfpp-badge { max-width:70%; }
  .ngg-hiw-section { width:80%; margin:auto; }
  .ngg-hiw-card { border-right:0px; padding:5% 0; border-bottom:1px solid #fff5; }
  .ngg-hiw-card:last-child { border-bottom:0; }
	.ngg-hiw-step-title { min-height:auto; }
  .ngg-hiw-heading { margin:2% 0; }
  .disclaimer p { margin:1.5em 0; font-size:12px !important; }
  .alltext { width:90%; }
  .bfpp-badge { max-width:60%; }
}

@media only screen and (max-width: 375px) {
	.message {
		font-size: .7em;
	}
}



@media only screen and (max-width: 1024px) {
	/* insert responsive CSS for screens below 1024px */
	div.two_col {
		border: none;
		margin: 0px 0px 20px 0px;
		padding: 0px;
		width: 100%;
	}
	
	div.winners {
		max-width: 88%;
	}
}

@media only screen and (min-width: 375px) {
	/* insert responsive CSS for screens above 375px */
}
@media only screen and (min-width: 481px) {
	/* insert responsive CSS for screens above 481px */
}
@media only screen and (min-width: 641px) {
	/* insert responsive CSS for screens above 641px */
	.banner { padding-top: 30%; }
	
}
@media only screen and (min-width: 769px) {
	/* insert responsive CSS for screens above 769px */
		.items-grid .item-cell { width: 22%; }

}
@media only screen and (min-width: 1025px) {
	/* insert responsive CSS for screens above 1025px */
}

@media (max-width:676px){
    .banner-img{
	background-position: center !important;
}

}
