*
{
    margin:  0;
    padding: 0;
}

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

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

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

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', Arial, Tahoma, Helvetica, sans-serif;
    /*-> Arial: Ubuntu/FireFox bug with padded input control and THB or TRY currency symbols => seems fixed */
    font-size: 16px;
    line-height: 150%;
    color: black;
	background: linear-gradient(to right, #ededed, #c9d7ce);
    box-shadow: 1px 1px 4px #888;
}

a
{
  color: #006ecd;
}

a:hover
{
	color: #4ae;
}

a:visited
{
    color: #4b279b;
}

.direct-download-link
{
	text-decoration: none;
	font-weight: bold;
	font-size: 110%;

    /*Fix "Clickable elements too close together" */
    display: block;
    margin-bottom: 1px;
}

a.direct-download-link:hover
{
	text-decoration: underline;
}

a.direct-download-link:visited
{
    color: #006ecd; /*same color as default!*/
}

a.ffs-download-button
{
    display: inline-block;
    font-size: 20px;
    font-weight: bold;
    text-align: center;
    color: #000;
    text-decoration: none;
    outline: none;
    background: linear-gradient(#1fa526, #7bff4b 60%);
    border-radius: 5px;
    border: 2px solid #3f3e3e;
    box-shadow: 1px 1px 2px #888;
    padding: 3px 55px;
}
a.ffs-download-button:hover
{
    box-shadow: 0px 0px 0px 4px #4ae
}

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

.topnav
{
    display: none;
    margin: 0 10px;
    text-align: left;
}

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

footer
{
    flex-shrink: 0; /*as child of body*/
    border-top: 1px solid #AAA;
    padding: 15px 25px;
    display: flex; /*for child elements*/
    gap: 10px;
}

section
{
    width: 748px; /*make exact room for banner: leaderboard (728 x 90) + 20px margin */
    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; /*coordinate right margin with leaderboard size (728x90)!!! */
}

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

.section-banner
{
    /*min-height: 90px; width: 728px; -> support Google ad size optimization*/
    line-height: 0;
	background: rgba(255, 255, 255, 0.6); /* #fffa, #ffffffaa forms not working in Chrome!*/
    margin: 0 20px 10px 0;
}

.inline-banner
{
    /*min-height: 90px; width: 728px; -> support Google ad size optimization*/
    line-height: 0;
}

.floating-banner
 {
     min-width: 336px; /*support 336 x 280, large rectangle*/
     /*min-height: 250px; -> support Google ad size optimization*/
     float: right;
     margin-left: 5px;
     line-height: 0;
 }

 /* #header-banner
 {
     line-height: 0;
 	background: rgba(255, 255, 255, 0.6);
     margin: 0 20px 10px 0;
 } */

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);
    /*http://nimbupani.com/using-background-clip-for-text-with-css-fallback.html*/
    -webkit-background-clip: text; /*still required by Chrome*/
    /*background-clip: text; -> W3C validation error!*/
    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;
}

.noselect
{
    -webkit-touch-callout: none; /* iOS Safari */
    -webkit-user-select: none; /* Safari */
    -khtml-user-select: none; /* Konqueror HTML */
    -moz-user-select: none; /* Firefox */
    -ms-user-select: none; /* Internet Explorer/Edge */
    user-select: none; /* Non-prefixed version, currently supported by Chrome and Opera */
}

.screen-snippet
{
	box-shadow: 1px 1px 2px #888;
    max-width: 100%;
    height: auto;
}

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

.content-padding
{
    padding: 0 30px;
}

.content-margin
{
    margin: 0 30px;
}

half-line
{
    height: 0.5em; 
    display: block;
}

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

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


.menu-links a
{
	box-shadow: 1px 1px 2px #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;
	outline: none;
    margin-bottom: 8px;
    text-decoration: none;
}

.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));
}

.topnav .menu-links a
{
	display: inline-block;
}

nav .menu-links a
{
	display: block;
    font-weight: 300;
}

nav a.download-link,
nav a.forum-link
{
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

nav a.forum-link
{
    margin-right: 8px;
	line-height: 90%;
}

a.donation-link,
a.thank-you-link
{
	border: solid 2px #99aabb;
	box-shadow: 3px 3px 4px #777;
    background: #f8f8f8;
}

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

.menu-label
{
	display: inline-block;
    color: black;
	font-size: 20px;
    text-shadow: #fff 1px 1px 1px;
    padding: 10px;
}

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

nav .thank-you-link .menu-label
{
    font-size:initial;
    padding: 5px;
    max-width: 280px
}

.menu-label-description
{
	font-size: 70%;
}

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

section ul, section ol
{
	padding-left: 20px;
}

a.social-button
{
	display: inline-block !important;
	line-height: 0;
	padding: 3px;
}
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.pressed,
.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.pressed: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
}

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

.highlight-border
{
    display: inline-block;
    padding: 2px;
    border-radius: 3px;
    outline: none;
}
.highlight-border:hover
{
    box-shadow: 0px 0px 0px 3px #4ae
}

.command-line
{
    text-align: left;
    font-family: 'Courier New', Courier, monospace;
}
.command-line-wrapped
{
    text-align: left;
    font-family: 'Courier New', Courier, monospace;
    text-indent: -30px;
    margin-left: 30px;
    overflow-wrap: anywhere;
}
.file-path
{
    text-align: left;
    font-family: Consolas, 'Courier New', Courier, monospace;
}

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

.external-link
{
    background: url(/images/external-link.svg) no-repeat 0 5px;
    background-size: .9em;
    padding-left: 1.1em;
}
/* alternative? this is patently insane! https://stackoverflow.com/a/53336754 https://codepen.io/sosuke/pen/Pjoqqp */

.graybox
{
	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;
}

.graybox li, .bluebox li
{
    margin-bottom: 10px;
}

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

.os-logo
{
	vertical-align: middle;
	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;
    transition: border-color .2s ease-in-out,box-shadow .2s ease-in-out;
    box-shadow: 1px 1px 2px #888;
}
.modern-button:hover
{
	background-image: linear-gradient(#eee, #ddd);
}
.modern-button:focus
{
	border-color: #51a7e8;
    box-shadow: 1px 1px 2px #51a7e8;
}
.modern-button:active,
.modern-button.pressed
{
    transform: translate(2px, 2px);
    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 symbols in the Arial font*/
    font-size: 14px; /*Safari defaults most controls to 11px!*/
    transition: border-color .2s ease-in-out,box-shadow .2s ease-in-out;
}
.modern-input:focus
{
	border-color: #51a7e8;
	box-shadow: 0 0 5px rgba(81,167,232,0.5);
}


/*do NOT apply to @media print! consider user manual PDF*/
@media screen and (max-width: 1050px)
{
    .responsive-hide { display: none !important; }
    .responsive-show { display: block !important; }

    header
    {
        border-radius: initial;
        margin: 0 0 10px 0;
    }
    body
    {
        display: flex;
    }
    .topnav
    {
        display: block;
    }
    section
    {
        width: initial;
    }
    .sub-section, #header-banner, .section-banner
    {
        margin-right: 0;
    }
    .description, .content-padding
    {
        padding: 0 15px;
    }
    .content-margin
    {
        margin: 0 15px;
    }
    .floating-banner
    {
        float:  initial;
        margin: initial;
    }
}
