/* CSS Reset */

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}

  


/* Tell the browser to render HTML 5 elements as block */  

header, footer, aside, nav, section, article 
{  
    display: block;  
}




/* BODY definitions */  

body 
{
	margin: auto;  
	background: #c6cacd; 
	background-image: url(/img/global/bg-body.jpg); 
	background-size: cover; 
	background-attachment: fixed;
}




/* Font and Pics definitions */

h1.title { font-size: 30px; line-height: 120%; }
h2.subtitle { font-size: 22px; margin-top: 8px; }
h3 { font-size: 133%; font-weight: 400; }
p { margin-bottom: 17px; }
hr { border-color: #444; } 

strong { font-weight: 600; }
em, i { font-style: italic; } 
small { font-size: 0.75em; }  
big { font-size: 1.25em; }  

.df { display: flex; } 
.db { display: block; } 
.dib { display: inline-block; } 

.pr { position: relative; } 
.t_1 { top: 1px; } 
.t_2 { top: 2px; } 

.large { font-size: 18px; font-weight: 400; color: #333333;}
.medium { font-size: 15px; font-weight: 400; color: #333333;}
.normal { font-size: 13px; font-weight: 400; color: #333333;}
.klein { font-size: 0.80em; line-height: 120%; }
.footer { font-weight: normal; }
.footer_small { font-size: 12px; font-weight: normal; }
.footer_large { font-size: 12px; font-weight: normal; }
.final { font-size: 12px; font-weight: normal; color: #555555;}

.bold { font-weight: 600; }
.underline { text-decoration: underline; }
.blue { color: #194aaf; }
.green { color: #0b9674; }
.red { color: #aa0000; }
.tc_orange { color: #f39114; }
.tc_blue { color: #022b57; } 
.tc_braun { color: #40281c; } 
.tc_rot { color: #f72145; } 	/* "PCM rot" */ 
.tc_hellgrau { color: #888; } 

.fs18	{ font-size: 18px; }
.fs22	{ font-size: 22px; }
.fs24	{ font-size: 24px; }
.fs28	{ font-size: 28px; }
.fs30	{ font-size: 30px; }

.fs_gr  { font-size: 1.25em; }
.fs_kl  { font-size: 0.75em; line-height: 130%; }
.fs_085  { font-size: 0.85em; }

.fw500	{ font-weight: 500; }
.fw700	{ font-weight: 700; }

.lh100 { line-height: 100%; }
.lh105 { line-height: 105%; }
.lh110 { line-height: 110%; }
.lh120 { line-height: 120%; }

.ls0 { letter-spacing: 0px; } 

.para { padding-bottom: 12px; }

.blind { display: none; visibility: hidden; }

.f_left { float: left; }
.f_right { float: right; }
.f_none { float: none; }

.w100 { width: 100%; }
.w88 { width: 88%; }
.w85 { width: 85%; }
.w80 { width: 80%; }
.w67 { width: 67%; }
.w40 { width: 40%; }
.w30 { width: 30%; }
.w26 { width: 26%; }
.w22 { width: 22%; }
.w19 { width: 19%; }
.w18 { width: 18%; }
.w17 { width: 17%; }
.w16 { width: 16%; }
.w15 { width: 15%; }
.w12 { width: 12%; }

.w110px 	{ width: 110px; }
.w120px 	{ width: 120px; }
.w165px 	{ width: 165px; }
.w169px 	{ width: 169px; }

.cb { clear: both; }

.c_pointer 	{ cursor:pointer; } 

.cp 	{ cursor: pointer; } 

.pic_right { float: right; margin-left: 12px; border: 1px solid #444444; }
.pic_left   { float: left; margin-right: 12px; border: 1px solid #444444; }

.m_auto { margin: auto; } 
.m_auto_imp { margin: auto !important; } 

.marg_b_3 { margin-bottom: 3px; }
.marg_b_5 { margin-bottom: 5px; }
.marg_b_6 { margin-bottom: 6px; }
.marg_b_7 { margin-bottom: 7px; }
.marg_b_8 { margin-bottom: 8px; }
.marg_b_10 { margin-bottom: 10px; }
.marg_b_20 { margin-bottom: 20px; }
.marg_b_22 { margin-bottom: 22px; }
.marg_b_25 { margin-bottom: 25px; }
.marg_b_30 { margin-bottom: 30px; }
.marg_b_40 { margin-bottom: 40px; }
.marg_b_45 { margin-bottom: 45px; }
.marg_b_60 { margin-bottom: 60px; }
.marg_b_80 { margin-bottom: 80px; }
.marg_b_7_imp { margin-bottom: 7px !important; }
.marg_b_20_imp { margin-bottom: 20px !important; }
.marg_b_25_imp { margin-bottom: 25px !important; }
.marg_b_30_imp { margin-bottom: 30px !important; }
.marg_b_35_imp { margin-bottom: 35px !important; }
.marg_b_40_imp { margin-bottom: 40px !important; }

.marg_t_6 { margin-top: 6px; }
.marg_t_7 { margin-top: 7px; }
.marg_t_8 { margin-top: 8px; }
.marg_t_10 { margin-top: 10px; }
.marg_t_11 { margin-top: 11px; }
.marg_t_14 { margin-top: 14px; }
.marg_t_18 { margin-top: 18px; }
.marg_t_20 { margin-top: 20px; }
.marg_t_21 { margin-top: 21px; }
.marg_t_23 { margin-top: 23px; }
.marg_t_25 { margin-top: 25px; }
.marg_t_30 { margin-top: 30px; }
.marg_t_40 { margin-top: 40px; }
.marg_t_45 { margin-top: 45px; }
.marg_t_50 { margin-top: 50px; }
.marg_t_53 { margin-top: 53px; }
.marg_t_60 { margin-top: 60px; }
.marg_t_25_imp { margin-top: 25px !important; }
.marg_t_35_imp { margin-top: 35px !important; }
.marg_t_45_imp { margin-top: 45px !important; }

.marg_l_7 { margin-left: 7px; }
.marg_l_10 { margin-left: 10px; }
.marg_l_15 { margin-left: 15px; }
.marg_l_16 { margin-left: 16px; }
.marg_l_17 { margin-left: 17px; }
.marg_l_20 { margin-left: 20px; }
.marg_l_25 { margin-left: 25px; }
.marg_l_37 { margin-left: 37px; }
.marg_l_40 { margin-left: 40px; }
.marg_l_41 { margin-left: 41px; }
.marg_l_50 { margin-left: 50px; }

.marg_r_8 { margin-right: 8px; }
.marg_r_10 { margin-right: 10px; }
.marg_r_16 { margin-right: 16px; }
.marg_r_20 { margin-right: 20px; }
.marg_r_33 { margin-right: 33px; }

.mt_2 { margin-top: 2px; }
.ml_5 { margin-left: 5px; }
.ml_1pro { margin-left: 1%; }
.ml_2pro { margin-left: 2%; }
.ml_4pro { margin-left: 4%; }

.padd_t_4 { padding-top: 4px; }
.padd_t_8 { padding-top: 8px; }
.padd_t_10 { padding-top: 10px; }
.padd_t_11 { padding-top: 11px; }
.padd_t_14 { padding-top: 14px; }
.padd_t_16 { padding-top: 16px; }
.padd_t_20 { padding-top: 20px; }

.padd_b_8 { padding-bottom: 8px; }
.padd_b_16 { padding-bottom: 16px; }
.padd_b_60 { padding-bottom: 60px; }

.padd_l_15pro { padding-left: 15%; }

.pt_2 { padding-top: 2px; } 

.pl_pr_12 { padding-left: 12px !important; padding-right: 12px !important; }
.pt_8_imp { padding-top: 8px !important; }
.pt_10_imp { padding-top: 10px !important; }

.ta_left { text-align: left; }
.ta_right { text-align: right; }
.ta_center { text-align: center; }
.ta_center_imp { text-align: center !important; }

.lh90 { line-height: 90%; }

.tbl_kontakt		{ margin: auto; }
.tbl_kontakt_head	{ text-align: left; font-weight: bold; padding-top: 1px; padding-bottom: 6px; }
.tbl_kontakt_lr		{ text-align: right !important; padding-top: 2px; padding-bottom: 2px; }
.tbl_kontakt_l		{ text-align: left !important; padding-top: 2px; padding-bottom: 2px; }
.tbl_kontakt_r		{ text-align: left; padding-top: 2px; padding-bottom: 2px; }
.tbl_kontakt_bez 	{ float: right; margin-right: 33px; position: relative; top: 6px; } 

.tbl_buchung		{ margin: auto; width: 80%; }
.tbl_buchung_head	{ text-align: center; font-weight: bold; padding-top: 1px; padding-bottom: 6px; }
.tbl_buchung_l_sp	{ text-align: left !important; padding-top: 2px; padding-bottom: 2px; }
.tbl_buchung_l		{ text-align: right !important; padding-top: 2px; padding-bottom: 2px; }
.tbl_buchung_r		{ text-align: left; padding-top: 2px; padding-bottom: 2px; }
.tbl_buchung_c		{ text-align: center; padding-top: 2px; padding-bottom: 2px; }
.tbl_buchung_bez 	{ float: right; margin-right: 16px; position: relative; top: 6px; } 
.tbl_buchung_bez2 	{ float: right; margin-right: 33px; position: relative; top: 6px; } 

.tbl_preview		{ margin: auto; width: 80%; }
.tbl_preview_head	{ text-align: left; font-weight: bold; padding-top: 1px; padding-bottom: 6px; }
.tbl_preview_lr		{ text-align: right !important; padding-top: 2px; padding-bottom: 2px; }
.tbl_preview_l		{ text-align: left !important; padding-top: 2px; padding-bottom: 2px; }
.tbl_preview_r		{ text-align: left; padding-top: 2px; padding-bottom: 2px; }

.tbl_news			{ margin-bottom: 40px; border-collapse: separate; border-spacing: 2px; }
.tbl_news_head   		{ font-weight: bold; padding-left: 0px; padding-top: 3px; padding-bottom: 15px; }
.tbl_news_title  	{ background-color: #3559a1; padding: 3px; font-weight: normal; font-size: 9pt; color: #ffffff; }
.tbl_news_normal 	{ background-color: #e0e0ef; padding: 3px; } 
.tbl_pointer:hover 	{ cursor:pointer; } 

.textarea_feld		{ background-color: #f0f0f0; border: 1px solid #999; color: #444; }
.input_feld			{ background-color: #f0f0f0; border: 1px solid #999; color: #444; height: 24px; font-size: 1.1rem; }

.textarea_round		{ background-color: #f0f0f0; border: 1px solid #999; border-radius: 6px; color: #444; height: 36px; padding: 0px 12px 0px 12px; }
.input_round		{ background-color: #f0f0f0; border: 1px solid #999; border-radius: 6px; color: #444; height: 36px; padding: 0px 12px 0px 12px; font-size: 1.1rem; }
.textarea_round		{ background-color: #f0f0f0; border: 1px solid #999; border-radius: 6px; color: #444; height: 36px; padding: 12px; font-size: 1.1rem; }

.border_red			{ border: 1px solid #bb0000; }
.border_magenta		{ border: 1px solid #c40050 !important; background: #fbedf3 !important; }

.grey	{ color: #555555; }
.magenta { color: #c40050; }
.noline { text-decoration: none; }

.b_grey { border: 1px solid #909090; } 
.br20 { border-round: 20px; } 

.hover_opacity { transition-duration: 0.4s; }
.hover_opacity:hover { opacity: 0.8; transition-duration: 0.4s; }
.white_imp { color: #f0f0f0 !important; } 
.grey_imp { color: #909090 !important; } 

.flex_dir_row_always	{ flex-direction: row !important; }

.ds_chb 	{ position: relative; top: 7px; margin-bottom: 20px; margin-right: 10px; float: left; } 

.mandatory { background-color: #fee !important; border: 1px solid #bb0000 !important; } 
.mandatory_text { color: #bb0000 !important; } 

a.cc-link, a.cc-link:link, a.cc-link:visited { color: #31a8f0 !important; }
a.cc-btn { margin-right: 60px; }




/* placeholder for select */ 

select:required:invalid 	{ color: #909090; font-style: italic; }
option[value=""][disabled]  { display: none; }
option 						{ color: #333; font-style: normal; }



/* listing definitions */

ul 
{
	list-style: disc outside;
	_padding-left: 14px;
	margin-bottom: 17px;
}

ol 
{
	list-style: decimal outside;
	padding-left: 27px;
	margin-bottom: 17px;
}




/* Hyperlink Settings for NORMAL links in texts */

a:link,
a:visited,
a:active
{
	color: #003399; 
	text-decoration: none;
}

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



/* Hyperlink Settings for links in header  */

a.link_header:link,
a.link_header:visited
{
	color: #FFFFFF;
	font-size: 15px; 
}

a.link_header:active,
a.link_header:hover
{
	color: #b99f55;
	font-size: 15px; 
}



/* Hyperlink Settings for links in footer  */

a.link_footer:link,
a.link_footer:visited
{
	color: #393939;
	font-size: 14px; 
	font-weight: normal;
	font-style: normal;
	text-decoration: none;
}

a.link_footer:active,
a.link_footer:hover
{
	color: #0090d4;
	font-size: 14px; 
	font-weight: normal;
	font-style: normal;
	text-decoration: none;
}



/* ---- orange button ---- */ 

A.orange_button, 
A.orange_button:link, 
A.orange_button:active, 
A.orange_button:visited 
{
	display: block;
	width: 100%; 
	padding-top: 9px; 
	padding-bottom: 9px; 
	background-color: #f39114;
	color: #ffffff;
	text-decoration: none;
	text-align: center;
	transition: 0.5s;
}

A.orange_button:hover 
{
	background-color: #f7b561;
}



/* ---- orange button ---- */ 

A.orange_button2, 
A.orange_button2:link, 
A.orange_button2:active, 
A.orange_button2:visited 
{
	padding-top: 9px; 
	padding-bottom: 9px; 
	padding-left: 27px; 
	padding-right: 27px; 
	background-color: #fcd404;
	color: #111111;
	text-decoration: none;
	_text-align: center;
	transition: 0.5s;
}

A.orange_button2:hover 
{
	background-color: #42afe3;
}



/* ---- white button ---- */ 

A.white_button, 
A.white_button:link, 
A.white_button:active, 
A.white_button:visited 
{
	display: inline-block; 
	padding-top: 9px; 
	padding-bottom: 9px; 
	padding-left: 27px; 
	padding-right: 27px; 
	background-color: #fff;
	font-size: 1.1em; 
	color: #3e3e3e;
	border: 1px solid #3e3e3e; 
	border-radius: 16px; 
	text-decoration: none;
	_text-align: center;
	transition: 0.5s;
	letter-spacing: 0px; 
}

A.white_button:hover 
{
	color: #f72145; 
	border-color: #f72145; 
}

A.wb_kontakt 
{ 
	position: relative; 
	top: 3px; 
	padding-top: 6px !important; 
	padding-bottom: 6px !important; 
	padding-left: 12px !important; 
	padding-right: 12px !important; 
}



/* ---- white button (tag BUTTON) ---- */ 

BUTTON.white_button, 
BUTTON.white_button:link, 
BUTTON.white_button:active, 
BUTTON.white_button:visited 
{
	display: inline-block; 
	padding-top: 9px; 
	padding-bottom: 9px; 
	padding-left: 27px; 
	padding-right: 27px; 
	background-color: #fff;
	font-size: 1.1em; 
	color: #3e3e3e;
	border: 1px solid #3e3e3e; 
	border-radius: 16px; 
	text-decoration: none;
	_text-align: center;
	transition: 0.5s;
	letter-spacing: 0px; 
}

BUTTON.white_button:hover 
{
	color: #f72145; 
	border-color: #f72145; 
}



/* ---- filter button ---- */ 

BUTTON.filter_button, 
BUTTON.filter_button:link, 
BUTTON.filter_button:active, 
BUTTON.filter_button:visited 
{
	display: inline-block; 
	padding-top: 3px; 
	padding-bottom: 3px; 
	padding-left: 18px; 
	padding-right: 18px; 
	background-color: #fff;
	font-size: 1.0em; 
	color: #3e3e3e;
	border: 1px solid #3e3e3e; 
	border-radius: 8px; 
	text-decoration: none;
	_text-align: center;
	transition: 0.5s;
	letter-spacing: 0px; 
}

BUTTON.filter_button:hover 
{
	color: #f72145; 
	border-color: #f72145; 
}




/* ---- box button ---- */ 

A.boxbutton, 
A.boxbutton:link, 
A.boxbutton:active, 
A.boxbutton:visited 
{
	padding-top: 9px; 
	padding-bottom: 9px; 
	padding-left: 27px; 
	padding-right: 27px; 
	background-color: #022b57;
	color: #fafafa;
	text-decoration: none;
	_text-align: center;
	_border-radius: 18px; 
	transition: 0.5s;
}

A.boxbutton:hover 
{
	background-color: #1f9dcf;
	_opacity: 0.6; 
}



/* ---- button with arrow inside (on left wing) ---- */ 

A.ar_but, 
A.ar_but:link, 
A.ar_but:active, 
A.ar_but:visited 
{
	display: block; 
	padding-top: 9px; 
	padding-bottom: 9px; 
	padding-left: 35px; 
	padding-right: 27px; 
	border: 1px solid #022b57;
	color: #022b57;
	text-decoration: none;
	background-image: url(/img/global/ar.png); 
	background-position: left; 
	background-repeat: no-repeat; 
	transition: 0.5s;
}

A.ar_but:hover 
{
	background-color: #022b57;
	border: 1px solid #022b57;
	color: #fff;
	text-decoration: none;
	background-image: url(/img/global/ar_h.png); 
	background-position: left; 
	background-repeat: no-repeat; 
	transition: 0.5s;
}



/* ---- download link ---- */ 

A.download_link, 
A.download_link:link, 
A.download_link:active, 
A.download_link:visited 
{
	display: flex; 
	color: #144f9a;
	padding-top: 11px; 
	padding-bottom: 11px; 
	padding-left: 43px; 
	_text-indent: 43px; 
	text-decoration: none;
	background-image: url(/img/global/icon_pdf.png);
	background-position: left; 
	background-repeat: no-repeat; 
	transition: 0.5s;
}

A.download_link:hover 
{
	color: #0090d4;
	text-decoration: none;
}



/* ---- box arrow left link ---- */ 

A.bal_link, 
A.bal_link:link, 
A.bal_link:active, 
A.bal_link:visited 
{
	display: flex; 
	color: #132c5a;
	padding-top: 13px; 
	padding-bottom: 13px; 
	text-indent: 75px; 
	text-decoration: none;
	background-image: url(/img/global/boxarrow_left.png);
	background-position: left; 
	background-repeat: no-repeat; 
	transition: 0.5s;
}

A.bal_link:hover 
{
	color: #1f9dcf;
	text-decoration: none;
	background-image: url(/img/global/boxarrow_left_h.png);
}



/* ---- box arrow right link ---- */ 

A.bar_link, 
A.bar_link:link, 
A.bar_link:active, 
A.bar_link:visited 
{
	display: flex; 
	color: #132c5a;
	padding-top: 13px; 
	padding-bottom: 13px; 
	padding-right: 75px; 
	justify-content: right;
	text-align: right; float: right; 
	text-decoration: none;
	background-image: url(/img/global/boxarrow_right.png);
	background-position: right; 
	background-repeat: no-repeat; 
	transition: 0.5s;
}

A.bar_link:hover 
{
	color: #1f9dcf;
	text-decoration: none;
	background-image: url(/img/global/boxarrow_right_h.png);
}

	
	
	/* table for cert-blocks */
	
	TABLE.cert-table 
	{
		width: 100%;
		border-collapse: collapse;	
		margin: 0px;
		padding: 0px;
	}
	
	TABLE.cert-table  TD.cert-head-cell
	{
		border: 1px solid #aaaaaa;
		text-align: center;
		padding-top: 4px; 
		padding-bottom: 4px; 
		overflow-x: hidden;
		font-weight: 400; 
		color: #ffffff; 
		background-color: #0072bc;
	}
	
	TABLE.cert-table  TD.cert-cell
	{
		min-height: 100px; 
		border: 1px solid #aaaaaa;
		text-align: center;
		padding-top: 4px; 
		padding-bottom: 4px; 
		overflow-x: hidden;
		vertical-align: middle;
	}
	
	TABLE.cert-table  TD.logo-cell	{ width: 23%; }
	TABLE.cert-table  TD.kunde-cell	{ width: 45%; }
	TABLE.cert-table  TD.status-cell	{ width: 18%; }
	TABLE.cert-table  TD.zerti-cell	{ width: 14%; }







/* ---- Wrapper and Page Container Definitions ---- */

div#wrapper
{
	margin: auto;  
	width: 100%;
}




/* ---- Responsive Youtube Embed ---- */ 

.video-block {
  position: relative; 
  padding-bottom: 56.25%; /* 16:9 */
  height: 0; 
  overflow: hidden; 
  width: 100%; height: auto; }

.video-block iframe {
  position: absolute; 
  top: 0; left: 0; 
  width: 100%; height: 100%; }




/* ---- remove border-sizing settings which have been set from slider scripts ---- */

* { box-sizing: content-box !important; }
*::after, *::before { box-sizing: content-box !important; }

