* {
	box-sizing: border-box;
}

body
{
	padding:0;
	/*margin:0;*/
	font-family: sans-serif;
	background-color:rgb(210,210,216);
}

a
{
	color: rgb(30, 30, 60);
}

nav
{
	text-align:center;
	width:100%;
	margin:0;
}

/* The sticky class is added to the header with JS when it reaches its scroll position */
nav.sticky {
  position: fixed;
  top: 0;
}

nav ul
{
	margin:0;
	padding:1em 0 0 0;
}

nav ul li
{
	display:inline-block;
}

nav ul li span
{
	/*
	background-color:rgba(255,255,255,0.5);
	width:10em;
	*/
	margin: 0;
	color: #FFFFFF;
	text-align:center;
	padding:0.8em;
	font-size:1.2em;
}

nav ul li span:hover
{
	text-decoration:underline;
	/*
	font-weight:700;
	background-color:rgba(255,255,255,0.8);
	*/
}

nav a
{
	/* text-decoration:none; */
	/* color:#000; */
}

nav img.lang
{
	vertical-align: -35%;
}

h1
{
	margin:0;
	padding:0 0.5em 0.5em 0.5em;
	text-align:center;
	font-weight:700;
}

h2
{
	margin: 1.2em 0 0.4em 0;
}

div#desc {
	margin-bottom:1em;
	max-width:1000px;
	margin-left:auto;
	margin-right:auto;
	text-align:left;
	display:none;
}

#jsInfo
{
	color: rgb(160, 30, 30);
	width: 20em;
	border: solid 1px rgb(160, 30, 30);
	margin: 1em auto;
	padding: 1em;
}

p.errorInfo
{
	color: rgb(160, 30, 30);
	width: 36em;
	border: solid 1px rgb(160, 30, 30);
	margin: 1em auto;
	padding: 1em;
}

p.successInfo
{
	color: rgb(30, 160, 30);
	border: solid 1px rgb(30, 160, 30);
	margin: 1em auto;
	padding: 1em;
}

div.container
{
	text-align:center;
	padding:2em 4em;
}

div.container iframe
{
	width:36em;
	height:20.25em;
}

div.container > p
{
	max-width:1000px;
	margin:0 auto;
}

div.container p
{
	margin-top: 0.3em;
	margin-bottom: 0.3em;
}

div.parallax
{
	/* Create the parallax scrolling effect */
	background-attachment: fixed;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}

div.cookieHint {
	position:fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	padding: 0.5em;
	background-color:rgb(92, 122, 31);
	color:#FFF;
	border-top:solid 2px #000;
	text-align:center
}

div#header
{
	width:100%;
	height:24em;
	text-align:center;
}

div#header img
{
	margin: 0 auto;
	height:100%;
}

div#fussvers
{
	color:#FFFFFF;
	min-height:10em;
}

#legendTgl {
	display:none;
	margin-top:1em;
	margin-bottom:1em;
}

div#gebetsplan, div#promotion
{
	background-color:rgb(210,210,216);
}

div#visionContainer
{
	background-color:#FFFFFF;
}

div#trailer, div#kontakt
{
	background-color:rgb(192,192,200);
}

div#media
{
	background-color:rgb(192,192,200);
}

div#media cite
{
	font-size:1.2em;
	margin-bottom:0.3em;
}

div#media p
{
	margin-bottom: 1.5em;
}

div.legend
{
	display:inline-block;
	margin:0 1em;
}

.hide-archived .archived {
	display: none;
}

div.planbox
{
	width:3em;
	height:3em;
	border:solid 1px #000;
	display:inline-block;
	vertical-align:middle;
	position: relative;
/*
	margin:0.5em;
	text-align:center;
*/
}

div.planbox
{
	/*
	border: 1px solid red;
	background-color:rgba(0,0,0,0.5);
	*/
}

div.planbox input
{
	width:100%;
	height:100%;
	margin: 0;
	top:0;
	left:0;
	outline: 0px;
	position: absolute;
	opacity: 0;
	cursor:pointer;
	/*
	border:solid 1px red;
	*/
}

div.planbox input.first
{
	top: 0.1em;
	left: 0.1em;
}

div.planbox input.second
{
	bottom: 0.1em;
	right: 0.1em;
}

div.legend div.planbox
{
	margin:0.5em;
	width:2em;
	height:2em;
}

div.planbox span
{
/*
*/
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width:100%;
/*
	padding-top:33%;
	display:inline-block;
	line-height:100%;
*/
}

div.free
{
	background-color:rgb(255,255,255);
}

div.busy
{
	background-color:rgb(153, 204, 51);
}

div.busy2
{
	background-color:rgb(92, 122, 31);
	color:#000;
}

div.you
{
	/*
	background-color:hsl(240, 100%, 60%);
	*/
	background-color:rgb(30, 30, 60);
	color:#FFFFFF;
}

div.timeblock {
	display:flex;
	flex-wrap:wrap;
	width:36em;
	border:solid 1px #000;
	margin: 0 auto;
	box-sizing: content-box;
}

div.timeblock div.planbox:hover span
{
	font-weight:bold;
}

div.timeblock  div.planbox.outside {
	cursor:not-allowed;
	color:#888;
}

div.timeblock div.planbox.outside:hover span {
	font-weight:normal;
}

div.timeblock div.planbox.full {
	cursor:not-allowed;
}

div.timeblock div.planbox.locked {
	cursor:not-allowed;
}

div.timeblock div.planbox.locked:hover span
{
	font-weight:inherit;
}

p#vision, p#vers
{
	font-size:2em;
	font-weight:100;
	margin-bottom:1em;
}

div.container + p
{
	font-size:1.1em;
}

#personeninfo
{
    max-width: 1000px;
    margin: 1em auto 0 auto;
}

div#personeninfo > div
{
	display:inline-block;
	width:50%;
}

div#info
{
	display: inline-block;
	float:right;
    text-align: justify;
}

img.captcha {
	border: solid 1px #767676;
	width: 240;
	height: 70;
}

div#contact img.captcha + input {
	width: calc(100% - 250px);
    margin-left: 10px;
    vertical-align: bottom;
}

div.whatsapp
{
	width: 350px;
	margin: 0 auto;
	padding:5px 10px;
	text-align:left;
	border-radius:10px 0px 10px 10px;
	background-color: rgb(220, 248, 198);
	box-shadow: 5px 5px rgba(0,0,0,0.2);
}
div#contact
{
	text-align:left;
}

div#contact > div
{
	margin:1em;
}

div#info > p
{
	margin:2em 1em 1em 1em;
}

div#contact input[type=text]
{
	display: inline-block;
    height: 3em;
	width:100%;
    margin: 1em 0;
    padding: 0.5em;
}

div#gebetsplan input[type=submit]
{
	display: block;
    width: 11em;
    background-color: rgb(30, 30, 60);
    color: #FFFFFF;
    border: solid 1px white;
    height: 3em;
    margin: 0 auto;
    padding: 0.5em;
}

.sticky-bottom {
	position: -webkit-sticky;
	position: sticky;
	bottom:0;
	padding: 1em;
	background-color: rgb(210,210,216);
}

label input[type=checkbox]
{
	float:left;
}

label div
{
	margin-left:2em;
}

#archive {
	display: none;
}

#gebetsanliegen
{
    max-width: 1000px;
    margin: 0 auto;
}

#gebetsanliegen ul
{
	display: inline-table;
	display: inline-grid;
    width: 50%;
    margin: 0;
    padding: 0;
}

#gebetsanliegen li
{
    text-align: left;
    /* list-style: none; */
    margin: 0.3em 1.5em 0.3em 1.5em;
}

#gebetsanliegen span
{
	font-size: 0.8em;
	font-style: italic;
}

#anliegen tr.deleted td
{
	color:#BBB;
}

#slotlist td
{
	padding: 0 3pt;
}

#slotlist tr.even td
{
	background-color:#CCC;
}

input.error, textarea.error, .errorMsg
{
	color: #F00;
}

#popup
{
	position: fixed;
	left:25%;
	top:20%;
	width:50%;
	background-color:#EEE;
	padding: 1em;
	border:solid 1px black;
}

#popup img.lang
{
	   vertical-align: -50%;
}

#anliegen
{
	width:100%;
}

#anliegen table
{
	/*
	 */
	width:98%;
	border: solid 1px black;
	border-collapse: collapse;
	margin:0 1%;
}

#anliegen td, #anliegen th
{
	border: solid 1px black;
	border-collapse: collapse;
}

#anliegen td.date, #anliegen th.date
{
	width:7em;
}

#curtain
{
	width:100%;
	height:100%;
	position:fixed;
	margin:0;
	top:0;
	left:0;
	background-color:#000;
	opacity:0.4;
}

#popup table
{
	width:100%;
}

#popup td input
{
	width:100%;
	height:3em;
	/*
	 *
	border:none;
	 */
}

#anliegen input[type=checkbox]
{
	height:1.5em;
}

textarea
{
	width:100%;
	font-family: 'Roboto', sans-serif;
	font-size:11pt;
	border:none;
}

/* The snackbar - position it at the bottom and in the middle of the screen */
#snackbar {
    visibility: hidden; /* Hidden by default. Visible on click */
    min-width: 250px; /* Set a default minimum width */
    margin-left: -125px; /* Divide value of min-width by 2 */
    background-color: #333; /* Black background color */
    color: #fff; /* White text color */
    text-align: center; /* Centered text */
    border-radius: 2px; /* Rounded borders */
    padding: 16px; /* Padding */
    position: fixed; /* Sit on top of the screen */
    z-index: 1; /* Add a z-index if needed */
    left: 50%; /* Center the snackbar */
    bottom: 30px; /* 30px from the bottom */
}

/* Show the snackbar when clicking on a button (class added with JavaScript) */
#snackbar.show {
    visibility: visible; /* Show the snackbar */

/* Add animation: Take 0.5 seconds to fade in and out the snackbar.
However, delay the fade out process for 2.5 seconds */
    -webkit-animation: fadein 0.5s, fadeout 0.5s 2.5s;
    animation: fadein 0.5s, fadeout 0.5s 2.5s;
}

/* Animations to fade the snackbar in and out */
@-webkit-keyframes fadein {
    from {bottom: 0; opacity: 0;}
    to {bottom: 30px; opacity: 1;}
}

@keyframes fadein {
    from {bottom: 0; opacity: 0;}
    to {bottom: 30px; opacity: 1;}
}

@-webkit-keyframes fadeout {
    from {bottom: 30px; opacity: 1;}
    to {bottom: 0; opacity: 0;}
}

@keyframes fadeout {
    from {bottom: 30px; opacity: 1;}
    to {bottom: 0; opacity: 0;}
}

@media only screen and (max-width: 768px)
{
	h1 {
		font-size: 1.5em;
	}
	h2 {
		font-size: 1.2em;
	}

	div.container iframe
	{
		width:18em;
		height:10.125em;
	}

	div#personeninfo > div
	{
		display:block;
		width:100%;
	}

	#legendTgl {
		display:block;
	}

	#legend {
		display:none;
	}

	#gebetsanliegen ul
	{
		display:block;
		width: 100%;
	}

	#gebetsanliegen li
	{
		margin-top:0.5em;
	}
}

@media only screen and (max-width: 640px)
{
	div#header
	{
		height:unset;
	}

	div#header img
	{
		margin: 0em auto 0em auto;
		width:100%;
		height:unset;
	}

	div.container
	{
		padding:1em 0.5em;
	}
}
/* 10em Rand links und rechts */
@media only screen and (max-width: 58em) /* 48 + 10 = 928px */
{
	div.timeblock {
		width:36em; /* 12 Blöcke */
	}
}
/* 8er Raster ist für 12h nicht passend */

/* Umbruch schmaler Rand */
@media only screen and (max-width: 38em) /* 36 + 2 */
{
	div.timeblock {
		width:18em; /* 6 Blöcke */
	}
}

@media only screen and (max-width: 20em) /* 18 + 2 = 320px */
{
	div.timeblock {
		width:12em; /* 4 Blöcke */
	}
}