/* Fonts */


@font-face {
    /* Myriad Pro normal */
    font-family: "Myriad Pro";
    src: url('fonts/myriad-pro_regular.otf') format("truetype");
	font-weight:normal;
}
@font-face {
    /* Myriad Pro light */
    font-family: "Myriad Pro";
    src: url('fonts/myriad-pro_light.otf') format("truetype");
	font-weight:300;
}
@font-face {
    /* Myriad Pro semibold */
    font-family: "Myriad Pro";
    src: url('fonts/myriad-pro_semibold.otf') format("truetype");
	font-weight:600;
}
@font-face {
    /* Myriad Pro bold */
    font-family: "Myriad Pro";
    src: url('fonts/myriad-pro_bold.otf') format("truetype");
	font-weight:700;
}
@font-face {
    /* Myriad Pro black */
    font-family: "Myriad Pro";
    src: url('fonts/myriad-pro_black.otf') format("truetype");
	font-weight:900;
}

@font-face {
    /* Century Gothic normal */
    font-family: "Century Gothic";
    src: url('fonts/century-gothic.ttf') format("truetype");
	font-weight:normal;
	font-style:normal;
}
@font-face {
    /* Century Gothic bold */
    font-family: "Century Gothic";
    src: url('fonts/century-gothic_bold.ttf') format("truetype");
	font-weight:700;
	font-style:normal;
}
@font-face {
    /* Century Gothic italic */
    font-family: "Century Gothic";
    src: url('fonts/century-gothic_italic.ttf') format("truetype");
	font-weight:normal;
	font-style:italic;
}
@font-face {
    /* Century Gothic bold italic */
    font-family: "Century Gothic";
    src: url('fonts/century-gothic_bold-italic.ttf') format("truetype");
	font-weight:700;
	font-style:italic;
}



* {
	padding:0;
	margin:0;
	min-width: 0;
    min-height: 0;
	outline:none;
    border-radius: 0;
	transition: all 0.5s ease;
	scrollbar-width: thin;
	scrollbar-color: #666 #f9f9f9;
}
*::-webkit-scrollbar {
	width: 12px;
}
*::-webkit-scrollbar-track {
	background: #f9f9f9;
}
*::-webkit-scrollbar-thumb {
	background-color: #666;
	border-radius: 20px;
	border: 3px solid #f9f9f9;
}
*:focus-visible, .focused {
	outline: 2px solid #999;
	outline-offset:3px;
}
/**:target{
	margin-top:200px;
}*/

html, body {
	margin: 0;
	padding: 0;
	z-index: 1;
	min-height:100vh;
}
body {
	font-size:17px;
	line-height:1.5em;
	color:#666;
	color:#333;
    background-color:#fff;
  	transition: none;
}
body, input, textarea, select {
	font-family: "Myriad Pro", "Century Gothic", Verdana, sans-serif;
	font-weight:300;
}

strong, b {
  	font-weight:400;
}
.sr_only {
	position:absolute;
	left:-9999px;
}
/* 	Farben 
	rot = #b20932 / 178,9,51;
	hellgrün = #edf2d0 / 237,242,208
	apfelgrün = #afca0b / 175,202,11
	dunkelgrün = #647e0f / 100,126,15
	hellgrau (subnav, col1) = #efefee;
*/

.container, .frame-type-youtubevideo_pi1 header {
	width:94%;
	max-width:1200px;
	height:100%;
	margin:0 auto;
}
a {
	color:#666;
	text-decoration:none;
  	border-bottom:1px dotted #666;
}
a:hover, a:focus, a.current, a.active {
	color:#000;
  	border-bottom:1px solid #000;
}
sup {
  	position: relative;
  	line-height: 0.5em;
  	font-size: 80%;
  	top: 0.25em;
}
img.lightbox {
  	cursor:pointer;
}
.flex_container {
	display:flex;
	flex-wrap: wrap;
	justify-content:space-between;
	align-items:flex-start;
	row-gap: 0;
}
/* main .powermail_fieldset */
.flex_break {
	flex-basis: 100%;
	height: 0;
}
.flex_pause {
	width:0;
	height: 0;
	margin-left:-2rem;
}
.flex_item {
	height:auto;
	box-sizing:border-box;
	align-self: flex-start;
}
/* main .powermail_fieldwrap */
.flex_col20 {
	flex-basis: calc(20% - 2.13rem);
}
.flex_col25 {
	flex-basis: calc(25% - 2rem);
}
.flex_col33 {
	flex-basis: calc(33% - 2rem);
}
.flex_col50 {
	flex-basis: calc(50% - 2rem);
}
/* main .powermail_fieldwrap */
main .para_form .powermail_fieldwrap {
	flex-basis: 100%;
}
.flex_col66 {
	flex-basis: calc(66% - 2rem);
}
.flex_col75 {
	flex-basis: calc(75% - 2rem);
}
.flex_col100 {
	flex-basis: 100%;
}
.flip_right {
	order: 2;
}
.centered {
  	text-align:center;
}
.flex_col100.image .flex_item {
  	margin-bottom:2rem;
}

/* Acceskeys */

.skiplinks {
	position: fixed;
	top: 13px;
	left: 0;
	width: 100%;
  	max-width:none;
	height:0;
	z-index:50;
}
.skiplinks li {
    position: absolute;
    list-style: none;
	width: 100%;
}
.skiplinks a {
    position: absolute;
    top: -9999px;
  	left:45%;
    white-space: nowrap;
	background-color:#fff;
	padding: 3px;
}
.skiplinks a:focus-visible, .skiplinks a:focus-visible {
	position:relative;
    top: 13px;
	outline-offset:0;
}

/* Header */
#header_main {
	height:120px;
	padding-top:1rem;
	width:100%;
	position:fixed;
	top:0;
	left:0;
	z-index:30;
	background-color:#fff;
}

.logo a {
	text-decoration:none;
	display:inline-block;
  	border-bottom:0;
  	width:100%;
}
.logo img {
	width:100%;
	height:auto;
  	max-height:100%;
	display:block;
}
.base .logo a, .strategic .logo a {
	max-width:320px;
	margin-bottom:21px;
}
.base .logo a img {
	max-height:36px;
}
.logo a {
	max-width:250px;
}
.service {
	text-align:right;
}
#colour_change {
	text-align:right;
	display:inline-block;
	margin-left:1rem;
	cursor:pointer;
}
#languages {
	margin-left:1.5rem;
	display:inline-block;
	text-align:right;
	position:relative;
	z-index:25;
}
#languages li {
	display:inline-block;
	list-style:none;
	padding-right:1rem;
}
#languages li:last-child {
	padding-right:0;
}
#languages li a {
	cursor:pointer;
	font-weight:300;
}
.navbutton, .navbutton .fa-times {
	display:none;
}

/* Navigation */

nav {
	width:100%;
	text-align:left;
}
nav ul {
	padding-left:0;
}
nav li {
	list-style:none;
	display:inline-block;
}

nav li a {
	text-decoration:none;
	font-size:1.25rem;
	line-height:1.5em;
	font-weight:300;
	display:inline-block;
	color:#666;
}


/* Contact / Kontakt */

#contact	{
	position:fixed;
	z-index:40;
	right:0;
	/*top:186px;*/
	top:calc(120px + 2rem);
}
.contact_type {
	justify-content: flex-end;
	align-items:stretch;
	gap:0;
}
.contact_button {
	font-size:1.25rem;
	line-height:1.25em;
	color:#b20932;
	border:none;
	background:transparent;
	cursor:pointer;
	order: 2;
	background-color:#fff;
	padding:5px 5px 1rem 5px;
	padding:9px 0;
	width:2.5rem;
	text-align:center;
	border-left: 1px solid #b20932;
	border-top: 1px solid #b20932;
	border-bottom: 1px solid #b20932;
	border-top-left-radius:0.5rem;
	border-bottom-left-radius:0.5rem;
	margin-bottom:1rem;
}
.contact_button:hover, .contact_button:focus,  .contact_button[aria-expanded="true"] {
	background-color:#b20932;
	color:#fff;
}
.contact_content {
	color:inherit;
	order: 1;
	background-color:#fff;
	box-sizing:border-box;
	width:100%;
	padding:5px 0 1rem 0;
}
.modal-content .contact_content {
	padding:1rem;
}
#contact .contact_content {
	display:none;
}
#contact .modal.open .contact_content {
	display:block;
}
#contact .contact_info { 
	padding-right:0.5rem;
	padding-left:1rem;
}
#contact_phone + .contact_content {
	border-top:2px solid #b20932;
}
#contact_appointment + .contact_content {
	border-bottom:2px solid #b20932;
}
.contact_content p {
	margin:0;
}


/* Banner */
#banner {
	width:100%;
	height:40vh;
	position:relative;
	overflow:hidden;
	background-repeat:no-repeat;
	background-size:cover;
	background-position:center center;
  	filter: brightness(1);
}
#banner:hover {
  	filter: brightness(1.05);
}

/* Inhalt / Content */
main {
	width:100%;
	padding-top:calc(120px + 1rem);
}
#content {
 	scroll-margin-top: calc(120px + 1rem);
}
section, .frame-type-youtubevideo_pi1 {
	width:100%;
	padding-top:6rem;
	scroll-margin-top: calc(120px + 1rem);
}
section.headline + section {
  	padding-top: 1rem;
}
.frame-type-youtubevideo_pi1 section:nth-of-type(1) {
  	padding-top:0;
}
main img {
	filter: brightness(1);
}
main img:hover {
	filter: brightness(1.05);
}
main .flex_item img {
	max-width:100%;
    height:auto;
}
main ul, main ol {
	padding-left:1rem;
	padding-bottom:1rem;
}
main a {
  	border-bottom:1px dotted #666;
}
main a:hover, main a:focus {
  	border-bottom-style:solid;
}
main .flex_item li, main li.flex_item {
	padding-bottom:0.5rem;
}
main .flex_item ul li, main ul li.flex_item {
  	list-style:square;
}
main .flex_item ul li::marker, main ul li.flex_item::marker {
  	color: #afca0b;
}
main .flex_item ol li::marker {
  	color: #647e0f;
}
main .flex_item.flex_col33.image:last-child {
	text-align:right;
}


h1 {
	font-size:2.5rem;
	line-height:1.25em;
	margin-bottom:1rem;
	font-weight:300;
	color:#647e0f;
}
h2, .powermail_legend {
	font-size:1.75rem;
	line-height:1.1em;
	margin-bottom:1.5rem;
	font-weight:300;
	color:#647e0f;
}
h3, .location h2 {
	font-size:1.25rem;
	line-height:1.5em;
	margin-bottom:0.75rem;
	font-weight:300;
  	color:#647e0f;
}
h4 {
	font-size:1.125rem;
	line-height:1.5em;
	margin-bottom:0.75rem;
	font-weight:300;
  	color:#647e0f;
}
h1 a, h2 a, h3 a {
  	color:inherit !important;
  	border-color:currentColor;
}
p {
	margin-bottom:1rem;
}
p.statement {
  	font-size: 2.5rem;
  	line-height: 1.25em;
  	margin-bottom: 1rem;
  	font-weight: 300;
  	color: #b20932;
}

table {
  	border-spacing: 0.5rem;
    border-collapse: separate;
}
th, td {
  	text-align:left;
  	vertical-align:top;
  	padding:0.25rem 0.5rem;
}
th {
  	font-weight:400;
  	background-color:#afca0b;
}
td {
  	background-color:#edf2d0;
}

table.methods .centered {
  	text-align:left;
}

.treatment_examples {
  	padding-bottom:3rem;
}
.methods h3 span {
  	display:inline-block;
  	border:2px solid #666;
  	border-radius:0.5rem;
  	padding:0.125rem 0.75rem;
  	margin-bottom:1.5rem;
}
/*.case_text {
  	padding-top: 2.25rem;
}*/
a.enlarge {
  	cursor:pointer;
}
a.anchored {
  	scroll-margin-top: calc(120px + 1rem);
}
.question h2 {
  	scroll-margin-top: calc(120px + 3rem);
}
.partners .logo_dark {
  	display:none;
}

hr {
  	border: none;
  	height: 1px;
  	background-color: #edf2d0;
  	margin-bottom: 1rem;
}

.video_container {
	position: relative;
	overflow: hidden;
	width: 100%;
	padding-top: 56.25%;
	margin-bottom:2rem;
}
iframe.video {
	border:none;
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	width: 100%;
	height: 100%;
}
.youtubevideogallery .flex_container {
  	row-gap: 2rem;
}
.coverimage-click {
  	border:none;
}
video {
  	max-width: 100%;
}

main ul.downloads {
	padding-top:1rem;
  	padding-left:0;
}
.downloads.flex_container {
	justify-content:flex-start;
	gap: 2.66rem;
}
main ul.downloads li.flex_item {
	list-style:none;
  	align-self:stretch;
}

.downloads li a {
	display:inline-block;
	border:1px solid #afca0b;
	border-radius:0.5rem;
	text-align:center;
	padding:1rem;
	box-sizing:border-box;
	background:transparent;
  	height:100%;
  	min-height: 40vh;
  	position:relative;
  	overflow:hidden;
}
.downloads li a span {
	display:inline-block;
	vertical-align:top;
	text-align:center;
	padding-bottom:1rem;
	font-size:1.125rem;
	line-height:1.3em;
  	min-height: 2.7em;
  	color: #647e0f;
}
.downloads li a img {
	width:100%;
	height:auto;
  	background-color:#fff;
}
.downloads li a:hover, .downloads li a:focus {
	background: #afca0b;
	border-color:#afca0b;
}
.downloads li a:hover span, .downloads li a:focus span {
	color:#000;
}
.downloads.li.link a {
    min-height:45vh;
}
.downloads li.link a img {
	position:relative;
	z-index:1;
}
.downloads li.link a span {
	display:block;
  	background-size: contain;
  	background-repeat: no-repeat;
  	background-color: #fff;
	width: 100%;
  	height: 100%;
	padding-top: 7rem;
  	box-sizing: border-box;
}
.downloads video {
  	width:200%;
  	max-width: none;
  	position:absolute;
  	left:-50%;
  	bottom:0;
}
.downloads a.STL {
  	padding-bottom:25vh;
}

.location {
  	padding-bottom:1rem;
 	scroll-margin-top: calc(120px + 1rem);
}
#chartdiv {
  	height:60vh;
  	margin-bottom:4rem;
}
main #chartdiv a {
  	color:inherit;
  	border-color:currentColor;
}
#map .flex_container.address_list {
  	justify-content: flex-start;
	column-gap: 2.66rem;
}

.contact_text {
  	position:relative;
  	padding-left:2rem;
}
.contact_text i {
  	position:absolute;
  	left:0;
  	top:0.25rem;
}
a.contact_pdf {
  	float:right;
}
img.contact_pic + img.contact_pic {
  	margin-top:1rem;
}

/* Accordion / Aufklapper */

h4.toggle {
  	margin-top:1rem;
}
.accordion {
	width:100%;
	font-family: inherit;
  	font-weight:300;
	font-size: inherit;
	line-height: inherit;
  	color:inherit;
	border: none;
	border: 1px solid #afca0b;
	text-align: left;
	cursor:pointer;
  	position:relative;
  	background: none;
    color: inherit;
    padding: 0.5rem;
    border-radius: 0.5rem;
}
.accordion:hover, .accordion:focus, .accordion[aria-expanded="true"] {
  	background-color:#afca0b;
  	color:#000;
}
.accordion:after {
  	position:absolute;
  	right:0.5rem;
  	top: 5px;
  	font-size: 1.75rem;
}
.accordion[aria-expanded="false"]:after {
  	content: "+";
}
.accordion[aria-expanded="true"]:after {
  	content: "-";
}
.panel {
  	padding: 0 0 0 1rem;
 	overflow: hidden;
  	display:none;
}

/* Slick Slider */

.reviews_list {
	padding-top:50px;
}
.slick-slide blockquote {
	margin:0 auto 1rem auto;
  	font-style:italic;
}
.slick-slide {
	text-align:center;
	flex:1;
	overflow:hidden;
}
.slick-slide img {
	/*filter: grayscale(0);*/
	display:inline-block !important;
	filter: brightness(0.75);
}
.slick-prev::before, .slick-next::before {
    color: #afca0b !important;
}
.slick_container {
	width:90%;
	margin:0 auto;
}


/* Modal / Popup */
.modal {
  	display: none;
  	position: fixed;
  	z-index: 30;
  	padding-top: 10vh;
  	left: 0;
  	top: 0;
  	width: 100%;
  	height: 100%;
  	overflow: auto;
  	background: rgba(55,55,55,0.8);
}
.modal.open {
	display:block;
}
.modal-content {
  	position: relative;
  	margin: auto;
  	padding: 0;
  	width: auto;
  	width: 94vw;
  	max-width:1000px;
  	height:80vh;
  	text-align:center;
}
.modal-content img {
  	max-height:80vh;
  	max-width: 94vw;
  	/*width:100%;*/
}
.modal-content .powermail_legend {
  	width:100%;
  	text-align:center;
}
.modal-close {
  	color: white;
  	position: absolute;
  	top: 10px;
  	right: 25px;
  	font-size: 35px;
  	font-weight: bold;
  	cursor:pointer;
  	background:transparent;
  	border:none;
}
.modal-close:hover,
.modal-close:focus {
  	color: #fff;
}
.modal-close:hover {
  text-decoration: underline;
}
.modal-close:focus-visible {
	outline: 2px solid #fff;
}


/* Formular */

.break {
  flex-basis: 100%;
  height: 0;
}
fieldset.powermail_fieldwrap {
    border:none;
}
label {
	width:100%;
	display:inline-block;
  	text-align:left;
  	padding-bottom: 0.25rem;
}
input, textarea, select {
	border:1px solid #666;
	background-color: #fff;
	padding:0.5rem;
	font-size:1rem;
	margin-bottom:1rem;
	box-sizing:border-box;
  	border-radius:0.5rem;
}
input {
	display:inline-block;
}
input:hover, input:focus, textarea:hover, textarea:focus, select:hover, select:focus   {
	border-color:#afca0b;
}
input[type=submit] {
	color:#647e0f;
  	border-color:#afca0b;
	cursor:pointer;
	padding:10px;
	font-weight:400;
}
input[type=submit]:hover, input[type=submit]:focus {
	background-color:#afca0b;
  	border-color:#afca0b;
  	color:#000;
}
.powermail_fieldset {
  	outline:none;
  	border:none;
}
.powermail_fieldset input,
.powermail_fieldset textarea, 
.powermail_fieldset select  {
	display:block;
	width:100%;
}
.powermail_fieldset input[type=checkbox], .powermail_fieldset input[type=radio]   {
	display:inline-block;
	width:auto;
}
main .powermail_fieldset input[type=submit] {
  	margin-top:calc(1.5em + 1px);
}
main .powermail_fieldwrap_type_text  {
  	margin-bottom: 1rem;
}
span.mandatory {
  	display:inline-block;
  	margin-left: 4px;
}

img.contact_icon {
  height: 1.5rem;
  margin: 0 1px 0 5px;
  display: inline-block;
  vertical-align: middle;
}

/* Footer */

footer {
	width:100%;
	padding-top: 3rem;
  	padding-bottom: 1rem;
}
footer p {
	margin-bottom:0;
}
footer p a {
  	display: inline-block;
  	margin-left: 0.75rem;
  	line-height: 1.5em;
}
footer a.top {
  	cursor:pointer;
  	position:fixed;
  	right:0.5rem;
  	bottom:1rem;
  	color:#647e0f;
}

.cookie-consent-container {
	color:#666 !important;
	font-family: "Myriad Pro", "Century Gothic", Verdana, sans-serif !important;
}
.cookie-consent-container a,.cookie-consent-container a:visited,.cookie-consent-container a:active,.cookie-consent-container a:focus,.cookie-consent-container a:focus:active{
    color:#666 !important;
}
.cookie-consent-container a:hover,.cookie-consent-container a:visited:hover,.cookie-consent-container a:active:hover,.cookie-consent-container a:focus:hover,.cookie-consent-container a:focus:active:hover{
    color:#4c8a96;
}
.cookie-consent-container .consent-modal .cookie-headline{
    color:#647e0f !important;
	letter-spacing: 0 !important;
	text-transform:none !important;
  	font-weight:300 !important;
}
.cookie-consent-container .label{
    color:#666 !important;   
}
.cookie-consent-container .label .checkmark {
	background: none !important;
	border: 1px solid #ccc !important;
}
.cookie-consent-container .consent-modal .option-wrapper .label .checkmark {
	  background: #eee !important;
	  border: 1px solid #fff !important;
	  margin-right: -10px;
}
.cookie-consent-container .label input:checked~.checkmark, .cookie-consent-container .consent-modal .option-wrapper .label input:checked~.checkmark {
    background-color:#afca0b !important;
	border-color:#afca0b !important;
}
.cookie-consent-container .label input:disabled:checked ~ .checkmark {
	opacity: 1 !important;
}
.cookie-consent-container .buttons .btn {
  	text-transform:none !important;
}
.cookie-consent-container .buttons .btn--primary{
    background:#fff !important;
    border:2px solid #afca0b !important;
  	color:#647e0f !important;
	text-transform:none !important;
}
.cookie-consent-container .buttons .btn--primary:hover{
  	color:#fff !important;
    background:#647e0f !important;
    border:2px solid #647e0f !important
}
.cookie-consent-container .consent-modal .option-wrapper .option-headline {
	letter-spacing: 0 !important;
	text-transform:none !important;
}
.cookie-consent-container .consent-modal .option-wrapper {
	background:none !important;
}
.cookie-consent-container .consent-modal .option-wrapper .option-detail-wrapper .option-detail.cookie-option {
	background: none !important;
}
.cookie-consent-container .consent-modal .option-wrapper .option-detail-wrapper .option-detail.cookie-option .label {
	box-sizing: border-box;
}
.cookie-consent-container .consent-modal .option-wrapper .option-detail-wrapper .option-detail.cookie-option:hover ~ .option-detail {
  	background: none !important;
}
.cookie-consent-container .consent-modal .option-wrapper .option-detail-wrapper {
  	border-bottom: 2px solid #acabab !important;
}

.klaro.we_cookie_consent .cookie-notice:not(.cookie-modal-notice), .klaro.we_cookie_consent .cookie-modal .cm-modal.cm-klaro .cm-footer {
  	box-sizing:border-box;
}
.klaro.we_cookie_consent .cookie-notice h1, .klaro.we_cookie_consent .cookie-notice h2, .klaro.we_cookie_consent .cookie-notice li, .klaro.we_cookie_consent .cookie-notice p, .klaro.we_cookie_consent .cookie-notice a, .klaro.we_cookie_consent .cookie-notice strong, .klaro.we_cookie_consent .cookie-notice ul, .klaro.we_cookie_consent .cookie-modal h1, .klaro.we_cookie_consent .cookie-modal h2, .klaro.we_cookie_consent .cookie-modal li, .klaro.we_cookie_consent .cookie-modal p, .klaro.we_cookie_consent .cookie-modal a, .klaro.we_cookie_consent .cookie-modal strong, .klaro.we_cookie_consent .cookie-modal ul {
  	color: #706f6f;
}
#klaro .klaro.we_cookie_consent .cookie-modal .cm-btn, #klaro .klaro.we_cookie_consent .cookie-notice:not(.cookie-modal-notice) .cm-btn, #klaro .klaro.we_cookie_consent .cookie-notice:not(.cookie-modal-notice) .cm-btn-sm, #klaro .klaro.we_cookie_consent .cookie-notice:not(.cookie-modal-notice) .cm-link, #klaro .klaro.we_cookie_consent .cookie-notice:not(.cookie-modal-notice) .cm-learn-more {
  	border-color: #647e0f;
  	color: #706f6f;
}
#klaro .klaro.we_cookie_consent .cookie-modal .cm-btn.cm-btn-accept {
  	color: #706f6f;
}

/* Dark Mode */

	body.dark *:focus-visible, body.dark .focused {
		outline: 2px solid #ccc;
	}
	body.dark,
	body.dark a,
	body.dark nav li a,
	body.dark #colour_change {
		color:#999;
	}
	body.dark, 
	body.dark #header_main, 
	body.dark .skiplinks a,
	body.dark nav.open,
	body.dark .contact_content,
	body.dark .downloads li.link a span,
	body.dark input, 
	body.dark textarea, 
	body.dark select {
		background-color:#000;
	}
	body.dark a:hover, 
	body.dark a:focus-visible, 
	body.dark #languages li a.active, 
	body.dark nav li a:hover, 
	body.dark nav li a:focus, 
	body.dark nav li a.active, 
	body.dark nav li a.current,
	body.dark .skiplinks a,
	body.dark #colour_change:hover,
	body.dark #colour_change:focus,
	body.dark input, 
	body.dark textarea, 
	body.dark select, 
	body.dark .downloads li a:hover span, 
	body.dark .downloads li a:focus span,
	body.dark input[type="submit"]:hover, 
	body.dark input[type="submit"]:focus, 
	body.dark .accordion:hover, 
	body.dark .accordion:focus, 
	body.dark .accordion[aria-expanded="true"], 
	body.dark th,
	body.dark td {
		color: #fff;
	}
	body.dark nav li a:hover, 
	body.dark nav li a:focus, 
	body.dark nav li a.active, 
	body.dark nav li a.current,
	body.dark #languages li a:hover, 
	body.dark #languages li a:focus,
	body.dark #languages li a.active,
	body.dark a:hover, 
	body.dark a:focus, 
	body.dark a.current, 
	body.dark a.active {
		border-color:#fff;
	}
	body.dark .contact_button {
		background-color:#000;
		color:#e3dde4;
		border-color:#e3dde4;
	}
	body.dark .contact_button:hover, 
	body.dark .contact_button:focus, 
	body.dark .contact_button[aria-expanded="true"] {
		background-color: #e3dde4;
		color: #000;
	}
	body.dark h1,
	body.dark h2,
	body.dark h3,
	body.dark h4,
	body.dark .powermail_legend,
	body.dark .downloads li a span, 
	body.dark main .flex_item ol li::marker, 
	body.dark footer a.top,
	body.dark .navbutton {
		color:#afca0b;
	}
	body.dark p.statement {
  		color:#c10835;
	}
	body.dark .downloads li a:hover, 
	body.dark .downloads li a:focus, 
	body.dark input[type="submit"]:hover, 
	body.dark input[type="submit"]:focus,
	body.dark .accordion:hover, 
	body.dark .accordion:focus, 
	body.dark .accordion[aria-expanded="true"] {
		background: #647e0f;
		border-color: #647e0f;
	}
	body.dark th {
  		background-color: #647e0f;
	}
	body.dark td, body.dark hr {
  		background-color: #333;
	}
	body.dark #banner,
	body.dark main img {
  		filter: brightness(0.9);
	}
	body.dark #banner:hover,
	body.dark main img:hover {
  		filter: brightness(0.95);
	}
	body.dark .partners .logo_light {
     	display:none;
  	}
	body.dark .partners .logo_dark {
     	display:inline-block;
  	}
body.dark .klaro.we_cookie_consent .cookie-notice:not(.cookie-modal-notice), 
body.dark .klaro.we_cookie_consent .cookie-notice:not(.cookie-modal-notice) .cn-body, 
body.dark #klaro .klaro.we_cookie_consent .cookie-notice:not(.cookie-modal-notice) .cm-btn.cm-btn-danger,
body.dark #klaro .klaro.we_cookie_consent .cookie-notice:not(.cookie-modal-notice) .cm-btn.cm-btn-success,
body.dark .klaro.we_cookie_consent .cookie-modal .cm-modal.cm-klaro,
body.dark .klaro.we_cookie_consent .cookie-modal .cm-modal.cm-klaro .cm-footer,
body.dark .klaro.we_cookie_consent .cookie-modal .cm-modal.cm-klaro .hide,
body.dark #klaro .klaro.we_cookie_consent .cookie-modal .cm-btn-danger,
body.dark #klaro .klaro.we_cookie_consent .cookie-modal .cm-btn.cm-btn-accept {
 	background: #000;
}
body.dark .klaro.we_cookie_consent .cookie-modal .cm-modal.cm-klaro .hide {
  	color:#000;
}
body.dark .klaro.we_cookie_consent .cookie-notice h1, 
body.dark .klaro.we_cookie_consent .cookie-notice h2, 
body.dark .klaro.we_cookie_consent .cookie-notice li, 
body.dark .klaro.we_cookie_consent .cookie-notice p, 
body.dark .klaro.we_cookie_consent .cookie-notice a, 
body.dark .klaro.we_cookie_consent .cookie-notice strong, 
body.dark .klaro.we_cookie_consent .cookie-notice ul, 
body.dark .klaro.we_cookie_consent .cookie-modal h1, 
body.dark .klaro.we_cookie_consent .cookie-modal h2, 
body.dark .klaro.we_cookie_consent .cookie-modal li, 
body.dark .klaro.we_cookie_consent .cookie-modal p, 
body.dark .klaro.we_cookie_consent .cookie-modal a, 
body.dark .klaro.we_cookie_consent .cookie-modal strong, 
body.dark .klaro.we_cookie_consent .cookie-modal ul {
  	color: #999;
}
body.dark #klaro .klaro.we_cookie_consent .cookie-modal .cm-btn, 
body.dark #klaro .klaro.we_cookie_consent .cookie-notice:not(.cookie-modal-notice) .cm-btn, 
body.dark #klaro .klaro.we_cookie_consent .cookie-notice:not(.cookie-modal-notice) .cm-btn-sm, 
body.dark #klaro .klaro.we_cookie_consent .cookie-notice:not(.cookie-modal-notice) .cm-link, 
body.dark #klaro .klaro.we_cookie_consent .cookie-notice:not(.cookie-modal-notice) .cm-learn-more {
  	border-color: #afca0b;
  	color: #999;
}
body.dark #klaro .klaro.we_cookie_consent .cookie-modal .cm-btn.cm-btn-accept {
  	color: #999;
}


@media screen and (max-width: 1440px) {
	
}

@media screen and (max-width: 1280px) {

}

@media screen and (max-width: 1080px) {
    .skiplinks a {
    	left:5%;
    }
	body.dl.open {
		overflow:hidden;
		height:100vw;
	}
  	body.dl #header_main {
    	height:46px;
  	}
  	body.dl .logo img {
    	max-height:34px;
  	}
  	body.dl #contact {
    	top: calc(46px + 2rem);
  	}
  	body.dl nav, body.dl .service {
    	display:none;
  	}
  	body.dl nav.open {
    	display: block;
    	position: absolute;
    	z-index:10;
    	width: 100%;
    	height: calc(100vh - (46px + 1rem));
    	padding: 15vh 1rem 0 1rem;
      	background-color: #fff;
      	left:0;
      	top: calc(46px + 1rem);
  	}
  	body.dl nav.open li {
    	flex-basis:100%;
    	text-align:center;
    	padding-bottom:1rem;
  	}
 	body.dl.open .service {
    	display: inline-block;
		position: absolute;
		left: 0;
      	padding: 0 1rem;
		top: 13vh;
		z-index: 15;
      	width: 100%;
		text-align: center;
  	}
  	body.dl .navbutton {
		display:block;
		width:40px;
		height:40px;
		position:absolute;
		right:2.5vw;
		top:0;
		cursor:pointer;
		font-size: 1.75rem;
		line-height: 60px;
		color: #b20932;
		text-align:right;
        border:none;
        background:none;
	}
  	body.dl .navbutton.open .fa-bars {
    	display:none;
  	}
  	body.dl .navbutton.open .fa-times {
    	display:inline-block;
  	}
  	body.dl main {
    	padding-top: calc(46px + 1rem);
  	}
}


@media screen and (max-width: 810px) {
  	#banner {
    	height:32vh;
  	}
  	main ul.downloads li.flex_item.flex_col20 {
    	flex-basis: calc(33% - 2rem);
  	}
}



@media screen and (max-width: 640px) {
	body.open {
		overflow:hidden;
		height:100vw;
	}
  	#header_main {
    	height:46px;
  	}
  	.logo img {
    	max-height:34px;
  	}
  	#contact {
    	top: calc(46px + 2rem);
  	}
  	nav, .service {
    	display:none;
  	}
  	nav.open {
    	display: block;
    	position: absolute;
    	z-index:10;
    	width: 100%;
    	height: calc(100vh - (46px + 1rem));
    	padding: 15vh 1rem 0 1rem;
      	background-color: #fff;
      	left:0;
      	top: calc(46px + 1rem);
  	}
  	nav.open li {
    	flex-basis:100%;
    	text-align:center;
    	padding-bottom:1rem;
  	}
 	body.open .service {
    	display: inline-block;
		position: absolute;
		left: 0;
      	padding: 0 1rem;
		top: 13vh;
		z-index: 15;
      	width: 100%;
		text-align: center;
  	}
  	.navbutton {
		display:block;
		width:40px;
		height:40px;
		position:absolute;
		right:2.5vw;
		top:0;
		cursor:pointer;
		font-size: 1.75rem;
		line-height: 60px;
		color: #b20932;
		text-align:right;
        border:none;
        background:none;
	}
  	.navbutton.open .fa-bars {
    	display:none;
  	}
  	.navbutton.open .fa-times {
    	display:inline-block;
  	}
  	#banner {
    	height:30vh;
  	}
  	main {
    	padding-top: calc(46px + 1rem);
  	}
  	main .flex_item, main .powermail_fieldwrap {
    	flex-basis:100%;
  	}
  	main ul.downloads li.flex_item.flex_col20 {
    	flex-basis: calc(100%);
  	}
  	.flex_col100.image .flex_item {
        margin-bottom:1rem;
    }
  	main .flex_item.image {
    	order:2;
  	}
  	.slick-prev {
    	left: -1rem;
  	}
  	.slick-next {
  		right: -1rem;
	}
  	.case_text {
    	padding-top:0;
  	}
  	a.enlarge {
    	margin-bottom: 1rem;
		display: inline-block;
  	}
  	section, .frame-type-youtubevideo_pi1 {
    	scroll-margin-top: calc(46px + 1rem);
      	padding-top: 3rem;
  	}
  	.question h2 {
      	scroll-margin-top: calc(46px + 2rem);
    }
  	a.anchored {
        scroll-margin-top: calc(46px + 1rem);
    }
  	main .flex_item.flex_col33.image:last-child {
  		text-align: left;
	}
  	.staff > .container > .flex_container > .flex_item:not(:first-child) {
    	padding-top:2rem;
  	}
  	#chartdiv {
    	height:40vh;
  	}
  	
}
@media screen and (max-width: 500px) {
}
@media screen and (max-width: 480px) {
  	.flex_col50.logo {
    	flex-basis:50%;
  	}
  	nav.open {
    	height: calc(100vh - 50px);
  	}
  	#contact {
  		top: calc(46px + 1.5rem);
	}
  	.contact_button {
      	font-size:1.125rem;
      	line-height:1.25em;
    	padding:4px 0;
    	width:1.75rem;
    	margin-bottom: 0.5rem;
 	}
	#banner {
    	height:20vh;
  	}
  	h1, p.statement {
    	font-size: 2.25rem;
		line-height: 1.25em;
  	}
  	h2, .powermail_legend {
  		font-size: 1.6rem;
  		line-height: 1.1em;
  	}
  	.reviews .flex_container {
    	max-width: 80%;
		margin: 0 auto;
  	}
  	.slick-prev {
    	left: -1.5rem;
  	}
  	.slick-next {
  		right: -1.5rem;
	}
  	thead tr {
  		position:absolute;
    	left:-9999px;
  	}
  	tbody tr {
    	display:block;
    	margin-bottom:2rem;
  	}
  	td {
    	display:block;
    	position:relative;
  	}
  	td.centered {
  		text-align:left;
  	}
  	td::before {
    	content:attr(data-title);
    	display:block;
    	font-weight:400;
  	}
}
@media screen and (max-width: 440px) {

}
@media screen and (max-width: 400px) {
	
}