/* =========================================================
   TACTICAL SHINE 412 - main2.css
   Clean override file loaded AFTER assets/css/main.css
========================================================= */

/* =========================
   BRAND COLORS
========================= */

:root {
	--forest-green: #1f3b2d;
	--forest-green-light: #315541;
	--metallic-silver: #c4c7cc;
	--gunmetal: #2b2f33;
	--matte-black: #111111;
	--tactical-orange: #d96b1d;
	--military-gold: #b8923f;
	--soft-white: #f4f4f4;
	--baby-blue: #74d9ff;
	--neon-red: #ff2b2b;
}

/* =========================
   GLOBAL BACKGROUND
========================= */

body {
	background:
		linear-gradient(
			rgba(0,0,0,0.18),
			rgba(0,0,0,0.92)
		),
		url("images/TacticalShine1.png") !important;

	background-position: center center !important;
	background-repeat: no-repeat !important;
	background-size: cover !important;
	background-attachment: fixed !important;

	color: var(--soft-white);
}

#page-wrapper,
#page-content {
	background: transparent !important;
}

/* =========================
   TOP HERO / HEADER
========================= */

#top-hero {
	background: #000;
	position: relative;
	overflow: visible;
	min-height: auto !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
}

#header {
	text-align: center;
	padding: 2em 0 0 0;

	background:
		linear-gradient(
			rgba(0,0,0,0.88),
			rgba(8,15,12,0.92)
		),
		url("images/TacticalShine1.png");

	background-position: center;
	background-size: contain !important;
	background-repeat: no-repeat;

	border-bottom: 2px solid #ffc933;

	position: relative;
	z-index: 20;
}

#header h1 {
	padding: 0 0 2em 0;
	margin: 0;
}

#header h1 a {
	font-size: 1.6em;
	letter-spacing: -0.025em;
	border: 0;
	color: #ffffff;

	text-shadow:
		0 0 12px rgba(80,200,255,0.55);
}



/* HEADER / BANNER SEPARATION FIX */

/* HEADER / BANNER SEPARATION FIX */

#header {
	position: relative !important;
	z-index: 50 !important;

	width: 100% !important;
	max-width: 100vw !important;

	background-size: contain !important;
	background-position: center center !important;
	background-repeat: no-repeat !important;
	background-color: #000 !important;
}

/* DESKTOP + TABLET */
#banner {
	margin-top: 18px !important;

	width: 100% !important;
	max-width: 100vw !important;

	overflow-x: auto !important;
	overflow-y: hidden !important;

	-webkit-overflow-scrolling: touch;

	cursor: grab;
}

#banner:active {
	cursor: grabbing;
}

.banner-img {
	display: block !important;

	min-width: 1200px !important;
	width: auto !important;
	max-width: none !important;
	height: auto !important;

	margin: 0 !important;
	padding: 0 !important;
}

/* PHONES */
@media screen and (max-width: 736px) {

	#header {
		padding-top: 200px !important;
		padding-bottom: 5.75em !important;

		min-height: 140px !important;

		width: 100% !important;
		max-width: 100vw !important;

		overflow-x: hidden !important;

		z-index: 100 !important;
	}

	#banner {
		margin-top: 104px !important;
	}

	.banner-img {
		min-width: 900px !important;
		width: auto !important;
		max-width: none !important;
	}
}


/* =========================
   NAVIGATION
========================= */

#nav {
	cursor: default;

	background:
		linear-gradient(
			rgba(0,0,0,0.12),
			rgba(0,0,0,0.32)
		);

	padding: 0;

	border-top: 1px solid rgba(255,255,255,0.08);
	border-bottom: 1px solid rgba(80,200,255,0.18);
}

#nav:after {
	content: '';
	display: block;
	width: 100%;
	height: 4px;

	background:
		linear-gradient(
			90deg,
			var(--tactical-orange),
			var(--baby-blue),
			var(--military-gold)
		);
}

#nav > ul {
	margin: 0;
}

#nav > ul > li {
	position: relative;
	display: inline-block;
	margin-left: 1em;
}

#nav > ul > li:first-child {
	margin-left: 0;
}

#nav > ul > li a {
	color: #d7d7d7;
	text-decoration: none;
	border: 0;

	display: block;
	padding: 1.5em 0.75em 1.35em 0.75em;

	transition:
		color 0.25s ease,
		text-shadow 0.25s ease;
}

#nav > ul > li:hover a {
	color: #fff;
	text-shadow: 0 0 8px rgba(116,217,255,0.7);
}

#nav > ul > li.current a {
	color: #fff;
	font-weight: 600;
}

#nav > ul > li.current:before {
	content: '';
	position: absolute;

	left: 50%;
	bottom: -0.35em;

	width: 0.75em;
	height: 0.75em;

	margin-left: -0.375em;

	transform: rotate(45deg);

	background: var(--military-gold);
	box-shadow: 0 0 12px rgba(116,217,255,0.7);
}

/* Drop-down menu */

/* =========================
   CONSOLIDATED DROPDOWN MENU
========================= */

.dropotron {
	background: #ccfdff !important;

	border: 2px solid #000000 !important;
	border-radius: 14px !important;

	min-width: 12em !important;
	padding: 0.65em 0 !important;

	text-align: center !important;
	list-style: none !important;

	box-shadow:
		0 0 16px rgba(116, 217, 255, 0.55),
		0 12px 22px rgba(0, 0, 0, 0.45) !important;

	overflow: hidden !important;
}

.dropotron > li {
	line-height: 1.4em !important;
	padding: 0 !important;
	text-align: center !important;
}

.dropotron > li > a {
	display: block !important;

	width: 100% !important;
	padding: 1.2em 1em !important;

	color: #000000 !important;

	text-align: center !important;
	text-decoration: none !important;
	border: 0 !important;

	font-weight: 600 !important;
}

.dropotron > li:hover > a,
.dropotron > li.active > a {
	background: #74daff00 !important;
	color: #000000 !important;
}

.dropotron.level-0 {
	border-radius: 0 0 14px 14px !important;
	font-size: 0.9em !important;
	margin-top: -1px !important;
	padding-top: 0 !important;
}

/* =========================
   BANNER
   Preferred HTML:
   <section id="banner">
      <img src="images/Banner3.png" class="banner-img" alt="">
      <header id="banner-cta">...</header>
   </section>
========================= */

#banner {
	background: #000 url("../../images/Banner3.png") center center / contain no-repeat !important;

	width: 100%;
	height: auto !important;
	min-height: 0 !important;
	max-height: none !important;

	position: relative !important;
	overflow: visible !important;

	margin: 0 !important;
	padding: 0 !important;

	border-bottom: 2px solid #9dff00;
}

.banner-img {
	display: block;
	width: 100%;
	height: auto;

	max-height: 100vh;

	object-fit: contain;
}

/* If .banner-img exists, hide the CSS background so it does not double-image. */
#banner:has(.banner-img) {
	background: #000 !important;
	background-image: none !important;
}

/* =========================
   FLOATING CTA
========================= */

#banner header#banner-cta,
#banner-cta {
	position: fixed !important;

	top: 52vh !important;
	left: 50% !important;
	right: auto !important;
	bottom: auto !important;

	width: min(92%, 1100px) !important;
	max-width: 1100px !important;

	transform: translateX(-50%) !important;

	background: rgba(0,0,0,0.72);
	backdrop-filter: blur(5px);

	border: 1px solid var(--neon-red);
	border-radius: 12px;

	color: #fff;
	padding: 1em 1.5em;

	z-index: 99999;
	text-align: center;

	box-shadow:
		0 0 18px rgba(255,0,0,0.75),
		0 10px 30px rgba(0,0,0,0.55);

	opacity: 0;
	animation: ctaFlyLeftFixed 1.4s ease-out 5s forwards !important;
}

#banner-cta h2 {
	margin: 0 0 0.65em 0;
	color: #ffffff;
}

#banner-cta em {
	color: var(--neon-red);
	font-style: normal;
	text-shadow: 0 0 10px rgba(0,255,0,0.75);
}

.cta-buttons {
	display: flex;
	justify-content: center;
	gap: 0.75em;
	flex-wrap: wrap;
}

.cta-buttons .button {
	min-width: 120px;
}

#close-cta {
	position: absolute;
	top: 10px;
	right: 10px;

	width: 46px;
	height: 46px;

	min-width: 46px;
	max-width: 46px;

	border-radius: 5%;
	border: 2px solid #ffc933;

	background: rgba(217,107,29,0.95);

	color: #fff;

	font-size: 1.2em;
	font-weight: bold;
	line-height: 30px;

	cursor: pointer;
	padding: 0;

	box-shadow:
		0 0 12px rgba(255,201,51,0.65);

	transition:
		transform 0.2s ease,
		box-shadow 0.2s ease,
		background 0.2s ease;
}

#close-cta:hover {

	background: #ffc933;
	color: #000;

	transform: scale(1.08);

	box-shadow:
		0 0 18px rgba(255,201,51,0.95);
}

#banner-cta.cta-hidden {
	display: none !important;
}

/* =========================
   BUTTONS
========================= */

.button,
button,
input[type="submit"] {
	background:
		linear-gradient(
			135deg,
			var(--baby-blue),
			#0094a8
		);

	color: #000000 !important;

	border: 0;

	box-shadow:
		0 0 14px rgba(116,217,255,0.35);

	transition:
		transform 0.2s ease,
		box-shadow 0.2s ease;
}

.button:hover,
button:hover,
input[type="submit"]:hover {
	transform: translateY(-2px);
	box-shadow: 0 0 18px rgba(116,217,255,0.65);
}

/* =========================
   PAGE CONTENT FADE-UP
========================= */

#page-content {
	position: relative;
	z-index: 10;

	opacity: 0;
	transform: translateY(120px);

	transition:
		transform 1.4s ease-out,
		opacity 1.4s ease-out;
}

#page-content.content-visible {
	opacity: 1;
	transform: translateY(0);
}

.content-visible {
	transform: translateY(0);
	opacity: 1;
}

/* =========================
   CONTENT SECTIONS
========================= */

.wrapper.style1,
.wrapper.style2,
.wrapper.style3,
#footer {
	background: rgba(10, 15, 12, 0.80) !important;
}

.wrapper.style3 {
	background:
		linear-gradient(
			135deg,
			rgba(31,59,45,0.88),
			rgba(43,47,51,0.88)
		) !important;

	color: #fff;
}

.icon.major {
	background:
		linear-gradient(
			135deg,
			var(--tactical-orange),
			var(--military-gold)
		);

	box-shadow:
		0 0 0 7px rgba(255,255,255,0.9),
		0 0 18px rgba(116,217,255,0.45);

	color: #fff;
}

/* =========================
   ANIMATIONS
========================= */

@keyframes ctaFlyLeftFixed {
	0% {
		opacity: 0;
		transform: translateX(calc(-50% - 140px));
		filter: blur(8px);
	}

	100% {
		opacity: 1;
		transform: translateX(-50%);
		filter: blur(0);
	}
}

/* Kept for compatibility with older banner header rules */
@keyframes bannerFlyLeft {
	0% {
		opacity: 0;
		transform: translateX(calc(-50% - 140px));
		filter: blur(8px);
	}

	100% {
		opacity: 1;
		transform: translateX(-50%);
		filter: blur(0);
	}
}

/* =========================
   PHONE
========================= */

/* =========================
   PHONE
========================= */

@media screen and (max-width: 736px) {

	html,
	body {
		background-color: #000 !important;
		min-height: 100% !important;
		overflow-x: hidden !important;
	}

	body {
		background:
			linear-gradient(
				rgba(0,0,0,0.18),
				rgba(0,0,0,0.92)
			),
			url("images/TacticalShine1.png") !important;

		background-size: 145% auto !important;
		background-position: center top !important;
		background-repeat: repeat-y !important;
		background-attachment: scroll !important;
	}

	#top-hero {
		min-height: auto !important;
		height: auto !important;
		padding: 0 !important;
		margin: 0 !important;
	}

	#header {
		width: 100% !important;
		max-width: 100vw !important;
		overflow-x: hidden !important;

		padding-top: 0 !important;
		padding-bottom: 0.75em !important;

		min-height: 140px !important;

		background-position: center top !important;
		background-repeat: no-repeat !important;
		background-size: contain !important;

		z-index: 100 !important;
	}

	#header h1 {
		padding: 0 0 0.5em 0 !important;
		margin: 0 !important;
	}

	#header h1 a {
		font-size: 1em !important;
		line-height: 1.2em !important;
	}

	#nav > ul > li a {
		padding: 1em 0.45em !important;
	}

	#banner {
		margin-top: 14px !important;

		width: 100% !important;
		max-width: 100vw !important;

		height: auto !important;
		min-height: 0 !important;

		overflow: hidden !important;

		padding: 0 !important;
		background-color: #000 !important;
	}

	.banner-img {
		display: block !important;

		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;

		height: auto !important;
		max-height: 85vh !important;

		margin: 0 auto !important;
		padding: 0 !important;

		object-fit: contain !important;
		object-position: center center !important;
	}

	#banner-cta {
		top: 50vh !important;
		left: 50% !important;
		width: 92% !important;
		padding: 0.75em !important;
		transform: translateX(-50%) !important;
	}

	#banner-cta h2 {
		font-size: 1.05em !important;
		line-height: 1.2em !important;
	}

	.wrapper {
		padding: 1.5em 0 1em 0 !important;
	}

	.wrapper.style1,
	.wrapper.style2,
	.wrapper.style3 {
		padding-top: 1.25em !important;
		padding-bottom: 1.25em !important;
	}

	.row {
		margin-top: -20px !important;
		margin-left: -20px !important;
	}

	.row > * {
		padding: 20px 0 0 20px !important;
	}
}

/* =========================
   IPAD / TABLET
========================= */

@media screen and (min-width: 737px) and (max-width: 1180px) {

	#top-hero {
		min-height: 0 !important;
		height: auto !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	#header {
		padding-top: 0.5em !important;
		padding-bottom: 22px !important;
	}

	#banner {
		margin-top: 22px !important;
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;
		padding: 0 !important;
		overflow: hidden !important;
	}

	.banner-img {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		height: auto !important;
		margin: 0 auto !important;
		padding: 0 !important;
	}

	#page-content {
		margin-top: 0 !important;
		padding-top: 0 !important;
	}

	#banner-cta {
		top: 45vh !important;
		width: 88% !important;
	}

	.wrapper {
		padding-top: 1.5em !important;
		padding-bottom: 1.5em !important;
	}
}

/* iPad portrait */
@media screen and (min-width: 737px) and (max-width: 1180px) and (orientation: portrait) {
	#banner-cta {
		top: 38vh !important;
		width: 88% !important;
	}
}

/* iPad landscape */
@media screen and (min-width: 737px) and (max-width: 1180px) and (orientation: landscape) {
	#banner-cta {
		top: 45vh !important;
		width: 82% !important;
	}
}

/* =========================
   IPAD PRO / LARGE TABLET
========================= */

@media screen and (min-width: 1024px) and (max-width: 1366px) {

	#top-hero {
		min-height: 0 !important;
		height: auto !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	#header {
		padding-bottom: 24px !important;
	}

	#banner {
		margin-top: 24px !important;
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;
		padding: 0 !important;
		overflow: hidden !important;
	}

	.banner-img {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		height: auto !important;
		margin: 0 auto !important;
		padding: 0 !important;
	}

	#page-content {
		margin-top: -1px !important;
		padding-top: 0 !important;
	}

	#banner-cta {
		top: 42vh !important;
		width: 82% !important;
	}
}

/* =========================
   DESKTOP HEADER SPACING
========================= */

@media screen and (min-width: 1181px) {

	#header {
		padding-bottom: 24px !important;
	}

	#banner {
		margin-top: 24px !important;
	}
}

/* =========================
   MOBILE + TABLET BANNER FIX
========================= */

@media screen and (max-width: 1180px) {

	.banner-img {
		display: block !important;

		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;

		height: auto !important;
		max-height: 85vh !important;

		margin: 0 auto !important;
		padding: 0 !important;

		object-fit: contain !important;
		object-position: center center !important;
	}
}

/* =========================
   IPHONE FIX
========================= */

@media screen and (max-width: 736px) {

	html,
	body {
		background-color: #000 !important;
		min-height: 100% !important;
		overflow-x: hidden !important;
	}

	body {

		background:
			linear-gradient(
				rgba(0,0,0,0.18),
				rgba(0,0,0,0.92)
			),
			url("images/TacticalShine1.png") !important;

		background-size: 145% auto !important;

		background-position: center top !important;

		background-repeat: repeat-y !important;

		background-attachment: scroll !important;
	}

	#header {
		width: 100% !important;
		max-width: 100vw !important;
		overflow-x: hidden !important;
	}

	#banner {
		margin-top: 14px !important;

		width: 100% !important;
		max-width: 100vw !important;

		overflow: hidden !important;

		padding: 0 !important;
	}
}
/* =========================
   FINAL HEADER CENTER FIX
========================= */

#top-hero,
#header,
#nav,
#banner {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  left: 0 !important;
  right: 0 !important;
}

#header {
  text-align: center !important;
  background:
    linear-gradient(
      rgba(0,0,0,0.88),
      rgba(8,15,12,0.92)
    ),
    url("../../images/TacticalShine1.png") !important;

  background-position: center center !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-color: #000 !important;
}

#header h1 {
  width: 100% !important;
  text-align: center !important;
  margin: 0 auto !important;
}

#nav {
  text-align: center !important;
}

#nav > ul {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

#banner {
  overflow-x: hidden !important;
}

.banner-img {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  margin: 0 auto !important;
}

/* =========================
   CONTACT FORM INPUT TEXT
========================= */

input,
textarea {
  color: #000 !important;
}

input::placeholder,
textarea::placeholder {
  color: #555 !important;
}

/* =========================
   SMOOTH SCROLL
========================= */

/* =========================
   MOBILE MERCH PAGE FIX
========================= */

@media screen and (max-width: 736px) {

  body {
    display: block;
    min-height: 100vh;
    background: #000;
  }

  .home-button {
    position: fixed;
    top: 10px;
    left: 10px;
    z-index: 9999;
  }

  .flyer-wrapper {
    width: 100%;
    max-width: 100%;
    padding-top: 562px;
    min-height: auto;
  }

  .flyer-wrapper img {
    width: 100%;
    max-width: 100%;
    height: auto;
    display: block;
    object-fit: contain;
  }

}


	.dropotron li a,
.dropotron li span,
#nav ul ul li a {
	color: #000 !important;
}

.dropotron li a:hover,
#nav ul ul li a:hover {
	color: #000000 !important;
}


html {
  scroll-behavior: smooth;
}

