/* CSS Document */
:root {
  --color-white:#fff;
  --color-black:#000;
  --color-light:#f8f8f8;
  --color-text:#222;
  --color-link:#368;
  --color-border:#ccc;
  --color-reoss:#dbcd00;
  --color-reosslight:#fe2;
  --color-reossdark:#ba0;
  
  --color-hoverline:#dc0;
  --color-hoverback:#f8f8f8;
  --color-select:#dc0;
}

@font-face {
	font-family:'FiraSans';
	font-style:normal;
	font-weight:400;
	src:local('FiraSans'),
	url(../fonts/FiraSans-Light.ttf) format('truetype'),
	url(../fonts/FiraSans-Light.woff) format('woff');;
}

* { margin:0; padding:0; }
* { -webkit-box-sizing:border-box; -moz-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box; } /* Box Sizing */

html { min-height:100%; height:1px; }
body { min-height:100%; height:1px; font-family:'FiraSans'; font-size:10px; background-color:#f8f8f8; }

/* Absatz */
p { margin-bottom:.4em; }

/* clearfix */
.cf:before, .cf:after { content:""; display:table; }
.cf:after { clear:both; }
/* Für IE 6/7 (löst hasLayout aus) */
.cf { zoom:1; }

/* Tags mit dem Attribut onclick und data-url als Link anzeigen */
/* [onclick], [data-url] { cursor:pointer; } */

/* ------------------------------
Farben
------------------------------ */
/* Textfarbe (color) */
.p_c_white { color:#fff; }
.p_c_black { color:#000; }
.p_c_high { color:#dc0; }
.p_c_low { color:#a90; }
.p_c_light { color:#ccc; }
.p_c_grey { color:#999; }
.p_c_dark { color:#444; }
.p_c_attent { color:#c80; }
.p_c_okay { color:#bc8; }

/* Hintergrundfarbe (color & background-color) */
.p_cb_white { color:#222; background-color:#fff; }
.p_cb_black { color:#fff; background-color:#000; }
.p_cb_high { color:#860; background-color:#dc0; }
.p_cb_dark { color:#fff; background-color:#999; }
.p_cb_light { color:#000; background-color:#eee; }
.p_cb_pale { color:#666; background-color:#f8f8f8; }
.p_cb_disable { color:#aaa; background-color:#f8f8f8; }
.p_cb_info { color:#444; background-color:#eee; }
.p_cb_attent { color:#660; background-color:#eb8; }
.p_cb_okay { color:#060; background-color:#bc8; }


.p_cb_red { color:#660; background-color:#eb8; }
.p_cb_yellow { color:#860; background-color:#ee9; }
.p_cb_green { color:#060; background-color:#bc8; }


/* Hintergrundfarbe mit Hover-Effekt ( background-color hover) */
.p_bh_blank { color:#000; transition:all .5s ease-out; }
.p_bh_blank:hover { background-color:#eee; }
.p_bh_white { color:#666; background-color:#fff; transition:all .5s ease-out; }
.p_bh_white:hover { color:#000; background-color:#eee; }
.p_bh_black { color:#fff; background-color:#000; transition:all .5s ease-out; }
.p_bh_black:hover { background-color:#444; }
.p_bh_disable { color:#aaa; transition:all .5s ease-out; }
.p_bh_disable:hover { background-color:#f8f8f8; }
.p_bh_high { color:#fff; background-color:#823; transition:all .5s ease-out; }
.p_bh_high:hover { background-color:#a64; }
.p_bh_bright { color:#444; background-color:#f9f9f9; transition:all .5s ease-out; }
.p_bh_bright:hover { background-color:#eee; }
.p_bh_light { color:#444; background-color:#ddd; transition:all .5s ease-out; }
.p_bh_light:hover { background-color:#eee; }
.p_bh_dark { color:#fff; background-color:#999; transition:all .5s ease-out; }
.p_bh_dark:hover { background-color:#ccc; }
.p_bh_attent { background-color:#eb8; transition:all .5s ease-out; }
.p_bh_attent:hover { background-color:#fc9; }
.p_bh_info { background-color:#ddd; transition:all .5s ease-out; }
.p_bh_info:hover { background-color:#eee; }
.p_bh_okay { background-color:#bc8; transition:all .5s ease-out; }
.p_bh_okay:hover { background-color:#cd9; }

/* padding */
.p_pad_s { padding:.8em; }
.p_pad_m { padding:1em; }
.p_pad_l { padding:1.6em; }

/* text-align */
.p_tal { text-align:left; }
.p_tar { text-align:right; }
.p_tac { text-align:center; }
.p_taj { text-align:justify; }

/* vertical-align */
.p_vat { vertical-align:top; }
.p_vam { display: table-cell; height:50px; vertical-align:middle; }
.p_vab { vertical-align:bottom; }

/* float */
.p_fr { float:right; }
.p_fl { float:left; }
.p_cb { clear:both; }
.p_cl { clear:left; }
.p_cr { clear:right; }

/* font-size */
.p_fss { font-size:.8em; line-height:1.2em; }
.p_fsm { font-size:.9em; line-height:1.2em; }
.p_fsl { font-size:1.2em; }
.p_fsxl { font-size:1.4em; }
.p_fsxxl { font-size:2.4em; }

.p_fwb { font-weight:bold; }

/* display */
.p_db { display:block; }
.p_di { display:inline; }
.p_dib { display:inline-block; }
.p_dn { display:none!important; }

/* margin center */
.p_mc { margin:0 auto; }

/* overflow */
.p_ofa { overflow:auto; }
.p_ofh { overflow:hidden; }
.p_ofs { overflow:scroll; }
.p_ofxa { overflow-x:auto; }
.p_ofxh { overflow-x:hidden; }
.p_ofxs { overflow-x:scroll; }
.p_ofya { overflow-y:auto; }
.p_ofyh { overflow-y:hidden; }
.p_ofys { overflow-y:scroll; }

/* width */
.p_w0 { width:0%; }
.p_w2 { width:2%; }
.p_w4 { width:4%; }
.p_w5 { width:5%; }
.p_w6 { width:6%; }
.p_w8 { width:8%; }
.p_w10 { width:10%; }
.p_w12 { width:12%; }
.p_w14 { width:14%; }
.p_w15 { width:15%; }
.p_w16 { width:16%; }
.p_w18 { width:18%; }
.p_w20 { width:20%; }
.p_w22 { width:22%; }
.p_w24 { width:24%; }
.p_w25 { width:25%; }
.p_w26 { width:26%; }
.p_w28 { width:28%; }
.p_w30 { width:30%; }
.p_w32 { width:32%; }
.p_w34 { width:34%; }
.p_w35 { width:35%; }
.p_w36 { width:36%; }
.p_w38 { width:38%; }
.p_w40 { width:40%; }
.p_w42 { width:42%; }
.p_w44 { width:44%; }
.p_w45 { width:45%; }
.p_w46 { width:46%; }
.p_w48 { width:48%; }
.p_w50 { width:50%; }
.p_w55 { width:55%; }
.p_w60 { width:60%; }
.p_w65 { width:65%; }
.p_w70 { width:70%; }
.p_w75 { width:75%; }
.p_w80 { width:80%; }
.p_w85 { width:85%; }
.p_w90 { width:90%; }
.p_w95 { width:95%; }
.p_w100 { width:100%; }


/* Trennbereiche */
hr[class*="p_hr"] { height:1px; border:0; }
.p_hr_xs { margin:.4em 0; }
.p_hr_s { margin:.8em 0; }
.p_hr_m { margin:2em 0; }
.p_hr_l { margin:4em 0; }
.p_hr_xl { margin:8em 0; }

hr[class*="p_line"] { height:0; border:0; border-bottom:1px solid #ccc; }
.p_line_xs { margin:.4em 0; }
.p_line_s { margin:.8em 0; }
.p_line_m { margin:2em 0; }
.p_line_l { margin:4em 0; }


/* List */
/* nummerierte Aufzählung */
ol[class*="p_list"] { padding:.4em 2em; }
ol[class*="p_list"] li { padding:.2em 0; }
/* unsortierte Aufzählung */
ul[class*="p_list"] { padding:.4em 2em; }
ul[class*="p_list"] li { padding:.2em 0; }
/* Aufzählungszeichen */
ul.p_listblank { list-style:none; }
ul.p_listdisc { list-style:disc; }
ul.p_listcircle { list-style:circle; }
ul.p_listsquare { list-style:square; }
ul.p_listcheck { list-style-image:url(../img/list-check.png); }
ul.p_listnet { list-style-image:url(../img/list-net.png); }


/* Rahmen */
.p_border { border:1px solid #ccc; }
.p_radius { border-radius:.4em; }

/* Image */
img.p_img { display:block; width:100%; height:auto; }

/* Curor */
.p_cur_pointer { cursor:pointer; }
.p_cur_help { cursor:help; }


/* Links */
a.p_href { cursor:pointer; color:#823; text-decoration:underline; transition:all .5s ease-out; }
a.p_href_active, .p_href:hover { color:#fff; text-decoration:none; background-color:#823; }
a.p_href_blank { cursor:pointer; text-decoration:none; }


/* Einzelzeichen */
.p_char_rect { display:inline-block; width:1.4em; padding:.1em; aspect-ratio:1; text-align:center; font-size:1em; }
.p_char_circ { display:inline-block; width:1.4em; padding:.1em; aspect-ratio:1; text-align:center; font-size:1em; border-radius:50%; }

/* Grid */
.p_grid { display:grid; grid-template-columns:repeat(12, 1fr); }
.p_grid.p_gap { row-gap:1em; column-gap:1em; }
.p_grid.p_row_gap { row-gap:1em; }
.p_grid.p_col_gap { column-gap:1em; }

.p_grid .a1 { grid-column:span 1; }
.p_grid .a2 { grid-column:span 2; }
.p_grid .a3 { grid-column:span 3; }
.p_grid .a4 { grid-column:span 4; }
.p_grid .a5 { grid-column:span 5; }
.p_grid .a6 { grid-column:span 6; }
.p_grid .a7 { grid-column:span 7; }
.p_grid .a8 { grid-column:span 8; }
.p_grid .a9 { grid-column:span 9; }
.p_grid .a10 { grid-column:span 10; }
.p_grid .a11 { grid-column:span 11; }
.p_grid .a12 { grid-column:span 12; }


[class^="p_grid_autofit_"] { display:grid; gap:.8em; width:100%; }
/*.p_grid_autofit_s { grid-template-columns:auto auto auto auto auto auto; }*/
.p_grid_autofit_xs { grid-template-columns:repeat(auto-fit, minmax(4em, 1fr)); }
.p_grid_autofit_s { grid-template-columns:repeat(auto-fit, minmax(8em, 1fr)); }
.p_grid_autofit_m { grid-template-columns:repeat(auto-fit, minmax(12em, 1fr)); }
.p_grid_autofit_l { grid-template-columns:repeat(auto-fit, minmax(16em, 1fr)); }
.p_grid_autofit_xl { grid-template-columns:repeat(auto-fit, minmax(24em, 1fr)); }

[class^="p_grid_autofill_"] { display:grid; gap:.8em; width:100%; }
.p_grid_autofill_xs { grid-template-columns:repeat(auto-fill, minmax(4em, 1fr)); }
.p_grid_autofill_s { grid-template-columns:repeat(auto-fill, minmax(8em, 1fr)); }
.p_grid_autofill_m { grid-template-columns:repeat(auto-fill, minmax(12em, 1fr)); }
.p_grid_autofill_l { grid-template-columns:repeat(auto-fill, minmax(16em, 1fr)); }
.p_grid_autofill_xl { grid-template-columns:repeat(auto-fill, minmax(24em, 1fr)); }

/* Anzahl der grid-Spalten */
.p_grid_col1 { grid-template-columns:repeat(1, auto); }
.p_grid_col2 { grid-template-columns:repeat(2, auto); }
.p_grid_col3 { grid-template-columns:repeat(3, auto); }
.p_grid_col4 { grid-template-columns:repeat(4, auto); }
.p_grid_col5 { grid-template-columns:repeat(5, auto); }
.p_grid_col6 { grid-template-columns:repeat(6, auto); }
.p_grid_col7 { grid-template-columns:repeat(7, auto); }
.p_grid_col8 { grid-template-columns:repeat(8, auto); }
.p_grid_col9 { grid-template-columns:repeat(9, auto); }
.p_grid_col10 { grid-template-columns:repeat(10, auto); }




/* Seitenbereiche */
section.p_top_image { display:block; max-width:1400px; margin:5em auto 0 auto; background-color: #ddd; }
section.p_top_image figure { position:relative; display:block; width:100%; height:auto; overflow:hidden; }
section.p_top_image figure img { display:block; width:100%; height:auto; }
section.p_top_image figure div { position:absolute; display:block; top:16em; width:100%; color:#fff; text-align:center; text-shadow:2px 2px 1px #000; }

section.p_page_section { display:block; max-width:1400px; min-height:60%; margin:0 auto; background-color: #ddd; }

section.p_page_footer { display:block; max-width:1400px; margin:0 auto; background-color: #ccc; }
section.p_page_footer footer { display:block; background-color: #444; }
section.p_page_footer footer .p_grid { padding:2em; color:#fff; }
section.p_page_footer footer a { cursor:pointer; color:#fff; text-decoration:none; transition:all .5s ease-out; }
section.p_page_footer footer a:hover { text-decoration:underline; }


.p_page_header { position:fixed; top:0; left:0; width:100%; height:5em; z-index:20; }
.p_page_header .p_header { display:grid; width:100%; max-width:1400px; margin:0 auto; grid-template-areas:"menu logo praxis"; grid-template-columns:auto 8em 10em; grid-template-rows:5em; background-color:#823; }

.p_page_header .p_header .p_logo { position:relative; display:grid; grid-area:"logo"; }
.p_page_header .p_header .p_logo figure { position:absolute; left:1em; top:1em; width:6em; height:6em; }
.p_page_header .p_header .p_logo figure img { display:block; width:100%; height:100%; }

.p_page_header .p_header .p_menu { display:grid; grid-area:"menu"; align-items:center; justify-content:center; grid-template-columns:max-content max-content max-content max-content max-content; gap:.2em; }
.p_page_header .p_header .p_menu button { padding:.4em .4em; cursor:pointer; color:#fff; font-weight:bold; text-decoration:none; border:0; outline:none; -moz-appearance:none; -webkit-appearance:none; appearance:none; background-color:#823; transition:all .5s ease-out; }
.p_page_header .p_header .p_menu button:hover { background-color:#a56; }

.p_page_header .p_header .p_praxis { display:grid; grid-area:"praxis"; align-items:center; text-align:left; color:#fff; }
.p_page_header .p_header .p_praxis strong { font-size:1.2em; }

/*
.p_page_header .p_header > .p_logo { display:grid; grid-area:"logo"; place-items:center; margin-right:1px; border-bottom-left-radius:2.5em; }
.p_page_header .p_header > .p_logo img { display:grid; width:auto; height:2em; }
.p_page_header .p_header > .p_right { display:grid; grid-area:"right"; justify-items:end; gap:1px; }

.p_page_header .p_button { position:relative; display:grid; padding:0; aspect-ratio:1; place-items:center; cursor:pointer; text-decoration:none; border:0; outline:none; -moz-appearance:none; -webkit-appearance:none; appearance:none; }
.p_page_header .p_button .p_icon { text-align:center; }
.p_page_header .p_button .p_icon i { font-size:1.4em; }
*/


.p_article { grid-area:"article"; order:2; padding:3em 1em 2em 1em; width:100%; min-height:100%; line-height:1.6em; }

.p_article.p_s { width:100%; max-width:20em; margin:0 auto; }
.p_article.p_m { width:100%; max-width:40em; margin:0 auto; }
.p_article.p_l { width:100%; max-width:60em; margin:0 auto; }

.p_page_footer { color:#fff; background-color:#222; }

.p_division { display:block; margin-bottom:1.8em; padding:1em; border:1px solid transparent; border-top-left-radius:1em; transition:all .5s ease-out; background-color: #fff; }
.p_division:hover { border:1px solid #823; }

/* Hauptmenu */
.p_menu_overlay  { display:none; position:fixed; top:0px; left:0px; width:100%; height:100%; justify-content:center; z-index:10000; background-color:rgba(0, 0, 0, 0.5); }
.p_menu_overlay > .p_body_praxis { display:block; width:80%; max-width:40em; max-height:calc(90% - 8em); margin:8em auto 0 auto; padding:2em; overflow-y:auto; z-index:10001; background:#fff; }
.p_menu_overlay > .p_body_spektrum { display:block; width:80%; max-width:60em; max-height:calc(90% - 8em); margin:8em auto 0 auto; padding:2em; overflow-y:auto; z-index:10001; background:#fff; }


/* Seitenüberschrift */
[class^="p_textheader"] { display:grid; grid-template-columns:max-content auto max-content; align-items:center; width:100%; }
[class^="p_textheader"] .p_headline { display:block; width:100%; overflow:hidden; }
[class^="p_textheader"] .p_headline span { display:block; font-size:.7em; }
[class^="p_textheader"] > .p_icon { display:grid; height:100%; max-height:3em; margin-right:.4em; aspect-ratio:1; place-items:center; border:1px solid #eee; border-top-right-radius:50%; border-top-left-radius:50%; border-bottom-right-radius:10%; border-bottom-left-radius:50%; transition:all .5s ease-out; }
[class^="p_textheader"]:hover > .p_icon { background-color:#eee; }
[class^="p_textheader"] > .p_icon i { font-size:1.6em; }
[class^="p_textheader"] h1 { margin:0; padding:0; font-size:1.6em; }
[class^="p_textheader"] h2 { padding:0; font-size:1.4em; }
[class^="p_textheader"] h3 { padding:0; font-size:1.2em; }
[class^="p_textheader"] h4 { padding:0; font-size:1em; }
[class^="p_textheader"] h5 { padding:0; font-size:.9em; }
[class^="p_textheader"] h6 { padding:0; font-size:.8em; }

.p_textheader_site { height:auto; margin-bottom:1.6em; text-transform:uppercase; }
.p_textheader_chapter { margin-bottom:1.2em; text-transform:uppercase; }
.p_textheader_easy { min-height:3em; margin-bottom:.4em; }



/* Submenu */
/*
.p_submenu_line { display:grid; gap:1em; grid-template-columns:repeat(auto-fill, minmax(14em, 1fr)); justify-content:start; align-items:stretch; background:#fff; }
.p_submenu_line .p_submenu { display:grid; cursor:pointer; align-items:stretch; border:0; text-decoration:none; outline:none; -moz-appearance:none; -webkit-appearance:none; appearance:none; }
.p_submenu_line .p_submenu .p_image { display:block; width:100%; } 
.p_submenu_line .p_submenu .p_image img { display:block; width:100%; height:auto; } 
.p_submenu_line .p_submenu .p_caption { display:block; padding:1em .4em 0 .4em; text-align:center; font-size:1em; font-weight:bold; }
.p_submenu_line .p_submenu .p_subtext { display:block; padding:.4em; text-align:center; font-size:.85em; }
.p_submenu_line .p_submenu .p_body { display:block; padding:.4em; text-align:center; }
*/
/* Submenu */
.p_submenu_line { display:grid; gap:1em; grid-template-columns:repeat(auto-fill, minmax(10em, 1fr)); justify-content:start; align-items:stretch; background:#fff; }
.p_submenu_line .p_submenu { display:grid; padding:.8em; cursor:pointer; align-items:stretch; border:0; text-decoration:none; outline:none; -moz-appearance:none; -webkit-appearance:none; appearance:none; }
.p_submenu_line .p_submenu .p_image { display:block; width:60%; margin:0 auto; } 
.p_submenu_line .p_submenu .p_image img { display:block; width:100%; height:auto; } 
.p_submenu_line .p_submenu .p_caption { display:block; padding:1em .4em 0 .4em; text-align:center; font-size:1em; font-weight:bold; }
.p_submenu_line .p_submenu .p_subtext { display:block; padding:.4em; text-align:center; font-size:.85em; }
.p_submenu_line .p_submenu .p_body { display:block; padding:.4em; text-align:center; }


/* Vorschau */
.p_review_line { display:grid; gap:1em; justify-content:start; align-items:stretch; background:#fff; }
.p_review_line .p_prev { display:grid; padding:1em 2em; cursor:pointer; align-items:stretch; border:0; text-decoration:none; outline:none; -moz-appearance:none; -webkit-appearance:none; appearance:none; }
.p_review_line .p_prev .p_image { display:block; width:100%; } 
.p_review_line .p_prev .p_image img { display:block; width:100%; height:auto; }
.p_review_line .p_prev .p_caption { display:block; padding-top:.8em; text-align:center; font-size:1.2em; font-weight:bold; }
.p_review_line .p_prev .p_subtext { display:block; text-align:center; font-size:.85em; }
.p_review_line .p_prev .p_body { display:block; padding-top:.8em; text-align:center; }
.p_review_line.p_s { grid-template-columns:repeat(auto-fit, minmax(10em, 1fr));  }
.p_review_line.p_m { grid-template-columns:repeat(auto-fill, minmax(16em, 1fr));  }
.p_review_line.p_l { grid-template-columns:repeat(auto-fill, minmax(24em, 1fr));  }


/* Vorschau */
.p_image_line { display:grid; gap:1em; grid-template-columns:repeat(auto-fill, minmax(24em, 1fr)); justify-content:start; align-items:stretch; background:#fff; }
.p_image_line .p_image { display:grid; padding:1em; align-items:stretch; }
.p_image_line .p_image img { display:block; width:100%; height:auto; } 




.p_button_single { display:inline; padding:.8em 2em; cursor:pointer; text-align:center; border:0; text-decoration:none; outline:none; -moz-appearance:none; -webkit-appearance:none; appearance:none; }
.p_button_single.p_small { font-size:.8em; }
.p_button_single.p_large { font-size:1.2em; }



/* Positionen der Schaltflächen, Bereiche left, center und right */
.p_button_line { display:grid; gap:1em; align-items:stretch; background: #0db; }
.p_button_line.p_left { justify-content:start; }
.p_button_line.p_center { justify-content:center; }
.p_button_line.p_right { justify-content:end; }
.p_button_line .p_btn { display:grid; padding:.8em 2em; cursor:pointer; align-items:stretch; place-items:center; border:0; text-decoration:none; outline:none; -moz-appearance:none; -webkit-appearance:none; appearance:none; }
.p_button_line .p_btn.p_small { font-size:.8em; }
.p_button_line .p_btn.p_large { font-size:1.2em; }

/* weitere Bestandteile einer Schaltfläche */
.p_button_line .p_btn .p_icon { text-align:center; }
.p_button_line .p_btn .p_icon i { font-size:1.6em; }
.p_button_line .p_btn .p_image { display:block; width:100%; } 
.p_button_line .p_btn .p_image img { display:block; width:100%; height:auto; } 
.p_button_line .p_btn .p_caption { display:block; text-align:center; }
.p_button_line .p_btn .p_subtext { display:block; text-align:center; font-size:.85em; }
.p_button_line .p_btn .p_body { display:block; }




/* Statusanzeige (roter Punkt) */
.p_padge { position:absolute; bottom:.4em; left:.4em; }
.p_padge div { display:grid; place-items:center; width:1.4em; height:1.4em; aspect-ratio:1; border-radius:50%; }
.p_padge div.p_active { background-color:#c00; }
.p_padge div.p_null { background-color:#ba0; }
.p_padge div span { color:#fff; }




/* Linkliste */
.p_linklist { display:block; }
.p_linklist .p_item { display:grid; grid-template-areas:"icon caption"; grid-template-columns:max-content 1fr; grid-column-gap:.8em; align-items:center; width:100%; cursor:pointer; text-decoration:none; border-bottom:1px solid #ccc; }
.p_linklist div:nth-child(1) { display:grid; grid-area:"icon"; padding:.4em .8em; place-items:center; }
.p_linklist div:nth-child(1) i { font-size:1.4em; }
.p_linklist div:nth-child(2) { grid-area:"caption"; padding:.4em .8em; }
.p_linklist div:nth-child(2) > span { font-size:.8em; }
.p_linklist div:nth-child(2) > strong { display:block; font-size:1em; }



/* Formular */
.frm_input:not([type='checkbox']),
.frm_input:not([type='radio']),
.frm_select,
.frm_string,
[class^="frm_textarea"] { position:relative; display:block; min-height:3.2em; width:100%; padding:.8em 1em; font-size:1em; border:1px solid var(--color-border); outline:none; -moz-appearance:none; -webkit-appearance:none; appearance:none; /* Schatten in einigen Browsern */ }



/* erweiterbare Bereiche */
.p_expand { margin-bottom:1.2em 0; }
.p_expand  input[type='checkbox'] { display:none; }
.p_expand label.p_toggle { display:block; padding:1em; cursor:pointer; color:#999; font-weight:bold; transition:all 0.25s ease-out; }
.p_expand label.p_toggle:hover { color:#000; }
.p_expand label.p_toggle::before { display:inline-block; margin-right:.7em; vertical-align:middle; content:' '; border-top:5px solid transparent; border-bottom:5px solid transparent; border-left:5px solid currentColor; transform:translateY(-2px); transition:transform .2s ease-out; }
.p_expand input.p_toggle:checked + label.p_toggle::before { transform:rotate(90deg) translateX(-3px); }
.p_expand .p_content { max-height:0; overflow:hidden; transition:max-height .25s ease-in-out; }
.p_expand input.p_toggle:checked + label.p_toggle + .p_content { max-height:180em; }
.p_expand input.p_toggle:checked + label.p_toggle { border-bottom-right-radius:0; border-bottom-left-radius:0; }
.p_expand .p_content .p_body { padding:1em 0; }




[class^="p_btn_subline"] img { display:block; width:auto; height:2em; }



/* Galerie */
.p_gallery { display:grid; gap:.4em; grid-auto-rows:minmax(4em, 10em); grid-template-columns:repeat(auto-fill, minmax(10em, 1fr)); grid-auto-flow:dense; }
.p_gallery figure { position:relative; margin:0; border:thin solid #ccc; }
.p_gallery figure.p_landscape { grid-column-end:span 2; }
.p_gallery figure.p_panorama { grid-column-end:span 3; }
.p_gallery figure img { display:block; width:100%; height:100%; object-fit:cover; }
.p_gallery .p_text { position:relative; margin:0; padding:1em; border:thin solid #ccc; }
.p_gallery .p_text.p_s { grid-column-end:span 1; }
.p_gallery .p_text.p_m { grid-column-end:span 2; }
.p_gallery .p_text.p_l { grid-column-end:span 3; }
.p_gallery .p_text.p_xl { grid-column-end:span 4; }




/* Boxen */
.p_box_message { display:grid; grid-template-columns:3fr max-content; width:100%; }
.p_box_message .p_body { display:block; }
.p_box_message .p_content { padding:1em; }
.p_box_message .p_icon_large { display:grid; padding:1em 2em; width:100%; place-items:center; background-color:rgba(0,0,0,.1); }
.p_box_message .p_icon_large i { font-size:3em; }









/* Tooltip */
/*
<div class="p_tooltip_right"><i class="ico_file_pdf"></i><span class="p_text">PDF erstellen</span></div>
*/
[class^="p_tooltip"] { position:relative; }

[class^="p_tooltip"] .p_text { position:absolute; width:160px; padding:.8em; z-index:1; visibility:hidden; opacity:0; color:#fff; text-align:center; font-size:.8em; background-color:#444; border-radius:6px; transition:opacity .5s; }
.p_tooltip_top .p_text { left:50%; margin-left:-80px; bottom:calc(100% + 10px); }
.p_tooltip_bottom .p_text { top:calc(100% + 10px); left:50%; margin-left:-80px; }
.p_tooltip_right .p_text { top:-5px; left:calc(100% + 10px); }
.p_tooltip_left .p_text { top:-5px; right:calc(100% + 10px); }

[class^="p_tooltip"]:hover .p_text { visibility:visible; opacity:1; }

[class^="p_tooltip"] .p_text::after { position:absolute; content:" "; border-width:5px; border-style:solid; }
.p_tooltip_top .p_text::after { top:100%; left:50%; margin-left:-5px; border-color:black transparent transparent transparent; }
.p_tooltip_bottom .p_text::after { bottom:100%; left:50%; margin-left:-5px; border-color:transparent transparent black transparent; }
.p_tooltip_right .p_text::after { top:50%; right:100%; margin-top:-5px; border-color:transparent black transparent transparent; }
.p_tooltip_left .p_text::after { top:50%; left:100%; margin-top:-5px; border-color:transparent transparent transparent black; }




/* Tabelle Übersicht */
table.p_tab { min-width:100%; border-collapse:separate; border-spacing:0; background-color:#fff; }
table.p_tab tr { border-bottom:1px solid #ccc; }
table.p_tab tr:first-child { }

/* Tabelle Header */
table.p_tab thead tr > * { color:#000; text-align:center; font-weight:bold; background-color:#fff; }
table.p_tab thead tr { border-bottom:none; }
table.p_tab thead tr:last-child > * { border-bottom:2px solid #dbcd00; }

/* Sticky */
table.p_tab thead tr.p_sticky:first-child { position:sticky; top:5em; z-index:2; } /* 1. Zeile */
table.p_tab thead tr.p_sticky:nth-child(2) { position:sticky; top:7em; z-index:2; } /* ggf. 2. Zeile */
table.p_tab thead tr:first-child > *.p_sticky { position:sticky; left:0em; z-index:3; } /* 1. Spalte in 1. Zeile */
table.p_tab thead tr:nth-child(2) > *.p_sticky { position:sticky; left:0em; z-index:3; } /* 1. Spalte in ggf. 2. Zeile */


/* Tabelle Body */
table.p_tab tbody tr { transition:all .35s ease-out; }
table.p_tab tbody tr:hover { background-color:#ddd!important; }
table.p_tab tbody tr td { border-bottom:1px solid #ccc;}

/* Sticky */
table.p_tab tbody tr > *.p_sticky { position:sticky; left:0em; z-index:1; background-color:#eee; }

/* Tabelle Footer */
table.p_tab tfoot { font-weight:bold; }
table.p_tab tfoot tr { border-top:2px solid #dbcd00!important; }
table.p_tab tfoot.p_sticky tr > *:first-child { position:sticky; left:0em; z-index:1; }


table.p_tab tr th,
table.p_tab tr td { vertical-align:top; border-left:1px solid #ccc; }
table.p_tab tr th:first-child,
table.p_tab tr td:first-child { border-left:none; }

table.p_tab tr[onclick], table.p_tab tr td[onclick] { cursor:pointer; transition:all .5s ease-out; }
table.p_tab tr[onclick]:hover, table.p_tab tr td[onclick]:hover { background-color:#999; }
table.p_tab tr[onclick]:hover td:first-child { background-color:#ddd; }


/* Tabellengröße s, m, l */
table.p_tab.p_s { font-size:.85em; }
table.p_tab.p_s tr th { padding:.4em; }
table.p_tab.p_s tr td { padding:.2em .4em; }
table.p_tab.p_m tr th { padding:.4em .6em; }
table.p_tab.p_m tr td { padding:.8em .6em; }
table.p_tab.p_l { font-size:1.1em; }
table.p_tab.p_l tr th { padding:1.2em 1em; }
table.p_tab.p_l tr td { padding:1em; }

/* Zebra */
table.p_tab.p_zebra tbody tr:nth-child(even) { background-color:#f8f8f8; }

table.p_tab a.p_link_sort { display:block; height:100%; color:#870; text-decoration:none; }
table.p_tab a.p_link_sort i { white-space:nowrap; }

table.p_tab .p_col_separator { border-right:2px solid #870; }
table.p_tab .p_caption { font-weight:bold; background-color:#eee; }



/* Rechnungstabelle */
table.p_tab_invoice tr.p_subpos { border-top:none; }
table.p_tab_invoice tr.p_subpos_title td { border-left:none; }
table.p_tab_invoice td.p_btn_del { vertical-align:middle; text-align:center; color:#c44; border-right:2px solid #ccc; transition:all .35s; }
table.p_tab_invoice td.p_btn_del:hover { border-right:2px solid #c44; }
table.p_tab_invoice td .p_prd_no { display:block; font-size:.8em; }



/*
table.p_tab_invoice { margin:0; width:100%; border-spacing:0; empty-cells:show; border-collapse:collapse; background-color:#fff; }
table.p_tab_invoice tr.p_headline { border-bottom:2px solid #dbcd00 }
table.p_tab_invoice tr.p_headline th { padding:1em 1em; overflow:hidden; line-height:1em; color:#000; font-size:.9em; font-weight:bold; vertical-align:bottom; white-space:nowrap; }
table.p_tab_invoice tr.p_pos { border-bottom:1px solid #eee; }
table.p_tab_invoice tr.p_pos td { padding:1.2em 1em; overflow:hidden; line-height:1.2em; vertical-align:top; }
table.p_tab_invoice tr.p_group td { padding:1.2em 1em; overflow:hidden; line-height:1.2em; vertical-align:top; }
table.p_tab_invoice tr.p_subpos { }
table.p_tab_invoice tr.p_subpos td { padding:.4em 1em; overflow:hidden; line-height:1em; vertical-align:top; }
table.p_tab_invoice tr.p_resume { background-color:#eee; }
table.p_tab_invoice tr.p_resume td { padding:.4em 1em; overflow:hidden; line-height:1.2em; vertical-align:top; }
table.p_tab_invoice td h3 { font-size:1em; letter-spacing:.09em; }
table.p_tab_invoice td h4 { font-size:.9em; letter-spacing:.09em; }
table.p_tab_invoice td .p_prd_no { display:block; font-size:.8em; }
table.p_tab_invoice td .p_prd_short { display:block; font-size:.9em; }
table.p_tab_invoice td.p_del { color:#c44; border-left:2px solid transparent; transition:all .35s; }
table.p_tab_invoice td.p_del:hover { border-left:2px solid #c44; }
*/


/* Kostenübersicht */
.p_td_euro { text-align:right; }
.p_td_small { font-size:.8em; }
.p_td_tax { font-size:.8em; }
.p_td_sum1 { padding-top:2em; }
.p_td_sum2 { font-weight:bold; }
.p_td_balance { font-weight:bold; padding-top:2em; }








/* Tabelle */
.p_table_container { width:100%; }
.p_table { width:100%; border-spacing:.4em; background-color:#fff;}
.p_table tr > * { border-right:1px solid #ccc; }
.p_table tr > *:last-child { border-right:none; }
.p_table tr th { background-color:#eee; }

.p_table.p_line tr { border-bottom:1px solid #ccc; }
.p_table.p_zebra tbody tr:nth-child(even) { background-color:#f8f8f8; }

.p_table thead { }
.p_table thead tr { font-weight:bold; background-color:#eee; }
.p_table thead tr > * { padding:.4em .4em; }
.p_table thead.p_sticky tr > * { position:sticky; top:8em; z-index:2; }
.p_table thead.p_sticky tr > *:first-child { position:sticky; top:8em; left:0; z-index:3; }

.p_table tbody tr > * { padding:.2em .4em; }
.p_table tbody.p_sticky tr > *:first-child { position:sticky; left:0em; z-index:1; }

.p_table tfoot tr { font-weight:bold; background-color:#eee; }
.p_table tfoot tr > * { padding:.4em .4em; }
.p_table tfoot.p_sticky tr > *:first-child { position:sticky; left:0em; z-index:1; }

.p_table tr.p_select { background-color: #3c0; }
.p_table td.p_select { background-color: #3fc; }








/* Overlay center */
.p_win_easy_center { display:grid; position:fixed; place-items:center; z-index:10000; background-color:rgba(0,0,0,.3); background-image: url(../img/back/bg-overlay.png); -webkit-animation-name:fadeIn; -webkit-animation-duration:0.4s; animation-name:fadeIn; animation-duration:0.4s; }
.p_win_easy_center .p_container { display:grid; position:fixed; top:50%; left:50%; overflow:hidden; transform:translate(-50%,-50%); background:#fff; }
.p_win_easy_center .p_container.p_small { min-width:10em; width:80%; max-width:30em; height:16em; }
.p_win_easy_center .p_container.p_medium { width:90%; max-width:60em; height:auto; }
.p_win_easy_center .p_container.p_large { min-width:20em; width:90%; max-width:90em; height:64em }
.p_win_easy_center .p_container.p_center { place-items:center; }

.p_win_easy_center .p_container .p_body { padding:2em; }

.p_win_easy_center .p_container form { display:inline; }


.p_win_easy_center.p_hide { top:0px; left:0px; width:0px; height:0px; display:none; }
.p_win_easy_center.p_show { top:0px; left:0px; width:100%; height:100%; display:grid; }









/* Overlay center */
.p_win { display:grid; position:fixed; top:0px; left:0px; width:100%; height:100%; place-items:center; z-index:10000; background-color:rgba(0,0,0,.3); background-image: url(../img/back/bg-overlay.png); -webkit-animation-name:fadeIn; -webkit-animation-duration:0.4s; animation-name:fadeIn; animation-duration:0.4s; }
.p_win .p_container { display:grid; position:relative; width:90%; max-width:60em; max-height:90%; overflow-y:auto; background-color:#fff; }

.p_win .p_container .p_closer { display:grid; position:absolute; place-items:center; right:.4em; top:.4em; width:2em; height:2em; cursor:pointer; border:1px solid #ccc; background-color:#fff; }
.p_win .p_container .p_body { display:grid; position:relative; padding:2em; }

/*
.p_win .p_container .p_body_add { display:grid; grid-template-rows:3em auto 3em; height:100%; }

.p_win .p_container .p_header { display:grid; grid-template-columns:max-content auto max-content; align-items:stretch; width:100%; height:3em; color:#666; border-bottom:1px solid #eee; background-color:#fff; }
.p_win .p_container .p_header > .p_icon { display:grid; width:3em; padding:.4em; place-items:center; color:#666; border-right:1px solid #eee; }
.p_win .p_container .p_header > .p_icon i { font-size:1.4em; }

.p_win .p_container .p_header .p_headline { display:grid; padding:0 .4em; align-items:center; overflow:hidden; }
.p_win .p_container .p_header .p_headline span { display:block; font-size:.7em; }
.p_win .p_container .p_header a, .p_win .p_container .p_header span { text-decoration:none; }
.p_win .p_container .p_content { position:relative; padding:1.4em 1em; height:0; min-height:100%; overflow-y:auto; background-color:#fff; }
.p_win .p_container .p_footer { position:absolute; display:grid; grid-template-columns:1fr; align-items:center; bottom:0; width:100%; height:3em; border-top:1px solid #eee; background-color:#fff; }
*/
.p_win .p_container form { display:inline; }

.p_win .p_container.p_small { min-width:10em; width:80%; max-width:30em; height:16em; }
.p_win .p_container.p_medium { min-width:20em; width:90%; max-width:60em; max-height:90%; }
.p_win .p_container.p_large { min-width:20em; width:90%; max-width:90em; height:64em }





/* Overlay right */
.d_win_right { position:fixed; top:0px; left:0px; width:100%; height:100%; z-index:10000; background-color:rgba(0,0,0,.3); background-image: url(../img/back/bg-overlay.png); -webkit-animation-name:fadeIn; -webkit-animation-duration:0.4s; animation-name:fadeIn; animation-duration:0.4s; }
.d_win_right .p_container { display:block; position:absolute; top:0; right:0em; bottom:0; width:30em; z-index:9999; overflow:hidden; background:#fff; -webkit-animation-name:p_win_right_move; -webkit-animation-duration:0.4s; animation-name:p_win_right_move; animation-duration:0.4s; }

.d_win_right .p_container .p_body { display:grid; grid-template-rows:3em auto; height:100%; }
.d_win_right .p_container .p_body_add { display:grid; grid-template-rows:3em auto 3em; height:100%; }

.d_win_right .p_container .p_header { display:grid; grid-template-columns:max-content auto max-content; align-items:stretch; width:100%; height:3em; color:#666; border-bottom:1px solid #eee; background-color:#fff; }
.d_win_right .p_container .p_header > .p_icon { display:grid; width:3em; padding:.4em; place-items:center; color:#666; border-right:1px solid #eee; }
.d_win_right .p_container .p_header > .p_icon i { font-size:1.4em; }

.d_win_right .p_container .p_header .p_headline { display:grid; padding:0 .4em; align-items:center; overflow:hidden; }
.d_win_right .p_container .p_header .p_headline span { display:block; font-size:.7em; }
.d_win_right .p_container .p_header a, .p_win .p_container .p_header span { text-decoration:none; }
.d_win_right .p_container .p_content { position:relative; padding:1.4em 1em; height:0; min-height:100%; overflow-y:auto; }
.d_win_right .p_container .p_footer { position:absolute; display:grid; grid-template-columns:1fr; align-items:center; bottom:0; width:100%; height:3em; border-top:1px solid #eee; background-color:#fff; }
.d_win_right .p_container form { display:inline; }

/* Die Bewegung definieren */
@keyframes p_win_right_move {
  0% { right:-40%; }
  100% { right: 0%; }
}






/* Defektregion */
[class^="p_dentalscheme"] { display:grid; gap:1px; }
.p_dentalscheme_top { padding-top:2em; height:10em; padding-left:1.0545%; grid-template-columns:7.1178% 7.1178% 7.9086% 5.7118% 5.7996% 5.0967% 4.6573% 5.5360% 5.5360% 4.6573% 5.0967% 5.7996% 5.7118% 7.9086% 7.1178% 7.1178%; }
.p_dentalscheme_bot { padding-bottom:2em; height:10em; padding-left:2.7241%; grid-template-columns:6.5026% 7.6450% 8.6995% 5.6239% 5.3603% 5.1845% 4.4815% 3.7786% 3.7786% 4.4815% 5.1845% 5.3603% 5.6239% 8.6995% 7.6450% 6.5026%; }
[class^="p_dentalscheme"] div { position:relative; display:grid; justify-items:center; cursor:pointer; }




[class^="p_dentalscheme"] label.p_tooth { position:absolute; left:0; display:block; width:100%; height:auto; z-index:1; }
.p_dentalscheme_top label.p_tooth {top:0; }
.p_dentalscheme_bot label.p_tooth { bottom:0; }
[class^="p_dentalscheme"] label.p_tooth input[type="checkbox"] { display:none; }
[class^="p_dentalscheme"] label.p_tooth img { width:100%; height:auto; opacity:1; transition:all .35s; }
[class^="p_dentalscheme"] label.p_tooth input[type="checkbox"]:checked ~ img { opacity:.3; }

[class^="p_dentalscheme"] label.p_impl { position:absolute; left:0; display:block; width:100%; height:auto; z-index:2; }
.p_dentalscheme_top label.p_impl {top:0; }
.p_dentalscheme_bot label.p_impl { bottom:0; }
[class^="p_dentalscheme"] label.p_impl input[type="checkbox"] { display:none; }
[class^="p_dentalscheme"] label.p_impl img { width:100%; height:auto; opacity:0; transition:all .35s; }
[class^="p_dentalscheme"] label.p_impl input[type="checkbox"]:checked ~ img { opacity:.8; }

[class^="p_dentalscheme"] label.p_remove { position:absolute; width:100%; display:block; z-index:3; }
.p_dentalscheme_top label.p_remove { top:-.4em; }
.p_dentalscheme_bot label.p_remove { bottom:-.2em; }
[class^="p_dentalscheme"] label.p_remove input[type="checkbox"] { display:none; }
[class^="p_dentalscheme"] label.p_remove em { display:block; margin:0 auto; width:.6em; aspect-ratio:1; border-radius:50%; opacity:0; background-color:#f00; transition:all .35s; }
[class^="p_dentalscheme"] label.p_remove input[type="checkbox"]:checked ~ em { opacity:1; }

/* dient zur Abdeckung der Checkboxen von tooth, impl und remove */
[class^="p_dentalscheme"] label.p_blank { position:absolute; left:0; display:block; width:100%; height:100%; z-index:0; background-color:rgba(255, 255, 255, 0.0); z-index:4; }
.p_dentalscheme_top label.p_blank { top:0; }
.p_dentalscheme_bot label.p_blank { bottom:0; }

/*
[class^="p_dentalscheme"] img.p_impl { display:block; position:absolute; top:0; left:0; width:100%; height:auto; z-index:10; opacity:0; }
*/
[class^="p_dentalscheme"] span { position:absolute; display:grid; place-items:center; left:0; margin:0 auto; width:100%; padding:.4em 0; z-index:0; color:#fff; text-align:center; font-size:.9em; background-color:#444; }
.p_dentalscheme_top span { top:-2em; }
.p_dentalscheme_bot span { bottom:-2em; }

/*
[class^="p_dentalscheme"] img.p_tooth.p_active_t { opacity:.2; }
[class^="p_dentalscheme"] img.p_impl.p_active_i { opacity:.8; }
[class^="p_dentalscheme"] em.p_remove.p_active_r { opacity:.8; }
*/
[class^="p_dentalscheme"] .p_active_m { color:#444; background-color:#0db; }
[class^="p_dentalscheme"] .p_active_b { color:#fff; background-color:#064; }
[class^="p_dentalscheme"] .p_active_s { color:#fff; background-color:#860; }



.frm_checkradio .frm_option input[type="radio"]:checked ~ .ico_radio_on { display:inline-block; }



.p_small_dentalscheme { position:relative; display:block; width:100%; }
.p_small_dentalscheme > p { display:grid; gap:.2em; grid-template-columns:repeat(16, 1fr); }
.p_small_dentalscheme .p_label { min-width:1.2em; position:relative; display:grid; place-items:center; height:1.6em; font-size:.8em; color:#666; border:1px solid #ccc; background-color:#eee; }
.p_small_dentalscheme .p_active_m { color:#444; border:1px solid #222; background-color:#0db; }
.p_small_dentalscheme .p_active_b { color:#fff; border:1px solid #222; background-color:#064; }
.p_small_dentalscheme .p_active_s { color:#fff; border:1px solid #222; background-color:#860; }
.p_small_dentalscheme em { display:inline; position:absolute; right:0; top:0; width:.4em; height:.4em; background-color:#f00; }
.p_small_dentalscheme > p { padding:.1em 0; }
.p_small_dentalscheme .p_legend { display:block; padding-top:.4em; font-size:.8em; }
.p_small_dentalscheme .p_legend div { display:grid; gap:.4em; grid-template-columns:max-content auto; padding:.2em 0 }

/*
.p_dentalscheme_small { position:relative; display:block; width:100%; }
.p_dentalscheme_small p { display:flex; flex-direction:row; flex-wrap:wrap; justify-content:flex-start; }
.p_dentalscheme_small .p_label { position:relative; display:flex; width:1.4em; height:1.4em; margin-right:.1em; justify-content:center; align-items:center; font-size:.8em; color:#666; border:1px solid #ccc; background-color:#eee; }
.p_dentalscheme_small .p_active_m { color:#444; border:1px solid #222; background-color:#0db; }
.p_dentalscheme_small .p_active_b { color:#fff; border:1px solid #222; background-color:#064; }
.p_dentalscheme_small .p_active_s { color:#fff; border:1px solid #222; background-color:#860; }
.p_dentalscheme_small em { display:inline; position:absolute; right:0; top:0; width:.4em; height:.4em; background-color:#f00; }
.p_dentalscheme_small p { padding:.1em 0; }
.p_dentalscheme_small .p_legend { padding-top:.4em; font-size:.8em; }
*/

/* Produkt-Gruppe */
.p_product_group { position:relative; display:grid; grid-template-columns:repeat(auto-fill, minmax(20em, 1fr)); gap:1em; justify-content:center; width:100%; height:100%; text-decoration:none; }
.p_product_group a { padding:1em; cursor:pointer; color:#000; text-decoration:none; border:1px solid #ccc; transition:all .5s ease-out; } 
.p_product_group a:hover { background-color:var(--color-reosslight); } 
.p_product_group a .p_image { display:block; width:100%; } 
.p_product_group a .p_image img { display:block; width:100%; height:auto; } 
.p_product_group a h4 { display:block; text-align:center; font-size:1em; font-weight:bold; } 
.p_product_group .p_descript { display:block; text-align:center; font-size:.85em; }

/* Produkt-Vorschau */
.p_product_preview { position:relative; display:grid; grid-template-columns:repeat(auto-fill, minmax(16em, 1fr)); gap:1em; justify-content:center; width:100%; height:100%; text-decoration:none; }
.p_product_preview a { padding:1em; cursor:pointer; color:#000; text-decoration:none; border:1px solid #ccc; transition:all .5s ease-out; } 
.p_product_preview a:hover { background-color:var(--color-reosslight); } 
.p_product_preview a .p_image { display:block; width:100%; } 
.p_product_preview a .p_image img { display:block; width:100%; height:auto; } 
.p_product_preview a h4 { display:block; text-align:center; font-size:1em; font-weight:bold; } 
.p_product_preview .p_descript { display:block; padding:.4em 1em; text-align:center; font-size:.85em; }
.p_product_preview .p_price { display:block; padding:.4em 1em; text-align:center; font-size:1.2em; }

/* Produkt */
.p_product {  }
.p_product .p_image { display:grid; grid-template-columns:20% auto; gap:1em; }
.p_product .p_image .p_preview {  }
.p_product .p_image .p_preview img { display:block; margin:.4em 0; width:100%; height:auto; border:1px solid #ccc; }
.p_product .p_image .p_display {  }
.p_product .p_image .p_display img { display:block; width:100%; height:auto; }


/* Produkt-Kurzansicht */
.p_product_short { position:relative; display:grid; grid-template-columns:repeat(auto-fill, minmax(16em, 1fr)); gap:1em; justify-content:center; width:100%; height:100%; text-decoration:none; }
.p_product_short .p_body { position:relative; padding:1em 1em 4em 1em; cursor:pointer; color:#000; text-decoration:none; border:1px solid #ccc; transition:all .5s ease-out; } 
.p_product_short .p_body .p_image { display:block; width:100%; } 
.p_product_short .p_body .p_image img { display:block; width:100%; height:auto; } 
.p_product_short .p_body h4 { display:block; text-align:center; font-size:1em; font-weight:bold; } 
.p_product_short .p_body .p_descript { display:block; padding:.4em 1em; text-align:center; font-size:.85em; }
.p_product_short .p_body .p_price { display:block; padding:.4em 1em; text-align:center; font-size:1.2em; }
.p_product_short .p_body .p_bottom { position:absolute; left:0; right:0; bottom:0; height:3em; text-align: center; }
.p_product_short .p_body .p_bottom .p_product_to_cart { margin:0 auto; }




/*
.p_product .p_image { display:block; width:100%; max-width:30em; margin:0 auto; border:1px solid #ccc } 
.p_product .p_image img { display:block; width:100%; height:auto; }
*/
.p_product h4 { display:block; font-size:1em; font-weight:bold; } 
.p_product .p_descript { display:block; text-align:center; font-size:.85em; }

/* in den Warenkorb */
.p_product_to_cart { display:grid; grid-template-columns:repeat(3, max-content); gap:1em; width:12em; }
.p_product_to_cart .p_plus_minus { display:grid; height:3em; aspect-ratio:1; place-items:center; cursor:pointer; text-decoration:none; border:1px solid #ccc; }
.p_product_to_cart .p_count { width:4em; height:3em; padding:.2em; text-align:center; border:1px solid #ccc; outline:none; -moz-appearance:none; -webkit-appearance:none; appearance:none; }
.p_product_to_cart .p_price { display:block; padding:.4em 1em; text-align:right; }
.p_product_to_cart .p_price span { font-size:2em; }




/* Breadcrumbs */
.p_breadcrumbs { display:grid; grid-template-columns:max-content auto; }
.p_breadcrumbs div:first-child { display:inline-block; padding:.8em 2em; color:#fff; background-color:#444; }
.p_breadcrumbs div:last-child { border:1px solid #ccc; border-left:none; background-color:#fff; }
.p_breadcrumbs div:last-child a { display:inline-block; padding:.8em 2em; color:#000; text-decoration:none; transition:all .5s ease-out; }
.p_breadcrumbs div:last-child a:hover { background-color:var(--color-reosslight); }



/* Fußnote */
.p_footnote{ position:relative; display:inline-block; width:1em; }
.p_footnote::after { position:absolute; left:4px; top:-1em; width:8px; height:8px; content:''; border-radius:4px; background-color:var(--color-reoss); clear:both; }



@keyframes fadeIn {
	from { opacity:0; }
	to { opacity:1; }
}

/* blinkendes Element */
.p_flash {
	animation-name:animation_flash;
	animation-timing-function: ease-in;
	animation-duration:1s;
	animation-iteration-count:8;
}

@keyframes animation_flash {
	0% { opacity:1; }
	50% { opacity:0.1; }
	100% { opacity:1; }    
}


/* Drehung 360 Grad */
.p_spinner { -moz-animation:spin 2s infinite linear; -o-animation:spin 2s infinite linear; -webkit-animation:spin 2s infinite linear; animation:spin 2s infinite linear; display:inline-block; }
@keyframes spin {
0% { -moz-transform:rotate(0deg); -o-transform:rotate(0deg); -webkit-transform:rotate(0deg); transform:rotate(0deg); }
100% { -moz-transform:rotate(359deg); -o-transform:rotate(359deg); -webkit-transform:rotate(359deg); transform:rotate(359deg); }
}



@media screen and (min-width:480px) {

	body { font-size:12px; }

	/* Grid 12-Column */
	.p_grid .b1 { grid-column:span 1; }
	.p_grid .b2 { grid-column:span 2; }
	.p_grid .b3 { grid-column:span 3; }
	.p_grid .b4 { grid-column:span 4; }
	.p_grid .b5 { grid-column:span 5; }
	.p_grid .b6 { grid-column:span 6; }
	.p_grid .b7 { grid-column:span 7; }
	.p_grid .b8 { grid-column:span 8; }
	.p_grid .b9 { grid-column:span 9; }
	.p_grid .b10 { grid-column:span 10; }
	.p_grid .b11 { grid-column:span 11; }
	.p_grid .b12 { grid-column:span 12; }
		
	/* Anzeige in verschiedenen Media Queries */
	.p_mq_show1 { display:inherit!important; }

	.p_page_header .p_header .p_menu { gap:.4em; }
	.p_page_header .p_header .p_menu button { padding:.6em .6em; }
}




@media screen and (min-width:640px) {

	/* Grid 12-Column */
	.p_grid .c1 { grid-column:span 1; }
	.p_grid .c2 { grid-column:span 2; }
	.p_grid .c3 { grid-column:span 3; }
	.p_grid .c4 { grid-column:span 4; }
	.p_grid .c5 { grid-column:span 5; }
	.p_grid .c6 { grid-column:span 6; }
	.p_grid .c7 { grid-column:span 7; }
	.p_grid .c8 { grid-column:span 8; }
	.p_grid .c9 { grid-column:span 9; }
	.p_grid .c10 { grid-column:span 10; }
	.p_grid .c11 { grid-column:span 11; }
	.p_grid .c12 { grid-column:span 12; }
	
	/* Anzeige in verschiedenen Media Queries */
	.p_mq_show2 { display:inline!important; }

}



@media screen and (min-width:800px) {

	body { font-size:14px; }

	/* Anzeige in verschiedenen Media Queries */
	.p_mq_show3 { display:inherit!important; }

}



@media screen and (min-width:960px) {
	
	body { font-size:15px; }

	section.p_page_section_aside { grid-template-areas:"article sidebar"; grid-template-rows:auto; grid-template-columns:auto minmax(14em, 20%); }

	.p_sidebar { order:2; border-left:1px solid #ccc; }
	.p_sidebar_buttons { grid-template-columns:repeat(auto-fit, minmax(10em, 1fr)); padding:1em; width:100%; }

	.p_article { order:1; }


	/* Grid 12-Column */
	.p_grid .d1 { grid-column:span 1; }
	.p_grid .d2 { grid-column:span 2; }
	.p_grid .d3 { grid-column:span 3; }
	.p_grid .d4 { grid-column:span 4; }
	.p_grid .d5 { grid-column:span 5; }
	.p_grid .d6 { grid-column:span 6; }
	.p_grid .d7 { grid-column:span 7; }
	.p_grid .d8 { grid-column:span 8; }
	.p_grid .d9 { grid-column:span 9; }
	.p_grid .d10 { grid-column:span 10; }
	.p_grid .d11 { grid-column:span 11; }
	.p_grid .d12 { grid-column:span 12; }


	/* Anzeige in verschiedenen Media Queries */
	.p_mq_show4 { display:inherit!important; }

}



@media screen and (min-width:1280px) {

	/* Grid 12-Column */
	.p_grid .e1 { grid-column:span 1; }
	.p_grid .e2 { grid-column:span 2; }
	.p_grid .e3 { grid-column:span 3; }
	.p_grid .e4 { grid-column:span 4; }
	.p_grid .e5 { grid-column:span 5; }
	.p_grid .e6 { grid-column:span 6; }
	.p_grid .e7 { grid-column:span 7; }
	.p_grid .e8 { grid-column:span 8; }
	.p_grid .e9 { grid-column:span 9; }
	.p_grid .e10 { grid-column:span 10; }
	.p_grid .e11 { grid-column:span 11; }
	.p_grid .e12 { grid-column:span 12; }

	/* Anzeige in verschiedenen Media Queries */
	.p_mq_show5 { display:inherit!important; }

}



@media screen and (min-width:1500px) {

	body { font-size:16px; }

	/* Grid 12-Column */
	.p_grid .f1 { grid-column:span 1; }
	.p_grid .f2 { grid-column:span 2; }
	.p_grid .f3 { grid-column:span 3; }
	.p_grid .f4 { grid-column:span 4; }
	.p_grid .f5 { grid-column:span 5; }
	.p_grid .f6 { grid-column:span 6; }
	.p_grid .f7 { grid-column:span 7; }
	.p_grid .f8 { grid-column:span 8; }
	.p_grid .f9 { grid-column:span 9; }
	.p_grid .f10 { grid-column:span 10; }
	.p_grid .f11 { grid-column:span 11; }
	.p_grid .f12 { grid-column:span 12; }

	/* Flex Container Auto */
	.flx_col4_auto { flex-basis:calc(25% - 8px); max-width:25%; }
	
	
	/* Anzeige in verschiedenen Media Queries */
	.p_mq_show6 { display:inherit!important; }

}



