*
{
    margin:  0;
    padding: 0;
}

h1
{
    display: inline-block;
	vertical-align: middle;
}

h2
{
	font-size: 26px;
	font-weight: normal;
	margin: 10px 0;
}

h3
{
	font-size: 22px;
	font-weight: normal;
	margin: 10px 0;
}

html
{
    text-align: center;
	background: linear-gradient(white, #e6e6e6 800px);
}

body
{
    min-height: 100vh;
    display: inline-flex;
    flex-direction: column;
    align-items: stretch;

	font-family: -apple-system, "Segoe UI", Tahoma, Helvetica, /*Arial, -> Ubuntu FireFox bug with padded input control and THB or TRY currency sybols */ sans-serif;
    font-size: 15px;
    line-height: 1.4em;
    color: #3e3629;
	background: linear-gradient(to right, #ededed, #c9d7ce);
    box-shadow: 1px 1px 8px #888;
}

div#centerArea
{
    flex-grow: 1;
    flex-shrink: 0;
	background: url(/images/background-logo.png) no-repeat;
	background-position: 20px 165px;
}

header
{
    background: linear-gradient(30deg, rgb(21, 161, 29), rgb(85, 186, 102), white 210px);
    border-radius: 15px;
    box-shadow: 3px 3px 5px #888;
    margin: 10px 20px;
}

footer
{
    flex-shrink: 0;
    border-top: 1px solid #AAA;
    padding: 15px 25px;
}

section
{
    width: 748px; /*make enough room for banner: leaderboard (728 x 90)*/
    margin-bottom: 10px;
	text-align: left;
	overflow: hidden;
}

.sub-section
{
	box-shadow: 3px 3px 5px #888;
	border-radius: 10px;
	background-color: white;
	padding: 10px 0;
	margin: 0 20px 10px 0;
}

.center-parent
{
    position: relative;
    top: 50%;
    transform: translateY(-50%);
}

.content-banner
{
    height: 90px; /*leaderboard is (728x90)*/
    width: 728px;
    line-height:0;
    margin-right: 20px;
}

#header-banner
{
	height: 90px; /*leaderboard is (728x90)*/
	text-align: center;
	padding: 0;
	background: rgba(255, 255, 255, 0.6); /* #fffa, #ffffffaa forms not working in Chrome!*/
    margin: 0 20px 10px 0;
}

#alt-banner
{
	display: none;
	border: 1px solid black;
    margin: 0 20px 10px 0;
	background: linear-gradient(to right, #ffd6d6, #eeecff);
	text-align: justify;
	padding: 10px 20px;
}
.alt-banner-image
{
	float: right;
	margin-left: 10px;
	line-height: 0;
	border: 3px solid #3fa44b;
	border-radius: 10px;
	background: linear-gradient(to right, #c8e7a6, #f0f3ed);
}
a.alt-banner-image:hover
{
	background: #bcbff5;
	border-color: #f9fff9;
}

a.header-url-area
{
	display: block;
	text-decoration: none;
	outline: none;
    padding: 3px 0;
}

.header-logo
{
	vertical-align: middle;
	margin-right: 5px;
}

.header-label
{
    background: linear-gradient(to right, #1da514, #7ff62b, #80e642);
    -webkit-background-clip: text; /*still required by Chrome*/
    background-clip: text;
    color: transparent;
    -webkit-text-stroke: 1px #888;
    font-size: 52px;
    line-height: 52px;
}

/* IE11-specific hackery: no support for "background-clip: text" */
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active)
{
	.header-label
	{
        color: #3eb334;
		background: inherit;
	}
}

.header-description
{
    font-family: 'Indie Flower', cursive;
    font-size: 21px;
    line-height: 32px;
	color: #777;
    display: block;
}

.clear
{
	clear:both;
	height: 1px;      /*fix explorer issues with empty div*/
    overflow: hidden;
}

.screen-snippet
{
	box-shadow: 1px 1px 2px #888;
}

.description
{
	padding: 0 30px;
	text-align:justify;
}

.half-line { line-height: .5em; }

.horizontal-line
{
	border-bottom: 1px solid #AAA;
	margin-top: 10px;
	margin-bottom: 10px;
}

.screengallery
{
	margin: 0 30px;
}

nav
{
	float:left;
	margin: 0px 15px 20px 20px;
}

nav .menu-links a
{
	display: block;
	box-shadow: 1px 1px 3px #888;
	/*bug Safari incorrectly considers the color part of fully transparent ARGB colors! => use rgba(255, 255, 255, 0)); => seems fixed?*/
    background: linear-gradient(to right, white, rgba(255, 255, 255, 0));
	border-radius: 3px;
	margin: 0 0 8px 0;
	outline: none;
}

nav .menu-links a#videos-link,
nav .menu-links a#faq-link,
nav .menu-links a#archive-link
{
	float: left;
	width: 40%;
	margin-right: 8px;
}

nav .menu-links a#screenshots-link,
nav .menu-links a#manual-link,
nav .menu-links a#vision-link
{
	overflow: hidden;
}

nav .menu-links a#forum-link
{
	line-height: 0.9em;
}

nav .menu-links a.donation-link
{
	border: solid 6px #99aabb;
	box-shadow: 3px 3px 4px #777;
	border-radius: 0px;
    font-weight: bold;
    background: #f8f8f8;
}

nav .menu-links a:hover
{
	background: linear-gradient(to right, rgba(1, 129, 0, 0.30), rgba(54, 205, 12, .30), rgba(225, 254, 188, .30));
}

body#about       nav .menu-links a#about-link,
body#videos      nav .menu-links a#videos-link,
body#screenshots nav .menu-links a#screenshots-link,
body#download    nav .menu-links a#download-link,
body#faq         nav .menu-links a#faq-link,
body#manual      nav .menu-links a#manual-link,
body#archive     nav .menu-links a#archive-link,
body#vision      nav .menu-links a#vision-link
{
	box-shadow: 3px 3px 3px 1px #777;
	background: linear-gradient(to right, rgb(1, 129, 0), rgb(54, 205, 12), rgb(225, 254, 188));
    font-weight: bold;
}

.menu-label
{
	display: inline-block;
    color: #3e3629;
	font-size: 18px;
	text-decoration: none;
    text-shadow: #fff 1px 1px 1px;
    margin: 15px;
}

nav #videos-link      .menu-label,
nav #screenshots-link .menu-label,
nav #faq-link         .menu-label,
nav #manual-link      .menu-label,
nav #archive-link     .menu-label,
nav #vision-link      .menu-label
{
    margin: 10px;
}

nav #forum-link .menu-label
{
    margin: 13px;
}

nav .donation-link .menu-label
{
    margin: 0;
}


.menu-label-description
{
	font-size: 0.7em;
}

.direct-download-link
{
	text-decoration: none;
	font-weight: bold;
	font-size: 110%;
	color: #45689F;
}

a.direct-download-link:hover
{
	color: #4ae;
	text-decoration: underline;
}


.changelog
{
	margin: 0 30px;
	text-align:left;
	/*font-family: Consolas, "Lucida Console", Monaco, monospace;*/
}

.changelog-header
{
	font-size: 16px;
}

.changelog-items
{
	margin-left: 15px;
    margin-bottom: 0.5em;
}

section ul
{
	padding-left: 20px;
}

section ol
{
	padding-left: 20px;
}

.latest-news-date
{
    width: 100px;
    display: inline-block;
    font-weight: bold;
}

.press-release
{
	padding: 20px;
	margin-top: 10px;
	margin-bottom: 20px;
	background-color: #f4f4f4;
	border-radius: 10px;
}

.frontpage-media
{
	display: inline-block;
	vertical-align: middle;
}
.frontpage-media-label
{
	background-image: linear-gradient(to right, #73e650, #f1ffa7);
	text-align: center;
	border-radius: 3px;
	font-weight: bold;
	padding: 1px 0;
	display: block;
	text-decoration: none;
	color: inherit;
}
.frontpage-media-label-container
{
	margin-top:-4px;
	padding: 4px;
	border-radius: 3px;
}
.frontpage-media-label-container:hover
{
	background-color: #4ae;
}
.thumbnail-image-frontpage
{
	height: 180px;
}

a.download-button
{
	display: inline-block;
	background:transparent url(/images/download-button.png) no-repeat center;
	width: 249px;
	height: 47px;
	line-height: normal;
	font-size: 20px;
	font-weight: bold;
	text-align: center;
	color: #000;
	text-decoration: none;
	outline: none;
	padding: 4px;
	border-radius: 6px;
}
a.download-button:hover
{
	background-color: #4ae
}

.download-button-label
{
	line-height: 0.8;
    padding-bottom: 4px;
}

.donation-edition-banner
{
	display: block;
	text-decoration: none;
	outline: none;
	color: #3e3629;
	box-shadow: 1px 1px 2px #888;
	padding: 0 30px;
	font-size: 105%;
    background: linear-gradient(40deg, rgb(164, 255, 116), rgb(60, 239, 42), rgb(185, 255, 148) 400px);
}
.donation-edition-banner:hover
{
    background: linear-gradient(40deg, rgb(164, 255, 116), rgb(204, 255, 0), rgb(185, 255, 148) 400px);
}

.donation-edition-feature
{
	color: #466949;
	font-size: 90%;
	padding: 2px 5px;
	display: inline-block;
	background: linear-gradient(to right, rgba(255, 255, 255, 0.9), rgba(255, 255, 255, 0)); /* #fffa, #ffffffaa forms not working in Chrome!*/
}

.social-area
{
	box-shadow: 1px 1px 3px #888;
	padding: 5px 10px;
	display: inline-block;
	background: linear-gradient(to right, rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0));
}

a.social-button
{
	display: inline-block;
	line-height: 0;
	vertical-align: middle;
	padding: 3px;
	border-radius: 14px;
}
a.social-button:hover
{
	background-color: #4ae
}

.accordion-button
{
    background-color: #eee;
    cursor: pointer;
    border: none;
    outline: none;
    transition: 0.2s;
	white-space: normal;
}
.accordion-button.active,
.accordion-button:hover
{
    background-color: #ddd;
}
.accordion-button:after
{
    content: '\02795'; /* Unicode character for "plus" sign (+) */
    color: #777;
    float: right;
    margin-left: 5px;
}
.accordion-button.active:after
{
    content: "\2796"; /* Unicode character for "minus" sign (-) */
}


/*remove dotted selection border on FireFox*/
button::-moz-focus-inner
{
	border: 0;
}

input::-moz-focus-inner
{
	border: 0;
}

a.thumbnail
{
	display:inline-block;
	padding: 4px;
	line-height: 0;
	border-radius: 6px;
}
a.thumbnail:hover
{
	background-color:#4ae
}

.thumbnail-image
{
	width: 200px;
}

.review-box
{
	/*background: url(/images/marble-background);*/
    background: linear-gradient(to right, #f8f8f8, #fbfbfb);
	margin: 15px 0;
	padding: 10px 15px;
	box-shadow: 1px 1px 3px #888;
}

.review-quote
{
    margin: -5px 5px -1px -7px;
}

.review-author
{
    font-family: 'Indie Flower', cursive;
    font-size: 115%;
}

.raised-block-area
{
	box-shadow: 3px 3px 4px #777;
	border-radius: 15px;
	display: block;
	background-color: white;
}

.manual-links
{
    position: absolute;
    box-shadow: 3px 3px 5px #888;
    border-radius: 10px;
    background-color: white;
    padding: 15px;
    transform: translateX(740px);
}

a.manual-link
{
	display: inline-block;
	color: #3e3629;
	margin: 2px 1px;
	text-decoration: none;
	outline: none;
	border-radius: 2px;
	padding: 2px 4px;
	box-shadow: 1px 1px 2px rgb(119, 119, 119);
	background: rgba(255, 255, 255, 0) linear-gradient(to right, rgba(89, 121, 233, 0.2), rgba(29, 71, 255, 0)) repeat scroll 0% 0%
}

a.manual-link:hover
{
    color: white;
	background: #8686FF;
}

a.manual-link-selected
{
    color: white;
	background: #8686FF;
    text-shadow: #565656 1px 1px 1px;
}

.manual-chapter
{
    padding-bottom: 15px;
}

.manual-chapter:not(:last-child)
{
    padding-bottom: 40px;
    border-bottom: 1px solid grey;
    margin-bottom: 40px;
}

.manual-chapter table th
{
	padding: 0 20px 0 0;
	border-bottom: 1px solid black;
}
.manual-chapter table td
{
	padding: 0 20px 0 0;
	vertical-align: top;
}


.thank-you-image
{
	border-radius: 15px;
	box-shadow: 3px 3px 3px 1px rgb(119, 119, 119);
}

.link-image-left
{
    vertical-align: middle;
    padding-right: 5px;
}

.highlight-border
{
    display: inline-block;
    padding: 2px;
    border-radius: 8px;
    border: 3px solid transparent;
    outline: none;
}
.highlight-border:hover
{
    border-color: #4ae;
}

.command-line
{
    text-align: left;
    font-family: "Courier New", Courier, monospace;
}
.file-path
{
    text-align: left;
    font-family: Consolas, "Courier New", Courier, monospace;
}

.command-line-comment
{
	color: #808080;
	font-weight: bold;
	font-style: italic;
}

.greybox
{
	padding: 6px 15px;
	background: #f8f8f8;
	box-shadow: 1px 1px 4px #888;
    margin: 5px 0; /*compensate for box-shadow*/
}
.bluebox
{
	padding: 6px 15px;
	background: #ccccff;
	border: 1px solid #000080;
    margin: 5px 0;
}

.rounded-box
{
	border-radius: 7px;
	background: #f8f8f8;
	box-shadow: 1px 1px 4px #888;
}

.feature-comparison
{
	display: inline-block;
	overflow: hidden;
	border-spacing: 0;
	text-align: center;
}
.feature-comparison tr:nth-child(even)
{
	background-color: #dff9d2;
}
.feature-comparison tr:nth-child(odd)
{
	background-color: #c5edb3;
}
.feature-comparison tr:first-child
{
	background-color: #f8f8f8;
}
.feature-comparison th
{
	padding: 4px 0;
	border-bottom: 3px solid #ccc;
}
.feature-comparison td
{
	padding: 0 10px;
}
.feature-comparison tr td:nth-child(1)
{
	text-align: left;
}
.feature-comparison td img
{
	vertical-align: middle;
}

.pricing
{
	display: inline-block;
	overflow: hidden;
	float:right;
	border-spacing: 0;
	margin-left: 10px;
}
.pricing tr:nth-child(even)
{
    background-color: #7b8196;
    color: white;
}
.pricing tr:nth-child(odd)
{
    background-color: #616677;
    color: white;
}
.pricing tr:first-child
{
	color: #3e3629;
	background-color: #f8f8f8;
}
.pricing th
{
	font-weight: normal;
	font-size: 115%;
	padding: 7px 12px;
	border-bottom: 3px solid #ccc;
}
.pricing td
{
	padding-left: 32px;
	font-weight: 600;
}
.pricing tr td:nth-child(2)
{
	padding-left: 0;
	text-align: center;
}
.pricing tr:nth-child(2) td
{
	padding-top: 5px;
}
.pricing tr:last-child td
{
	padding-bottom: 5px;
}

.multi-user-calculator
{
	float: right;
	margin-left: 10px;
}
.multi-user-calculator-header
{
	padding: 7px 12px;
	border-bottom: 3px solid #ccc;
	text-align:center;
	font-size: 115%;
}
.multi-user-calculator table
{
	padding: 10px;
	border-spacing: 5px 0;

}
.multi-user-calculator input.modern-input
{
	width: 60px;
}

.operating-systems
{
	border-spacing: 0;
}
.operating-systems td
{
	vertical-align: top;
}

.os-logo
{
	vertical-align: middle;
	padding-left: 10px;
	padding-right: 5px;
}

.modern-button
{
	padding: 6px 12px;
	font-weight: bold;
    font-size: 15px; /*Safari defaults most controls to 11px!*/
	background-image: linear-gradient(#fcfcfc,#eee);
	border: 1px solid #d5d5d5;
	border-radius: 3px;
	color: #333;
	cursor: pointer;
}
.modern-button:hover
{
	background-image: linear-gradient(#eee, #ddd);
}
.modern-button:focus
{
	border-color: #51a7e8;
	box-shadow: 0 0 5px rgba(81,167,232,0.5);
}
.modern-button:active
{
	background-image: none;
	border-color: #b5b5b5;
	box-shadow: inset 0 2px 4px rgba(0,0,0,0.15);
}

.modern-input
{
	padding: 6px 0 6px 6px;
	border: 1px solid #ccc;
	border-radius: 3px;
	color: #333;
    font-family: inherit; /*fixes Ubuntu FireFox bug with padded input control and THB or TRY currency sybols in the Arial font*/
    font-size: 14px; /*Safari defaults most controls to 11px!*/
}
.modern-input:focus
{
	border-color: #51a7e8;
	box-shadow: 0 0 5px rgba(81,167,232,0.5);
}

.video-list
{
	text-align: left;
}
.embedded-video
{
	display:inline-block;
	margin: 10px 0;
}
.video-list .embedded-video:nth-child(odd)
{
	margin-right: 15px;
}
.video-label
{
    background-image: linear-gradient(to right, #ddd, #f8F8F8);
	text-align: center;
	border-radius: 3px 3px 0 0;
	font-weight: bold;
	color: #666;
	padding: 1px 0;
}
.video-player
{
	width: 320px;
	height: 180px;
	background: black;
	border-radius: 0 0 3px 3px;
	display: block;
}


@media print
{
    header, nav, footer, .manual-links
    {
        display: none;
    }
    html, body
    {
        background: none;
    }
    body
    {
        display: block; /*work around Firefox bug only printing first page of flex container: https://bugzilla.mozilla.org/show_bug.cgi?id=939897*/
        box-shadow: none;
    }
    .sub-section
    {
        margin: initial;
        border-radius: 0;
        box-shadow: none;
    }
    .greybox, .bluebox
    {
        page-break-inside: avoid;
    }
    .greybox
    {
        box-shadow: none; /*work around wkhtmltopdf bug splitting box shadow on page break*/
        border: 1px solid #ccc;
    }
    .manual-chapter:not(:last-child)
    {
        border: none;
        padding-bottom: 0;
        margin-bottom: 0;
        page-break-after: always;
    }
}
