@charset "utf-8";

* {
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
}

body {
	margin: 0;
	width:100%;
	font-family: 'Titillium Web', sans-serif;
	line-height:1.35;
	background: url(../images/gonzen.jpg) no-repeat center top fixed;
		-webkit-background-size: cover;
		-moz-background-size: cover;
		-o-background-size: cover;
		background-size: cover;
}

/* Für MCE Editor */
body.mceContentBody {
	background-image:none;
	background-color:#FFFFFF;
	margin-top:0;
}

ul {
	margin: 0;
	padding: 0;
}

.pull-left {
	float:left;
}

.pull-right {
	float:right;
}

/******************************* Navi *****************************************/

header {
	left:0;
	top:0;
	width:100%;
	margin:0 auto;
	padding: 0;
	z-index: 10;
}

#menuBtn {
	float:right;
	margin:1em;
}

header nav {
	margin: 0 auto;
	padding: 0 0.75em 0 0.75em;	
	background-color:#FFFFFF;
	border-bottom:solid 1px #666666;
}

div.moduletable-menu {
	display: none;
}

header nav div#logo
{
	padding-top:0.75em;
}

header nav li {
	list-style:none;
}

header nav > div > ul a {
	text-decoration:none;
	color:#FFFFFF;
}

header nav > div > ul > li > ul a {
	color:#999999;
}

header nav > div > ul > li {
	vertical-align:bottom;	
	margin:0;
	position:relative;
	padding-left:2em;
}

header nav > div > ul > li.deeper { /* navi mit untermenu */
	background-image: url(../images/submenuopen);
    background-repeat: no-repeat;
    background-position: 0em 0.3em;
}

header nav > div > ul > li.deeper.open {
	background-image:url(../images/submenuclose);
}

header nav > div > ul > li > a {
	padding: 0;
	line-height:1.8;
	color:#000000;
}

a.navactive {
	background-image: url(../images/navi.svg);
}

a.navactive:first-child {
	border-left:solid 1px #282828;
}

header nav > div > ul > li:first-child > a {
	border-left:solid 1px #FFFFFF;
}

header nav > div > ul > li.current > a {
	background:#ED1C24;
	color:#FFFFFF;
}

header nav > div > ul > li > a:hover {
	color:#FFFFFF;
	background:#ED1C24;
}

header nav > div > ul > li.deeper > a:hover {
	background-image: url(../images/navi.svg);
}

header nav > div > ul > li:first-child > a:hover {
	border-left:solid 1px #FFFFFF;
}

/********* Navi 2. Ebene ********/

header nav > div > ul > li > ul {
	display:none;
	background-color:#282828;
	text-align:left;
	padding:0.3em;
}

header nav > div > ul > li > ul > li {
	vertical-align:top;
	display:block;
}

header nav > div > ul > li > ul > li + li {
	margin-top: 0.3em;
}

header nav > div > ul > li > ul > li a {
	display:block;
	line-height:1.8;
	margin:0 0.7em;
	font-weight:normal;
}

header nav > div > ul > li > ul > li > ul {
	margin-left:1.25em;
}

header nav > div > ul > li > ul > li a:hover {
	color:#FFFFFF;
}

/***************************** Banner *****************************************/
#bannerwrapper {
	width:100%;
}

#banner {
	padding: 0;
	overflow:hidden;
}

#banner img {
	width:100%;
	/* min-width:600px; */
	display:block;
}

/**************************** Headertext **************************************/
#headertextwrapper {
	width:100%;
	text-align: center;
}

#headertext {	
	margin: 2.5em auto 3em auto;
	color: #FFFFFF;
	padding: 0 1em;
	display: inline-block;
	text-align: left;
}

#headertext a {
	color:#FFFFFF;
	text-decoration:none;
}

#headertext h1 {
	font-size: 5.3em;
	font-weight:200;
}

#headertext h2 {
	font-size: 2em; 
	font-weight:200;
}

#headertext p {
	color:#FFFFFF;
	font-weight: bold;
	margin-top: 0;
}

#headertext a {
	text-decoration:underline;
}
#headertext a:hover {
	color: #ED1C24;;
}

/******************************************** Content *****************************************/
/* #content ist gleich article#content*/

#contentwrapper {
	margin: 0 auto;
	padding: 0.7em;
	background-color:#FFFFFF;
}

#content {
	margin: 0;
	display:inline-block;
	background-color:#FFFFFF;
	vertical-align:top;
}

/* Für Standard seiten (nicht startseite) */
div.item-page, div.item-page-homebase {
	padding:0.7em;
	position:relative;
}

div.item-page-home {	
	position:relative;
}

.pull-left.item-image {
    float: none;
}

#content table {
	border-spacing: 0;
}

#content td {
	padding: 0.3em 0.6em 0.3em 0;
	vertical-align:top;
}

#content td.mceToolbar td {
	padding:0;
}

#content hr {
	clear:both;
}

#content div img.portrait {
	border: solid 1px #CCCCCC;
	padding:0.125em;
	border-radius:2.5em 1em;
}

#content a {
	text-decoration:none;
	color: #ED1C24;
}

#content a:hover {
	text-decoration:underline;
}

#content h2 > a {
	text-decoration:none;
	color: #000000;
}

#content h2 > a:hover {
	color: #ED1C24;
}

#content ul {
	list-style-position:outside;
	padding-left:1.5em;
	padding-bottom:0.5em;
	padding-top:0.5em;
}

#content div h2 {
	margin: 0;
}

#content div a {
	color: #ED1C24;
	text-decoration:none;
}
#content div a:hover {
	text-decoration:underline;
}

#content div p {
	margin: 0;
}

#content div p + p {
	margin-top: 0.75em;
}

#content div.item {
	position:relative;
	vertical-align:top;
	padding: 0;
}

#content div.blog-featured div.item,
#content div.item-page-home div.item {
	padding: 0.7em;
}

#content div.item-image img {
	margin: 0 auto 0 auto;
	width: 100%;	
	max-width: 400px;
}

#content div.item-page div img {
	max-width: 100%;
}

#content div.cols-2 div.item.column-1 {
	clear:left;
}

#content div.icons {
	margin: 0.625em;
}

/* Seitentitel */
#content > div h1,
#content > div div.page-header h2  {
	font-size:1.5em;
	padding: 0;
	margin:0 0 0.5em 0;
	color:#2F2F2F;
}

/* Überschriften */
#content > div h2 {
	font-size:1.3em;
	padding: 0;
	margin:0.625em 0 0 0;
	color:#2F2F2F;
}

#content > div h3 {
	font-size:1.1em;
	padding: 0;
	margin:0.625em 0 0 0;
	color:#2F2F2F;
}

#content > div h1 + p {
	margin-top:0.5em;
}

#content > div * + h2 {
	margin-top:1.25em;
}
#content > div * + h2.item-title {
	margin-top:0;
}

#content > div h2 + p {
	margin-top:0.5em;
}

#content > div h2 + ul {
	margin-top:0.5em;
}

#content > div#system-message-container {
	margin: 0 0.5em;
}

#contentwrapper fieldset {
	border:none;
	margin:0;
	padding:0;
}

#content div.login + div {
	margin:0.625em;
}

#content div.login + div ul {
	list-style:none;
	padding:0;
}

#content img.pull-center {
	width:100%;
	margin:0 auto;
	
}

#content li.edit-icon {
    float: right;
    list-style: none;
}

#content ul.actions {
	background-color: #EEE;
    position: absolute;
    top: 0;
    right: 0;
    padding: 0.5em 0.8em;
    border: solid 1px #7F7F7F;
    border-radius: 0.8em;
    box-shadow: 0.2em 0.2em 0.5em #0004;
	z-index:10;
}

div.item > .icons {
    position: absolute;
    top: -0.5em;
    right: -0.7em;
    padding: 0.5em 0.8em;	
    background-color: #EEE;
    border: solid 1px #7F7F7F;
    border-radius: 0.8em;
    box-shadow: 0.2em 0.2em 0.5em #0004;
	display: none;
}

div.item:hover > .icons {
	display: block;
}

#content div.item .icons ul.dropdown-menu {
	padding: 0;
}

div.item .icons .btn.dropdown-toggle {
	display:none;
}

div.tooltip {
	background-color:#ED1C24;
	color:#FFFFFF;
	width:280px;
	font-size:0.83em;
	padding: 0.3125em;
	-webkit-border-radius: 0.3125em;
	-moz-border-radius: 0.3125em;
	border-radius: 0.3125em;
	zoom: 1;
	filter: alpha(opacity=90);
	opacity: 0.9;
}

.alert {
	padding: 0.5em 2.2em 0.5em 0.875em;
	margin-bottom: 1.125em;
	text-shadow: 0 1px 0 rgba(255,255,255,0.5);
	background-color: #fcf8e3;
	border: 1px solid #fbeed5;
	-webkit-border-radius: 0.25em;
	-moz-border-radius: 0.25em;
	border-radius: 0.25em;
}
.alert,
.alert h4 {
	color: #c09853;
}
.alert h4 {
	margin: 0;
}
.alert > a {
	float:right;
}
.alert .close {
	position: relative;
	top: -0.125em;
	right: -1.3125em;
	line-height: 1.125em;
}
.alert-success {
	background-color: #dff0d8;
	border-color: #d6e9c6;
	color: #468847;
}
.alert-success h4 {
	color: #468847;
}
.alert-danger,
.alert-error {
	background-color: #f2dede;
	border-color: #eed3d7;
	color: #b94a48;
}
.alert-danger h4,
.alert-error h4 {
	color: #b94a48;
}
.alert-info {
	background-color: #d9edf7;
	border-color: #bce8f1;
	color: #3a87ad;
}
.alert-info h4 {
	color: #3a87ad;
}
.alert-block {
	padding-top: 0.875em;
	padding-bottom: 0.875em;
}
.alert-block > p,
.alert-block > ul {
	margin-bottom: 0;
}
.alert-block p + p {
	margin-top: 0.3125em;
}

span.label.label-warning {
	background: #b50a0a;
	color: white;
	border-radius: 9px;
	padding: 0 5px;
	font-style: italic;
	font-size: 0.9em;
}

/******************************************* Content Overrides ******************************/

#content > #messagelist div.sortlistblock
{
	position:static;
}

#content > #messagelist div.medialinks
{
	position:static;
}

.study_name {
	font-size:130%;
}

#content div.study_text h1 {
	font-size: 120%;
}

#content div.study_text blockquote {
	border-width: 0;
	padding: 0.3125em;
	background-color: #F2F2F2;
}

#content div.study_text address {
	margin-top: 1.25em;
}

.item-page-homebase .calendar {
	margin-bottom:0.5em;
}
.item-page-homebase .calendar span {
    margin-left: 1em;
}

@media all and (max-width:640px)
{
    #content div.study_info div.teacher,
    #content div.study_info div.scripture,
    #content div.study_info div.series {
        display: block; /* nur smartphone */
    }

    #content div.study_info div.teacher span,
    #content div.study_info div.scripture span,
    #content div.study_info div.series span {
        border-right:0;
    }
	
	table.pifilter {
		width:100%;
	}
	
	table.pifilter td {
		display: block;
		width:100%;
	}
}

#content .pagination {
	clear:both;
	text-align:center;
}

#content .pagination p {
	padding: 0.5em;
}

#content .pagination li {
    display: inline-block;
}

#content .tab-pane {
    display: none;
}

#content .tab-pane.active {
    display: block;
}

#content .btn-toolbar .btn-group {
    display: inline-block;
}

/* Felder Formular */
#content .control-label {
	float:left;
	width:auto;
}

#content .controls {
	margin-left:180px;
}


/******************************************* Inline Navigation Bar ***************************/
.items-more .nav-tabs {
	height:100%;
	clear:both;
	border-bottom:none;
}

.nav-tabs {
	border-bottom: solid 1px #666;
	height:2em;
}

.nav-tabs > li {
	float:left;
	margin-bottom: -1px;
	background-color:#FFF;
	list-style:none;
	height:1.5625em;
	padding 0.5em;
}

.nav-tabs.nav-stacked > li {
	float:none;
	padding: 0px 0px;
}

.nav-tabs > li.active {
	border-style:solid;
	border-color: #666;
	border-width: 1px 1px 0px;
	border-top-left-radius:0.3125em;
	border-top-right-radius:0.3125em;
}

/******************************************* Content Navigation ******************************/

#contentwrapper nav p {
	margin:0;
}

#contentwrapper nav a {
	color: #ED1C24;
	text-decoration:none;
}

#contentwrapper nav a:hover {
	text-decoration:underline;
}

#contentwrapper nav {
	margin-top:2em;
	padding: 0.7em;
	background-color:#FFFFFF;
	vertical-align:top;
	border-top: solid 1px #858585;
	clear: both;
}

#contentwrapper nav div.calendar {
	padding: 0.625em 0;
	border-bottom: solid 1px #AFAFAF;
}

#contentwrapper nav div.calendar span {
	font-weight: bold;
}

#contentwrapper nav div.calendar:last-child {
	border-bottom:none;
}

#contentwrapper nav h1 {
	margin:0;
}

#contentwrapper nav li {
	list-style:none;
	display:block;
	border-bottom:solid 1px #858585;
	padding-top:0.1875em;	
	padding-bottom:0.1875em;
}

#contentwrapper nav li:last-child {
	border-bottom:0;
}

#contentwrapper nav li a {
	display:block;
	padding-left:0.625em;
	text-decoration:none;
	color:#858585;
	font-weight:bold;
	line-height:1.8;
}

#contentwrapper nav li a:hover {
	color:#ED1C24;
}

#contentwrapper nav li.current > a {
	color:#ED1C24;
}

#contentwrapper nav h3 {
	margin:0;
}

/********* Navi 2./3. Ebene ********/
#contentwrapper nav li ul li a {
	text-decoration:none;
	font-weight:normal;	
}

#contentwrapper nav li ul li a:first-child {
	padding-top:0;
}

#contentwrapper nav li ul li {
	border:none;
	color:red;
	padding-top:0.1875em;	
	padding-bottom:0.1875em;
}

/********* Navi Unterebenen. Ergänzungen ********/
#contentwrapper nav li ul  {
	margin-left: 1.25em;
}

/********* Erweiterte Blöcke ********/
#contentwrapper nav div.moduletable + div.moduletable {
	margin-top:1.875em;
}

/********* Tooltips *****************/
.popover {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1010;
	
	background-color:#ffffff;
	color:#000000;
	border: solid 1px #880000;
	width:20em;
	border-radius: 0.5em;
}

.popover.top {
	margin-top: -10px;
}
.popover.right {
	margin-left: 10px;
}
.popover.bottom {
	margin-top: 10px;
}
.popover.left {
	margin-left: -10px;
}
.popover-title {
	margin: 0;
	padding: 8px 14px;
	font-size: 14px;
	font-weight: normal;
	line-height: 18px;
	background-color: #f7f7f7;
	border-bottom: 1px solid #ebebeb;
	-webkit-border-radius: 5px 5px 0 0;
	-moz-border-radius: 5px 5px 0 0;
	border-radius: 5px 5px 0 0;
}
.popover-title:empty {
	display: none;
}
.popover-content {
	padding: 9px 14px;
	min-height: 33px;
}
.popover .arrow,
.popover .arrow:after {
	position: absolute;
	display: block;
	width: 0;
	height: 0;
	border-color: transparent;
	border-style: solid;
}
.popover .arrow {
	border-width: 11px;
}
.popover .arrow:after {
	border-width: 10px;
	content: "";
}
.popover.top .arrow {
	left: 50%;
	margin-left: -11px;
	border-bottom-width: 0;
	border-top-color: #800;
	bottom: -11px;
}
.popover.top .arrow:after {
	bottom: 1px;
	margin-left: -10px;
	border-bottom-width: 0;
	border-top-color: #fff;
}
.popover.right .arrow {
	top: 50%;
	left: -11px;
	margin-top: -11px;
	border-left-width: 0;
	border-right-color: #800;
}
.popover.right .arrow:after {
	left: 1px;
	bottom: -10px;
	border-left-width: 0;
	border-right-color: #fff;
}
.popover.bottom .arrow {
	left: 50%;
	margin-left: -11px;
	border-top-width: 0;
	border-bottom-color: #800;
	top: -11px;
}
.popover.bottom .arrow:after {
	top: 1px;
	margin-left: -10px;
	border-top-width: 0;
	border-bottom-color: #fff;
}
.popover.left .arrow {
	top: 50%;
	right: -11px;
	margin-top: -11px;
	border-right-width: 0;
	border-left-color: #800;
}
.popover.left .arrow:after {
	right: 1px;
	border-right-width: 0;
	border-left-color: #fff;
	bottom: -10px;
}


/***************************** Footer *****************************************/

footer {
	margin: 1.25em auto 0 auto;
	background-color:#231F20;
	color:#DDD;
	clear:both;
}

#footer {
	background-color:#231F20;
	color:#DDD;
	margin: 0 auto;
	padding:0.7em;
}

/* Home Menu */
#footer li.item-101 {
	display:none;
}

#footerAdress {
  padding:0 0.5em;  
}

#vfgLogo {
	margin:0.5em 0;
	padding:0.5em 0.5em 0.15em 0.5em; /* unten kleiner zur Kompensation line-height*/
	background-color:#FFF;
	display:inline-block;
}

#vfgLogo img {
	width:15em;
}

#fegLogo {
	margin:0.5em 0;
	padding:0.5em 0.5em 0.15em 0.5em; /* unten kleiner zur Kompensation line-height*/
	background-color:#FFF;
	display:inline-block;
}

#fegLogo img {
	width:15em;
}

#sitemap div.moduletable + div.moduletable li {
	display:block;
}

#sitemap li {
	font-weight:bold;
	padding: 0.3em 0.7em;
	list-style-type: none;
	vertical-align:top;
}

#sitemap li li {
	margin:0 0.5em 0 1em;
	font-weight:normal;
	color:#AAA;
}

footer li.current > a {
	color:#ED1C24;
}

footer a {
	display:block;
	text-decoration:none;
	color:#DDDDDD;
}

footer a:hover {
	color: #FFFFFF;
	text-decoration:underline;
}

/******************************************************************************/ 
/*                  Desktop Overrides                                         */ 
/******************************************************************************/  

/******************************* Navi *****************************************/
/* Breiter Bildschirm */
@media screen and (min-width:801px)
{
	header {
		position:fixed;
	}
	
	header nav {
		padding-right:0;
		text-align:right;	
	}

    div.moduletable-menu {
        display:block;
    }
	
	header nav div#logo
    {
        float:left;
    }
	
	header nav > div > ul > li {
        display:inline-block;
        text-align:center;
        padding-left:0;
    }
	
	header nav > div > ul > li > a {
        display:inline-block;
        width:100px;
        height:100px;
        line-height:100px;
        line-height:100px;
        border-left:solid 1px #666666;
        /*font-size:12pt;*/ /*only desktop */
    }
	
	#menuBtn {
		display:none;
	}
	
        header nav > div > ul > li.deeper { /* navi mit untermenu */
        background-image: none;
    }
	
	/********* Navi 2. Ebene ********/
	header nav > div > ul > li > ul {
		display:none;
        position:absolute;
        /*visibility:hidden;*/
        width:200px;
    }
	
    header nav > div > ul > li:last-child > ul {
        left:-100px;
    }
	
	header nav > div > ul > li > ul > li a {
        line-height:1.375em;
        line-height:1.35;
        /*font-size:11pt;*/ /*only desktop */
    }
	
/***************************** Banner *****************************************/
    #banner {	
	width:100%;
	max-width: 980px;
	margin: 120px auto 0 auto;
	padding: 0;
	overflow:none;
    }
	
/**************************** Headertext **************************************/

	#headertext {	
        margin: 110px auto 0 auto;
    }
	
	#headertext h2 {
        font-size: 4em;
		margin: 0.8em 0;
    }
}

/* Inhalt 2-spaltig */
@media screen and (min-width:568px)
{
	body {
		font-size:0.9167em;
	}
	
	#content div.items-row {
		display: flex; /* add browser prefix */
	}
	
	#content div.cols-2 {
        width: 100%; 
    }
	
	#content div.item {
        width:50%;
		display:inline-block;
        /*border: solid 1px red;  remove!! */
        float:left;
    }
	
	#content div.item-image img {
        max-width: 300px;
    }
	
	#content .pagination li {
        margin: 0px 0.2em;
	}
	
	div.moduletable > div.calendar {
		width: 49%;
        display: inline-block;
        margin-right: 1%;
	}
	
/**************************** Footer ******************************************/

}

/* Inhalt 3-spaltig */
@media screen and (min-width:1001px)
{
    header nav {
        width:980px;
	}
	
	#contentwrapper {
        width:980px;
    }
	
	#content {
		width: 66.6%; 
		min-height:400px;
	}
	
	#contentwrapper nav {
        width: 33.3%;
        clear: none;
		border-top: none;
		margin: 0;
		display:inline-block;
    }
	
	#contentwrapper nav li a {
        line-height:inherit;
    }
	
	div.moduletable > div.calendar {
		width: 100%;
        display: block;
        margin-right: 0;
	}
	
	footer {
        width:980px;
    }
	
	#footer {
        font-size:0.909em;
		display:flex;
		padding:0.7em;
    }
	
	#footerAdress {
        float:left; 
        width:16.667%;
		padding:0.7em;
    }
	
	#sitemap {
		width:83.333%;
		display:flex;
    }

    #sitemap div.moduletable {
        float:left;
    }
	
	#sitemap li {
        display:inline-block;
    }
	
	#sitemap li li {
        width:130px;
        display:inline-block;
		padding:0;
    }
	
	.moduletable-sm-nav {
		width:80%;
	}
	
	.moduletable-sm-add {
		width:20%;
	}
	
	#sm-nav {
		display:flex;
	}
	
	#sm-nav > li {
        width:25%;
		padding: 0.7em;
	}	
	
	#sm-add li {
        display:block;
		padding:0.7em;
    }
}