/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/



:root {
   
  /* Colors */
   --clr-default:#141412;

  --clr-prim:#2D8EAD;    /* Blau */

  --clr-sec:#E3EDF0;      /* Hellblau  */  

  --clr-ter:#0D141C;      /* Schwarz Titel */

  --clr-quar:#FFFFFF;      /* Schwarz Titel */

}




@font-face {
  font-family:"RedHatDisplay";
  font-weight: 800;
  src:url("../../fonts/RedHatDisplay-ExtraBold.ttf") format("opentype");
  font-display: swap;
}

@font-face {
  font-family:"RedHatDisplay";
  font-weight: 700;
  src:url("../../fonts/RedHatDisplay-Bold.ttf") format("opentype");
  font-display: swap;
}

@font-face {
  font-family:"RedHatDisplay";
  font-weight: 600;
  src:url("../../fonts/WorkSans-SemiBold.ttf") format("opentype");
  font-display: swap;
}

@font-face {
  font-family:"RedHatDisplay";
  font-weight: 400;
  src:url("../../fonts/RedHatDisplay-Regular.ttf") format("opentype");
  font-display: swap;
}

html, body {
  height: 100%;
  /*scroll-padding-top: 80px;
  scroll-margin-top: 0;*/
  scroll-behavior: smooth;
}

body.home:not(.link-from-subpage) {
  animation: hide-scroll 4s 1;
}

html, body, div, p {
  font-family: 'RedHatDisplay', sans-serif;
  font-weight: 400;
  font-size: 18px;
  color: #141412;
}

#page {
/*  min-height: calc(100% - 140px);*/
  min-height: 100%;
  overflow-x: hidden;
}

@keyframes hide-scroll {
  from, to { overflow: hidden; } 
}








/* Header */

.logo-wrapper {
	justify-content: center;
	height: 115px;
}

.header-title {
	margin-right: 30px;
}


.home:not(.link-from-subpage) .circle-animation-wrapper {
  position: absolute;
  width: 100vw;
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: transparent;
  animation: change-background 4s 1;
  max-width: 100%;
}

@keyframes change-background {
  0% {
    background: #f6f6f6;
  }

  49.999% {
    background: #f6f6f6;
  }

  50% {
    background: #f6f6f6;
  }

  100% {
    background: transparent;
  }
}

.home:not(.link-from-subpage) .circle-animation {
  position: relative;
  display: block;
  background: #2D8EAD;
  border-radius: 100%;
  width: 0px;
  height: 0px;
  z-index: 100;
  animation: grow-circle 4s 1;
  margin-left: unset;
}

@keyframes grow-circle {
  0% {
    transform: scale(0);
    width: 0px;
    height: 0px;
    opacity: 1;
    background: transparent;
    margin-left: -670px;
  }

  49% {
    transform: scale(0);
    width: 0px;
    height: 0px;
    opacity: 1;
    background: #2D8EAD;
    margin-left: -670px;
  }

  70% {
    transform: scale(40);
    width: 100px;
    height: 100px;
    opacity: 1;
    background: #2D8EAD;
    margin-left: -670px;
  }

  80% {
    transform: scale(40);
    width: 100px;
    height: 100px;
    opacity: 1;
    background: #2D8EAD;
    margin-left: unset;
  }

  100% {
    transform: scale(0);
    width: 0px;
    height: 0px;
    opacity: 1;
    background: #2D8EAD;
    margin-left: unset;
  }
}

lottie-player#preload,
lottie-player#pattern,
lottie-player#netzwerk {
  max-width: 100%;
}


main#content .page-header {
  border-bottom: 0;
}






/* Navigation */

.hfe-nav-menu nav {
  
}

.hfe-nav-menu nav.menu-is-active {
  
}

.hfe-nav-menu nav a {
  
}

.hfe-nav-menu nav ul.hfe-nav-menu {
  width: 100%;
  justify-content: space-between;
}

ul.hfe-nav-menu > li {

}

ul.hfe-nav-menu > li:last-child {
  
}

ul.hfe-nav-menu > li a.hfe-menu-item {
  color: var(--clr-default);
  text-align: center;
  font-family: "RedHatDisplay", sans-serif;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.4em;
  transition: all .3s;
}

ul.hfe-nav-menu > li a.hfe-menu-item:hover {
  color: var(--clr-prim);
}


/*ul.hfe-nav-menu > li a.hfe-menu-item.mPS2id-clicked,*/
ul.hfe-nav-menu > li a.hfe-menu-item.mPS2id-highlight {
  color: var(--clr-prim);
}


.sub-menu li.menu-item:not(:last-child),
nav.hfe-dropdown li.menu-item:not(:last-child), 
nav.hfe-dropdown-expandible li.menu-item:not(:last-child) {
  
}

ul.hfe-nav-menu > li a:hover,
ul.hfe-nav-menu .menu-item a.hfe-menu-item:hover,
ul.hfe-nav-menu .sub-menu a.hfe-sub-menu-item:hover,
/*ul.hfe-nav-menu .menu-item.current-menu-item a.hfe-menu-item,*/
ul.hfe-nav-menu .menu-item a.hfe-menu-item.highlighted,
ul.hfe-nav-menu .menu-item a.hfe-menu-item:focus {
  color: var(--clr-prim);
}

#masthead {
  z-index: 99;
}

.home:not(.link-from-subpage) #masthead {
  animation: hide-menu 3s 1;
}

@keyframes hide-menu {
  from, to { opacity: 0; } 
}

#masthead.sticky {
	position: fixed;
	background: #fff;
	width: 100%;
  box-shadow: 0 3px 3px 0px rgba(192, 192, 192, 0.4);
}

#masthead .logo-wrapper,
#masthead.sticky .logo-wrapper .elementor-widget-image {
	transition: all .3s;
}


@media screen and (min-width: 1025px) {

  #masthead.sticky .logo-wrapper,
  #masthead.sticky .logo-wrapper .elementor-widget-image {
    height: 0;
    opacity: 0;
    padding: 0;
  }

}


#masthead.sticky ul.hfe-nav-menu li.home {
	visibility: visible;
}

#masthead ul.hfe-nav-menu li.home {
	visibility: hidden;
	position: absolute;
	top: 12px;
	left: 60px;
}

#masthead ul.hfe-nav-menu li.home a {
	color: var(--clr-default);
  font-size: 0.01px !important;
  display: inline-block;
  width: 31px;
  height: 34px;
  background-image: url('/wp-content/uploads/ordalis-symbol.svg');
  background-size: 31px 34px;
  background-repeat: no-repeat;
}

#masthead ul.hfe-nav-menu li.home a:hover {
  background-image: url('/wp-content/uploads/ordalis-symbol-hover.svg');
}

.hfe-nav-menu-icon svg.e-far-window-close {
  width: 30px;
  height: 30px;
}





/* Inhalte */

main#content .page-content {
  margin-bottom: 50px;
}





/* General */

a,
.page-content a,
.elementor-widget-icon-box .elementor-icon-box-title a {
  color: #2D8EAD;
  font-weight: 400;
  text-decoration: none;
  transition: all .3s;
}

a:hover,
.page-content a:hover,
.elementor-widget-icon-box .elementor-icon-box-title a:hover {
  color: #145f77;
  text-decoration: none;
}

a.mail-link {
  color: #2D8EAD;
}

a.mail-link:hover {
  color: #145f77;
}





/* Text / Schriften */

h1, h2, h3, h4, h5, h6 {
  font-family: 'RedHatDisplay', sans-serif;
  font-weight: 700;
  line-height: 1.2em;
  color: #0D141C;
  text-transform: none;
}

h1,
.header-title h1,
.elementor-widget-heading h1.elementor-heading-title {
  color: #0D141C;
  font-weight: 800;
  font-size: 80px;
}

h1 span,
.header-title h1 span {
  color: #2D8EAD;
}

h1.entry-title {
  font-size: 60px;
}

h2 {
  font-size: 24px;
  font-weight: 700;
  text-transform: uppercase;
}

h3 {
  font-size: 36px;
  font-weight: 700;
}

.lead-text p {
	font-size: 20px;
}









/* Button */

.elementor-button {
	background: var(--clr-prim);
	color: var(--clr-quar);
	font-size: 16px;
}

.elementor-button .elementor-button-text {
	color: var(--clr-quar);
	font-weight: 700;
}

.elementor-button .elementor-button-icon {
	width: 18px;
	height: 18px;
	margin-top: -1px;

}


#dienstleistungen .elementor-button-content-wrapper {
	gap: 10px;
}


#dienstleistungen .elementor-button {
	padding: 5px 0;
	background: transparent;
	color: var(--clr-default);

}

#dienstleistungen .elementor-button .elementor-button-text {
	color: var(--clr-default);
}










/* Footer */

footer {
  position: sticky;
  top: 100vh;
}


footer,
footer p,
footer div {
  color: #F6F6F6;
  font-size: 16px;
}

footer a,
footer .elementor-element a,
footer a.mail-link {
  color: #F6F6F6;
  text-decoration: none;
}

footer a:hover,
footer a.mail-link:hover {
  color: var(--clr-prim);
  text-decoration: none;
}

footer strong,
footer strong a {
  color: #F6F6F6;
  font-weight: 700;
}

footer h1,
footer h2,
footer h3,
footer h4,
footer h5,
footer h6 {
  color: #F6F6F6;
}

footer .megura-link p {
  font-size: 12px;
}





/* Responsive */


@media screen and (max-width: 1300px) {

  #masthead ul.hfe-nav-menu li.home {
    left: 10px;
  }

  h1,
  .header-title h1,
  .elementor-widget-heading h1.elementor-heading-title {
    font-size: 68px;
  }


  h3 {
    font-size: 30px;
  }

  @keyframes grow-circle {
    0% {
      transform: scale(0);
      width: 0px;
      height: 0px;
      opacity: 1;
      background: transparent;
      margin-left: -50%;
    }

    49% {
      transform: scale(0);
      width: 0px;
      height: 0px;
      opacity: 1;
      background: #2D8EAD;
      margin-left: -50%;
    }

    70% {
      transform: scale(40);
      width: 100px;
      height: 100px;
      opacity: 1;
      background: #2D8EAD;
      margin-left: -50%;
    }

    80% {
      transform: scale(40);
      width: 100px;
      height: 100px;
      opacity: 1;
      background: #2D8EAD;
      margin-left: unset;
    }

    100% {
      transform: scale(0);
      width: 0px;
      height: 0px;
      opacity: 1;
      background: #2D8EAD;
      margin-left: unset;
    }
  }

}


@media screen and (max-width: 1024px) {

  #masthead.sticky ul.hfe-nav-menu li.home {
    visibility: visible;
  }

  #masthead ul.hfe-nav-menu li.home {
    visibility: visible;
    position: relative;
    top: unset;
    left: unset;
  }

  #masthead ul.hfe-nav-menu li.home a {
    color: var(--clr-default);
    font-size: 24px !important;
    display: flex;
    width: unset;
    height: unset;
    background-image: unset;
    background-size: unset;
    background-repeat: no-repeat;
  }

  #masthead ul.hfe-nav-menu li.home a:hover {
    background-image: unset;
  }

  .logo-wrapper {
    justify-content: center;
    height: auto;
  }

}



@media screen and (max-width: 991px) {

  h1,
  .header-title h1,
  .elementor-widget-heading h1.elementor-heading-title {
    font-size: 50px;
  }

  h1.entry-title {
    font-size: 40px;
  }

  h3 {
    font-size: 25px;
  }

}



@media screen and (max-width: 767px) {



}



@media screen and (max-width: 576px) {

  h1,
  .header-title h1,
  .elementor-widget-heading h1.elementor-heading-title {
    font-size: 44px;
  }

  h1.entry-title {
    font-size: 34px;
  }

  .header-title {
    margin-right: 0px;
    margin-top: 300px;
  }

  .header-container.elementor-element {
    background-position: left top !important;
    align-items: center;
  }

  lottie-player#preload {
    margin-top: -125px;
  }
	
  .pattern-wrapper {
    transform: rotate(-90deg);
    height: 150px;
  }

}


@media screen and (max-width: 380px) {

  .header-container.elementor-element {
    background-size: 180% auto !important;
  }

}


@media screen and (max-height: 950px) {

  .header-container.elementor-element {
    min-height: 90vh !important;
  }

}



@media screen and (max-height: 850px) {

  .header-container.elementor-element {
    min-height: 105vh !important;
  }

}


@media screen and (max-height: 750px) {

  .header-container.elementor-element {
    min-height: 110vh !important;
  }

}

