@font-face {
  font-family: "Nunito Sans";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/NunitoSans-Regular.ttf") format("truetype");
}
@font-face {
  font-family: "Nunito Sans";
  font-style: normal;
  font-weight: 700;
  src: url("../fonts/NunitoSans-Bold.ttf") format("truetype");
}
@font-face {
  font-family: "Nunito Sans";
  font-style: normal;
  font-weight: 800;
  src: url("../fonts/NunitoSans-ExtraBold.ttf") format("truetype");
}
@font-face {
  font-family: "Nunito Sans";
  font-style: normal;
  font-weight: 900;
  src: url("../fonts/NunitoSans-Black.ttf") format("truetype");
}
.text-warning {
  color: black !important;
}

#footer ul, .betriebe-section .card ul, .list-arrow, #nav {
  margin: 0;
  padding: 0;
  list-style: none;
}

.ausbildung-section .container:after, .ausbildung-section:after, .handwerk-section:after, .innung-section:after, .clearfix:after {
  content: "";
  display: block;
  clear: both;
}

.ellipsis {
  white-space: nowrap; /* 1 */
  text-overflow: ellipsis; /* 2 */
  overflow: hidden;
}

#header {
  transition: top 0.3s linear;
  position: fixed;
  top: -5.625rem;
  left: 0;
  right: 0;
  padding: 0.75rem 0;
  background: #4b4b4b;
  z-index: 999;
}
@media (min-width: 992px) {
  #header {
    padding: 0;
  }
}
#header.fixed-position {
  top: 0;
}
#header .logo {
  width: 3.125rem;
}
@media (min-width: 992px) {
  #header .logo {
    float: left;
    width: 4.75rem;
    margin: -0.3125rem 0 0;
  }
}
#header .logo img {
  transform: translate3d(0, 0, 0);
}
@media (max-width: 991px) {
  #header .logo img {
    width: 3.125rem;
  }
}
@media (min-width: 992px) {
  #header .col {
    display: flex;
    align-items: center;
  }
}

.fixed-position #header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 99;
}

.menu {
  overflow: hidden;
  width: calc(100% - 80px);
}
@media (min-width: 992px) {
  .menu {
    margin: 0 0 0 0.9375rem;
  }
}
@media (min-width: 1200px) {
  .menu {
    margin: 0 0 0 2.0625rem;
  }
}

@media (max-width: 991px) {
  .nav-drop {
    transition: opacity 0.3s linear, visibility 0.3s linear;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
    text-align: center;
    background: #4b4b4b;
    z-index: 99;
    padding: 1.375rem 0 0.9375rem;
  }
}

@media (min-width: 992px) {
  #nav {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    font-size: 1.125rem;
  }
}
@media (min-width: 1200px) {
  #nav {
    font-size: 1.375rem;
  }
}
@media (min-width: 1300px) {
  #nav {
    font-size: 1.625rem;
  }
}
@media (min-width: 768px) {
  #nav li {
    padding: 0 0.9375rem 0 0;
  }
}
@media (min-width: 1200px) {
  #nav li {
    padding: 0 2.1875rem 0 0;
  }
}
@media (min-width: 1300px) {
  #nav li {
    padding: 0 4.375rem 0 0;
  }
}
#nav li:last-child {
  padding-right: 0;
}
#nav li.active a:after {
  opacity: 1;
  visibility: visible;
}
#nav a {
  display: block;
  position: relative;
  color: #fff;
  text-transform: uppercase;
  font-weight: 800;
  padding: 0.75rem 0.9375rem;
}
@media (min-width: 992px) {
  #nav a {
    padding: 1.875rem 0 1.375rem;
    font-size: 1.125rem;
  }
}
@media (min-width: 992px) {
  #nav a:after {
    transition: opacity 0.3s linear, visibility 0.3s linear;
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    border-style: solid;
    border-width: 0 1.125rem 1.0625rem 1.125rem;
    border-color: transparent transparent #fff transparent;
    transform: translateX(-50%);
    opacity: 0;
    visibility: hidden;
  }
}
#nav a:hover:after {
  opacity: 1;
  visibility: visible;
}
#nav a.anchor-active:after {
  opacity: 1;
  visibility: visible;
}

.nav-opener {
  transition: top 0.3s linear;
  position: absolute;
  top: 50%;
  right: 1.25rem;
  width: 1.875rem;
  height: 1.875rem;
  z-index: 99;
  transform: translateY(-50%);
}
@media (min-width: 992px) {
  .nav-opener {
    display: none;
  }
}
.nav-active .nav-opener span {
  opacity: 0;
}
.nav-active .nav-opener:before, .nav-active .nav-opener:after {
  transform: rotate(45deg);
  top: 16px;
  left: 0;
  right: 0;
}
.nav-active .nav-opener:after {
  transform: rotate(-45deg);
}
.nav-opener:before, .nav-opener:after, .nav-opener span {
  background: #fff;
  border-radius: 0;
  position: absolute;
  top: 1.0625rem;
  left: 0;
  right: 0;
  height: 0.1875rem;
  margin-top: -0.125rem;
  transition: all 0.2s linear;
}
.nav-opener:before, .nav-opener:after {
  content: "";
  top: 0.5625rem;
}
.nav-opener:after {
  top: 1.5625rem;
}
.nav-opener:hover {
  opacity: 0.9;
}

body {
  min-width: 320px;
  color: black !important;
  background: white !important;
}
@media (min-width: 768px) {
  body {
    font-size: 1.125rem;
  }
}
@media (min-width: 992px) {
  body {
    font-size: 1.375rem;
    line-height: 1.46153;
  }
}
body.nav-active .nav-drop {
  opacity: 1;
  visibility: visible;
}
body.loaded .logo {
  animation: fadeInLogo 1.6s forwards;
}

.resize-active * {
  transition: none !important;
}

#wrapper {
  position: relative;
  overflow: hidden;
}

h1,
.h1 {
  font-size: 2rem;
  line-height: 1;
  font-weight: 900;
  margin: 0.125rem 0 0.625rem;
}
@media (min-width: 768px) {
  h1,
  .h1 {
    font-size: 2rem;
  }
}
@media (min-width: 992px) {
  h1,
  .h1 {
    font-size: 3.5rem;
    margin: 0 0 2.3125rem;
  }
}
@media (min-width: 1200px) {
  h1,
  .h1 {
    font-size: 4.5rem;
  }
}

h2,
.h2 {
  font-size: 1.375rem;
  font-weight: 900;
}
@media (min-width: 768px) {
  h2,
  .h2 {
    font-size: 1.375rem;
  }
}
@media (min-width: 992px) {
  h2,
  .h2 {
    font-size: 1.875rem;
  }
}

h3,
.h3 {
  font-size: 1.25rem;
  font-weight: 900;
}
@media (min-width: 768px) {
  h3,
  .h3 {
    font-size: 1.375rem;
  }
}

h4,
.h4 {
  line-height: 1.5;
}
@media (min-width: 768px) {
  h4,
  .h4 {
    font-size: 1.125rem;
  }
}

a {
  transition: color 0.3s linear;
}
a:hover {
  text-decoration: none;
}
a.link-arrow {
  transition: border-color 0.3s linear;
  border-bottom: 0.1875rem solid #575756;
  text-transform: uppercase;
  color: #575756;
  font-weight: 800;
}
a.link-arrow i {
  padding: 0 0 0 0.5rem;
}
a.link-arrow:hover {
  border-color: transparent;
}

img {
  max-width: 100%;
  height: auto;
}

.btn {
  font-size: 1.125rem;
  line-height: 1.38095238;
  font-weight: 700;
  border-radius: 0;
  box-shadow: none !important;
  padding: 0.875rem 1.625rem;
  text-transform: uppercase;
  white-space: normal;
  border-width: 3px;
}
@media (min-width: 768px) {
  .btn {
    padding: 1.1875rem 2.3125rem;
    font-size: 1.125rem;
  }
}

.form-control {
  font-size: 1rem;
  height: 3.5rem;
  border-radius: 0;
  padding: 0.375rem 0.75rem;
  margin: 0 0 0.9375rem;
}
.form-control::-webkit-input-placeholder {
  color: #575756;
}
.form-control::-moz-placeholder {
  opacity: 1;
  color: #575756;
}
.form-control:-moz-placeholder {
  color: #575756;
}
.form-control:-ms-input-placeholder {
  color: #575756;
}
.form-control.placeholder {
  color: #575756;
}
@media (min-width: 768px) {
  .form-control {
    height: 4.375rem;
    padding: 0.375rem 1.5rem;
    font-size: 1.125rem;
    margin: 0;
  }
}
.form-control:focus {
  box-shadow: none;
  border-color: black;
}

.hero-section {
  position: relative;
  overflow: hidden;
}
.hero-section.hidden .start-bg {
  display: none;
}
@media (max-width: 1024px) {
  .hero-section.hidden .start-bg {
    display: block !important;
  }
}
.hero-section.hidden .logo {
  opacity: 0;
  visibility: hidden;
}
@media (max-width: 1024px) {
  .hero-section.hidden .logo {
    opacity: 1;
    visibility: visible;
  }
}
.hero-section .start-bg {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-size: cover;
  background-position: 50% 50%;
  background-repeat: no-repeat;
}
.hero-section .btn-contact {
  transition: background 0.3s linear;
  position: absolute;
  background: #575756;
  color: #fff;
  bottom: 2.9375rem;
  left: 0.375rem;
  right: 0.375rem;
  z-index: 99;
  text-align: center;
  text-transform: uppercase;
  display: block;
  font-weight: 800;
  font-size: 0.875rem;
  padding: 0.625rem 0.5rem;
}
@media (min-width: 576px) {
  .hero-section .btn-contact {
    font-size: 1.125rem;
    bottom: 2.5625rem;
  }
}
.hero-section .btn-contact i {
  transition: color 0.3s linear;
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  color: #575756;
  font-size: 1rem;
  margin-top: 1.0625rem;
}
@media (min-width: 576px) {
  .hero-section .btn-contact i {
    margin-top: 0.9375rem;
  }
}
.hero-section .btn-contact:hover {
  background: black;
}
.hero-section .btn-contact:hover i {
  color: black;
}
.hero-section .bg-pattern {
  bottom: 0;
  left: -100%;
  right: -100%;
  height: 21.875rem;
  background: white;
  z-index: 2;
}
@media (min-width: 768px) {
  .hero-section .bg-pattern {
    height: 31.25rem;
  }
}
.hero-section .bg-pattern:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: url(../images/ulm_skyline.svg);
  background-repeat: no-repeat;
  background-size: 100%;
  background-position: 50% 100%;
  z-index: 22;
  opacity: 1;
}
.hero-section .logo-holder {
  padding: 50px 0;
  text-align: center;
  width: 100%;
  flex: 0.325 0 auto;
  display: flex;
  align-items: center;
}
.hero-section .logo {
  display: block;
  z-index: 10;
  width: 16.875rem;
  opacity: 0;
  margin: 0 auto;
}
@media (min-width: 768px) {
  .hero-section .logo {
    width: 31.25rem;
  }
}
@media (min-width: 992px) {
  .hero-section .logo {
    width: 45rem;
  }
}
@media (min-width: 1200px) {
  .hero-section .logo {
    width: 57.1875rem;
  }
}
.hero-section .container {
  position: relative;
  display: flex;
  align-items: flex-end;
  flex-direction: column;
  justify-content: space-between;
  min-height: 100vh;
  padding: 0;
}
@media (min-width: 768px) {
  .hero-section .container {
    min-height: 48rem;
    height: 100vh;
  }
}
@media (min-width: 1200px) {
  .hero-section .container {
    min-height: 48.75rem;
  }
}
@media (min-width: 992px) {
  .hero-section .container:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: -9999px;
    right: -9999px;
    height: 120px;
    z-index: 99;
  }
}
@media (min-width: 1200px) {
  .hero-section .container:after {
    height: 180px;
  }
}
.hero-section .tab-content {
  display: none;
}
@media (min-width: 1025px) {
  .hero-section .tab-content {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: block;
  }
}
@media (min-width: 1025px) {
  .hero-section .tab-content > div {
    background-size: cover;
    background-position: 50% 50%;
    background-repeat: no-repeat;
    width: 100%;
    height: 100%;
  }
}

.tabset {
  position: relative;
  z-index: 9;
  list-style-type: none;
  padding: 0;
  margin: 0 0 12.5rem;
  width: 100%;
}
@media (min-width: 992px) {
  .tabset {
    margin-bottom: 0;
  }
}
.tabset li {
  padding: 0 0.375rem 0.9375rem;
}
@media (min-width: 768px) {
  .tabset li {
    padding-bottom: 0.9375rem;
    overflow: hidden;
    padding: 0 0.9375rem 0.9375rem;
  }
}
@media (min-width: 992px) {
  .tabset li {
    padding-left: 0;
    padding-right: 0;
    margin-left: 0.9375rem;
    margin-right: 0.9375rem;
    width: calc(25% - 30px);
    flex: auto;
    padding: 0 0 7.5rem;
  }
}
@media (min-width: 1200px) {
  .tabset li {
    padding: 0 0 11.25rem;
  }
}
.tabset .anchor-link {
  background: red;
  display: block;
  position: relative;
  font-size: 1.125rem;
  line-height: 1.380952;
  background: #575756;
  color: #fff;
  height: 100%;
}
@media (min-width: 768px) {
  .tabset .anchor-link {
    padding: 1.75rem 0.625rem 2.5rem;
  }
}
@media (min-width: 1200px) {
  .tabset .anchor-link {
    padding: 1.75rem 1.75rem 3.875rem;
    font-size: 1.125rem;
  }
}
.tabset .anchor-link * {
  position: relative;
  z-index: 2;
}
.tabset .anchor-link:before {
  transition: background 0.3s linear;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #575756;
  z-index: 2;
}
@media (min-width: 992px) {
  .tabset .anchor-link:after {
    transition: transform 0.3s linear, border-color 0.3s linear;
    content: "";
    position: absolute;
    bottom: -5.625rem;
    left: 50%;
    border-style: solid;
    border-width: 12.5rem 15.625rem 0 15.625rem;
    border-color: #575756 transparent transparent transparent;
    transform: translate(-50%, -100%);
    z-index: 1;
  }
}
@media (min-width: 1200px) {
  .tabset .anchor-link:after {
    bottom: -8.25rem;
  }
}
.tabset .anchor-link:hover:before {
  background: black;
}
@media (min-width: 992px) {
  .tabset .anchor-link:hover:after {
    transform: translate(-50%, 0);
    border-color: black transparent transparent transparent;
  }
}
.tabset .anchor-link:hover .link-arrow {
  opacity: 1;
  visibility: visible;
}
@media (min-width: 768px) {
  .tabset .anchor-link .link-arrow {
    transition: opacity 0.3s linear, visibility 0.3s linear, border-color 0.3s linear;
    position: absolute;
    bottom: 1.5625rem;
    left: 50%;
    transform: translateX(-50%);
    color: #fff;
    border-bottom: 0.1875rem solid #fff;
    text-transform: uppercase;
    font-weight: 800;
    opacity: 0;
    visibility: hidden;
    white-space: nowrap;
  }
  .tabset .anchor-link .link-arrow i {
    margin-right: 0.5rem;
  }
  .tabset .anchor-link .link-arrow:hover {
    border-bottom-color: transparent;
  }
}
.tabset .title {
  display: block;
  font-weight: 800;
  font-size: 0.875rem;
  padding: 0.625rem 0.5rem;
}
@media (min-width: 576px) {
  .tabset .title {
    font-size: 1.125rem;
  }
}
@media (min-width: 768px) {
  .tabset .title {
    font-size: 1.625rem;
    margin: 0 0 0.625rem;
    padding: 0;
  }
}
@media (min-width: 1200px) {
  .tabset .title {
    margin: 0 0 1.5625rem;
  }
}

.innung-section {
  position: relative;
  padding: 5.625rem 0 0;
}
@media (min-width: 768px) {
  .innung-section {
    padding: 5.625rem 0 0;
  }
}
@media (min-width: 992px) {
  .innung-section {
    padding: 7.5rem 0 4.125rem;
  }
}
@media (min-width: 1200px) {
  .innung-section {
    padding: 8.6875rem 0 4.125rem;
  }
}
.innung-section:before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: -28px;
  background-size: 934px 934px;
  background-position: 50% -104px;
  opacity: 0.03;
}
@media (min-width: 768px) {
  .innung-section .row.news-row {
    margin-bottom: 3.125rem;
  }
}
@media (min-width: 1200px) {
  .innung-section .row.news-row {
    margin-bottom: 4.5625rem;
  }
}
.innung-section .row.task-row {
  margin-bottom: 0.8125rem;
}
@media (min-width: 768px) {
  .innung-section .row.task-row {
    margin-bottom: 0;
  }
}
@media (min-width: 1200px) {
  .innung-section .row.task-row {
    margin-bottom: 2.5625rem;
  }
}
.innung-section .row.task-row h2 {
  margin: 0 0 0.75rem;
}
@media (min-width: 1200px) {
  .innung-section .row.task-row h2 {
    margin: 0 0 1.75rem;
  }
}
.innung-section .row.box-row {
  padding: 1.5625rem 0 0;
}
@media (min-width: 768px) {
  .innung-section .row.box-row {
    padding: 0;
  }
}
@media (min-width: 1200px) {
  .innung-section .row.box-row h2 {
    margin: 0 0 2.0625rem;
  }
}
.innung-section .box-row {
  margin-bottom: 10.9375rem;
}
@media (min-width: 768px) {
  .innung-section .box-row {
    margin-bottom: 29.6875rem;
  }
}
@media (min-width: 1200px) {
  .innung-section .box-row {
    min-height: 25rem;
  }
}
@media (min-width: 1200px) {
  .innung-section .list-arrow {
    padding-right: 3.125rem;
  }
}
.innung-section h2 {
  margin: 0 0 0.75rem;
}
@media (min-width: 1200px) {
  .innung-section h2 {
    margin: 0 0 1.125rem;
  }
}
@media (min-width: 992px) {
  .innung-section .sidebar-news {
    display: flex;
    align-items: flex-end;
    margin: 0.9375rem 0;
  }
}
.innung-section h4,
.innung-section .h4 {
  font-weight: 800;
  margin: 0 0 0.25rem;
}
.innung-section h3,
.innung-section .h3 {
  font-weight: 800;
}
.innung-section .holder {
  overflow: hidden;
  position: relative;
}
@media (min-width: 992px) {
  .innung-section .holder {
    font-size: 0;
    line-height: 0;
    margin: 0 -0.9375rem;
  }
}
.innung-section .open-close {
  margin: 0 0 0.5rem;
}
@media (min-width: 992px) {
  .innung-section .open-close {
    display: inline;
    margin: 0;
  }
}
.innung-section .open-close.active .opener {
  background: black;
}
.innung-section .open-close.active .opener:after {
  transform: rotate(-180deg);
}
.innung-section .open-close .opener {
  transition: background 0.3s linear;
  position: relative;
  background: #575756;
  color: #fff;
  padding: 0.625rem 1.5625rem 0.625rem 0.625rem;
  font-size: 1rem;
  line-height: 1;
  margin: 0;
  cursor: pointer;
}
.innung-section .open-close .opener:after {
  transition: transform 0.3s linear;
  content: "\f063";
  position: absolute;
  right: 0.625rem;
  top: 0.625rem;
  color: #fff;
  transform: rotate(0);
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
}
@media (min-width: 992px) {
  .innung-section .open-close .opener {
    display: none;
  }
}
@media (min-width: 992px) {
  .innung-section .open-close .slide {
    display: inline;
  }
}
.innung-section .open-close:nth-child(3) {
  display: block;
}
.innung-section .box {
  margin-top: 0.5rem;
}
@media (min-width: 992px) {
  .innung-section .box {
    display: inline-block;
    vertical-align: bottom;
    padding: 0 0.9375rem;
    width: 50%;
    margin-bottom: 1.875rem;
    margin-top: 0;
  }
}
@media (min-width: 1200px) {
  .innung-section .box {
    width: 25%;
  }
}
.innung-section .box .h3 {
  display: block;
}
.innung-section .box-holder {
  font-size: 1rem;
  line-height: 1.5;
  background: #fff;
  padding: 0.875rem 1rem 0.5rem;
}
@media (max-width: 767px) {
  .innung-section .box-holder {
    height: auto !important;
  }
}
@media (min-width: 768px) {
  .innung-section .box-holder {
    font-size: 1.125rem;
    line-height: 1.5238095;
  }
}
.innung-section .box-holder h3,
.innung-section .box-holder h4 {
  margin: 0;
}
.innung-section .box-holder .title {
  font-size: 1.125rem;
  font-weight: 800;
}
.innung-section .box-holder address {
  margin: 0;
}
.innung-section .box-holder a {
  border-bottom: none;
  font-weight: 400;
  color: #575756;
}
.innung-section .box-holder a:hover {
  color: black;
}
.innung-section .content-block {
  position: relative;
  color: #fff;
  background: black;
  z-index: 3;
  padding: 1.125rem 0 0 0;
}
@media (min-width: 768px) {
  .innung-section .content-block {
    font-size: 1.125rem;
    padding: 2.9375rem 0 0 0;
  }
}
.innung-section .content-block:before {
  content: "";
  position: absolute;
  bottom: 100%;
  left: 0;
  right: 0;
  background-image: url(../images/city.svg);
  background-size: auto 180px;
  background-position: 50% 0;
  background-repeat: no-repeat;
  z-index: 99;
  height: 11.25rem;
  margin: 0 0 -0.3125rem;
}
@media (min-width: 768px) {
  .innung-section .content-block:before {
    background-size: 120rem 27.375rem;
    height: 27.375rem;
  }
}
.innung-section .content-block h2 {
  color: #fff;
  margin: 0 0 0.75rem;
}
@media (min-width: 768px) {
  .innung-section .content-block h2 {
    margin: 0 0 1.5rem;
  }
}
@media (min-width: 1200px) {
  .innung-section .content-block h2 {
    margin: 0 0 4.125rem;
  }
}
.innung-section .content-block p {
  margin: 0 0 0.9375rem;
}
@media (min-width: 768px) {
  .innung-section .content-block p {
    margin: 0 0 1.75rem;
  }
}
@media (min-width: 992px) {
  .innung-section .content-block ul {
    line-height: 1.38095238;
  }
}
.innung-section .content-block .link-arrow {
  color: #fff;
  border-color: #fff;
}
.innung-section .content-block .link-arrow:hover {
  border-color: transparent;
}
.innung-section .content-block .info-box {
  margin: 2.5rem 0 0;
  font-size: 1rem;
  line-height: 1.5;
  padding: 1.3125rem 0.75rem 1.75rem;
  background: #4b4b4b;
}
@media (min-width: 768px) {
  .innung-section .content-block .info-box {
    font-size: 1.125rem;
    line-height: 1.42;
    margin: 0;
    padding: 1.875rem 0.75rem 2.8125rem;
    font-weight: 700;
  }
}
@media (min-width: 992px) {
  .innung-section .content-block .info-box {
    font-size: 1.375rem;
  }
}
@media (min-width: 1200px) {
  .innung-section .content-block .info-box {
    padding: 1.875rem 1.4375rem 4rem;
    margin: 7.625rem 0 0;
  }
}
.innung-section .content-block .info-box .link-arrow i {
  padding: 0 0 0 0.875rem;
}
.innung-section .content-block .info-box p {
  margin: 0 0 1.125rem;
}
@media (min-width: 768px) {
  .innung-section .content-block .info-box p {
    margin: 0 0 2.0625rem;
  }
}

.list-arrow {
  font-size: 1rem;
  line-height: 1.5;
  padding: 0 0 0.9375rem;
}
@media (min-width: 768px) {
  .list-arrow {
    padding: 0 0 2.1875rem;
  }
}
@media (min-width: 992px) {
  .list-arrow {
    font-size: 1.125rem;
  }
}
.list-arrow li {
  position: relative;
  padding: 0 0 0 1.75rem;
}
.list-arrow li:before {
  content: "\f061";
  display: inline-block;
  position: absolute;
  top: 0.25rem;
  left: 0;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
}

.news-box {
  background: #575756;
  color: #fff;
  font-size: 1rem;
  line-height: 1.5;
  padding: 1.3125rem 0.75rem 1.75rem;
  margin: 2.6875rem 0 2.1875rem;
}
@media (min-width: 768px) {
  .news-box {
    padding: 2.125rem 0.75rem 2.375rem;
    margin: 0;
    font-size: 1.125rem;
    line-height: 1.38095238;
  }
}
@media (min-width: 1200px) {
  .news-box {
    padding: 2.125rem 1.4375rem 3rem;
  }
}
.news-box h3 {
  color: #fff;
  margin: 0 0 0.5rem;
}
@media (min-width: 1200px) {
  .news-box h3 {
    margin: 0 0 1.5625rem;
  }
}
.news-box .link-arrow {
  color: #fff;
  border-color: #fff;
}
.news-box p {
  margin: 0 0 0.5rem;
}

.handwerk-section {
  padding: 9.0625rem 0 0;
  position: relative;
  /*&:before {
  	content: '';
  	position: absolute;
  	top: rem-calc(-40);
  	left: 0;
  	right: 0;
  	background: $white;
  	height: rem-calc(150);
  	transform: skewY(5.4deg);

  	@include media ('>=tablet') {
  		height: rem-calc(300);
  		top: rem-calc(-100);
  	}
  }*/
}
@media (min-width: 768px) {
  .handwerk-section {
    padding: 6.0625rem 0 2.6875rem;
  }
}
@media (min-width: 992px) {
  .handwerk-section {
    padding: 9.0625rem 0 2.6875rem;
  }
}
@media (min-width: 1200px) {
  .handwerk-section {
    padding: 13.6875rem 0 2.6875rem;
  }
}
.handwerk-section:after {
  content: "";
  position: absolute;
  bottom: -3.75rem;
  left: 0;
  right: 0;
  background: #fff;
  height: 12.5rem;
  transform: skewY(-6deg);
  z-index: 2;
}
@media (min-width: 768px) {
  .handwerk-section:after {
    bottom: -6.5625rem;
    height: 18.75rem;
    transform: skewY(-6deg);
  }
}
@media (min-width: 1200px) {
  .handwerk-section:after {
    bottom: -6.625rem;
  }
}
.handwerk-section .container {
  position: relative;
  z-index: 9;
}
@media (min-width: 1200px) {
  .handwerk-section h2.text-warning {
    margin: 0 0 1.5rem;
  }
}

@media (min-width: 768px) {
  .services-block {
    padding: 1.5625rem 0;
  }
}
@media (min-width: 992px) {
  .services-block {
    padding: 3.5625rem 0;
  }
}
.services-block h2 {
  margin: 0 0 0.75rem;
}
@media (min-width: 768px) {
  .services-block h2 {
    margin: 0 0 2.1875rem;
  }
}
.services-block .text-block {
  color: #fff;
  padding: 0 0.625rem 0.9375rem;
}
@media (min-width: 992px) {
  .services-block .text-block {
    padding: 0;
    overflow-y: auto;
    height: calc(100% - 30px);
  }
}
.services-block .text-block p {
  margin: 0 0 0.5rem;
}
@media (min-width: 992px) {
  .services-block .text-block p {
    margin: 0 0 1rem;
  }
}
.services-block .box {
  margin: 0 0.9375rem 0.5rem;
  width: 100%;
}
@media (min-width: 992px) {
  .services-block .box {
    position: relative;
    text-align: center;
    background: #575756;
    margin-bottom: 1.875rem;
    min-height: 14.125rem;
    color: #fff;
    width: calc(25% - 30px);
  }
}
@media (min-width: 1200px) {
  .services-block .box {
    min-height: 16.25rem;
    width: calc(20% - 30px);
  }
}
@media (max-width: 991px) {
  .services-block .box.active h3 {
    background: black;
  }
}
.services-block .box.active h3:after {
  transform: rotate(-180deg);
}
.services-block .box:hover {
  cursor: pointer;
}
@media (min-width: 992px) {
  .services-block .box:hover .overlay {
    opacity: 1;
    visibility: visible;
  }
}
.services-block .box span {
  display: block;
  padding: 0 0.9375rem;
}
@media (min-width: 768px) {
  .services-block .box span {
    padding: 1.0625rem 1.25rem 2rem;
  }
}
@media (min-width: 992px) {
  .services-block .box span {
    padding-bottom: 1rem;
    font-size: 1.125rem;
  }
}
@media (min-width: 1200px) {
  .services-block .box span {
    padding-bottom: 2rem;
  }
}
.services-block .box h3 {
  transition: background 0.3s linear;
  position: relative;
  padding: 0.625rem 1.875rem 0.625rem 0.625rem;
  color: #fff;
  background: #575756;
  margin: 0;
  font-size: 1rem;
}
@media (min-width: 992px) {
  .services-block .box h3 {
    text-transform: uppercase;
    word-wrap: break-word;
    background: transparent;
    width: 16.875rem;
    z-index: 99;
    font-weight: 800;
    position: absolute;
    padding: 0 1.25rem 0 1.25rem;
    bottom: 0.5rem;
    left: 50%;
    transform: translateX(-50%);
  }
}
.services-block .box h3:after {
  transition: transform 0.3s linear;
  content: "\f063";
  position: absolute;
  top: 0.625rem;
  right: 0.625rem;
  color: #fff;
  transform: rotate(0);
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
}
@media (min-width: 992px) {
  .services-block .box h3:after {
    display: none;
  }
}
.services-block .box .slide {
  background: black;
}
@media (min-width: 992px) {
  .services-block .box .slide {
    background: transparent;
  }
}
@media (max-width: 991px) {
  .services-block .box .slide .icon-block {
    text-align: center;
  }
}
@media (max-width: 991px) {
  .services-block .box .slide img {
    max-width: 50%;
  }
}
@media (min-width: 992px) {
  .services-block .box .overlay {
    transition: opacity 0.3s linear, visibility 0.3s linear;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    font-size: 1.125rem;
    line-height: 1.38095238;
    text-align: center;
    padding: 1.375rem 0.9375rem 2.625rem;
    background: black;
    color: #fff;
    opacity: 0;
    visibility: hidden;
  }
}

.betriebe-section {
  position: relative;
  background: #efefef;
  padding: 8.125rem 0 0;
  padding-bottom: 10rem;
  /*padding: rem-calc(145 0 0);
  @extend %clearfix;

  @include media ('>=tablet') {
  	padding: rem-calc(97 0 160);
  }

  @include media ('>=desktop') {
  	padding: rem-calc(145 0 160);
  }

  @include media ('>=widescreen') {
  	padding: rem-calc(219 0 187);
  }*/
}
@media (min-width: 768px) {
  .betriebe-section {
    padding: 15.625rem 0 0;
    padding-bottom: 10rem;
  }
}
@media (min-width: 992px) {
  .betriebe-section {
    padding: 15.625rem 0 4.125rem;
    padding-bottom: 15rem;
  }
}
@media (min-width: 1200px) {
  .betriebe-section {
    padding: 21.875rem 0 4.125rem;
    padding-bottom: 15rem;
  }
}
.betriebe-section h2 {
  margin: 0 0 1.0625rem;
}
@media (min-width: 1200px) {
  .betriebe-section p {
    margin: 0 0 4.0625rem;
  }
}
.betriebe-section form {
  width: 100%;
  margin: 0 0 1.5625rem;
}
@media (min-width: 768px) {
  .betriebe-section form {
    display: flex;
    align-items: flex-start;
    margin: 0 0 2.5rem;
  }
}
@media (min-width: 1200px) {
  .betriebe-section form {
    margin: 0 5.625rem 5rem 0;
  }
}
.betriebe-section form .form-control {
  border-width: 3px;
}
@media (min-width: 768px) {
  .betriebe-section form .form-control {
    margin: 0 1.875rem 0 0;
  }
}
.betriebe-section form .btn {
  width: 100%;
}
@media (min-width: 576px) {
  .betriebe-section form .btn {
    width: auto;
  }
}
.betriebe-section .card {
  font-size: 1rem;
  line-height: 1.5;
  border: none;
  border-radius: 0;
  margin: 0 0 0.9375rem;
}
@media (min-width: 768px) {
  .betriebe-section .card {
    font-size: 1.125rem;
    line-height: 1.4;
    margin: 0 0 1.875rem;
  }
}
.betriebe-section .card .card-body {
  padding: 1.25rem 0.75rem 1.4375rem;
}
@media (min-width: 768px) {
  .betriebe-section .card .card-body {
    padding: 1.25rem 1.25rem 1.4375rem;
  }
}
.betriebe-section .card h4 {
  font-weight: 800;
  margin: 0;
}
@media (min-width: 768px) {
  .betriebe-section .card ul {
    margin: 0 0 1.125rem;
  }
}
.betriebe-section .card address {
  margin: 0;
}
.betriebe-section .card a {
  transition: color 0.3s linear;
  color: #575756;
}
.betriebe-section .card a.link-maps {
  text-transform: uppercase;
  color: #4b4b4b;
  font-weight: 800;
  border-bottom: 0.1875rem solid #575756;
}
.betriebe-section .card a.link-arrow {
  transition: border-color 0.3s linear;
}
.betriebe-section .card a.link-arrow:hover {
  border-bottom-color: transparent;
  color: #575756;
}
.betriebe-section .card a:hover {
  color: black;
}

.ausbildung-section {
  position: relative;
  padding: 9.0625rem 0 0;
  padding: 9.0625rem 0 0;
  overflow: hidden;
}
@media (min-width: 768px) {
  .ausbildung-section {
    padding: 6.0625rem 0 10rem;
  }
}
@media (min-width: 992px) {
  .ausbildung-section {
    padding: 9.0625rem 0 10rem;
  }
}
@media (min-width: 1200px) {
  .ausbildung-section {
    padding: 13.6875rem 0 11.6875rem;
  }
}
.ausbildung-section:before {
  content: "";
  position: absolute;
  top: -3.75rem;
  left: 0;
  right: 0;
  background: #efefef;
  height: 9.375rem;
  transform: skewY(8deg);
  z-index: 1;
}
@media (min-width: 768px) {
  .ausbildung-section:before {
    top: -10.25rem;
  }
}
@media (min-width: 768px) {
  .ausbildung-section:before {
    height: 18.75rem;
    top: -10.25rem;
  }
}
@media (min-width: 768px) {
  .ausbildung-section {
    padding: 6.0625rem 0 10rem;
  }
}
@media (min-width: 992px) {
  .ausbildung-section {
    padding: 9.0625rem 0 10rem;
  }
}
@media (min-width: 1200px) {
  .ausbildung-section {
    padding: 13.6875rem 0 11.6875rem;
  }
}
.ausbildung-section .container {
  padding: 0;
  max-width: 100%;
}
.ausbildung-section .left-col {
  padding: 0 0.9375rem 2.5rem;
}
@media (min-width: 768px) {
  .ausbildung-section .left-col {
    float: left;
    width: 55%;
    padding-right: 0;
    padding-bottom: 0;
    padding-left: 1.25rem;
  }
}
@media (min-width: 992px) {
  .ausbildung-section .left-col {
    width: 50%;
  }
}
@media (min-width: 1500px) {
  .ausbildung-section .left-col {
    padding-left: calc((100vw - 1296px) / 2);
    width: 53%;
  }
}
.ausbildung-section .left-col .link-arrow {
  font-size: 1rem;
  line-height: 1.5;
}
@media (min-width: 768px) {
  .ausbildung-section .left-col .link-arrow {
    font-size: 1.125rem;
    line-height: 1.38095238;
  }
}
@media (min-width: 1200px) {
  .ausbildung-section p {
    margin: 0 0 2.5rem;
  }
}
@media (min-width: 992px) {
  .ausbildung-section .list-arrow {
    line-height: 1.8095238;
  }
}
.ausbildung-section .list-arrow li:before {
  top: 0.375rem;
}
.ausbildung-section .right-col {
  background: #efefef;
  padding: 0 0 8.125rem;
  position: relative;
}
@media (min-width: 768px) {
  .ausbildung-section .right-col {
    float: right;
    width: 40%;
    padding: 0 0 4.6875rem;
  }
}
@media (min-width: 992px) {
  .ausbildung-section .right-col {
    width: 45%;
  }
}
@media (min-width: 1200px) {
  .ausbildung-section .right-col {
    width: 37%;
    padding: 0 0 9.8125rem;
  }
}
.ausbildung-section .right-col:before {
  content: "";
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: #efefef;
  height: 999px;
}
.ausbildung-section .right-col .img-block {
  margin: 0 0 2.5rem;
}
@media (min-width: 768px) {
  .ausbildung-section .right-col .img-block {
    margin: -0.9375rem 0 1.875rem;
  }
}
@media (min-width: 992px) {
  .ausbildung-section .right-col .img-block {
    margin: -3.9375rem 0 3.75rem;
  }
}
.ausbildung-section .right-col .img-block img {
  width: 100%;
}
.ausbildung-section .right-col .text-block {
  font-size: 1.25rem;
  line-height: 1.3846153;
  padding: 0 0.9375rem;
  font-weight: 800;
  text-align: center;
}
@media (min-width: 768px) {
  .ausbildung-section .right-col .text-block {
    max-width: 24.375rem;
  }
}
@media (min-width: 992px) {
  .ausbildung-section .right-col .text-block {
    font-size: 1.625rem;
    padding: 0;
    margin: 0 0 0 2.1875rem;
  }
}
.ausbildung-section .right-col .text-block p {
  margin: 0 0 2.5rem;
}
@media (min-width: 992px) {
  .ausbildung-section .right-col .text-block p {
    text-align: left;
    margin: 0 0 3.5rem;
  }
}
.ausbildung-section #ausbildung {
  padding: 30px 0 90px;
}

.js-tab-hidden {
  display: block !important;
  left: -9999px !important;
  position: absolute !important;
  top: -9999px !important;
}

@keyframes fadeInLogo {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.datenschutz-section {
  position: relative;
  padding: 12.5rem 0 18.75rem 0;
}
.datenschutz-section a {
  color: black;
}

.btn-black {
  background-color: black;
  color: white;
  margin-top: 1em;
}

#footer {
  background: black;
  position: relative;
  color: #fff;
  z-index: 3;
  font-size: 1rem;
  line-height: 1.38095238;
  padding: 2.5rem 0 2.5rem;
}
@media (min-width: 768px) {
  #footer {
    font-size: 1.125rem;
    padding: 3.75rem 0 3.75rem;
  }
}
@media (min-width: 1200px) {
  #footer {
    padding: 9.375rem 0 9.375rem;
  }
}
#footer h3 {
  text-transform: uppercase;
  margin: 0 0 0.9375rem;
}
@media (min-width: 768px) {
  #footer h3 {
    margin: 0 0 1.625rem;
  }
}
#footer ul {
  margin: 0 0 1.25rem;
}
@media (min-width: 768px) {
  #footer ul {
    margin: 0 0 2.3125rem;
  }
}
#footer ul.list-arrow {
  line-height: 1.38095238;
  margin: 0;
}
@media (min-width: 768px) {
  #footer ul.list-arrow {
    font-size: 1.125rem;
    margin: 0;
  }
}
#footer ul a:hover {
  color: black;
}
#footer address {
  margin: 0;
}
#footer a {
  color: #fff;
}
#footer a.link-arrow {
  display: inline-block;
  vertical-align: middle;
  border-color: #fff;
  margin: 0 0 2.1875rem;
}
@media (min-width: 992px) {
  #footer a.link-arrow {
    margin: 0;
  }
}
#footer a.link-arrow:hover {
  border-color: transparent;
}
#footer p {
  margin: 0 0 0.75rem;
}
@media (min-width: 768px) {
  #footer p {
    margin: 0 0 2.375rem;
  }
}
#footer .collapse-block {
  padding: 2.1875rem 0 0;
  font-size: 1rem;
}
#footer .collapse-block strong {
  display: block;
}
#footer .collapse-block p {
  margin: 0 0 1rem;
}
#footer .collapse-block p:last-child {
  margin: 0 0 1.875rem;
}
@media (min-width: 992px) {
  #footer .collapse-block p:last-child {
    margin: 0;
  }
}
#footer .link-top {
  position: absolute;
  top: -3.125rem;
  right: 0.9375rem;
  color: #fff;
  font-size: 1.75rem;
}
@media (min-width: 768px) {
  #footer .link-top {
    top: -5.9375rem;
    right: 1.5625rem;
    font-size: 2rem;
  }
}
@media (min-width: 992px) {
  #footer .link-top {
    font-size: 2.5rem;
  }
}
@media (min-width: 1200px) {
  #footer .link-top {
    top: -13.125rem;
    right: 5.8125rem;
  }
}
#footer .link-top:hover {
  color: black;
}
#footer .collapse-block {
  margin: 0 0 3.125rem 0;
}
#footer .collapse-block.show, #footer .collapse-block.collapsing, #footer .collapse-block.collapse {
  padding-top: 0;
}

.impressum-link, .datenschutz-link {
  margin: 0 0 1.25rem !important;
}
@media (min-width: 768px) {
  .impressum-link, .datenschutz-link {
    margin: 0 0 2.3125rem !important;
  }
}

.collapse-block {
  margin: 0 0 3.125rem 0;
}
.collapse-block.show, .collapse-block.collapsing, .collapse-block.collapse {
  padding-top: 0;
}

.datenschutz-link {
  display: block;
}

.accept-link {
  font-weight: 700;
}
.accept-link:hover {
  color: black !important;
}

.privacy-link {
  transition: color 0.3s linear;
  color: #575756;
}
.privacy-link.link-maps {
  text-transform: uppercase;
  color: #4b4b4b;
  font-weight: 800;
  border-bottom: 0.1875rem solid #575756;
}
.privacy-link.link-arrow {
  transition: border-color 0.3s linear;
}
.privacy-link.link-arrow:hover {
  border-bottom-color: transparent;
  color: #575756;
}
.privacy-link:hover {
  color: black;
}

/*# sourceMappingURL=main.css.map */
