/*! HTML5 Boilerplate v5.0 | MIT License | http://h5bp.com/ */


hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0;
}

audio,
canvas,
iframe,
img,
svg,
video {
    vertical-align: middle;
}

fieldset {
    border: 0;
    margin: 0;
    padding: 0;
}

textarea {
    resize: vertical;
}

.browserupgrade {
    margin: 0.2em 0;
    background: #ccc;
    color: #000;
    padding: 0.2em 0;
}


/* apply a natural box layout model to all elements, but allowing components to change */
html {
  box-sizing: border-box;
  scroll-behavior: smooth !important;
}

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

a, a:link, a:visited, .ammo-modal-link {
	color: #2F72C0;
	text-decoration: underline;
	text-decoration-color: rgba(44, 142, 255, 0);
	text-decoration-thickness: 2px;
}

a:hover, .ammo-modal-link:hover {
	color: #333;
	color: #2C8EFF;
	cursor: pointer;
	text-decoration: underline;
	text-decoration-color: rgba(44, 142, 255, 0.25);
	text-decoration-thickness: 2px;
}

a:hover img, a img:hover {
	text-decoration: none !important;
}

a.button {
	color: #fff !important;
	background: #2F72C0;
	width: 100%;
	border-radius: 21px;
	padding: 10px 20px;
	margin: 0px 0 15px;
	text-decoration: none !important;
	font-size: 18px;
	line-height: 24px;
	text-align: center;
	font-weight: 700;
	
	box-shadow: 0 3px 5px rgba(0,0,0,0.2);
}

a.button.small {
	color: #fff !important;
	background: #2F72C0;
	width: 100%;
	border-radius: 21px;
	padding: 5px 15px;
	margin: 0px 0 15px;
	text-decoration: none !important;
	font-size: 16px;
	line-height: 20px;
	text-align: center;
	font-weight: 600;
	
	box-shadow: 0 3px 5px rgba(0,0,0,0.2);
}
   
a.button:hover {
	background: #145198;
	box-shadow: 0 3px 5px rgba(0,0,0,0.4);
}

/* ==========================================================================
   Typography
   ========================================================================== */

html {
    color: #333;
    font-size: 16px;
    line-height: 25px;
    font-weight: 300;
    font-family: -apple-system, system-ui, BlinkMacSystemFont, 'Source Sans Pro', Helvetica, Sans-serif;
    -webkit-font-smoothing: antialiased;
}

/* Temporary larger font size */
.larger-text p, .larger-text label {
	font-size: 20px;
	line-height: 30px;
}



body {
	width: 100%;
	background: #fff;
	padding-top: 115px;
}

body:after {
	visibility: hidden;
	display: block;
	font-size: 0;
	content: " ";
	clear: both;
	height: 0;
}
	
* html body             { zoom: 1; } /* IE6 */
*:first-child+html body { zoom: 1; } /* IE7 */

@media (max-width: 631px) {
	body {
		padding-top: 195px;
	}
}

p {
	font-size: 16px;
	line-height: 23px;
	margin: 0 0 15px;
	font-weight: 400;
}

@media (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi){ 
	p {
		font-weight: 300;
	}
}


p.smaller, .article p.smaller {
	font-size: 14px;
	line-height: 18px;
	font-weight: 300;
}

p.no-margin, .article p.no-margin {
	margin: 0;
}

p.fine-print, .article p.fine-print {
	font-size: 12px;
	line-height: 15px;
	font-weight: 300;
}

h1 {
	font-size: 60px;
	line-height: 60px;
	font-weight: 700;
	margin: 0 0 0;
}

h2 {
	font-size: 32px;
	line-height: 34px;
	font-weight: 700;
	margin: 0 0 10px;
}

h3 {
	font-size: 24px;
	line-height: 30px;
	font-weight: 700;
	margin: 0 0 10px;
}

h4 {
	font-size: 22px;
	line-height: 30px;
	font-weight: 700;
	margin: 0 0 10px;
}

h5 {
	font-size: 20px;
	line-height: 25px;
	font-weight: 700;
	margin: 0 0 10px;
}

h6 {
	font-size: 18px;
	line-height: 25px;
	font-weight: 700;
	margin: 0 0 10px;
	text-transform: uppercase;
}

a {
	-webkit-transition: all 300ms ease;
    -moz-transition: all 300ms ease;
    -o-transition: all 300ms ease;
    -ms-transition: all 300ms ease;
    transition: all 300ms ease;
}

a:hover {
	-webkit-transition: all 100ms ease;
    -moz-transition: all 100ms ease;
    -o-transition: all 100ms ease;
    -ms-transition: all 100ms ease;
    transition: all 100ms ease;
}

.trademark {
	font-size: 14px;
	vertical-align: super;
	font-weight: 300;
}

.registered-trademark {
	font-size: 24px;
	font-weight: 300;
}

ul.compact {
	-moz-column-count: 2;
	-webkit-column-count: 2;
	column-count: 2;
}

ul.compact li {
	margin: 0 0 5px;
	padding: 0;
}

blockquote {
	border-left: 4px solid #f4f4f4;
	padding-left: 30px;
	margin-left: 15px;
}

/* ==========================================================================
   Primary Float Column Layout
   ========================================================================== */

/* Sections - blocks of content */

.section {
	width: 100%;
	min-width: 960px;
	margin: 0 auto;
	padding: 0;

	float: left;
	clear: both;
}

/* Section content - defines content width */

.content, .inner { 
	padding: 30px 15px;
	max-width: 960px;
	margin: 0 auto;
}

.section .content.narrow, .content.narrow, .narrow .content {
	width: 820px;
	margin: 0 auto;
	padding: 30px 15px 0px;
	position: relative;
	overflow: hidden;
}

.section .content.wide, .content.wide, .wide .content {
	max-width: 1200px;
	margin: 0 auto;
	padding: 30px 15px 30px;
	position: relative;
	overflow: hidden;
}

* html .section, *:first-child+html .section {
	zoom: 1;
}
/* IE6 & IE 7*/

/* Short content - remove extra space on bottom of content block for special cases */
.section .content.short {
	padding: 30px 15px 0px;
}

/* Add auto-height sizing to section and column elements */
.section:before, .section:after, .content:before, .content:after, .column:before, .column:after {
    content: " ";
    display: table;
}

.section:after, .content:after, .column:after {
    clear: both;
}

/* Row - keeps things vertically aligned */
.row {
	width: 100%;
	padding: 0;
	clear: both;
}


/* Columns - content blocks used within sections */
.column {
	padding: 0 15px;
	float: left;
}

/* Spacer - used for creating empty space in the layout, but which collapse on mobile */
.spacer {
	float: left;
}

/* Column widths - use these to determine column size as a fraction of the container width */

.column.full, .spacer.full {
	width: 100%;
}

.column.two-thirds, .spacer.two-thirds {
	width: 66.6666666666%;
}

.column.half, .spacer.half {
	width: 50%;
}

.column.third, .spacer.third {
	width: 33.3333333333%;
}

.column.quarter, .spacer.quarter {
	width: 25%;
}

.column.fifth, .spacer.fifth {
	width: 20%;
}

.column.two-fifths, .spacer.two-fifths {
	width: 40%;
}

.column.three-fifths, .spacer.three-fifths {
	width: 60%;
}

.column.three-quarters, .spacer.three-quarters {
	width: 75%;
}

.column.four-fifths, .spacer.four-fifths {
	width: 80%;
}

.column.sixth, .spacer.sixth {
	width: 16.6666666666%;
}

.column.eigth, .spacer.eigth, .column.eighth, .spacer.eighth {
	width: 12.5%;
}

/* Features */

.column.feature {
	padding: 0 20px 0 55px;
	background: url('../img/feature-star.svg') no-repeat 15px 0px;
	background-size: 25px 25px;
	margin: 0 0 15px;
}

.two-column {
	column-count: 2; -moz-column-count: 2;
}

/* ==========================================================================
   Grid Layout - New layout system added Dec 29 2022
   ========================================================================== */

.columns {
	display: grid;
	gap: 30px;
	justify-content: stretch;
	grid-auto-flow: row;
	clear: both;
	justify-items: stretch;
	padding: 0 15px;
}

.columns img {
	max-width: 100%;
}

.columns:before {
	content: none;
}

/* Define Number of Columns of parent */
.columns.two {
	grid-template-columns: 1fr 1fr;
}

.columns.three {
	grid-template-columns: 1fr 1fr 1fr;
}

.columns.four {
	grid-template-columns: 1fr 1fr 1fr 1fr;
}

.columns.five {
	grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
}

.columns.six {
	grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
}

.columns.seven {
	grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
}

.columns.eight {
	grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
}

/* Larger sizes for child items */

.columns .double-width {
	grid-column-end: span 2;
}

.columns .triple-width {
	grid-column-end: span 3;
}

.columns .quadruple-width {
	grid-column-end: span 4;
}

.columns .double-height {
	grid-row-end: span 2;
}

.columns .triple-height {
	grid-row-end: span 3;
}

.columns .quadruple-height {
	grid-row-end: span 4;
}

/* Make everything single-column on mobile */

@media all and (max-width: 631px) { 
	.columns.two, .columns.three, .columns.four, .columns.five, .columns.six, .columns.seven, .columns.eight {
		grid-template-columns: 1fr;
		gap: 15px;
	}
	
	.columns .double, .columns .triple, .columns .quadruple {
		grid-column-end: span 1;
	}
	
	.columns.two-mobile {
		grid-template-columns: 1fr 1fr !important;
	}
}


/* ==========================================================================
   Elements
   ========================================================================== */

.action-tiny, a.action-tiny:visited {
	color: #fff;
	background: #000;
	padding: 5px 10px 5px 10px;
	margin: 5px 0 10px;
	border-radius: 6px;
	text-decoration: none;
	font-size: 14px;
	font-weight: 500;
	text-align: center;
	display: inline-block;
	transition: font-size none;
}

.action-tiny:hover {
	color: #fff;
	background: #333;
	transition: font-size none;
}

.action-tiny img {
	margin: 0 10px 5px 0;
}

.action-small {
	color: #fff;
	background: #000;
	padding: 12px 10px 12px 25px;
	margin: 5px;
	border-radius: 40px;
	text-decoration: none;
	font-size: 18px;
	font-weight: 500;
	text-align: center;
	display: inline-block;
	width: 200px;
	max-width: 47%;
	transition: font-size none;
	
	box-shadow: 0 3px 5px rgba(0,0,0,0.2);
}

.action-large {
	color: #fff;
	background: #000;
	padding: 12px 10px 12px 40px;
	margin: 0 0px 15px;
	border-radius: 40px;
	text-decoration: none;
	font-size: 20px;
	font-weight: 600;
	text-align: center;
	display: inline-block;
	width: 100%;
	max-width: 360px;
	transition: font-size none;
	
	box-shadow: 0 3px 5px rgba(0,0,0,0.2);
}

.action-small:hover, .action-large:hover {
	text-decoration: none;
}

.screenshot {
	width: 100%;
	margin: 0 auto 10px;
	border-radius: 6px;
	background: #000;
}

/* Icon links */
a.icon-link {
	display: block;
	margin: 5px 0 20px;
	align-content: center;
	text-align: center;
	width: 100%;
	font-size: 14px;
	color: #859398;
	-webkit-font-smoothing: antialiased;
	
	text-decoration: none;
	transform: scale(1);
	
	
	-webkit-transition: all 300ms ease;
    -moz-transition: all 300ms ease;
    -o-transition: all 300ms ease;
    transition: all 300ms ease;
}

a.icon-link img {
	-webkit-transition: all 300ms ease;
    -moz-transition: all 300ms ease;
    -o-transition: all 300ms ease;
    transition: all 300ms ease;
}

a.icon-link:hover {
	transform: scale(1.025);
	
	-webkit-transition: all 300ms ease;
    -moz-transition: all 300ms ease;
    -o-transition: all 300ms ease;
    transition: all 300ms ease;
}

a.icon-link:hover img {
	transform: scale(1.1);
	
	-webkit-transition: all 300ms ease;
    -moz-transition: all 300ms ease;
    -o-transition: all 300ms ease;
    transition: all 300ms ease;
}

a.icon-link:active {
	transform: scale(0.98);
	
	-webkit-transition: all 100ms ease;
    -moz-transition: all 100ms ease;
    -o-transition: all 100ms ease;
    transition: all 100ms ease;
}

a.icon-link h3 {
	font-weight: 500;
	size: 17px;
	margin: 0;
}

a.icon-link img {
	margin: 0 0 10px;
}


.store-description {
	padding: 0 0 0 158px;
}

.pending-tag {
	display: inline-block;
	color: #fff;
	background: red;
	padding: 1px 5px;
	border-radius: 6px;
	
	/* animation: blink 2s linear infinite; */
}

@keyframes blink {
	50% {
		opacity: 0;
	}
}

/* ==========================================================================
   Tables and Forms
   ========================================================================== */

input, .store-decorate-silk input[type=text], textarea {
	padding: 9px 15px 9px;
	max-width: 100%;
	border-radius: 6px;
	border: 1px solid #859398;
/* 	box-shadow: 0 0 0px 1px #fff inset; */
	outline: none;
	color: #000;
	background: #fff;
	
	-webkit-transition: all 300ms ease;
    -moz-transition: all 300ms ease;
    -o-transition: all 300ms ease;
    transition: all 300ms ease;
}

input:focus, .store-decorate-silk input[type=text]:focus, textarea:focus {
	border: 1px solid #2F72C0;
	background: #F3F7FC;
/* 	box-shadow: 0 0 0px 1px #2F72C0 inset; */
	
	-webkit-transition: all 100ms ease;
    -moz-transition: all 100ms ease;
    -o-transition: all 100ms ease;
    transition: all 100ms ease;	
}

input:hover, .store-decorate-silk input[type=text]:hover, textarea:hover {
	border: 1px solid #2F72C0;
	
	-webkit-transition: all 100ms ease;
    -moz-transition: all 100ms ease;
    -o-transition: all 100ms ease;
    transition: all 100ms ease;	
}

input[type=checkbox] {
	border-radius: 2px;
}

input[type=submit] {
	width: auto;
	background: #2F72C0;
	font-weight: 600;
	padding: 10px 30px;
	color: #fff;
	box-shadow: none;
	border: none;
}

input[type=submit]:hover {
	background: #223940;
	
	-webkit-transition: all 100ms ease;
    -moz-transition: all 100ms ease;
    -o-transition: all 100ms ease;
    transition: all 100ms ease;	
}

td {
	padding: 5px;
	font-size: 18px;
}

tt {
	font-weight: bold;
}

input[type=file] {
	background: #f4f4f4;
	width: 100%;
	border: none;
	padding: 15px;
}

/* ==========================================================================
   Header and Navigation
   ========================================================================== */

#header {
	background: #2F72C0;
	color: #fff;
	height: 50px;
	padding: 0;
	margin: 30px 0 45px;
	overflow: visible;
	z-index: 2;
	position: absolute;
	top: 0;
	left: 0;
}

#header .inner {
	padding: 0;
	max-width: 1200px;
}

#logo {
	width: 185px;
	height: 100px;
	float: left;
	position: relative;
	top: -25px;
}

#tagline {
	float: left;
	font-size: 16px;
	line-height: 18px;
	clear: none;
	display: inline;
	padding-top: 7px;
	font-weight: 400;
	color: #BFD8F5;
	color: #D5E2F2;
	width: 150px;
}

#header ul {
	padding: 0;
	margin: 0;
	float: right;
	width: 600;
}

#header ul li {
	display: inline;
	float: left;
	padding: 13px 0 15px;
	margin: 0;
	list-style: none;
	background: url('../images/siteimages/nav-current-arrow-hover.png') no-repeat 50% -20px;
	background-size: 20px 20px;
	
	-webkit-transition: background 300ms ease;
    -moz-transition: background 300ms ease;
    -o-transition: background 300ms ease;
    transition: background 300ms ease;	
}

#header ul li:hover {
	background: url('../images/siteimages/nav-current-arrow-hover.png') no-repeat 50% -10px;
	background-size: 20px 20px;
	
	-webkit-transition: background 100ms ease;
    -moz-transition: background 100ms ease;
    -o-transition: background 100ms ease;
    transition: background 100ms ease;	
}

#header ul li.active, #header ul li.active a:hover {
	background: url('../images/siteimages/nav-current-arrow.png') no-repeat 50% -10px;
	color: #fff;
	-webkit-transition: none;
	-moz-transition: none;
	-o-transition: none;
	transition: none;	
}

#header ul li a {
	color: #fff;
	font-size: 18px;
	display: inline;
	text-decoration: none;
	padding: 15px 30px;
	height: 50px;
	font-weight: 600;
}

#header ul li a:hover {
	color: #D5E2F2;
}

#footer {
	text-align: center;
	font-size: 14px;
	padding: 0px 30px 5px;
	color: #859398;
}

#footer a {
	color: #859398;
}

.column .ammo-logo {
	max-width: 100%;
	max-height: 300px;
}

.promoBanner {
	width: 960px;
	max-width: 100%;
	padding: 10px 30px;
	text-align: center;
	font-weight: 300;
	font-size: 22px;
	line-height: 26px;
	margin: 0 auto 15px;
	color: #2F72C0;
	background: #E0EAF6;
	border-radius: 28px;
	animation: fadein 1s;
	animation-delay: 1s;
}

@media screen and (prefers-reduced-motion: reduce) {
	.promoBanner {
		animation: none;
	}
	
}

@keyframes fadein {
	  0% { transform: scale(1, 1) rotateX(0deg); }
	  25% { transform: scale(0.9, 0.9) rotateX(0deg); }
	  75% { transform: scale(1.2, 1.2) rotateX(360deg); }
	  100% { transform: scale(1, 1) rotateX(360deg); }
}

.warningBanner {
	width: 100%;
	min-width: 960px;
	padding: 10px 30px;
	text-align: center;
	font-weight: 300;
	font-size: 16px;
	line-height: 22px;
	margin-bottom: 15px;
	color: #333;
	background: #F5CCCC;
	border-radius: 8px;
}

.warningBannerYellow {
	width: 100%;
	/* min-width: 960px; */
	padding: 10px 30px;
	text-align: center;
	font-weight: 400;
	font-size: 16px;
	line-height: 22px;
	margin-bottom: 15px;
	color: #333;
	background: #FAF5D3;
}

.warningBanner a, .warningBannerYellow a, .warningBanner a:link, .warningBannerYellow a:link, .warningBanner a:visited, .warningBannerYellow a:visited {
	color: #333;
	text-decoration: underline;
}

@media 
(-webkit-min-device-pixel-ratio: 2), 
(min-resolution: 192dpi) { 
    #header ul li {
		background: url('../images/siteimages/nav-current-arrow-hover@2x.png') no-repeat 50% -20px;
		background-size: 20px 20px;
	}
	
	#header ul li:hover {
		background: url('../images/siteimages/nav-current-arrow-hover@2x.png') no-repeat 50% -10px;
		background-size: 20px 20px;
	}
	
	#header ul li.active, #header ul li.active:hover {
		background: url('../images/siteimages/nav-current-arrow@2x.png') no-repeat 50% -10px;
		background-size: 20px 20px;
	}
}

/* ==========================================================================
   Interactive Drop-Down Header
   ========================================================================== */
   
#apps-parent .drop-down {
	background: #fff;
	padding: 0;
	min-width: 220px;
	position: absolute;
	margin-top: 11px;
	border-bottom-right-radius: 6px;
	border-bottom-left-radius: 6px;
	box-shadow: 0 5px 5px rgba(0,0,0,0.25);
	opacity: 0;
	
	-webkit-transition: all 200ms 0.1s ease;
    -moz-transition: all 200ms 0.1s ease;
    -o-transition: all 200ms 0.1s ease;
    -ms-transition: all 200ms 0.1s ease;
    transition: all 200ms 0.1s ease;
    
    pointer-events: none;
	z-index: 9999;
	speak: none;
}

/* Prevent Display on Mobile */
@media (max-width: 931px) {
	#apps-parent .drop-down {
	    display: none;
	}
}

/* Prevent Display on IE 10 & 11 */
@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {  
   #apps-parent .drop-down {
	    display: none;
	}  
}

#apps-parent .drop-down a img {
	align-self: center;
	margin-right: 10px;
	position: relative;
	top: -3px;
}

#apps-parent .drop-down a {
	background: none;
	display: block;
	float: left;
	clear: left;
	text-align: left;
	width: 100%;
	padding: 10px 15px !important;
	height: 47px !important;
	
	font-size: 16px !important;
	color: #333 !important;
	
	font-weight: 700;
	
	-webkit-transition: none;
    -moz-transition: none;
    -o-transition: none;
    -ms-transition: none;
    transition: none;
}

#apps-parent .drop-down a:last-child {
	border-bottom-right-radius: 6px;
	border-bottom-left-radius: 6px;
}

#apps-parent .drop-down a:hover {
	background: #F3F7FC !important;
	-webkit-transition: none;
    -moz-transition: none;
    -o-transition: none;
    -ms-transition: none;
    transition: none;
}

#apps-parent .drop-down a:active {
	background: #C0D0E4 !important;
}

/* Show/Hide Logic */

#apps-parent:hover .drop-down {
	opacity: 1;
	
	-webkit-transition: all 300ms 0.2s ease;
    -moz-transition: all 300ms 0.2s ease;
    -o-transition: all 300ms 0.2s ease;
    -ms-transition: all 300ms 0.2s ease;
    transition: all 300ms 0.2s ease;
    
    pointer-events: auto;
}

/* ==========================================================================
   Other Apps Section
   ========================================================================== */
   
   .section.more-apps {
		color: #333;
		padding-bottom: 0px;
		text-align: center;
		background: #F3F7FC;
	}
	
	.section.more-apps .column.quarter {
		margin: 0;
		padding: 0;
	}
	
	.section.more-apps p {
		font-size: 18px;
		line-height: 22px;
		padding: 0 0 0px;
		text-align: center;
	}
	
	.section.more-apps h3 {
		color: #333;
		margin: 15px 0 10px;
		padding-bottom: 0px;
		text-align: center;
		font-weight: 700;
		text-transform: none;
		font-size: 26px;
	}
	
	.section.more-apps h6 {
		padding: 0px 0 0;
		margin: 0;
		font-size: 20px;
		line-height: 22px;
		font-weight: 700;
		text-transform: none;
		text-align: center;
	}
	
	.more-apps a {
		display: inline-block;
		min-height: 150px;
		width: 100%;
		margin-bottom: 0;
		border: 0;
		padding: 0;
		margin: 0 0 10px;
	}
	
	.more-apps a img.footer-icon {
		margin: 15px auto 10px;
		padding: 0;
	}
	
	.more-apps a:hover img.footer-icon {
	}
	
	
	/* Airfoil */	
	.more-apps .airfoil h6, .more-apps .airfoil a {
		color: #333;
		margin-bottom: 0;
		text-decoration: none;
		-webkit-transition: all 300ms ease;
	    -moz-transition: all 300ms ease;
	    -o-transition: all 300ms ease;
	    transition: all 300ms ease;
		}

	.more-apps .airfoil a:hover h6, .more-apps .airfoil a:hover {
		color: #0571A3;
	}

	
	/* Audio Hijack */	
	.more-apps .audiohijack h6, .more-apps .audiohijack a {
		color: #333;
		margin-bottom: 0;
		text-decoration: none;
		-webkit-transition: all 300ms ease;
	    -moz-transition: all 300ms ease;
	    -o-transition: all 300ms ease;
	    transition: all 300ms ease;
	}
	
	.more-apps .audiohijack a:hover h6, .more-apps .audiohijack a:hover {
		color: #F9A229;
		color: color(display-p3 0.976 0.635 0.161);
	}
	
	
	/* Farrago */	
	.more-apps .farrago h6, .more-apps .farrago a {
		color: #333;
		margin-bottom: 0;
		text-decoration: none;
		-webkit-transition: all 300ms ease;
	    -moz-transition: all 300ms ease;
	    -o-transition: all 300ms ease;
	    transition: all 300ms ease;
		}

	.more-apps .farrago a:hover h6, .more-apps .farrago a:hover {
		color: #762BF5;
		color: color(display-p3 0.463 0.169 0.961);
	}
		
	
	/* Fission */	
	.more-apps .fission h6, .more-apps .fission a {
		color: #333;
		margin-bottom: 0;
		text-decoration: none;
		-webkit-transition: all 300ms ease;
	    -moz-transition: all 300ms ease;
	    -o-transition: all 300ms ease;
	    transition: all 300ms ease;
		}

	.more-apps .fission a:hover h6, .more-apps .fission a:hover {
		color: #C18831;
	}

	/* Loopback */
	.more-apps .loopback h6, .more-apps .loopback a {
		color: #333;
		margin-bottom: 0;
		text-decoration: none;
		-webkit-transition: all 300ms ease;
	    -moz-transition: all 300ms ease;
	    -o-transition: all 300ms ease;
	    transition: all 300ms ease;
		}

	.more-apps .loopback a:hover h6, .more-apps .loopback a:hover {
		color: #3CBFBF;
	}

	
	/* Piezo */		
	.more-apps .piezo h6, .more-apps .piezo a {
		color: #333;
		margin-bottom: 0;
		text-decoration: none;
		-webkit-transition: all 300ms ease;
	    -moz-transition: all 300ms ease;
	    -o-transition: all 300ms ease;
	    transition: all 300ms ease;
	}
	
	.more-apps .piezo a:hover h6, .more-apps .piezo a:hover {
		color: #C1773E;
	}	


	/* SoundSource */	
	.more-apps .soundsource h6, .more-apps .soundsource a {
		color: #333;
		margin-bottom: 0;
		text-decoration: none;
		-webkit-transition: all 300ms ease;
	    -moz-transition: all 300ms ease;
	    -o-transition: all 300ms ease;
	    transition: all 300ms ease;
		}

	.more-apps .soundsource a:hover h6, .more-apps .soundsource a:hover {
		color: #279878;
	}

@media (prefers-color-scheme: dark) {
	.more-apps .airfoil a:hover h6, .more-apps .airfoil a:hover {
		color: #63BCE3;
		color: color(display-p3 0.388 0.737 0.89);
	}
	
	.more-apps .farrago a:hover h6, .more-apps .farrago a:hover {
		color: #a16cfc;
	}
	
	.more-apps .fission a:hover h6, .more-apps .fission a:hover {
		color: #D7B85A;
	}
	
	.more-apps .soundsource a:hover h6, .more-apps .soundsource a:hover {
		color: #40bd9a;
	}
}

/* ==========================================================================
   Badges
   ========================================================================== */

.icon-container, .support-icon-container {
	position: relative;
	display: inline-block;
}

.badge {
	position: relative;
	vertical-align: bottom;
}

.badge.medium {
	left: 45px;
	top: -45px;
}

.icon-container .badge, .support-icon-container .badge {
	position: absolute;
	bottom: 0;
	right: 0;
	vertical-align: bottom;
}

/* ==========================================================================
   Styles for store pages
   ========================================================================== */

#title {
	padding: 15px 15px 0px;
	margin: 0 auto;
	position: relative;
	width: 930px;
	clear: left;
}

#title.narrow, .narrow #title {
	padding: 5px 15px 0px;
	margin: 0 auto;
	position: relative;
	width: 760px;
	clear: left;
}

#title h1 {
	font-size: 36px;
	line-height: 44px;
	text-transform: none;
}

#title h2, h3.subtitle {
	font-size: 22px;
	font-weight: 300;
	color: #859398;
}


/* ==========================================================================
   Accolades section
   ========================================================================== */

#toggler:hover {
	cursor: pointer;
}

.quotes-container {
	position: relative;
	width: 100%;
	height: 210px;
	margin: 15px 0 15px;
	float: left;
	color: #fff;
	font-size: 18px;
	line-height: 26px;
}

/* Special case to make Airfoil for Windows quotes smaller */
.quotes-container.afw {
	height: 180px;
}

.quote-set {
	position: absolute;
	top: 0;
	left: 0;
	pointer-events: none;
	color: #fff;
	font-size: 18px;
	line-height: 26px;
}

.quote-set.active {
	pointer-events: auto;
}

.quote {
	width: 33.3333333333%;
	float: left;
	padding: 0 15px;
	-webkit-font-smoothing: antialiased;
	color: #fff;
	font-size: 18px;
	line-height: 26px;
}

.quote a {
	text-decoration: none;
}

.quote a:hover {
	text-decoration: underline;
}

.quote p {
	margin: 0;
	color: #fff;
	font-size: 18px;
	line-height: 24px;
}

.quote-name {
	font-weight: bold;
	text-align: right;
}

/* Fade Out */

.quote-set .quote.a {
	opacity: 0;
	transition: all 0.5s ease 0s;
	transform: translate(0px, 10px);
	display: block;
}

.quote-set .quote.b {
	opacity: 0;
	transition: all 0.5s ease 0.25s;
	transform: translate(0px, 10px);
	display: block; 
}

.quote-set .quote.c {
	opacity: 0;
	transition: all 0.5s ease 0.5s;
	transform: translate(0px, 10px);
	display: block; 
}

/* Fade In */

.quote-set.active .quote.a {
	opacity: 1;
	transition: all 0.5s ease 0.25s;
	transform: translate(0px, 0px);
	display: block;
}

.quote-set.active .quote.b {
	opacity: 1;
	transition: all 0.5s ease 0.5s;
	transform: translate(0px, 0px);
	display: block;
}

.quote-set.active .quote.c {
	opacity: 1;
	transition: all 0.5s ease 0.75s;
	transform: translate(0px, 0px);
	display: block;
}

/* Quote Preview Page */

#quote-preview .quotes-container, #quote-preview .quotes-container.afw {
	height: auto;
}

#quote-preview .quote-set {
	position: relative;
	float: left;
	clear: both;
	margin-bottom: 60px;
}

#quote-preview .quote-set .quote.a, #quote-preview .quote-set .quote.b, #quote-preview .quote-set .quote.c {
	opacity: 1;
	transform: translate(0px, 0px);
	pointer-events: auto;
}

/* ==========================================================================
   Articles
   ========================================================================== */

.article p, .article ol, .article ul {
	font-size: 20px;
	line-height: 30px;
	font-weight: 300;
}

.article h2, .article h3, .article h4 {
	padding-top: 20px;
}

.article .note h1, .article aside h1,
.article .note h2, .article aside h2,
.article .note h3, .article aside h3,
.article .note h4, .article aside h4,
.article .note h5, .article aside h5,
.article .note h6, .article aside h6 {
	padding-top: 0;
}


.article li {
	margin-bottom: 15px;
}

.article pre {
	font-size: 14px;
	line-height: 26px;
	padding: 0 0 0 5px;
	margin: 0 0 30px 15px;
	border-left: 4px solid #f4f4f4;
	overflow: visible;
	word-wrap: break-word;
	font-weight: 700;
	tab-size: 4;
}

.article .indent {
	padding-left: 30px;
}

p.centeredimage, .imagecaption, .caption, figcaption, figure p {
	width: 100%;
	font-style: italic;
	color: #859398;
	align-content: center;
	align-items: center;
	text-align: center;
	margin: 5px 0 15px;
	font-size: 20px;
	line-height: 30px;
}

figure {
	text-align: center;
	margin: 0;
}

p.centeredimage img, figure img {
	align-content: center;
	align-items: center;
	margin: 0 auto 10px;
}

.shadowed {
	box-shadow: 0 2px 10px rgba(0,0,0,0.2), 0 0 3px 1px rgba(0,0,0,0.1);
}

.kb-back {
	margin: 30px 0 45px 0px;
	padding: 0px 0 45px 0;
	text-decoration: none;
	float: left;
	clear: both;
}


/* ==========================================================================
   Message Boxes
   ========================================================================== */

/* Default Message */

aside, .message {
	width: 100%;
	padding: 15px 20px 20px 94px;
	margin: 20px 0 0;
	background: #E0EAF6;
	background: url('/global/images/siteimages/message-icon-note.svg') no-repeat 20px center, linear-gradient(to right, rgba(65, 113, 186, 0.3) 0px, rgba(65, 113, 186, 0.3) 74px, rgba(65, 113, 186, 0.15) 74px, rgba(65, 113, 186, 0.15));
	border-radius: 16px;
	font-size: 18px;
	line-height: 26px;
	opacity: 1;
	height: auto;
	visibility: visible;
	font-weight: 400;
	
	transform: scale(1,1) rotateX(0deg);
	transition: all 0.5s cubic-bezier(.17,.67,.63,1.24);
}

aside.tall, .message.tall {
	background: url('/global/images/siteimages/message-icon-note.svg') no-repeat 20px 20px, linear-gradient(to right, rgba(65, 113, 186, 0.3) 0px, rgba(65, 113, 186, 0.3) 74px, rgba(65, 113, 186, 0.15) 74px, rgba(65, 113, 186, 0.15));
}

.article aside, .article .message {
	margin-bottom: 15px;
}

.banner-section {
	width: 100%;
	padding: 0 15px;
	text-align: center;
}

aside.banner, .message.banner {
	width: 100%;
	max-width: 1170px;
	margin: 0 auto 10px;
	padding: 10px 15px 10px 94px;
	text-align: left;
}

aside p, .message p {
	font-size: 18px;
	line-height: 26px;
	font-weight: 400;
}

aside ol, aside ul, .message ol, .message ul {
	margin: 0;
}

aside p:last-child, .message p:last-child {
	margin-bottom: 0;
}

aside a, .message a {
	color: #2F72C0;
} 

aside h2, aside h3, aside h4, aside h5, aside h6,
.message h2, .message h3, .message h4, .message h5, .message h6 {
	color: #2F72C0;
	font-size: 24px;
	line-height: 28px;
	padding-top: 0;
	margin-bottom: 2px;
} 

aside hr, .message hr {
	border: none;
	background: #C5D8EE;
}

/* Smaller Font Size */

aside.smaller, .message.smaller {
	/* padding: 15px 20px 15px 94px; */
	font-size: 16px;
	line-height: 22px;
}

aside p.smaller, .message p.smaller, aside.smaller p, .message.smaller p {
	font-size: 16px;
	line-height: 22px;
}

aside.smaller h2, aside.smaller h3, aside.smaller h4, aside.smaller h5, aside.smaller h6,
.message.smaller h2, .message.smaller h3, .message.smaller h4, .message.smaller h5, .message.smaller h6 {
	color: #2F72C0;
	font-size: 20px;
	line-height: 24px;
	margin-bottom: 0;
} 

/* Smallest Font Size */

aside.smallest, .message.smallest {
	/* padding: 15px 20px 15px 94px; */
	font-size: 14px;
	line-height: 20px;
}

aside p.smallest, .message p.smallest, aside.smallest p, .message.smallest p {
	font-size: 14px;
	line-height: 20px;
}

aside.smallest h2, aside.smallest h3, aside.smallest h4, aside.smallest h5, aside.smallest h6,
.message.smallest h2, .message.smallest h3, .message.smallest h4, .message.smallest h5, .message.smallest h6 {
	color: #2F72C0;
	font-size: 16px;
	line-height: 20px;
	margin-bottom: 0;
} 

/* Warning Message */

aside.warning, .message.warning {
	background: #FAF5D3;
	background: url('/global/images/siteimages/message-icon-warning.svg') no-repeat 20px center, linear-gradient(to right, rgba(170, 151, 24, 0.3) 0px, rgba(170, 151, 24, 0.3) 74px, rgba(170, 151, 24, 0.15) 74px, rgba(170, 151, 24, 0.15));
}

aside.warning.tall, .message.warning.tall {
	background: #FAF5D3;
	background: url('/global/images/siteimages/message-icon-warning.svg') no-repeat 20px 20px, linear-gradient(to right, rgba(170, 151, 24, 0.3) 0px, rgba(170, 151, 24, 0.3) 74px, rgba(170, 151, 24, 0.15) 74px, rgba(170, 151, 24, 0.15));
}

aside.warning a, .message.warning a {
	color: #AA9718;
} 

aside.warning h2, aside.warning h3, aside.warning h4, aside.warning h5, aside.warning h6,
.message.warning h2, .message.warning h3, .message.warning h4, .message.warning h5, .message.warning h6 {
	color: #AA9718;
} 

aside.warning hr, .message.warning hr {
	background: rgba(170, 151, 24, 0.3);
}

/* Error Message */

aside.error, .message.error {
	background: #F8D9D9;
	background: url('/global/images/siteimages/message-icon-error.svg') no-repeat 20px center, linear-gradient(to right, rgba(204, 0, 0, 0.3) 0px, rgba(204, 0, 0, 0.3) 74px, rgba(204, 0, 0, 0.15) 74px, rgba(204, 0, 0, 0.15));
}

aside.error.tall, .message.error.tall {
	background: #F8D9D9;
	background: url('/global/images/siteimages/message-icon-error.svg') no-repeat 20px 20px, linear-gradient(to right, rgba(204, 0, 0, 0.3) 0px, rgba(204, 0, 0, 0.3) 74px, rgba(204, 0, 0, 0.15) 74px, rgba(204, 0, 0, 0.15));
}

aside.error a, .message.error a {
	color: #CC0000;
} 

aside.error h2, aside.error h3, aside.error h4, aside.error h5, aside.error h6,
.message.error h2, .message.error h3, .message.error h4, .message.error h5, .message.error h6 {
	color: #CC0000;
} 

aside.error hr, .message.error hr {
	background: rgba(204, 0, 0, 0.3);
}

/* Success Message */

aside.success, .message.success {
	background: #E0F4DF;
	background: url('/global/images/siteimages/message-icon-success.svg') no-repeat 20px center, linear-gradient(to right, rgba(44, 178, 37, 0.3) 0px, rgba(44, 178, 37, 0.3) 74px, rgba(44, 178, 37, 0.15) 74px, rgba(44, 178, 37, 0.15));
}

aside.success.tall, .message.success.tall {
	background: #E0F4DF;
	background: url('/global/images/siteimages/message-icon-success.svg') no-repeat 20px 20px, linear-gradient(to right, rgba(44, 178, 37, 0.3) 0px, rgba(44, 178, 37, 0.3) 74px, rgba(44, 178, 37, 0.15) 74px, rgba(44, 178, 37, 0.15));
}

aside.success a, .message.success a {
	color: #2CB225;
} 

aside.success h2, aside.success h3, aside.success h4, aside.success h5, aside.success h6
.message.success h2, .message.success h3, .message.success h4, .message.success h5, .message.success h6 {
	color: #2CB225;
} 

aside.success hr, .message.success hr {
	background: rgba(44, 178, 37, 0.3);
}

/* Form Message */

aside.form, .message.form {
	background: #EBEBEB;
	background: url('/global/images/siteimages/message-icon-form.svg') no-repeat 20px center, linear-gradient(to right, rgba(142, 142, 142, 0.3) 0px, rgba(142, 142, 142, 0.3) 74px, rgba(142, 142, 142, 0.15) 74px, rgba(142, 142, 142, 0.15));
}

aside.form.tall, .message.form.tall {
	background: #EBEBEB;
	background: url('/global/images/siteimages/message-icon-form.svg') no-repeat 20px 20px, linear-gradient(to right, rgba(142, 142, 142, 0.3) 0px, rgba(142, 142, 142, 0.3) 74px, rgba(142, 142, 142, 0.15) 74px, rgba(142, 142, 142, 0.15));
}

aside.form a, .message.form a {
	color: #8e8e8e;
} 

aside.form h2, aside.form h3, aside.form h4, aside.form h5, aside.form h6
.message.form h2, .message.form h3, .message.form h4, .message.form h5, .message.form h6 {
	color: #8e8e8e;
} 

aside.form hr, .message.form hr {
	background: rgba(142, 142, 142, 0.3);
}


/* Secondary Message */

aside.secondary, .message.secondary {
	background: #EBEBEB;
	background: url('/global/images/siteimages/message-icon-secondary.svg') no-repeat 20px center, linear-gradient(to right, rgba(142, 142, 142, 0.3) 0px, rgba(142, 142, 142, 0.3) 74px, rgba(142, 142, 142, 0.15) 74px, rgba(142, 142, 142, 0.15));
}

aside.secondary.tall, .message.secondary.tall {
	background: #EBEBEB;
	background: url('/global/images/siteimages/message-icon-secondary.svg') no-repeat 20px 20px, linear-gradient(to right, rgba(142, 142, 142, 0.3) 0px, rgba(142, 142, 142, 0.3) 74px, rgba(142, 142, 142, 0.15) 74px, rgba(142, 142, 142, 0.15));
}

aside.secondary a, .message.secondary a {
	color: #8e8e8e;
} 

aside.secondary h2, aside.secondary h3, aside.secondary h4, aside.secondary h5, aside.secondary h6
.message.secondary h2, .message.secondary h3, .message.secondary h4, .message.secondary h5, .message.secondary h6 {
	color: #8e8e8e;
} 

aside.secondary hr, .message.secondary hr {
	background: rgba(142, 142, 142, 0.3);
}


/* Tip Message */

aside.tip, .message.tip {
	background: rgba(146, 47, 192, 0.3);
	background: url('/global/images/siteimages/message-icon-tip.svg') no-repeat 20px center, linear-gradient(to right, rgba(146, 47, 192, 0.3) 0px, rgba(146, 47, 192, 0.3) 74px, rgba(146, 47, 192, 0.15) 74px, rgba(146, 47, 192, 0.15));
}

aside.tip.tall, .message.tip.tall {
	background: rgba(146, 47, 192, 0.3);
	background: url('/global/images/siteimages/message-icon-tip.svg') no-repeat 20px 20px, linear-gradient(to right, rgba(146, 47, 192, 0.3) 0px, rgba(146, 47, 192, 0.3) 74px, rgba(146, 47, 192, 0.15) 74px, rgba(146, 47, 192, 0.15));
}

aside.tip a, .message.tip a {
	color: #922FC0;
} 

aside.tip h2, aside.tip h3, aside.tip h4, aside.tip h5, aside.tip h6
.message.tip h2, .message.tip h3, .message.tip h4, .message.tip h5, .message.tip h6 {
	color: #922FC0;
} 

aside.tip hr, .message.tip hr {
	background: rgba(146, 47, 192, 0.3);
}


/* Update Message */

aside.update, .message.update {
	background: rgba(255, 127, 0, 0.3);
	background: url('/global/images/siteimages/message-icon-update.svg') no-repeat 20px center, linear-gradient(to right, rgba(255, 127, 0, 0.3) 0px, rgba(255, 127, 0, 0.3) 74px, rgba(255, 127, 0, 0.15) 74px, rgba(255, 127, 0, 0.15));
}

aside.update.tall, .message.update.tall {
	background: rgba(255, 127, 0, 0.3);
	background: url('/global/images/siteimages/message-icon-update.svg') no-repeat 20px 20px, linear-gradient(to right, rgba(255, 127, 0, 0.3) 0px, rgba(255, 127, 0, 0.3) 74px, rgba(255, 127, 0, 0.15) 74px, rgba(255, 127, 0, 0.15));
}

aside.update a, .message.update a {
	color: #FF7F00;
} 

aside.update h2, aside.update h3, aside.update h4, aside.update h5, aside.update h6
.message.update h2, .message.update h3, .message.update h4, .message.update h5, .message.update h6 {
	color: #FF7F00;
} 

aside.update hr, .message.update hr {
	background: rgba(255, 127, 0, 0.3);
}



/* Misc Message Styles */

aside a:hover, .message a:hover {
	color: #333;
}

aside.compact, .message.compact {
	padding: 10px 20px 10px 94px;
}

aside.compact h2, aside.compact h3, aside.compact h4, aside.compact h5, aside.compact h6,
.message.compact h2, .message.compact h3, .message.compact h4, .message.compact h5, .message.compact h6 {
	font-size: 22px;
	line-height: 26px;
} 

/* Tag Style - Compact form for small messages */

aside.tag {
	display: inline-block;
	padding: 15px 20px 15px 64px !important;
	background: url('/global/images/siteimages/message-icon-note.svg') no-repeat 10px center, linear-gradient(to right, rgba(65, 113, 186, 0.3) 0px, rgba(65, 113, 186, 0.3) 54px,  rgba(65, 113, 186, 0.15) 54px,  rgba(65, 113, 186, 0.15));
	width: auto !important;
	margin-top: 10px;
}

aside.warning.tag, .message.warning.tag {
	background: #FAF5D3;
	background: url('/global/images/siteimages/message-icon-warning.svg') no-repeat 10px center, linear-gradient(to right, rgba(170, 151, 24, 0.3) 0px, rgba(170, 151, 24, 0.3) 54px, rgba(170, 151, 24, 0.15) 54px, rgba(170, 151, 24, 0.15));
}

aside.error.tag, .message.error.tag {
	background: #F8D9D9;
	background: url('/global/images/siteimages/message-icon-error.svg') no-repeat 10px center, linear-gradient(to right, rgba(204, 0, 0, 0.3) 0px, rgba(204, 0, 0, 0.3) 54px, rgba(204, 0, 0, 0.15) 54px, rgba(204, 0, 0, 0.15));
}

aside.success.tag, .message.success.tag {
	background: #E0F4DF;
	background: url('/global/images/siteimages/message-icon-success.svg') no-repeat 10px center, linear-gradient(to right, rgba(44, 178, 37, 0.3) 0px, rgba(44, 178, 37, 0.3) 54px, rgba(44, 178, 37, 0.15) 54px, rgba(44, 178, 37, 0.15));
}

aside.tip.tag, .message.tip.tag {
	background: #F4EAF8;
	background: url('/global/images/siteimages/message-icon-tip.svg') no-repeat 10px center, linear-gradient(to right, rgba(146, 47, 192, 0.3) 0px, rgba(146, 47, 192, 0.3) 54px, rgba(146, 47, 192, 0.15) 54px, rgba(146, 47, 192, 0.15));
}

aside.secondary.tag, .message.secondary.tag {
	background: #EBEBEB;
	background: url('/global/images/siteimages/message-icon-secondary.svg') no-repeat 10px center, linear-gradient(to right, rgba(142, 142, 142, 0.3) 0px,rgba(142, 142, 142, 0.3) 54px, rgba(142, 142, 142, 0.15) 54px, rgba(142, 142, 142, 0.15));
}

aside.update.tag, .message.update.tag {
	background: rgba(255, 127, 0, 0.3);
	background: url('/global/images/siteimages/message-icon-update.svg') no-repeat 10px center, linear-gradient(to right, rgba(255, 127, 0, 0.3) 0px,rgba(255, 127, 0, 0.3) 54px, rgba(255, 127, 0, 0.15) 54px, rgba(255, 127, 0, 0.15));
}

aside.tag h2, aside.tag h3, aside.tag h4, aside.tag h5, aside.tag h6,
.message.tag h2, .message.tag h3, .message.tag h4, .message.tag h5, .message.tag h6 {
	font-size: 18px;
	line-height: 18px;
	padding: 0;
	margin: 1px 0 0;
	display: inline-block;
	width: auto !important;
} 

/* Mobile Styles */
@media (max-width: 631px) {
	aside, .message {
		padding: 15px 20px 20px 64px;
	}
	
	aside, .message, aside.tall, .message.tall {
		background: url('/global/images/siteimages/message-icon-note.svg') no-repeat 10px 20px, linear-gradient(to right, rgba(65, 113, 186, 0.3) 0px, rgba(65, 113, 186, 0.3) 54px, rgba(65, 113, 186, 0.15) 54px, rgba(65, 113, 186, 0.15));
	}
	
	aside.warning, .message.warning, aside.warning.tall, .message.warning.tall {
		background: #FAF5D3;
		background: url('/global/images/siteimages/message-icon-warning.svg') no-repeat 10px 20px, linear-gradient(to right, rgba(170, 151, 24, 0.3) 0px, rgba(170, 151, 24, 0.3) 54px, rgba(170, 151, 24, 0.15) 54px, rgba(170, 151, 24, 0.15));
	}
	
	aside.error, .message.error, aside.error.tall, .message.error.tall {
		background: #F8D9D9;
		background: url('/global/images/siteimages/message-icon-error.svg') no-repeat 10px 20px, linear-gradient(to right, rgba(204, 0, 0, 0.3) 0px, rgba(204, 0, 0, 0.3) 54px, rgba(204, 0, 0, 0.15) 54px, rgba(204, 0, 0, 0.15));
	}
	
	aside.success, .message.success, aside.success.tall, .message.success.tall {
		background: #E0F4DF;
		background: url('/global/images/siteimages/message-icon-success.svg') no-repeat 10px 20px, linear-gradient(to right, rgba(44, 178, 37, 0.3) 0px, rgba(44, 178, 37, 0.3) 54px, rgba(44, 178, 37, 0.15) 54px, rgba(44, 178, 37, 0.15));
	}
	
	aside.form, .message.form, aside.form.tall, .message.form.tall {
		background: #EBEBEB;
		background: url('/global/images/siteimages/message-icon-form.svg') no-repeat 10px 20px, linear-gradient(to right, rgba(142, 142, 142, 0.3) 0px, rgba(142, 142, 142, 0.3) 54px, rgba(142, 142, 142, 0.15) 54px, rgba(142, 142, 142, 0.15));
	}
	
	aside.tip, .message.tip, aside.tip.tall, .message.tip.tall {
		background: #F4EAF8;
		background: url('/global/images/siteimages/message-icon-tip.svg') no-repeat 10px 20px, linear-gradient(to right, rgba(146, 47, 192, 0.3) 0px, rgba(146, 47, 192, 0.3) 54px, rgba(146, 47, 192, 0.15) 54px, rgba(146, 47, 192, 0.15));
	}
	
	aside.secondary, .message.secondary, aside.secondary.tall, .message.secondary.tall {
		background: #EBEBEB;
		background: url('/global/images/siteimages/message-icon-secondary.svg') no-repeat 10px 20px, linear-gradient(to right, rgba(142, 142, 142, 0.3) 0px, rgba(142, 142, 142, 0.3) 54px, rgba(142, 142, 142, 0.15) 54px, rgba(142, 142, 142, 0.15));
	}
	
	aside.update, .message.update, aside.update.tall, .message.update.tall {
		background: #EBEBEB;
		background: url('/global/images/siteimages/message-icon-update.svg') no-repeat 10px 20px, linear-gradient(to right, rgba(255, 127, 0, 0.3) 0px, rgba(255, 127, 0, 0.3) 54px, rgba(255, 127, 0, 0.15) 54px, rgba(255, 127, 0, 0.15));
	}
}

aside.hidden, .message.hidden {
	transform: scale(1,1) rotateX(-90deg);
	opacity: 0;
	transition: all 0.5s cubic-bezier(.17,.67,.63,1.24);
	display: block !important;
	height: 0px;
	visibility: hidden !important;
	speak: none;
}

code[class*=language-], pre[class*=language-] {
	font-size: 16px !important;
	font-family: monospace !important;
	border-radius: 12px;
}

/* ==========================================================================
   Helper classes
   ========================================================================== */

.bold {
	font-weight: 700;
}

.align-left {
	text-align: left;
	float: left;
}

.align-right {
	text-align: right;
	float: right;
}

.align-center {
	text-align: center;
}

.no-decoration {
	text-decoration: none;
}

.clear {
	clear: both;
}

.hidden {
    display: none !important;
    visibility: hidden;
	speak: none;
}

.light-hidden {
	display: none;
}

.collapsed {
	display: none !important;
	visibility: collapse;
}

.visuallyhidden {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
	speak: none;
}

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    width: auto;
}

.invisible {
    visibility: hidden;
}

.clearfix:after {
	visibility: hidden;
	display: block;
	font-size: 0;
	content: " ";
	clear: both;
	height: 0;
	}
* html .clearfix             { zoom: 1; } /* IE6 */
*:first-child+html .clearfix { zoom: 1; } /* IE7 */


.page-content, #header {
	-webkit-transition: all 300ms ease;
    -moz-transition: all 300ms ease;
    -o-transition: all 300ms ease;
    transition: all 300ms ease;
    
    transform: scale(1);
}

video.no-controls::-webkit-media-controls {
  display: none;
  pointer-events: none;
}

.pop-up {
	width: 500px;
	max-width: 90%;
	background: #fff;
	padding: 30px 30px 15px;
	border-radius: 10px;
	text-align: left;
	cursor: auto;
	
	position: absolute;
	top: 50%;
	left: 50%;
	
   -moz-transform: translate(-50%, -50%);
   -ms-transform: translate(-50%, -50%);
   -o-transform: translate(-50%, -50%);
   transform: translate(-50%, -50%);
	
	-webkit-backface-visibility: hidden;
   -moz-backface-visibility: hidden;
   -ms-backface-visibility: hidden;
   backface-visibility: hidden;
}

.pop-up p {
	padding-left: 47px;
}

.pop-up h2 {
	text-align: center;
}

.lightboxed .pop-up p a {
	pointer-events: auto !important;
	z-index: 9999;
}

::target-text {
	background: rgba(229, 204, 33, 0.2);
	animation-name: animate-target-text;
	animation-duration: 1s;
	animation-fill-mode: backwards;
}

@keyframes animate-target-text {
	0% {
		background: rgba(229, 204, 33, 0.2);
	}
	
	50% {
		background: rgba(229, 204, 33, 0.6);
	}
	
	100% {
		background: rgba(229, 204, 33, 0.2);
	}
}

/* Mobile Styles */
@media (max-width: 631px) {
	.pop-up p {
	    font-size: 14px;
	    line-height: 18px;
	}
	
	.pop-up.store {
		padding: 10px;
	}
	
	.pop-up.store h2 {
		font-size: 20px;
		line-height: 22px;
	}
	
	.pop-up.store .column.label {
		padding-top: 0;
		text-align: left;
	}
	
	.pop-up.store select {
		margin: 0 0 5px;
	}
	
	.pop-up.store input {
		margin: 0;
		padding: 5px 10px;
	}
}



@media (max-height: 610px) {
	.pop-up .download-icon {
	    display: none;
	}
}

/* ==========================================================================
   Lightbox - Custom Rogue Amoeba Lightbox
   ========================================================================== */

.lightboxed .page-content, .lightboxed #header {
	
	-webkit-transform: translateZ(0);
   -moz-transform: translateZ(0);
   -ms-transform: translateZ(0);
   -o-transform: translateZ(0);
   transform: translateZ(0);
	
	-webkit-backface-visibility: hidden;
   -moz-backface-visibility: hidden;
   -ms-backface-visibility: hidden;
   backface-visibility: hidden;

   -webkit-perspective: 1000;
   -moz-perspective: 1000;
   -ms-perspective: 1000;
   perspective: 1000;
	
	-webkit-transition: all 300ms ease;
	-moz-transition: all 300ms ease;
	-o-transition: all 300ms ease;
	transition: all 300ms ease;
	
	transform: scale(1);
}

#lightbox {
	background: rgba(0,0,0,0.5);
	box-shadow: 0 0 20px 20px #000 inside;
	width: 100%;
	height: 100vh;
	position: fixed;
	top: 0;
	padding: 0;
	transform: translateZ(0);
	z-index: 9;
	
	-webkit-transform: translateZ(0);
   -moz-transform: translateZ(0);
   -ms-transform: translateZ(0);
   -o-transform: translateZ(0);
   transform: translateZ(0);
	
	-webkit-backface-visibility: hidden;
   -moz-backface-visibility: hidden;
   -ms-backface-visibility: hidden;
   backface-visibility: hidden;

   -webkit-perspective: 1000;
   -moz-perspective: 1000;
   -ms-perspective: 1000;
   perspective: 1000;
   
	opacity: 0.0001;
	pointer-events: none;
	
	-webkit-transition: all 500ms ease;
	-moz-transition: all 500ms ease;
	-o-transition: all 500ms ease;
	transition: all 500ms ease;
}

.lightboxed #lightbox {
	opacity: 1;
	pointer-events: auto;

	-webkit-transform: translateZ(0);
   -moz-transform: translateZ(0);
   -ms-transform: translateZ(0);
   -o-transform: translateZ(0);
   transform: translateZ(0);
}

#lightbox .lightbox-content {
	width: 100%;
	height: 100vh;
	text-align: center;
	cursor: pointer;
	
	transform: scale(1) translate(0, 100px) translateZ(0);
	
	-webkit-transition: all 300ms ease;
	-moz-transition: all 300ms ease;
	-o-transition: all 300ms ease;
	transition: all 300ms ease;
}

.lightboxed #lightbox .lightbox-content {
	transform: scale(1);
	
	-webkit-transition: all 300ms cubic-bezier(.17,.67,.27,1.5) !important;
	-moz-transition: all 300ms cubic-bezier(.17,.67,.27,1.5) !important;
	-o-transition: all 300ms cubic-bezier(.17,.67,.27,1.5) !important;
	transition: all 300ms cubic-bezier(.17,.67,.27,1.5) !important;
}

#lightbox .button {
	width: 100%;
	font-size: 18px;
	margin: 30px auto 10px;
}


/* ==========================================================================
   Mobile Styles
   ========================================================================== */

.mobile-only {
		visibility: none;
		display: none;
	}

@media (max-width: 631px) {
	
	/* Utility Classes */
	.mobile-hide {
		display: none;
	}
	
	.mobile-full {
		width: 100%;
		margin-left: 0 !important;
		margin-right: 0 !important;
		margin-top: 15px !important;
	}
	
	.column.mobile-half {
		width: 50% !important;
		min-width: 50% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		margin-top: 15px !important;
	}
	
	.column.mobile-third {
		width: 33.3333333333% !important;
		min-width: 33.3333333333% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		margin-top: 15px !important;
	}
	
	.column.mobile-two-thirds {
		width: 66.6666666666% !important;
		min-width: 66.6666666666% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		margin-top: 15px !important;
	}
	
	.mobile-only {
		visibility: visible;
		display: inherit;
	}
	
	.mobile-center {
		text-align: center;
	}
	
	.mobile-clear {
		clear: both;
	}
	
	/* Mobile Layout */
	.content.narrow, #title.narrow, .column, .section, .narrow .content, #footer .content
	{
		width: 100%;
		min-width: 100%;
	}
	
	input[type="text"],	input[type="password"], input[type="email"]  {
		width: 100%;
		min-width: 100%;
	}
	
	.two-column {
		column-count: 1; -moz-column-count: 1;
	}
	
	.content {
		margin-top: 0px;
		padding-top: 30px;
		max-width: 100%;
	}
	
	#title, #title.narrow, .narrow #title {
		padding: 15px 30px 0px;
		width: 100%;
		min-width: 100%;
		clear: both;
	}
	
	#title h1 {
		text-align: left;
		font-size: 30px;
		width: 100%;
		font-size: 34px;
		line-height: 36px;
		margin-bottom: 10px;
	}
	
	#title h2 {
		width: 100%;
		line-height: 24px;
		font-size: 18px;
	}
	
	a.storeButton {
		margin-left: 0 !important;
		margin-right: 0 !important;
		display: block;
	}
	
	/* Navigation */
	#header {
		background: none;
		text-align: center;
		height: auto;
		margin-bottom: 0px;
		float: left;
		clear: both;
	}
	
	#logo {
		width: 50%;
		float: left;
		margin: 0 0 -15px;
		padding: 0;
	}
	
	#tagline {
		width: 50%;
		color: #333;
		padding: 0;
		margin: 8px 0 0;
	}
	
	#nav {
		clear: left;
		width: 100%;
		background: #2F72C0;
		text-align: center;
		padding: 5px 0;
	}
	
	#header ul {
		text-align: center;
	}
	
	#header ul li {
		display: inline-block;
		float: none;
	}
	
	#header ul li a {
		font-size: 15px;
		background: none !important;
		float: none;
		padding: 10px 30px;
	}
	
	#header ul li, #header ul li.active:hover {
		background: none !important;
		padding: 5px 0;
	}
	
	#header ul li.active a {
		color: #D5E2F2 !important;
	}
	
	a.action-small.download, a.action-small.purchase {
		width: 100%;
		max-width: 100%;
		min-width: 100%;
		display: block;
		float: left;
		clear: both;
	}
	
	.store-item h3 {
		width: 100%;
		clear: both;
	}
	
	.store-description, .store-description h2 {
		padding: 0;
		width: 100%;
		clear: both;
	}
	
	.content img {
		max-width: 100% !important;
		height: auto !important;
	}
	
	#fsp-cart-link {
		display: none;
	}
	
	.warningBanner, .warningBannerYellow {
		width: 100%;
		min-width: 100%;
	}
	
	.quote.a, .quote-set {
		width: 100% !important;
		text-align: center !important;
	}
	
	.section.accolades h2 {
/*
		font-size: 18px !important;
		line-height: 22px !important;
*/
		text-align: center !important;
	}
	
/*
	.quote p {
		font-size: 16px !important;
	}
*/
	
	.quote.b, .quote.c {
		display: none !important;
	}
	
	.store-block-small::after {
		display: block;
		width: 100%;
		height: 1px;
		background: #e8eaf0;
		content: "";
		margin: 5px 0;
		padding: 0 15px;
	}

	.store-block-small.no-border::after {
		display: none;
	}
	
	.column.table-right {
		text-align: left;
		font-weight: 800;
	}
}

/* Mobile - Extra small sizes */

@media (max-width: 350px) {
	#header ul li a {
		font-size: 15px;
		background: none !important;
		float: none;
		padding: 10px 15px;
	}
}

/* Responsive Sizes (Between 630px and 930px) */

@media (max-width: 631px) {
	.responsive a.storeButton {
		margin-left: auto !important;
		margin-right: auto !important;
	}
}

@media (max-width: 931px) {
	
	/* Utility Classes */
	.responsive .mobile-hide {
		display: none;
	}
	
	.responsive .mobile-full {
		width: 100%;
		margin-left: 0 !important;
		margin-right: 0 !important;
		margin-top: 15px !important;
	}
	
	.responsive .column.mobile-half {
		width: 50% !important;
		min-width: 50% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		margin-top: 15px !important;
	}
	
	.responsive .column.mobile-third {
		width: 33.3333333333% !important;
		min-width: 33.3333333333% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		margin-top: 15px !important;
	}
	
	.responsive .column.mobile-two-thirds {
		width: 66.6666666666% !important;
		min-width: 66.6666666666% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		margin-top: 15px !important;
	}
	
	.responsive .mobile-only {
		visibility: visible;
		display: inherit;
	}
	
	.responsive .mobile-center {
		text-align: center;
	}
	
	.responsive  .mobile-clear {
		clear: both;
	}
	
	/* Mobile Layout */
	.responsive .content.narrow, .responsive #title.narrow, .responsive .column, .responsive .section, .responsive .narrow .content, .responsive #footer .content
	{
		width: 100%;
		min-width: 100%;
	}
	
	.responsive input[type="text"],	.responsive input[type="password"], .responsive input[type="email"]  {
		width: 100%;
		min-width: 100%;
	}
	
	.responsive  .two-column {
		column-count: 1; -moz-column-count: 1;
	}
	
	.responsive .content, .responsive.narrow .content {
		margin-top: 0px;
		padding-top: 30px;
		max-width: 100%;
	}
	
	/* Navigation */
	.responsive #header {
		background: none;
		text-align: center;
		height: auto;
		margin-bottom: 0px;
		float: left;
		clear: both;
	}
	
	.responsive #logo {
		width: 50%;
		float: left;
		margin: 0 0 -15px;
		padding: 0;
	}
	
	.responsive #tagline {
		width: 50%;
		color: #333;
		padding: 0;
		margin: 8px 0 0;
	}
	
	.responsive #header ul li.active, .responsive #header ul li.active a:hover {
		background: none !important;
	}
	
	.responsive	#nav {
		clear: left;
		width: 100%;
		background: #2F72C0;
		text-align: center;
		padding: 5px 0;
	}
	
	.responsive #title, .responsive.narrow #title {
		width: 100%;
	}
	
	.responsive #header ul {
		text-align: center;
	}
	
	.responsive #header ul li {
		display: inline-block;
		float: none;
	}
	
	.responsive #header ul li a {
		font-size: 15px;
		background: none !important;
		float: none;
		padding: 10px;
	}
	
	.responsive #header ul li, .responsive #header ul li.active:hover {
		background: none !important;
		padding: 5px 0;
	}
	
	.responsive #header ul li.active a {
		color: #D5E2F2 !important;
	}
	
	.responsive .content img {
		max-width: 100%;
		height: auto !important;
	}
	
	/* Store Styles */
	
	.responsive #store-info, .responsive .store-summary h3 {
		text-align: center;
	}
	
	.responsive .icon-container, .responsive .store-icon {
		margin: 0 auto 0;
		width: 100%;
		float: none;
	}
	
	.responsive	.section.actions .content.wide {
		border-radius: 0;
	}
	
	.responsive .store-box .icon-container, .responsive .store-box h4 {
		text-align: center;
	}
	
	.responsive .store-box p {
		padding: 0 0 10px;
		text-align: center;
	}
}

body.responsive {
	padding-top: 105px;
}

@media (max-width: 1200px) {
	body.responsive  {
		padding-top: 105px;
	}
}

@media (max-width: 931px) {
	body.responsive  {
		padding-top: 175px;
	}
}

@media (max-width: 631px) {
	body.responsive  {
		padding-top: 175px;
	}
}

@media (max-width: 375px) {
	body.responsive  {
		padding-top: 195px;
	}
}

body.responsive.release-notes {
	padding-top: 0px !important;
}

/* ==========================================================================
   Animations
   ========================================================================== */

.animate {
	animation-duration: 0.75s;
	animation-delay: 0.5s;
	--DelayMultiplier: 1; 
	animation-name: animate-fade;
	animation-timing-function: cubic-bezier(.26,.53,.74,1.48);
	animation-fill-mode: backwards;
}

/* Fade In */
.animate.fade {
	animation-name: animate-fade;
	animation-timing-function: ease;
}

@keyframes animate-fade {
	0% { opacity: 0; }
	100% { opacity: 1; }
}

/* Pop In */
.animate.pop {
	animation-name: animate-pop;
}

@keyframes animate-pop {
	0% {
		opacity: 0;
		transform: scale(0.5, 0.5);
	}
	
	100% {
		opacity: 1;
		transform: scale(1, 1);
	}
}

/* Blur In */
.animate.blur {
	animation-name: animate-blur;
	animation-timing-function: ease;
}

@keyframes animate-blur {
	0% {
		opacity: 0;
		filter: blur(15px);
	}
	
	100% {
		opacity: 1;
		filter: blur(0px);
	}
}

/* Rise In */
.animate.rise {
	animation-name: animate-rise;
	animation-timing-function: ease;
}

@keyframes animate-rise {
	0% {
		transform: translateY(100px);
		opacity: 0;
	}
	
	100% {
		transform: translateY(0);
		opacity: 1;
	}
}

/* Glow In */
.animate.glow {
	animation-name: animate-glow;
	animation-timing-function: ease;
}

@keyframes animate-glow {
	0% {
		opacity: 0;
		filter: brightness(3) saturate(3);
		transform: scale(0.8, 0.8);
	}
	
	100% {
		opacity: 1;
		filter: brightness(1) saturate(1);
		transform: scale(1, 1);
	}
}

/* Special Glow Animation for site index page */
.animate.indexglow {
	animation-name: animate-indexglow;
	animation-timing-function: ease;
}

@keyframes animate-indexglow {
	0% {
		opacity: 1;
		filter: brightness(1) saturate(1);
		transform: scale(1, 1);
	}
	
	50% {
		opacity: 1;
		filter: brightness(1.3) saturate(1.3);
		transform: scale(1.03, 1.03);
	}
	
	100% {
		opacity: 1;
		filter: brightness(1) saturate(1);
		transform: scale(1, 1);
	}
}


/* Grow In */

.animate.grow {
	animation-name: animate-grow;
}

@keyframes animate-grow {
	0% {
		opacity: 0;
		transform: scale(1, 0);
		visibility: hidden;
	}
	
	100% {
		opacity: 1;
		transform: scale(1, 1);
	}
}

/* Splat In */

.animate.splat {
	animation-name: animate-splat;
}

@keyframes animate-splat {
	0% {
		opacity: 0;
		transform: scale(0, 0) rotate(3deg) translate(0, -30px);
	}
	
	70% {
		opacity: 1;
		transform: scale(1.1, 1.1) rotate(3deg));
	}
	
	85% {
		opacity: 1;
		transform: scale(1.1, 1.1) rotate(3deg) translate(0, -10px);
	}
	
	100% {
		opacity: 1;
		transform: scale(1, 1) rotate(0) translate(0, 0);
	}
}

/* Roll In */

.animate.roll {
	animation-name: animate-roll;
	//animation-timing-function: ease-in-out;
}

@keyframes animate-roll {
	0% {
		opacity: 0;
		transform: scale(1, 1) rotate(180deg);
	}
	
	100% {
		opacity: 1;
		transform: scale(1, 1) rotate(0deg);
	}
}

/* Flip In */

.animate.flip {
	animation-name: animate-flip;
	transform-style: preserve-3d;
	perspective: 1000px;
}

@keyframes animate-flip {
	0% {
		opacity: 0;
		transform: rotateX(-120deg) scale(0.9,0.9);
	}
	
	100% {
		opacity: 1;
		transform: rotateX(0deg) scale(1,1);
	}
}

/* Spin In */

.animate.spin {
	animation-name: animate-spin;
	transform-style: preserve-3d;
	perspective: 1000px;
}

@keyframes animate-spin {
	0% {
		opacity: 0;
		transform: rotateY(-120deg) scale(0.9,0.9);
	}
	
	100% {
		opacity: 1;
		transform: rotateY(0deg) scale(1,1);
	}
}

/* Slide In */

.animate.slide { animation-name: animate-slide; }

@keyframes animate-slide {
	0% {
		opacity: 0;
		transform: translate(0,20px);
	}
	
	100% {
		opacity: 1;
		transform: translate(0,0);
	}
}

/* Drop In */

.animate.drop { 
	animation-name: animate-drop; 
	animation-timing-function: cubic-bezier(.77,.14,.91,1.25);
}

@keyframes animate-drop {
	0% {
		opacity: 0;
		transform: translate(0,-100px) scale(0.95, 1.05);
	}
	
	50% {
		opacity: 1;
		transform: translate(0,0) scale(0.95, 1.05);
	}
	
	75% {
		opacity: 1;
		transform: translate(0,0) scale(1.01, 0.9);
	}
	100% {
		opacity: 1;
		transform: translate(0,0) scale(1, 1);
	}
}

/* Spring Drop Animation */
.animate.spring-drop {
	animation: 3.3s spring-drop linear;
	animation-fill-mode: both;
	animation-delay: 0s;
}

@keyframes spring-drop {
	 0% { transform: translateY(-50.0px); opacity: 0; }
	 1% { transform: translateY( -31.15px); }
	 2% { transform: translateY( -13.0px); }
	 3% { transform: translateY( 3.6px); }
	 4% { transform: translateY( 18.0px); }
	 5% { transform: translateY( 29.65px); }
	 6% { transform: translateY( 38.35px); }
	 7% { transform: translateY( 44.0px); }
	 8% { transform: translateY( 46.65px); }
	 9% { transform: translateY( 46.55px); }
	 10% { transform: translateY( 44.05px); }
	 11% { transform: translateY( 39.55px); }
	 12% { transform: translateY( 33.55px); }
	 13% { transform: translateY( 26.55px); }
	 14% { transform: translateY( 19.05px); }
	 15% { transform: translateY( 11.45px); }
	 16% { transform: translateY( 4.2px); }
	 17% { transform: translateY( -2.4px); }
	 18% { transform: translateY( -8.05px); }
	 19% { transform: translateY( -12.55px); }
	 20% { transform: translateY( -15.9px); }
	 21% { transform: translateY( -18.0px); }
	 22% { transform: translateY( -18.85px); }
	 23% { transform: translateY( -18.7px); }
	 24% { transform: translateY( -17.55px); }
	 25% { transform: translateY( -15.65px); }
	 26% { transform: translateY( -13.15px); }
	 27% { transform: translateY( -10.25px); }
	 28% { transform: translateY( -7.2px);}
	 29% { transform: translateY( -4.15px);) }
	 29% { transform: translateY( -1.3px); }
	 31% { transform: translateY( 1.35px); }
	 32% { transform: translateY( 3.55px); }
	 33% { transform: translateY( 5.3px);  }
	 34% { transform: translateY( 6.55px); }
	 35% { transform: translateY( 7.35px); }
	 36% { transform: translateY( 7.65px); }
	 37% { transform: translateY( 7.5px); }
	 38% { transform: translateY( 7.0px); }
	 39% { transform: translateY( 6.15px); }
	 40% { transform: translateY( 5.15px); }
	 41% { transform: translateY( 3.95px); }
	 42% { transform: translateY( 2.75px); }
	 43% { transform: translateY( 1.5px); }
	 44% { transform: translateY( 0.35px); }
	 45% { transform: translateY( -0.7px); }
	 46% { transform: translateY( -1.55px); }
	 47% { transform: translateY( -2.25px); }
	 48% { transform: translateY( -2.7px); }
	 49% { transform: translateY( -3.0px); }
	 50% { transform: translateY( -3.1px);  }
	 51% { transform: translateY( -3.0px); }
	 52% { transform: translateY( -2.75px); }
	 53% { transform: translateY( -2.45px); }
	 54% { transform: translateY( -2.0px); }
	 55% { transform: translateY( -1.5px); }
	 56% { transform: translateY( -1.05px); }
	 57% { transform: translateY( -0.55px); }
	 57% { transform: translateY( -0.1px); }
	 58% { transform: translateY( 0.35px); }
	 60% { transform: translateY( 0.65px); }
	 61% { transform: translateY( 0.95px); }
	 62% { transform: translateY( 1.1px); }
	 63% { transform: translateY( 1.2px); }
	 64% { transform: translateY( 1.25px); }
	 65% { transform: translateY( 1.2px); }
	 66% { transform: translateY( 1.1px); }
	 67% { transform: translateY( 0.95px); }
	 68% { transform: translateY( 0.8px); }
	 69% { transform: translateY( 0.6px); }
	 70% { transform: translateY( 0.4px); }
	 71% { transform: translateY( 0.2px); }
	 72% { transform: translateY( 0.0px); }
	 73% { transform: translateY( -0.15px); }
	 74% { transform: translateY( -0.3px); }
	 75% { transform: translateY( -0.4px); }
	 76% { transform: translateY( -0.45px); }
	 77% { transform: translateY( -0.5px); }
	 78% { transform: translateY( -0.5px); }
	 79% { transform: translateY( -0.5px); }
	 80% { transform: translateY( -0.45px); }
	 81% { transform: translateY( -0.4px); }
	 82% { transform: translateY( -0.3px); }
	 83% { transform: translateY( -0.2px); }
	 84% { transform: translateY( -0.15px); }
	 85% { transform: translateY( -0.05px); }
	 86% { transform: translateY( 0.0px); }
	 87% { transform: translateY( 0.05px); }
	 88% { transform: translateY( 0.1px); }
	 89% { transform: translateY( 0.15px); }
	 90% { transform: translateY( 0.2px); }
	 91% { transform: translateY( 0.2px); }
	 92% { transform: translateY( 0.2px); }
	 93% { transform: translateY( 0.2px); }
	 94% { transform: translateY( 0.15px); }
	 95% { transform: translateY( 0.15px); }
	 96% { transform: translateY( 0.1px); }
	 97% { transform: translateY( 0.1px); }
	 98% { transform: translateY( 0.05px); }
	 99% { transform: translateY( 0.0px); }
	 100% { transform: translateY( 0.0px);opacity: 1; }
}


/* Animation Delays */

.delay-1 {
	animation-delay: 0.6s;
	animation-delay: calc(0.6s * var(--DelayMultiplier));
	
}

.delay-2 {
	animation-delay: 0.7s;
	animation-delay: calc(0.7s * var(--DelayMultiplier));
}

.delay-3 {
	animation-delay: 0.8s;
	animation-delay: calc(0.8s * var(--DelayMultiplier));
}

.delay-4 {
	animation-delay: 0.9s;
	animation-delay: calc(0.9s * var(--DelayMultiplier));
}

.delay-5 {
	animation-delay: 1s;
	animation-delay: calc(1s * var(--DelayMultiplier));
}

.delay-6 {
	animation-delay: 1.1s;
	animation-delay: calc(1.1s * var(--DelayMultiplier));
}

.delay-7 {
	animation-delay: 1.2s;
	animation-delay: calc(1.2s * var(--DelayMultiplier));
}

.delay-8 {
	animation-delay: 1.3s;
	animation-delay: calc(1.3s * var(--DelayMultiplier));
}

.delay-9 {
	animation-delay: 1.4s;
	animation-delay: calc(1.4s * var(--DelayMultiplier));
}

.delay-10 {
	animation-delay: 1.5s;
	animation-delay: calc(1.5s * var(--DelayMultiplier));
}

.delay-11 {
	animation-delay: 1.6s;
	animation-delay: calc(1.6s * var(--DelayMultiplier));
}

.delay-12 {
	animation-delay: 1.7s;
	animation-delay: calc(1.7s * var(--DelayMultiplier));
}

.delay-13 {
	animation-delay: 1.8s;
	animation-delay: calc(1.8s * var(--DelayMultiplier));
}

.delay-14 {
	animation-delay: 1.9s;
	animation-delay: calc(1.9s * var(--DelayMultiplier));
}

.delay-15 {
	animation-delay: 2s;
	animation-delay: calc(2s * var(--DelayMultiplier));
}

@media screen and (prefers-reduced-motion: reduce) {
	.animate {
		animation: none !important;
	}
}


/* ==========================================================================
   Print styles
   ========================================================================== */

@media print {
    *,
    *:before,
    *:after {
        background: transparent !important;
        color: #000 !important;
        box-shadow: none !important;
        text-shadow: none !important;
    }

    a,
    a:visited {
        text-decoration: underline !important;
    }


    .content a[href]:after {
        content: " (" attr(href) ")";
        font-weight: 300;
        word-break: break-all;
    }

    .content p a[href^="#"]:after,
    .content p a[href^="javascript:"]:after {
        content: "";
    }

    pre,
    blockquote {
        border: 1px solid #999;
        page-break-inside: avoid;
    }

    thead {
        display: table-header-group;
    }

    tr,
    img {
        page-break-inside: avoid;
    }

    img {
        max-width: 100% !important;
    }

    p,
    h2,
    h3 {
        orphans: 3;
        widows: 3;
    }

    h2,
    h3 {
        page-break-after: avoid;
    }
    
    #nav, .kb-back {
	    display: none;
    }
}

/* ==========================================================================
   Dark Mode Styles
   ========================================================================== */
@media (prefers-color-scheme: dark) {
	body.dark-modal {
		color: #fff;
		background: #222;
	}
	
	.dark-hidden {
		display: none;
	}
	
	.light-hidden {
		display: initial;
	}
	
	@media (max-width: 931px) {
		.dark-modal #tagline {
			color: #fff;
		}
	}
	
	#header ul li.active, #header ul li.active a:hover {
		background: url('../images/siteimages/nav-current-arrow-dark.svg') no-repeat 50% -10px;
		-webkit-transition: none;
		-moz-transition: none;
		-o-transition: none;
		transition: none;	
	}
	
	.dark-modal a {
		color: #6aafff;
	}
	
	.dark-modal a:hover {
		color: #a2ccfe;
	}
	
	.dark-modal #apps-parent .drop-down {
		background: #333;
	}
	
	.dark-modal #apps-parent .drop-down a {
		color: #fff !important;
	}
	
	.dark-modal #apps-parent .drop-down a:hover {
		background: rgba(47, 114, 192, 0.5) !important;
	}
	
	.dark-modal .home-item .home-btns a {
		color: #fff
	}
	
	.dark-modal .home-item.airfoil .home-btns {
		background: rgba(49, 111, 159, 0.2);
	}
	
	.dark-modal .home-item.audiohijack .home-btns {
		background: rgba(49, 111, 159, 0.2);
	}
	
	.dark-modal .home-item.farrago .home-btns {
		background: rgba(118, 43, 245, 0.2);
	}
	
	.dark-modal .home-item.fission .home-btns {
		background: rgba(210, 185, 104, 0.2);
	}
	
	.dark-modal .home-item.loopback .home-btns {
		background: rgba(101, 188, 190, 0.2);
	}
	
	.dark-modal .home-item.piezo .home-btns {
		background: rgba(193, 119, 62, 0.2);
	}
	
	.dark-modal .home-item.soundsource .home-btns {
		background: rgba(76, 150, 122, 0.2);
	}
	
	.dark-modal #title h1 {
		color: #fff;
	}
	
	.dark-modal hr {
		opacity: 0.3;
	}
	
	.dark-modal .platform-badge {
		background: rgba(243, 247, 252, 0.2);
		color: #fff !important;
	}
	
	.dark-modal .platform-badge img {
		filter: brightness(6);
	}
	
	.dark-modal a.quick-support-link:hover img {
		   filter: brightness(3) saturate(0);
		   -webkit-transition: all 100ms ease;
			-moz-transition: all 100ms ease;
			-o-transition: all 100ms ease;
			transition: all 100ms ease;
	   }
	
	.dark-modal .more-apps {
		background: rgba(47, 114, 192, 0.2);
	}
	
	.dark-modal .more-apps h3,
	.dark-modal .more-apps h6,
	.dark-modal .more-apps a {
		color: #fff;
	}
	
	.dark-modal .pop-up {
		background: #fff !important;
		color: #333;
	}
	
	/* Company Page */
	.dark-modal .socials a {
		filter: saturate(0) brightness(2);
	}
	
	.dark-modal aside p, .dark-modal .message p, .dark-modal aside, .dark-modal message,
	.dark aside p, .dark .message p, .dark aside, .dark message {
		color: #fff !important;
	}
	
	/* Home Page */
	.dark-modal .home-item h2, .dark-modal .home-item h6 {
		color: #fff;
	} 
	
	/* Store Page */
	.dark-modal .section.store-summary {
		background: #333;
		color: #fff;
	}
	
	.dark-modal .storeButton {
		color: #fff !important;
	}
	
	.store-section-divider {
		background: rgba(232, 234, 240, 0.25);
	}
	
	.dark-modal .store-block-big {
		background: rgba(47, 114, 192, 0.2);
	}
	
	.dark-modal .store-summary h3 {
		color: #6aafff !important;
	}
	
	.dark-modal .store-summary h3:hover {
		color: #a2ccfee !important;
	}
	
	.dark-modal .store-box {
		background: #333;
	}
	
	.dark-modal h5.store-section,
	.dark-modal .store-box h3 {
		color: #fff;
	}
	
	.dark-modal .store-section span {
		background: #222;
	}
	
	.dark-modal .ammo-modal-content {
		background: #333;
		color: #fff;
	}
	
	.dark-modal .ammo-modal-content p {
		color: #fff;
	}
	
	.dark-modal .store-summary h2,
	.dark-modal .store-block-big h3,
	.dark-modal .store-box h4 {
		color: #fff;
	}
	
	.dark-modal .store-box-new {
		background: rgba(47, 114, 192, 0.2);
		box-shadow: none;
	}
	
	.dark-modal .store-box-new.af {
		background: rgba(49, 111, 159, 0.2);
	}
	
	.dark-modal .store-box-new.fg {
		background: rgba(118, 43, 245, 0.2);
	}
	
	.dark-modal .store-box-new.fs {
		background: rgba(210, 185, 104, 0.2);
	}
	
	.dark-modal .store-box-new.lb {
		background: rgba(101, 188, 190, 0.2);
	}
	
	.dark-modal .store-box-new.pz {
		background: rgba(193, 119, 62, 0.2);
	}
	
	.dark-modal .store-box-new.ss {
		background: rgba(76, 150, 122, 0.2);
	}
	
	.dark-modal .store-box-new h3, .dark-modal .store-box-new p {
		color: #fff;
	}
	
	.dark-modal .legacy-navigation,
	.dark-modal .legacy-box
	 {
		background: rgba(47, 114, 192, 0.2);
	}
}

/* ==========================================================================
	 Accessibility
	 ========================================================================== */

@media (prefers-reduced-motion) {
   a, a:hover, *, *:hover {
	-webkit-transition: all 0s !important;
	-moz-transition: all 0s !important;
	-o-transition: all 0s !important;
	transition: all 0s !important;
   }
 }
