@charset "UTF-8";
:root {
  --primary-color: #404040;
  --light-color: #FFFFFF;
  --main-bg: #FFFFFF;
  --accent-color: #FF5838;
  --light-grey: #C6C6C6;
  --dark-grey: #333333;
  --font-size-s: 16px;
  --font-size: 18px;
  --font-size-m: 21px;
  --font-size-l: 28px;
  --font-size-xl: 32px;
  --font-size-xxl: 88px;
  --font-size-h1:  clamp(28px, 4.7vw, 48px);
  --font-size-h2:  clamp(24px, 4.4vw, 34px);
  --font-size-h3:  clamp(21px, 4.1vw, 28px);
  --main-font: "TT Bells", sans-serif;
  --title-font: "TT Bells", sans-serif; }

@font-face {
  font-family: "TT Bells";
  src: url("../fonts/TypeType - TTBells-Regular.otf") format("otf"), url("../fonts/TypeType - TTBells-Regular.woff") format("woff"), url("../fonts/TypeType - TTBells-Regular.woff2") format("woff2"); }
/*
@font-face {
	font-family: "Neue Machina";
	src: url("../fonts/PPNeueMachina-Regular.otf") format("otf"),
		 url("../fonts/PPNeueMachina-Regular.woff") format("woff"),
    	 url("../fonts/PPNeueMachina-Regular.woff2") format("woff2");
}

@font-face {
	font-family: "Neue Machina";
	font-weight: bold;
	src: url("../fonts/PPNeueMachina-Bold.otf") format("otf"),
		 url("../fonts/PPNeueMachina-Bold.woff") format("woff"),
		 url("../fonts/PPNeueMachina-Bold.woff2") format("woff2");
}
*/
/* custom scrollbar */
/* width */
::-webkit-scrollbar {
  width: 10px; }

/* bg */
::-webkit-scrollbar-track {
  background: transparent; }

/* btn */
::-webkit-scrollbar-thumb {
  background: var(--primary-color); }

/* firefox-only
html, body {
	scrollbar-color: var(--primary-color) var(--main-bg);
	scrollbar-width: thin;
}
 */
/* custom selection */
::-moz-selection {
  color: var(--light-color);
  background: var(--primary-color); }

::selection {
  color: var(--light-color);
  background: var(--primary-color); }

/* underline animation */
.underline-animation a, .underline-animation a:hover {
  display: inline-block !important;
  text-decoration: none;
  color: inherit; }
  .underline-animation a:after, .underline-animation a:hover:after {
    content: "";
    display: block;
    border-bottom: 1px solid;
    transform: translateY(-6px) scaleX(0);
    transform-origin: left;
    /* left / center / right */
    transition: transform 0.15s ease-in-out; }
  .underline-animation a:hover:after, .underline-animation a:hover:hover:after {
    transform: translateY(-6px) scaleX(1); }

/* main css stuff */
body {
  font-family: var(--main-font); }

.hidden-headline-section {
  pointer-events: none !important;
  opacity: 0 !important;
  z-index: -1 !important;
  position: absolute !important;
  left: -9999px !important;
  visibility: hidden !important; }

.full-height-section {
  height: 120vh; }

.remove-section-padding > .uk-container {
  padding: 0 !important; }

.text-large {
  font-size: var(--font-size-xl); }

.row-padding-large {
  margin-top: 220px !important; }

.small-headline-row .headline-underline {
  border-bottom: 1px solid;
  padding-bottom: 20px; }

.uk-button-default:after {
  content: unset !important; }

.uk-button-default:hover {
  color: var(--light-color) !important; }
  .uk-button-default:hover:after {
    content: unset !important; }

::placeholder {
  color: var(--primary-color) !important; }

.uk-modal-container .uk-icon.uk-close svg {
  color: var(--primary-color);
  width: 21px; }
.uk-modal-container h3 {
  font-size: 26px; }
.uk-modal-container h4 {
  font-size: 22px; }

/* header */
.header-section {
  padding: 0 40px;
  border-bottom: unset !important;
  height: 100vh;
  min-height: var(--full-height-min);
  width: 100%;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center; }
  .header-section.header-img-section > div {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    background-size: cover !important; }
  .header-section video {
    filter: brightness(0.7); }
  .header-section > .uk-panel {
    position: inherit !important;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center; }
  .header-section .header-headline-row {
    position: absolute;
    width: 100%;
    display: flex;
    justify-content: center;
    left: 0;
    right: 0;
    margin: 0 auto !important;
    bottom: 10px;
    padding-left: 40px;
    padding-right: 40px;
    max-width: 1600px; }
    .header-section .header-headline-row > div {
      width: 100%;
      padding: 0; }

.tm-header {
  display: block !important;
  z-index: 1 !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important; }
  .tm-header > .tm-headerbar {
    background: transparent !important;
    padding-top: 60px; }

.tm-header-mobile {
  display: none !important; }

.scroll-btn {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 145px;
  margin: 0 auto;
  max-width: 1600px;
  width: 100%; }
  .scroll-btn > a {
    transform: rotate(270deg);
    color: var(--light-color);
    position: absolute;
    right: -85px;
    bottom: 0;
    font-weight: bold; }
    .scroll-btn > a:hover {
      text-decoration: unset; }
  .scroll-btn.scroll-up-btn {
    bottom: 55px; }
    .scroll-btn.scroll-up-btn > a {
      transform: rotate(-90deg);
      color: var(--primary-color); }

/* menu-bar */
#menu-section {
  z-index: 3;
  padding: 17px 0 !important;
  border-bottom: 1px solid var(--primary-color); }
  #menu-section .menu-logo {
    padding-right: 20px; }
    #menu-section .menu-bar-row > div {
      display: flex;
      justify-content: space-between; }
  #menu-section.fixed-menu {
    position: fixed;
    top: 0;
    width: 100%; }

.header-buttons-menu {
  width: 82%; }
  .header-buttons-menu > .uk-grid, .header-buttons-menu > .uk-subnav {
    display: flex;
    justify-content: space-between;
    margin-left: 0 !important; }
    .header-buttons-menu > .uk-grid > .el-item, .header-buttons-menu > .uk-subnav > .el-item {
      width: auto;
      padding-left: 0 !important; }
      .header-buttons-menu > .uk-grid > .el-item a, .header-buttons-menu > .uk-subnav > .el-item a {
        font-weight: 700; }

/* accordion */
.uk-section-default.uk-section {
  border-bottom: 1px solid var(--primary-color); }

.uk-accordion-title, .uk-accordion-title > h2 {
  font-weight: 400;
  font-size: 56px;
  margin-left: -36px;
  position: relative;
  z-index: 1; }

.uk-accordion-title > h2 {
  margin: 0 !important;
  line-height: inherit; }

.uk-accordion-content {
  padding-left: 36px; }
  .uk-accordion-content > .el-content > .moduletable {
    width: calc(100% - 38px);
    margin: 0 auto; }

.uk-accordion-title::before {
  float: left; }

.uk-open > .uk-accordion-title::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='42' height='42' viewBox='0 0 42 42' fill='none'%3E%3Cg clip-path='url(%23clip0_2006_135)'%3E%3Cpath d='M41.5 36.2085L36.0374 41.5H5.70929L0.5 36.2152V5.78475L5.70929 0.5H36.0374L41.5 5.79153V36.2085Z' stroke='%23404040'/%3E%3Cpath d='M11.1172 24.7058L20.9995 34.5882L30.8819 24.7058' stroke='%23404040' stroke-linecap='square' stroke-linejoin='round'/%3E%3Cpath d='M21 7.41187V33.353' stroke='%23404040' stroke-linecap='square' stroke-linejoin='round'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_2006_135'%3E%3Crect width='42' height='42' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E");
  transform: rotate(180deg); }

.uk-accordion-title::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='42' height='42' viewBox='0 0 42 42' fill='none'%3E%3Cg clip-path='url(%23clip0_2006_135)'%3E%3Cpath d='M41.5 36.2085L36.0374 41.5H5.70929L0.5 36.2152V5.78475L5.70929 0.5H36.0374L41.5 5.79153V36.2085Z' stroke='%23404040'/%3E%3Cpath d='M11.1172 24.7058L20.9995 34.5882L30.8819 24.7058' stroke='%23404040' stroke-linecap='square' stroke-linejoin='round'/%3E%3Cpath d='M21 7.41187V33.353' stroke='%23404040' stroke-linecap='square' stroke-linejoin='round'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_2006_135'%3E%3Crect width='42' height='42' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E");
  height: 32px;
  background-size: contain;
  margin-top: 29px; }

/* kontakt */
.kontakt-section .contact-btn-row {
  position: absolute;
  width: 100%;
  top: -75px; }
  .kontakt-section .contact-btn-row .header-link {
    text-align: right !important; }
.kontakt-section .kontaktform-module {
  display: flex;
  justify-content: center;
  padding: 0 30px; }
.kontakt-section .custom-form {
  font-family: var(--main-font); }
  .kontakt-section .custom-form .cf-form-wrap {
    padding: 0; }
  .kontakt-section .custom-form .cf-control-label {
    display: none !important; }
  .kontakt-section .custom-form .convertforms.cf-success .cf-response {
    padding: 12px 15px !important; }
  .kontakt-section .custom-form .uk-button {
    /*padding: 0px 17px !important;
			border: 1px solid !important;
			border-radius: 0 !important;
			line-height: 34px !important;

			&:hover {
				border-color: var(--primary-color) !important;
				background-color: var(--primary-color) !important;
			}*/ }
  .kontakt-section .custom-form .cf-control-group {
    padding-top: 0 !important;
    padding-bottom: 30px !important;
    padding-left: 7.5px !important;
    padding-right: 7.5px !important; }
  .kontakt-section .custom-form .cf-checkbox-group {
    display: flex;
    justify-content: center; }
    .kontakt-section .custom-form .cf-checkbox-group .cf-input[type=checkbox] {
      cursor: pointer;
      accent-color: var(--primary-color);
      height: 14px;
      width: 14px; }
    .kontakt-section .custom-form .cf-checkbox-group .cf-label {
      cursor: pointer; }
  .kontakt-section .custom-form .submit-container {
    margin-top: 25px; }

/* footer */
footer .footer-section {
  padding: 33px 0px !important; }
  footer .footer-section .footer-popup-links .uk-button, footer .footer-section .footer-popup-links .uk-button > h4 {
    font-size: 18px;
    font-weight: normal;
    margin-bottom: 0 !important; }

/* custom button */
.cf-btn, .header-link > a, .header-buttons-menu > .uk-grid > .el-item a.uk-button, .header-buttons-menu > .uk-subnav > .el-item:last-child a.el-link {
  width: 145px !important;
  height: 35px !important;
  padding: 0px !important;
  padding-left: 4px !important;
  z-index: 2 !important;
  position: relative !important;
  border: unset !important;
  background-repeat: no-repeat !important;
  background-position: 50% 50% !important;
  background-size: cover !important;
  transition: 0.25s !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='136' height='34' viewBox='0 0 136 34' fill='none'%3E%3Cpath d='M135.5 29.2713L131.135 33.5H4.66166L0.5 29.2781V4.72194L4.66166 0.5H131.135L135.5 4.72872V29.2713Z' stroke='%23404040'/%3E%3C/svg%3E"); }
  .cf-btn:hover, .header-link > a:hover, .header-buttons-menu > .uk-grid > .el-item a.uk-button:hover, .header-buttons-menu > .uk-subnav > .el-item:last-child a.el-link:hover {
    opacity: 1 !important;
    background-color: transparent;
    border: unset;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='136' height='34' viewBox='0 0 136 34' fill='none'%3E%3Cpath d='M135.5 29.2713L131.135 33.5H4.66166L0.5 29.2781V4.72194L4.66166 0.5H131.135L135.5 4.72872V29.2713Z' fill='%23404040' stroke='%23404040'/%3E%3C/svg%3E") !important; }
  .cf-btn.uk-button-secondary, .header-link > a.uk-button-secondary, .header-buttons-menu > .uk-grid > .el-item a.uk-button.uk-button-secondary, .header-buttons-menu > .uk-subnav > .el-item:last-child a.el-link.uk-button-secondary {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='136' height='34' viewBox='0 0 136 34' fill='none'%3E%3Cpath d='M135.5 29.2713L131.135 33.5H4.66166L0.5 29.2781V4.72194L4.66166 0.5H131.135L135.5 4.72872V29.2713Z' stroke='white'/%3E%3C/svg%3E") !important; }
  .cf-btn.uk-button-secondary:hover, .header-link > a.uk-button-secondary:hover, .header-buttons-menu > .uk-grid > .el-item a.uk-button.uk-button-secondary:hover, .header-buttons-menu > .uk-subnav > .el-item:last-child a.el-link.uk-button-secondary:hover {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='136' height='34' viewBox='0 0 136 34' fill='none'%3E%3Cpath d='M135.5 29.2713L131.135 33.5H4.66166L0.5 29.2781V4.72194L4.66166 0.5H131.135L135.5 4.72872V29.2713Z' fill='white' stroke='white'/%3E%3C/svg%3E") !important; }

.header-buttons-menu > .uk-subnav > .el-item:last-child a.el-link {
  display: flex !important;
  justify-content: center;
  align-items: center;
  letter-spacing: 1px; }
  .header-buttons-menu > .uk-subnav > .el-item:last-child a.el-link:hover {
    color: var(--light-color); }
  .header-buttons-menu > .uk-subnav > .el-item:last-child a.el-link:after, .header-buttons-menu > .uk-subnav > .el-item:last-child a.el-link:hover:after {
    content: unset !important; }

/* über uns / mitarbeiter */
.custom-grid-1 .uk-grid > div .el-item > .uk-grid > div > img {
  width: 100%; }
.custom-grid-1 .uk-grid > div .el-item > .uk-grid > .uk-width-expand {
  display: flex;
  flex-direction: column;
  justify-content: end; }
  .custom-grid-1 .uk-grid > div .el-item > .uk-grid > .uk-width-expand .el-content {
    margin-top: 32px !important; }

.mitarbeiter-row {
  margin-top: 100px; }

/* spezialisierungen */
.small-content-accordion > .el-item {
  border-top: 1px solid var(--primary-color) !important;
  padding-top: 30px;
  padding-bottom: 14px; }
  .small-content-accordion > .el-item .uk-accordion-title {
    font-size: var(--font-size-l) !important;
    margin-left: 0; }
    .small-content-accordion > .el-item .uk-accordion-title > h3 {
      font-size: var(--font-size-l) !important;
      margin: 0 !important;
      line-height: inherit; }
    .small-content-accordion > .el-item .uk-accordion-title:before {
      top: 0;
      right: 0;
      margin-top: 6px;
      margin-left: 0;
      position: absolute; }
  .small-content-accordion > .el-item .uk-accordion-content {
    padding-left: 0px; }

/* projekte */
.custom-img-gallery {
  overflow: hidden;
  transition: 0.6s; }
  .custom-img-gallery > .uk-grid > div {
    margin-top: 20px !important; }

/* mobile menu */
.header-mobile-btn {
  display: none; }

#tm-dialog-mobile > .uk-offcanvas-bar {
  color: var(--primary-color) !important;
  padding-top: 60px;
  padding-left: 25px; }
  #tm-dialog-mobile > .uk-offcanvas-bar .uk-offcanvas-close {
    top: 15px;
    color: var(--primary-color) !important; }
  #tm-dialog-mobile > .uk-offcanvas-bar #module-menu-dialog-mobile {
    display: none !important; }
  #tm-dialog-mobile > .uk-offcanvas-bar .header-buttons-menu {
    width: 100%; }
    #tm-dialog-mobile > .uk-offcanvas-bar .header-buttons-menu > .uk-grid {
      display: flex;
      justify-content: start;
      align-items: center;
      flex-direction: column; }
      #tm-dialog-mobile > .uk-offcanvas-bar .header-buttons-menu > .uk-grid > .el-item {
        font-size: 24px;
        margin-bottom: 20px; }
        #tm-dialog-mobile > .uk-offcanvas-bar .header-buttons-menu > .uk-grid > .el-item a {
          font-weight: normal; }

/* mobile */
@media only screen and (max-width: 959px) {
  .header-section {
    padding: 0 20px; }
    .custom-imgs-grid .el-title {
      margin-top: 14px !important; }
    .custom-imgs-grid .uk-grid > .uk-grid-margin {
      margin-top: 34px; }
  #menu-section .header-buttons-menu {
    display: none !important; }
  #menu-section .header-mobile-btn {
    display: flex; }
    #menu-section .header-mobile-btn > a {
      min-height: unset; }
      #menu-section .header-mobile-btn > a .uk-icon svg {
        width: 23px; }
  .mitarbeiter-row .uk-grid > div > .el-item {
    margin-bottom: 20px; }
    .mitarbeiter-row .uk-grid > div > .el-item > .uk-grid > div {
      width: 50%; } }

@media only screen and (max-width: 699px) {
  .uk-accordion-content {
    padding-left: 0; }
  .uk-accordion-content > .el-content > .moduletable {
    width: 100%; }
  .uk-accordion-title, .uk-accordion-title > h2 {
    font-size: 34px;
    margin-left: -18px;
    padding-left: 20px; }
    .uk-accordion-title:before, .uk-accordion-title > h2:before {
      margin-left: -10px;
      margin-top: 9px; }
  .uk-heading-small {
    font-size: 34px; }
  .uk-h3 {
    font-size: 25px; }
  .uk-text-large {
    font-size: 25px;
    line-height: 1.7; }
  .small-content-accordion > .el-item {
    padding-top: 20px;
    padding-bottom: 3px; }
    .small-content-accordion > .el-item > .uk-accordion-title, .small-content-accordion > .el-item > .uk-accordion-title > h3 {
      margin-left: 0;
      padding-left: 0;
      height: auto;
      overflow: visible;
      padding-right: 36px; }
      .small-content-accordion > .el-item > .uk-accordion-title:before, .small-content-accordion > .el-item > .uk-accordion-title > h3:before {
        margin-top: -1px; }
  :root {
    --font-size-l: 22px; } }

@media only screen and (max-height: 650px) {
  .header-section > div > .uk-grid {
    padding-top: 50px; }
  .header-section .scroll-btn {
    bottom: 105px; } }

@media only screen and (max-width: 639px) {
  .kontaktform-module {
    padding: 0 !important;
    padding-bottom: 60px !important; } }

@media only screen and (max-width: 530px) {
  .footer-row > div {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center; }
  .footer-row .footer-popup-links {
    margin-top: 18px !important; } }

@media only screen and (max-width: 499px) {
  .mitarbeiter-row .custom-grid-1 .uk-grid > div > .el-item > .uk-grid > div {
    width: 100%; }
    .mitarbeiter-row .custom-grid-1 .uk-grid > div > .el-item > .uk-grid > div.uk-width-expand {
      margin-top: 16px; }
    .mitarbeiter-row .custom-grid-1 .uk-grid > div > .el-item > .uk-grid > div .el-content {
      margin-top: 16px !important; } }
