/* ========================================================================
   Typos / Icons
 ========================================================================== */
 
 
 @font-face {
  font-family: "FilsonProRegular";
  src: url('../fonts/FilsonProRegular/font.woff2') format('woff2'), url('../fonts/FilsonProRegular/font.woff') format('woff');
}

@font-face {
  font-family: "FilsonProBold";
  src: url('../fonts/FilsonProBold/font.woff2') format('woff2'), url('../fonts/FilsonProBold/font.woff') format('woff');
}


 
 /* ========================================================================
  SVG Stroke Animation
========================================================================== */
.svg-stroke-width {
stroke-width:30;
}



/* ========================================================================
   General
 ========================================================================== */
 
 


.uk-hr,
hr {
 overflow:visible;
 text-align:inherit;
 margin:0 0 35px 0;
 border:0;
 border-top:1px solid #e5e5e7
}

*+.uk-hr,
*+hr {
 margin-top:35px
}

@media (min-width: 1200px) {
.uk-hr,
hr {
 margin:0 0 70px 0;
}

*+.uk-hr,
*+hr {
 margin-top:70px
}
}

.text-shadow {
	text-shadow: 2px 2px 15px rgba(0, 0, 0, 0.6);
}

.text-underline {
  text-decoration: underline !important;
}

.text-transform {
  text-transform: uppercase !important;
}

.no-text-transform {
  text-transform: none !important;
}

p:last-child {
	margin-bottom: 0;
}

.no-overflow {
	overflow: hidden !important;
}


.uk-z-index {
	z-index: 1;
	position: relative;
}



.tm-toolbar-default .uk-text-muted, .uk-card-primary.uk-card-body .uk-text-muted, .uk-card-primary > :not([class*="uk-card-media"]) .uk-text-muted, .uk-card-secondary.uk-card-body .uk-text-muted, .uk-card-secondary > :not([class*="uk-card-media"]) .uk-text-muted, .uk-light .uk-text-muted, .uk-offcanvas-bar .uk-text-muted, .uk-overlay-primary .uk-text-muted, .uk-section-primary:not(.uk-preserve-color) .uk-text-muted, .uk-section-secondary:not(.uk-preserve-color) .uk-text-muted, .uk-tile-primary:not(.uk-preserve-color) .uk-text-muted, .uk-tile-secondary:not(.uk-preserve-color) .uk-text-muted {
	color: rgba(255,255,255,1) !important;
}



.text-shadow {
	text-shadow: 0 0 5px rgba(0, 35, 85, 1);
}


@media (min-width: 960px) {
.uk-container-expand-m > .uk-container-expand {
	padding-left: 0 !important;
	padding-right: 0 !important;
}
}


@media (max-width:479px) {

.uk-h3,
h3 {
  font-size:18px;
  line-height:1.3
}
}


@media (max-width: 959px) {

.header > div > .uk-panel  {
min-height: auto !important;
}
}


.grayscale-hover-img img {
filter: grayscale(1);
}


.grayscale-hover-img img:hover,
.grayscale-hover-img img:active,
.grayscale-hover-img img:focus {
filter: none;
}



b, strong {
	font-weight: normal;
	font-family: "FilsonProBold";
}

/* ========================================================================
   Width
 ========================================================================== */


@media (max-width: 639px) {
.uk-width-large {
width: 230px;
    }
 }


/* ========================================================================
   Picture
 ========================================================================== */


.image-overlay img {
	margin: -50px 0;
}
 



/* ========================================================================
   Colors
 ========================================================================== */


 .white {
  color: #FFF !important;
}

 .blue {
  color: #19193c !important;
}


 .red {
  color: #ff5a6e !important;
}


 .purple {
  color: #7850aa !important;
}


 .green {
  color: #96d7b4 !important;
}

 .sky-blue {
  color: #5479f7 !important;
}



 .bg-white {
  background-color: #FFF !important;
}

 .bg-blue {
  background-color: #19193c !important;
}


 .bg-red {
  background-color: #ff5a6e !important;
}



 .bg-light-blue {
  background-color: #e6e8fc !important;
}


/* ========================================================================
   SVG Fill Class
 ========================================================================== */

 .svg-fill-light-green svg {
  fill: #70d3c8 !important;
}


 .svg-fill-light-blue svg {
  fill: #67b9da !important;
}


 .svg-fill-light-red svg {
  fill: #f8949b !important;
}

 .svg-fill-white svg {
  fill: #FFF !important;
}



/* ========================================================================
   Margin
 ========================================================================== */


.minus-margin-xsmall-top {
	margin-top: -100px !important;
}

.minus-margin-small-top {
	margin-top: -150px !important;
}

.minus-margin-medium-top {
	margin-top: -200px !important;
}


.minus-margin-top {
	margin-top: -250px !important;
}

.minus-margin-large-top {
	margin-top: -350px !important;
}



.minus-margin-xsmall-bottom {
	margin-bottom: -100px !important;
}

.minus-margin-small-bottom {
	margin-bottom: -150px !important;
}

.minus-margin-medium-bottom {
	margin-bottom: -200px !important;
}


.minus-margin-bottom {
	margin-bottom: -250px !important;
}

.minus-margin-large-bottom {
	margin-bottom: -350px !important;
}


@media (max-width:959px) {
	
.minus-margin-small-bottom,
.minus-margin-medium-bottom {
	margin-bottom: -100px !important;
}
	
	
}
/* ========================================================================
   Toggle
 ========================================================================== */


@media (min-width:960px) {
.uk-navbar-toggle svg {
  height: 40px;
  width: 40px;
}
}

/* ========================================================================
   Logo
 ========================================================================== */



.uk-navbar .uk-logo img,
.uk-navbar .uk-logo svg,
.uk-navbar .uk-sticky-below .uk-logo img {
 height: 40px;
 width: inherit;
}



@media (min-width:960px) {
.uk-navbar .uk-logo img,
.uk-navbar .uk-logo svg {
 height: 60px;
}
}


.uk-navbar-sticky .uk-navbar .uk-logo svg,
.uk-navbar-sticky .uk-navbar .uk-logo img {
 height: 40px;
}


/* ========================================================================
   Dialog
 ========================================================================== */

#tm-dialog .uk-nav-primary .uk-nav-sub {
	font-size: 18px;
}


#tm-dialog ul.uk-nav-sub {
	padding: 10px 0 0 15px;
}


@media (min-width:960px) {

#tm-dialog .uk-nav-accordion svg {
width: 40px;
height: 40px;
}

.uk-nav-primary .uk-nav-sub {
	font-size: 20px;
}

#tm-dialog ul.uk-nav-sub {
	padding: 20px 0 0 15px;
}
}




#tm-dialog .uk-nav-primary > li.uk-active > a {
	background-color:#0f0;
	display: inline-block;
	padding: 10px 20px;
}

#tm-dialog .uk-nav-primary > li {
	padding: 20px 0;
}


/* ========================================================================
   Dialog Mobile
 ========================================================================== */

#tm-dialog-mobile .uk-nav picture,
#tm-dialog-mobile .uk-nav img {
	display: none !important;
}


/* ========================================================================
   Header
 ========================================================================== */

.tm-header-mobile .uk-navbar-container:not(.uk-navbar),
.tm-header div:not(.uk-sticky-below) > .uk-navbar-container:not(.uk-navbar),
.tm-header div.uk-sticky-below > .uk-navbar-container:not(.uk-navbar)
 {
	padding-top: 20px;
	padding-bottom: 20px;
}

@media (min-width: 960px) {
.tm-header div:not(.uk-sticky-below) > .uk-navbar-container:not(.uk-navbar){
 padding-top:40px;
 padding-bottom:40px
}

.tm-header div:.uk-sticky-below > .uk-navbar-container:not(.uk-navbar){
 padding-top:20px;
 padding-bottom:20px
}
}



.tm-header div.uk-sticky-below > .uk-navbar-container:not(.uk-navbar),
.tm-header-mobile div.uk-sticky-below > .uk-navbar-container:not(.uk-navbar){
	box-shadow: none;
}



/* ========================================================================
   Nav 
 ========================================================================== */
 
 
.tm-header .uk-navbar-nav > ::before {
	content: "";
	height: 1em;
	margin-left: 0;
	margin-right: 20px;
	border-left: 1px solid transparent;
}

.tm-header .uk-navbar-nav > :nth-child(n+2):not(.uk-first-column)::before {
	border-left-color: #FFF;
}


.tm-header .uk-navbar-nav > * {
	display: flex;
	align-items: center;
}


.tm-header .uk-navbar-nav > * {
	flex: none;
	padding-left: 20px;
	position: relative;
}

.tm-header .uk-light .uk-navbar-nav > :nth-child(n+2):not(.uk-first-column)::before {
	border-left-color: #FFF;
}

/* ========================================================================
   Button
 ========================================================================== */

.uk-button {
position: relative;
}



 
.uk-button:not(.uk-button-text)::after {
content: "";
position: absolute;
align-items:center;
width: 45px;
height: 45px;
 right: -60px;
 top: -5px;
 transition: transform 0.2s ease-out;
 -webkit-transition: filter 0.2s ease-out;
transition: background-color .1s ease-in-out;
transition: background-color 0.25s;
  --svg: url('data:image/svg+xml,\ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 45 45">\ <path d="M22.5,45C10.1,45,0,34.9,0,22.5S10.1,0,22.5,0s22.5,10.1,22.5,22.5-10.1,22.5-22.5,22.5ZM37.39,22.5l-14.69-14.69-4.33,4.46,7.28,7.02H7.81v6.36h17.84l-7.28,7.02,4.33,4.46,14.69-14.63Z"/> </svg>');
  -webkit-mask: var(--svg);
  mask: var(--svg);
   transition: transform 0.2s ease-out;
 -webkit-transition: transform 0.2s ease-out;
}


.btn-only-arrow .uk-button {
	text-indent:-99999px;
	padding: 0 !important;
	border: 0 !important;
	line-height: 0 !important;
} 


.btn-only-arrow .uk-button::after  {
position: static !important;
  display: block;
} 


.btn-no-arrow .uk-button::after  {
display: none !important;
} 

.btn-only-arrow .uk-button:hover,
.btn-only-arrow .uk-button:active,
.btn-only-arrow .uk-button:focus {
	background-color: transparent;
}


.uk-button-default::after,
.uk-button-primary::after{
background-color: #19193c;
}


.uk-button-secondary::after{
background-color: #ff5a6e;
}




.uk-button:not(.uk-button-text):hover::after,
.uk-button:not(.uk-button-text):focus::after,
.uk-button:not(.uk-button-text):active::after,
.uk-link-toggle:hover .uk-button:not(.uk-button-text)::after,
.uk-link-toggle:focus .uk-button:not(.uk-button-text)::after,
.uk-link-toggle:active .uk-button:not(.uk-button-text)::after {
	transform: scalex(-1);
} 



/* ========================================================================
   Formular
 ========================================================================== */


@media (max-width: 959px) {
.uk-formular .formContainer .uk-grid > [class*=uk-width-] + [class*=uk-width-] {
margin-top: 20px;
}
}



@media (min-width: 1200px) {
.uk-formular * + .uk-grid-margin, .uk-formular .uk-grid + .uk-grid, .uk-formular .uk-grid > .uk-grid-margin {
	margin-top: 20px;
}
}


.uk-formular .rsform-type-checkboxgroup {
	padding-left: 20px;
}

.uk-formular input[type="checkbox"] {
	margin-left: -20px;
}


.uk-formular .rsform-block-datenschutz {
	font-size: 0.75em;
	line-height: 1.4em;
}


.uk-formular .rsform-error-message {
	padding: 1rem;
	background-color: #ffeef0;
	border: 1px solid #ff5a6e;
	border-radius: 4px;
	color: #ff5a6e;
	margin-bottom: 1rem;
}


.uk-formular .rsform-error-message-count {
	padding: .25em .65em;
	border-radius: 0;
	font-size: 1em;
	font-weight: 700;
	color: #FFF;
	background-color: #19193C;
}

/* ========================================================================
   Grid Slider
 ========================================================================== */

.grid-slider [class*="uk-position-bottom"] {
	position: relative !important;
}


.uk-slidenav {
	color: rgba(23, 43, 91, 1);
}

.uk-slidenav:hover {
	color: rgba(23, 43, 91, .8);
}


@media (min-width: 1600px) {
.grid-slider .uk-grid-column-large > *, .grid-slider .uk-grid-large > * {
	padding-left: 140px;
}
}

/* ========================================================================
   Remove Padding
 ========================================================================== */

@media (min-width: 960px) {
.item-order-alternate > div > div:nth-child(2n) .el-item > div > div:nth-child(2) {
	order: -1;
}
}




/* ========================================================================
   Word Slider
 ========================================================================== */

.word-slider-item {
	display: flex;
	justify-content: center;
	align-items: center;
}
.word-slider-item .el-title {
  margin-left: -50px;
  position: relative;
}


.word-slider-item.uk-height-viewport {
	min-height: 70vh;
}


.word-slider-item svg {
	width: 100px;
	height: inherit;
}

@media (min-width: 960px) {
.word-slider-item svg {
	width: 200px;
	height: inherit;
}

}

.word-slider-item.uk-height-viewport {
	min-height: auto;
}


@media (min-width: 960px) {
.word-slider-item.uk-height-viewport {
	min-height: 70vh;
}
}


/* ========================================================================
   Word Slider Mobile
 ========================================================================== */


.word-slider-item.slider-mobile svg {
	width: 70px;
	height: inherit;
}


.word-slider-item.slider-mobile {
	height: 50px;
}

.word-slider-item.slider-mobile  .el-title {
	margin-left: -15px;
}


/* ========================================================================
   Portfolio Slider
 ========================================================================== */


.portfolio-slider-item {
	position: relative;
	display: inline-flex;
	justify-content: center;
}






/* ========================================================================
   Grid Teaser + Change Order
 ========================================================================== */



.grid-teaser .uk-card-default {
  box-sizing: border-box;
  overflow: hidden;
  border: none;
}



.grid-teaser .uk-icon svg {
	width: 50px;
}




@media (min-width: 960px) {


.grid-teaser .uk-card {
	transition: all 0.2s ease-out allow-discrete;
}

.grid-teaser .uk-card:hover {
	transform: scale(1.05);
	z-index: 1;
	box-shadow: 10px 10px 17px -4px rgba(0,0,0,0.32);
}
}


.grid-teaser .uk-card-default .el-title,
.grid-teaser .uk-card-default .uk-link {
	color: inherit;
	text-align: left !important;
}



.grid-teaser > .uk-grid > div:nth-child(1) .uk-card-default,
.grid-teaser > .uk-grid > div:nth-child(6) .uk-card-default {
background-color: #00ff00;
color: #000 !important;
}

.grid-teaser > .uk-grid > div:nth-child(2) .uk-card-default,
.grid-teaser > .uk-grid > div:nth-child(4) .uk-card-default  {
background-color: #dcdcdc;
color: #000 !important;
}

.grid-teaser > .uk-grid > div:nth-child(3) .uk-card-default {
background-color: #000;
color: #00ff00 !important;
}

.grid-teaser > .uk-grid > div:nth-child(5) .uk-card-default {
background-color: #FFF;
color: #000 !important;
}



.grid-teaser > .uk-grid > div:nth-child(1) .uk-card:hover .uk-icon,
.grid-teaser > .uk-grid > div:nth-child(2) .uk-card:hover .uk-icon,
.grid-teaser > .uk-grid > div:nth-child(3) .uk-card:hover .uk-icon,
.grid-teaser > .uk-grid > div:nth-child(4) .uk-card:hover .uk-icon,
.grid-teaser > .uk-grid > div:nth-child(6) .uk-card:hover .uk-icon {
color: #FFF !important;
}



.grid-teaser > .uk-grid > div:nth-child(5) .uk-card:hover .uk-icon {
color: #00ff00 !important;
}



body.event-production-bauleitung .grid-teaser > .uk-grid > div:nth-child(1),
body.lageplanung-vermessung .grid-teaser > .uk-grid > div:nth-child(2),
body.genehmigungsverfahren-veranstaltungskonzepte .grid-teaser > .uk-grid > div:nth-child(3),
body.site-production-infrastruktur-aufbau .grid-teaser > .uk-grid > div:nth-child(4),
body.event-operations-veranstaltungsleitung .grid-teaser > .uk-grid > div:nth-child(5),
body.consulting-optimierung .grid-teaser > .uk-grid > div:nth-child(6) {
display: none;
visibility: hidden;
}





/* ========================================================================
   Grid Stack / alignment change
 ========================================================================== */

@media (min-width: 960px) {
.item-order-alternate > div > div:nth-child(2n) .el-item > div > div:nth-child(2) {
	order: -1;
}
}


@media (min-width: 960px) {
.item-order-alternate-reverse > div > div:nth-child(2n) .el-item > div > div:nth-child(1) {
	order: -1;
}
}


@media (max-width: 959px) {
.item-order-alternate .el-item .uk-padding-large {
	padding: 20px 0;
}
}

@media (min-width: 960px) {

.item-order-alternate > div > div:nth-child(2n+1) .el-item > div > div:nth-child(2) .uk-padding-large {
	padding-right: 0;
}

.item-order-alternate > div > div:nth-child(2n) .el-item > div > div:nth-child(2) .uk-padding-large {
	padding-left: 0;
}
}




/* ========================================================================
   Blog
 ========================================================================== */

  .blog-article .uk-hr, .blog-article hr {
   border-color: #cacaca;
  }


@media (min-width: 1200px) {
 .blog-article .uk-hr, .blog-article hr {
    margin: 0 0 35px 0;
  }
  
.blog-article * + .uk-hr, .blog-article * + hr {
	margin-top: 35px;

}  
}


/* ========================================================================
   To Top Scroller
 ========================================================================== */

.uk-totop {
	width: 40px;
	height: 40px;
	border-radius: 40px;
	position: relative;
	box-sizing: border-box;
}


/* ========================================================================
   Scrollbar
 ========================================================================== */

.tm-scrollbar {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 1;

}

@media (max-width: 959px) {
.tm-scrollbar {
  z-index: 1;
}
}

.tm-scrollbar .uk-icon-button {
  box-sizing: border-box;
  display: inline-block;
width: 100%;
  height: 50px;
    line-height: 50px;
  background-color: #5479f7;
  line-height: 50px;
  color: #FFF;
  text-align: center;
  border-radius: 0;
  border: none;
  -webkit-transition: background-color 0.25s ease;
  transition: background-color 0.25s ease;
  transition-timing-function: ease;

}





.tm-scrollbar .uk-hidden\@m .uk-icon-button:nth-child(n+2) {
	border-left: 1px solid #FFF;
}

.tm-scrollbar .uk-visible\@m .uk-icon-button:nth-child(n+2) {
	margin-top: 20px;
}


@media (min-width: 960px) {
	
.tm-scrollbar .uk-icon-button {
  display: inline-block;
  width: 50px;
  height: 50px;
  line-height: 50px;
text-align: center;
 border-radius: 100%;
}



.tm-scrollbar .uk-icon-button:hover,
.tm-scrollbar .uk-icon-button:focus,
.tm-scrollbar .uk-icon-button:active {
  background-color: #ff5a6e;
  color: #FFF;
  /* 2 */
  outline: none;
  transform: none;
   text-decoration: none;
}



	
	
.tm-scrollbar {
  position: fixed;
  top: 50%;
  right: 10px;
  left: auto;
  bottom: 50%;
  width: 50px;
  padding-right: 0;
  display: flex;
  align-items: center;

}



.tm-scrollbar .uk-icon-button > svg {
	width: 30px;
}
	
}



@media (min-width: 1200px) {
	
.tm-scrollbar .uk-icon-button {
  width: 60px;
  height: 60px;
  line-height: 60px;
}
.tm-scrollbar {
  width: 60px;

}
.tm-scrollbar .uk-icon-button > svg {
	width: 30px;
}
}



@media (max-width: 959px) {
.tm-scrollbar .uk-panel {
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  width: 100%;
}
/*
 * Hover
 * 1. Apply hover style also to focus state
 * 2. Remove default focus style
 */
.tm-scrollbar .uk-icon-button:hover,
.tm-scrollbarr .uk-icon-button:focus,
.tm-scrollbar .uk-icon-button:active {
  background-color: #ff5a6e;
  color: #FFF;
  /* 2 */
  outline: none;
  transform: none;
  text-decoration: none;
}	

.tm-scrollbar .uk-icon-button > svg {
	width: 30px;
}	
}	


/* ========================================================================
   Tooltip
 ========================================================================== */

 .uk-tooltip {
  line-height: 1.3em;
  text-align: center;
display: inline-flex !important;
align-items: center;
font-size: 0.85em;
font-family: "FilsonProBold";
font-weight: normal;

}


[role=tooltip]:not(.uk-tooltip):not(.show) {
    display: block !important;

}



/* ========================================================================
   Panel / alignment change
 ========================================================================== */

@media (max-width: 959px) {
.order-change\@m > div > div:nth-child(2n)  {
	order: -1;
}
}




/* ========================================================================
   Grid Stack / alignment change
 ========================================================================== */

@media (min-width: 960px) {
.item-order-alternate > div > div:nth-child(2n) .el-item > div > div:nth-child(2) {
	order: -1;
}
}


@media (max-width: 959px) {
.item-order-alternate .el-item .uk-padding-large {
	padding: 20px 0;
}
}

@media (min-width: 960px) {

.item-order-alternate > div > div:nth-child(2n+1) .el-item > div > div:nth-child(2) .uk-padding-large {
	padding-right: 0;
}

.item-order-alternate > div > div:nth-child(2n) .el-item > div > div:nth-child(2) .uk-padding-large {
	padding-left: 0;
}
}


/* ========================================================================
   Formular Overlay
 ========================================================================== */


.rsfp_thankyou_popup_outer {
	height: 100%;
	left: 0;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 99999;
	background: rgba(25,25,60,.85) !important;
}


.rsfp_thankyou_popup_inner {
	background: #fff;
	width: auto !important;
	max-width: 700px !important;
	padding: 0 !important;
	margin: 0 auto;
	position: relative;
}


.rsfp_thankou_popup_close_btn {
	top: -40px !important;
	right: -20px !important;
	color: #FFF !important;
	
}


@media (max-width: 767px) {
	
.rsfp_thankyou_popup_inner {
	width: 90% !important;
	max-width: inherit !important;
}

.rsfp_thankou_popup_close_btn {
	top: -5px !important;
	right: 10px !important;
}
	
}
/* ========================================================================
   Search
 ========================================================================== */






.uk-search-default .uk-search-input {
	height: 40px;
	padding-left: 10px;
	padding-right: 10px;
	background: transparent;	
	border: 1px solid #b4b4b4;
	color: #002355;
	font-family: 'WeidemannStd-Bold';
	font-size: 0.8em;
}

.uk-search-default .uk-search-input:focus {
    border-color: #002355;
}

.uk-search-default .uk-search-icon {
	width: 40px;
	color: #b4b4b4;
}

.uk-search-default .uk-search-input::placeholder {
    color: #b4b4b4;
    font-size: 0.8em;
    text-transform: uppercase;
}

.uk-search-default .uk-search-input:focus::placeholder {
    color: #002355;
}


/* ========================================================================
   User Login
 ========================================================================== */


.uk-form input[type="text"],
.uk-form input[type="password"] {
font-weight: 700;
height: 40px;
  vertical-align: middle;
  display: inline-block;
  border: 2px solid #172b5b;
  max-width: 100%;
  width: 100%;
  padding: 0 10px;
  background: #fff;
  color: #000;
  box-sizing: border-box;
  border-radius: 15px;
}

.uk-form input[type="text"]:focus,
.uk-form select:focus, 
.uk-form textarea:focus {
	border-color: #ff5a6e !important;
	}


.uk-form label {
	font-size: 0.75em;
	text-transform: uppercase;
	font-weight: 700;
}


fieldset.user-login {
	border: 0 none;
	margin: 0;
	padding: 0;
}


.com-users-login__form span.form-control-feedback,
.com-users-login__form span.star {
	display: none;
}



joomla-alert[type="danger"] .alert-heading,
joomla-alert[type="warning"] .alert-heading,
joomla-alert[type="success"] .alert-heading {
	display: none;
}


body.login .tm-header .uk-navbar .uk-navbar-left,
body.login .tm-header-mobile .uk-navbar .uk-navbar-left  {
margin-left: auto;
  margin-right: auto;
  position: relative;
}


body.login joomla-alert[type="danger"] {
	display: none;
}
