/* Replacements for effects the old site produced with scripts */
.divi-root .et_animated, .divi-root .et-waypoint, .divi-root .et_pb_animation_off { opacity: 1 !important; animation: none !important; transform: none !important; }
.divi-root #page-container { padding-top: 0 !important; margin-top: 0 !important; }
.divi-root .et_pb_circle_counter_inner { opacity: 1 !important; height: auto !important; }
.divi-root .et_pb_circle_counter_inner .percent { position: relative; width: 135px; height: 135px; margin: 0 auto 12px; display: flex; align-items: center; justify-content: center; opacity: 1 !important; }
.divi-root .et_pb_circle_counter_inner .percent p { margin: 0; padding: 0; position: static; font-size: 40px; line-height: 1; color: var(--ring, #2ea3f2); }
.divi-root .et_pb_circle_counter_inner .percent::before {
  content: ""; position: absolute; inset: 0; border-radius: 50%;
  background: conic-gradient(var(--ring, #2ea3f2) var(--pct, 0deg), rgba(255,255,255,.15) 0);
  -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 7px), #000 calc(100% - 6px));
  mask: radial-gradient(farthest-side, transparent calc(100% - 7px), #000 calc(100% - 6px));
}
.divi-root .et_pb_number_counter .percent, .divi-root .et_pb_circle_counter .percent { opacity: 1 !important; }
.divi-root .li-follow { display: inline-flex; flex-direction: column; align-items: stretch; text-decoration: none; font-family: Arial, sans-serif; font-size: 12px; }
.divi-root .li-btn { display: flex; align-items: center; background: #0a66c2; color: #fff; border-radius: 2px 2px 0 0; }
.divi-root .li-in { font-weight: 700; padding: 3px 6px; border-right: 1px solid rgba(255,255,255,.4); }
.divi-root .li-txt { padding: 3px 8px; font-size: 14px; }
.divi-root .li-count { background: #fff; color: #333; text-align: center; padding: 2px 0; border: 1px solid #ccc; border-top: 0; }
/* Blog post layout with right sidebar */
.divi-root #main-content .container { padding-top: 58px; }
.divi-root #left-area { float: left; width: 79.125%; padding-right: 5.5%; padding-bottom: 23px; }
.divi-root #sidebar { float: right; width: 20.875%; padding-left: 30px; padding-bottom: 28px; }
.divi-root #main-content .container:before { content: ""; position: absolute; top: 0; right: 20.875% !important; left: auto !important; width: 1px; height: 100%; background: #e2e2e2; }
.divi-root #main-content .container:after { content: ""; display: block; clear: both; }
.divi-root #left-area .et_pb_section, .divi-root #left-area .et_pb_row { width: 100%; max-width: none; padding-left: 0; padding-right: 0; }
.divi-root .et_pb_widget { margin-bottom: 30px; }
.divi-root .et_pb_widget ul { list-style: none; padding: 0; }
.divi-root .et_pb_widget li { margin-bottom: .5em; }
.divi-root .contact-address { padding: 40px 0; }
@media (max-width: 980px) {
  .divi-root #left-area, .divi-root #sidebar { float: none; width: 100%; padding: 0; }
  .divi-root #main-content .container:before { display: none; }
}

.divi-root #left-area .et_pb_post_title { padding: 0 !important; max-width: none; width: 100%; }
.divi-root #left-area .et_pb_fullwidth_section { padding: 0 0 40px !important; }
/* References grid (filterable portfolio) */
.divi-root .et_pb_filterable_portfolio .et_pb_portfolio_items { display: grid !important; grid-template-columns: repeat(4, 1fr); gap: 40px 5.5%; height: auto !important; }
.divi-root .et_pb_filterable_portfolio .et_pb_portfolio_item { display: block !important; opacity: 1 !important; width: auto !important; margin: 0 !important; position: static !important; transform: none !important; float: none !important; }
.divi-root .et_pb_filterable_portfolio .et_pb_portfolio_item.is-hidden { display: none !important; }
.divi-root .et_pb_portofolio_pagination, .divi-root .et_pb_portfolio_pagination { display: none !important; }
@media (max-width: 980px) { .divi-root .et_pb_filterable_portfolio .et_pb_portfolio_items { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .divi-root .et_pb_filterable_portfolio .et_pb_portfolio_items { grid-template-columns: 1fr; } }
.divi-root .et_pb_circle_counter .percent p, .divi-root .et_pb_circle_counter .percent span { visibility: visible !important; opacity: 1 !important; display: inline !important; }
.divi-root.et_full_width_page #left-area { width: 100% !important; padding: 0 !important; float: none !important; }
.divi-root.et_full_width_page #main-content .container::before { display: none !important; }
.divi-root.et_full_width_page #main-content .container { padding-top: 0 !important; }
/* Hover tooltips (PX module lists) */
.divi-root .et-tooltip { position: relative; cursor: help; border-bottom: 1px dotted currentColor; }
.divi-root .et-tooltip-box { position: absolute; left: 0; bottom: calc(100% + 10px); z-index: 20; width: 260px; padding: 10px 14px; border-radius: 4px; background: #2d3743; color: #fff; font-size: 13px; line-height: 1.5; opacity: 0; visibility: hidden; transition: opacity .2s; pointer-events: none; }
.divi-root .et-tooltip:hover .et-tooltip-box { opacity: 1; visibility: visible; }
.divi-root .et-tooltip-arrow { position: absolute; left: 20px; top: 100%; border: 6px solid transparent; border-top-color: #2d3743; }
/* Project grids inside narrow columns (project detail pages): 2 per row like the original */
.divi-root .et_pb_column_1_2 .et_pb_filterable_portfolio .et_pb_portfolio_items { grid-template-columns: repeat(2, 1fr); gap: 0 10%; }
.divi-root .et_pb_column_1_2 .et_pb_filterable_portfolio .et_pb_portfolio_item img { width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.divi-root .px-pager { display: flex; justify-content: flex-end; gap: 14px; margin-top: 16px; }
.divi-root .px-pager button { background: none; border: 0; padding: 0; color: #666; font: inherit; font-size: 14px; cursor: pointer; }
.divi-root .px-pager button.active, .divi-root .px-pager button:hover { color: #2ea3f2; }
.divi-root.pg-de__kontakt .et_pb_map { display: none !important; } .divi-root.pg-de__kontakt .et_pb_map_container { height: auto !important; }
