/* ------------------------------ */
/* ----------- Header ----------- */
/* ------------------------------ */

body.menu-open {
  overflow-y: hidden;
}

header {
  min-height: 85px;
}

.site_header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10;
  width: 100%;
  padding-top: 5px;
  background-color: #ffffff;
  height: 87px;
}

.page-scrolled .site_header, .header--no-cover .site_header {
  -webkit-box-shadow: 0 0 25px 0 rgba(29,29,27,.1);
  -webkit-box-shadow: 0 0 25px 0 rgba(29,29,27,.1);
          box-shadow: 0 0 25px 0 rgba(29,29,27,.1);
}

.site_header .row {
  margin-left: 0;
  margin-right: 0;
}

.page-scrolled .site_header, .admin-bar.page-scrolled .site_header {
  top: -90px;
}

.page-scrolled.header-fixed .site_header, .page-scrolled.menu-open .site_header {
  top: 0;
}

.admin-bar .site_header, .admin-bar.page-scrolled.header-fixed .site_header {
  top: 32px;
}

.site_logo {
  position: relative;
  top: 6px;
  max-width: 210px;
  line-height: 1;
}

.site_logo a {
  display: inline-block;
}

.no-touchevents .site_logo a:hover {
  opacity: .7;
}



/* ------------------------------ */
/* ---- Headerimage / -video ---- */
/* ------------------------------ */

.site_cover {
  position: relative;
  max-width: 1440px;
  margin: 84px auto 0;

  height: 50vh;
  min-height: 450px;
  max-height: 550px;

  background: #f5f5f5;
}

.site_cover__content {
  position: absolute;
  z-index: 1;
  left: 0;
  bottom: 8.5%;
  width: 100%;
}

.site_cover__content--only-desc p {
  margin-bottom: 0;
}

.site_cover__content.site_cover__content--special {
  background-color: transparent;
  padding:0;
}

.box__container {
  position: relative;
  display: inline-block;
  max-width: 800px;
  background-color: rgba(255,255,255,.95);
  -webkit-box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.05);
          box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.05);
  padding: 1rem;
}

.site_cover__content--special .box__container p {
  font-size: .9rem;
}

.site_cover__content--special .buttons {
  margin-top: .75rem;
}

.box__container--info {
  background: rgba(241,241,241,.95);
  padding: .65rem 1rem;
}

.site_cover__content--only-desc .box__desc {
  margin-bottom: 0;
}

.site_cover__content div {
  position: relative;
}

.box_buttons {
  margin-top: .95rem;
}

.box__title {
  font-weight: bold;
}

.site_cover__content__time {
  margin-top: 12px;
  margin-bottom: 4px;
}

.site_cover__content__time, .site_cover__content__address {
  font-weight: bold;
}

.site_cover__content__address, .site_cover__content__time, .site_cover__content__phone, .site_cover__content__mail {
  padding-left: 28px;
}

.site_cover__content__address::before, .site_cover__content__time::before {
  content: "";
  position: absolute;
  left: 1px;
  top: 1px;
  width: 17px;
  height: 22px;
  background-size: 17px;
  background-image: url(/wp-content/themes/chrigifrick_child/img/address.svg);
  background-repeat: no-repeat;
}

.site_cover__content__time::before {
  top: 2px;
  left: 0;
  width: 20px;
  height: 20px;
  background-size: 20px;
  background-image: url(/wp-content/themes/chrigifrick_child/img/time.svg);
}

.site_cover__cta.cta {
  position: absolute;
  z-index: 1;
  right: 5%;
  bottom: -10%;
  -webkit-box-shadow: 0 0 0 10px rgba(228, 4, 39, .5);
    box-shadow: 0 0 0 10px rgba(228, 4, 39, .5);
  -webkit-animation: pulsebutton 1.25s infinite;
}

@-webkit-keyframes pulsebutton{
  0% {
    -webkit-box-shadow: 0 0 0 10px rgba(228, 4, 39, .5);
    box-shadow: 0 0 0 10px rgba(228, 4, 39, .5);
  }
  50% {
    -webkit-box-shadow: 0 0 0 20px rgba(228, 4, 39, .5);
    box-shadow: 0 0 0 20px rgba(228, 4, 39, .5);
  }
    100% {
      -webkit-box-shadow: 0 0 0 10px rgba(228, 4, 39, .5);
      box-shadow: 0 0 0 10px rgba(228, 4, 39, .5);
  }
}

@-webkit-keyframes pulsebuttonhover{
  0% {
    -webkit-box-shadow: 0 0 0 10px rgba(228, 4, 39, .5);
    box-shadow: 0 0 0 10px rgba(228, 4, 39, .5);
  }
  50% {
    -webkit-box-shadow: 0 0 0 20px rgba(228, 4, 39, .5);
    box-shadow: 0 0 0 20px rgba(228, 4, 39, .5);
  }
    100% {
      -webkit-box-shadow: 0 0 0 10px rgba(228, 4, 39, .5);
      box-shadow: 0 0 0 10px rgba(228, 4, 39, .5);
  }
}


.site_cover__cta a {
  border-radius: 50%;
}

.cta {
  width: 190px;
  height: 190px;
  background: #e40428;
  border-radius: 50%;
}

.cta__label {
  position: relative;
  top: 50%;
  width: 100%;
  color: white;
  font-weight: bold;
  text-transform: uppercase;
  font-size: 21px;
  text-align: center;
  -webkit-transform: rotate(-12deg) translateY(-53%) translateX(7px);
      -ms-transform: rotate(-12deg) translateY(-53%) translateX(7px);
          transform: rotate(-12deg) translateY(-53%) translateX(7px);
}



/* ------------------------------ */
/* --------- Navigation --------- */
/* ------------------------------ */

.site_nav ul {
  margin: 0;
  padding: 0;
}

.site_nav li, .site_nav li a {
  position: relative;
}

.site_nav li {
  display: inline-block;
  line-height: 1;
}

.site_nav li.wissenswertes {
  display: inline-block;
}

.site_nav__main > li + li {
  margin-left: 1.5rem;
}

.site_nav .site_nav__meta li + li {
  margin-left: 1rem;
}

.site_nav li a {
  display: inline-block;
  -webkit-transition: .5s;
  -o-transition: .5s;
  transition: .5s;
}

.site_nav__main > li.nav__item--current_ancestor > a, .site_nav__main > li.nav__item--active > a,
.site_nav__meta > li.nav__item--current_ancestor > a, .site_nav__meta > li.nav__item--active > a {
  color: #e40428;
}

.no-touchevents .site_nav li a:hover, .site_nav .nav__sub__navigation li.nav__item--active a {
  opacity: .75;
}


/* Main nav */
.site_nav .site_nav__main {
  margin-top: 43px;
  text-align: right;
}

.site_nav__main > li > a {
  font-size: 1.111rem;
  font-weight: bold;
}


/* Meta nav */
.site_nav__meta {
  position: absolute;
  top: 0;
}

.site_nav__meta li a {
  font-size: 0.9rem;
  font-weight: normal;
}


/* Sub menu */
.nav__sub__navigation[class*="--level"] > li {
  display: block;
}

.nav__sub__inside {
  padding: 0 !important;
}

.site_nav__main > li.nav__item--has-children {
  position: initial;
}

.site_nav__main > li > a {
  padding-bottom: 13px;
}

.site_nav__main .nav__sub {
  position: absolute;
  z-index: 2;
  top: 82px;
  left: 1.25rem;
  width: calc(100% - 2.5rem);
  padding: 30px;
  text-align: left;
  background-color: #e40428;
  display: none;
}

li.nav__item--nothelferkurs > .nav__sub > li {
  width: 100%;
}

.site_nav__main .nav__sub li a, .nav__sub li span {
  display: block;
  padding: 0;
  font-size: .9rem;
  font-weight: 700;
  text-align: left;
  line-height: 1.4;
  letter-spacing: .5px;
  color: #fff;
}

.site_nav__main .nav__sub__navigation .nav__sub__navigation li a, .site_nav__main .nav__sub__navigation .nav__sub__navigation li span {
  font-weight: normal;
  padding: 5px 0;
} 

.site_nav__meta .nav__sub li {
  display: block;
}

.site_nav__meta .nav__sub li a {
  padding: 8px 20px;
  margin-left: 0;
  color: #ffffff;
}

.site_nav__meta .nav__sub li + li {
  margin-left: 0;
}

.site_nav__meta li.nav__item--has-children > a {
  padding-right: 20px;
}

.site_nav__meta li.nav__item--has-children > a::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 5px;
  width: 15px;
  height: 8px;
  background-image: url(/wp-content/themes/chrigifrick_child/img/iconset.svg);
  background-repeat: no-repeat;
  background-size: 180px;
  background-color: transparent;
  background-position: -12px -85px;
  z-index: -1;
  -webkit-transition: .35s ease-in-out;
  -o-transition: .35s ease-in-out;
  transition: .35s ease-in-out;
}

.macos  .site_nav__meta li.nav__item--has-children > a::after, .ios .site_nav__meta li.nav__item--has-children > a::after {
  bottom: 3px;
}

.site_nav__meta li.nav__item--has-children.is-active > a::after {
  transform: rotate(180deg);
}

.site_nav__meta li.nav__item--has-children.current-menu-item > a::after,
.site_nav__meta li.nav__item--has-children.current-menu-ancestor > a::after {
  background-position: -29px -85px;
}


@media all and (min-width: 1024px) {

  .site_nav__icon {
    display: none;
  }

  .site_nav__main .nav__item:not(.nav__item--nothelferkurs) .nav__sub__navigation:not([class*="--level"]) {
    display: block;
    -ms-flex: 1 1 0%;
    flex: 1 1 0%;
    -moz-column-count: 3;
      column-count: 3;
  }
  
  .site_nav__main .nav__item:not(.nav__item--nothelferkurs) .nav__sub__navigation:not([class*="--level"]) > li {
    display: flex;
    page-break-inside: avoid;
    -moz-column-break-inside: avoid;
    break-inside: avoid;
    flex-direction: column;
    margin-bottom: 20px;
  }

  li.nav__item--nothelferkurs > .nav__sub {
    width: 280px;
    right: 1.25rem;
    left: auto;
  }

  li.nav__item--nothelferkurs > .nav__sub > .nav__sub__inside  > .nav__sub__navigation > li + li {
    margin-top: 20px;
  }

  .site_nav__meta {
    right: 1.25rem;
  }

  .site_nav .site_nav__meta .nav__sub {
    position: absolute;
    z-index: 2;
    top: 29px;
    left: 1.25rem;
    width: 215px;
    padding: 12px 0 9px;
    text-align: left;
    display: none;
    background-color: #e40428;
  }
  
  .site_nav .site_nav__meta .nav__item--wissenswertes .nav__sub {
    -webkit-transform: translateX(-70px);
    -ms-transform: translateX(-70px);
    transform: translateX(-70px);
  }
  
  .site_nav .site_nav__meta .nav__item--ausbildung .nav__sub {
    -webkit-transform: translateX(-54px);
    -ms-transform: translateX(-54px);
    transform: translateX(-54px);
  }

  .site_nav__main > li.nav__item--has-children > a::before, .site_nav__meta > li.nav__item--has-children > a::before {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0px 10px 8px 10px;
    -webkit-transform: translate(-50%, 10px);
    -ms-transform: translate(-50%, 10px);
    transform: translate(-50%, 10px);
    border-color: transparent transparent #e40428 transparent;
    opacity: 0;
    -webkit-transition: all .25s;
    -o-transition: all .25s;
    transition: all .25s;
    -webkit-transition-delay: unset;
    -o-transition-delay: unset;
    transition-delay: unset;
  }
  
  .site_nav__meta li.nav__item--has-children > a::before {
    bottom: -9px;
  }
  
  .site_nav .site_nav__main li.nav__item--has-children.is-active > a::before, .site_nav .site_nav__meta li.nav__item--has-children.is-active > a::before {
    opacity: 1;
  }
  
  .site_nav .site_nav__main li.nav__item--has-children.is-active > a::before {
    bottom: 9px;
  }
  
  .site_nav .site_nav__meta li.nav__item--has-children.is-active > a::before {
    bottom: 0px;
  }
  
  .site_nav .site_nav__main li.nav__item--has-children.is-active > a::before, .site_nav .site_nav__meta li.nav__item--has-children.is-active > a::before {
    -webkit-transition-delay: .35s;
    -o-transition-delay: .35s;
    transition-delay: .35s;
  }

}


@media all and (max-width: 1023.98px) {

  #wpadminbar {
    display: none;
  }

  .admin-bar .site_cover {
    margin-top: 24px;
  }

  .admin-bar .site_header, .admin-bar.page-scrolled.header-fixed .site_header {
    top: 0;
  }

  .site_nav__icon {
    position: absolute;
    z-index: 101;
    top: 0;
    right: 0;
    width: 70px;
    height: 70px;
    background-color: #e40428;
  }

  .hamburger {
    cursor: pointer;
    position: absolute;
    width: 100%;
    height: 100%;
  }

  .hamburger__container {
    margin-top: 25px;
  }

  .hamburger .line{
    width: 36px;
    height: 2px;
    background-color: #ffffff;
    display: block;
    margin: 6px auto;
    -webkit-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
  }

  .menu-open .hamburger .line:nth-child(2){
    opacity: 0;
  }
  
  .menu-open .hamburger .line:nth-child(1){
    -webkit-transform: translateY(8px) rotate(45deg);
    -ms-transform: translateY(8px) rotate(45deg);
    transform: translateY(8px) rotate(45deg);
  }
  
  .menu-open .hamburger .line:nth-child(3){
    -webkit-transform: translateY(-8px) rotate(-45deg);
    -ms-transform: translateY(-8px) rotate(-45deg);
    transform: translateY(-8px) rotate(-45deg);
  }

  .site_nav {
    position: fixed;
    z-index: 15;
    top: 70px;
    right: -110%;
    width: 60%;
    height: calc(var(--app-height) - 70px);
    margin-top: 0;
    padding-bottom: 30px;
    background: #e40428;
    -webkit-transition: all 0.6s ease-in-out;
    -o-transition: all 0.6s ease-in-out;
    transition: all 0.6s ease-in-out;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
  }

  .menu-open .site_nav {
    right: 0;
  }

  .site_header::after {
    content: "";
    position: fixed;
    top: 70px;
    left: 0;
    width: 100%;
    height: calc(var(--app-height) - 70px);
    background-color: #232323;
    opacity: 0;
    z-index: -1;
    visibility: hidden;
    -webkit-transition: .5s;
    -o-transition: .5s;
    transition: .5s;
  }

  .menu-open .site_header::after {
    opacity: .5;
    z-index: 1;
    visibility: visible;
  }

  .site_nav__main > li.nav__item--has-children {
    position: relative;
  }

  .site_nav .site_nav__main {
    margin-top: 30px;
    text-align: left;
  }

  .site_nav .site_nav__main {
    margin-top: 0;
  }

  .site_nav .site_nav__meta {
    position: relative;
    margin-top: 17px;
  }

  .site_nav li, .site_nav__main li a {
    display: block;
  }

  .site_nav li.wissenswertes {
    display: block;
  } 

  .site_nav__main li a, .site_nav__meta li a {
    color: #ffffff;
    margin: 0;
  }

  .site_nav__main li a {
    display: block;
  }

  .site_nav .site_nav__meta li+li {
    margin-left: 0;
  }

  .site_nav__meta li a {
    display: inline-block;
  }

  .site_nav__main li {
    border-bottom: 2px solid rgba(255, 255, 255, .2);
  }

  .site_nav__main > li > a {
    padding: 22px 50px 18px 20px;
  }

  .site_nav .site_nav__meta .nav__sub {
    margin-bottom: 14px;
  }

  .site_nav__meta li a {
    font-size: 18px;
    padding: 10px 20px
  }

  .site_nav__meta li.nav__item--has-children > a {
    padding-right: 25px;
  }

  .site_nav li.current-menu-item>a, .site_nav li.nav__item--active>a {
    color: #ffffff;
    opacity: .75;
  }


  /* Sub menu */
  .site_nav__main .nav__item .nav__sub__navigation:not([class*="--level"]) > li {
    margin-bottom: 15px;
  }

  .site_nav__main li.nav__item--has-children {
    padding-bottom: 0;
  }

  .site_nav__main li.nav__item--has-children::before, .site_nav__meta li.nav__item--has-children ul::before {
    display: none;
  }

  .site_nav .nav__sub, .site_nav .nav__sub--small .nav__sub {
    display: block;
    position: relative;
    width: 100%;
    top: unset;
    right: unset;
    left: unset;
    padding: 15px 0 15px;
    background-color: #ffffff;
  }

  .site_nav .site_nav__main .nav__sub, .site_nav .site_nav__meta .nav__sub {
      display: none;
      top: 0;
  }

  .site_nav .site_nav__meta .nav__sub {
    width: 100%;
  }

  .site_nav li.nav__item--has-children::after {
    content: "";
    position: absolute;
    left: auto;
    right: 20px;
    top: 21px;
    width: 13px;
    height: 19px;
    background-image: url('/wp-content/themes/chrigifrick_child/img/iconset.svg');
    background-repeat: no-repeat;
    background-size: 180px;
    background-color: transparent;
    background-position: -11px -52px;
    -webkit-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg);
    z-index: -1;
    -webkit-transition: .35s ease-in-out;
    -o-transition: .35s ease-in-out;
    transition: .35s ease-in-out;
  }

  .site_nav__meta li.nav__item--has-children::after {
    content: none;
  }

  .site_nav__meta li.nav__item--has-children > a::after, .site_nav__meta li.nav__item--has-children.current-menu-ancestor > a::after {
    background-position: -47px -85px;
    bottom: 15px;
    right: 0;
  }

  .macos  .site_nav__meta li.nav__item--has-children > a::after, .ios .site_nav__meta li.nav__item--has-children > a::after {
    bottom: 13px;
  }
  
  .site_nav li.nav__item--has-children.is-active::after {
    -webkit-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    transform: rotate(-90deg);
  }

  .site_nav__meta li.nav__item--has-children.is-active > a::after {
    -webkit-transform: rotate(-180deg);
    -ms-transform: rotate(-180deg);
    transform: rotate(-180deg);
  }

  .admin-bar .site_nav li.nav__item--has-children.nav__item--active::after {
    background-position: 2px -72px;
  }

  .site_nav .site_nav__main .nav__sub li a, .site_nav .site_nav__meta .nav__sub li a,
  .site_nav .site_nav__main .nav__sub li span, .site_nav .site_nav__meta .nav__sub li span {
    display: block;
    font-size: 18px;
    line-height: 1.4;
    padding-right: 20px;
    padding-left: 20px;
    color: #232323;
    border: 0;
  }

  .site_nav .site_nav__main .nav__sub li a, .site_nav .site_nav__meta .nav__sub li a {
    padding-top: 5px;
    padding-bottom: 5px;
  }

  .no-touchevents .site_nav__main > li > a:hover, .site_nav__main > li.nav__item--current_ancestor > a, .site_nav__main > li.nav__item--active > a, .site_nav__meta > li.nav__item--current_ancestor > a, .site_nav__meta > li.nav__item--active > a {
    color: #ffffff;
    opacity: .75;
  }

  .site_nav .nav__sub__navigation li.nav__item--active a {
    color: #e40428;
    opacity: 1;
  }

  .site_nav li a svg path {
    stroke: #ffffff;
  }

  .site_nav .site_nav__main > li.nav__item--has-children > a svg {
      position: absolute;
      top: 50%;
      right: 15px;
      -webkit-transform: translateY(-50%) rotate(-90deg);
          -ms-transform: translateY(-50%) rotate(-90deg);
              transform: translateY(-50%) rotate(-90deg);
      -webkit-transition: .5s;
      -o-transition: .5s;
      transition: .5s;
  }

  .site_nav .site_nav__main > li.nav__item--has-children > a.is-active svg {
      -webkit-transform: translateY(-50%) rotate(0deg);
          -ms-transform: translateY(-50%) rotate(0deg);
              transform: translateY(-50%) rotate(0deg);
  }

}


@media all and (max-width: 767.98px) {

  .site_nav__main li a {
    font-size: 1.167rem;
  }

  .macos  .site_nav__meta li.nav__item--has-children > a::after, .ios .site_nav__meta li.nav__item--has-children > a::after {
    bottom: 13px;
  }

}


@media all and (max-width: 479.98px) {

  .site_nav__main .nav__sub li, .site_nav .nav__sub--small li {
    width: 100%;
  }

}