html {
  overscroll-y: none; 
}

/* TYPOGRAPHY */
h1, h2, h3 {
	color: #000091;
}

#intro h1 {
  /*font-size: clamp(4rem, 9.931vw + 1.43rem, 9.375rem);
  line-height: clamp(4.4rem, 10.924vw + 1.573rem, 10.313rem);*/
  /*font-size: clamp(3.2rem, 7.945vw + 1.144rem, 7.5rem);
  line-height: clamp(3.52rem, 8.739vw + 1.258rem, 8.25rem);*/
  padding-top: 12vh;
  font-size: 12vh;
}

#intro h3 {
	text-transform: capitalize;
	font-size: 3.5vh;
}

@media only screen and (max-width: 639px) {
	#intro h1 {
		font-size: 10vh;
	}
	#intro h3 {
		font-size: 1.5em;
	}
}
h2, .uk-logo {
  font-size: clamp(1.5rem, 1.848vw + 1.022rem, 2.5rem);
  line-height: clamp(1.65rem, 2.032vw + 1.124rem, 2.75rem);
}

h3, .uk-accordion-title {
	font-size: 1.6rem;
	text-transform: uppercase;
}

p, main li {
  font-size: clamp(1rem, 0.693vw + 0.821rem, 1.375rem);
  line-height: clamp(1.3rem, 0.901vw + 1.067rem, 1.788rem);
}

p {
	padding-bottom: 15px;
}


h1 + h3 {
	margin-top: 10vh;
}

.uk-logo {
  color: #000091 !important;
}

h2, h3, p, main li {
  letter-spacing: 0.025em;
}

h1, h2, .uk-logo {
  font-weight: 700;
}

.center {text-align: center;}

.uk-nav-primary {
  font-size: clamp(1.25rem, 2.887vw + 0.503rem, 2.813rem);
  line-height: clamp(1.875rem, 4.33vw + 0.755rem, 4.219rem);
}

.selected {
  border-bottom: 2px solid;
}

#offcanvas a:hover {
  opacity: 75%;
}

/* HEADER, MENU, OFFCANVAS */
#navbar {
  padding-right: 0;
  padding-left: 12px;
}

#navbar .uk-navbar-container .uk-navbar-left  {
  opacity: 0;
  transition: opacity 1s;
}

#navbar .uk-navbar-sticky .uk-navbar-left {
  opacity: 100;
}

label.burger {
  display:flex;
  flex-direction:column;
  width:40px;
  cursor:pointer;
  margin-top: -4px;
}
#navbar .uk-navbar-container label.burger span {
  background: #fff;
  height:4px;
  margin: 7px 0;
  transition: all .2s;
}
label.burger span:nth-of-type(1){ width:100%; }
label.burger span:nth-of-type(2){ width:60%; }
label.burger input[type="checkbox"]{ display:none; }
label.burger input[type="checkbox"]:hover ~ span:nth-of-type(1){ width: 60%; }
label.burger input[type="checkbox"]:hover ~ span:nth-of-type(2){ width: 100%; }

#navbar .uk-navbar-sticky label.burger span {
  background: #000091;
}

.uk-offcanvas-close {
  top: 5px;
  right: 65px;
  border: 0;
  background: transparent;
}

.uk-offcanvas-close::after {
  content: '×';
  color: #fff;
  font-size: 60px;
}

#offcanvas .uk-nav li > a {
  justify-content: center;
}

/* SITE UTILITIES */
section .uk-grid div h2 {
  padding-top: 8rem;
}
section#intro-box .uk-grid div h2,
footer section .uk-grid div h2 {
  padding-top: 0;
}

#angebot, #ueber-mich, #testimonials,
#wann-wo, #kosten, #kontakt, #privacy-policy {
    border-left: 26px solid #000091;
    border-right: 26px solid #ff000e;
    position: relative;    
}
@media only screen and (max-width: 959px) {
    #angebot, #ueber-mich, #testimonials,
    #wann-wo, #kosten, #kontakt {
        border-width: 16px;  
    }
    section .uk-grid div h2 {
      padding-top: 9rem;
    }
}
@media only screen and (max-width: 639px) {
    #angebot, #ueber-mich, #testimonials,
    #wann-wo, #kosten, #kontakt {
        border-width: 12px;  
    }
    section .uk-grid div h2 {
        padding-top: 6rem;
    }
    .uk-navbar-nav > li > a, 
    .uk-navbar-item, 
    .uk-navbar-toggle {
        min-height: 68px !important;
    }
    section .uk-grid div h2 {
      padding-top: 4rem;
    }
}

#intro-box .uk-container-small {
	height: 105vh;
	max-width: min-content;
}

/*#intro {
  position: relative;
  z-index: 10;
  display: flex;
  flex-direction: column;
  justify-content: center;
}*/

.uk-accordion {
  border-top: 4px solid #000091;
  margin-bottom: 85px;
}

.uk-accordion > :nth-child(n+2) {
  margin-top: 0;
}

.uk-accordion li {
  border-bottom: 4px solid #000091;
  padding-top: 25px;
  padding-bottom: 25px;
}

.uk-accordion-title {
  color: #000091;
}

.uk-accordion-title::before {
  display: none;
}

.uk-list-decimal > * {
  padding-left: 0;
}

.uk-list-decimal > ::before {
  content: counter(decimal, decimal);
}

#kosten  .uk-list-decimal {
  padding-left: 40px;
}

#kosten  .uk-list-decimal > ::before {
  content: counter(decimal, decimal) ")";
  left: -70px;
}

.uk-list-decimal.uk-accordion > ::before {
  left: 0;
  width: 60px;
  height: 60px;
  display: flex;
  justify-content: center;
  align-items: center;
  border: 4px solid;
  border-radius: 100%;
  font-size: 1.5rem;
  font-weight: 700;
  text-align: center;
  padding: 0;
  margin: 0;
}

.uk-accordion-title {
  position: absolute;
  margin-top: -55px;
  padding-left: 90px;
}

/*#wann-wo hr {
  border-top: 4px solid #ff000e;
}*/

#kosten hr, #wann-wo hr {
  border-top: 4px solid #000091;
}

#kontakt .uk-checkbox:checked {
  background-color: #ff000e;
}

.uk-input, .uk-textarea {
  background: #fff;
  border-radius: 4px;
  -webkit-box-shadow: inset 2px 2px 3px 0px rgba(0,0,0,0.25);
  -moz-box-shadow: inset 2px 2px 3px 0px rgba(0,0,0,0.25);
  box-shadow: inset 2px 2px 3px 0px rgba(0,0,0,0.25);
}

.uk-dotnav > * > * {
  background: #000091;
}

.scroll-next {
  position: absolute;
  bottom: 50px;
  transform: translateX(-50%);
  right: 70px;
}

.scroll-next .next-button, .tm-totop-button {
  width: 60px;
  height: 60px;
  display: flex;
  justify-content: center;
  align-items: center;
  border: 4px solid;
  border-radius: 100%;
}

@media only screen and (max-width: 639px) {
  #wann-wo hr, #kosten hr,
  .uk-accordion li, .uk-accordion, 
  .uk-list-decimal.uk-accordion > ::before,
  .scroll-next .next-button, .tm-totop-button {
    border-width: 3px;
  }
  .uk-accordion-title {
    margin-top: -45px;
  }
}

.tm-totop-button {
  bottom: 25px;
  right: 70px;
  background: #fff;
  color: #000091;
}

.uk-alert-success {
  background: #fff;
  color: #ff000e;
}

#contact input, #contact textarea {
  font-weight: 400;
} 

footer {
  position: relative;
  z-index: 5;
}

/* MOBILE SPECS & HACKS */
@media only screen and (max-width: 639px) {
  section#angebot .next-button,
  section#ueber-mich .next-button, 
  section#testimonials .next-button,
  section#wann-wo .next-button, 
  section#kosten .next-button {
    display: none;
  }
  
  section#intro-box .uk-first-column {
    min-height: auto !important;
    height: 100dvh !important;
  }
  .uk-offcanvas-close {
    top: -15px;
    right: 25px;
  } 
  .tm-show-totop {
    opacity: 100 !important;
    transform: translateY(0) !important;
    cursor: pointer;
  }
  .tm-totop-button {
  	right: 20px;
  	bottom: 15px;
  }
  .scroll-next {
  	right: -15px;
  	bottom: 65px;
  }
}