/* raleway-regular - latin */
@font-face {
	font-family: 'Raleway';
	font-style: normal;
	font-weight: 400;
	src: url('../fonts/raleway-v19-latin-regular.eot'); /* IE9 Compat Modes */
	src: local(''),
		 url('../fonts/raleway-v19-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
		 url('../fonts/raleway-v19-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
		 url('../fonts/raleway-v19-latin-regular.woff') format('woff'), /* Modern Browsers */
		 url('../fonts/raleway-v19-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
		 url('../fonts/raleway-v19-latin-regular.svg#Raleway') format('svg'); /* Legacy iOS */
}


/* Allgemeines */
	body { font-family: 'Raleway', sans-serif; color:#000; background-color: #FFF; font-size:18px; min-width:330px; text-align:center; margin:0; padding:0; overflow-x: hidden; text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing:grayscale; }
	p {}
	td {}
	a:link { color:#686868; text-decoration:none; }
	a:visited { color:#686868; text-decoration:none; }
	a:hover { color:#686868; text-decoration:none; }
	a:active { text-decoration:none; }
	a:focus { outline: none; }
	.master { position:relative; width:85%; max-width:1200px; margin:auto; overflow: hidden; } 
	.row:after { content:""; display:table; clear:both; }
	.bold { font-weight:bold; }
    .h1 { font-size:60px; text-transform: uppercase; }
	.h2 { font-size:40px; }
    .h3 { font-size:30px; }
	.center { text-align:center; }
	.uppercase { text-transform: uppercase; }
	.more_space { letter-spacing: +2px; }
	.left { text-align:left; }
	.bluebackground { background-color: #003366; color: #ffffff;}
/**************/

/* Inhalte */
	#header { position:relative; width:100%; }
	#headerContent { line-height: 50px; padding-top:30px; padding-bottom: 30px; text-align: left; color: #686868; font-family:Georgia, 'Times New Roman', Times, serif; }

	#main { position:relative; width:100%; min-height:500px; }

	#firstContentContainer { width:100%; background-color: #F1F1F1; }
	#firstContent { padding-top:100px; padding-bottom: 100px; }
	
	#secondContentContainer { width:100%; }
	#secondContent { padding-top:100px; padding-bottom: 100px; }
	.twocolumn { display: table; float: left; width: 50%; height: 350px; }
	.background_2 { display: table-cell; background-image: url('../design/friedmannbachmeier_2.jpg'); background-repeat:no-repeat; background-size:cover; background-position: center; }
	.background_3 { display: table-cell; background-image: url('../design/friedmannbachmeier_3.jpg'); background-repeat:no-repeat; background-size:cover; background-position: center; }
	.absolute_text { display: table-cell; width:100%; vertical-align: middle; padding-left:20px; padding-right: 20px; }

	#thirdContentContainer { width:100%; background-color: #F1F1F1; }
	#thirdContent { padding-top:100px; padding-bottom:100px; text-align: center; }
	#MandantenbereichContainer { position: relative; padding-top:100px; padding-bottom: 100px; padding-left:15px; padding-right: 15px; text-align:center; }
	#LoginTabelle { width:100%; max-width:500px; margin:auto; background-color:#E1EFF2; color:#000; box-sizing:border-box; }
	#LoginTabelle td { height:45px; width:50%; text-align:left; }

	#imprintContent { padding-top:100px; padding-bottom: 100px; }
	#imprintContent a:link { color:#000; text-decoration:none; }
	#imprintContent a:visited { color:#000; text-decoration:none; }
	#imprintContent a:hover { color:#FFF; text-decoration:none; }
	#imprintContent a:active { text-decoration:none; }
	#imprintContent a:focus { outline: none; }

	#footer { position:relative; width:100%; min-height:150px; padding-top:40px; }
	#footerContent { }


	@media only screen and (min-width:2560px) { 

	}

	@media only screen and (max-width:1200px) { 

	}

	@media only screen and (max-width:992px) { 
		.h1 { font-size: 50px; }
		.h2 { font-size: 35px; }
		.h3 { font-size: 25px; }
	}

	@media only screen and (max-width:768px) { 
		.h1 { font-size: 40px; }
		.h2 { font-size: 30px; }
		.h3 { font-size: 20px; }
		.twocolumn { width:100%; margin-bottom: 20px; height: 250px; }
	}

	@media only screen and (max-width:600px) { 
		.h1 { font-size: 30px; }
		.h2 { font-size: 25px; }
	}

	@media only screen and (max-width:500px) { 
		.h1 { font-size: 25px; }
		.h2 { font-size: 22px; }
	}

	@media only screen and (max-width:400px) { 
		.h1 { font-size: 22px; }
		.h2 { font-size: 20px; }
	}

/**********/


/* Buttons und Formulare */
	/* .button_blue { width:96%; max-width:300px; height:44px; border: 2px solid #2F384D; color: #2F384D; background-color: #E6EFF2; -webkit-appearance: none; display: inline-block; line-height: 40px; transition: 0.5s; } */
	/* .button_blue:hover { background-color: #2F384D; color:#FFF; } */
	.button_blue:focus { outline: none; }
	/* .login_field { width:96%; height:30px; } */
/********/

/* Modern login card overrides and improvements */
    #login-card { max-width: 380px; margin: 0 auto; padding: 18px; border-radius: 12px; background: #fbfdff; box-shadow: 0 6px 18px rgba(25,40,60,0.12); border: 1px solid rgba(25,40,60,0.06); }
    #login-card h3 { margin: 0 0 12px 0; font-size: 16px; color: #15324a; }
    #login-card .field { margin-bottom: 12px; display: flex; flex-direction: column; align-items: stretch; }
    #login-card label { font-weight: 600; margin-bottom: 6px; color: #2b3e50; font-size: 13px; }
    .login_field { padding: 10px 12px; border: 1px solid #d6e1eb; border-radius: 8px; font-size: 14px; background: #fff; color: #123; outline: none; transition: box-shadow .12s, border-color .12s; width:100%; box-sizing:border-box; }
    .login_field:focus { box-shadow: 0 4px 12px rgba(30,100,180,0.08); border-color: #84b0e6; }
    .button_blue { background: linear-gradient(180deg,#1e88e5,#1669c8); color: #fff; border: none; padding: 10px 14px; border-radius: 8px; cursor: pointer; font-weight: 600; }
    .button_blue:hover { filter: brightness(.95); }
    .login_note { margin-top: 10px; font-size: 13px; color: #6b7c8c; }

    @media (max-width:480px){ 
        #login-card{ padding:14px; margin: 0 12px; }
    }

	/* Client area and media list styles */
		.client-area { max-width:860px; margin: 18px auto 0; padding: 22px; background: linear-gradient(180deg,#ffffff,#fbfdff); border-radius:12px; box-shadow: 0 6px 20px rgba(20,30,45,0.06); border: 1px solid rgba(20,30,45,0.04); }
		.client-welcome { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-bottom:18px; flex-wrap:wrap; }
		.client-welcome .welcome-text { font-size:18px; color:#234; font-weight:600; }
		.client-welcome .welcome-name { font-size:20px; color:#0d2740; font-weight:700; }
		.media-list { display:flex; flex-direction:column; gap:12px; }
		.media-item { display:flex; flex-direction:column; padding:12px; background: #ffffff; border-radius:10px; border:1px solid rgba(35,60,80,0.05); box-shadow: 0 4px 10px rgba(15,30,45,0.03); }
		.media-title { font-size:15px; font-weight:700; color:#123; margin-bottom:8px; }
		.audio-player { width:100%; }

		@media (min-width:900px) {
			.media-list { flex-direction:row; }
			.media-item { flex:1; }
		}

		@media (max-width:600px) {
			.client-area{ padding:14px; }
			.client-welcome .welcome-name{ width:100%; }
		}

	/* Custom audio player styling */
	.audio-wrap { display:flex; flex-direction:column; gap:8px; }
	.audio-controls { display:flex; align-items:center; gap:12px; }
	.ap-play { width:44px; height:44px; border-radius:8px; border:none; background:linear-gradient(180deg,#1e88e5,#1669c8); color:#fff; font-weight:700; font-size:16px; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; box-shadow:0 6px 14px rgba(16,60,120,0.12); }
	.ap-play:active { transform:translateY(1px); }
	.ap-progress { flex:1; height:8px; background:linear-gradient(90deg,#eef6fb,#f6fbff); border-radius:8px; position:relative; cursor:pointer; overflow:hidden; border:1px solid rgba(20,30,40,0.04); }
	.ap-played { position:absolute; left:0; top:0; bottom:0; width:0%; background:linear-gradient(90deg,#4fa6f7,#1e88e5); border-radius:8px; transition:width .08s linear; }
	.ap-time { min-width:88px; text-align:right; color:#345; font-size:13px; }
	.audio-player { display:none; }

	@media (max-width:600px){
		.ap-time{ display:none; }
	}
