 .home .main-logo  * {
    fill: #fff ;	
}
.jobposts .elementor-post__read-more {    
	position: absolute;
	bottom: 15px;
}
.menulevel1 {
	padding-top: 20px;
}
.menulevel1 a{
	font-weight: 500 !important;
}
.menulevel2 {
    padding: 0 !important;
    margin: 10px 0px !important;
}
.jobposts .elementor-post__excerpt {
	margin-bottom:65px !important;
}
.skewlist ul ul {
	margin-top:20px
}
.menulevel2 > a {
    font-size: 20px!important;
    margin-left: 10px;
    line-height: 20px!important;
}
.eicon-close:before {
    content: '\e87f';
    font-size: 40px;
}
li.super-cat-post-filter.elementor-portfolio__filter.elementor-active {
    background: #fc3;
    border-radius: 50px;
    color: #000 !important;
    padding: 10px 30px;
    font-family: "DIN Next LT Pro", Sans-serif;
}
li.super-cat-post-filter.elementor-portfolio__filter {
	font-family: "DIN Next LT Pro", Sans-serif;
	color:#000;
}
.jobposts a.elementor-post__read-more {
    background: #fccc34;
    color: #000 !important;
		padding-top: 8px;
    padding-bottom: 4px;
		padding-left: 20px;
		padding-right: 20px;
    font-family: "DIN Next LT Pro", Sans-serif !important;
    font-size: 15px !important;
    font-weight: normal !important;
    text-transform: none !important;
}
.jobposts a.elementor-post__read-more:hover {
	background:#000 !important;
	color:#fccc34 !important
}
/* /jobs/ grid: fill the ratio box with every card image. Elementor crops to the box via JS-added
   elementor-fit-height classes; without them a wide thumbnail ends short of the box and shows a
   grey band under the photo (Java Kotlin, Senior Regulatory). */
.jobposts .elementor-post__thumbnail img {
	position: absolute !important;
	left: 0 !important;
	top: 0 !important;
	width: 100% !important;
	height: 100% !important;
	transform: none !important;
	object-fit: cover;
}
.rotatedimage img {
	height:200px
}
.rotatedimage {
		overflow:hidden;
	  position:relative;
		clip-path: polygon(0 0,65% 0,100% 100%,35% 100%);
		overflow:hidden;
}
.rotatedimage:before {
	background-color: rgba(255, 191, 0, 0.8);
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    position: absolute;
    content: "";
		overflow:hidden;
	z-index:1;
}
.hrhr {
 height: 3px;
background-color: #000 !important;
border: none;
}
#footerinnerlinks a {
    position: relative;
}
#footerinnerlinks a {
    color: #fff;
}
#footerinnerlinks a:hover {
	color: #ffbf00;
	    outline: 0;
}
#footerinnerlinks a:before {
	    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 1px;
    background-color: #fff;
}
#footerinnerlinks a:after {
	    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 1px;
    -webkit-transform: scaleX(0);
    -moz-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transition: background-color;
    -moz-transition-duration: .6s;
    -webkit-transition: transform;
    -moz-transition: transform;
    transition: transform;
    -webkit-transition-duration: 0.25s;
    -moz-transition-duration: 0.25s;
    transition-duration: 0.25s;
    -webkit-transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
    -moz-transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
    transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
    -webkit-transform-origin: left center;
    -moz-transform-origin: left center;
    transform-origin: left center;
    background: #ffbf00;
}
#footerinnerlinks a:hover:after {
	    -webkit-transform: scaleX(1);
    -moz-transform: scaleX(1);
    transform: scaleX(1);
    -webkit-transform-origin: right center;
    -moz-transform-origin: right center;
    transform-origin: right center;
    background: #ffbf00;
}
#topnav {
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100px;
}
.main-logo { 
width:171px !important}
@media only screen and (max-width: 768px) {
	.elementor-nav-menu a, .elementor-nav-menu a:focus, .elementor-nav-menu a:hover {
    padding: 10px 20px;
    line-height: 0px !important;
}
.main-logo  { width:100px !important;}
	.elementor-645 .elementor-element.elementor-element-4547b608 > .elementor-widget-container {
    margin: 19px;
}
	#topnav {
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:80px;
}
}
 .elementor-sticky--effects { background-color:#fff
}
.elementor-sticky--effects  .main-logo  * {
    fill: #000 !important; 
}
.addressbox {
	    max-width: 250px;
	min-width:200px;
    margin-left: auto;
    margin-right: auto;
}
.servicetitle:before {
	    content: "";
    background-color: #ffbf00;
    width: 40px;
    height: 10px;
    -moz-transform: skew(-30deg, 0deg);
    -o-transform: skew(-30deg, 0deg);
    -ms-transform: skew(-30deg, 0deg);
    -webkit-transform: skew(-30deg, 0deg);
    transform: skew(-30deg, 0deg);
    left: -58px;
    top: 5px;
    position: absolute;
}
.main-logo  {width:200px; z-index:9999999;}
.yellowstripe:before {
    left: 21.6%;
    top: 0px;
    bottom: 0;
    position: absolute;
    content: "";
    width: 120px;
    background-color: rgba(255, 191, 0, 0.8);
    transform: skew(27deg,0deg);
    display: block;}
.yellowoverlay:hover:before {
    left: 0;
    transition: all 0.25s ease;
}
.yellowoverlay:before {
    content: "";
    left: 100%;
    right: 0;
    top: 0;
    bottom: 0;
    background-color: rgba(255, 191, 0, 0.8);
    position: absolute;
    z-index:1;
}
.staffimage {
clip-path: polygon(0 0, 55% 0, 100% 100%, 45% 100%);
}
.staffimage:hover:before {
    left: 100%;
    transition: all 0.25s ease;
}
.staffimage:before {
    content: "";
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background-color: rgba(255, 191, 0, 0.8);
    position: absolute;
    z-index:1;
}
.officebox h3 {
	font-family: "Neue Aachen Pro Book"
}
.officebox p {
	font-family: "DIN Next LT Pro"
}
/* Home offices (the four white cards): every address line stays on one line.
   The cards are 200px wide with 20px side padding, so the two longest lines
   ("Tower B/6. Floor/Top 01", "AT-1100 Vienna, Austria") used to break and
   leave "01" / "Austria" alone on their own line. */
.elementor-8 .officebox p {
	white-space: nowrap;
}
.officebox a {
 color:#000
}
.footer a {
	color:#fff
}
.menulevel2 a {
	font-size:20px !important;
	margin-left:10px;
	line-height:20px !important
}
#staff1{
	width: 210px !important;
	height:175px !important;
}
#staff3 {
	width: 255px !important;
	height:230px;
    position: relative;
    left: -400px;
    top: -110px;
}
#staff4 {
	width: 255px !important;
	height:230px;
    position: relative;
    left: 350px;
    top: -190px;
}
#staff5 {
	width: 255px !important;
	height:230px;
    position: relative;
    left: 183px;
    top: -330px;
}
#staff6 {
	width: 255px !important;
	height:230px;
    position: relative;
    left: 68px;
    top: -80px;
}
.skewlist ul {
	list-style:none;
	margin:0;
}
.skewlist li {
	    margin-bottom: 25px;
    position: relative;
}
.skewlist li:before {
  content: "";
  height: 20px;
  width: 5px;
  background-color: #ffbf00;
  position: absolute;
  left: -27px;
  top: -3px;
  -moz-transform: skew(30deg, 0deg);
  -o-transform: skew(30deg, 0deg);
  -ms-transform: skew(30deg, 0deg);
  -webkit-transform: skew(30deg, 0deg);
  transform: skew(30deg, 0deg); }
.skewlist li:hover:before {
  -moz-transform: skew(-30deg, 0deg);
  -o-transform: skew(-30deg, 0deg);
  -ms-transform: skew(-30deg, 0deg);
  -webkit-transform: skew(-30deg, 0deg);
  transform: skew(-30deg, 0deg); }
  .skewlist {
          margin: 0;
    list-style-type: none;
}
:before, :after, a, a img, button, input[type="button"], input[type="reset"], input[type="submit"] {
    backface-visibility: hidden;
    -webkit-transition: all 0.25s ease;
    -moz-transition: all 0.25s ease;
    -ms-transition: all 0.25s ease;
    -o-transition: all 0.25s ease;
    transition: all 0.25s ease;
}
.sectiontitle h2:before {
    left: -45px;
    top: 30px;
}
.sectiontitle h2:before {
    content: "";
    background-color: #ffbf00;
    width: 40px;
    height: 10px;
    -moz-transform: skew(-30deg, 0deg);
    -o-transform: skew(-30deg, 0deg);
    -ms-transform: skew(-30deg, 0deg);
    -webkit-transform: skew(-30deg, 0deg);
    transform: skew(-30deg, 0deg);
    left: -58px;
    top: 25px;
    position: absolute;
}
.sectiontitle2 h2:before {
    left: -45px;
    top: 30px;
}
.sectiontitle2 h2:before {
    content: "";
    background-color: white;
    width: 40px;
    height: 10px;
    -moz-transform: skew(-30deg, 0deg);
    -o-transform: skew(-30deg, 0deg);
    -ms-transform: skew(-30deg, 0deg);
    -webkit-transform: skew(-30deg, 0deg);
    transform: skew(-30deg, 0deg);
    left: -58px;
    top: 25px;
    position: absolute;
}
.menuleftend:before{
    content:'';
    width:100%; 
    height:100%;
    position:absolute;
    top:0; 
    left:-25px;
    background:#ffcc33;
    z-index:0;
    transform: skewX(20deg);
    transform-origin:0 0;
}
.teamnamehr {
	-webkit-transition: all 0.25s ease;
    -moz-transition: all 0.25s ease;
    -ms-transition: all 0.25s ease;
    -o-transition: all 0.25s ease;
    transition: all 0.25s ease;
    height: 2px;
    background: black;
    content: "";
    right: 0;
    margin: 0;
}
.menulevel2 > a {
    font-size: 20px!important;
    margin-left: 10px;
    line-height: 22px!important;
}
.elementor-137 .elementor-element.elementor-element-bda984d .elementor-nav-menu--main:not(.elementor-nav-menu--layout-horizontal) .elementor-nav-menu > li:not(:last-child) {
    margin-bottom: 20px !important;
margin-top:30px;
}
#staff_1 {
	width: 275px !important;
	height:230px;
  position: relative;
	left: -20px;
  top: 10px;
}
#staff_2 {
	width: 275px !important;
	height:230px;
  position: relative;
	left: -150px;
  top: -140px;
}
#staff_3 {
	width: 275px !important;
	height:230px;
  position: relative;
	left: -155px;
	top: 30px;
}
#staff_4 {
	width: 275px !important;
	height:230px;
  position: relative;
	left: 70px;
	top: 10px;
}
#staff_5 {
	width: 275px !important;
	height:230px;
  position: relative;
	left: -50px;
	top: -135px;
}
#staff_6 {
	width: 275px !important;
	height:230px;
  position: relative;
	left: -60px;
	top: 30px;
}
#staff_7 {
	width: 275px !important;
	height:230px;
  position: relative;
	left: 320px;
	top: -130px;
}
#staff_8 {
	width: 275px !important;
	height:230px;
  position: relative;
	left: 280px;
	top: -590px;
}
#staff_9 {
	width: 275px !important;
	height:230px;
  position: relative;
	left: 100px;
	top: -340px;
}
#staff_10 {
	width: 275px !important;
	height:230px;
  position: relative;
	left: 740px;
	top: -340px;
}
.staffimage2 {
clip-path: polygon(0 0, 70% 0, 100% 100%, 30% 100%);
}
.staffimage2:hover:before {
    left: 100%;
    transition: all 0.25s ease;
}
.staffimage2:before {
    content: "";
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background-color: rgba(255, 191, 0, 0.8);
    position: absolute;
    z-index:1;
}
.staffimage3 {
clip-path: polygon(0 0, 70% 0, 100% 100%, 30% 100%);
}
.staffimage3:hover:before {
    left: 100%;
    transition: all 0.25s ease;
}
.staffimage3:before {
    content: "";
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
	  margin-bottom: 30px;
    background-color: rgba(255, 191, 0, 0.8);
    position: absolute;
    z-index:1;
}

/* Contact page: email note in place of the form (2026-10-22). The form block is archived in
   src/archive/contact-form.html; remove these rules together with that revert. */
.contact-email p {
	font-family: "DIN Next LT Pro", Sans-serif;
	font-size: 22px;
	line-height: 1.6;
	color: #000;
	margin: 0;
}
.contact-email a {
	color: #000;
	font-weight: 700;
	text-decoration: underline;
}
.contact-email a:hover {
	color: #000;
}
/* phone: keep the note off the screen edges (the form's fields were full-bleed) */
@media (max-width: 767px) {
	.contact-email {
		padding: 0 20px;
	}
	.contact-email p {
		font-size: 20px;
	}
}
