/* == General style == */

body {
	font-family: 'Open Sans', Arial, sans-serif;
	font-size:12pt;
	color:#000;
	line-height:1.3;
}
main#main {
	float:none;
	padding:15px;
	box-sizing:border-box;
	box-shadow:0 2px 9px -2px rgba(0,0,0,0.3);
}
#wrapper {
	margin:0 auto;
}
.block {
	overflow: unset;
}
@media screen and (min-width:1211px) { 
	#wrapper { width:1100px } 
}
@media screen and (min-width:950px) and (max-width:1210px) {
	#wrapper { width:80% }
}
@media screen and (min-width:768px) and (max-width:1209px) {
	#wrapper { width:95% }
}
@media screen and (max-width:425px) { 
	#wrapper { width:100% } 
}

/*Überschriften */
h1 {
	margin-top:12px;
	margin-bottom:20px;
}
h2 {
	font-size:16pt;
	font-weight:bold;
	margin-top:20px;
}
h3 {
	font-size:16pt;
}
/* Links */
a {
	text-decoration:none;
	color: #4186c1;
	display:inline-block;
	border-bottom:1px solid transparent;
}
a:hover {
	border-color:#4186c1;
}
@media (pointer:coarse) {
	a {
		padding:5px 0;
	}
}
/* Linien */
hr {
	border:1px solid #f0f0f0;
	margin:15px 0;
}
/* Buttons */
button,a.button {
	background:#fff;
	cursor:pointer;
	border:none;
	padding:5px 15px;
	transition: all 0.3s;
	color:#4185c1;
	text-align:center;
	border: 1px solid;
}
button:hover,a.button:hover {
	box-shadow: 0 0px 11px 0px rgba(0,0,0,0.1)
}
button:active,a.button:active {
	background:#f0f0f0;
	outline:none;
}
/*Listen*/
#main .ce_text ul, #main .ce_list ul {
	list-style-type:circle;
	margin-left:25px;
}

/* == Header == */

/*General*/
div.header {
	text-align:center;
	border-bottom:4px solid #4186c1;
	font-family:'Aref Ruqaa',Tahoma;
}
div.header a {
	color:#000;
	padding:0;
	position: relative;
	z-index:1;
	border-bottom-style:none;
}
/*Desktop*/
@media screen and (min-width:769px) {
	div.header {
		font-size:35pt;
		padding-top: 20px;
		padding-bottom: 30px;
		background: url(symbol.svg) no-repeat;
		background-size: 85px 85px;
		background-position:calc(50% - 290px);
	}
	div.header .title {
		margin-left:95px;
	}
}
/*Mobile*/
@media screen and (max-width:768px) { 
	div.header { 
		font-size: 5.4vw;
		padding-top: 2.5vw;
		padding-bottom: 3vw;
		background: url(symbol.svg) no-repeat;
		background-position: calc(50% - 33.5vw);
		background-size: 8vw;
	}
	div.header .title {
		margin-left:8vw;
	}
}

/* == Menu == */

nav li a, nav li strong {
    text-decoration: none;
}
nav {
	text-align:center;
	font-family:'Lato',Arial, sans-serif;
}
nav ul {
	margin-bottom:0;
}

/* == Main Menu == */

/*General*/
nav.main li a, nav.main li strong {
	padding:5px 0;
	border-bottom:3px solid transparent;
	transition:all 0.4s;
	color: #000;
	display:inline-block;
}
nav.main li {
    display: inline;
    margin-right: 15px;
	font-size: 15pt;
	position:relative;
}
nav.main strong.active {
	color: #4186c1;
}

/*Desktop*/
@media screen and (min-width:631px) {
	nav.main {
		position: absolute;
		width: 100%;
		margin-top: -55px;
	}
	nav.main li a:after {
		content: '';
		display: block;
		border-bottom: 3px solid #4186c1;
		width: 0;
		margin-top:5px;
		position: absolute;
		left: 0;
		transition: 0.3s ease;
	}
	nav.main li a:hover:after { 
		width: 100%; 
	}
	nav.main strong.active {
		border-bottom: 3px solid #4186c1;
	}
}
/*Mobile*/
@media screen and (max-width:630px) {
	nav.main {
		width:100%;
		z-index:1;
		background:#fff;
		display:none;
		background:#f0f0f0;
		position: relative;
		top:-4px;
		border-bottom:4px solid #4186c1;
		padding:10px 0;
		box-shadow: 0 3px 22px 0 rgba(0,0,0,0.3);
	}
	nav.main li {
		display:block;
		margin-left:0;
	}
	nav.main li a, nav.main li strong {
		width:100%;
	}
}

/* == Top Buttons == */

/*Desktop*/
@media screen and (min-width:631px) {
	.top-button {
		position:absolute;
		right:0;
		padding: 10px 20px;
		transition:box-shadow 0.3s;
		margin:15px 0;
		z-index:1;
		color:#4186c1;
		box-shadow: 0 2px 8px -2px rgba(0,0,0,0.3)
	}
	.top-button:hover {
		cursor:pointer;
		box-shadow: 0 2px 9px -2px rgba(0,0,0,0.5);
	}
	.top-button.open {
		background:#f0f0f0;
	}
	.top-button.menu {
		display:none;
	}
	.button-bar {
		display: block;
		height:73px;
	}
	.top-button.login:after {
		content:'Login';
	}
	.top-button.account:after {
		content:'Account';
	}
}
/*Mobile*/
@media screen and (max-width:630px) {
	div.header {
		margin-bottom:0;
		box-shadow:0 2px 8px 0 rgba(0,0,0,0.4);
	}
	.top-button {
		display: inline-block;
		height: 12.4vw;
		width:12vw;
		background-size:6vw 6vw;
		background-position: 3vw 3vw;
		background-repeat:no-repeat;
	}
	.top-button.open {
		background-color:#f0f0f0;
	}
	.top-button.open-userbox {
		right: 0;
		position: absolute;
	}
	.button-bar {
		position: absolute;
		display: block;
		width: 100%;
		top: 0;	
		z-index:2;
	}
	.top-button.menu {
		background-image:url('icons/menu.svg');
	}
	.top-button.menu.open {
		background-color:#f0f0f0;
	}
	.top-button.open-userbox {
		background-image:url('icons/user-round.svg');
	}
	.top-button.open-userbox.open {
		background-color:#f0f0f0;
	}
}

/* == Login Box == */

/*General*/
.login-box {
	padding:15px;
	display:none;
	box-sizing:border-box;
}
.login-box label {
	width: 100%;
}
.login-box input[type=checkbox] {
	margin:0;
}
.login-box .widget-checkbox {
	margin-bottom:10px;
}
.login-box form {
	margin-bottom:0;
}
.login-box p.error {
	color:#c34949;
}
/*Desktop*/
@media screen and (min-width:769px) {
	.login-box {
		position: absolute;
		z-index: 1;
		background: #fff;
		right:0;
		margin-top:-17px;
		width:240px;
		box-shadow: 0 3px 12px 0 rgba(0,0,0,0.3)
	}
	.login-box input {
		width: initial;
		margin-bottom: 15px;
	}
	.login-box .checkbox_container label {
		width: initial;
	}
}
/*Mobile*/
@media screen and (max-width:768px) {
	.login-box {
		width:100%;
		background:#f0f0f0;
		position:relative;
		top:-4px;
		border-bottom:4px solid #4186c1;
		box-shadow: 0 3px 22px 0 rgba(0,0,0,0.3)
	}
	.login-box input, .login-box button {
		box-sizing:border-box;
	}
	.login-box input {
		width:80%;
	}
	.login-box label {
		width:74%;
		text-align:left;
	}
	.login-box p {
		text-align:left;
	}
	.login-box p a {
		position: relative;
	}
}

/*Footer Menu*/

nav.footer {
	margin:10px 0;
}
nav.footer li {
	display:inline;
	margin-right:-1px;
}
nav.footer li:after {
	content: '·';
	margin:0 5px;
}
nav.footer li.last:after {
	content:'';
	margin:0;
}
nav.footer a, nav.footer strong {
	font-size:11pt;
}

/*Formular*/
form label {
    width: 20%;
	display: inline-block;
	vertical-align:top;
}
input, textarea, select {
    margin-bottom: 7px;
    padding: 5px;
	outline:none;
	width:20%;
	transition:all 0.3s;
	border:1px solid #bdbdbd;
	display:inline-block;
}
input:hover,textarea:hover,select:hover,input:focus,textarea:focus,select:focus {
	color:#336a98;
	border-color:#4186c1;
}
.widget-textarea label {
	vertical-align:top;
}
input[type=checkbox] {
    margin-top: 10px;
    margin-bottom: 14px;
    width: initial;
}
@media screen and (min-width:1211px) { 
	form label, input, textarea, select { width:20%; } 
}
@media screen and (max-width:1210px) and (min-width:550px) { 
	form label, input, textarea, select { width:30%; } 
	form .captcha_text { margin-left:30%; display:block; } 
}
@media screen and (max-width:549px) { 
	form label, input, textarea, select { width:45%; } 
	form .captcha_text { margin-left:45%; display:block; }
}

/*Boxes*/
.box-wrapper {
	text-align:center;
}
.box {
    width: 30%;
    display: inline-block;
    border: 1px solid #f0f0f0;
    background: #fff;
    padding: 7px 15px;
    text-align: center;
    border-radius: 20px;
    margin-right: 10px;
}
@media screen and (min-width:1211px) { 
	.box { width:20%; }
}
/* Message Boxes */
.success-box,.tl_confirm,.error-box,.hint-box,p.error {
	padding:10px 15px;
	margin-bottom: 15px;
	box-shadow: 0 2px 8px -2px rgba(0,0,0,0.4)
}
.success-box p,.error-box p,.hint-box p {
	margin-bottom:0;
}
.success-box,.tl_confirm {
	background: #48ea92;
}
.error-box,p.error {
	background:#ff5a5a;
}
.hint-box {
	background: #FBE07D;
}

/* Adressliste*/

/*Toggler*/
#view-toggler {
	position: absolute;
	right:0;
	top:0;
}
#view-toggler span {
	width:40px;
	height:40px;
	padding:3px;
	display:inline-block;
	margin-right:20px;
	transition:all 0.3s;
}
#view-toggler span:hover {
	box-shadow: 0 2px 7px -1px rgba(0, 0, 0, 0.3);
	cursor:pointer;
}
#view-toggler span.active {
	box-shadow: 0 2px 8px -1px rgba(0, 0, 0, 0.4);
}
#view-toggler span.blocks {
	background:url('icons/blocks.svg') center/8px 8px no-repeat;
	background-size:24px;
}
#view-toggler span.list {
	background:url('icons/list.svg') center/5px 5px no-repeat;
	background-size:30px;
}
/*General*/
a.block-link {
	display: inline;
	color:#000;
	border-bottom:none;
}
.list-entry:active {
	background:#f0f0f0;
}
.list-column.name {
	color:#4186c1;
	font-weight:bold;
	margin-bottom:10px;
}
.list-column.name .nameOfBirth {
	font-size:10pt;
	font-weight:normal;
	white-space:nowrap;
}

/*Block view*/
.list-wrapper.blocks .list-entry {
	width: calc(33% - 35px);
	display:inline-block;
	margin: 6px;
	padding: 10px;
	background:#fcfcfc;
	transition:all 0.3s;
	box-shadow: 0 2px 2px -4px rgba(0,0,0,.1), 0 3px 4px 0 rgba(0,0,0,.1), 0 1px 8px 0 rgba(0,0,0,.1)
}
.list-wrapper.blocks .list-entry:hover {
	box-shadow: 0 3px 4px -3px rgba(0,0,0,.2), 0 3px 5px 0 rgba(0,0,0,.14), 0 1px 8px 0 rgba(0,0,0,.12)
}
.list-wrapper.blocks .list-column {
	width:100%;
	line-height:1.4;
	display:inline-block;
	transition:all 0.3s;
}
.list-wrapper.blocks .list-column.head {
	font-weight:bold;
}
.list-wrapper.blocks .list-entry.head {
	display:none;
}

/* Details */

.fm_detail li {
	list-style:circle;
	margin-left:40px;
}
.fm_detail h2 {
	margin-top: 30px;
}
.fm_detail {
	margin-top:-20px;
}
/*Icons*/
.fm_detail p.icon {
	margin-bottom:20px;
}
.fm_detail p.icon {
	background-size:17px 17px;
	padding-left:30px;
	background-repeat:no-repeat;
}
.fm_detail p.icon.birthday {
	background-image:url(icons/birthday.svg);
}
.fm_detail p.icon.family {
	background-image:url(icons/family.svg);
}
.fm_detail p.icon.location {
	background-image:url(icons/location.svg);
}
.fm_detail p.icon.email {
	background-image:url(icons/email.svg);
}
.fm_detail p.icon.phone {
	background-image:url(icons/phone.svg);
}
.fm_detail p.icon.mobile {
	background-image:url(icons/mobile.svg);
}
.fm_detail p.icon.father {
	background-image:url(icons/father.svg);
}
.fm_detail p.icon.mother {
	background-image:url(icons/mother.svg);
}
.fm_detail p.icon.partner {
	background-image:url(icons/partner.svg);
}
.fm_detail p.icon.children {
	background-image:url(icons/children.svg);
}
/*Desktop*/
@media screen and (min-width:881px) {
	.fm_detail a.side-link {
    	position: absolute;
    	right: 12px;
		top: 0;
	}
	/*List View*/
	.list-wrapper.list .list-column {
		display:inline-block;
		width:19%;
		box-sizing:border-box;
		vertical-align:middle;
	}
	.list-wrapper.list .list-entry {
		padding:7px;
	}
	.list-wrapper.list .list-entry:hover {
		background:#f3f4f5;
	}
	.list-wrapper.list .list-column.head {
		font-weight:bold;
	}
	.list-wrapper.list .list-entry.head {
		background:#f0f0f0;
		border-bottom:2px solid #666;
	}
	.list-wrapper.list .list-entry {
		border-bottom:1px solid #eee;
	}

}
/*Tablet*/
@media screen and (max-width:880px) {
	.fm_detail a.side-link {
		margin-top: 20px;
		display: inline-block;
	}
	.list-entry.head {
		display:none !important;
	}
	.list-entry {
		width:calc(50% - 37px) !important;
	}
	#view-toggler {
		display:none;
	}
}
/*Mobile*/
@media screen and (max-width:600px) {
	.list-entry{
		width:calc(100% - 35px) !important;
		text-align:center;
	}
}

/* == Neuer Eintrag == */

/*Mobile*/
@media screen and (max-width:780px) {
	.fm_add .inline-container button, fm_add .inline-container a.button{
		display: block;
		margin-bottom:7px;
	}
}

/* == Hilfefenster bei Registrierung == */
#help-window {
	padding:15px;
}
