@font-face {
font-family: 'Moxx';
src: url("Moxx05-Regular.woff");
}

@font-face {
font-family: 'MoxxExtraLight';
src: url("Moxx05-ExtraLight.woff");
}


:root {
    --layout-padding: 5px;
    --section-vertical-padding: 5px;
    /* 
    The item-inner-padding and item-outer-padding defines the
    space around the content in an article
    */
    --item-outer-padding: 3px;
    --item-inner-padding: 8px;
    --item-total-padding: calc(var(--item-outer-padding) + var(--item-inner-padding));
    /*
    The paragraph-padding is used for the space around paragraphs, lists, images
    */
    --paragraph-top-padding: 0.3rem;
    --paragraph-bottom-padding: 1.1rem;
}

/* reset */
* {
	box-sizing: border-box;
}

html, body, header, nav, main, footer, section, div, article, span, h1, h2, h3, h4, h5, h6, p, ul, ol, li {
    border-width: 0; 
    margin: 0;
    padding: 0;
}

/* T Y P O G R A P H Y */

html {
	/*font: 15px/1.4em 'Moxx', sans-serif;*/
	color: #000;
	font: 15px/1.4em monospace;
	-webkit-text-size-adjust: 100%;
}

h1 {
	font-family: 'MoxxExtraLight', sans-serif;
	font-size: 14vw;
	font-weight: 100;
	line-height: 1.1em;
	padding-bottom: 0.3em;
}

h2 {
	font-family: 'MoxxExtraLight', sans-serif;
	font-size: 7vw;
	line-height: 1.1em;
}

h2, h3 {
	font-family: 'Moxx', sans-serif;
	padding-left: 0.1rem;
	padding-right: 0.1rem;
}

h4 {
	font-weight: 700;
	padding: 0.3rem 0.1rem 0.1rem 0.1rem;
}

p, ul, ol {
	max-width: 34em;
	padding: 0.3rem 0.1rem 1rem 0.1rem;
}

li {
	padding-bottom: 1rem;
}

a {
	color: #006cff;
}

em {
	font-style: normal;
	padding: 0.2em 0.3em 0.1em 0.3em;
	background-color: #fec80c;
}

em a {
	color: #000;
}

/* remove ugly styling of phone numbers in iOS */
a[href^=tel\:]{
	color: #000;
	text-decoration: none;
}

footer a[href^=tel\:]{
	color: #CCC;
	text-decoration: none;
}

article > a {
	text-decoration: none;
}


/* C O L O R */
.bg_gray_light {
	background-color: #f5f5f5;
}

.bg_gray_teva {
	background-color: #f9f9f9;
}

.bg_gray_dark {
	background-color: #666;
}

.bg_gray_dark h4,
.bg_gray_dark h3,
.bg_gray_dark h2,
.bg_gray_dark p,
.bg_gray_dark ul,
.bg_gray_dark li {
 	color: #FFF;
}

.bg_gray_dark a {
	color: #fec80c;
}


.bg_white {
	background-color: #FFF;
}

.bg_white footer {
	color: #CCC;
}

.bg_white footer hr {
	border: 1px solid #FFF;
	border-top: 1px solid #DDD;
}

.bg_white footer a {
	color: #CCC;
}

.bg_white footer a:hover {
	color: #DDD;
}


.bg_black {
	background-color: #000;
}

.bg_black h1,
.bg_black h2,
.bg_black h3,
.bg_black h4,
.bg_black p,
.bg_black ul,
.bg_black li {
 	color: #CCC;
}

.bg_black em {
	color: #000;
}

.bg_black hr {
	border: 1px solid #000;
	border-top: 1px solid #333;
}

.bg_black footer,
.bg_black footer p,
.bg_black footer ul, 
.bg_black footer li {
	color: #444;
}

.bg_black footer a {
	color: #444;
}

.bg_black footer a:hover {
	color: #555;
}


/* L A Y O U T */
header {
	/* 
	This is a simple custom solution for now. Change this
	to fit your specific needs, or use the same structure
	as in the <main> part.
	*/
	padding-top: var(--item-total-padding);
	padding-bottom: var(--item-total-padding);
}

footer {
	/* 
	This is a simple custom solution for now. Change this
	to fit your specific needs, or use the same structure
	as in the <main> part.
	*/
	padding-top: var(--item-total-padding);
	padding-bottom: var(--item-total-padding);
	font-size: 0.8em;
}

footer hr {
	margin: 1rem 0.1rem;
}

footer ul {
	list-style-type: none;
}


/* 
main and section should have their top and bottom margins 
set to 0 to keep background(-colors) connected to eachother.
*/

section.bg_color {
	/*
	When two consecutive sections have a different 
	background-color, we need more space between 
	the content of the sections. We need space for 
	'the edge'
	*/
	padding-top: var(--section-vertical-padding);
	padding-bottom: var(--section-vertical-padding);
}

div.container {
	/*
	This container is responsible for the width of
	the content (or layout) of the website.
	*/
	display: flex;
	flex-wrap: wrap;
	margin-left: auto;
	margin-right: auto;
	width: calc(100vw - 2 * var(--layout-padding));
}

div.container.with_padding {
	padding-left: var(--item-total-padding);
	padding-right: var(--item-total-padding);
}

article {
	padding: var(--item-outer-padding);
}

article > a,
article > div {
	display: block;
	padding: var(--item-inner-padding);
}

/*
	When Article > a (aka ankeiler) has to been shown
	with a border, not with a background-color, then
	use this css.

article > a:hover {
	background-color: transparent;
	padding: calc(var(--item-inner-padding) - 2px);
	border: 2px dotted #000;
}
*/

.one_column img,
.two_column img,
.three_column img,
.four_column img {
	/*
	Scale the image when part of the main content
	*/
	width: 100%;
}

.one_column a > img,
.one_column div > img {
	padding-top: var(--paragraph-top-padding);
	padding-bottom: var(--paragraph-bottom-padding);
}

.one_column > article,
.two_column > article,
.three_column > article,
.four_column > article {
	flex-basis: 100%;
}

.image {
	display: block;
	padding: 0 0.1rem;
}


@media only screen and (min-width: 450px) {
}
@media only screen and (min-width: 900px) {
}
@media only screen and (min-width: 1200px) {
}
@media only screen and (min-width: 1500px) {
}
@media only screen and (min-width: 1800px) {
}


@media only screen and (min-width: 450px) {
    section.bg_color {
    	padding-top: calc( 2 * (var(--section-vertical-padding)));
    	padding-bottom: calc( 2 * (var(--section-vertical-padding)));
    }
    div.container {
		width: calc(100vw - 4 * var(--layout-padding));
    }
	div.container.with_padding {
		padding-left: calc( 2 * var(--item-total-padding));
		padding-right: calc( 2 * var(--item-total-padding));
	}
    article {
		padding: calc( 2 * var(--item-outer-padding));
        }
    article > a,
	article > div {
		padding: calc( 2 * var(--item-inner-padding));
    }
	.four_column > article {
		flex-basis: 50%;
	}
}

@media only screen and (min-width: 600px) {
	h1 {
		font-size: 7.6vw;
		line-height: 1em;
	}
	h2, h3, h4 {
		padding-left: 0.3rem;
		padding-right: 0.3rem;
	}
	p, ul, ol {
		padding: 0.3rem 0.3rem 1rem 0.3rem;
	}
	footer hr {
		margin: 1rem 0.3rem;
	}
	.image {
		display: block;
		padding: 0 0.3rem;
	}
}

@media only screen and (min-width: 900px) {
	h2, h3, h4 {
		padding-left: 0.7rem;
		padding-right: 0.7rem;
	}
	p, ul, ol {
		padding: 0.3rem 0.7rem 1rem 0.7rem;
	}
	footer hr {
		margin: 1rem 0.7rem;
	}
	.image {
		display: block;
		padding: 0 0.7rem;
	}
    section.bg_color {
    	padding-top: calc( 3 * (var(--section-vertical-padding)));
    	padding-bottom: calc( 3 * (var(--section-vertical-padding)));
    }
    div.container {
		width: calc(100vw - 10 * var(--layout-padding));
    }
	div.container.with_padding {
		padding-left: calc( 3 * var(--item-total-padding));
		padding-right: calc( 3 * var(--item-total-padding));
	}
    article {
		padding: calc( 3 * var(--item-outer-padding));
        }
    article > a,
	article > div {
		padding: calc( 3 * var(--item-inner-padding));
    }
	.two_column > article,
	.three_column > article,
	.four_column > article {
		flex-basis: 50%;
	}
}


@media only screen and (min-width: 1200px) {
	h2, h3, h4 {
		padding-left: 1rem;
		padding-right: 1rem;
	}
	p, ul, ol {
		padding: 0.3rem 1rem 1rem 1rem;
	}
	footer hr {
		margin: 1rem;
	}
	.image {
		display: block;
		padding: 0 1rem;
	}
    div.container {
		width: calc(100vw - 20 * var(--layout-padding));
    }
	.two_column > article {
		flex-basis: 50%;
	}
	.three_column > article {
		flex-basis: 33.33%;
	}
	.four_column > article {
		flex-basis: 25%;
	}
}

@media only screen and (min-width: 1500px) {
}

@media only screen and (min-width: 1800px) {
}

