/* add css color variables */
:root {
	--color--text--main: #003;
	--color--link--main: #ba5d00;
	--color--bg--body: #fff;
	--color--bg--body--dark: #0d1231;
	--color--bg--body--light: #0f1744;
	--color--btn--bg: #0f1744;
	--color--btn--bg--hover: #295a96;
	--color--btn--fg: #fff;
	--color--btn--border-light: #1d60b4;
	--color--btn--border-dark: #063a7c;
	--color--nav--bg--light: #772323;
	--color--nav--bg--dark: #6c1a1a;
	--color--nav--fg: #fff;
	--color--nav--link: #f6d73a;
	--color--nav--link--hover: #ffeea1;
	--color--note: #767676;
	--color--error--border: #900;
	--color--error--bg: #fee;


    --color--cta-button--bg: #ba5d00;
    --color--cta-button--fg: #fff;
    --color--cta-button--bg--hover: #e07000;
}

* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

body, html
{
	color: var(--color--text--main);
	background-image: linear-gradient(var(--color--bg--body--dark), var(--color--bg--body--light));
	background-position: center top;
	background-repeat: repeat-x;
	background-size: cover;

	font: 100%/1.4 "Source Sans Pro", HelveticaNeue, "Helvetica Neue", Helvetica, arial, sans-serif;

	text-align: center;

	min-height: 100vh;
}

h1 {
	font-size: 1.5rem;
}

h2 {
	font-size: 1.2rem;
	text-transform: uppercase;
	color: #336;
	margin: 0.5em 0;
}

h3 {
	font-size: 1.0rem;
	font-style: oblique;
	margin: 0.5em 0;
}

h4 {
	font-size: 0.9rem;
	margin: 0.5em 0;
	color: #666;
}

.reader #col-1 h2 {
	font-size: 1.5rem;
}

.reader #col-1 h3 {
	font-size: 1.25rem;
}

.reader #col-1 h4 {
	font-size: 1rem;
}

ol, ul {
	margin-left: 1.4em;
	margin-bottom: 0.5em;
}

li {
	margin-bottom: 0.5em;
}

p, blockquote {
	font-size: 1em;
	line-height: 1.4;

	text-align: left;

	margin-bottom: 0.5em;
}

a, a:link {
	text-decoration: none;
	color: var(--color--link--main);
}

a:visited {
	color: #f96;
}

a:hover {
	text-decoration: underline;
	color: black;
}

a:active {
	color: white;
}

a.active,
a.active:visited {
	text-decoration: none;
	color: black;
}

a img {
	border-width: 0;
}

#wrapper {
	width: 100%;
	color: #333;
	margin: 0 auto;
	border-top: 4px solid var(--color--bg--body--light);

	text-align: center;

	position: relative;
	overflow: hidden;
}


#wrapper .mobile_only {
	display: inline;
}

#header {
	background-color: var(--color--bg--body);
	width: 100%;
	position: relative;
	min-height: calc(70px + 0.5rem);
}

#header .logo {
	max-width: 64px;
	float: left;
	margin: 0.5rem 0.5rem 0;
}

#header h1 {
	text-align: left;
	line-height: 1.1;
	padding-top: 0.75rem;
	margin-bottom: 0.25rem;
	font-size: 1.25rem;
}

#header a {
	display: block;
	text-decoration: none;
}

#header a h1 {
	color: var(--color--text--main);
}

#header h2 {
	text-align: left;
	text-transform: none;
	font-weight: normal;
	font-style: oblique;
	margin: 0;
	font-size: 1rem;
	color: #666;
}

#app-store {
	position: absolute;
	top: 20px;
	right: 20px;
	width: 140px;
	height: 68px;
}

#app-store img {
	margin-bottom: 6px;
}

#content {
	position: relative;
	padding: 0 0 40px 0;
	width: 100%;
	margin: 0 auto;
	background-color: var(--color--bg--body);
	color: black;

	zoom: 1;
}

#content:after {
	content: "\0020";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}

.reviews {
	margin-top: 1em;
}

.reviews blockquote {
	margin-bottom: 1.5em;
}

.attr {
	font-size: 0.9em;
	color: var(--color--note);
	text-align: right;
}

#navigation {
	clear: left;
	border: 1px solid #272d42;
	border-width: 1px 0;
	margin-top: 0;
   /* background gradient from light blue to medium blue in the middle 60% and back to light blue */
	background-image: linear-gradient(var(--color--nav--bg--dark) 0%, var(--color--nav--bg--light) 20%, var(--color--nav--bg--light) 80%, var(--color--nav--bg--dark) 100%);
}

#navigation ul {
	list-style: none;
	text-align: center;
	margin: 0;
	padding: 0.5rem 0;
}

#navigation ul li {
	list-style: none;
	display: inline;
	margin: 0;
	padding: 0 0.25em;
	font-size: 1.2rem;
	font-weight: 600;
	color: var(--color--nav--fg);
}

#navigation a {
	color: var(--color--nav--link);
	transition: color 250ms;
}

#navigation a:hover,
#navigation a:focus {
	color: var(--color--nav--link--hover);
	text-decoration: none;
}

#navigation a.active {
	color: white;
}

#navigation ul li.link--buy {
	display: block;
}

#content {
	background: var(--color--bg--body);
}

#content .columns {
	width: 100%;
	overflow: hidden;
	float: none;
	display: inline;
}

#content .column {
	float: none;
	width: 96%;
	margin: 0 0.5rem 1rem;
	padding-top: 0.5rem;
	padding-left: 1rem;
	padding-right: 1rem;
	text-align: left;
}

#proto-column {
	display: none;
	margin-right: 1rem;
	padding-right: 1rem;
	text-align: left;
}

#proto-column ul {
	line-height: 1.2;
}

#proto-column ul li {
	margin-bottom: 0.2em;
	list-style-image: url(../img/weebullet.png);
}

#proto-column h2 {
	text-transform: none;
}

#proto-column h3.processed {
	color: var(--color--link--main);
	background: url(../img/arrow2.png) -2px 2px no-repeat;
	padding-left: 14px;
	margin-bottom: 0.5em;
}

#proto-column h3.processed.disclosed {
	background-position: -2px -25px;
	margin-bottom: 0.2em;
}

#footer {
	text-align: center;
	padding: 20px 0;
	border-top: 1px solid #ccc;
	margin: 0 auto;
	clear: both;
	background-color: transparent;
	color: white;
}

#footer a {
	color: var(--color--nav--link);
}

#footer a:hover,
#footer a:focus {
	color: var(--color--nav--link--hover);
}

#footer nav ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

#footer nav li {
	display: inline;
	margin: 0 0.5em;
}

.screenshots {
	margin-bottom: 0.3em;
	width: 250px;
}

.screenshots img {
	border: 1px solid #ccc;
	vertical-align: bottom;
}

.ss_nav {
	margin-bottom: 0.5em;
	text-align: center;
	width: 250px;
}

.ss_nav ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.ss_nav ul li {
	display: inline;
	padding: 0 0.5em;
}

.ss_nav ul li:first-child {
	border-right: 1px solid #444;
}

.note {
	font-size: 0.9em;
	color: var(--color--note);
}

.agencies .review {
	margin: 0.75em 0;
	padding: 0.75em;
	background: #ffe;
	border: 1px solid #dedede;
	border-radius: 0.2em;
}

.contact form .form_field {
	margin-bottom: 0.5em;
	width: 100%;
	border-width: 0;
}

.contact form .form_field.form_field--error {
	border: 1px solid var(--color--error--border);
	background: var(--color--error--bg);
	padding: 0.5em;
}

.contact form .form_field.regarding {
	margin-bottom: 1.3em;
}

.contact form .form_field.regarding label {
	margin-right: 0.5em;
}

.contact .messages {
	margin: 1em 0;
	background: #efe;
	border: 1px solid #090;
	padding: 0.5em;
}


.contact .errors {
	margin: 1em 0;
	background: #fee;
	border: 1px solid #900;
	padding: 0.5em;
}

.contact .errors li {
	font-weight: bold;
}

.contact input[type=submit] {
	font-family: inherit;
	padding: 0.5em 1em;
	-moz-appearance: none;
	appearance: none;
	-webkit-appearance: none;
	font-size: 1rem;
	background: var(--color--btn--bg);
	color: white;
	border: 1px solid;
	border-color: var(--color--btn--border-light) var(--color--btn--border-dark) var(--color--btn--border-dark) var(--color--btn--border-light);
	transition: background-color 300ms;
	border-radius: 0.2rem;
}

.contact input[type=submit]:hover,
.contact input[type=submit]:focus {
	 background: var(--color--btn--bg--hover);
	cursor: pointer;
 }

.contact select {
	font-size: 1rem;
}

.contact input[type=text],
.contact input[type=email],
.contact input[type=tel],
.contact textarea {
	font-family: inherit;
	padding: 0.25em;
	-moz-appearance: none;
	appearance: none;
	-webkit-appearance: none;
	font-size: 1rem;
	border: 1px solid #999;
	border-radius: 0.2rem;
}

.contact .note {
	font-size: 90%;
}

.protocols #proto-column {
	display: block;
	width: 100%;
	font-size: 1em;
	padding-left: 0;
}

.white-popup {
	position: relative;
	background: #FFF;
	padding: 20px;
	width: auto;
	max-width: 500px;
	margin: 20px auto;
}

.white-popup p {
	text-align: center;
}

.redeem-code-slot {
	text-align: center;
	font-weight: bold;
	font-size: 2em;
	margin: 1em 0;
	display: block;
}

.callout {
	background: rgb(224, 243, 255);
	padding: 0.5em 1em 0.25em;
	border: 2px solid rgb(7, 134, 166);
	margin: 0 0 1em;
	border-radius: 0.25em;
	font-size: 1.1em;
	font-weight: 600;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	box-shadow: rgba(0,0,0,0.2) 0.1em 0.1em 0.2em;
}

.callout a:visited {
	color: var(--color--link--main);
}

@media screen and (min-width: 40rem) {
	#wrapper {
		max-width: 85rem;
	}

	#header {
		min-height: 150px;
	}

	#header--inner {
		text-align: left;
		width: 37.5rem;
		margin-left: auto;
		margin-right: auto;
	}

	#header h1 {
		font-size: 2.1rem;
	}

	#header h2 {
		font-size: 1.5rem;
	}

	#header .logo {
		max-width: 128px;
		padding-bottom: 0.5rem;
	}

	#navigation ul li {
		padding: 0 0.75em;
	}

	#navigation ul li.link--buy {
		display: inline-block;
	}

	#proto-column {
		width: 25%;
		display: block;
		font-size: 0.85rem;
		padding: 0 0 0 1rem;
	}

	.protocols #proto-column {
		margin-left: auto;
		margin-right: auto;
		width: 50%;
	}

	.protocols #content .column {
		width: 100%;
		margin: 0;
		padding: 0;
	}

	#content {
		padding-top: 2rem;
	}

	#content .columns {
		width: 70%;
		overflow: hidden;
		max-width: 85rem;
	}

	#content:not(.reader) .columns {
		margin-left: auto;
		margin-right: auto;
	}

	#content .column {
		float: left;
		width: 45%;
		margin: 0 2%;
	}

	#content.reader .column {
		width: auto;
	}

	#content #two-col #col-1 {
		width: calc(90% - 300px);
	}

	#content #two-col #col-2 {
		width: 300px;
	}

	#wrapper .mobile_only {
		display: none;
	}

	.contact #one-col #col-1 {
		width: 36rem;
		float: none;
		margin-left: auto;
		margin-right: auto;
	}

	#content.reader #one-col #col-1 {
		max-width: 55rem;
		margin-left: auto;
		margin-right: auto;
		float: none;
	}
}

.button--cta,
.button--cta:visited {
    background: var(--color--cta-button--bg);
    color: var(--color--cta-button--fg);
    font-weight: 600;
    font-size: 1.2em;
    padding: 0.5em 1em;
    margin: 0.5em 0;
    border-radius: 0.2rem;
    transition: background-color 300ms;
    display: inline-block;
}

.button--cta:hover,
.button--cta:focus {
    background: var(--color--cta-button--bg--hover);
    text-decoration: none;
    cursor: pointer;
}
