@charset "UTF-8";
/* CSS Document */


*:not(input):not(textarea) {
	
	/* disable selection/Copy of web content */
	-webkit-touch-callout: none;
	/* disable the IOS popup when long-press on a link */
}


/* define standard CSS defaults for HeadShed App */

html,
body,
div,
span,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
p,
a img,
font,
img,
dd,
dl,
dt,
li,
ol,
ul,
blockquote,
fieldset,
form,
label,
legend,
table,
caption,
tr,
th,
td,
video {
	margin: 0;
	border: 0;
	line-height: inherit;
	font-family: inherit;
	font-size: 100%;
}

html,
body {
	height: 100%;
	width: 100%;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
	-webkit-touch-callout: none;
	background: transparent;
}

body {
	min-height: 100%;
}

input {
	-webkit-appearance: none !important;
	appearance: none !important;
	outline: none !important;
	box-shadow: none !important;
}

input:focus {
	outline: none !important;
	box-shadow: none !important;
}

select:focus {
	outline: none !important;
	box-shadow: none !important;
}

html::-webkit-scrollbar {
	display: none;
}

::placeholder {
	color: rgba(255,255,255,0.40);
}

/* clearFix for legacy buggy rendering */

.clearFix {
	clear: both;
}

.hidden {
	display: none !important;
}


/* GENERIC PAGE STYLES */

.bodyBkgnd {
	background: var(--Gradients-Twiilight-Shift, linear-gradient(0deg, #2C61C7 0%, #2A4D99 14%, #233B71 27%, #1E2B50 40%, #1A2037 54%, #171726 68%, #15121B 83%, #0D091E 100%));
	background-color: rgba(13, 9, 30, 1);
	display: flex;
}


@media only screen and (max-width: 720px) {
	.bodyBkgnd {
		display: block;
		background-color: rgba(13, 9, 30, 1);
	}
}


.bodyBkgndStripe {
	background-color: rgba(30, 37, 63, 1);
	display: block;
}


@media only screen and (max-width: 720px) {
	.bodyBkgndStripe {
		display: block;
		background-color: rgba(30, 37, 63, 1);
	}
}

.gradBkgnd {
	/* empty for non-mobile */
}

@media only screen and (max-width: 720px) {
	.gradBkgnd {
		display: block;
		position: fixed;
		top: 0px;
		left: 0px;
		bottom: 0px;
		right: 0px;
		background: var(--Gradients-Twiilight-Shift, linear-gradient(0deg, #2C61C7 0%, #2A4D99 14%, #233B71 27%, #1E2B50 40%, #1A2037 54%, #171726 68%, #15121B 73%, #0D091E 80%));
		/*background-color: red;*/
	}
}


.logo {
	display: block;
	aspect-ratio: 600 / 116;
	background-image: url(logo-horizontal.svg);
	background-size: contain;
	background-repeat: no-repeat;
	z-index: 10;
	width: 160px; 
	position: absolute; 
	top: 50px; 
	left: 120px;
}

@media only screen and (max-width: 720px) {
	.logo {
		width: 120px; 
		position: absolute; 
		top: 50px; 
		left: 32px;
	}
}



.halfscreenleft {
	display: flex;
	width: 50%;
	height: 100%;
	position: relative;
	min-width: 480px;
	justify-content: center;
	align-items: center;
}

@media only screen and (max-width: 720px) {
	.halfscreenleft {
		width: 100%;
		height: auto;
		min-width: auto;
		aspect-ratio:768/530;
	}
}



.halfscreenright {
	display: flex;
	width: 50%;
	height: 100%;
	position: relative;
	min-width: 480px;
	justify-content: center;
	align-items: center;
	height: 100vh;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
}

@media only screen and (max-width: 720px) {
	.halfscreenright {
		display: block;
		width: 100%;
		height: auto;
		position: relative;
		min-width: auto;
		padding: 24px;
		box-sizing: border-box;
		background: var(--Gradients-Twiilight-Shift, linear-gradient(0deg, #2C61C7 0%, #2A4D99 14%, #233B71 27%, #1E2B50 40%, #1A2037 54%, #171726 68%, #15121B 83%, #0D091E 100%));
	}
}


.bearVertical {
	background-image: url(bear-vertical.jpg);
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
}

@media only screen and (max-width: 720px) {
	.bearVertical {
		background-image: url(bear-horizontal.jpg);
	}
}


.bearGradientLow {
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	background: linear-gradient(0deg, rgba(44, 97, 199, 0.80) 0%, rgba(42, 77, 153, 0.70) 14%, rgba(21, 18, 27, 0.00) 80%, rgba(13, 9, 30, 0.00) 100%);
	z-index: 5;
}

@media only screen and (max-width: 720px) {
	.bearGradientLow {
		height: 60%;
		bottom: 0px;
}
}

.bearGradientTop {
	display: block;
	position: absolute;
	width: 100%;
	height: 128px;
	top: 0px;
	left: 0px;
	background: linear-gradient(0deg, rgba(44, 97, 119, 0.00) 0%, rgba(13, 9, 30, 1.00) 100%);
	z-index: 4;
}

@media only screen and (max-width: 720px) {
	.bearGradientTop {
		display: none;
	}
}


.halfscreenleftstripe {
	display: flex;
	width: 100%;
	height: 64px;
	position: relative;
}

@media only screen and (max-width: 720px) {
	.halfscreenleftstripe {
		width: 100%;
		height: auto;
		min-width: auto;
		aspect-ratio:768/530;
	}
}

.stripeHeader {
	width: 100%;
	height: 92px;
	display: block;
	margin-bottom: 24px;
	background-image: url(stripeHeader.jpg);
	background-position: top right;
	background-size: contain;
	background-repeat: no-repeat;
	background-color: rgba(147, 177, 209, 1);
}

@media only screen and (max-width: 720px) {
	.stripeHeader {
		background-image: url(bear-horizontal.jpg);
		height: auto;
	}
}

.stripeHeaderLogo {
		display: block;
		aspect-ratio: 600 / 116;
		background-image: url(logo-horizontal.svg);
		background-size: contain;
		background-repeat: no-repeat;
		z-index: 10;
		height: 32px; 
		position: absolute; 
		top: 30px; 
		left: 50px;
		filter: drop-shadow(0px 0px 3px rgba(0,0,0, 0.33));
}

@media only screen and (max-width: 720px) {
	.stripeHeaderLogo {
		width: 120px; 
		position: absolute; 
		top: 50px; 
		left: 32px;
	}
}


.actionArea {
	display: block;
	width: 360px;
	height: 600px;
}

@media only screen and (max-width: 720px) {
	.actionArea {
		display: block;
		width: 100%;
		height: auto;
		flex-grow: 1;
	    overflow-y: auto;
	}
}

.headline {
	color: rgba(250, 250, 250, 1.00);
	font-family: paralucent;
	font-style: normal;
	font-size: 40px;
	line-height: 100%;
	letter-spacing: -0.8px;
	leading-trim: both;
	text-edge: cap;
}

.subhead {
	color: rgba(250, 250, 250, 0.85);
	text-shadow: 0px 0px 8px rgba(0, 0, 0, 0.25);
	font-family: paralucent;
	font-weight: 300;
	font-style: normal;
	font-size: 21px;
	line-height: 116%;
	letter-spacing: -0.42px;
	leading-trim: both;
	text-edge: cap;
}

.subheadGreen {
	color: rgba(167, 239, 188, 1.00);
}

.vSpacer {
	display: block;
	width: 100%;
}

.purchaseOptionActive {
	width: 100%;
	height: 77px;
	border-radius: 12px;
	border: 2px solid #FFF;
	background: rgba(26, 24, 50, 0.20);
	box-sizing: border-box;
	position: relative;
}

.purchaseOptionPassive {
	width: 100%;
	height: 77px;
	border-radius: 12px;
	border: 1px solid rgba(255, 255, 255, 0.15);
	background: rgba(26, 24, 50, 0.20);
	box-sizing: border-box;
	position: relative;
}

.purchaseTitle {
	position: absolute;
	left: 22px;
	top: 16px;
	color: #FFF;
	leading-trim: both;
	text-edge: cap;
	font-family: "halyard-text-variable";
	font-variation-settings: "wght" 400;
	font-size: 15px;
	font-style: normal;
	line-height: 100%;
	/* 15px */
}

.purchasePrice {
	position: static;
	left: 22px;
	top: 40px;
	color: #FFF;
	leading-trim: both;
	text-edge: cap;
	font-family: "halyard-text-variable";
	font-variation-settings: "wght" 200;
	font-size: 15px;
	font-style: normal;
	line-height: 100%;
}

.priceWrapper {
    display: flex;
    align-items: center;
    gap: 10px;
    
    position: absolute;
    left: 22px;
    top: 40px;
}

.purchaseFlash {
	position: absolute;
	top: 12px;
	right: 12px;
	display: flex;
	height: 20px;
	padding: 0px 8px;
	/*padding: 2px 6px 0px 6px;*/
	justify-content: center;
	align-items: center;
	border-radius: 10px;
	background: rgba(255, 102, 51, 1.00);
}

.purchaseFlashText {
	display: block;
	color: rgba(255, 255, 255, 1.00);
	font-family: "halyard-text-variable";
	font-variation-settings: "wght" 400;
	font-size: 12px;
	font-style: normal;
	line-height: 100%;
	padding-top: 2px;
}

.giftBanner {
	color: rgba(255, 255, 255, 1.00);
	font-family: "halyard-text-variable";
	font-variation-settings: "wght" 450;
	font-size: 15px;
	font-style: normal;
	line-height: 100%;
	display: block;
	margin-left: 22px;
}

.giftBtn {
	display: flex;
	align-items: center;
	gap: 6px;
	margin-left: 22px;
}

.tickPassive {
	display: block;
	width: 20px;
	height: 20px;
	background-image: url(tickPassive.svg);
	background-size: contain;
	background-repeat: no-repeat;
}

.tickActive {
	display: block;
	width: 20px;
	height: 20px;
	background-image: url(tickActive.svg);
	background-size: contain;
	background-repeat: no-repeat;
}

.tickAutoActive {
	display: block;
	width: 20px;
	height: 20px;
	background-image: url(tickActive.svg);
	background-size: contain;
	background-repeat: no-repeat;
}

.tickAutoPassive {
	display: block;
	width: 20px;
	height: 20px;
	background-image: url(tickPassive.svg);
	background-size: contain;
	background-repeat: no-repeat;
}

.giftBtnText {
	color: rgba(255, 255, 255, 1.00);
	font-family: "halyard-text-variable";
	font-variation-settings: "wght" 300;
	font-size: 12px;
	font-style: normal;
	line-height: 100%;
	padding-top: 2px;
}

.stdBtn {
	display: flex;
	width: 200px;
	height: 48px;
	justify-content: center;
	align-items: center;
	border-radius: 24px;
	background-color: rgba(245, 245, 245, 1);
	margin: 0px auto;
	opacity: 1.0;
	transition: opacity 0.25s;
	cursor: pointer !important;
}

.stdBtn:active {
	opacity: 0.33;
}

.passiveBtn {
	display: flex;
	width: 200px;
	height: 48px;
	justify-content: center;
	align-items: center;
	border-radius: 24px;
	background-color: rgba(75, 75, 75, 1);
	margin: 0px auto;
	opacity: 1.0;
	transition: opacity 0.25s;
}

.stdBtnText {
	color: rgba(13, 9, 30, 1.00);
	font-family: "halyard-text-variable";
	font-variation-settings: "wght" 300;
	font-size: 16px;
	font-style: normal;
	line-height: 100%;
	padding-top: 2px;
	cursor: pointer !important;
}

.passiveBtnText {
	color: rgba(255, 255, 255, 0.33);
	font-family: "halyard-text-variable";
	font-variation-settings: "wght" 300;
	font-size: 16px;
	font-style: normal;
	line-height: 100%;
	padding-top: 2px;
}


.textField {
	display: block;
	width: 100%;
	border-radius: 4px;
	filter: drop-shadow(0px 0px 3px rgba(255, 255, 255, 0.25));
	box-sizing: border-box;
	outline: none;
	border: none;
	padding: 20px;
	background-color: rgba(13, 9, 30, 1);
	color: rgba(245, 245, 245, 1);
	font-family: "halyard-text-variable";
	font-variation-settings: "wght" 300;
	font-size: 16px;
	font-style: normal;
	line-height: 100%;
}

.tandcbox {
	width: 100%;
	text-align: center;
}

.tandc {
	color: rgba(245, 245, 245, 1);
	font-family: "halyard-text-variable";
	font-variation-settings: "wght" 300;
	font-size: 13px;
	font-style: normal;
	line-height: 18px;
}

.tandclink {
	border-bottom-style: solid;
	border-bottom-color: rgba(255,255,255,0.50);
	border-bottom-width: 1px;
}

.divider {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.divider::before,
.divider::after {
	content: '';
	flex: 1;
	border-bottom: 1px solid rgba(255, 255, 255, 0.50);
}

.divider::before {
	margin-right: 10px;
}

.divider::after {
	margin-left: 10px;
}


.dividerText {
	display: block;
	color: rgba(255, 255, 255, 0.6);
	font-family: "halyard-text-variable";
	font-variation-settings: "wght" 300;
	font-size: 14px;
	font-style: normal;
	line-height: 100%;
	padding-top: 2px;;
}

#credential_picker_container:has(iframe[src*="accounts.google.com"]) {
	display: none;
}

.signfeed {
	width: 100%;
	margin-bottom: 32px;
	color: rgba(255, 180, 0, 1);
	font-family: "halyard-text-variable";
	font-variation-settings: "wght" 300;
	font-size: 16px;
	font-style: normal;
	line-height: 21px;
	display: block;
}

.warning {
	display: none;
	height: 20px;
	color: rgba(255, 180, 0, 1);
	font-family: "halyard-text-variable";
	font-variation-settings: "wght" 300;
	font-size: 14px;
	font-style: normal;
	margin-left: 20px;
	margin-top: 8px;
}

.giftCard {
	width: 342px;
	height: 228px;
	display: block;
	position: relative;
	background-image: url(giftcard.jpg);
	background-size: contain;
	background-repeat: no-repeat;
	margin: 0px auto;
	border-radius: 20px;
}

.giftCodeField {
	display: block;
	position: absolute;
	width: 36px;
	height: 36px;
	outline: none;
	border: none;
	color: rgba(13, 9, 30, 1);
	font-family: "t26-carbon";
	font-weight: 700;
	font-size: 22px;
	font-style: normal;
	line-height: 24px;
	background-color: rgba(255,255,255,0.00);
	text-align: center;
	text-transform: capitalize;
}

.giftTitle {
	display: block;
	position: absolute;
	width: 100%;
	height: auto;
	color: rgba(13, 9, 30, .50);
	font-family: "t26-carbon";
	font-weight: 700;
	font-size: 20px;
	font-style: normal;
	line-height: 100%;
	text-align: center;
	left: 0px;
	bottom: 16px;
}


.app-apple {
	width: 120px;
	height: 40px;
	display: inline-block;
	background-image: url(app-store.svg);
	margin-right: 16px;
}	

.app-google {
	width: 136px;
	height: 40px;
	display: inline-block;
	background-image: url(google-play.svg);
}	


.subheadGreenCode {
	color: rgba(167, 239, 188, 1.00);
	font-family: "t26-carbon";
	font-weight: 700;
	font-size: 24px;
	font-style: normal;
	line-height: 100%;
	letter-spacing: 1px;
	background-color: rgba(13, 9, 30, 1);
	padding: 6px;
	border-radius: 6px;
	margin-top: 10px;
	display: block;
	width: max-content;
}

.expoNorm {
	font-family: "halyard-text-variable";
	font-variation-settings: "wght" 300;
	font-size: 16px;
	font-style: normal;
	line-height: 22px;
	color: rgba(255,255,255,1.00);
}

.expoGreen {
	font-family: "halyard-text-variable";
	font-variation-settings: "wght" 400;
	font-size: 16px;
	font-style: normal;
	line-height: 22px;
	color: rgba(167, 239, 188, 1.00);
}

.expoNumCircle {
	display: flex;
	flex-shrink: 0;
	width: 28px;
	height: 28px;
	background-color: rgba(167, 239, 188, 1.00);
	align-items: center;
	justify-content: center;
	border-radius: 14px;
}

.expoNumType {
	display: block;
	color: rgba(13,9,30, 1.00);
	font-family: "t26-carbon";
	font-weight: 700;
	font-size: 24px;
}

input[type="checkbox"] {
  appearance: checkbox;
  color: rgba(255, 255, 255, 1.00);
  -webkit-appearance: checkbox; /* For Safari */
  display: inline-block;
  width: 16px;
  height: 16px;
}

.custom-alert-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.4);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
  padding: 20px; /* Add padding to prevent edge touching */
  box-sizing: border-box;
}

.custom-alert-box {
  background: var(--Gradients-Twiilight-Shift, linear-gradient(0deg, #2C61C7 0%, #2A4D99 14%, #233B71 27%, #1E2B50 40%, #1A2037 54%, #171726 68%, #15121B 83%, #0D091E 100%));
  padding: 24px;
  border-radius: 10px;
  width: 90%;
  max-width: 400px;
  min-width: 280px; /* Prevent it from getting too small */
  box-shadow: 0 5px 15px rgba(0,0,0,0.2);
  text-align: center;
  font-family: "halyard-text-variable";
  font-variation-settings: "wght" 300;
  font-size: 16px;
  font-style: normal;
  line-height: 22px;
  box-sizing: border-box;
}

.custom-alert-title {
  font-size: 20px;
  font-weight: bold;
  font-family: "halyard-text-variable";
  margin-bottom: 12px;
  color: white;
  word-wrap: break-word; /* Handle long titles */
}

.custom-alert-message {
  font-size: 16px;
  margin-bottom: 20px;
  color: white;
  word-wrap: break-word; /* Handle long messages */
  line-height: 1.4; /* Better readability on mobile */
}

.custom-alert-buttons button {
  background: white;
  color: black;
  border: none;
  padding: 12px 24px; /* Slightly larger touch target */
  font-size: 15px;
  border-radius: 6px;
  font-family: "halyard-text-variable";
  font-variation-settings: "wght" 300;
  cursor: pointer;
  min-width: 80px; /* Ensure button is large enough */
  touch-action: manipulation; /* Prevent zoom on tap */
  cursor: pointer !important;
}

.custom-alert-buttons button:hover {
  background: var(--Gradients-Twiilight-Shift, linear-gradient(0deg, #2C61C7 0%, #2A4D99 14%, #233B71 27%, #1E2B50 40%, #1A2037 54%, #171726 68%, #15121B 83%, #0D091E 100%));
  color: white;
  cursor: pointer; /* Ensure hand cursor on hover */
}

/* Mobile-specific adjustments */
@media (max-width: 480px) {
  .custom-alert-overlay {
    padding: 16px; /* Reduce padding on very small screens */
  }
  
  .custom-alert-box {
    padding: 20px;
    width: 95%; /* Use more width on small screens */
    min-width: 260px;
  }
  
  .custom-alert-title {
    font-size: 18px; /* Slightly smaller title on mobile */
    margin-bottom: 10px;
  }
  
  .custom-alert-message {
    font-size: 15px; /* Slightly smaller message text */
    margin-bottom: 18px;
  }
  
  .custom-alert-buttons button {
    padding: 14px 20px; /* Larger touch target for mobile */
    font-size: 16px; /* Slightly larger button text */
    min-width: 100px;
  }
}

/* Extra small screens */
@media (max-width: 320px) {
  .custom-alert-overlay {
    padding: 12px;
  }
  
  .custom-alert-box {
    padding: 16px;
    width: 98%;
    min-width: 240px;
  }
  
  .custom-alert-title {
    font-size: 17px;
  }
  
  .custom-alert-message {
    font-size: 14px;
  }
}


/* Ensure all interactive elements show pointer cursor */
a, 
button, 
input[type="button"], 
input[type="submit"], 
input[type="reset"], 
select,
.clickable,
.btn,
.link,
[onclick],
[role="button"] {
  cursor: pointer !important;
}

/* Exception for disabled elements */
*[disabled],
*[aria-disabled="true"] {
  cursor: default !important;
}

.priceRow {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: 12px;
}

.oldPrice {
    text-decoration: line-through;
    opacity: 0.6;            /* optional: makes old price lighter */
}

.newPrice {
    font-weight: bold;       /* optional: make new price stand out */
}


.grecaptcha-badge {
    visibility: hidden;
}