/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Mar 20 2024 | 15:45:27 */
:root {
    --corporate: #f9a71f;
  	--orange: #f9a71f;
  	--blue: #39acde;
  	--darkgrey: #222222;
  	--midgrey: #666666;
  	--lightgrey: #cccccc;
	--green: #86af00;
	--teal: #2fa79b;
	--jobColorHex: #f9a71f;
	--jobColorRGBA: rgb(249, 167, 31, 0.25);
}




footer {
  	display: none;
}

html {
  	margin: 0 !important;
  	padding: 0 !important;	
  	width: 100% !important;
  	overflow-x: hidden !important;
}
body {	
  	font-family: "Montserrat", sans-serif;
  	font-size: 16px;
  	line-height: 1.6em;	
	font-weight: 500;
  	margin: 0;
  	padding: 0;	
  	width: 100% !important;
  	color: #111111;
  	background: #ffffff;
}
@media only screen and (max-width: 1200px) {
	body { font-size: 15px; line-height: 1.5em; }
}
@media only screen and (max-width: 1024px) {
	body { font-size: 15px; line-height: 1.5em; }
}
@media only screen and (max-width: 767px) {
	body { font-size: 15px; line-height: 1.4em; }
}

aside#secondary {
	display: none !important;
}

body.home {
  	background: #000000;
}
p { 
  	font-family: "Montserrat", sans-serif;
  	color: #111111;
  	font-weight: 500;
  	margin-top: 1em;
  	margin-bottom: 1em;
}
h1, h2, h3, h4, h5, h6 {
  	font-family: 'Montserrat', sans-serif;
  	color: #111111;
  	font-weight: 400;
  	line-height: 1.4em;
}
h1 {
  	font-weight: 300;
  	font-size: 60px;
  	line-height: 1.1em;
  	text-transform: uppercase;
}
h2 {
  	font-weight: 700;
  	font-size: 40px;
  	padding-bottom: 0.2em;
}
h3 {
    font-weight: 700;
    text-transform: uppercase;
    font-size: 20px;
    letter-spacing: .03em;
}
h4 {
    font-weight: 700;
    font-size: 30px;
}
h5 {
    font-weight: 700;
    font-size: 14px;
    letter-spacing: .1em;
}
h6 {
  	font-weight: 200;
  	font-size: 28px;
  	text-transform: uppercase;
    letter-spacing: .1em;
}
h6 strong {
  	font-weight: 400;
  	font-size: 30px;
}
ul {
 	list-style: none;
  	padding-left: 0;
  	margin-left: 0;
}
a {
  	color: #f9a71f;
}
a:hover {
  	color: #39acde;
}

#content.site-content {
  	margin: 0;
  	padding: 0;	
}
#content .container {
 	width: 100%;
  	max-width: 100%;
}

.navbar-toggler, #main-nav {
 	display: none !important; 
}
.sectionanchor {
  	position: absolute;
  	top: -60px;
  	height: 0;
  	width: 0;
}
/* make the spacer elements more visible in the CMS (orange) */
body.elementor-editor-active .elementor-widget-spacer {
    background: rgba(0,255,196,0.4);
}
body.elementor-editor-active .desktop.elementor-widget-spacer {
    background: rgba(0,100,196,0.4);
}
body.elementor-editor-active .mobile.elementor-widget-spacer {
    background: rgba(140,100,196,0.4);
}

body.elementor-editor-active #page .elementor-section-wrap > section:nth-of-type(1) {
 	margin-top: 100px;
}

@media only screen and (min-width: 768px) {
  	.elementor-inner-section > .elementor-container.elementor-column-gap-default .elementor-column-wrap.elementor-element-populated {
		/*
    	padding-left: 20px;
    	padding-right: 20px;
		*/
  	}
}





/* header --------------------------------------------------------------------------------------------------------------------- */

.header {
  position: fixed;
  width: 100%;
  z-index: 99;
  height: 66px;
}

.header-logo {
  top: -10px;
  left: 10px;
}
@media only screen and (max-width: 767px) {
  div.header-logo { width: 180px !important; position: fixed; top: 3px; margin-top: 0 !important; margin-left: 0 !important; }
}
#masthead:not(.sticky_cr) {
  	position: absolute;
  	top: -500px !important;
}
#masthead .container {
  	width: 100%;
  	max-width: 100%;
  	margin: 0 !important;
  	padding: 0 !important;
}
#masthead.sticky_cr {
  	margin: 0;
  	padding: 0;
  	display: block;
  	height: 65px;
  	z-index: 999;
  	width: 100%;
 	background-color: rgba(0,0,0,0.7);
    transition: all 0.5s ease;
  	-webkit-box-shadow: 0px 6px 6px rgba(0, 0, 0, 0.15) !important;
  	box-shadow: 0px 6px 6px rgba(0, 0, 0, 0.15) !important;
}
#masthead.sticky_cr .navbar-brand {
  	top: 0px !important;
  	left: 20px !important;
  	padding: 0 !important;
  	margin: 0 !important;
}
#masthead.sticky_cr .navbar-brand img {
  	width: 50vw;
  	max-width: 280px;
  	height: auto;
    transition: all 0.8s ease;
  	padding: 0 !important;
  	margin: 19px 0 0 19px !important;
}


/* RESPONSIVE MENU ---------------------------------------------------------------------------------------- */

button#responsive-menu-button {
 	right: 10px; 
}

#responsive-menu-wrapper {
 	background: rgba(0,0,0,0) !important;
}
#responsive-menu-container {
 	background: rgba(22,22,22,1) !important;
}


@media screen and (max-width: 8000px) {
	body.responsive-menu-slide-right div#responsive-menu-container.slide-right { transform: translateX(150%); -ms-transform: translateX(150%); -webkit-transform: translateX(150%); -moz-transform: translateX(150%); }
	.responsive-menu-open body.responsive-menu-slide-right div#responsive-menu-container.slide-right { transform: translateX(0); -ms-transform: translateX(0); -webkit-transform: translateX(0); -moz-transform: translateX(0); }
}


#responsive-menu-container #responsive-menu a {
  	border-bottom: none !important;
  	background-color: rgba(0,0,0,0) !important;
}
  /*eigenes*/
#responsive-menu-container #responsive-menu > li.responsive-menu-item-has-children a { 
  display: block; 
  margin-left: 0px;
}


#responsive-menu-container #responsive-menu > li.responsive-menu-item > a {
  	font-family: "Montserrat", sans-serif;
 	text-transform: uppercase; 
  	letter-spacing: .05em;
  	font-weight: 400;	
    width: 50%;
  	margin-right: 50%;
  	padding: 0 20px 0 0;
    display: inline-block;
  	border-right: #999999 1px solid !important; 
}
#responsive-menu-container #responsive-menu > li.responsive-menu-item.current-menu-item > a {
  	border-right: #ffffff 1px solid !important; 
}
#responsive-menu-container #responsive-menu > li.responsive-menu-item.current-page-ancestor > a {
  	border-right: #ffffff 1px solid !important; 
}
#responsive-menu-container #responsive-menu > li.responsive-menu-item-has-children a { 
  	margin-right: 0;
}
#responsive-menu-container #responsive-menu > li.responsive-menu-item > ul {
    width: 50%;
    display: inline-block !important;
  	text-align: left;
  	padding-left: 10px !important;
  	position: relative;
  	float: right;
  	margin-bottom: 20px;
}
#responsive-menu li ul li {
    display: inline-block !important;
  	position: relative;
  	top: 0px;
  	height: 10px !important;
  	line-height: 10px !important;
}
#responsive-menu li ul li a {
  	font-size: 22px !important;
  	line-height: 30px;
  	padding: 0 10px 0 10px !important;
  	white-space: nowrap;
  	height: 10px !important;
  	line-height: 10px !important;
}

.responsive-menu-subarrow {
 	display: none; 
}

.privatelink {
	color: var(--blue) !important;
	white-space: nowrap;
}

#responsive-menu-container #responsive-menu li.responsive-menu-item .responsive-menu-item-link {
	float: left !important;
}

@media {
  #responsive-menu-container {width: 30% !important; padding-top: 65px !important;}
  #responsive-menu-container #responsive-menu > li.responsive-menu-item > a { margin-right: 0; display: block; padding: 0 10px 0 0; border-right: 0 !important;}
  #responsive-menu-container #responsive-menu > li.responsive-menu-item > a { height: 40px !important; text-align: left; margin-left: 20px; }
  #responsive-menu-container #responsive-menu > li.responsive-menu-item.current-menu-item > a { border-right: 0 !important; }
  #responsive-menu-container #responsive-menu > li.responsive-menu-item.current-page-ancestor > a { border-right: 0 !important; }
  #responsive-menu-container #responsive-menu > li.responsive-menu-item > ul { display: block; width: 100%; text-align: center;  }
  #responsive-menu li ul li { display: block !important; height: 30px !important; line-height: 30px !important; }
  #responsive-menu-container #responsive-menu li.responsive-menu-item .responsive-menu-item-link {font-size: 20px !important; margin-left: 40px !important;} 
  #responsive-menu-container #responsive-menu > li.responsive-menu-item > ul { padding-left: 70px !important; }
  .elementor-10 .elementor-element.elementor-element-59f6702{text-align: center !important;}
  .huge h1 {font-size: 75px !important;}
  .elementor-1220 .elementor-element.elementor-element-92afee7 .elementor-spacer-inner {height: 0px !important;}
  .elementor-1220 .elementor-element.elementor-element-c7756cb .elementor-spacer-inner {height: 0px !important;}
  #responsive-menu-container #responsive-menu ul.responsive-menu-submenu li.responsive-menu-item a {margin: 8px !important;}
}

@media (max-width: 930px) {
  #responsive-menu-container {width: 100% !important; padding-top: 65px !important;}
  #responsive-menu-container #responsive-menu > li.responsive-menu-item > a { margin-right: 0; display: block; padding: 0 10px 0 0; border-right: 0 !important;}
  #responsive-menu-container #responsive-menu > li.responsive-menu-item > a { height: 50px !important; text-align: left; margin-left: 20px; }
  #responsive-menu-container #responsive-menu > li.responsive-menu-item.current-menu-item > a { border-right: 0 !important; }
  #responsive-menu-container #responsive-menu > li.responsive-menu-item.current-page-ancestor > a { border-right: 0 !important; }
  #responsive-menu-container #responsive-menu > li.responsive-menu-item > ul { display: block; width: 100%; text-align: center; padding-top: 10px; }
  #responsive-menu li ul li { display: block !important; height: 30px !important; line-height: 30px !important; }
  #responsive-menu-container #responsive-menu li.responsive-menu-item .responsive-menu-item-link{ font-size: 19px !important; margin-left: 20px !important; font-weight: 400; }
  #responsive-menu-container #responsive-menu > li.responsive-menu-item > ul { padding-left: 10px !important; }
  .elementor-10 .elementor-element.elementor-element-59f6702{text-align: center !important;}
  .huge h1 {font-size: 75px !important;}
  .elementor-1220 .elementor-element.elementor-element-92afee7 .elementor-spacer-inner {height: 0px !important;}
  .elementor-1220 .elementor-element.elementor-element-c7756cb .elementor-spacer-inner {height: 0px !important;}
  .elementor-4708 .elementor-element.elementor-element-6719ebe{text-align: center !important;}
  .header-logo{margin-top: -20px !important; margin-left: 0px !important;}
  .section #start { width: 230vh !important;}
  .body.home #start{ width: 230vh !important; background-size: cover !important;}
  h1 { font-size: 1.8em !important; font-weight: 400 !important; }
  #joboffer ul {margin-left:15px !important;}
  h3{font-size:1em !important;}
  .elementor-272 .elementor-element.elementor-element-813e43d .elementor-spacer-inner {height:0px !important;}
  /*.elementor-widget-wrap{align-content: center !important;} */
  /*.elementor-5080 .elementor-element.elementor-element-24823b1e img{margin-top:-30px !important;}*/
  .pagetitle h1{font-size:40px !important;}
  body.home #start #filmtext{font-size: 50px !important; }
}
@media (max-width: 767px) {
	/*
	.optimizedwrap .elementor-column-wrap { padding: 0 !important; }
	.optimizedwrap .elementor-column-wrap .elementor-widget-wrap { padding: 0 !important; }
	*/
}

@media (max-width: 700px) {
  .huge h1 {font-size: 35px !important;}
  .elementor-1220 .elementor-element.elementor-element-92afee7 .elementor-spacer-inner {height: 0px !important;}
  .elementor-1220 .elementor-element.elementor-element-c7756cb .elementor-spacer-inner {height: 0px !important;}
  /*#responsive-menu-container #responsive-menu li.responsive-menu-item .responsive-menu-item-link { font-size: 10px !important; } */
  #responsive-menu-container #responsive-menu ul.responsive-menu-submenu li.responsive-menu-item a{margin:0px !important; margin-left:30px !important;}
  
}



/* hide imp & dat */
#responsive-menu-container #responsive-menu > li:nth-last-of-type(1),
#responsive-menu-container #responsive-menu > li:nth-last-of-type(2) {
	display: none;
}




/* LANGUAGE SWITCH -------------------------------------------------------------------------------------------------------------------------- */


.lang_switch p {
	display: inline-block;
    padding: 2px 10px;
    margin-right: 10px;
    background: #ffffff;
    border: #000000 1px solid;
    cursor: pointer;
	color: #000000;
}
.lang_switch p:hover {
    background: #cccccc;
}
.lang_switch p.activelang {
	background: #333333;
	color: #ffffff;
}
.hidelang { 
	display: none;
}
body.elementor-editor-active .lang_en { background-color: #ccffff; }


/* filterable gallery --------------------------------------------------------------------------------------------------- */
	
.eael-filter-gallery-wrapper {
  	margin-top: 20px;
}
.eael-gallery-grid-item:hover {
  	cursor: pointer;
}	
.eael-filter-gallery-control {
  align-items: start !important;
 	justify-content: left !important;
  	width: calc(100% - 10px);
  	margin-bottom: 20px;
  	margin-left: 5px;
}
#slideshow {
 	background: rgba(0,0,0,0.75); 
  	position: fixed;
  	left: 0;
  	top: 0;
  	width: 100%;
  	height: 100%;
  	z-index: 999;
  	display: none;
  	text-align: center;
}
.slideimage {
 	position: absolute;
  	left: 100vw;
  	transition: all .5s;
  	transition-timing-function: cubic-bezier(0.5, 0, 0.1, 1);
}
.slideimage img {
  	max-height: 80vh;
  	max-width: 80vw;
}
.slidearrow {
 	width: 50px;
  	height: 50px;
  	position: absolute;
  	top: calc(50% - 30px);
}
#prevarrow {
 	left: 0;
  	background: url(https://hh-vision.de/wp-content/uploads/Icon_PrevSlide.png) no-repeat;
}
#nextarrow {
 	right: 0;
  	background: url(https://hh-vision.de/wp-content/uploads/Icon_NextSlide.png) no-repeat;
}
#closeslideshow {
 	width: 50px;
  	height: 50px;
 	position: absolute;
  	top: 3px;
  	right: 0;
  	background: url(https://hh-vision.de/wp-content/uploads/Icon_CloseSlideshow.png) no-repeat;
}
.fg-item-title {
  	font-weight: normal;
  	font-size: 18px;
}
.fg-item-content p {
 	color: #ffffff; 
}
.slidetitle {
	position: absolute;
  	bottom: calc(100% + 10px);
  	left: 0;
  	width: 100%;
  	text-align: center;
  	color: #ffffff;
  	font-size: 18px;
}
.slidetext {
	position: absolute;
  	top: calc(100% + 10px);
  	left: 0;
  	width: 100%;
  	text-align: center;
  	color: #ffffff;
}



/* LOADER -------------------------------------------------------------------------------------------------- */


#start #loadersnippet {
	width: 100%;
	position: absolute;
	top: 45%;
	text-align: center;
	opacity: 1;
	transition: all .2s linear;
}
#start #loadersnippet.fadeout {
	opacity: 0;
}
#start #loadersnippet.remove {
	display: none;
}

#start #loadersnippet #loadercontainer {
	position: absolute;
	left: 50%;
	width: 150px;
	height: 150px;	
	transform: translate(-50%, -50%);
	transform-origin: 50% 50%;
}
#start #loadersnippet #loader {
    width: 150px;
    height: 150px;
    border-radius: 50%;
    border: 3px solid transparent;
    border-top-color: var(--corporate);
    -webkit-animation: spin 2s linear infinite;
    animation: spin 2s linear infinite;
    z-index: 1001;
}
#start #loadersnippet #loader::before {
	content: "";
    position: absolute;
    top: 5px;
    left: 5px;
    right: 5px;
    bottom: 5px;
    border-radius: 50%;
    border: 3px solid transparent;
    border-top-color: var(--corporate);
    -webkit-animation: spin 3s linear infinite;
    animation: spin 3s linear infinite;
}
#start #loadersnippet #loader::after {
	content: "";
    position: absolute;
    top: 12px;
    left: 12px;
    right: 12px;
    bottom: 12px;
    border-radius: 50%;
    border: 3px solid transparent;
    border-top-color: var(--corporate);
    -webkit-animation: spin 1.5s linear infinite;
    animation: spin 1.5s linear infinite;
}

body.home.elementor-editor-active #start #loadersnippet { display: block !important; height: 50px; opacity: 1; width: 100%; background-color: rgba(255,0,0,0.5); }
/*
body.c_c_r #start #loadersnippet { display: block; }
*/








/* START (FILM) -------------------------------------------------------------------------------------------- */


body.home #start {
 	height: calc(100vh - 65px);
  	position: fixed;
  	top: 65px;
  	left: 0;
  width:100%;
}
body.home #start .elementor-widget-video { 
	margin-bottom: 0 !important; 
}
body.home #start .videooverlay {
 	height: calc(100vh - 65px);
  	position: fixed;
  	top: 65px;
  	left: 0;
  	z-index: 1;
/* use with zoom only
background-size: 200%;
*/
}
body.home #start video {
 	height: calc(100vh - 65px);
}
body.home #start p {
 	color: #ffffff; 
}
body.home #start .animation {
  	transition: all .4s ease;
  	position: fixed;
  	top: calc(50vh - 120px);
  	z-index: 2;
}


body.home.elementor-editor-active #start { background: #333333; height: auto; position: relative; }
body.home.elementor-editor-active #start #startvideo { height: auto; position: relative; }
body.home.elementor-editor-active #start #startvideo video { height: 600px; position: relative; }
body.home.elementor-editor-active #start .videooverlay { position: relative; height: 200px; top: 300px; }
body.home.elementor-editor-active #start .animation { top: 200px; }

body.home #start #filmtext {
  	font-family: 'Montserrat', sans-serif;
  	font-size: 100px;
  	font-weight: 400;
 	line-height: 1.1em;
  	height: 140px;
  	width: 100%;
  	text-transform: uppercase;
  	text-align: center;
  	color: #ffffff;
  	position: fixed;
  	top: calc(40vh - 20px);
  	z-index: 2; 
}

@media only screen and (orientation: portrait) {
  body.home #start { height: calc(100vh - 1px) !important; }
  body.home #start > .elementor-container { height: 100%; }
  body.home #start .elementor-widget-video { height: 100%; }
  body.home #start .elementor-widget-video .elementor-widget-container { height: 100%; }
}
body.home.elementor-editor-active #start #filmtext {
  position: absolute;
}



/* WINTERBILDER-SLIDER ************************************************************************************************************************************************************************************************ */

body.home #start { 
	/*display: none;*/
}
body.home #startslider {
	display: none;
	position: absolute;
	top: 0;
	left: 0;
	width: 100% !important;
}
@media (max-width: 992px) and (orientation: portrait) {
	body.home #startslider { height: 50vw !important; }
}
body.home .elementor-widget-slides {
	margin-bottom: 0 !important;
}
body.elementor-editor-active body.home #start,
body.elementor-editor-active body.home #startslider {
	display: block !important;
}
body.home #karrieresticker {
	z-index: 999;
}

body.swisslife .title-xl-praesi-page {
    position: absolute;
    z-index: 100;
    bottom: calc(0px - 20px + 5%);
    right: 0;
}

body.swisslife .title-xl-praesi-page h1 {
	font-size: 5.2vw !important;
	display: none !important;
}
body.swisslife .elementor-widget-slides {
	margin-bottom: 0 !important;
}

body.swm-leverkusen .title-xl-praesi-page {
    position: absolute;
    z-index: 100;
    bottom: calc(0px - 20px + 7%);
    right: 2vw;
}
body.swm-leverkusen .title-xl-praesi-page h1 {
    opacity: 0.5;
    font-size: 15vw !important;
    line-height: 12vw !important;
}
/* ************************************************************************************************************************************************************************************************ */





/* INTRO -------------------------------------------------------------------------------------------------------------------- */

#intro_a {
  	position: relative;
  	top: calc(100vh - 110px);
  	height: 0;
	z-index: 9;
}
@media only screen and (orientation: portrait) {
  #intro_a { top: calc(100vh - 125px); }
}
body.home:not(.elementor-editor-active) #intro {
 	margin-top: 100vh;
}
#intro {
 	min-height: 35vh; 
}
.intronav {
 	overflow: hidden;
}
.intronav p {
 	margin-top: 0.6em; 
 	margin-bottom: 0.6em; 
}
.intronav a {
  	font-family: 'Montserrat', sans-serif;
 	color: #000000; 
  	line-height: 2em;
  	transition: all .3s ease-in-out;
  	position: relative;
  	padding: 4px 18px 5px 18px;
    padding-right: 18px;
    border-radius: 20px;
    height: 40px;
  	display: inline-block;
  	background-color: var(--corporate);
  	background-image: url(https://hh-vision.de/wp-content/uploads/Arrow_right_small_white.png);
    background-repeat: no-repeat;
    background-position: -400px 11px;
  	background-size: 22px;
}
.intronav a:hover {
 	color: #ffffff;  
  	background-color: #000000;
 	padding-right: 80px;
    background-position: calc(100% - 11px) 11px;
}
.intronav a em {
 	font-style: normal;
  	display: none;
  	font-weight: 700;
}
.intronav a strong {
  	font-weight: 700;
  	text-transform: uppercase; 
  	display: inline;
  	font-size: 20px;
  	letter-spacing: .05em;
}
.intronav a:hover strong {
 	color: #ffffff;  
}



@media only screen and (max-width: 767px) {
  	.intronav a { background-color: rgba(0,0,0,0); }
	#intro h1 { font-size: 50px !important; color: var(--orange); font-weight: 400; letter-spacing: 0.02em; margin-top: -5px; }
	#intro h4 { font-size: 21.6px; letter-spacing: 0.05em; text-transform: uppercase; }
}




/* INTRO PART 2 ---------------------------------------------------------------------------------------------------------- */

#intropart2 {
 	padding-top: 50vw; 
}
#intropart2 p {
 	color: #ffffff; 
  	margin-top: 1.5em;
  	margin-bottom: 1.5em;
	font-weight: 400;
}
.intronav2 {
  padding-top: 16px;
}
.intronav2 a {
  	font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    font-size: 20px;
    line-height: 34px;
	height: 40px;
    color: #ffffff;
    background-color: #444444;
    border-radius: 20px;
    display: inline-block;
    padding: 3px 18px 0px 18px;
  	padding-right: 18px;
    text-transform: uppercase;
    letter-spacing: 0.1em;
  	transition: all .2s ease-in-out;
  	background-image: url(https://hh-vision.de/wp-content/uploads/Arrow_right_small_black.png);
    background-repeat: no-repeat;
    background-position: -400px 12px;
  	background-size: 22px;
}
.intronav2 a:hover {
 	background-color: var(--corporate);
    font-weight: 600;
 	padding-right: 80px;
  	color: #000000;
    background-position: calc(100% - 11px) 12px;
}

@media only screen and (max-width: 767px) {
  #intropart2 { padding-top: 65vw; }
  .intronav2 p { margin-top: 12px; margin-bottom: 12px; }
  .intronav2 a {  }
  #intropart2 .vrule { margin-top: -15px; margin-bottom: -35px; }
}

/* PROJEKTLINKS AUF HOMEPAGE -------------------------------------------------------------------------------------------------------------------- */

body.home .projektlinks .elementor-posts .elementor-post__card .elementor-post__read-more::before {
	content: 'Mehr lesen';
}




/* ANFRAGE SCHICKEN LEISTUNGEN BUTTON ------------------------------------------------------------------------------------------------------------- */
.anfrage {
 	overflow: hidden;
}
.anfrage p {
 	margin-top: 0.6em; 
 	margin-bottom: 0.6em; 
}
.anfrage a {
  	font-family: 'Montserrat', sans-serif;
    font-size: 1.5em;
    color: var(--corporate);
    line-height: 2em;
    transition: all .3s ease-in-out;
    position: relative;
    padding: 6px 25px 5px 70px;
    border-radius: 30px;
    height: 60px;
    display: inline-block;
    background-color: #333333;
    background-image: url(https://hh-vision.de/wp-content/uploads/Icon_mail_solid.png);
    background-repeat: no-repeat;
    background-position: 25px 50%;
    background-size: 28px;
}
.anfrage a:hover {
  	filter: saturate(0) brightness(3);
  	background-color: #000000;
}
.anfrage a em {
 	font-style: normal;
  	display: none;
  	font-weight: 700;
}
.anfrage a strong {
  	font-weight: 700;
  	text-transform: uppercase; 
  	display: inline;
  	font-size: 21px;
  	letter-spacing: .05em;
}
.anfrage a:hover strong {
 	color: #ffffff;  
}

/* KARRIERETRENNER -------------------------------------------------------------------------------------------------------------------------------- */

#komminsteam {
  background: var(--corporate);
  padding-top: 50px;
  padding-bottom: 50px;
}
#komminsteam h1 {
  	color: #ffffff;
  	margin-bottom: -15px;
}
#komminsteam p {
  	font-size: 20px;
    line-height: 1.4em;
}
#komminsteam a {
  	margin-top: 20px;
  	background: #000000;
  	color: #ffffff;
  	border-radius: 100px;
  	padding: 10px 30px 9px 30px;
    display: inline-block;
    font-size: 24px;
    font-weight: 500;
    letter-spacing: 0.15em;
  	transition: all .2s ease-in-out;
}
#komminsteam a:hover {
  background: #ffffff;
  color: #000000;
}

/* KARRIERESTICKER (STÖRER) ------------------------------------------------------------------------ */

#karrieresticker {
  position: absolute;
  top: 100px;
  right: -350px;
  width: auto;
  transition: all .3s ease-in-out; 
  border-top-left-radius: 200px;
  border-bottom-left-radius: 200px;
  background: var(--corporate);overflow: hidden;
}
body.mobiledevice #karrieresticker {
	display: none !important;	
}
@media only screen and (max-width: 1024px) {
  #karrieresticker { display: none !important; visibility: hidden; }
}
#karrieresticker:hover {
  right: 0;
  cursor: pointer;
}

body.elementor-editor-active #karrieresticker {
  display: block;
}
#karrieresticker .elementor-inner-column:nth-of-type(1) {  
  padding-left: 40px;
  width: 340px;
  transition: all .3s ease-in-out;
}
#karrieresticker:hover .elementor-inner-column:nth-of-type(1) {  
  width: 180px;
}
#karrieresticker .elementor-inner-column:nth-of-type(2) {
  background: #333333;
  border-top-left-radius: 200px;
  border-bottom-left-radius: 200px;
  padding-left: 30px;
  width: 200px;
}
#karrieresticker .elementor-widget {
  margin-bottom: 0;
}
#karrieresticker h1 {
  font-size: 38px !important;
  font-weight: 400 !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #000000;
  transition: all .3s ease-in-out;
}
#karrieresticker:hover h1 {

}
#karrieresticker .stickerarrow { 
  position: absolute;
    top: 49%;
    right: 140px;
    width: auto;
  transition: all .3s ease-in-out;
  z-index: 5;
}
#karrieresticker:hover .stickerarrow {
  right: -25px;
}
#karrieresticker .hrule {
  height: 3px;
  width: 50px;
  background: #ffffff;
  transition: all .3s ease-in-out;
}
#karrieresticker .hrule div {
  	width: 3px;
    height: 20px;
    background: #ffffff;
    position: absolute;
  	transition: all .3s ease-in-out;
}
#karrieresticker .vruletop {
   	left: -1.5px;
    right: 100%;
    bottom: 1px;
    transform: rotate(45deg);
    transform-origin: 50% 100%;
}
#karrieresticker .vrulebottom {
    left: -1.5px;
  	right: 100%;
    top: 1px;
    transform: rotate(-45deg);
    transform-origin: 50% 0;
}
#karrieresticker:hover .hrule, #karrieresticker:hover .vruletop, #karrieresticker:hover .vrulebottom {
  background: #ffffff;
}
#karrieresticker:hover .vruletop {
    right: 1.5px;
  	left: 100%;
  	transform: rotate(-45deg);
}
#karrieresticker:hover .vrulebottom {
    right: 1.5px;
  	left: 100%;
  	transform: rotate(45deg);
}
#karrieresticker p {
  	color: var(--corporate);
    margin-top: 6px;
    font-size: 16px;
    line-height: 22px;
    margin-bottom: 0;
    padding-left: 5px;
}
#karrieresticker p:nth-of-type(2) {
	margin-top: 23px;
}



/* CLIENTS CAROUSEL ------------------------------------------------------------------------------------------------------------------------------------- */


/*
body.home .swiper-slide-inner img {
 	width: auto;
  	height: 120px;
}
body.home .swiper-container {
  	width: calc(100% - 100px);
}
*/


/* GALLERY STRIP PANEL BEFORE FOOTER ------------------------------------------------------------------------------------------------------------------ */

#themelinks .strippanel.top h3 {
    margin-top: 40px;
    margin-bottom: 40px;
}

/* elementor plugin ea image accordion */

#themelinks {
 	background: #ffffff; 
  	border-top: #999999 1px solid;
}
#themelinks .eael-img-accordion {
    height: 400px;
    overflow-x: hidden;
}
#themelinks .eael-img-accordion a {
  flex: 0.9; /* 0.2 is default for a more dramatic effect */
}
#themelinks .eael-img-accordion a::after {
    background-color: rgba(0,0,0,0);
}
#themelinks .eael-img-accordion a:hover::after {
    background-color: rgba(0,0,0,0.5);
}
#themelinks .eael-img-accordion .overlay-inner h2 {
  	font-family: 'Montserrat', sans-serif;
  	padding: 3px 10px 3px 10px;	
}
#themelinks .eael-img-accordion .overlay-inner p {
  	font-family: 'Montserrat', sans-serif;
  	padding: 3px 10px 3px 10px;	
  	margin: 0;
}
#themelinks .eael-img-accordion .overlay-inner p:nth-of-type(1) {
  	padding-top: 10px;
}
#themelinks .accordiontitle {
 	position: absolute;
  	left: 0;
  	bottom: 0;
	transform: rotate(-90deg);
  	transform-origin: 0 0;
    width: 200px;
  	height: 0;
  	overflow: visible;
  	z-index: 10;
}
#themelinks .accordiontitle span {
 	background: rgba(0,0,0,0);	
  	display: inline-block;
  	color: #ffffff;
  	font-size: 24px;
  	font-family: 'Montserrat', sans-serif;
  	font-weight: 400;
  	letter-spacing: 0.05em;
  	text-transform: uppercase;
  	padding: 12px 15px 8px 15px;
    border-bottom: #ffffff 1px solid;
    width: 100%;
    text-align: left;
}

@media only screen and (max-width: 800px) {
  #themelinks .eael-img-accordion { height: 600px; overflow-y: hidden; }
  #themelinks .eael-img-accordion a { flex: 1; width: calc(100vw - 30px); display: inline-block; margin: 0 15px 5px 15px; }
  #themelinks .accordiontitle { left: 0; bottom: 70px; width: 100%; transform: none; }
  #themelinks .accordiontitle span { border: 0; }
  #themelinks div { padding-left: 0 !important; padding-right: 0 !important; }
}


#themelinks .strippanel {
 	text-align: center; 
}
#themelinks .strippanel.bottom div {
 	visibility: visible !important; 
}
#themelinks .strippanel.bottom a {
  	font-family: 'Montserrat', sans-serif;
  	font-weight: 700;
  	font-size: 1.2em;
  	letter-spacing: 0.05em;
  	color: #111111;
  	background: url(https://hh-vision.de/wp-content/uploads/Arrow_link.png) no-repeat;
  	background-position: 100% 4px;
  	display: inline-block;
  	padding: 0 20px;
}
#themelinks .strippanel.bottom a:hover {
  	color: #f9a71f;
  	background-position: 100% -46px;
}


@media only screen and (max-width: 767px) {
  	#themelinks .strippanel h3 { margin: 0; }
  	#themelinks .strapline { padding-top: 15px; padding-bottom: 35px; }
  	#themelinks .strapline .footer-adress p { font-size: 24px; line-height: 1.3em; }
}



/* SHOWCASE ------------------------------------------------------------------------------------------------------- */

body.showcase.page-parent #themelinks .eael-img-accordion {
  	height: calc(100vh - 350px);
}
body.showcase.page-parent #themelinks .strapline::before {
	content: '';
	display: block;
	width: 50%;
	height: 1px;
	margin: 100px auto 20px auto;
	background-color: #222222;
}	
body.showcase.page-parent #themelinks .accordiontitle {
  	left: 0;
  	bottom: auto;
	top: 300px;
    width: 300px;
}
body.showcase.page-parent #themelinks .accordiontitle span {
  	font-size: 31px;
    font-weight: 400;
    padding: 18px 15px 14px 0px;
    text-align: right;
}
@media only screen and (max-width: 800px) {
	body.showcase.page-parent #themelinks .eael-img-accordion { height: 700px; overflow-y: hidden; }
	body.showcase.page-parent #themelinks .eael-img-accordion a { width: unset; }
	body.showcase.page-parent #themelinks .accordiontitle { transform: none; top: 0; }
	body.showcase.page-parent #themelinks .accordiontitle span { border-bottom: #ffffff 1px solid; }
}







body.showcase.page-parent .strippanel {
  	display: none;
}

body.showcase.page-child #start {
 	position: relative; 
 	height: 100vh; 
}
body.showcase.page-child .n2-ss-slide-background-image {

}
body.showcase.page-child .elementor-widget-shortcode { /* a slider */
  	position: fixed;
  	margin: 0;
}
body.showcase.page-child .n2-ss-control-bullet {
  	top: 75px !important;
}
.n2-bullet {
 	background: #ffffff !important;  
    padding: 3px 3px 3px 3px !important;
    border-color: #ffffff !important;
    border-color: rgba(255,255,255,1) !important;
    margin: 8px !important; 
}
.n2-bullet.n2-active {
 	background: #f9a71f !important;  
  	padding: 5px !important;
	margin-top: 6px !important;
}
body.showcase.page-child .nextend-bar {   
  	text-align: center;
    padding: 10px 0 30px 0 !important;
    background: rgba(0,0,0,0.4) !important;
}
body.showcase.page-child .nextend-bar span {
 	display: block !important; 
  	text-align: center !important;
  	padding: 5px;
}
body.showcase.page-child .nextend-bar span:nth-of-type(1) { 
  	font-size: 60px !important;
  	font-weight: 300 !important;
}
body.showcase.page-child .nextend-bar span:nth-of-type(2) { 
  	font-style: normal !important;
  	font-size: 16px !important;
}


@media (max-width: 767px) and (orientation: portrait) {
  body.showcase.page-child { background: #000000; }
  body.showcase.page-child .n2-ss-slider-1 { padding-top: 65px !important; }
  body.showcase.page-child .n2-ss-slide-background { height: 90vh !important; }
  body.showcase.page-child .nextend-bar { padding: 10px 0 10px 0 !important; background: rgba(0,0,0,1) !important; height: calc(40vh - 65px) !important; bottom: -65px; }
  body.showcase.page-child .nextend-bar span:nth-of-type(1) { font-size: 30px !important; padding: 15px 5px 15px 5px; }
  body.showcase.page-child .nextend-bar span:nth-of-type(2) { padding: 10px 5px 10px 5px; }
}
@media (max-width: 767px) and (orientation: landscape) {
  body.showcase.page-child .nextend-bar { padding: 0 0 0 0 !important; }
  body.showcase.page-child .nextend-bar span:nth-of-type(1) { font-size: 30px !important; padding: 0; }
  body.showcase.page-child .nextend-bar span:nth-of-type(2) { padding: 0; }
}




/* HEADER VIDEOS FOR LANDING PAGES ------------------------------------------------------------------------------------------ */

body:not(.home) #start {
 	position: fixed !important; 
  	top: 0;
  	height: 70vh;
}
body:not(.home).elementor-editor-active #start {
  position: relative !important;
}
body:not(.home) #start .elementor-background-video-container video {
 	height: 100% !important; 
}
.topsection {
 	margin-top: 65vh;
}
body.elementor-editor-active .topsection {
  margin-top: 50px;
}

/* TRENNER VIDEOS ------------------------------------------------------------------------------------------------------------ */

.subsection {
	background-color: #ffffff;
}
.subsection .elementor-background-video-container video {

}


/* SMALL VIDEOS ------------------------------------------------------------------------------------------------------------ */

.eicon-play {
  	font-size: 70px;
  	width: 100px;
  	height: 100px;
  	background-image: url(https://hh-vision.de/wp-content/uploads/VideoStart.png);
  	background-repeat: no-repeat;
  	background-position: 50% 50%;
}
.eicon-play:before {
    content: '\e89d';
  	content: "";
}

/* LEISTUNGEN -------------------------------------------------------------------------------------------------------- */

body.leistungen.page-parent #start {
  	
}
.leistunglinks a {
  	background-image: url(https://hh-vision.de/wp-content/uploads/LinkArrow.png);
  	background-position: calc(100% - 15px) 3.5px;
  	background-repeat: no-repeat;
  	padding-right: 40px;
  	padding-left: 40px;
  	transition: all 0.2s ease;
}
.leistunglinks a:hover {
  	background-position: 100% 3.5px;
  	color: #f9a71f !important;
}

@media (max-width: 767px) {
  .leistunglinks a { padding-left: 0; padding-right: 20px; background-position: 100% 3.5px; }
}


/* leistungen sub-page -------------------------------------------------------------------------------------------------- */





body:not(.home) #intro {
 	background: #171717; 
  	color: #dddddd;
}
body:not(.home) #intro .elementor-inner-section .elementor-inner-column:nth-of-type(1) .elementor-column-wrap {
 	border-right: #888888 1px solid;
}
body:not(.home) #intro a, body:not(.home) #intro p, body:not(.home) #intro li {
  	color: #dddddd;
}
body:not(.home) #intro a:hover {
  	color: #f9a71f;
}
body:not(.home) #intro .elementor-text-editor ul {
 	text-align: right; 
  	direction: rtl;
	list-style-type: disc;
  	margin-right: -1em;
	margin-top: 24px;
}
body:not(.home) #intro .elementor-text-editor li {
	padding: 0.3em 0;
  	color: #f9a71f;
	position: relative;
	/**/
	right: -10px;
	list-style-type: none;
	
}
body:not(.home) #intro .elementor-text-editor li::before {
	content: '';
    display: inline-block;
    background: #888888;
    position: absolute;
    right: -44px;
    top: 45%;
	width: 0px;
	height: 0px;
	border-radius: 100%;
    transform: translate(50%, -50%);
    transform-origin: 50% 50%;
	transition: all .2s ease-out;
}
body:not(.home) #intro .elementor-text-editor li:hover::before {
    background: #ffffff;	
	width: 8px;
    height: 8px;
}
body:not(.home) #intro .elementor-text-editor li::after {
	content: '';
    display: inline-block;
    width: 15px;
    height: 1px;
    background: #888888;
    position: absolute;
    right: -44px;
    top: 45%;
	transition: all .2s ease-out;
}
body:not(.home) #intro .elementor-text-editor li:hover::after {
    width: 40px;
    background: #ffffff;
    position: absolute;
}



@media (max-width: 767px) {
  body:not(.home) #intro .elementor-text-editor ul { text-align: left; direction: ltr; margin-left: 1em; margin-right: 0; }  
  body:not(.home) #intro .elementor-text-editor li { padding: 0 0; }
  body:not(.home) #intro .elementor-column-wrap { padding-bottom: 0; border: 0; }  
}

.subsection {
  	position: relative;
}
body:not(.elementor-editor-active) .subsection:not(.extended) {
  	height: 60vh;
  	max-height: 50vw;
}
body.elementor-editor-active .subsection:not(.extended) {
 	height: 400px;
}
.subsection > .elementor-container {
  	height: 100%;
}
.subsection > .elementor-container .elementor-widget-wrap {
  	align-content: center;
}
.subsection .icon {
 	width: 80px;
 	height: 80px;
}
.subsection h2 {
 	color: #ffffff !important;
  	margin-bottom: 90px !important;
  	font-weight: 200 !important;
  	font-size: 50px;
  	line-height: 1.3em;
  	text-transform: uppercase;
  
}


.subsectioncontent .elementor-inner-column:nth-of-type(1) .elementor-widget-text-editor {
	padding-right: 50px;
}
.subsectioncontent .elementor-inner-column:nth-of-type(2) .elementor-widget-text-editor {
	padding-left: 50px;
}
.subsectioncontent .elementor-inner-column .elementor-widget-text-editor:nth-last-of-type(1) {
	padding-bottom: 35px;
}
@media only screen and (max-width: 1024px) {
	.subsectioncontent .elementor-inner-column:nth-of-type(1) .elementor-widget-text-editor { padding-right: 20px; }
	.subsectioncontent .elementor-inner-column:nth-of-type(2) .elementor-widget-text-editor { padding-left: 20px; }
	.subsectioncontent .elementor-inner-column .elementor-widget-text-editor:nth-last-of-type(1) { padding-bottom: 15px; }
}
@media only screen and (max-width: 767px) { 
	.subsectioncontent .elementor-inner-column:nth-of-type(1) .elementor-widget-text-editor { padding-right: 0; }
	.subsectioncontent .elementor-inner-column:nth-of-type(2) .elementor-widget-text-editor { padding-left: 0; }
	.subsectioncontent .elementor-inner-column .elementor-widget-text-editor:nth-last-of-type(1) { padding-bottom: 0; }
}

.subsectioncontent h3 {
  	font-size: 26px; 
	letter-spacing: 0.02em;
}

.subsection h1{
  color: #ffffff !important;
}

@media (max-width: 767px) {
  body:not(.elementor-editor-active) .subsection:not(.extended) { height: 60vh; max-height: 70vw; }
  .subsectioncontent .elementor-column-wrap { padding: 10px !important; }
  .subsection .icon { width: 50px; height: 50px; }
  .subsection h2 { font-size: 30px; margin-bottom: 20px; font-weight: 400 !important; }
}


.subsection .elementor-widget-multi-layer-parallax {
 	min-height: 50vh;
  	margin: 0 !important;
}
.subsection .elementor-widget-multi-layer-parallax > .elementor-widget-container {
  	height: 100%;
}
.subsection .elementor-widget-multi-layer-parallax > .elementor-widget-container > .elementor-parallax {
  	height: 100%;
}
.subsection .overparallax {
 	position: absolute;
  	bottom: 0;
  	left: 0;
  	width: 100%;
}



body.leistungen.page-child #start {
 	position: relative; 
 	height: 70vh; 
}
body.leistungen.page-child #start > .elementor-container {
 	height: 100%; 
}
.pagetitle {
 	position: absolute;
  	bottom: 0;
  	left: 0;
  	z-index: 2;
}
body.elementor-editor-active.pagetitle {
  	position: relative;
}
.pagetitle .elementor-row > .elementor-column:nth-of-type(1) {
  	border-right: #ffffff 1px solid;
}
.pagetitle h1 {
 	font-size: 80px;
  	color: #ffffff;
  	margin-top: 0;
  	padding-top: 0;
}

.weiterlinks {
  
}
@media (max-width: 1300px) {
  .pagetitle h1 { font-size: 70px !important; letter-spacing: 0.02em; }
}
@media (max-width: 767px) {
  .pagetitle .elementor-row > .elementor-column:nth-of-type(1) { border: 0; }
  .pagetitle h1 { font-size: 45px !important; text-align: left; letter-spacing: 0; }
  .weiterlinks .elementor-text-editor { text-align: center !important; }
  .weiterlinks div { border: 0 !important; }
  .weiterlinks h2 { margin-top: 0 !important; padding-bottom: 0; margin-bottom: 0; font-size: 32px; }
  .weiterlinks p { padding-bottom: 0; margin-bottom: 0; line-height: 1em; }
  .weiterlinks .elementor-widget-divider { margin-top: -10px; margin-bottom: -50px; }
}

@media (max-width: 430px) {
  .pagetitle h1 { font-size: 30px !important; text-align: left; letter-spacing: 0; }
}


/* PANO -------------------------------------------------------------------------------------------------------------------------------------------------- */

#pano {
 	transition: all 0.4s; 
  	height: 800px;
}
#pano .elementor-widget-html {
 	height: 100%;
  	width: 100%;
  	position: absolute;
  	top: 0;
  	left: 0;
}
#pano .elementor-widget-html div {
 	height: 100%;
}
#pano iframe, #pano .elementor-widget-html iframe {
 	height: 100%; 
}
.elementor-editor-active iframe {
  /*
 	display: none; 
  */
}
#panonav {
 	padding: 5px; 
}


.model {
 	min-height: 400px; 
}
.model div, .model iframe {
  	height: 100%;
}




/* OTHER STANDARD PAGE (NOT CHILD) ------------------------------------------------------------------------------- */

body:not(.home) #start {
 	position: relative; 
 	height: 70vh; 
}
body:not(.home) #start > .elementor-container {
 	height: 100%; 
}


/* REFERENZEN ----------------------------------------------------------------------------------------------------- */

body.referenzen {
  
}
/* basic gallery widget */

#gallery-1 .gallery-item {
    margin-top: 0 !important;
  	padding: 0 15px 0 15px;
}
#gallery-1 img {
    border: none !important;
}
@media only screen and (max-width: 767px) {
  #gallery-1 br { display: none; }
  #gallery-1 .gallery-item { width: 50% !important; }
}


/* PROJEKTE INTERN ********************************************************************************************************************************** */

body.projekte-intern .d-block.mb-3 {
	margin-top: 150px;
}



/* PROJEKTE ********************************************************************************************************************************************* */

.customcss {
    display: none;
}

body.elementor-editor-active .customcss { display: block; }

.center_box {
	align-items: center;
}
.center_box .elementor-widget-wrap {
	align-content: center;
}
.bottom_box .elementor-widget-wrap {
	align-content: end;
}


iframe#pano_geldmuseum {
	height: 65vh;
}

/* PROJEKTLINKS ------------------------------------------------------------------------------------------- */

body.home .projektlinkscontainer > .elementor-container {
  max-width: 1340px;
}
body.home .projektlinks {	
	height: 360px;
}

.projektlinkscontainer .sliderarrow {
  width: 50px;
  height: 100%;
  background: #999999;
  position: absolute;
  top: 0;
  z-index: 2;
  transition: all .2s ease-in-out;
}
.projektlinkscontainer .sliderarrow.active {
  background: #444444;
}
.projektlinkscontainer .sliderarrow.active:hover { 
  background: #000000;
  cursor: pointer;
}

.projektlinkscontainer .slideprev { left: 0; }
.projektlinkscontainer .slidenext { right: 0; }

.projektlinkscontainer .sliderarrow img {
  width: 30px;
  max-width: 30px;
  position: absolute;
  top: calc(50% - 15px);
  transition: all .2s ease-in-out;
  filter: brightness(1) sepia(0) saturate(1); 
}

.projektlinkscontainer .sliderarrow.active:hover img { 
  filter: brightness(0.6) sepia(1) saturate(7);
}
.projektlinkscontainer .slideprev img { left: 10px; }
.projektlinkscontainer .slidenext img { right: 10px; }

.projektlinks {
  	line-height: 0;
  	overflow: hidden;
	margin: 0 auto;
  	width: calc(100% - 140px) !important;  	
  	margin-bottom: 0 !important;
}
.projektlinks .elementor-widget-container {
  	margin-left: 0;
  	transition: all 1s ease-in-out;
  	transition-timing-function: cubic-bezier(.56,.36,.27,1);
}

.projektlinks .elementor-posts .elementor-post__card { 
}
.projektlinks .elementor-posts .elementor-post__card.mouseover { 
  box-shadow: 0 0 15px 5px rgba(0,0,0,0.25);
  cursor: pointer;
}
.projektlinks .elementor-posts .elementor-post__card .elementor-post__thumbnail__link { 
 	height: 360px;
  	margin-bottom: 0;
}
.projektlinks .elementor-posts .elementor-post__card .elementor-post__thumbnail { 
 	height: 100%;
  	padding-bottom: 0 !important;
}
.projektlinks .elementor-posts .elementor-post__card .elementor-post__thumbnail img { 
 	height: 100%;
	width: 100%;
	object-fit: cover;
	object-position: 50% 50%;
 	transition: all .2s ease-in-out;
}
.projektlinks .elementor-posts .elementor-post__card.mouseover .elementor-post__thumbnail img { 

}
.projektlinks .elementor-posts .elementor-post__card .elementor-post__text {
  position: absolute;
  top: 0;
  left: 0;
  transition: all .2s ease-in-out;
  padding: 0 !important;
  margin: 0 !important;
  height: 100%;
  width: 100%;
  margin-bottom: 0;
}
.projektlinks .elementor-posts .elementor-post__card .elementor-post__title {
    position: absolute;
    top: 0;
  	left: 0;
  	width: 100%;
    background: rgba(0,0,0,0.4);
    color: #ffffff;
  	font-weight: 400;
    padding: 18px 15px 12px 15px !important;
    margin: 0 !important;
  	transition: all .2s ease-in-out;
}
.projektlinks .elementor-posts .elementor-post__card.mouseover .elementor-post__title {
    background: rgba(0,0,0,0.8);
}
.projektlinks .elementor-posts .elementor-post__card .elementor-post__title a {
   	color: #ffffff !important;
  	font-size: 20px !important;
  	font-weight: 500;
  	letter-spacing: 0;
}
.projektlinks .elementor-posts .elementor-post__card .elementor-post__excerpt { 
    background: rgba(0,0,0,0.4);
  	position: absolute;
  	bottom: 0;
  	left: 0;
  	width: 100%;
  	padding-bottom: 55px;
  	margin: 0;
    transition: all .2s ease-in-out;
}
.projektlinks .elementor-posts .elementor-post__card.mouseover .elementor-post__excerpt { 
    background: rgba(0,0,0,0.8);
  	bottom: 0;
}
.projektlinks .elementor-posts .elementor-post__card .elementor-post__excerpt p {
  	color: #ffffff;
  	padding: 15px;
  	font-size: 15px;
	font-weight: 400;
}
.projektlinks .elementor-posts .elementor-post__card .elementor-post__read-more {
  	position: absolute;
    bottom: 0;
    left: 0;
    font-size: 14px;
    line-height: 25px;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-bottom: 0;
    margin-top: 0;
    z-index: 9999;
    color: #ffffff;
    display: inline-block;
    width: 100%;
    height: 100%;
}
.projektlinks .elementor-posts .elementor-post__card .elementor-post__read-more::before {
	content: 'Zur Seite';
    background-color: rgba(0,0,0,0.4);
    border: #ffffff 1px solid;
    border-radius: 17px;
    color: #ffffff;
    height: 34px;
    padding: 3px 35px 2px 15px;
    display: inline-block;
    background-image: url(https://hh-vision.de/wp-content/uploads/Arrow_right_round.png);
    background-size: 20px;
    background-position: calc(100% - 8px) 6px;
    background-repeat: no-repeat;
    width: 170px;
    position: absolute;
    bottom: 20px;
    left: 15px;
    transition: all .2s ease-in-out;
}
.projektlinks .elementor-posts .elementor-post__card.mouseover .elementor-post__read-more::before {
	background-color: rgba(0,0,0,0);
  	width: 220px !important;
}

@media only screen and (max-width: 767px) {
	.projektlinks .elementor-posts .elementor-post__card .elementor-post__text { text-align: center; }
	.projektlinks .elementor-posts .elementor-post__card .elementor-post__excerpt p { text-align: center; }
	.projektlinks .elementor-posts .elementor-post__card .elementor-post__read-more { text-align: center; }
}





/* PROJEKTE LANDING PAGE ----------------------------------------------------- */


.shareprojectfilter {
   	max-width: calc(100% - 140px);
  	z-index: 2;
}

.shareprojectfilter a {
    background-color: rgba(0,0,0,0) !important;
    padding: 0;
    border-radius: 100%;
  	width: 50px !important;
    height: 50px;
    position: absolute;
    right: 0;
    top: 0;
}
.shareprojectfilter span {
  	width: 100%;
    height: 100%;
    display: inline-block;
    background: url(https://hh-vision.de/wp-content/uploads/Shareicon.png);
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: 30px;
}
.shareprojectfilter:hover {
  cursor: pointer;
  filter: saturate(0) brightness(0);
}
.shareprojectpopup {
  	z-index: 5;
  	position: absolute;
  	top: -180px;
    right: 30px;
    width: 600px !important;
    height: 130px;
    border-radius: 5px;
    background: #ffffff;
  	display: none;
}
body.elementor-editor-active .shareprojectpopup { display: inline-block; }

.shareprojectpopup.display {
  display: block;
}
.shareprojectpopup .elementor-text-editor {
  padding: 5px 20px;
}
.shareprojectpopup p {
  margin-top: 0.4em;
  margin-bottom: 0.5em;
}
.shareprojectpopup p:nth-last-of-type(1) {
  text-align: right;
}
.shareprojectpopup p strong {
  font-weight: 400;
  padding: 0 8px;
  border: #000000 1px solid;
  border-radius: 4px;
}
.shareprojectpopup a {
  background: var(--corporate);
  color: #ffffff;
  padding: 0 10px;
  border-radius: 4px;
}
.shareprojectpopup a:hover {
  background: #000000;
}





body.projekte.page-parent .filtercontainer .elementor-widget {
  max-width: calc(100% - 140px);
}
body.projekte.page-parent .filtermenu {
  margin-bottom: 0;
}
body.projekte.page-parent .filtermenu ul {
  text-align: center;
  visibility: hidden;
}
body.projekte.page-parent .filtermenu li {
  display: inline-block;
}
body.projekte.page-parent .filtermenu li a {
  display: inline-block;
    background-color: #999999;
    color: #ffffff;
    height: 36px;
    padding: 5px 15px;
    border-radius: 18px;
    margin: 7px;
}
body.projekte.page-parent .filtermenu li a:hover {
  background-color: #666666;
}
body.projekte.page-parent .filtermenu li a.active {
  background-color: #000000;
}


body.projekte.page-parent .projektlinks {
  margin-top: 40px;
}
body.projekte.page-parent .projektlinks article {
  overflow: hidden;
}
body.projekte.page-parent .projektlinks .elementor-posts .elementor-post__card .elementor-post__thumbnail__link { 
 	height: 400px;
}
body.projekte.page-parent .projektlinks .elementor-posts .elementor-post__card .elementor-post__thumbnail img { 
  transition: filter .2s ease-in-out;
}
body.projekte.page-parent .projektlinks .elementor-posts .elementor-post__card.mouseover .elementor-post__thumbnail img {  
  filter: brightness(0.9);
}
body.projekte.page-parent .projektlinks .elementor-posts .elementor-post__card .elementor-post__excerpt { 
  	bottom: -55px;
}
body.projekte.page-parent .projektlinks .elementor-posts .elementor-post__card.mouseover .elementor-post__excerpt { 
  	bottom: 0;
}
body.projekte.page-parent .projektlinks .elementor-posts .elementor-post__card .elementor-post__read-more {
  	bottom: -100px; 
  	transition: bottom .4s ease-in-out;
}
body.projekte.page-parent .projektlinks .elementor-posts .elementor-post__card.mouseover .elementor-post__read-more {
  	bottom: 20px;
  	background-color: rgba(0,0,0,0);
}

body.projekte.page-parent .projektlinks .elementor-posts .elementor-post__card .elementor-post__read-more::before {
	content: 'Mehr lesen';
	width: 200px !important;
	bottom: 0;
}
body.projekte.page-parent .projektlinks .elementor-posts .elementor-post__card.mouseover .elementor-post__read-more::before {
	width: 200px !important;
}


/* EINZELNE PROJEKTSEITEN --------------------------------------------------------------------------------- */

.cs_start {
    width: 100%;
    position: fixed;
    top: 60px;
    left: 0;
    height: calc(100vh - 300px);
  opacity: 1;
}
.cs_start.invisible {
  opacity: 0;
}
.cs_start > .elementor-container > .elementor-row { height: 100%; }
.cs_start > .elementor-container > .elementor-row > .elementor-column { height: 100%; }

/* henkel a05 ---*/
body.henkel-a05 .cs_start .elementor-widget-text-editor {
  position: absolute;
  bottom: 0;
  left: 0;
  margin: 0;
}
body.henkel-a05 .cs_start .elementor-widget-text-editor h1 {
  font-size: 30vw;
    font-weight: 600;
    opacity: 0.5;
    color: #ffffff;
    margin: 0;
    padding: 0;
    line-height: 0.7em;
}

/* rheinpalais ---*/
body.rheinpalais .cs_start .elementor-widget-text-editor {
  position: absolute;
  bottom: 0;
  left: 0;
  margin: 0;
}
body.rheinpalais .cs_start .elementor-widget-text-editor h1 {
  font-size: 15.3vw !important;
    font-weight: 600;
    opacity: 0.5;
    color: #ffffff;
    margin: 0;
    padding: 0;
    line-height: 0.7em;
	text-transform: none;
}






.cs_content.firstsection, .cs_content section.elementor-top-section:nth-of-type(2) { 
    margin-top: calc(100vh - 240px);
}

body.elementor-editor-active .cs_start { position: relative; top: 0; }
body.elementor-editor-active .cs_content { margin-top: 30px; }
body.elementor-editor-active .cs_content.firstsection { margin-top: 0; }
body.elementor-editor-active section.elementor-top-section:nth-of-type(1) { margin-top: 100px; }

.cs_start > .elementor-container,
.cs_start .elementor-widget-image,
.cs_start .elementor-image,
.cs_start .elementor-widget-video,
.cs_start .e-hosted-video,
.cs_start .elementor-video,
.cs_start .elementor-widget-container {
    width: 100%;
    height: 100%;
}
.cs_start .e-hosted-video {
  padding-bottom: 0;
}
.cs_start .elementor-video {
      object-position: 50% 50%;
}
.cs_start .elementor-widget-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 50%;
}

.cs_start_logo {
  opacity: 0.7;
    width: 70vw !important;
    position: absolute !important;
    top: calc(100vh - 300px);
    left: -2vw;
    transform: translateY(-19.5vw);
}
.cs_start_logo.rosenmontag1823 {
  	opacity: 1;
    width: auto !important;
	max-width: 1000px !important;
	height: auto !important;
    top: auto;
	bottom: 0;
    left: 0;
    transform: none;
	margin-bottom: 0 !important;
}
.cs_start_logo img {
  max-width: 100% !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
    object-position: 0 0 !important;
}

.justnexus {
  height: 100%;
}


.cs_content {
    padding-top: 50px;
}
@media only screen and (max-width: 767px) {
    .cs_content { padding-top: 20px; }
}
.cs_content .elementor-section-boxed .elementor-container {
    max-width: 1400px !important;
    margin: 0 auto;
}
.cs_content .boxed {
    max-width: 1400px;
    margin: 0 auto;
}

.cs_content h1 {
    font-size: 80px;
    line-height: 1em;
    margin-bottom: -10px;
  	letter-spacing: 0 !important;
  	font-weight: 400 !important;
}
.cs_content h2 {
    font-size: 60px;
    line-height: 1.3em;
  	font-weight: 400 !important;
    letter-spacing: 0 !important;
}
.cs_content h3 {
    font-size: 28px;
    line-height: 1.2em;
  	font-weight: 400 !important;
  	text-transform: none !important;
    letter-spacing: 0 !important;
}
.cs_content h4 {
    font-family: 'Montserrat', sans-serif;
    font-size: 24px;
    line-height: 1.3em;
    color: #333333;
}
@media only screen and (max-width: 767px) {
    .cs_content h1 { font-size: 50px; }
    .cs_content h2 { font-size: 40px; }
    .cs_content h3 { font-size: 30px !important; line-height: 1.2em; }
}
.cs_content p {
    font-family: 'Montserrat', sans-serif;
    font-size: 16px;
    line-height: 1.6em;
    color: #333333;
	font-weight: 500;
}


/* via culturalis ********************************* */

@media only screen and (max-width: 767px) {
    .cs_content .koelnbewegen h2 { padding-left: 10px; margin-top: -50px; }
}
body.viaculturalis .cs_start .elementor-widget-image img {
    object-position: 50% 40%;
}
.cs_content .imageintext {
    width: 30%;
    max-width: 30%;
    height: auto;
    min-width: 120px;
    box-shadow: 10px 10px 10px rgba(0,0,0,0.3);
    margin-top: 0px;
    margin-right: 20px;
}
.cs_content .insetintroimage {
  max-width: 40%;
}
.cs_content .readmorelink p {
    display: inline-block;
    width: 50%;
    min-width: 300px;
    margin: 0 auto;
    background-color: #15212b;
    padding: 10px 18px;
    height: 44px;
    border-radius: 24px;
}
.cs_content .readmorelink p:hover {
    background-color: #f5902f;
    cursor: pointer;
}
.cs_content .readmorecontent {
    display: none;
}
body.elementor-editor-active .cs_content .readmorecontent {
    display: block;
}

.cs_content .lageplan .numlist .elementor-widget-container {
    counter-reset: list-number;
}
.cs_content .lageplan .numlist p {
    font-family: 'Montserrat', sans-serif;
    font-size: 16px;
    color: #ffffff;
}
.cs_content .lageplan .numlist p:before {
    counter-increment: list-number;
    content: counter(list-number);
    margin-right: 15px;
    width: 30px;
    height: 30px;
    display:inline-flex;
    align-items:center;
    justify-content: center;
    font-size:16px;
    background-color:#00415d;
    border-radius:50%;
    color:#fff;
}
.cs_content .lageplan .numlist p a {
    color: #ffffff;
}
@media only screen and (max-width: 767px) {
    .cs_content .lageplan .numlist p { font-size: 14px; margin-bottom: 5px; }
    .cs_content .lageplan .numlist p:before { width: 24px; height: 24px; }
}

.cs_content .imagesection {
    background-color: #15212b;
}
.cs_content .imagesection .elementor-container {
    border-top: #666666 1px solid;
    padding-top: 30px;
    padding-bottom: 30px;
}
.cs_content .imagesection .historic {
    max-width: 150px;
    height: auto;
    position: absolute;
    top: 15px;
    right: 15px;
    opacity: 0.6;
    z-index: 1;
    transition: all .3s ease-in-out;
}
.cs_content .imagesection .historic:hover {
    cursor: pointer;
    opacity: 1;
}

.cs_content .imagesection .historic.expand {
    width: calc(100% - 30px);
    max-width: calc(100% - 30px);
    opacity: 1;
}
.cs_content .indexnumber h2 {
    display: inline-block;
    width: 70px;
    height: 70px;
    border: #ffffff 1px solid;
    border-radius: 100%;
    text-align: center;
    font-size: 40px;
    padding-top: 8px;
}
.cs_content .imagesection .introtext h3 {
    margin-top: 15px;
}
@media only screen and (max-width: 767px) {
    .cs_content .imagesection .introtext h3 { margin-top: 30px; }
}
.cs_content .beteiligtearchitekten h3 {
    font-size: 24px;
    font-weight: 600 !important;
    margin-bottom: 0;
    display: inline-block;
    width: 33px;
    vertical-align: top;
}
.cs_content .beteiligtearchitekten p {
    display: inline-block;
    width: calc(100% - 33px);
    vertical-align: top;
}
@media only screen and (max-width: 767px) {
    .cs_content .beteiligtearchitekten h3 { margin-top: 0.3em; }
    .cs_content .beteiligtearchitekten p { margin-bottom: 0; }
}




/* CAROUSEL ------------------------------------------------------------- */

.cs_content.carousel {
  height: calc(100vh - 50px);
  overflow: hidden;
  padding-top: 0;
  background: #000000
}
.cs_content.carousel .elementor-image-carousel figure {
  height: calc(100vh - 50px);
}
.cs_content.carousel .elementor-image-carousel figure img {
  width: 100%;
  height: 100%;
  /*
  object-fit: cover;
  object-position: 50% 50%;
  */
  object-fit: contain;
  object-position: 50% 50%;
  border: #000000 40px solid;
}

@media only screen and (max-width: 767px) {
    .cs_content.carousel { height: 80vw; }
	.cs_content.carousel .elementor-image-carousel figure { height: 80vw; }
}


.cs_content .white h1,
.cs_content .white h2,
.cs_content .white h3,
.cs_content .white h4,
.cs_content .white p {
    color: #ffffff;
}
.cs_content .medheight {
    height: 80vh;
}
.cs_content .fixedbg {
    background-position: 50% 50%;
    background-attachment: fixed;
    background-size: cover;
}
body.mobiledevice .cs_content .fixedbg {
    background-attachment: scroll !important;
}

.cs_content .showonphone { display: none; }
body.elementor-editor-active .cs_content .showonphone { display: block; }
@media only screen and (max-width: 767px) {
    .cs_content .hideonphone { display: none; }
    .cs_content .showonphone { display: block; }
}

.cs_content .bgdarkblue {
    background-color: #15212b;
}
.cs_content .tintedtext {
    opacity: 0.5;
}

.elementor-top-section.subsection {
  background-attachment: fixed;
}
.elementor-top-section.subsection > .elementor-widget-wrap {
  background-attachment: fixed;
}
body.mobiledevice .elementor-top-section.subsection {
  background-attachment: scroll !important;
}





.elementor-lightbox .dialog-lightbox-close-button {
 right: calc(50% - 15px); 
}


/* GALLERY -------------------------------------------------------------------------------- */

.elementor-gallery__container {
  /*
  margin-top: 10px;
  border-bottom: #ffffff 10px solid;
  */
}





/* REFERENZEN SLIDER PAGE ---------------------------------------------------------------------------------------------------------- */




body.referenzen.page-child #start { 
  	height: 100vh;
}
body.referenzen.page-child .elementor-widget-shortcode { /* a slider */
  	position: fixed;
  	margin: 0;
}
body.referenzen.page-child .n2-ss-control-bullet {
 	left: calc(50% + 25px) !important; 
  	bottom: 66px !important;
}
body.referenzen.page-child .nextend-bar div.n2-ow {   
  	text-align: center;
    padding: 4px 0 4px 0 !important;
    background: rgba(0,0,0,0.3) !important;
}
body.referenzen.page-child .nextend-bar div.n2-ow span { 
  	padding-left: 30px;
}
.casetitle {
 	position: absolute;
  	bottom: 0;
  	left: 0;
  	width: 50% !important;
  	border-right: #ffffff 1px solid;
}
.casetitle .elementor-row > .elementor-column:nth-of-type(1) .elementor-column-wrap {
  	padding-top: 0;
}
.casetitle h1 {
  	text-transform: none;
  	font-size: 90px;
  	color: #ffffff;
  	margin: 0;
  	padding: 0;
  	font-weight: 200;
  	letter-spacing: 0;
}
.casetitle h2 {
  	text-transform: none;
  	font-size: 28px;
  	font-weight: 300;
  	color: #ffffff;
  	margin: 0;
  	padding: 0;
  	margin-bottom: 30px;
}






/* FINISH & FOOTER ------------------------------------------------------------------------------------------------------------------------------- */

.strapline {
 	text-align: center; 
  	font-size: 20px;
	letter-spacing: -0.01em;
}


.strapline a {  
  	text-decoration: none;
  	color: #000000;
}
.strapline a:hover { 
  	color: #f9a71f;
}
.strapline i.fa {
  	font-size: 20px;
  	margin-right: 5px;
}
@media (max-width: 767px) {
  .strapline { padding-top: 40px; padding-bottom: 40px;}
  .strapline div { margin-top: 0 !important; margin-bottom: 0 !important; padding-top: 0 !important; padding-bottom: 0 !important; }
  .strapline p { margin-top: 0 !important; margin-bottom: 0 !important; padding-top: 10px !important;}
}

@media (min-width: 1900px){
  .strapline br{display:none;}
  .strapline .footer-adress.fa3{text-align:right !important;}
   .strapline .footer-adress.fa2{text-align:center !important;}
   .strapline .footer-adress.fa1{text-align:left !important;}
}

@media (max-width: 1889px){
  .strapline p{text-align: center !important;}
  .strapline {text-align: center !important;}
  #footernews  {text-align: center !important; align-items: center !important;}
}

#footer .newsletter {
  	padding-top: 0;
  	padding-bottom: 0;
 
}

#footer .footerbackground {
  	display: none;
}	
body.home.elementor-editor-active #footer .footerbackground {
  	display: block;
}	

#footer {
  	font-size: 0.9em;
  	min-height: 50vh;
  	position: relative;
  	padding-top: 30px;
  	padding-bottom: 40px;
  	
}
#footer .elementor-background-overlay {
  	position: absolute;
	top: 0;
  	left: 0;
  	width: 100%;
  	height: 100%;
  	background-attachment: fixed;
  	background-size: cover;
  	background-repeat: no-repeat;
  	background-position: center;
  	opacity: 1 !important;
}
#footer h5 {
 	color: #ffffff; 
}
#footer p {
 	color: #cccccc; 
}
#footer ul, #footer ul li {
  	list-style: none;
  	margin: 0 !important;
  	padding: 0 !important;
}
#footer ul {
 	margin-top: 15px !important; 
}
#footer a {
    color: #cccccc !important;
  	text-decoration: none;
}
#footer a:hover {
    color: #f9a71f !important;
}
#footer .mainlinks a {
}


@media only screen and (max-width: 767px) {
  #footer { text-align: left; font-size: 16px; }
  #footer .elementor-inner-column:nth-of-type(1) { border-bottom: #444444 1px solid; }
  #footer .elementor-inner-column:nth-of-type(2) { width: 50% !important; border-bottom: #444444 1px solid; margin-top: -10px; padding-bottom: 10px; }
  #footer .elementor-inner-column:nth-of-type(3) { width: 50% !important; border-bottom: #444444 1px solid; margin-top: -10px; padding-bottom: 10px; }
  #footer ul, #footer ul li { line-height: 1.5em; }
  #footer strong { margin-bottom: -10px; display: block; }
  #footer .elementor-inner-column:nth-of-type(1) ul { columns: 2; -webkit-columns: 2; -moz-columns: 2; }
  #footer .mainlinks { margin-bottom: 10px; margin-top: -30px; }
  
  
}



#footer .elementor-widget-eael-contact-form-7 {
  	display: inline;
  	height: 20px;
  	margin: 0;
  	padding: 0;
}
#footer .wpcf7-form {
 	position: relative;
  	top: -12px;
  	max-width: 300px;
  	z-index: 1;
}
body.home #footer .wpcf7-form {
  	top: -30px;
}
#footer .wpcf7-form p {
  	padding: 0 !important;
  	margin: 0 !important;
  	float: left;
}
#footer .wpcf7-form p:nth-of-type(1) {
  	width: 70%;
}



#footer .wpcf7-form p:nth-of-type(2) {
  	width: 27%;
}
#footer .wpcf7-form input.wpcf7-text {
  	height: 27px;
  	border-bottom-left-radius: 3px;
  	border-top-left-radius: 3px;
  	border-bottom-right-radius: 0;
  	border-top-right-radius: 0;
  	border-color: #f9a71f;
  	background: #111111;
  	color: #cccccc;
}
#footer .wpcf7-form input.wpcf7-submit {
  	border-bottom-right-radius: 3px;
  	border-top-right-radius: 3px;
  	border-bottom-left-radius: 0;
  	border-top-left-radius: 0;
 	width: 33px;
  	height: 27px;
  	background-color: #f9a71f;
  	background-image: url(https://hh-vision.de/wp-content/uploads/Icon_Send.png);
  	background-repeat: no-repeat;
  	background-position: center;
  	padding: 0;
  	text-indent: -9999px;
}

#footer .wpcf7-form p:nth-of-type(2) {width: 33px !important;}
#footer .wpcf7-form p:nth-of-type(1) {
  width: calc(100% - 35px);
}

.wpcf7-spinner{
  display:none; 
  width:0; 
  height:0;
}

@media(max-width:900px){
  #footer .wpcf7-form {margin: 0 auto;}
}




.newsletter h5 {
 	margin-top: 0 !important; 
  	margin-bottom: 30px;
  	color: #ffffff !important;
  	letter-spacing: 0;
  	font-weight: 300;
  	font-size: 20px;
}

.newsletter .recent {
 	padding: 10px; 
  	position: relative;
}
.newsletter h3 {
  	padding-top: 0;
  	margin-top: 2px;
}
.newsletter p {
}
body:not(.elementor-editor-active) .newsletter .recent .elementor-image {
 	display: none;
}
.newsletter .recent .elementor-widget-text-editor {
 	margin-bottom: 0 !important;
}
body:not(.elementor-editor-active) .newsletter .recent .elementor-widget-text-editor {
  	height: 100%;
}
.newsletter .recent p {
 	margin-top: 0 !important; 
 	margin-bottom: 0 !important; 
  	font-size: 20px;
  	font-weight: 200 !important;
  	color: #f9a71f !important;
  	bottom: 0;
  	left: 0;
  	text-transform: uppercase;
}
body:not(.elementor-editor-active) .recent p {
  	position: absolute;
}
.newsletter .recent > .elementor-column-wrap {
	background-size: cover;
  	background-position: center;
  	background-repeat: no-repeat;
  	position: relative;
  	border: #444444 1px solid;
}
.newsletter .recent > .elementor-column-wrap:hover .nltint {
  	opacity: 0.8;
}
.newsletter .recent > .elementor-column-wrap:hover .nllink {
  	background-position: right 12px bottom 12px;
}
.newsletter .recent > .elementor-column-wrap:hover .elementor-text-editor p {
  	color: #ffffff !important;
}
.newsletter .nltint {
 	position: absolute;
  	left: 0;
  	top: 0;
  	background-color: #000000;
  	opacity: 0.5;
  	width: 100%;
  	height: 100%;
  	z-index: 0;
  	transition: all 0.2s;
}
.newsletter .nllink {
 	position: absolute;
  	left: 0;
  	top: 0;
  	width: 100%;
  	height: 100%;
  	z-index: 5;
  	background-image: url(https://hh-vision.de/wp-content/uploads/Icon_External.png);
  	background-repeat: no-repeat;
  	background-position: right 12px bottom -288px;
}

@media (max-width: 1366px) {  
  .newsletter { text-align: center; }
  .newsletter form { margin: 0 auto !important; }
  /*.newsletter form p:nth-of-type(1) { width: 260px !important; }*/
  .newsletter form p:nth-of-type(2) { width: 40px !important; }
}

#footer .socialicons {
 	border-top: #555555 1px solid; 
}
#footer .social {
 	text-align: center; 
}
#footer .social a img {
 	max-width: 30px;
}
#footer .social a {
 	width: 30px;
  	height: 35px;
  	display: inline-block;
  	margin-right: 13px;
  	margin-left: 13px;
  	opacity: 0.7;
  	overflow: hidden; 
}

#footer .social a:hover {
  	opacity: 1;
  	filter: grayscale(100%) brightness(50%) sepia(100%) hue-rotate(-1deg) saturate(800%) contrast(0.6)
}

@media (max-width: 767px) {  
  #footer .social a { margin-right: 5px; margin-left: 5px; }
  .strapline {font-size:18px !important;}
  .strapline div{padding:1px !important;}
}

.wpcf7 form.invalid{
    background-color: #171717;
    color: white;
    font-size: 15px;
}
.wpcf7-not-valid-tip{
  display: none !important;
  visibility: hidden !important;
}

.wpcf7 form.sent .wpcf7-response-output{
    background-color: #171717;
    color: white;
    font-size: 15px;
}

/* vimeo links (external) ------------------------------------------------------------------------------------------------------------------ */

.vimeolink a {
 	color: #ffffff !important;
  	background-color: #f9a71f;
  	border-radius: 4px;
  	font-weight: 400;
  	letter-spacing: 0.1em;
  	text-transform: uppercase;
  	height: 27px;
  	padding: 3px 25px 0 10px;
  	background-image: url(https://hh-vision.de/wp-content/uploads/LinkVimeo.png);
  	background-repeat: no-repeat;
  	background-position: calc(100% - 5px) 6px;
}
.vimeolink a:hover {
 	background-color: #000000; 
}




/* UNTERNEHMEN ----------------------------------------------------------------------------------------------------------------- */

.eael-fancy-text-container span {
  	font-family: 'Montserrat', sans-serif;
  	font-weight: 200;
  	text-transform: none;
}
@media only screen and (max-width: 767px) {
	.eael-fancy-text-strings { font-size: 60px !important; font-weight: 300 !important; }
	.eael-fancy-text-strings span { font-size: 60px !important; font-weight: 300 !important; }
}



/* KARRIERE -------------------------------------------------------------------------------------------------------------------------- */

.jobtab {
  position: absolute;
  top: 30vh;
  right: -50px;
  display: inline-block;
  transition: top 1s ease-in-out, right .3s ease-in-out;
}
.jobtab.off {
  right: -100px;
}
.jobtab p {
  margin: 0;
}
.jobtab a {
  background-color: var(--corporate);
  font-size: 24px;
  font-weight: 400;
  display: inline-block;
  padding: 15px 60px 15px 10px;
  color: #ffffff;
  writing-mode: vertical-rl;
  text-orientation: sideways;
  width: 100px;
 transition: all .2s ease-in-out;
}
.jobtab a::before {
  content: "";
    position: absolute;
    width: 24px;
    height: 24px;
    bottom: -20px;
    left: 13px;
    background-image: url(https://hh-vision.de/wp-content/uploads/jobarrow.png);
    background-repeat: no-repeat;
    background-size: 24px;
    background-position: 0 0;
    transform: rotate(359deg) scale(0.01);
 	transition: all .2s ease-in-out;
}
.jobtab a:hover {
  background-color: #000000;
  padding-bottom: 48px;
}
.jobtab a:hover::before {
    transform: rotate(0deg) scale(1);
    bottom: 24px;
}

.lozenges.softbenefits {
  background-color: #ffffff;
}
.lozenges.softbenefits .elementor-inner-section {
  margin-bottom: 0;
}
.lozenges.softbenefits .elementor-widget-text-editor {
  display: inline-block;
  width: auto;
  margin-bottom: 10px;
}
.lozenges.softbenefits a {  
  	height: auto;
  	display: inline-block;
    background-color: var(--corporate);
    text-align: center;
    min-height: 60px;
    border-radius: 30px;
    margin-left: 10px;
    margin-right: 10px;
    margin-top: -20px;
  	margin-bottom: 20px;
    padding-left: calc(10px + 3vw);
    padding-right: calc(10px + 3vw);
    font-size: 40px;
    font-weight: 400;
    line-height: 60px;
    color: #ffffff;
}
.lozenges.softbenefits a:hover {
  	cursor: default;
    background-color: var(--corporate);
  	color: #ffffff;
}
.lozenges.softbenefits a span {
  display: block;
    height: 50px;
    padding-top: 2px;
}
@media only screen and (max-width: 767px) {
  	.lozenges.softbenefits a { min-height: 20px; height: 45px; border-radius: 30px; margin-left: 5px; margin-right: 5px; margin-top: -10px; margin-bottom: 10px; padding-left: calc(10px + 3vw); padding-right: calc(10px + 3vw); font-size: 25px; line-height: 40px;}
    .lozenges.softbenefits a span { height: 60px; }
}
.lozenges.softbenefits p {
  margin: 5px 0;
}

.lozenges.hardbenefits {
  background-color: #ffffff;
}
.lozenges.hardbenefits .elementor-inner-section {
  margin-bottom: 0;
}
.lozenges.hardbenefits .elementor-widget-text-editor {
  display: inline-block;
  width: auto;
  margin-bottom: 10px;
}
.lozenges.hardbenefits a ul {
  display: none;
}
.lozenges.hardbenefits a {  
  	height: auto;
    display: inline-block;
    background-color: #333333;
    text-align: center;
    min-height: 70px;
    border-radius: 60px;
    margin-left: 10px;
    margin-right: 10px;
    margin-top: -20px;
    margin-bottom: 20px;
    padding-left: calc(10px + 1.5vw);
    padding-right: calc(10px + 1.5vw);
    font-size: 40px;
    font-weight: 600;
    line-height: 65px;
    color: var(--corporate);
}
.lozenges.hardbenefits a:hover {
  /*
  background: #000000;
  color: #ffffff;
  */
  cursor: default;
}
.lozenges.hardbenefits a span {
  display: block;
    height: 50px;
    padding-top: 5px;
}
@media only screen and (max-width: 767px) {
  	.lozenges.hardbenefits a { 
      min-height: 20px;
    height: 45px;
    border-radius: 30px;
    margin-left: 5px;
    margin-right: 5px;
    margin-top: -10px;
    margin-bottom: 10px;
    padding-left: calc(10px + 3vw);
    padding-right: calc(10px + 3vw);
    font-size: 18px;
    line-height: 40px; 
  	}
    .lozenges.hardbenefits a span { height: 60px; }
}
.lozenges.hardbenefits p {
  margin: 5px 0;
}



#joboffer ul {
  list-style-type: circle;
}

/* arbeitsbereiche * /////////////////////////// */
/*
.arbeitsbereiche .elementor-column-wrap {
  padding: 5px !important;
}
.arbeitsbereiche .elementor-widget-wrap {
}
.arbeitsbereiche .elementor-widget:nth-of-type(1) {
  height: 240px;
  margin: 0;
}
@media only screen and (max-width: 1200px) {
  .arbeitsbereiche .elementor-widget:nth-of-type(1) { height: calc(25vw - 20px); }
}
@media only screen and (max-width: 767px) {
  .arbeitsbereiche .elementor-widget:nth-of-type(1) { height: 50vw; }
}
.arbeitsbereiche .elementor-widget:nth-of-type(1) div {
  height: 100%;
}
.arbeitsbereiche .elementor-widget img {
  height: 100%;
  object-fit: cover;
}
.arbeitsbereiche .elementor-widget .e-hosted-video {
  padding: 0;
}
.arbeitsbereiche video {
  height: 100%;
  object-fit: cover;
}

.arbeitsbereiche .elementor-widget-text-editor {
  transition: all .2s ease-in-out;
  overflow: hidden;
}
.arbeitsbereiche .elementor-widget-text-editor p {
  text-align: center;
    font-size: 28px;
    line-height: 1.1em;
    font-weight: 400;
    transition: all .3s ease-in-out;
    margin-top: 0;
    background: #dddddd;
    padding: 14px 10px 10px 10px;
}


*/
/* jobangebot V2 ///////////////////////// */
/*
.jobangebot .elementor-toggle .elementor-tab-title {
    font-weight: 400;
    padding: 15px;
    border-bottom: none;
    background: #222222;
    margin-top: 10px;
    border-radius: 50px;
  	width: 50%;
    min-width: 500px;
    transition: .3s all ease-in-out;
}
.jobangebot .elementor-toggle .elementor-tab-title:hover {
    background: #666666;
  	width: 100%;
}
.jobangebot .elementor-toggle .elementor-tab-title a {
    font-weight: 400;
  	color: #ffffff;
  	font-size: 28px;
  	padding-left: 15px;
}
.jobangebot .elementor-toggle .elementor-tab-title .elementor-toggle-icon .fas {
  color: #ffffff;
  margin-top: 3px;
  margin-left: 5px;
}
*/
/* jobangebot V3 ///////////////////////// */
/*
@media only screen and (max-width: 767px) {
  .jobtiles .elementor-top-column > .elementor-column-wrap { padding: 0 !important; }
  .jobtiles .elementor-inner-column > .elementor-column-wrap { padding: 0 !important; }
}

.jobtiles .elementor-inner-section {
  display: inline-block;
  width: 50%;
}
@media only screen and (max-width: 767px) {
  .jobtiles .elementor-inner-section { width: 100%; }
}
.jobtiles .elementor-inner-section.elementor-hidden-desktop.elementor-hidden-tablet.elementor-hidden-mobile {
  display: none !important;
}
body.elementor-editor-active .jobtiles .elementor-inner-section.elementor-hidden-desktop.elementor-hidden-tablet.elementor-hidden-mobile { display: block !important; }

.jobtiles .elementor-inner-section:nth-of-type(1) { background-color: #bcbe00; }
.jobtiles .elementor-inner-section:nth-of-type(2) { background-color: #86af00; }
.jobtiles .elementor-inner-section:nth-of-type(3) { background-color: #2fa79b; }
.jobtiles .elementor-inner-section:nth-of-type(4) { background-color: #d49e04; }
.jobtiles .elementor-inner-section:nth-of-type(5) { background-color: #6083c4; }
.jobtiles .elementor-inner-section:nth-of-type(6) { background-color: #57bcbd; }
.jobtiles .elementor-inner-section:nth-of-type(7) { background-color: #d49e04; }
.jobtiles .elementor-inner-section:nth-of-type(8) { background-color: #bcbe00; }
.jobtiles .elementor-inner-section:nth-of-type(9) { background-color: #86af00; }
.jobtiles .elementor-inner-section:nth-of-type(10) { background-color: #2fa79b; }
.jobtiles .elementor-inner-section:nth-of-type(11) { background-color: #d49e04; }
.jobtiles .elementor-inner-section:nth-of-type(12) { background-color: #6083c4; }
.jobtiles .elementor-inner-section:nth-of-type(13) { background-color: #57bcbd; }
.jobtiles .elementor-inner-section:nth-of-type(14) { background-color: #d49e04; }

.jobtiles .elementor-inner-section .elementor-row {
	display: inline-block;
}
.jobtiles .elementor-inner-column {
  width: 100% !important;
}
.jobtiles .elementor-inner-column:nth-of-type(1) {
  min-height: 20em;
  padding-bottom: 40px;
}
.jobtiles .elementor-inner-column:nth-of-type(2) {
}
body.elementor-editor-active .jobtiles .elementor-inner-column:nth-of-type(2) { height: auto !important; max-height: 5000px !important; }


.jobtiles .elementor-inner-column:nth-of-type(1) .elementor-widget-text-editor {
  z-index: 1;
}
.jobtiles .elementor-inner-column:nth-of-type(1) .elementor-widget-image {
  	position: absolute;
  	right: 0;
    top: 500px;
    width: 240px;
    opacity: 0;
  	transition: all .3s ease-in-out;
}
body.elementor-editor-active .jobtiles .elementor-inner-column:nth-of-type(1) .elementor-widget-image {
  opacity: 1;
}
.jobtiles .elementor-inner-column:nth-of-type(1) .elementor-widget-image.display { opacity: 0.3; }

body.elementor-editor-active .jobtiles .elementor-inner-column:nth-of-type(1) .elementor-widget-image { display: block; width: 100%; max-width: 100%; text-align: right; }
body.elementor-editor-active .jobtiles .elementor-inner-column:nth-of-type(1) .elementor-widget-image { position: relative; right: 0; top: 0; opacity: 1; }
body.elementor-editor-active .jobtiles .elementor-inner-column:nth-of-type(1) .elementor-widget-image img { width: 160px; max-width: 160px; }

@media only screen and (max-width: 767px) {
  	.jobtiles .elementor-inner-column:nth-of-type(1) .elementor-widget-image { width: 40%; }
}

.jobtiles h2 {
  font-weight: 400;
  padding: 30px;
  margin-bottom: -30px;
  margin-top: 10px;
  line-height: 1.2em;
}
.jobtiles h2 strong {
  font-weight: 600;
}
@media only screen and (max-width: 1024px) {
  .jobtiles h2 { font-size: 36px; }
}
@media only screen and (max-width: 900px) {
  .jobtiles h2 { font-size: 32px; }
}
@media only screen and (max-width: 767px) {
  .jobtiles h2 { font-size: 28px; }
}

.jobtiles h3 {
  	text-transform: none;
  	letter-spacing: 0;
  	font-weight: 600;
  	font-family: 'Montserrat', Arial, sans-serif;
 	margin-bottom: 30px;
  	font-size: 20px;
  	color: #ffffff;
  	width: 50%;
    min-width: 300px;
}
@media only screen and (max-width: 767px) {
  .jobtiles h3 { font-size: 17px !important; }
}

.jobtiles p {
  
}
.jobtiles ul {
  	list-style-type: disc;
    margin-left: 1.2em;
}

.jobtiles h2, .jobtiles h3, .jobtiles p, .jobtiles ul {
  padding-left: 30px;
  padding-right: 30px;
}
@media only screen and (max-width: 767px) {
  .jobtiles h2, .jobtiles h3, .jobtiles p, .jobtiles ul { padding-left: 20px; padding-right: 20px; }
}


.jobtiles .elementor-inner-column:nth-of-type(1) a {
    display: inline-block;
    padding: 5px 15px 2px 15px;
    padding-right: 15px;
    padding-left: 35px;
    border-radius: 30px;
    color: #ffffff;
    background: #000000;
    position: relative;
}
.jobtiles .elementor-inner-column:nth-of-type(1) a::before {
  	content: "";
  	position: absolute;
   	left: 12px;
    top: 16px;
    width: 16px;
  	height: 2px;
  	background: #ffffff;
    display: inline-block;
  	transition: all .2s ease-in-out;
}
.jobtiles .elementor-inner-column:nth-of-type(1) a::after {
  	content: "";
  	position: absolute;
    left: 19px;
    top: 9px;
    width: 2px;
  	height: 16px;
  	background: #ffffff;
    display: inline-block;
  	transition: all .2s ease-in-out;
}
.jobtiles .elementor-inner-column:nth-of-type(1) a:hover {
}
.jobtiles .elementor-inner-column:nth-of-type(1) a:hover::before {
  	left: 12px;
    top: 12px;
    border-style: solid;
    border-width: 13px 8px 0 8px;
    border-color: #ffffff #000000 #000000 #000000; 
  	display: inline-block;
  	transform: rotate(360deg);
  	transform-origin: center;
}
.jobtiles .elementor-inner-column:nth-of-type(1) a:hover::after {
  	left: 12px;
    top: 12px;
    border-style: solid;
    border-width: 13px 8px 0 8px;
    border-color: #ffffff #000000 #000000 #000000; 
  	display: inline-block;
  	transform: rotate(-360deg);
  	transform-origin: center;
}

.jobtiles .elementor-inner-column:nth-of-type(2) a {
 	font-weight: 600;
  	color: #000000;
  	text-decoration: underline;
}

.jobtile .tilecontent {
  visibility: hidden;
  height: auto;
  max-height: 0;
  overflow: hidden;
  transition: all 1s ease-in-out;
}
.jobtile.display .tilecontent {
  visibility: visible;
  max-height: 5000px;  
}
.jobtile.display .tilelink::after {
  display: none !important; 
}
.jobtile.display .tilelink:hover::before {
  transform: rotate(180deg) !important;
  top: 10px !important;
}


.tilecontent .elementor-column-wrap {
  background: #ffffff;
  padding-top: 30px !important;
  padding-bottom: 50px !important;
}

.lueckenbuesser {
  
}
*/


/* KARRIERE STELLENSEITEN VERLINKUNGEN------------------------------------------------------------------------------------------------------------------------------------- */

.jobtiles {
	display: none !important;
}

@media only screen and (max-width: 767px) {
  .stellenanzeigen .elementor-top-column > .elementor-column-wrap { padding: 0 !important; }
  .stellenanzeigen .elementor-inner-column > .elementor-column-wrap { padding: 0 !important; }
}

.stellenanzeigen .elementor-inner-section {
 	display: inline-block;
  	width: 50%;
	height:320px;
}
@media only screen and (max-width: 767px) {
  .stellenanzeigen .elementor-inner-section { width: 100%; }
}
.stellenanzeigen .elementor-inner-section.elementor-hidden-desktop.elementor-hidden-tablet.elementor-hidden-mobile {
  display: none !important;
}
body.elementor-editor-active .stellenanzeigen .elementor-inner-section.elementor-hidden-desktop.elementor-hidden-tablet.elementor-hidden-mobile { display: block !important; }
/*
.stellenanzeigen .elementor-inner-section:nth-of-type(1) { background-color: #bcbe00; }
.stellenanzeigen .elementor-inner-section:nth-of-type(2) { background-color: #86af00; }
.stellenanzeigen .elementor-inner-section:nth-of-type(3) { background-color: #2fa79b; }
.stellenanzeigen .elementor-inner-section:nth-of-type(4) { background-color: #d49e04; }
.stellenanzeigen .elementor-inner-section:nth-of-type(5) { background-color: #6083c4; }
.stellenanzeigen .elementor-inner-section:nth-of-type(6) { background-color: #57bcbd; }
.stellenanzeigen .elementor-inner-section:nth-of-type(7) { background-color: #d49e04; }
.stellenanzeigen .elementor-inner-section:nth-of-type(8) { background-color: #bcbe00; }
.stellenanzeigen .elementor-inner-section:nth-of-type(9) { background-color: #bcbe00; }
.stellenanzeigen .elementor-inner-section:nth-of-type(10) { background-color: #6083c4; }
.stellenanzeigen .elementor-inner-section:nth-of-type(11) { background-color: #d49e04; }
.stellenanzeigen .elementor-inner-section:nth-of-type(12) { background-color: #6083c4; }
.stellenanzeigen .elementor-inner-section:nth-of-type(13) { background-color: #57bcbd; }
.stellenanzeigen .elementor-inner-section:nth-of-type(14) { background-color: #d49e04; }
*/

.stellenanzeigen .elementor-inner-section.yellow_box { background-color: #bcbe00; }
.stellenanzeigen .elementor-inner-section.green_box { background-color: #86af00; }
.stellenanzeigen .elementor-inner-section.blue_box { background-color: #2fa79b; }
.stellenanzeigen .elementor-inner-section.orange_box { background-color: #d49e04; }
.stellenanzeigen .elementor-inner-section.purple_box { background-color: #6083c4; }
.stellenanzeigen .elementor-inner-section.iceblue_box { background-color: #57bcbd; }

.stellenanzeigen .elementor-inner-section .elementor-container {
	height: 100%;
}
.stellenanzeigen .elementor-inner-section .elementor-row {
	display: inline-block;
}
.stellenanzeigen .elementor-inner-column {
	height: 100%;
  	width: 100% !important;
	padding: 0 !important;
}
.stellenanzeigen .elementor-inner-column .elementor-widget-wrap{
	height: 100%;
	margin: 0;
}
.stellenanzeigen .elementor-inner-column:nth-of-type(1) {
  min-height: 20em;
  padding-bottom: 40px;
}
.stellenanzeigen .elementor-inner-column:nth-of-type(2) {
}
body.elementor-editor-active .stellenanzeigen .elementor-inner-column:nth-of-type(2) { height: auto !important; max-height: 5000px !important; }


.stellenanzeigen .elementor-inner-column:nth-of-type(1) .elementor-widget-text-editor {
  z-index: 1;
}
.stellenanzeigen .elementor-inner-column:nth-of-type(1) .elementor-widget-image {
  	position: absolute;
  	left: calc(100% - 240px);
    bottom: 0px;
    width: 240px;
    opacity: 0;
  	transition: all .3s ease-in-out;
}
body.elementor-editor-active .stellenanzeigen .elementor-inner-column:nth-of-type(1) .elementor-widget-image {
  opacity: 1;
}
.stellenanzeigen .elementor-inner-column:nth-of-type(1) .elementor-widget-image { opacity: 0.3; }

body.elementor-editor-active .stellenanzeigen .elementor-inner-column:nth-of-type(1) .elementor-widget-image { display: block; width: 100%; max-width: 100%; text-align: right; }
body.elementor-editor-active .stellenanzeigen .elementor-inner-column:nth-of-type(1) .elementor-widget-image { position: relative; right: 0; top: 0; opacity: 1; }
body.elementor-editor-active .stellenanzeigen .elementor-inner-column:nth-of-type(1) .elementor-widget-image img { width: 160px; max-width: 160px; }

@media only screen and (max-width: 767px) {
  	.stellenanzeigen .elementor-inner-column:nth-of-type(1) .elementor-widget-image { 
		left: calc(100% - 40%);
		width: 40%;
	}
}

.stellenanzeigen h2 {
  font-weight: 400;
  padding: 30px;
  margin-bottom: -30px;
  margin-top: 10px;
  line-height: 1.2em;
}
.stellenanzeigen h2 strong {
  font-weight: 600;
}
@media only screen and (max-width: 1024px) {
  .stellenanzeigen h2 { font-size: 36px; }
}
@media only screen and (max-width: 900px) {
  .stellenanzeigen h2 { font-size: 32px; }
}
@media only screen and (max-width: 767px) {
  .stellenanzeigen h2 { font-size: 28px; }
}

.stellenanzeigen h3 {
  	text-transform: none;
  	letter-spacing: 0;
  	font-weight: 600;
  	font-family: 'Montserrat', Arial, sans-serif;
 	margin-bottom: 30px;
  	font-size: 20px;
  	color: #ffffff;
  	width: 60%;
    min-width: 300px;
}

@media only screen and (max-width: 1720px) {
  .stellenanzeigen h3 { width: 70%; }
}
@media only screen and (max-width: 1400px) {
  .stellenanzeigen h3 { width: 80%;  font-size: 18px !important; }
  .stellenanzeigen h2 { font-size: 35px !important; }
}
@media only screen and (max-width: 920px) {
  .stellenanzeigen h3 { width: 100%;  font-size: 16px !important; }
  .stellenanzeigen h2 { font-size: 32px !important; }
}
@media only screen and (max-width: 767px) {
  .stellenanzeigen h3 { width: 70%;  font-size: 17px !important; }
  .stellenanzeigen h2 { font-size: 40px !important; }
}
@media only screen and (max-width: 550px) {
  .stellenanzeigen h3 { width: 85%;  font-size: 16px !important; }
  .stellenanzeigen h2 { font-size: 35px !important; }
}
@media only screen and (max-width: 400px) {
  .stellenanzeigen h3 { width: 100%;  font-size: 16px !important; }
  .stellenanzeigen h2 { font-size: 28px !important; }
}

.stellenanzeigen p.date {
	letter-spacing: 1px;
	font-size: 18px;
	font-weight: 800;
	margin: 4px 0 0 2px;
}
.stellenanzeigen ul {
  	list-style-type: disc;
    margin-left: 1.2em;
}

.stellenanzeigen h2, .stellenanzeigen h3, .stellenanzeigen p, .stellenanzeigen ul {
  padding-left: 30px;
  padding-right: 30px;
}
@media only screen and (max-width: 767px) {
  .stellenanzeigen h2, .stellenanzeigen h3, .stellenanzeigen p, .stellenanzeigen ul { padding-left: 20px; padding-right: 20px; }
}

.stellenanzeigen .elementor-inner-column:nth-of-type(1) a {
    display: inline-block;
    padding: 5px 15px 5px 15px;
    padding-right: 15px;
    padding-left: 35px;
    border-radius: 30px;
    color: #ffffff;
    background: #000000;
    position: relative;
}
.stellenanzeigen .elementor-inner-column:nth-of-type(1) a::before {
  	content: "";
  	position: absolute;
   	left: 12px;
    top: 16px;
    width: 16px;
  	height: 2px;
  	background: #ffffff;
    display: inline-block;
  	transition: all .2s ease-in-out;
}
.stellenanzeigen .elementor-inner-column:nth-of-type(1) a::after {
  	content: "";
  	position: absolute;
    left: 19px;
    top: 9px;
    width: 2px;
  	height: 16px;
  	background: white;
    display: inline-block;
  	transition: all .2s ease-in-out;
}
.stellenanzeigen .elementor-inner-column:nth-of-type(1) a:hover {

}
.stellenanzeigen .elementor-inner-column:nth-of-type(1) a:hover::before {
  	content: "";
  	position: absolute;
   	left: 12px;
    top: 16px;
    width: 16px;
  	height: 2px;
  	background: white;
    display: inline-block;
  	transition: all .4s ease-in-out;
  	transform: rotate(360deg);
  	transform-origin: center;
}
.stellenanzeigen .elementor-inner-column:nth-of-type(1) a:hover::after {
	content: "";
  	position: absolute;
    left: 19px;
    top: 9px;
    width: 2px;
  	height: 16px;
  	background: white;
    display: inline-block;
  	transition: all 0.4s ease-in-out;
  	transform: rotate(-360deg);
  	transform-origin: center;
}

.stellenanzeigen .elementor-inner-column:nth-of-type(2) a {
 	font-weight: 600;
  	color: #000000;
  	text-decoration: underline;
}



/* KARRIERE STELLENSEITEN ------------------------------------------------------------------------------------------------------------------------------------- */

.teamleiter_image {
	display: none !important;
}

.tag-stellenausschreibung header {
	display: none;
}

body[class^='stellenausschreibung'], body[class*=' stellenausschreibung'] section#primary {
	max-width: 100vw;
	padding: 0;
}

/* HEADING */
.stellen_heading {
	padding: 0;
    margin: 0;
    margin-top: 65px;
    max-width: 100vw;
	height: 26vh;
	min-height: 350px;
	max-height: 500px;
	align-items: center;
	display: flex;
	z-index: -2;
}
.heading_yellow { background-color: #bcbe00; }
.heading_green { background-color: #86af00; }
.heading_blue { background-color: #2fa79b; }
.heading_orange { background-color: #d49e04; }
.heading_purple { background-color: #6083c4; }
.heading_iceblue { background-color: #57bcbd; }
.stellen_heading .elementor-container{
	width: 100%;
	height: 100%;
}
.stellen_heading .elementor-widget-wrap{
	align-items: center;
}
.stellen_heading .elementor-widget-text-editor{
	position: absolute;
	margin-bottom: 0;
}
.stellen_heading .elementor-text-editor{
	margin-left: 5vw;
}
.stellen_heading h1{
	text-transform: none;
}
.stellen_heading h1 strong{
	font-weight: 600;
}
.stellen_heading h2{
	max-width: 800px;
	font-weight: 500;
	font-size: 31px;
	color: white;
}
.stellen_heading .stellenIcon {
	position: absolute;
	bottom: 0;
	height: 92%;
}
.stellen_heading .stellenIcon img{
	position: absolute;
	opacity: 0.3;
	right: 0;
	bottom: 0;
	height: 100%;
	width: auto;
	z-index: -1;
}
@media (max-width: 930px) {
	.stellen_heading h1{
		font-size: 2.8em !important;
	}
	.stellen_heading h2{
		font-size: 25px;
		max-width: 600px;
	}
}
@media (max-width: 600px) and (max-aspect-ratio: 9/8) {
	.stellen_heading {
		height: 60vw;
	}
	.stellen_heading h1 {
		font-size: 9vw !important;
	}
	.stellen_heading h2 {
		font-size: 19px !important;
		max-width: 360px;
	}
	.stellen_heading .stellenIcon {
		height: 72%;
	}
}
@media (max-height: 500px) and (orientation: landscape) {
	.stellen_heading {
		height: calc(100vh - 66px);
		min-height: calc(100vh - 66px);
	}
}

/* CONTENT DESKTOP */
.stellenContent_desktop>.elementor-container {
	max-width: 60vw !important;
	margin-top: 6vh;
	margin-left: auto;
	margin-right: auto;
}
/* Spalte 1 */
.stellenContent_desktop .ueberStrich .elementor-widget-wrap{
	display: flex !important;
	padding: 0 !important;
	margin: 0;
}
.stellenContent_desktop .ueberStrich .elementor-widget-text-editor{
	display: flex;
	align-items: center;
	padding: 0;
	margin: 0;
	width: auto;
	transform: translate(0px, 10px);
}
.stellenContent_desktop .ueberStrich p{
	padding: 0;
	margin: 0;
	color: #d9d9d9;
}
.stellenContent_desktop .ueberStrich p>a{
	padding: 0;
	margin: 0;
	color: #d9d9d9;
}
.stellenContent_desktop .ueberStrich p::first-letter{
	font-family: "Raleway";
	font-weight: 400;
	font-size: 23px;
}
.stellenContent_desktop .ueberStrich p:hover{
	padding: 0;
	margin: 0;
	color: var(--orange);
}
.stellenContent_desktop .ueberStrich p>a:hover{
	padding: 0;
	margin: 0;
	color: var(--orange);
}
.stellenContent_desktop .shareIcon {
	display: inline;
	margin-left: auto;
	margin-bottom: 10px !important;
	width: 30px;
}
.stellenContent_desktop .shareIconPath {
	fill: none;
	stroke-miterlimit: 10;
	stroke-width: 3px;
}
.stellenContent_desktop .elementor-divider{
	padding-top: 14px !important;
}
.stellenContent_desktop .elementor-divider-separator{
	border-color: #d9d9d9 !important;
}
.stellenContent_desktop ul {
	list-style: disc;
	margin-left: 21px;
}
.stellenContent_desktop .stellenanzeigenContent {
	width: calc(60vw - 500px) !important;
}
/* Spacer */
.stellenContent_desktop .spacer_keyfacts {
	width: 45px !important;
}
/* Keyfacts */
.stellenContent_desktop .keyfacts {
	width: 455px !important;
	background-color: #d9d9d9;
	margin-top: 52px;
}
.stellenContent_desktop .keyfacts_four_rows {
	height: calc(1270px - 90px - 56px) !important;
}
.stellenContent_desktop .keyfacts_five_rows {
	height: calc(1270px - 45px - 56px) !important;
}
.stellenContent_desktop .keyfacts_six_rows {
	height: calc(1270px - 56px) !important;
}
.stellenContent_desktop .keyfacts_seven_rows {
	height: calc(1270px + 45px - 56px) !important;
}
.stellenContent_desktop .keyfacts h2, .keyfacts h3, .keyfacts p {
	margin-left: 30px;
}
.stellenContent_desktop .keyfacts h2{
	font-size: 35px;
	margin-top: 32px;
	margin-bottom: 10px;
}
.stellenContent_desktop .keyfacts h3{
	text-transform: none;
	font-size: 16px;
	letter-spacing: 0;
	margin-top: 20px;
	margin-bottom:10px;
}
.stellenContent_desktop .keyfacts p{
	margin-top: 10px;
	margin-bottom:10px;
}
.stellenContent_desktop .keyfacts .elementor-widget-text-editor{
	width: 100%;
	margin: 0;
}
.stellenContent_desktop .keyfacts_bubbles {
	margin-left: 15px;
	margin-right: 15px;
	margin-top: -10px;
}
.stellenContent_desktop .keyfacts_bubbles .elementor-widget-text-editor {
	width: auto !important;
}
.stellenContent_desktop .keyfacts_bubbles .elementor-widget-text-editor:hover {
	transform: scale(1.15);
	z-index: 10;
}
.stellenContent_desktop .keyfacts_bubbles p:hover{
	box-shadow: 2px 2px 3px 1px rgba(0,0,0,0.3);
}
.stellenContent_desktop .keyfacts_bubbles p{
    display: inline-block;
	height: 35px;
    min-height: 35px;
    margin: 5px 5px !important;
    padding: 0 20px;
    border-radius: 30px;
    text-align: center;
    font-size: 16px;
    font-weight: 500;
    line-height: 37px;
} 
.stellenContent_desktop .teamleiter_image {
	display: inline-flex;
	align-items: flex-end;
	margin-top: 51px;
	width: 69% !important;
}
.stellenContent_desktop .bewerben_button {
	text-align: center;
	margin-top: 18px !important;
	margin-bottom: 36px !important;
}
.stellenContent_desktop .bewerben_button p{
	display: inline-block;
	height: auto;
    min-height: 35px;
    margin: 5px 5px !important;
    padding: 0 30px;
    border-radius: 31px;
    text-align: center;
    font-size: 21px;
    font-weight: 600;
    line-height: 53px;
	background-color: #606060;
	color: white;
}
@media (max-width: 1750px){
	.stellenContent_desktop>.elementor-container { max-width: 80vw !important; }
	.stellenContent_desktop .stellenanzeigenContent { width: calc(80vw - 500px) !important; }
	.stellenContent_desktop .spacer_keyfacts { width: 45px !important;	}
	.stellenContent_desktop .keyfacts {	width: 455px !important; }
	.stellenContent_desktop .stellenanzeigen_ueber_box div.elementor-container { width: 80vw !important; max-width: 80vw !important; }
}
@media (max-width: 1400px){
	.stellenContent_desktop>.elementor-container { max-width: 90vw !important; }
	.stellenContent_desktop .stellenanzeigenContent { width: calc(90vw - 500px) !important; }
	.stellenContent_desktop .spacer_keyfacts { width: 45px !important;	}
	.stellenContent_desktop .keyfacts {	width: 455px !important; }
	.stellenContent_desktop .stellenanzeigen_ueber_box div.elementor-container { width: 90vw !important; max-width: 90vw !important; }
}

/* CONTENT MOBILE */
.stellenContent_mobile>.elementor-container {
	max-width: 90vw !important;
	margin-left: auto;
	margin-right: auto;
}
/* Über Strich */
.stellenContent_mobile .ueberStrich .elementor-widget-wrap{
	display: flex !important;
	padding: 0 !important;
	margin: 0 !important;
	margin-top: 25px !important;
}
.stellenContent_mobile .ueberStrich .elementor-widget-text-editor{
	display: flex;
	align-items: center;
	padding: 0;
	margin: 0;
	width: auto;
}
.stellenContent_mobile .ueberStrich .elementor-widget-text-editor p:nth-of-type(1){
	margin-bottom: 0px;
	transform: translate(0px, -6px);
}
.stellenContent_mobile .ueberStrich p>a{
	padding: 0;
	margin: 0;
	color: #d9d9d9;
}
.stellenContent_mobile .ueberStrich p::first-letter{
	font-family: "Raleway";
	font-weight: 400;
	font-size: 23px;
}
.stellenContent_mobile .ueberStrich p>a:hover{
	padding: 0;
	margin: 0;
	color: var(--orange);
}
.stellenContent_mobile .shareIcon {
	display: inline;
	margin-left: auto;
	margin-bottom: 10px !important;
	width: 30px;
}
.stellenContent_mobile .shareIconPath {
	fill: none;
	stroke-miterlimit: 10;
	stroke-width: 3px;
}
.stellenContent_mobile .elementor-divider{
	padding-top: 0px !important;
}
.stellenContent_mobile .elementor-divider-separator{
	border-color: #d9d9d9 !important;
}
/* Keyfacts */
.stellenContent_mobile .keyfacts {
	width: 100% !important;
	background-color: #d9d9d9;
}
.stellenContent_mobile .keyfacts .elementor-widget-wrap {
	padding: 8px;
}
.stellenContent_mobile .keyfacts h2, .keyfacts h3, .keyfacts p {
	margin-left: 30px;
}
.stellenContent_mobile .keyfacts h2{
	font-size: 35px;
	margin-top: 32px;
	margin-bottom: 10px;
}
.stellenContent_mobile .keyfacts h3{
	text-transform: none;
	font-size: 16px;
	letter-spacing: 0;
	margin-top: 20px;
	margin-bottom:10px;
}
.stellenContent_mobile .keyfacts p{
	margin-top: 10px;
	margin-bottom:10px;
}
.stellenContent_mobile .keyfacts .elementor-widget-text-editor{
	width: 100%;
	margin: 0;
}
.stellenContent_mobile .keyfacts_bubbles {
	margin-left: 15px;
	margin-right: 15px;
	margin-top: -10px;
}
.stellenContent_mobile .keyfacts_bubbles .elementor-widget-text-editor {
	width: auto !important;
}
.stellenContent_mobile .keyfacts_bubbles p{
    display: inline-block;
	height: auto;
    min-height: 35px;
    margin: 5px 5px !important;
    padding: 0 15px;
    border-radius: 30px;
    text-align: center;
    font-size: 16px;
    font-weight: 500;
    line-height: 37px;
}	
/* tablet */
.stellenContent_mobile.keyfacts_tablet h2{
	margin-bottom: 0;
	padding-bottom: 0;
}
.stellenContent_mobile.keyfacts_tablet section:nth-of-type(1){
	margin-bottom: -22px;
}
.stellenContent_mobile.keyfacts_tablet .keyfacts{
	padding-left: 14px !important;
	padding-right: 14px !important;
}
.stellenContent_mobile.keyfacts_tablet .stellendetails_column {
	width: 35% !important;
}
.stellenContent_mobile.keyfacts_tablet .stellendetails_column .elementor-widget-wrap{
	padding-left: 0 !important;
}
.stellenContent_mobile.keyfacts_tablet .arbeitsort_column {
	width: 230px !important;
}
.stellenContent_mobile.keyfacts_tablet .arbeitsort_column .elementor-widget-wrap{
	padding-right: 0px !important;
	padding-left: 0px !important;
}
.stellenContent_mobile.keyfacts_tablet .teamleiter_column {
	width: calc(96% - 230px) !important;
	max-width: 120px;
}	
.stellenContent_mobile.keyfacts_tablet .teamleiter_column .elementor-widget-wrap{
	padding: 0px !important;
	align-content: end;
}
.stellenContent_mobile.keyfacts_tablet .teamleiter_image img{
	width: 90% !important;
}
.stellenContent_mobile.keyfacts_tablet .teamleiter_image {
	display: inline-flex;
	align-items: flex-end;
	margin-bottom: 24px;
	width: auto !important;
}
.stellenContent_mobile.keyfacts_tablet .bewerben_button {
    margin-top: 24px !important;
    margin-bottom: 30px !important;
}
/* phone */
.stellenContent_mobile.keyfacts_mobile .arbeitsort_column {
	width: 230px !important;
}
.stellenContent_mobile.keyfacts_mobile .arbeitsort_column .elementor-widget-wrap{
	padding-right: 0px !important;
	padding-left: 0px !important;
}

.stellenContent_mobile.keyfacts_mobile .teamleiter_column {
	width: calc(96% - 230px) !important;
	max-width: 120px;
}	
.stellenContent_mobile.keyfacts_mobile .teamleiter_column .elementor-widget-wrap{
	padding: 0px !important;
	align-content: end;
}
.stellenContent_mobile.keyfacts_mobile .teamleiter_image img{
	width: 90% !important;
}
.stellenContent_mobile.keyfacts_mobile .teamleiter_image {
	display: inline-flex;
	align-items: flex-end;
	margin-bottom: 17px;
	width: auto !important;
}

.stellenContent_mobile .bewerben_button {
	text-align: center;
	margin-top: 18px !important;
	margin-bottom: 36px !important;
}
.stellenContent_mobile .bewerben_button p{
	display: inline-block;
	height: auto;
    min-height: 35px;
    margin: 5px 5px!important;
    padding: 0 30px;
    border-radius: 31px;
    text-align: center;
    font-size: 21px;
    font-weight: 600;
    line-height: 53px;
	background-color: #606060;
	color: white;
}
/* Text */
.stellenContent_mobile ul {
	list-style: disc;
	margin-left: 21px;
}
.stellenContent_mobile .stellenanzeigenContent {
	margin-top: 20px;
    width: 100%;
}

@media (max-width: 450px) {
	.stellenContent_mobile .keyfacts .elementor-widget-wrap {
		padding: 8px;
	}
	.stellenContent_mobile .keyfacts h2, .keyfacts h3, .keyfacts p {
		margin-left: 11px;
		margin-right: 11px;
	}
	.stellenContent_mobile .keyfacts h2{
		margin-top: 34px;
	}
	.stellenContent_mobile .keyfacts_bubbles {
		margin-left: 0px;
		margin-right: 0px;
		margin-top: -10px;
	}
	.stellenContent_mobile .keyfacts_bubbles p{
		margin: 5px 3px !important;
		padding: 0 14px;
		border-radius: 30px;
		font-size: 14px;
	}
	.stellenContent_mobile .keyfacts .arbeitsort_column {
		width: 200px !important;
	}
	.stellenContent_mobile .keyfacts .teamleiter_column {
		width: calc(96% - 200px) !important;
		max-width: 120px;
	}	
}
@media (max-width: 376px) {
	.stellenContent_mobile .keyfacts {
		text-align: center;
	}
	.stellenContent_mobile .keyfacts .arbeitsort_column {
		width: 100% !important;
	}
	.stellenContent_mobile .keyfacts .teamleiter_column {
		width: 100% !important;
		max-width: 120px;
		margin: auto;
	}	
	.stellenContent_mobile .keyfacts_bubbles .elementor-widget-text-editor {
		margin: auto;		
	}
}

/* CONTENT DESKTOP + MOBILE */
.shareIconTooltip {
	opacity: 0;
	position: inherit;
	margin-left: -32px;
	margin-top: -91px;
	width: 315px;
}
.shareIconTooltip.anim_TooltipIn { animation: 2s ease-in forwards anim_TooltipIn; }
@keyframes anim_TooltipIn { 
	0% { opacity: 0; }	
	10% { opacity: 1; }
	60% { opacity: 1; }
	100% { opacity: 0; }
}
.shareIconTooltip.anim_TooltipOut { animation: 1s ease-in forwards anim_TooltipOut; }
@keyframes anim_TooltipOut { to { opacity: 1; } }
.shareIconTooltip::after {
  content: "";
  position: absolute;
  top: -135%;
  left: 11%;
  margin-left: -5px;
  border-width: 15px;
  border-style: solid;
  border-color: #222 transparent transparent transparent;
}
.shareIconTooltip p{
    background-color: #222222;
    color: white !important;
    height: 40px;
    border-radius: 30px;
    text-align: center;
    line-height: 38px;
    margin: 5px 5px !important;
    padding: 0 20px !important;
}
@media (max-width: 1200px){
	.shareIconTooltip {
		margin-left: -260px;
		margin-top: -93px;
	}
	.shareIconTooltip::after {
		top: -84%;
		left: 28%;
	}
}
@media (max-width: 768px){
	.shareIconTooltip {
		margin-left: -269px;
		margin-top: -93px;
	}
}
	
.shareIconPath_yellow { stroke: #bcbe00; }
.shareIconPath_green { stroke: #86af00; }
.shareIconPath_blue { stroke: #2fa79b; }
.shareIconPath_orange { stroke: #d49e04; }
.shareIconPath_purple { stroke: #6083c4; }
.shareIconPath_iceblue { stroke: #57bcbd; }

.bubbles_white p{ background-color: white; color: black; }
.bubbles_yellow p{ background-color: #bcbe00; color: white; }
.bubbles_green p{ background-color: #86af00; color: white; }
.bubbles_blue p{ background-color: #2fa79b; color: white; }
.bubbles_orange p{ background-color: #d49e04; color: white; }
.bubbles_purple p{ background-color: #6083c4; color: white; }
.bubbles_iceblue p{ background-color: #57bcbd; color: white; }

.bewerbenButton .elementor-button-wrapper{
	text-align: center;	
	margin-top: 25px;
}
@media (max-width: 1200px){
	.bewerbenButton .elementor-button-wrapper{
		margin-top: 25px;
		margin-bottom: 35px;
	}
}
.bewerbenButton a{
    font-size: 21px !important;
    font-weight: 600;
	background-color: #606060;
	color: white !important;
	border-radius: 30px !important;
}
.bewerbenButton a:hover{
	background-color: var(--orange);
	color: black !important;
	cursor: pointer;
}
@media (max-width: 1200px){
	.bewerbenButton a:hover{
		background-color: #606060;
		color: white;
	}
}
body.elementor-editor-active .stellenContent_desktop { display: unset !important; }
body.elementor-editor-active .stellenContent_mobile { display: unset !important; }
body.elementor-editor-active .keyfacts_mobile { display: unset !important; }
body.elementor-editor-active .keyfacts_tablet { display: unset !important; }

/* UBER HHV */
.stellenanzeigen_ueber_box div.elementor-container {
	width: 60vw !important;
    max-width: 60vw !important;
}
@media (max-width: 1750px){ .stellenanzeigen_ueber_box div.elementor-container { width: 80vw !important; max-width: 80vw !important; } }
@media (max-width: 1400px){	.stellenanzeigen_ueber_box div.elementor-container { width: 90vw !important; max-width: 90vw !important; } }

.stellenanzeigen_ueber{
	padding: 10px;
}


/* Bilder */
.stellenanzeigen_galerie {
	margin-top: 60px;
}
@media (max-width: 1023px){
	.stellenanzeigen_galerie a:nth-of-type(19), .stellenanzeigen_galerie a:nth-of-type(20) { display: none; }
}
@media (max-width: 766px){
	.stellenanzeigen_galerie a:nth-of-type(19), .stellenanzeigen_galerie a:nth-of-type(20) { display: unset; }
}

@media (min-width: 1201px){
	.stellenContent_desktop { display: unset !important; }
	.stellenContent_mobile { display: none !important;	}
}
@media (max-width: 1200px){
	.stellenContent_desktop { display: none !important; }
	.stellenContent_mobile { display: unset !important; }	
	.keyfacts_tablet { display: unset !important; }
	.keyfacts_mobile { display: none !important; }
}
@media (max-width: 768px){	
	.keyfacts_tablet { display: none !important; }
	.keyfacts_mobile { display: unset !important; }
}












/* KARRIERE RESPONSIV ----------------------------------------------------------------------------------------- */

body.stellenausschreibung-full-stack-developer-261023 .stellenContent_desktop { display: block !important; }
body.stellenausschreibung-full-stack-developer-261023 .stellenContent_tablet { display: none !important; }
body.stellenausschreibung-full-stack-developer-261023 .stellenContent_mobile { display: none !important; }

body.stellenausschreibung-full-stack-developer-261023 .stellenContent_desktop .stellenanzeigenContent { 
	width: 70% !important;
}
body.stellenausschreibung-full-stack-developer-261023 .stellenContent_desktop .keyfacts_four_rows {
   	height: auto !important;
	width: 455px !important;
}

@media (max-width: 1300px) {
	body.stellenausschreibung-full-stack-developer-261023 .stellenContent_desktop .keyfacts_four_rows { width: 400px !important; }
}
@media (max-width: 1024px) {
	body.stellenausschreibung-full-stack-developer-261023 .stellenContent_desktop .stellenanzeigenContent { width: 100% !important; order: 2; }
	body.stellenausschreibung-full-stack-developer-261023 .stellenContent_desktop .spacer_keyfacts { display: none !important; }
	body.stellenausschreibung-full-stack-developer-261023 .stellenContent_desktop .keyfacts_four_rows { width: 100% !important; order: 1; margin-bottom: 80px; }
}










/* KARRIERE BEWERBUNGSFORMULAR ------------------------------------------------------------------------------------------------------------------------------------- */

#contactform_career {
	display: none !important;
	position: fixed;
	left: 0;
	top: 0;
	background: rgba(0,0,0,0.85);
	width: 100vw;
	height: 100vh;
	text-align: center;
	font-size: 16px !important;
	z-index: 999999999;
}

body.elementor-editor-active #contactform_career {
	display: none !important;
}

.contactform_fadeIn {
	animation-name: contactform_fadeIn_Anim;
	animation-duration: 1s;
	animation-timing-function: ease;
}
@keyframes contactform_fadeIn_Anim {
	from {opacity: 0;}
	to {opacity: 1;}
}
.contactform_fadeOut {
	animation-name: contactform_fadeOut_Anim;
	animation-duration: 1s;
	animation-timing-function: ease;
	opacity: 0;
}
@keyframes contactform_fadeOut_Anim {
	from {opacity: 1;}
	to {opacity: 0;}
}

#contactform_career #contactform_career_closebutton {
  position: absolute;
  left: 0;
  top: 60px;
}
#contactform_career #contactform_career_closebutton svg {
  width: 40px;
  height: 40px;
}
#contactform_career #contactform_career_closebutton svg:hover {
  cursor: pointer;
}
#contactform_career #contactform_career_closebutton svg path {
  fill: var(--jobColorHex);
}
#contactform_career #contactform_career_closebutton svg path:nth-of-type(1) {
  display: none;
}
#contactform_career #white_top_box, 
#contactform_career #white_bot_box {
	display: none;
}

#contactform_career .elementor-widget-shortcode {
  background: #ffffff; 
  width: 1400px;
  height: 900px;
  border: var(--jobColorHex) 10px solid;
  border-radius: 4px;
  position: fixed;
  top: 100px; /*calc(50vh - 450px)*/
  left: calc(50vw - 700px);
  text-align: center;
  padding-top: 35px;
}
#backgroundshadow {	
	position: fixed;
	z-index: -1;
	background: #000000; 
	opacity: 0.5;
	width: 100vw;
	height: 100vh;
}

@media screen and (max-width: 1450px) {
	#contactform_career .elementor-widget-shortcode {
	  width: 96vw;
	  left: 2vw;
	}
}

@media screen and (max-height: 1000px), (max-width: 1050px) {
	#contactform_career .elementor-widget-shortcode {
		top: 10px; 
		height: calc(100vh - 20px);
		padding-top: 35px;
		overflow-y: scroll;
		overflow-x: hidden;
	}
	#contactform_career #contactform_career_closebutton {
		top: 35px;
		left: calc(50% - 45px);
		z-index: 10;
	}
	#contactform_career .btn-primary {
		font-size: 16px;
		margin-bottom: 40px !important;
	}
	#contactform_career form {
		padding: 0px 15px;
	}
	#contactform_career .wpcf7-response-output {
		width: calc(100% + 30px) !important;
    	transform: translate(-15px, 0px);
		
	}
}
@media screen and (min-width: 1450px) and (max-height: 1000px) {
	#contactform_career #contactform_career_closebutton { left: 663px; }
}
@media screen and (min-width: 1050px) and (max-width: 1449px) and (max-height: 1000px) {
	#contactform_career #contactform_career_closebutton { left: calc(50% - 54px); }
}
@media screen and (max-width: 1049px) and (max-height: 1000px) {
	#contactform_career #contactform_career_closebutton { left: calc(50% - 62px); }
}
@media screen and (max-height: 950px) {
	#contactform_career .wpcf7-response-output {
		position: sticky !important;
	}
}
@media screen and (max-width: 800px) {
	#contactform_career #contactform_career_closebutton { left: calc(50% - 45px) !important; }
	#contactform_career #white_top_box {
		display: block;
		position: absolute;
		width: 86vw;
		background-color: white;
		z-index: 10;
		height: 50px;
		top: 10px;
		left: 50%;
    	transform: translate(-50%, 0);
	}	
	#contactform_career h4 {
		margin-top: 10px;
	}
	#contactform_career .codedropz-upload-handler {
		display: block !important;
		width: 100% !important;
	}
	#contactform_career .dnd-upload-status {
		display: block !important;
		position: relative !important;
		width: 100% !important;
		margin-left: 0px !important;
		padding: 0 !important;
	}
	#contactform_career .dnd-upload-status:nth-of-type(2),
	#contactform_career .dnd-upload-status:nth-of-type(3),
	#contactform_career .dnd-upload-status:nth-of-type(4) { top: 0 !important; }
	#contactform_career .has-error-msg {
		position: relative !important;
		top: 0 !important;
	}
	#contactform_career .wpcf7-list-item {
		margin-top: 15px !important;
	}
	#contactform_career .wpcf7-response-output {
		position: sticky !important;
	}
}
#contactform_career table {
	margin: 0 auto;
	margin-top: 0px;
	width: 95%;	
	max-width: 900px;
}
#contactform_career input[name*="job-title"], 
#contactform_career input[name*="job-color"], 
#contactform_career form p:nth-of-type(1) {
	display: none;
}

#contactform_career label {
	width: 100%;
}
#contactform_career span {
	text-align: left;
}
#contactform_career .formleft {
  display: inline-block;
  width: calc(100% - 15px);
  margin-right: 15px;
  text-align: left;
  vertical-align: top;
}
#contactform_career .formright {
  display: inline-block;
  width: calc(100% - 15px);
  margin-left: 15px;
  text-align: left;
  vertical-align: top;
}

#contactform_career h4 b {
    font-size: 30px;
    font-weight: 700;
    color: var(--jobColorHex);
}
#contactform_career a {
  color: #000000;
}
#contactform_career a:hover {
  color: #000000;
	cursor: pointer;
}
#contactform_career p {
  color: #000000;
  margin-bottom: 0;  
  text-align: left;
  width: 95%;	
  max-width: 900px;
  margin: auto;
}
#contactform_career p#infotext {
  text-align: center;	
  margin-bottom: 40px;
}
#contactform_career p#anhangtext {
  margin-bottom: 0.4em;
}
#contactform_career p:hover, 
#contactform_career h4:hover {
	cursor: default;
} 
#contactform_career table p {
  text-align: left;
}
#contactform_career table td {
  text-align: left !important;
}

#contactform_career input.wpcf7-text {
  color: #000000;
  font-size: 16px;
  margin-bottom: 0.4em;
  width: 100%;
  height: 30px;
  background: var(--jobColorRGBA);
  border: none !important;
}
#contactform_career input.wpcf7-date {
  color: #000000;
  font-size: 16px;
  margin-bottom: 0.4em;
  width: 100%;
  height: 30px;
  background: var(--jobColorRGBA);
  border: none !important;
}
#contactform_career input.wpcf7-date:hover {
	cursor: text;
}
#contactform_career textarea.form-control {
  max-height: 100px;
  font-size: 16px;
  width: 100%;
  color: #000000;
  background: var(--jobColorRGBA);
  border: none !important;
  margin-bottom: 0.4em;
}
#contactform_career input.wpcf7-file {
  margin-bottom: 12px;
}
#contactform_career .wpcf7-list-item {
  margin-left: 0px !important;
  margin-top: 34px;
  margin-bottom: 10px;
}
#contactform_career .wpcf7-list-item label, 
#contactform_career .wpcf7-list-item label input, 
#contactform_career .checkmark  {
	cursor: pointer !important;
}

#contactform_career .btn-primary {
  display: block;
  margin: 0 auto;
  margin-top: 3px !important;
  padding: 10px 20px;
  color: white;
  background: var(--darkgrey);
  font-weight: 600;  
  border-radius: 25px;
  border: none !important;
  margin-bottom: 60px;
}
#contactform_career .btn-primary:hover {
  color: var(--darkgrey);
  background: var(--corporate);
}

#contactform_career #dnd-upload-left {

}
#contactform_career #dnd-upload-right {

}
#contactform_career .codedropz-upload-handler {
	display: inline-block;
	border: 2px dashed var(--jobColorRGBA);
	border-radius: 0.25rem;
	height: 115px;
    width: calc(50% - 15px);
	margin-bottom: 0px;
}
#contactform_career .codedropz-upload-container {
	max-height: 100%;
	padding: 15px 20px;
}
#contactform_career .codedropz-upload-inner {
    font-size: 16px;
	font-weight: 400;
    line-height: 1.4;
	letter-spacing: normal;
    color: var(--jobColorHex);
	margin-bottom: 0px;
}
#contactform_career .codedropz-upload-inner h5{
    color: var(--jobColorHex);
	font-size: 16px;
	font-weight: 600;
    line-height: 1.4;
	letter-spacing: normal;
	margin: 0;
}		
#contactform_career .codedropz-upload-inner .cd-upload-btn{
	display: inline-block;
    font-weight: 600;
	color: white;
    background: var(--jobColorHex);
    border-radius: 25px;
    border: none !important;
    padding: 5px 20px;
    margin: 0 auto;
    margin-top: 5px;
    margin-bottom: 0px;
}
#contactform_career .dnd-upload-counter {
    right: 7px;
    bottom: 0px;
}
#contactform_career .dnd-upload-status {
	display: inline-block;
	position: absolute;
    width: calc(50% - 15px);
	margin-left: 30px;
	padding: 0;
}
#contactform_career .dnd-upload-status:nth-of-type(2) { top: -8px; }
#contactform_career .dnd-upload-status:nth-of-type(3) { top: 32px; }
#contactform_career .dnd-upload-status:nth-of-type(4) { top: 72px; }
#contactform_career .dnd-upload-image {
    display: none;
}
#contactform_career .dnd-upload-details {
	width: calc(100% - 20px);
	padding: 0;
}
#contactform_career .dnd-upload-details .name, 
#contactform_career .dnd-upload-details .name em{
	font-size: 16px;
	font-weight: 400;
    line-height: 1.4;
	letter-spacing: normal;
    color: black;
	padding-bottom: 0;
}
#contactform_career .dnd-progress-bar {
	text-indent: 6px;
	background: var(--jobColorRGBA);
}
#contactform_career .dnd-upload-status .dnd-upload-details .dnd-progress-bar span {
	background: var(--jobColorHex);
}
#contactform_career .has-error-msg {
	position: absolute;
    display: block;
    width: 100%;
    top: 115px;
    bottom: 0;
    padding: 5px 0px !important;
    margin: 0 !important;
    background: none;
    border: none !important;
    color: var(--corporate);
    font-style: normal;
    font-weight: 500;
    line-height: 1.4em;
}
	
#contactform_career .wpcf7-response-output {
  position: absolute;
  width: 100%;
  bottom: 0;
  padding: 5px !important;
  margin: 0 !important;
  background: rgba(249, 167, 31, 0.9); /* Orange */
  border: none !important;
  border-radius: 0px;
  color: #000000;
  font-weight: 500;
  line-height: 1.4em;
}
#contactform_career .wpcf7 form.sent .wpcf7-response-output {
  background: rgba(134, 175, 0, 0.9) !important; /* Grün */
}
.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output {

}
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output {

}
.wpcf7 form.spam .wpcf7-response-output {

}
/* blau rgba(57, 172, 222, 0.9) rot rgba(184, 46, 46, 0.9)*/
#contactform_career .wpcf7 form.invalid, 
#contactform_career .wpcf7 form.sent, 
#contactform_career .wpcf7 form.submitting, 
#contactform_career .wpcf7 form.reseting{
	background-color: white;
    color: black;
    font-size: 16px;
}
#contactform_career input:focus, 
#contactform_career textarea:focus {
    outline: none !important;
    border: 2px solid var(--jobColorHex) !important;
    box-shadow: 0 0 0px #ffffff;
}/*
#contactform_career input:-webkit-autofill,
#contactform_career input:-webkit-autofill:focus,
#contactform_career input:-webkit-autofill:hover,
#contactform_career input:-webkit-autofill:active {
    background: transparent;
    -webkit-box-shadow: 0 0 0 30px var(--jobColorRGBA) inset !important; 
}*/
#contactform_career input:-webkit-autofill,
#contactform_career input:-webkit-autofill:focus,
#contactform_career input:-webkit-autofill:hover,
#contactform_career input:-webkit-autofill:active {
    transition: background-color 600000s 0s, color 600000s 0s;
}
#contactform_career input[data-autocompleted] {
    background-color: transparent !important;
}




/* PROJEKTE INTERN LANDING PAGE (PRIVATE) ------------------------------------------------------------------------------------------------------ */

body.projekte-intern .elementor-widget-posts article {
	min-height: 360px;
}
body.projekte-intern .elementor-posts .elementor-post__card {
	background-color: var(--midgrey);
}



/* WEBSITES & FLATFINDER GALLERIES ------------------------------------------------------------------------------------------------------------------------------------ */

body.websites .d-block.mb-3 {
	margin-top: 150px;
}
body.flatfinder-officefinder .d-block.mb-3 {
	margin-top: 150px;
}

.webffgallery {
	line-height: 0;
    margin: 0 auto;
    width: calc(100% - 140px) !important;
    margin-bottom: 0 !important;
	text-align: center;
}
.webffgallery .tncontainer {
	text-align: left;
	max-width: calc(25% - 30px);
	float: left;
	margin: 15px;
}
.webffgallery .elementor-widget-image {
	margin: 0;
	border-top: #dddddd 44px solid;
	box-shadow: 10px 10px 10px rgba(0,0,0,0.3);
	font-size: 0;
}
@media only screen and (max-width: 1400px) {
	.webffgallery .elementor-widget-image { max-width: calc(33% - 30px); }
}
@media only screen and (max-width: 1024px) {
	.webffgallery .elementor-widget-image { max-width: calc(50% - 35px); }
}
@media only screen and (max-width: 767px) {
	.webffgallery .elementor-widget-image { max-width: calc(100% - 30px); }
}

body.elementor-editor-active .webffgallery .elementor-widget-image { border: #000000 1px solid; }


.webffgallery .elementor-widget-image img {
	vertical-align: bottom;
}

.webffgallery .elementor-widget-image.loginrequired .loginicon,
.webffgallery .elementor-widget-image .nologinicon {
	width: 36px;
	height: 36px;
	position: absolute;
	top: -39px;
	right: 2px;
	background-image: url(https://hh-vision.de/wp-content/uploads/Icon_Login.png);
	background-repeat: no-repeat;
	background-size: 25px;
	background-position: 50% 50%;
	filter: brightness(0.8);
	z-index: 2;
}
.webffgallery .elementor-widget-image.loginrequired .loginicon.active,
.webffgallery .elementor-widget-image .bloginicon.active {
	background-image: url(https://hh-vision.de/wp-content/uploads/Icon_Login_close.png) !important;	
}
.webffgallery .elementor-widget-image.loginrequired .loginicon:hover,
.webffgallery .elementor-widget-image .bloginicon:hover {
	cursor: pointer;
	filter: brightness(1) !important;
}
.webffgallery .elementor-widget-image .nologinicon {
	background-image: url(https://hh-vision.de/wp-content/uploads/Icon_NoLogin.png);
	opacity: 0.5;
}

.webffgallery .elementor-widget-image figure {
	padding: 0;
    margin: 0;
    width: 100%;
    max-width: 100%;
    border: none;
    text-align: left; 
	background: #000000;
}
.webffgallery .elementor-widget-image figcaption {
	display: none;
	position: absolute;
    top: -44px;
    left: 0;
    font-size: 18px;
    text-transform: uppercase;
    font-weight: 500;
	width: 100%;
    height: 44px;
    padding: 14px 0 0 14px;
    text-align: left;
    background: #222222;
    color: var(--corporate);
}
.webffgallery .elementor-widget-image figcaption.display {
	display: block;
}

.webffgallery .elementor-widget-image a {
	overflow: hidden;
}
.webffgallery .elementor-widget-image img {
	opacity: 1;
	transition: opacity .3s linear;	
}
.webffgallery .elementor-widget-image:hover img {
	opacity: 0.5;
}

.webffgallery .elementor-widget-image .weblinkgraphic {
	position: absolute;
    top: 20px;
	right: 70px;
	opacity: 0;
	font-size: 14px;
    line-height: 25px;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-bottom: 0;
    margin-top: 0;
    z-index: 9999;
    background-color: rgba(0,0,0,0.4);
    border: #ffffff 1px solid;
    border-radius: 17px;
    color: #ffffff;
    height: 34px;
    padding: 3px 35px 2px 15px;
    display: inline-block;
    background-image: url(https://hh-vision.de/wp-content/uploads/Arrow_round_external.png);
    background-size: 1px;
    background-position: calc(100% - 18px) 16px;
    background-repeat: no-repeat;
    transition: all .2s ease-in-out;
}
.webffgallery .elementor-widget-image .weblinkgraphic.no1 { top: 20px; }
.webffgallery .elementor-widget-image .weblinkgraphic.no2 { top: 60px; }
.webffgallery .elementor-widget-image .weblinkgraphic.no3 { top: 100px; }

.webffgallery .elementor-widget-image .weblinkgraphic:hover,
#websitegallery .elementor-widget-image:hover .weblinkgraphic,
#flatfindergallery .elementor-widget-image:hover .weblinkgraphic.no1 {
	background-color: #000000;
	border-color: var(--corporate);
}
	
.webffgallery .elementor-widget-image:hover .weblinkgraphic {
	right: 20px;
    background-size: 20px;
    background-position: calc(100% - 8px) 6px;
	opacity: 1;
}



.webffgallery .elementor-widget-image .loginpw {
	display: none;
    width: 100%;
    height: 44px;
    padding-right: 44px;
    text-align: right;
    color: #ffffff;
    background: rgba(0,0,0,0.8);
    position: absolute;
    right: 0;
    top: -44px;
    line-height: 46px;
	font-size: 14px;
}
#flatfindergallery .loginstuff .loginpw { right: 30px; width: calc(100% - 30px); z-index: 2; }
#flatfindergallery .bloginstuff .loginpw { right: 0; width: 100%; z-index: 4; }

.webffgallery .elementor-widget-image .loginpw.display {
	display: block;
}



#flatfindergallery .elementor-widget-image .loginicon,
#flatfindergallery .elementor-widget-image .nologinicon {
	right: 30px;
}
#flatfindergallery .elementor-widget-image .bloginicon,
#flatfindergallery .elementor-widget-image .nobloginicon {
	width: 36px;
	height: 36px;
	position: absolute;
	top: -39px;
	right: 2px;
	background-repeat: no-repeat;
	background-size: 25px;
	background-position: 50% 50%;
	filter: brightness(0.8);
	z-index: 4;
}
#flatfindergallery .elementor-widget-image .bloginicon {
	background-image: url(https://hh-vision.de/wp-content/uploads/Icon_BLogin.png);
}
#flatfindergallery .elementor-widget-image .nobloginicon {	
	background-image: url(https://hh-vision.de/wp-content/uploads/Icon_NoBLogin.png);
	opacity: 0.45;
}


.webffgallery .deactivated img {
	opacity: 0.25 !important;
}
.webffgallery .deactivated img:hover {
	cursor: default;
}
.webffgallery .deactivated figcaption {
	color: grey;
}
.webffgallery .deactivated .weblinkgraphic {
	display: none;
}

.webffgallery .elementor-widget-image .projektnr {
	display: inline-block;
    position: absolute;
    left: 0;
    top: 0;
    background: var(--corporate);
    color: var(--black);
    font-size: 16px;
    font-weight: bold;
    line-height: 30px;
    height: auto;
    padding: 0 14px;
}
.webffgallery .elementor-widget-image .versiondot {
	display: inline-block;
    position: absolute;
    left: 5px;
    bottom: 5px;
    background: #000000;
    color: var(--corporate);
    font-size: 16px;
    line-height: 36px;
    width: 36px;
    height: 36px;
    border-radius: 100%;
}
.webffgallery .elementor-widget-image .typedot {
	display: inline-block;
    position: absolute;
    left: 45px;
    bottom: 5px;
    background: #000000;
    color: var(--corporate);
    font-size: 16px;
    line-height: 36px;
    width: auto;
    height: 36px;
	padding: 0 10px;
    border-radius: 30px;
}
.webffgallery .elementor-widget-image .typedot.plus {
	text-transform: uppercase;
	font-weight: 600;
}
.webffgallery .elementor-widget-image .typedot.smart {
	
}
.webffgallery .elementor-widget-image .typedot.undefined {
	display: none;
}

.webffgallery .tncontainer .elementor-widget-text-editor {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: auto;
	padding: 10px;
	background: rgba(0,0,0,0.7);
	display: none;
}
.webffgallery .tncontainer .elementor-widget-text-editor p {
	line-height: 1.4em;
    margin: 0 !important;
    color: #ffffff;
    font-size: 14px;
}

body.elementor-editor-active .webffgallery .tncontainer .elementor-widget-text-editor { position: relative; display: block; background: #ffffff; }
body.elementor-editor-active .webffgallery .tncontainer .elementor-widget-text-editor p { color: #000000; }

.webffgallery .officefinder-container .elementor-widget-image .weblinkgraphic:hover, #websitegallery .officefinder-container .elementor-widget-image:hover .weblinkgraphic, #flatfindergallery .officefinder-container .elementor-widget-image:hover .weblinkgraphic.no1 {
	border-color: #2A96D2;
}
.webffgallery .officefinder-container .elementor-widget-image figcaption {
    color: #2A96D2;
}
.webffgallery .officefinder-container .elementor-widget-image .versiondot {
    color: #2A96D2;
}
.webffgallery .officefinder-container .elementor-widget-image .projektnr {
	background: #2A96D2;
}
.webffgallery .officefinder-container .elementor-widget-image .typedot {
	color: #2A96D2;
}



/* PRESENTATION LANDING PAGE (PRIVATE) ------------------------------------------------------------------------------------------------------ */

body.praesentationen .preswebnav p {
	display: inline-block;
	margin: 12px;
}
body.praesentationen .preswebnav a {
	display: inline-block;
	padding: 5px 20px;
	border-radius: 100px;
	color: #ffffff;
	background-color: #999999;
}
body.praesentationen .preswebnav a:hover {
	background-color: #666666;
}
body.praesentationen .preswebnav a.active {
	color: var(--corporate);
	background-color: #222222;
}

body.praesentationen h1 {
	margin-top: 30px;
}
body.praesentationen .elementor-widget-posts article {
	min-height: 360px;
}
body.praesentationen .elementor-posts .elementor-post__card {
	background-color: var(--midgrey);
}
body.praesentationen .elementor-posts .elementor-post__title {
	background-color: rgba(0,0,0,0.6) !important;
}
body.praesentationen .elementor-posts .elementor-post__excerpt {
	background-color: rgba(0,0,0,0.6) !important;
	min-height: 75px;
}

body.praesentationen .d-block.mb-3 {
	margin-top: 150px;
}


body.praesentationen .webffgallery {
	display: none;
	padding-top: 10px;
	padding-bottom: 150px;
}
body.praesentationen .webffgallery.display {
	display: block;
}
body.praesentationen .webffgallery h1 {
	margin-bottom: 65px;
}
body.praesentationen .webffgallery p {
	margin-bottom: 40px;
}




/* PRESENTATION PAGES -------------------------------------------------------------------------------------------------------------------------- */

body.praesentation .firstsection {
  margin-top: calc(100vh - 240px);
}
body.elementor-editor-active.praesentation .firstsection {
  margin-top: 0;
}
body.praesentation .projekttrenner {
  min-height: 45vw;
}



body.praesentation .warumwir ul li {
	font-family: "Montserrat", sans-serif;
    font-weight: 400;
    font-size: 28px;
  	margin-bottom: 15px;
}
body.praesentation h4 {
	font-family: "Montserrat", sans-serif;
    font-weight: 400;
    font-size: 24px;
    margin-top: -25px;
}
#sidetabmenu {
  position: fixed;
  left: -240px;
  overflow: visible;
  top: 50vh;
  display: none;
  width: 0;
  z-index: 200;
  transition: all 0.3s ease-out;
  visibility: hidden;
}
#sidetabmenu ul {
 	width: 240px;
  	position: relative;
  	left: -240px;
}
#sidetabmenu li {
  height: 50px;
  width: 100%;
}
#sidetabmenu a {
  text-align: right;
  background-color: #000000;
  color: #ffffff;
  font-size: 20px;
  text-transform: uppercase;
  padding: 0;
  display: block;
  width: 100%;
  height: 40px;
  border-bottom-right-radius: 20px;
  border-top-right-radius: 20px;
  position: absolute;
  left: 40px;
  text-decoration: none;
  transition: all 0.3s ease-in-out;
}
#sidetabmenu a:hover {
  left: 240px;
  background-color: var(--corporate);
}
#sidetabmenu a .tabicon {
  display: inline-block;
    vertical-align: middle;
    width: 40px;
    height: 40px;
    background-size: 50px;
    border-radius: 20px;
    background-position: 50% 50%;
}
#sidetabmenu a .tabtext {
  display: inline-block;
   margin-right: 10px;
}

.inquartierheaderimage {
  opacity: 0.8;
  width: 100%;
  max-width: 700px !important;
  margin-left: 30px !important;
}
@media only screen and (max-width: 767px) {
	.inquartierheaderimage { margin-left: 10px !important; max-width: 340px !important; margin-bottom: 100px !important; }
}

body.praesentation .lozenges,  .lozenges {
  background-color: #ffffff;
}
body.praesentation .lozenges .elementor-inner-section, .lozenges .elementor-inner-section {
  margin-bottom: 0;
}
body.praesentation .lozenges .elementor-widget-text-editor, .lozenges .elementor-widget-text-editor {
  display: inline-block;
  width: auto;
  margin-bottom: 0 !important;
}
body.praesentation .lozenges a ul, .lozenges a ul {
  display: none;
}
body.praesentation .lozenges a, .lozenges a {  
  	    height: auto;
    display: inline-block;
    background-color: #333333;
    text-align: center;
    min-height: 7vw;
    border-radius: 3.5vw;
    margin-left: 0.6vw;
    margin-right: 0.6vw;
    margin-top: 0;
    margin-bottom: 0;
    padding-left: calc(10px + 3vw);
    padding-right: calc(10px + 3vw);
    font-size: 4vw;
    font-weight: 600;
    line-height: 6vw;
    color: var(--corporate);
}

body.praesentation .lozenges a:hover, .lozenges a:hover {
  background: #000000;
  color: #ffffff;
}
body.praesentation .lozenges a span, .lozenges a span {
  display: block;
    height: 7vw;
    padding-top: 0.4vw;
}
@media only screen and (max-width: 767px) {
  	body.praesentation .lozenges a, .lozenges a { min-height: 20px; border-radius: 30px; margin-left: 5px; margin-right: 5px; margin-top: -20px; margin-bottom: 15px; padding-left: calc(10px + 3vw); padding-right: calc(10px + 3vw); font-size: 40px; line-height: 50px;}
    body.praesentation .lozenges a span, .lozenges a span { height: 60px; }
}

body.praesentation .lozenges.longwords a {
	min-height: 20px; 
	border-radius: 50px; 
	margin-left: 5px; 
	margin-right: 5px; 
	margin-top: -20px; 
	margin-bottom: 15px; 
	padding-left: calc(10px + 1.5vw); 
	padding-right: calc(10px + 1.5vw); 
	font-size: 40px; 
	line-height: 50px;
}
body.praesentation .lozenges.longwords a span {
	height: 70px;
}
@media only screen and (max-width: 767px) {
  	body.praesentation .lozenges.longwords a { font-size: 28px; line-height: 28px; padding-top: 7px; padding-bottom: 10px; }
    body.praesentation .lozenges.longwords a span { height: auto; }
}

body.praesentation .lozenges p, .lozenges p {
  margin: 5px 0;
}

body.praesentation .footerlozenges, .footerlozenges {
  padding-top: 50px;
}
body.praesentation .footerlozenges a, .footerlozenges a {
  max-height: 500px;
  overflow: hidden;
  margin-bottom: 0;
}
body.praesentation .footerlozenges a ul, .footerlozenges a ul {
  margin-top: -2vw;
  height: auto;
  max-height: 0;
  transition: all .4s ease-in-out;
  display: block;
  overflow: hidden;
  text-align: left;
}
body.praesentation .footerlozenges a:hover ul, .footerlozenges a:hover ul {
  margin-top: -1vw;
  max-height: 400px;
}
body.praesentation .footerlozenges a ul li, .footerlozenges a ul li {
  text-align: left;
  padding-left: 2px;
  font-size: 20px;
  text-align: center;
  line-height: 1.5em;
  color: #333333;
  font-weight: 400;
  transition: color .2s ease-in-out;
}
body.praesentation .footerlozenges a:hover ul li, .footerlozenges a:hover ul li {
  color: #ffffff;
}
@media only screen and (max-width: 767px) {
	body.praesentation .footerlozenges a, .footerlozenges a { margin-bottom: 15px; }
  	body.praesentation .footerlozenges a ul li, .footerlozenges a ul li { font-size: 18px; }
}


.tiles .elementor-inner-section .elementor-column-wrap {
  padding: 40px !important;
}
body.praesentation h1 {
  font-weight: 400;
}
body.praesentation h1 strong {
  font-weight: 600;
}
body.praesentation h2 a {
  font-family: "Montserrat", sans-serif; 
}
.tiles h2 { 
  margin-top: -15px;
  margin-bottom: 0;
  padding-bottom: 0;
}
.tiles h2 a{
  color: #ffffff;
  font-size: 80px;
  line-height: 1.1em;
}
.tiles p { 
  text-align: right;
  margin-bottom: 0;
    margin-top: 10px;
}
.tiles .tilesubmenu {
}
.tiles .tilesubmenu a {
  display: inline-block;
    background: #000000;
    color: #ffffff;
    height: 32px;
    padding-left: 15px;
    padding-right: 15px;
    font-size: 20px;
    line-height: 30px;
    border-radius: 20px;
}
.tiles .tilesubmenu a:hover {
    background: #ffffff;
    color: #000000;
}

@media only screen and (max-width: 1400px) {
  	.tiles .elementor-inner-section .elementor-column-wrap { padding: 30px 20px 20px 20px !important; }
	.tiles h2 a { font-size: 5.5vw; line-height: 5vw; }
}
@media only screen and (max-width: 767px) {
  	.tiles .elementor-inner-section .elementor-column-wrap { padding: 30px 20px 30px 20px !important; }
	.tiles h2 a { font-size: 10vw; line-height: 9vw; }
}




body.praesentation .inhaltsverzeichnis .elementor-widget-text-editor {
  margin-bottom: 0;
}

body.praesentation .subsection h2 {
  margin-bottom: 30px !important;
  font-weight: 400 !important;
}
body.praesentation .subsection .icon {
  width: 130px;
  height: 130px;
  mix-blend-mode: screen;
}
body.praesentation .subsection .icon img {
  border-radius: 100%;
  object-fit: none;
}

body.praesentation .subsectioncontent h2 {
  margin-bottom: 20px !important;
  line-height: 1.1em;
}

.smalllozenges p {
  	display: inline-block;
    height: 32px;
    padding-left: 15px;
    padding-right: 15px;
    font-size: 20px;
    line-height: 32px;
    border-radius: 20px;
  	margin: 0 15px 15px 0;
  	background: #e2e2e2;
  transition: all 0.1s ease-in-out;
}
/*
.smalllozenges p:hover {
  cursor: pointer;
  background: #000000;
  color: #ffffff;
}
*/


body.praesentation .elementor-gallery__container {
    margin-top: 0;
    border-bottom: none;
}
body.praesentation .videostrip {
  padding: 5px;
}
body.praesentation .videostrip .elementor-column-wrap {
  padding: 5px !important;
}

/*---Präsi Pages 2023------------------------------------------------------*/

.product-section-separator {
    border-top: solid 1px grey;
    width: 66vw !important;
    margin: auto;
}

.elementor-aspect-ratio-11 .embed-container { 
	padding-bottom: 100%;
}
.videoratio39 .e-hosted-video {
	padding-bottom: 39%;
}

.xl-praesi-page-section-title h4:nth-of-type(2) {
	padding-top: 10px;
}
.projekttrenner.indeland {
	min-height: 40vw;
}

.no-bottom-margin {
	margin-bottom: 10px !important;
}

.title-xl-praesi-page {
    position: absolute;
    z-index: 100;
    bottom: calc(0px - 20px + 12%);
    right: 6vw;
}
.title-xl-praesi-page h1, .title-xl-praesi-page h4 {
	text-align: right;
    font-weight: 700 !important;
    color: white;
    opacity: 0.8;
    font-size: 10.5vw !important;
	line-height: 8vw !important;
	margin: 0;
	padding: 0;
}
.title-xl-praesi-page h4 {
	font-size: 4.5vw !important;
    text-transform: uppercase;
    margin-top: 0px !important;
}
.subtitle-xl-praesi-page h1 {
	font-size: 3vw;
}

.smalllozenges-sum {
	text-align: center;
}
.smalllozenges-sum p {
    height: 40px;
    padding-left: 22px;
    padding-right: 22px;
    font-size: 20px;
    line-height: 40px;
    margin: 0 15px 15px 0;
    border-radius: 23px;
}
.smalllozenges-sum a {
	color: black !important;
}
.smalllozenges-sum p:hover {
	background-color: black;
}
.smalllozenges-sum p:hover a {
	color: white !important;
}
.smalllozenges-sum a:hover {
}	

.medilongens-spacer {
	height: 0.8vw;
}
body.praesentation .medilozenges .elementor-inner-section {
	width: 80vw;
    margin: auto;
}
body.praesentation .medilozenges a, .medilozenges a {
    height: auto;
    display: inline-block;
    background-color: #333333;
    text-align: center;
    min-height: 4vw;
    border-radius: 5vw;
    margin-left: 0.4vw;
    margin-right: 0.4vw;
    margin-top: 0;
    margin-bottom: 20px;
    padding-left: calc(10px + 1.5vw);
    padding-right: calc(10px + 1.5vw);
    font-size: 1.5vw;
    font-weight: 600;
    line-height: 4vw;
    color: var(--corporate);
}
body.praesentation .medilozenges a span, .medilozenges a span {
    display: block;
    height: 4vw;
    padding-top: 0.4vw;
}
body.praesentation .medilozenges,  .medilozenges{
  background-color: #ffffff;
}
body.praesentation .medilozenges:hover,  .medilozenges:hover, body.praesentation .medilozenges a:hover , .medilozenges a:hover {
	cursor: default;	
}
body.praesentation .medilozenges .elementor-inner-section, .medilozenges .elementor-inner-section {
  margin-bottom: 0;
}
body.praesentation .medilozenges .elementor-inner-section .elementor-widget-wrap, .medilozenges .elementor-inner-section .elementor-widget-wrap {
	justify-content: center !important;
}
body.praesentation .medilozenges .elementor-widget-text-editor, .medilozenges .elementor-widget-text-editor {
  display: inline-block;
  width: auto;
  margin-bottom: 0 !important;
}
body.praesentation .medilozenges a ul, .medilozenges a ul {
  display: none;
}
body.praesentation .medilozenges p, .medilozenges p {
  margin: 5px 0;
}
.medilozenges .expandleft a {
  border-top-left-radius: 0 !important;
  border-bottom-left-radius: 0 !important;
  margin-left: 0 !important;
}
.medilozenges .expandright a {
  border-top-right-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
  margin-right: 0 !important;
}
body.elementor-editor-active .medilozenges a {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

@media (max-height: 600px) and (orientation: landscape){
	.xl-praesi-page-title-img {
		height: 100vh;
	}
	.xl-praesi-page-firstsection{
		margin-top: 100vh !important;
	}
	.title-xl-praesi-page {
		bottom: 6vw;
	}
}

@media (max-width: 1300px){
	body.praesentation .medilozenges a, .medilozenges a {
		min-height: 5vw !important;
		padding-left: calc(10px + 2vw) !important;
		padding-right: calc(10px + 2vw) !important;
		font-size: 2.5vw !important;
		line-height: 5vw !important;
    	margin-bottom: 14px !important;
	}
	.smalllozenges-sum p {
		height: 38px;
		padding-left: 18px;
		padding-right: 18px;
		font-size: 18px;
		line-height: 38px;
	}
	.sec-loz-sum {
		width: 90vw;
		margin: auto;
	}
	.subtitle-xl-praesi-page h1 {
		margin-left: 100px;
	}
}
@media (max-width: 1190px){
	.title-xl-praesi-page {
	}
	.title-xl-praesi-page h1 {
		font-size: 11.5vw !important;
		line-height: 9vw !important;
	}
	.title-xl-praesi-page h4 {
		font-size: 5vw !important;
	}
	.subtitle-xl-praesi-page h1 {
		font-size: 5vw !important;
	}
	.subtitle-xl-praesi-page h1 {
		margin-left: 10px;
	}
	.title-lmrm h1 {
		margin-left: 100px !important; 
		margin-bottom: -30px !important;
	}
}
@media (max-width: 930px){
	.title-xl-praesi-page {
		bottom: calc(0px + 4%) !important;
	}
	.title-xl-praesi-page h1, .title-xl-praesi-page h4 {
		opacity: 1 !important;
	}
	.title-residential h1, .title-residential h4 {
		text-align: center !important;
	}
	.title-residential {
		right: 0 !important;
	}
	.subsubtitle-xl-praesi-page h1 {
	}
	body.praesentation .medilozenges a, .medilozenges a {
		min-height: 7vw !important;
		padding-left: calc(10px + 3vw) !important;
		padding-right: calc(10px + 3vw) !important;
		font-size: 3vw !important;
		line-height: 7vw !important;
    	margin-bottom: 12px !important;
	}
	body.praesentation .medilozenges .elementor-inner-section {
		width: 90vw;
	}
}
@media (max-width: 850px){
	body.praesentation .smalllozenges p {
		font-size: 17px;
	}
	.title-lmrm h1 {
		margin-left: 70px !important; 
	}
}
@media (max-width: 767px){
	.subtitle-xl-praesi-page h1 {
		font-size: 9vw !important;
	}
	body.praesentation .medilozenges a, .medilozenges a {
		min-height: 7vw !important;
		padding-left: calc(10px + 3vw) !important;
		padding-right: calc(10px + 3vw) !important;
		font-size: 3vw !important;
		line-height: 7vw !important;
		margin-left: 0.6vw !important;
		margin-right: 0.6vw !important;
	}
	.medilongens-spacer {
		height: 1.5vw;
	}
}
@media (max-width: 600px){
	.subsubtitle-xl-praesi-page h1 {
		font-size: 6vw !important;
	}
	.title-lmrm h1 {
		margin-left: 60px !important; 
	}
}
@media (max-width: 500px){
	.subsubtitle-xl-praesi-page h1 {
		font-size: 7vw !important;
	}
	body.praesentation .medilozenges a, .medilozenges a {
		min-height: 10vw !important;
		padding-left: calc(10px + 5vw) !important;
		padding-right: calc(10px + 5vw) !important;
		font-size: 4.5vw !important;
		line-height: 10vw !important;
		margin-left: 0.6vw !important;
		margin-right: 0.6vw !important;
	}
}
@media (max-width: 450px){
	body.praesentation .subsectioncontent h2 {
		font-size: 35px;
	}
	body.praesentation .smalllozenges p {
		font-size: 14px;
	}
	body.praesentation .elementor-inner-section .elementor-column-wrap {
		padding: 0;
	}
	body.praesentation .elementor-inner-section .weblink a {
		padding-top: 7px;
	}
	.smalllozenges-sum p {
		height: 30px;
		padding-left: 14px;
		padding-right: 14px;
		line-height: 30px;
	}
}


/* MARKETING PORTFOLIO ------------------------- */

.logo_iq {
    position: absolute;
	bottom: 0;
    left: 15px;
	width: 50%;
	max-width: 50%;
	height: unset !important;
	margin-bottom: -1.4vw !important;
}
.logo_iq img {
	object-fit: unset !important;
	height: unset !important;
	object-position: unset !important;
}
.marketinghighlights .elementor-widget-gallery {
	margin-bottom: 10px !important;
}


/* BUNDESBANK CAMPUS --------------------------- */


/* AXA NEXT ------------------------------------- */

body.axa-next .logo_axa {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 80%;
	height: auto;
	max-width: 1200px;
	opacity: 1;
}

/* WITTENBURG WORLD ----------------------------- */


body.wittenburg-world .cs_start {
  	background-position: 50% -18vh !important;
}
body.wittenburg-world .headertext {
	position: absolute;
	left: 0;
	top: 15%;
}
body.wittenburg-world .headertext p {
	margin: 0;
    line-height: 0.8em;
    font-size: 12vw;
    text-transform: uppercase;
    color: #ffffff;
    font-weight: 700 !important;
    opacity: 0.8;
}
body.wittenburg-world .projekttrenner.indeland {
	min-height: 40vw;
}


/* MESSECITY ROSSIO ----------------------------- */


body.messecity-rossio .n2-section-smartslider .n2-ss-layer {
  height: 100%;
  position: absolute;
  top: 0;
}
body.messecity-rossio .n2-section-smartslider p {
  	font-family: 'Montserrat', sans-serif !important;
  	font-size: 16.1vw !important;
  	text-transform: uppercase !important;
  	font-weight: 700 !important;
  	margin-left: -1vw;
  	margin-top: calc(calc(100vh - 300px) - 10.5vw);
  	color: rgba(255,255,255,0.55) !important;
}
@media only screen and (max-width: 1380px) {
  body.messecity-rossio .n2-section-smartslider p { margin-top: calc(calc(100vh - 300px) - 20vw); }
}
body.messecity-rossio .lozenges a {
    background-color: #333333;
    color: #eb2529;
}


.weblink.rossio a {
  	background-color: #eb2529;
  	color: #ffffff;
}
.weblink.rossio a:hover {
  	background-color: #39acde;
}
.weblink.rossio a[target='_blank']:hover {
  	background-color: #333333;
  	color: #ffffff;
}
.weblink.bigger.rossio a {
  	background-color: #eb2529;
  	color: #ffffff;
}
.weblink.bigger.rossio a:hover {
  background-color: #333333;
}

/* Hi-Zukunft -------------------------------*/



body.hi-zukunft .cs_start_logo {
  	opacity: 0.7;
    width: 70vw !important;
    left: -2vw;
    transform: translateY(-19.5vw);
}





/* 3DPeople NextGen ----------------------------- */


body.threedpeople-nextgen .n2-section-smartslider .n2-ss-layer {
  height: 100%;
  position: absolute;
  top: 0;
}
body.threedpeople-nextgen .n2-section-smartslider p {
  	font-family: 'Montserrat', sans-serif !important;
  	font-size: 16.1vw !important;
  	font-weight: 600 !important;
  	margin-left: -1vw;
  	margin-top: calc(calc(100vh - 300px) - 10.5vw);
  	color: rgba(255,255,255,0.55) !important;
}
@media only screen and (max-width: 1380px) {
  body.threedpeople-nextgen .n2-section-smartslider p { margin-top: calc(calc(100vh - 300px) - 20vw); }
}

body.threedpeople-nextgen .lozenges a {
    font-size: 70px;
}
@media only screen and (max-width: 1600px) {
  body.threedpeople-nextgen .lozenges a { font-size: 4vw; }
}
@media only screen and (max-width: 767px) {
  body.threedpeople-nextgen .lozenges a { font-size: 4vw; }
}



/* 3DPeople VolCap ----------------------------- */
.volcap_flexrow {
  	display: flex;
  	flex-wrap: wrap;
  	padding: 0 4px;
}
.volcap_flexcolumn {
  	flex: 12,5%;
  	max-width: 12,5%;
  	padding: 0 0,25%;
}
.volcap_flexcolumn img {
	width: 100%;
  	margin-top: 8px;
  	vertical-align: middle;
}
@media (max-width: 1000px) {
  	.volcap_flexcolumn {
    	flex: 25%;
    	max-width: 25%;
  	}
}
@media (max-width: 600px) {
	.volcap_flexcolumn {
    	flex: 50%;
    	max-width: 50%;
  	}
}
@media (max-width: 300px) {
	.volcap_flexcolumn {
    	flex: 100%;
    	max-width: 100%;
  	}
}



/* LOZENGES ----------------------------------------------------------------------------------------------------------------------------------- */

.lozenges .expandleft a {
  border-top-left-radius: 0 !important;
  border-bottom-left-radius: 0 !important;
  margin-left: 0 !important;
}
.lozenges .expandright a {
  border-top-right-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
  margin-right: 0 !important;
}
body.elementor-editor-active .lozenges a {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}


/* FOOTERMENU ARCHITEKTUR & DESIGN ----------------------------------------------------------------------------------------------------------- */

@media only screen and (min-width: 100px) and (max-width: 5000px) {
  .eael-simple-menu {
    margin-top: 15px !important;
    background-color: #ffffff !important;
    display: block !important;
  }
  .eael-simple-menu-container {
    background-color: #ffffff !important;
  }
  .eael-simple-menu-container .eael-simple-menu.eael-simple-menu-horizontal li {
    background-color: #ffffff;
    display: block !important;
    float: none !important;
  }
  .eael-simple-menu-container .eael-simple-menu li a {
    font-weight: 600 !important;
    color: var(--orange) !important;
    font-size: 18px !important;
    line-height: 1.2em !important;
    text-align: left;
    padding: 0 !important;
  }
  .eael-simple-menu-container .eael-simple-menu li:hover a, .eael-simple-menu-container .eael-simple-menu li a:hover {
    background: #ffffff !important;
    color: var(--blue) !important;
  }
  .eael-simple-menu-container .eael-simple-menu .current-menu-item a {
    color: #222222 !important;
    background: #ffffff !important;
  }
}

@media only screen and (max-width: 767px) {
	.eael-simple-menu-container .eael-simple-menu.eael-simple-menu-horizontal li { text-align: center !important; }
  	.eael-simple-menu-container .eael-simple-menu li a { text-align: center !important; }
}




/* lightbox settings */

.dialog-type-lightbox {
  z-index: 99999;
}
.elementor-lightbox .dialog-lightbox-close-button {
 right: calc(50% - 15px); 
}
.elementor-lightbox .eicon-share-arrow { display: none; }
.elementor-lightbox .eicon-zoom-in-bold { display: none; }
.elementor-lightbox .eicon-frame-expand { display: none; }

.elementor-lightbox .elementor-swiper-button-next {
  right: 15px;
}
.elementor-lightbox .elementor-swiper-button-prev {
  left: 15px;
}


/* scroll to top ------------------------------------------------------------------------------------------------------------------ */

#topbutton {
    position: fixed;
    right: 20px;
    width: 44px;
    height: 44px;
    bottom: -200px;
    transition: all .2s ease-in;
    border: solid 2px var(--corporate);
    border-radius: 22px;
	z-index: 2;
}
#topbutton.display {
  	bottom: 60px;
}
#topbutton:hover {
  	height: 60px;
  	margin-top: -20px; 
}
#topbutton::before {
	content:"";
	background-image: url(https://hh-vision.de/wp-content/uploads/TopButton_01.png);
  	background-repeat: no-repeat;
  	background-size: contain;
  	background-position: 50% 50%;
	position: absolute;
	top: 0;
	left: 0;
	width: 40px;
	height: 40px;
	transition: transform .2s ease-in;
}
#topbutton:hover::before {
  	transform: rotate(360deg);
}

/* PANORAMA IMAGE ------------------------------------------------------------------------------------------------------------------ */

.pnlm-panorama-info {
	display: none !important;
}





/* other stuff -------------------------------------------------------------------------------------------------------------------------- */

body.elementor-editor-active .elementor-section-wrap > section:nth-of-type(1) {
  margin-top: 100px;
}

.desktop {
  
}
.mobile {
  display: none;
}
@media screen and (max-width: 767px) {
  .desktop { display: none; }
  .mobile { display: block; }
  .elementor-inner-column { width: 100% !important; }
}
body.elementor-editor-active .desktop, body.elementor-editor-active .mobile {
  display: block;
} 

body:not(.elementor-editor-active) ol {
 	list-style-type: none;
  	padding-left: 0;
}
body:not(.elementor-editor-active) ol li {
 	padding-left: 25px;
  	margin-left: 0;
  	background: url(https://hh-vision.de/wp-content/uploads/Tickdot.png) no-repeat 0 4px;
}
@media only screen and (max-width: 767px) {
  ol li { font-size: 17px; line-height: 1.5em; }
}
.introtext {
 	max-width: 800px; 
  	margin: 0 auto;
}

.introtext h3 {
 	font-size: 32px;
}
.weblink.inline {
  display: inline-block;
  width: auto;
  margin-right: 15px;
}

.plarger p {
  font-size: 28px;
  font-weight: 400;
  line-height: 1.5em;
}
.h1smaller h1 {
  font-size: 60px;
}
.h2larger h2 {
  font-size: 60px;
}
@media only screen and (max-width: 767px) {
	.h2larger h2 { font-size: 8vw; }
}

.projektheading {
  border-bottom: #cccccc 1px solid; 
}

.hidden {
  	visibility: hidden; 	
}
.transparent {
 	opacity: 0; 
}
.black, .black h1, .black h2, .black h3, .black h4, .black h5, .black h6, .black p {
 	color: #111111 !important; 
}
.white, .white h2, .white h3, .white h4, .white h5, .white h6, .white p {
 	color: #ffffff; 
}
.white p {
	font-weight: 400;
}
.light, .light h2, .light p {
 	color: #dddddd; 
}
.bgwhite {
 	background-color: #ffffff; 
}
.borderwhite {
 	border: #ffffff 1px solid;
}
.bgblack {
 	background-color: #0c2b3b;
}
.green, .green h2 {
  	color: #82aa48;
}
.pale, .pale p {
  	color: #cccccc;
}
body:not(.elementor-editor-active) .fullheight {
  	height: 100vh;
}
.dark {
 	color: #0c2b3b; 
}
.dark p {
 	color: #000000 !important; 
}
.justified {
 	justify-content: left;
}
.roundcorners {
 	 border-radius: 40px !important;
}
.withoverlay {
 	box-shadow: inset 200px -200px 400px -100px rgba(0,0,0,0.5);
}
.subsection.higher {
  height: 45vw;
}
.smallicons img {
 	max-width: 50px;
  	max-height: 50px;
}
@media (max-width: 767px) {
  .smallicons img { max-width: 30px; max-height: 30px; }
}
.wider {

}
.wider > .elementor-container {
 	max-width: 1400px !important; 
  	margin: 0 auto;
}
.narrow {
 	max-width: 800px; 
  	margin: 0 auto;
}
.slim {
 	max-width: 600px; 
  	margin: 0 auto;
}
.huge h1 {
 	font-size: 120px; 
}
.half img {
 	width: 50%; 
}

.weblink {
 	position: relative;
  	top: -20px;
}
.weblink.right {
  	text-align: right;
}
.weblink p {
  	margin: 0;
}
.weblink a {
  	background-color: #f9a71f;
  	border-radius: 17px;
    height: 34px;
    padding: 5px 35px 2px 15px;
  	display: inline-block;
  	color: #ffffff;
  	text-transform: uppercase;
  	font-weight: 500;
  	letter-spacing: 0.1em;
  	background-image: url(https://hh-vision.de/wp-content/uploads/Arrow_right_round.png);
  	background-size: 20px;
  	background-repeat: no-repeat;
  	background-position: calc(100% - 8px) 7px;
}
.weblink a[target='_blank'] {
  	background-image: url(https://hh-vision.de/wp-content/uploads/Arrow_round_external.png);
}
.weblink a:hover {
  	background-color: #39acde;
}
.weblink a[target='_blank']:hover {
  	color: #000000;
}
.weblink.bigger a {
  	font-size: 18px;
  	color: var(--corporate);
  	background-color: #000000;
}
.weblink.bigger a:hover {
  background-color: var(--corporate);
}





.blackbox, .blackbox div {
 	padding: 0 !important;
  	margin: 0 !important;
}
.blackbox p {
 	display: inline-block;
  	margin: 0 auto;
  	background: #000000;
  	color: #ffffff;
  	padding: 3px 10px 0 10px;
  	text-transform: uppercase;
  	font-family: 'Hind', sans-serif;
  	font-size: 15px;
  	letter-spacing: 2px;
  	border-radius: 4px;
 	position: relative;
  	z-index: 1;
}
.logorule {
 	position: relative;
  	top: -15px;
  	z-index: 0;
}


.topsection_100 {
 	margin-top: 100vh; 
}



.fixedbg {
    background-position: 50% 50%;
    background-attachment: fixed;
    background-size: cover;
}
.fixedbg > .elementor-widget-wrap {
  background-attachment: fixed;
}
body.mobiledevice .fixedbg {    
	background-attachment: scroll !important;	
	background-size: cover;
}





@media (max-width: 767px) {
 .spaceText { height: 30px !important; }
  .buttonShowcase{ margin: 0px !important; }
}

@media (max-width: 930px){
  .headerLogo img{
    margin-bottom: 0px !important;
    margin-top: 20px !important;
  }
}

.fadeeffect .elementor-background-overlay {
  transition: opacity 3s linear 2s !important;
  opacity: 1;
}

.fadeeffect.fadeout .elementor-background-overlay {
  opacity: 0 !important;
}

.fadeeffect .fadeeffect2 {
  transition: opacity 3s linear 2s !important;
  opacity: 1;
}

.fadeeffect.fadeout .fadeeffect2 {
  opacity: 0 !important;
}

.inlineimage {
  display: inline-block;
  vertical-align: top;
  margin-right: 3%;
}
.inlineimage.iilast {
  margin-right: 0;
}

@media only screen and (max-width: 767px) {
  .shiftupmobile { margin-top: -30px; }
}

body.inquartier form {
  margin-top: 100px;
  margin-left: 20px;
}
body.inquartier #footer form {
  margin-top: 0;
  margin-left: 0;
}

#inquiry a{
	margin-top: 20px;
    background: #000000;
    color: #ffffff;
    border-radius: 100px;
    padding: 10px 30px 9px 30px;
    display: inline-block;
    font-size: 24px;
    font-weight: 500;
    letter-spacing: 0.15em;
    transition: all .2s ease-in-out;
}

#shadow{
	box-shadow: 10px 20px 15px silver;
	border-radius: 20px;
}

.leistungsbeschreibung h6{
	letter-spacing: 0;
	font-size: 20px;
	margin-bottom: 0 !important;
}

.leistungsbeschreibung #beschreibung{
	padding-bottom: 60px;
}

.leistungsbeschreibung .weblink{
	position: absolute;
	left: 20px;
	top: 390px;
}

.leistungsbeschreibung #icon{
	width: 120px;
}

.leistungsbeschreibung .elementor-widget:not(:last-child) {
    margin-bottom: 0 !important;
}

#nav2, #nav2 p, #nav2 h1{
	background-color: white;
	color: black;
}

#adjust{
	padding-left:0px !important;
}

.hide {
	display: none;
}

/* password protected page login form */
form .d-block.mb-3 {
	margin-top: 100px;
}

.defaultbullets ul {
	list-style: disc;
    margin-left: 1.2em; 
	padding: 0;
}


/*__________________FLATFINDER / OFFICEFINDER BANNER FRONTPAGE__________________*/
#flatfinder-banner, #officefinder-banner {
    padding-top: 30px;
    padding-bottom: 30px;
	height: 550px;
}
#flatfinder-banner { 
	background: var(--corporate); 
}
#officefinder-banner { 
	background: #2A96D2; 
}
#flatfinder-banner>.elementor-container,
#officefinder-banner>.elementor-container,
#flatfinder-banner section,
#officefinder-banner section,
#flatfinder-banner section>.elementor-container,
#officefinder-banner section>.elementor-container {
	height: 100%;
}
#flatfinder-banner section .elementor-column:first-of-type, 
#officefinder-banner section .elementor-column:first-of-type {
	padding-right: 25px;
    border-right: 2px solid black;
}
#flatfinder-banner section .elementor-column:first-of-type .elementor-widget-wrap,
#officefinder-banner section .elementor-column:first-of-type .elementor-widget-wrap {
    display: flex;
    justify-content: flex-end;
    align-content: center;
}
#officefinder-banner section .elementor-column:first-of-type .elementor-widget-wrap{
	text-align: right;
}
#flatfinder-banner section .elementor-column:last-of-type, 
#officefinder-banner section .elementor-column:last-of-type {
	padding-left: 25px;
}
#flatfinder-banner section .elementor-column:last-of-type .elementor-widget-wrap,
#officefinder-banner section .elementor-column:last-of-type .elementor-widget-wrap{
    align-content: center;
}
#flatfinder-banner section .elementor-column:last-of-type .elementor-widget-wrap {
    text-align: left;
}
#flatfinder-banner .flatfinder-logo {
	width: 500px;
    margin-bottom: 20px;
}
#officefinder-banner .officefinder-logo {
	width: 572px;
    margin-bottom: 20px;
}
#flatfinder-banner .device-img, 
#officefinder-banner .device-img {
	width: 250px;
	margin-bottom: 10px;
	margin-top: 1em;
}
#flatfinder-banner p, 
#officefinder-banner p  {
	color: white;
    font-size: 20px;
    line-height: 1.4em;
}
#flatfinder-banner a, 
#officefinder-banner a {
    background: #000000;
    color: #ffffff;
    border-radius: 100px;
    padding: 10px 30px 9px 30px;
    display: inline-block;
    font-size: 20px;
    font-weight: 500;
    letter-spacing: 0.15em;
    transition: all .2s ease-in-out;
    text-transform: uppercase;
    margin-top: 10px;
}
@media (max-width: 820px){
	#flatfinder-banner p,
	#flatfinder-banner a,
	#officefinder-banner p,
	#officefinder-banner a {
		font-size: 15px;
	}	
}
@media (max-width: 767px){
	#flatfinder-banner,
	#officefinder-banner{
		height: 600px;
	}
	#flatfinder-banner section, 
	#officefinder-banner section {
		padding: 0 2vw;
	}
	#officefinder-banner section {
		padding-bottom: 20px;
	}
	#officefinder-banner section .elementor-row {
		flex-wrap: wrap-reverse;
	}
	
	#flatfinder-banner section .elementor-column:first-of-type,
	#officefinder-banner section .elementor-column:last-of-type {
		padding: 0;
		border: none;
		height: fit-content;
	}
	#officefinder-banner section .elementor-column:last-of-type {
	    margin-bottom: 26px;
	}
	#flatfinder-banner section .elementor-column:last-of-type,
	#officefinder-banner section .elementor-column:first-of-type {
		padding: 0;
		border: none;
	}
	#flatfinder-banner section .elementor-column:first-of-type .elementor-widget-wrap,
	#officefinder-banner section .elementor-column:last-of-type .elementor-widget-wrap {
		display: flex;
		justify-content: center;
	}
	#flatfinder-banner section .elementor-column:last-of-type .elementor-widget-wrap,
	#officefinder-banner section .elementor-column:first-of-type .elementor-widget-wrap {
	    display: flex;
		text-align: center;
		padding: 0;
		justify-content: center;
	}
	#flatfinder-banner .flatfinder-logo {
		width: 70%;
		margin-bottom: 0;
	}	
	#officefinder-banner .officefinder-logo {
		width: 86%;
		margin-bottom: 0;
	}
	#flatfinder-banner .device-img, 
	#officefinder-banner .device-img {
		width: 34%;
		margin-top: 0;
	}
}
@media (max-width: 600px){
	#flatfinder-banner .flatfinder-logo {
		width: 80%;
	}
	#officefinder-banner .officefinder-logo {
		width: 100%;
	}
	#flatfinder-banner .device-img, 
	#officefinder-banner .device-img {
		width: 50%;
	}
}
@media (max-width: 450px){
	#flatfinder-banner .flatfinder-logo {
		width: 88%;
	}
	#officefinder-banner .officefinder-logo {
		width: 100%;
	}
	#flatfinder-banner .device-img, 
	#officefinder-banner .device-img {
		width: 70%;
	}
}



/* ##### INFO BANNER ##### */
#infobanner {
    display: none;
    background: var(--corporate);
    width: 100vw;
    height: 66px;
    position: fixed;
    top: 66px;
    left: 0;
    align-items: center;
    z-index: 99999;
}
#infobanner p {
	margin: 0 100px;
    text-align: center;
    color: black;
    font-size: 20px;
}
@media (max-width: 1770px){
	#infobanner p {
		margin: 0 280px;
	}
}
@media (max-width: 1370px){
	#infobanner p {
		margin: 0 170px;
	}
}
@media (max-width: 1170px){
	#infobanner p {
		margin: 0 50px;
	}
}
@media (max-width: 870px){
	#infobanner p {
    	font-size: 16px;		
	}
}
@media (max-width: 770px){
	#infobanner {
    	height: 92px;
	}
}
@media (max-width: 470px){
	#infobanner {
    	height: 147px;
	}
}
@media (max-width: 340px){
	#infobanner {
    	height: 200px;
	}
}

