/* ============================================================================== 
   File: scr_generic.css
	- Stylesheet for generic styles of TipTool
		for ANY viewports
		Formerly known as scr_size (scr_size => scr_norm => scr_generic)
	- Author: Daniel Hugentobler (DH)
	- created: 06.JUN.2016
	- amended: 14.JAN.2017, DH: implemented CSS-flex for columns & adversaries
	- amended: 21.FEB.2017, DH: unfixed header/footer for narrow viewports
	- amended: 16.DEC.2017, DH, calendar
	- amended: 08.FEB.2018, DH: added explanation-div to replace title-attributes
	- amended: 03.OCT.2018, DH: started work on more contemporary design
	- amended: 03.NOV.2018, DH: split into scr_wide/scr_nrrw/scr_xnrw
	- amended: 29.NOV.2018, DH: new greenish design
	- amended: 19.DEC.2018, DH: split into different files and imported them here
	- amended: 17.JAN.2021, DH: new media-width-breakpoints for: narrow/medium/wide
	- amended: 24.FEB.2021, DH: custom fonts
	- amended: 08.MAR.2021, DH: logo with link to toctips
	- amended: 11.JUN.2021, DH: added .hideFromWideViewport
   ============================================================================== */
/*	remember the shorthand:
	top - right - bottom - left (clockwise from top)
	shorter:
	top - right=left - bottom
*/

/*	viewport-WIDTH:
	up to 40rem: NARROW - mobile portrait:	scroll head & foot,	render table by rows & cells
	up to 60rem: MEDIUM	- mobile landscape:	scroll head & foot,	render table as a table
	further up : WIDE	- PC or alike:		fixed head & foot,	render table as a table
*/
/* ---------------- */
/* generic settings */
/* ---------------- */
/* initial calibration of all elements */
* { 
	margin: 0;
	padding: 0;
	border: none;
	outline: none;					/* suppress outline */
}
*, *:before, *:after { 
    box-sizing: inherit;			/* apply it to all elements */
}

/* the html-element has class=byNight by default to prevent blinding bright page-loads by night.
	At the end of the script, JS determines whether this class applies or not,
	if not: the page becomes bright; else it stays dark - simple as that! */
html {
	box-sizing: border-box;			/* size includes padding and border */
	scroll-behavior: smooth;		/* smooth scrolling within the document */
	background-color: white;
	color: black;
	font-size: 75%;				/* 100% = 16px => 75% = 12px = 1rem */
}

/* ---------------- */
/*   custom fonts   */
/* ---------------- */
@font-face {
	font-family: 'myComic';
	font-style: normal;
	font-weight: normal;
	src: /*local('myComic')*/ url(../fonts/ComicHelvetic_Light.otf) format('opentype');
}
@font-face {
	font-family: 'myComic';
	font-style: normal;
	font-weight: bold;
	src: /*local('myComicBold')*/ url(../fonts/ComicHelvetic_Medium.otf) format('opentype');
}
@font-face {
	font-family: 'myComic';
	font-style: normal;
	font-weight: bolder;
	src: /*local('myComicBolder')*/ url(../fonts/ComicHelvetic_Heavy.otf) format('opentype');
}

/* main elements of a page */
body {
	margin: 0;
	padding: 0;
    width: auto;
	display: block;
	font-family: Verdana, Arial, Helvetica, sans-serif;
/*	vertical-align: top; */
	text-align: left;
	hyphens: auto;					/* support hyphenation */
	overflow: visible;
	overflow-x: hidden;
}

body,
main,
.main,
.user_input,
#column_left,
#column_right {
	-webkit-transition: all 0.6s ease-in-out;
	-moz-transition: all 0.6s ease-in-out;
	-ms-transition: all 0.6s ease-in-out;
	-o-transition: all 0.6s ease-in-out;
	transition: all 0.6s ease-in-out;
}
main,
.main {
	position: relative;				/* required for column-left/right */
    display: block;
    z-index: 0;						/* main is to disappear below header and footer  */
	overflow-x: visible;
    top: 12.4rem; /* 11.5rem;*/
	padding-bottom: 6rem;		/* else: bottom-content would be hidden by footer */
	margin: 0.8rem;
	margin-top: 0;				/* done by header+footer's border */
	margin-bottom: 0;			/* ditto */
	padding-left: 1.6rem;		/* align with header's & footer's text */
	padding-right: 1.6rem;
}
#page_sendmail main,
#page_sendbulk main {
	margin-top: 0.32rem;		/* provide a little space to the breadcrumb, since there is no title above it */
}

header,
footer {
    width: 100% ;
    display: block;
	font-weight: bold;
	background-color: darkolivegreen;
	color: white;
	background-image: url(../lawn/LawnByNight.jpg);
	background-repeat: repeat;
	border: 0.8rem solid white;	/* no margin but border: to cover main's overflow */
}
.byNight header,
.byNight footer {
	background-color: #202020;	/* extremely dark gray */
	border: 0.8rem solid black;	/* no margin but border: to cover main's overflow */
}
header {
    position: fixed;
    top: 0px;
	z-index: 5;
	padding: 1.6rem;			/* align with col_left/right */
	padding-top: 0.4rem;		/* moves h1 down a bit */
	padding-bottom: 0.4rem;
}
footer {
	position: fixed;
	bottom: 0px;
	z-index: 5;
	padding-top: 0;
	padding: 0.4rem;
	padding-left: 1.6rem;
}

/* headings */
h1,
h2,
h3,
h4 {
	font-family: 'myComic', 'Arial';
	vertical-align: bottom;
	padding-top: 0;
	padding-bottom: 0;
}
h1,
h2 {
	margin-bottom: 0.6rem;
}
h3,
h4 {
	margin-bottom: 0.4rem;
}
h1 {
	border-bottom: solid 0.3rem lime;
	color: lime;					/* day and night */
    display: block;					/* for underlining in the correct width */
	font-size: 2.5rem;
	font-weight: bold;
	line-height: 2.5rem;
	padding-top: 0.4rem;
}
h1.h2,
h2 {
	border-bottom: 0;
	color: olivedrab;
	font-size: 1.8rem;
	line-height: 1.8rem;
	padding-top: 0.4rem;
}
h3 {
	color: olivedrab;
	font-size: 1.2rem;
	font-weight: bold;
	line-height: 1.2rem;
}
.byNight h2,
.byNight h3 {
	color: #229F22;					/* medium-special */
}

h4 {
	color: darkolivegreen;
	font-size: 1rem;
	font-weight: bold;
	line-height: 1rem;
}
hr {
	width: 100%;
}

noscript {
	color: red;						/* day and night */
}

html.byNight,
.byNight body,
.byNight main,
.byNight .main,
.byNight #text_main,
.byNight .user_input,
.byNight #column_left,
.byNight #column_right {
	background-color: black;
	color: lightgray;
}
.byNight header,
.byNight footer {
	background-color: black;
	color: white;
}

/* for embedded links, esp. youtube-videos */
.embedded {
	width: 400px;
	height: 280px;
	margin-bottom: 0.8rem;
}

.col_left,
.col_right {
    position: relative;
    display: block;
    padding: 0;
	padding-top: 0;				/* moves h2 as top as possible */
    margin: 0;
}
 
.col_left {
	margin-left: -1.6rem;		/* override main's padding left to align with header's border */
    min-width: 21rem;
    max-width: 40rem;
	padding-left: 0.8rem;
	padding-right: 0.8rem;
	width: auto;
}
.byNight .col_left {
	background-color: gray;
}
.col_right {
	margin-left: 1.6rem;		/* align with header & get distance to col_left */
	margin-right: 1.6rem;		/* align with header */
    min-width: 19rem;
	padding-bottom: 1rem;			/* else: last line not being displayed */
    width: auto;
}

/* hide the games' sort link in wide viewport */
.sortNarrow {
	display: none;
	margin-bottom: 0.4rem;
}
.hideFromWideViewport {
	display: none;
}
/* adjust output on profile-page */
.down {
	display: inline-block;
	line-height: 3.2rem;
}

.icon,
td .icon {
	max-height: 1.6rem;
	max-width: 1.6rem;
	-webkit-box-shadow: none;
	-moz-box-shadow: none;
	box-shadow: none;
}

/* error page */
h2 .icon {
	max-height: 2rem;
	max-width: 2rem;
}

/* ARROWS */
.collapse_expand,
.collapse_expand_faq,
th.sort .icon,
a .sort_arrow,
.byNight a .sort_arrow,
.js_brdcrmbArrow {
	height: 1rem;
	width: 1rem;
	max-height: 1rem;
	max-width: 1rem;
	background-color: transparent;
	vertical-align: bottom;
}
/* tiny pen to indicate editable entry */
img.pen {
	background-color: transparent;
	height: 1.2rem;
	width: 0.8rem;
	max-height: 1.2rem;
	max-width: 1rem;
}

#welcomeAlias {
	margin-right: 0.8rem;			/* get some distance to login/logoff-btn */
}

.col_container {					/* container for flexibly displayed columns*/
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
}

div {
	vertical-align: top; 
}
em {
	font-weight: normal;
	font-style: italic;
}

img {
	padding: 0;
	border: none;
	margin: 0.1rem 0.5rem 0.1rem 0.1rem;
}

p {
	margin: 0.8rem 0 0.8rem;
}

strong,
.strong {
	font-weight: bold;
}

/* bars on tip-results comparison chart */
.fakeSubtitle {
	padding-top: 1.2rem;
	padding-bottom: 0.4rem;
}
.barChart,
.barChartMe {
	margin/*-right*/: 0.4rem;
	display:inline-block; 
}
.barChart {
	background-color: olivedrab;	/* darkolivegreen is too dark */
}
.barChartMe {
	background-color: lime;
}

noscript,
.buffer {
	margin: 0.8rem; 
}
.buffer_side {
	margin: 0 0.8rem 0;
}
.buffer_top {
	margin: 1rem 0 1rem;
}
.buffer_bottom {
	padding: 0 0 1rem;
}
.buffer_right {
	padding-right: 2rem;
}

/* debug info is to stich in the eye */
.debug_item {
	z-index: 10;
}

/* for faq-page */
.faq {
	padding-top: 0.5rem;
/*	padding: 0.5rem 0 0 0;*/
}
.faq>div {
	margin-left: 2rem;
	margin-bottom: 0.5rem;
/*	margin: 0 0 0.5rem 1.5rem;*/
}
.faq h3 {
	display: inline;
}

.faq.collapse_expand_faq {
	cursor: pointer;				/* hand */
}

.newshdr {
	margin: 0;
	padding: 0 0 0.4rem 0;
}

.cmd {
	cursor: pointer;				/* hand */
}

.iconhelp {
	cursor: help;					/* question-mark */
	position: relative;
	top: 0.12rem;
	right: 0.1rem;
	margin: 0;
	padding: 0;
}
.byNight .iconhelp {
	-webkit-box-shadow: 0 0 0.6rem 0.15rem #808080;
	-moz-box-shadow: 0 0 1.7rem 0.3rem darkgray;
	box-shadow: 0 0 0.6rem 0.15rem #808080;
}

/* icons are NOT to be scaled: use px instead of rem */
.big_icon 
{
/*	width:25px;
	height:25px;*/
}
.narrow_icon 
{
	width:8px;
	height:20px;
}

.nowrap {
	white-space: nowrap;
}
.tblDisplay td.wrap,	/* no effect */
.wrap {
	white-space: pre-wrap;
	text-wrap: normal;
}

.collapse_expand {
	margin: 0;
	cursor: pointer;				/* hand */
}

.float_left {
	float: left;
}

.float_right {
	float: right;
}

.float_clear {
	clear: both;					/* forces box to begin below a floated element; BEWARE OF GLOBAL CLEARING !*/
}

#sub_header.hide,
.hide {
	display: none;
}
.show {
	display: block;
}

.foreground {
    z-index: 5;
}
.midground {
    z-index: 2;
}
.background {
    z-index: 0;
}

.skiplink {
	position: absolute;
	top: -100rem;
	left: -100rem;
	width: 0;
	height: 0;
	display: inline;
}

.toc_pref {
	display: block;
	padding: 0;
	border: none;
	margin: 0 0 0.4rem 0;
}

#logo {
	float: left;
	width: 122px;
	height: 87px;
}

.passive,
.passive label {
	cursor: default;
	margin-top: 0;
	margin-bottom: 0;
}
/* --------------
       SHADOW   
   -------------- */
/* regular shadow */
.cmd,
.iconhelp,
#contact .icon,		/* contact mail-image */
#page_faq .icon {
	-webkit-box-shadow: 0.2rem 0.2rem 0.4rem gray;
	-moz-box-shadow: 0.2rem 0.2rem 0.4rem gray;
	box-shadow: 0.4rem 0.4rem 0.6rem gray;			/* a bit larger for MS IEx */
}
.byNight .cmd,
.byNight #contact .icon {
	-webkit-box-shadow: 0 0 1.4rem gray;
	-moz-box-shadow: 0 0 1.4rem gray;
	box-shadow: 0 0 1.4rem gray;
}

/* no shadow */
th.sort img/*,
td img.flag_language,
.buffer img.flag_language*/ {
	-webkit-box-shadow: none;
	-moz-box-shadow: none;
	box-shadow: none;
}


.user_input {
	color: black;
	background-color: white;
}

.highlight {
	color: black;
	background-color: white;
	border: 1px solid silver;
}
.byNight .highlight {
	color: black;
	background-color: white;
	border: 1px solid silver;
}
.lowlight {
	color: black;
	background-color: white;
	border: none;
}
.byNight .lowlight {
	color: lightgray;
	background-color: black;
	border: none;
}
.debug_item {
	color: orange;
	font-weight: bold;
}
.debug_value {
	color: orange;
}
.newshdr {
	color: #FFFF57;						/* light yellow;*/
	font-weight: bold;
}
.news {
	color: red;
	font-weight: bold;
}
.byNight .news {
	color: red;
}

.mandatory {
	color: red;
}
.byNight .mandatory {
	color: red;
}

/* indent large text in the span */
#sub_header,
#sub_header.show {
	display: table;
	width: 100%;
}
#sub_header > div {
	display: table-row;
	width: 100%;
}
#sub_header > div label,
#sub_header > div > span {
	display: table-cell;
	table-layout: fixed;
	padding-bottom: 0.8rem;
}

/* TT-logo with link to toctips */
#appLogo {
	border-radius: 50%;
	height: 2.5rem;
	width: 2.5rem;
	margin: 0;
	-webkit-box-shadow: none;
	-moz-box-shadow: none;
	box-shadow: none;
	-webkit-transform: translateY(0.4rem);
	-moz-transform: translateY(0.4rem);
	-ms-transform: translateY(0.4rem);
	-o-transform: translateY(0.4rem);
	transform: translateY(0.4rem);
	}
#appLogo:hover,
#appLogo:focus,
#appLogo:active {
	-webkit-box-shadow: 0 0 1.8rem #94FF94; /* light lime glow */
	-moz-box-shadow: 0 0 1.8rem #94FF94;
	box-shadow: 0 0 1.8rem #94FF94;
}
	
/* ------------------------ */
/* 		MEDIUM viewport		*/
/* ------------------------ */
@media (max-width: 60rem) {
	html {
		font-size: 100%;			/* 1rem = 16px */
		font-size: 90%;				/* 1rem = 14.4px */
	}

	header,
	footer {
		position: relative;
		border: 0;
	}
	header {
		margin: 0;
		padding: 0.8rem;
		padding-top: 0;
	}
	footer {
		margin: 0;
		padding: 0.8rem;
		padding-top: 0.1rem;		/* weird: without this, the text would be way too far down - even with 0 */
	}
	h1 {
		padding-top: 0.8rem;
	}
    main,
    .main {
		top: 0;
		margin: 0;
		padding: 0.8rem;			/* align with header's & footer's text */
    }
	#page_sendmail main,
	#page_sendbulk main {
		margin-top: -0.32rem;
	}

	/* prevent unnecessary scrolling on mobiles:
		from bottom to top, to place the ToC after the game-list/ranking-list */
	.col_container {
		flex-direction: column-reverse;
	}
    .col_right,
    .col_left {
		margin: 0;
		padding: 0.8rem;
		padding-top: 0.4rem;		/* move the h2 a bit down */
		min-width: 16rem;
		width: 100%;
    }

	/* show the games' sort link in wide viewport */
	.sortNarrow {
		display: inline-block;
		margin-bottom: 0.4rem;
	}

	/* don't adjust output on profile-page */
	.down {
		padding-bottom: 2rem;
		line-height: 0.1rem;
	}
	#sub_header > div,
	#sub_header > div label,
	#sub_header > div > span {
		display: block;
		padding: 0;
	}
	#sub_header > div {
		padding-bottom: 0.8rem;
	}
} /* end of MEDIUM */

/* ------------------------ */
/* 		NARROW viewport		*/
/* ------------------------ */
@media (max-width: 40rem) {
	header {
		background-image: url(../lawn/ArsenalByNight_mirrored.png);
		background-repeat: no-repeat;
		background-size: cover;
		background-position-y: top;
		background-position-x: left;
		-webkit-background-size: cover;
		-moz-background-size: cover;
		-ms-background-size: cover;
		-o-background-size: cover;
		background-size: cover;
		min-height: 12rem;			/* show off  */
	}
	footer {
		background-image: url(../lawn/CampNou.jpg);
		background-repeat: no-repeat;
		background-size: cover;
		background-position-y: top;
		background-position-x: left;
		-webkit-background-size: cover;
		-moz-background-size: cover;
		-o-background-size: cover;
		background-size: cover;
		background-size: cover;
		min-height: 15rem;			/* show off  */
	}
	.byNight header {
		background-image: url(../lawn/Betzenberg_Nacht.jpg);
		background-repeat: no-repeat;
		border: 0;
	}
	.byNight footer {
		background-image: url(../lawn/Weserstadion_Nacht.jpg);
		background-repeat: no-repeat;
		border: 0;
	}
	.hideFromWideViewport {
		display: inline-block;
	}
} /* end of NARROW */
