.elementor-kit-6{--e-global-color-primary:#4FAAF5;--e-global-color-secondary:#131A2D;--e-global-color-text:#FFFFFF;--e-global-color-accent:#0EABFE;--e-global-color-pblue2:#4CACF8;--e-global-color-plight:#73C0FD;--e-global-color-pmid:#2F68A0;--e-global-color-pblack:#000000;--e-global-typography-primary-font-family:"Poppins";--e-global-typography-primary-font-weight:500;--e-global-typography-secondary-font-family:"Poppins";--e-global-typography-secondary-font-weight:600;--e-global-typography-text-font-family:"Poppins";--e-global-typography-text-font-size:16px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:23px;--e-global-typography-accent-font-family:"Poppins";--e-global-typography-accent-font-weight:600;background-color:#131A2D;color:#FFFFFF;font-family:"Poppins", Sans-serif;font-size:16px;font-weight:400;line-height:23px;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-kit-6 a{color:#4FAAF5;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1023px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}:root { --pt-blue:#4FAAF5; --pt-blue-nav:#4CACF8; --pt-blue-light:#73C0FD; --pt-blue-bright:#0EABFE; --pt-navy:#131A2D; --pt-blue-mid:#2F68A0; --pt-white:#FFFFFF; --pt-black:#000000; --pt-overlay:rgba(51,72,135,0.8); --pt-glass:rgba(255,255,255,0.1); --pt-rule-grey:#B4B4B4; --pt-font:Poppins; }
/* Start custom CSS *//* Proturity conversion: scoped highlight rules.
   Editors mark highlighted words with Bold (strong) in the text editor; these rules colour them like the original site.
   Native V4 controls cannot style individual words inside one heading, so this is the minimal CSS needed. */
.pt-h1 strong, .pt-h2 strong { color: #FFFFFF; font-weight: inherit; }
.pt-teaser-h3 strong, .pt-h3 strong { color: #4FAAF5; font-weight: inherit; }
.pt-team-name strong { color: #FFFFFF; font-weight: inherit; }
/* Footer contact block: fixed-width labels and white links, as on the original footer */
.pt-footer-contact strong { display: inline-block; width: 70px; font-weight: 600; }
.pt-footer-contact a { color: #FFFFFF; }
.pt-footer-contact a:hover { color: rgba(255,255,255,0.7); }
/* Blue inline highlight inside body text: editors use Italic in paragraphs that carry the pt-accent class */
.pt-accent em { color: #4FAAF5; font-style: normal; }
/* Bulleted/numbered lists inside text widgets (original: 30px indent, no extra padding) */
.pt-list ul, .pt-list ol { margin: 0 0 0 30px; padding: 0; }
.pt-list li { margin: 0; }
/* Principles grid: the bold lead-in shows as a blue line above the text */
.pt-ol-item strong { display: block; color: #4FAAF5; font-weight: 400; margin-bottom: 15px; }
@media (max-width: 767px) { .pt-ol-item strong { margin-bottom: 10px; } }
/* Accordion: open and hovered titles turn blue */
.pt-acc-header:hover .pt-acc-title, .pt-acc-item[open] .pt-acc-title { color: #4CACF8; }
/* Service and key-figure lists: centred items without bullets */
.pt-service-list ul, .pt-stat-list ul { list-style: none; margin: 0; padding: 0; }
.pt-service-list li { margin-bottom: 10px; }
@media (max-width: 767px) { .pt-service-list li:last-child { margin-bottom: 0; } }
/* Post listing excerpt */
.pt-post-excerpt p { margin: 0 0 20px; }
/* Competition form consent checkboxes: square outline, filled when checked (as on the original form) */
.pt-checkbox { -webkit-appearance: none; appearance: none; clip-path: none !important; }
.pt-checkbox:checked { background-color: #0EABFE !important; box-shadow: inset 0 0 0 3px #131A2D; }
.pt-checkbox:checked::before, .pt-checkbox::before { display: none; }

/* Blog post body (WordPress editor content inside the Single Post template), as on the original news reader.
   Each original text element is a Group block with the pt-ce class; spacing is set per group, not per heading. */
.pt-post-body .elementor-widget-theme-post-content .pt-ce { margin: 0 0 30px; display: flow-root; }
.pt-post-body .elementor-widget-theme-post-content .pt-ce-infobox { margin: 0; }
.pt-post-body .elementor-widget-theme-post-content h2 { font-size: 21px; line-height: 28px; font-weight: 500; color: #4FAAF5; margin: 0 0 10px; }
.pt-post-body .elementor-widget-theme-post-content h3 { font-size: 18px; line-height: 24px; font-weight: 600; color: #4FAAF5; margin: 0 0 5px; }
.pt-post-body .elementor-widget-theme-post-content p { margin: 0 0 20px; }
.pt-post-body .elementor-widget-theme-post-content ul, .pt-post-body .elementor-widget-theme-post-content ol { margin: 0 0 24px 30px; padding: 0; }
.pt-post-body .elementor-widget-theme-post-content li { margin: 0; }
.pt-post-body .elementor-widget-theme-post-content .pt-infobox-title { margin: 0 0 20px; }
/* Info boxes sit side by side and wrap like the original inline boxes (WordPress would otherwise stack columns below 782px) */
.pt-post-body .elementor-widget-theme-post-content .wp-block-columns.pt-infobox { gap: 0; margin: 0 0 10px; align-items: flex-start; flex-wrap: wrap !important; }
.pt-post-body .elementor-widget-theme-post-content .wp-block-columns.pt-infobox > .wp-block-column { flex: 0 1 auto !important; flex-basis: auto !important; margin: 0 40px 10px 0; }
@media (max-width: 767px) { .pt-post-body .elementor-widget-theme-post-content .wp-block-columns.pt-infobox > .wp-block-column { flex: 1 1 100% !important; margin: 0; } }
.pt-post-body .elementor-widget-theme-post-content .pt-infobox p { font-size: 14px; }
@media (max-width: 1399px) { .pt-post-body .elementor-widget-theme-post-content .pt-ce-infobox { margin-bottom: 20px; } .pt-post-body .elementor-widget-theme-post-content .wp-block-columns.pt-infobox { margin-bottom: 0; } }
.pt-post-body a { color: #4FAAF5; }
/* Post cards (Loop): title size as on the original news list. The Post Title widget's own style does not reach copies inside a Loop. */
.pt-post-grid .elementor-widget-theme-post-title .elementor-heading-title { font-size: 24px; line-height: 32px; font-weight: 500; color: #4FAAF5; text-shadow: 0 0 20px #2F68A0; }
.pt-post-grid .elementor-widget-theme-post-title .elementor-heading-title a { color: inherit; }
.pt-post-grid .e-con > .elementor-widget.elementor-widget-theme-post-excerpt { margin-block-end: 20px; }
/* Like the original site: very long words in large mobile headings run past the screen edge instead of breaking; the page itself never scrolls sideways. */
body { overflow-x: hidden; }
@media (max-width: 767px) { body .elementor .pt-h1 { overflow-wrap: normal; hyphens: manual; } }
body .elementor .pt-col-label { overflow-wrap: normal; }
/* Accordion titles wrap like the original: the open/close icon sits in the top-right corner and longer titles flow underneath it */
.elementor summary.pt-acc-header.pt-acc-header { position: relative; display: block; }
.elementor .pt-acc-header > .e-accordion-item-title-base.e-con { display: block; }
.pt-acc-header > .e-accordion-item-icon-base, .pt-acc-header > .e-accordion-item-icon-open-base { position: absolute; top: 20px; right: 0; }
.pt-acc-title::before { content: ""; float: right; width: 75px; height: 25px; }
/* Bold words in running text: the original draws them as browser-emboldened Regular, which keeps the Regular letter widths.
   Same here, so lines break exactly as on the original. */
.e-paragraph-base strong, .elementor-widget-theme-post-content strong, .elementor-widget-theme-post-content h3 { font-weight: 400; -webkit-text-stroke: 0.6px currentColor; }
/* Teaser and team headings: the original uses browser-emboldened Regular at these sizes; same letter widths and line breaks here */
body .elementor .pt-teaser-h3 { font-weight: 400; -webkit-text-stroke: 1px currentColor; }
body .elementor .pt-team-name { font-weight: 400; -webkit-text-stroke: 1.1px currentColor; }
/* Navigation highlight as on the original: the section stays highlighted on its sub-pages (header), and pages that sat inside a section
   in the original page tree (Blog and posts under About Proturity, Thank you under Contact) highlight that section in header and footer. */
.elementor-location-header .elementor-nav-menu--main .elementor-nav-menu > li.current-menu-ancestor > a.elementor-item.elementor-item,
body.page-id-104 .elementor-location-header .elementor-nav-menu--main .menu-item-125 > a.elementor-item.elementor-item,
body.single-post .elementor-location-header .elementor-nav-menu--main .menu-item-125 > a.elementor-item.elementor-item,
body.page-id-82 .elementor-location-header .elementor-nav-menu--main .menu-item-135 > a.elementor-item.elementor-item,
body.page-id-58 .elementor-location-footer .elementor-nav-menu--main .menu-item-137 > a.elementor-item.elementor-item,
body.page-id-104 .elementor-location-footer .elementor-nav-menu--main .menu-item-137 > a.elementor-item.elementor-item,
body.single-post .elementor-location-footer .elementor-nav-menu--main .menu-item-137 > a.elementor-item.elementor-item,
body.page-id-62 .elementor-location-footer .elementor-nav-menu--main .menu-item-138 > a.elementor-item.elementor-item,
body.page-id-64 .elementor-location-footer .elementor-nav-menu--main .menu-item-138 > a.elementor-item.elementor-item,
body.page-id-66 .elementor-location-footer .elementor-nav-menu--main .menu-item-138 > a.elementor-item.elementor-item,
body.page-id-68 .elementor-location-footer .elementor-nav-menu--main .menu-item-138 > a.elementor-item.elementor-item,
body.page-id-82 .elementor-location-footer .elementor-nav-menu--main .menu-item-140 > a.elementor-item.elementor-item,
body.page-id-546 .elementor-location-header .elementor-nav-menu--main .menu-item-568 > a.elementor-item.elementor-item,
body.page-id-530 .elementor-location-footer .elementor-nav-menu--main .menu-item-569 > a.elementor-item.elementor-item,
body.page-id-534 .elementor-location-footer .elementor-nav-menu--main .menu-item-570 > a.elementor-item.elementor-item,
body.page-id-536 .elementor-location-footer .elementor-nav-menu--main .menu-item-570 > a.elementor-item.elementor-item,
body.page-id-538 .elementor-location-footer .elementor-nav-menu--main .menu-item-570 > a.elementor-item.elementor-item,
body.page-id-540 .elementor-location-footer .elementor-nav-menu--main .menu-item-570 > a.elementor-item.elementor-item,
body.page-id-546 .elementor-location-footer .elementor-nav-menu--main .menu-item-572 > a.elementor-item.elementor-item { color: #4CACF8; }
/* Mobile and tablet menu: a 300px panel slides in from the right over the page, like the original off-canvas menu */
@media (max-width: 1023px) {
  .elementor-location-header nav.elementor-nav-menu--dropdown.elementor-nav-menu__container { position: fixed !important; top: 0 !important; right: 0 !important; left: auto !important; width: 300px !important; height: 100vh; max-height: none !important; margin: 0 !important; padding-top: 50px; background: #131A2D; overflow-y: auto; transform: none !important; clip-path: inset(0 0 0 100%); visibility: hidden; transition: clip-path .4s ease, visibility 0s linear .4s !important; z-index: 9999; }
  .elementor-location-header .elementor-menu-toggle.elementor-active + nav.elementor-nav-menu--dropdown { clip-path: inset(0); visibility: visible; transition: clip-path .4s ease, visibility 0s !important; }
  .elementor-location-header nav.elementor-nav-menu--dropdown::before { content: "Menu"; position: absolute; top: 0; left: 0; right: 0; height: 49px; line-height: 49px; text-align: center; font-size: 16px; color: rgba(255,255,255,.6); border-bottom: 1px solid rgba(47,104,160,.5); }
  .elementor-location-header nav.elementor-nav-menu--dropdown li { position: relative; }
  .elementor-location-header nav.elementor-nav-menu--dropdown li::after { content: ""; position: absolute; left: 20px; right: 0; bottom: 0; border-bottom: 1px solid rgba(47,104,160,.5); }
  .elementor-location-header nav.elementor-nav-menu--dropdown a.elementor-item, .elementor-location-header nav.elementor-nav-menu--dropdown a.elementor-sub-item { padding: 14px 20px !important; font-size: 16px; line-height: 22px; color: #FFFFFF; background: transparent !important; }
  .elementor-location-header nav.elementor-nav-menu--dropdown a.elementor-item.elementor-item-active, .elementor-location-header nav.elementor-nav-menu--dropdown li.current-menu-ancestor > a.elementor-item { color: #2F68A0 !important; }
  .elementor-location-header nav.elementor-nav-menu--dropdown .sub-menu a.elementor-sub-item { padding-left: 40px !important; }
  .elementor-location-header nav.elementor-nav-menu--dropdown li.menu-item-has-children > a.elementor-item::after { content: ""; position: absolute; right: 0; top: 0; bottom: 0; width: 50px; border-left: 1px solid rgba(47,104,160,.5); opacity: 1 !important; transform: none !important; height: auto; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 14'%3E%3Cpath d='M1 1l6 6-6 6' fill='none' stroke='%232F68A0' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat center / 7px 12px; }
  .elementor-location-header nav.elementor-nav-menu--dropdown li.menu-item-has-children > a.elementor-item { position: relative; padding-right: 70px !important; }
  /* While open, the toggle becomes an invisible layer over the uncovered page strip: tapping the page closes the menu, as on the original */
  .elementor-location-header .elementor-menu-toggle.elementor-active { position: fixed; top: 0; left: 0; width: calc(100vw - 300px); height: 100vh; z-index: 9999; opacity: 0; }
}

/* German pages: mobile menu panel label as on the German original */
@media (max-width: 1023px) { html[lang^="de"] .elementor-location-header nav.elementor-nav-menu--dropdown::before { content: "Menü"; } }
/* German pages on phones: long German compounds in headings are hyphenated instead of running past the screen edge */
@media (max-width: 767px) { html[lang^="de"] body .elementor :is(h1,h2,h3,h4) { -webkit-hyphens: auto; hyphens: auto; overflow-wrap: break-word; } }/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Poppins';
	font-style: normal;
	font-weight: 400;
	font-display: auto;
	src: url('https://proturity.com/wp-content/uploads/2026/11/poppins-regular-webfont.woff2') format('woff2'),
		url('https://proturity.com/wp-content/uploads/2026/11/poppins-regular-webfont.woff') format('woff');
}
@font-face {
	font-family: 'Poppins';
	font-style: normal;
	font-weight: 500;
	font-display: auto;
	src: url('https://proturity.com/wp-content/uploads/2026/11/poppins-medium-webfont.woff2') format('woff2'),
		url('https://proturity.com/wp-content/uploads/2026/11/poppins-medium-webfont.woff') format('woff');
}
@font-face {
	font-family: 'Poppins';
	font-style: normal;
	font-weight: 600;
	font-display: auto;
	src: url('https://proturity.com/wp-content/uploads/2026/11/poppins-semibold-webfont.woff2') format('woff2'),
		url('https://proturity.com/wp-content/uploads/2026/11/poppins-semibold-webfont.woff') format('woff');
}
/* End Custom Fonts CSS */