@font-face {
    font-family: 'Patua One';
    src: url('../Fonts/PatuaOne.ttf');
}

@font-face {
    font-family: 'Roboto 400';
    src: url('../Fonts/Roboto-400.ttf');
}

@font-face {
    font-family: 'Roboto 700';
    src: url('../Fonts/Roboto-700.ttf');
}

* {
    backface-visibility: hidden;
    color: #000;
    cursor: default;
    font-family: 'Roboto 400', sans-serif;
    font-size: 18px;
    font-weight: normal;
    line-height: 1.6rem;
    margin: 0;
    outline: none;
    padding: 0;
    -moz-text-size-adjust: none;
    -ms-text-size-adjust: none;
    -webkit-text-size-adjust: none;
}

h1 {
    display: none;
}

h2,
h2 span {
    color: #f22727;
    display: inline-block;
    font-family: 'Patua One', cursive;
    font-size: 2.4rem;
    font-weight: normal;
    line-height: 2.8rem;
}

.content-container.content-container--red-white-h h2,
.content-container.content-container--red-white-h h2 span {
    font-size: 3rem;
    line-height: 3.6rem;
}

h2 span {
    color: #000;
}

h2::after {
    background-color: #000;
    content: '';
    display: block;
    height: .3rem;
    margin-top: 0.5rem;
    width: 3rem;
}

.content-container.content-container--red-white-h h2::after {
    height: .5rem;
    margin-top: 1rem;
    width: 5.5rem;
}

h2 + p {
    margin-top: 2rem;
}

h3 {
    font-family: 'Roboto 700', sans-serif;
    font-size: 1.6rem;
    font-weight: normal;
    line-height: 1.8rem;
    margin-bottom: 2rem;
    margin-top: 4rem;
}

h4 {
    font-family: 'Roboto 700', sans-serif;
    font-weight: normal;
    margin-bottom: 1rem;
    margin-top: 2rem;
}

a {
    color: inherit;
    cursor: pointer;
    display: inline-block;
    height: auto;
    text-decoration: none;
    width: auto;
}

a,
a::before,
a::after,
.box {
    transition: all .3s ease-in-out;
}

a img {
    cursor: pointer;
}

.clearbreak {
    clear: both;
}

.to-top {
    background-image: url('/Resources/Public/Images/Icons/Pfeil-oben.svg');
    background-position: center;
    background-repeat: no-repeat;
    background-size: 2.8rem auto;
    bottom: 1.3rem;
    cursor: pointer;
    display: block;
    height: 3rem;
    position: fixed;
    right: -4.3rem;
    transition: right .3s ease-in-out;
    width: 3rem;
}

.to-top.active {
    right: 1.3rem;
}

#top {
    display: none;
}

.anchor {
    cursor: default;
    display: block;
    padding-top: 8rem;
}

.anchor.anchor--type-1 {
    margin-top: 0;
    padding-top: 16rem;
}

.anchor.anchor--type-2 {
    margin-top: -8rem;
    padding-top: 8rem;
}

.btn {
    display: inline-block;
    font-family: 'Roboto 700', sans-serif;
    font-weight: normal;
    text-transform: uppercase;
    margin-right: 2rem;
    margin-top: 2rem;
    padding: .5rem .75rem;
}

.btn.btn--type-1 {
    background-color: #f22727;
    box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
    color: #fff;
}

.btn.btn--type-1:hover {
    box-shadow: 0 15px 40px -15px rgba(0, 0, 0, .6);
    transform: translateY(-.15rem);
}

.btn.btn--type-2 {
    color: #f22727;
    padding-left: 0;
    padding-right: 0;
}

.btn.btn--type-2:hover {
    color: #000;
}

.content-container.content-container--red {
    background-color: #f5e4e4;
}

.content-container.content-container--greyred {
    background-color: #e5d8d8;
}

.content-container.content-container--grey {
    background-color: #ababab;
}

.content-container.content-container--red-white-h {
    background: linear-gradient(to right, #f5e4e4 50%, #fff 50%);
}

.content-container.content-container--red-white-h .content {
    background: linear-gradient(to right, #f5e4e4 66.65%, #fff 33.35%);
}

.content-container.content-container--red-white-h .content h2 {
    margin-top: 2rem;
}

.content-container.content-container--red-white-v {
    background: linear-gradient(to bottom, #f5e4e4 75%, #fff 75%);
}

.content-container .content {
    margin: 0 auto;
    max-width: calc(100% - 4rem);
    padding: 4rem 0;
    position: relative;
    width: 1300px;
}

.content-container.content-container--red-white-v .content {
    padding-bottom: 0;
}

header {
    background-color: transparent;
    position: fixed;
    top: 0;
    transition: all .3s ease-in-out;
    width: 100%;
    z-index: 10;
}

header.scrolled {
    background-color: #fff;
}

header .content-container .content {
    padding: 2rem 0;
}

header .content,
header .logo,
header .logo img {
    height: 4rem;
}

header nav.main {
    bottom: calc(2rem - .9rem);
    position: absolute;
    right: 33.35%;
}


header nav.main a {
    color: #f22727;
    display: inline-block;
    font-family: 'Roboto 700', sans-serif;
    font-weight: normal;
    margin: 0 .25rem;
    padding: .5rem .75rem;
    position: relative;
    text-transform: uppercase;
    z-index: 1;
}

header nav.main a:last-child {
    display: none;
}

header nav.main a:hover,
header nav.main a.active {
    color: #fff;
}


header nav.main a:before {
    background-color: #f22727;
    bottom: 0;
    color: transparent;
    content: '';
    display: block;
    height: 0;
    left: 0;
    margin: auto;
    position: absolute;
    right: 0;
    top: 0;
    width: 100%;
    z-index: -1;
}
header nav.main a.active:before,
header nav.main a:hover:before {
    height: 100%;
}

header nav.main a:first-child {
    margin-left: 0;
}

header nav.main a:nth-child(4) {
    margin-right: .5rem;
}

header .tel {
    background-image: url('/Resources/Public/Images/Icons/Telefon.svg');
    background-position: left center;
    background-repeat: no-repeat;
    background-size: auto .9rem;
    bottom: 1.1rem;
    font-family: 'Roboto 700', sans-serif;
    font-weight: normal;
    left: 66.65%;
    margin-left: 1.25rem;
    padding: .5rem 0 .5rem 1.4rem;
    position: absolute;
}

header .tel:hover {
    color: #f22727;
}

main .content-container:first-child .content {
    padding-top: 12rem !important; /* 8rem Header + 4rem normaler Padding */
}

main .content-container .content p {
    hyphens: auto;
}

main .content-container .content p a {
    color: #f22727;
}

main .content-container .content p + p {
    margin-top: 1rem;
}

main .content-container .content ul {
    display: table;
    list-style: none;
    margin: 1rem 0;
}

main .content-container .content ul li {
    display: table-row;
}

main .content-container .content ul li::before {
    content: '•';
    display: table-cell;
    padding-right: .5rem;
}

main div.txt {
    float: left;
    width: calc(66.65% - 6rem);
}

main div.img {
    display: block;
    float: left;
    padding-top: 30%;
    position: relative;
    width: 30%;
}

main div.img > img {
    bottom: -.8rem;
    height: 1.6rem;
    left: 30%;
    position: absolute;
    transition: all .3s ease-in-out;
}

main div.img:hover > img {
    left: 18%;
}

main div.img > div {
    border-radius: 2rem;
    display: block;
    height: 100%;
    left: 0;
    overflow: hidden;
    position: absolute;
    top: 0;
    width: 100%;
    will-change: transform;
}

main div.img > div img {
    filter: grayscale(30%);
    height: 100%;
    position: absolute;
    right: 0;
    top: 0;
    transition: all .3s ease-in-out;
}

main div.img:hover > div img {
    filter: grayscale(0);
    right: -35%;
}

main .partner-container {
    background-color: #fff;
    box-shadow: 0 0 50px 0 rgba(0, 0, 0, .15);
    display: none;
    left: 50%;
    max-width: calc(100vw - 4rem);
    padding: 2rem 4rem 3.2rem;
    position: absolute;
    top: 0;
    transform: translateX(-50%) translateY(-50%);
    width: calc(100% + 8rem);
}

main .partner-container.slick-initialized {
    display: block;
}

main .partner-container .slick-prev,
main .partner-container .slick-next {
    background-color: transparent;
    background-image: url('/Resources/Public/Images/Icons/Pfeil-links.svg');
    background-position: center;
    background-repeat: no-repeat;
    background-size: 1rem auto;
    border: none;
    cursor: pointer;
    display: block;
    font-size: 0;
    height: 2rem;
    left: 1rem;
    opacity: .3;
    position: absolute;
    top: 50%;
    transition: all .3s ease-in-out;
    transform: translateY(-50%);
    width: 2rem;
}

main .partner-container .slick-next {
    background-image: url('/Resources/Public/Images/Icons/Pfeil-rechts.svg');
    left: auto;
    right: 1rem;
}

main .partner-container .slick-prev:hover,
main .partner-container .slick-next:hover {
    opacity: 1;
}

main .partner-container .partner {
    display: inline-block;
    text-align: center;
}

main .partner-container .partner a {
    filter: grayscale(100%);
}

main .partner-container .partner a:hover {
    filter: grayscale(0);
}

main .partner-container .partner a img {
    height: 5rem;
    margin: 0 auto;
}

main .partner-container + .box {
    margin-top: 8rem;
}

main .history {
    margin-top: 4rem;
    padding: 0 8rem;
}

main .history div {
    background-image: url('/Resources/Public/Images/Icons/Email.svg');
    background-repeat: no-repeat;
    background-position: left .2rem;
    background-size: 1.2rem auto;
    font-size: .8rem;
    line-height: 1rem;
    margin-top: 2rem;
    padding-left: 2.25rem;
}

main .history div:first-child {
    background-image: url('/Resources/Public/Images/Icons/Koffer.svg');
}

main .history div:nth-child(2) {
    background-image: url('/Resources/Public/Images/Icons/Feuer.svg');
    background-size: 1rem auto;
}

main .history div:nth-child(3) {
    background-image: url('/Resources/Public/Images/Icons/Personen.svg');
}

main .history div:nth-child(4) {
    background-image: url('/Resources/Public/Images/Icons/Person.svg');
    background-size: 1.1rem auto;
}

main .history div span {
    color: #f22727;
    display: block;
    font-family: 'Roboto 700', sans-serif;
    font-weight: normal;
}

main .content-container .box p {
    hyphens: none;
}

main .content-container.content-container--red .content {
    padding-bottom: 8rem;
    padding-top: 8rem;
}

main .content-container.content-container--red-white-v .box {
    background-color: #fff;
    border-top-left-radius: 2rem;
    border-top-right-radius: 2rem;
    box-shadow: 0 -25px 40px -25px rgba(242, 39, 39, .4);
    padding: 8rem 16rem 8rem;
    position: relative;
}

main .content-container.content-container--red-white-v .box > img {
    bottom: -8rem;
    height: 20rem;
    position: absolute;
    right: 8rem;
}

main .content-container.content-container--white.content-container--white--type-1 .content {
    padding: 0;
}

main .content-container.content-container--white.content-container--white--type-2 .content {
    padding-bottom: 0;
}

main .content-container.content-container--white .box,
main .content-container.content-container--red .box {
    background-color: #f3f3f3;
    border-radius: 2rem;
    box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
    display: flex;
    flex-wrap: wrap;
    margin: 4rem 8rem;
    padding: 4rem;
}

main .content-container.content-container--white .box {
    padding-bottom: 2rem;
    padding-top: 2rem;
}

main .content-container.content-container--white .box:hover,
main .content-container.content-container--red .box:hover {
    box-shadow: 0 20px 40px -20px rgba(242, 39, 39, 1);
    transform: translateY(-.15rem);
}

main .content-container.content-container--white .box > div:first-child,
main .content-container.content-container--white .box > div:nth-child(2),
main .content-container.content-container--red .box > div:first-child,
main .content-container.content-container--red .box > div:nth-child(2) {
    box-sizing: border-box;
    position: relative;
    width: 50%;
}

main .content-container.content-container--white .box > div:nth-child(2) {
    padding-left: 2rem;
}

main .content-container.content-container--white .box > div:nth-child(2) h2 {
    margin-top: 20%;
}

main .content-container.content-container--red .box > div:first-child a {
    background-position: left center;
    background-repeat: no-repeat;
    background-size: auto .9rem;
    color: #000;
    font-family: 'Roboto 700', sans-serif;
    font-weight: normal;
    padding-left: 1.4rem;
}

main .content-container.content-container--white .box > div:first-child img {
    width: calc(100% - 2rem);
}

main .content-container.content-container--red .box > div:first-child a:hover {
    color: #f22727;
}

main .content-container.content-container--red .box > div:first-child a.tel {
    background-image: url('/Resources/Public/Images/Icons/Telefon.svg');
}

main .content-container.content-container--red .box > div:first-child a.email {
    background-image: url('/Resources/Public/Images/Icons/Email.svg');
}

main .content-container.content-container--red .box > div:nth-child(2) img {
    bottom: -4rem;
    left: 0;
    position: absolute;
    width: 100%;
}

main .content-container .text-box {
    padding: 0 16rem;
}

main .content-container .teaser-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 0 -2rem;
}

main .content-container .teaser-container .teaser {
    margin: 8rem 2rem 0;
    text-align: center;
    transition: all .3s ease-in-out;
    width: calc(33.333% - 4rem);
    will-change: transform;
}

main .content-container .teaser-container.teaser-container--type-1 .teaser {
    opacity: .4;
}

main .content-container .teaser-container.teaser-container--type-1 .teaser:hover {
    opacity: 1;
}

main .content-container .teaser-container.teaser-container--type-1 .teaser img {
    height: 4rem;
    margin-bottom: 1rem;
    transform: scale(.8);
    transition: all .3s ease-in-out;
}

main .content-container .teaser-container.teaser-container--type-1 .teaser:hover img {
    transform: scale(1);
}

main .content-container .teaser-container.teaser-container--type-1 .teaser p {
    hyphens: none;
    padding: .5rem 0 0;
    transition: all .3s ease-in-out;
}

main .content-container .teaser-container.teaser-container--type-1 .teaser:hover p {
    padding: 0 0 .5rem;
}

main .content-container .teaser-container.teaser-container--type-1 .teaser p span {
    display: inline-block;
    font-size: .8rem;
    line-height: 1.4rem;
}

main .content-container .teaser-container.teaser-container--type-2 .teaser p {
    font-family: 'Roboto 700', sans-serif;
    font-weight: normal;
}

main .content-container .teaser-container.teaser-container--type-2 .teaser p span {
    color: #f22727;
    display: block;
    font-family: 'Roboto 700', sans-serif;
    font-weight: normal;
    margin: .25rem 0;
}

main .content-container .teaser-container.teaser-container--type-2 .teaser img {
    border-radius: 1rem;
    box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
    filter: grayscale(30%);
    transition: all .3s ease-in-out;
    width: 100%;
}

main .content-container .teaser-container.teaser-container--type-2 .teaser:hover img {
    box-shadow: 0 20px 40px -20px rgba(242, 39, 39, 1);
    filter: grayscale(0);
    transform: translateY(-.15rem);
}

footer .content-container.content-container--greyred .content {
    padding-bottom: 3rem;
    padding-top: 3rem;
}

footer .content-container.content-container--greyred .content span {
    float: left;
    font-family: 'Roboto 700', sans-serif;
    font-weight: normal;
}

footer .content-container.content-container--greyred .content nav {
    float: right;
}

footer .content-container.content-container--greyred .content nav a {
    font-family: 'Roboto 700', sans-serif;
    font-weight: normal;
    margin-left: 2rem;
}

footer .content-container.content-container--greyred .content nav a:first-child {
    margin-left: 0;
}

footer .content-container.content-container--grey {
    text-align: center;
}

footer .content-container.content-container--grey .content {
    padding-bottom: 2rem;
    padding-top: 2rem;
}

footer .content-container.content-container--grey .content a {
    display: inline-block;
}

footer .content-container.content-container--grey .content a {
    color: #f3f3f3;
    font-size: .8rem;
}

footer .content-container.content-container--grey .content span {
    background-image: url('/Resources/Public/Images/Herz.svg');
    background-position: center;
    background-repeat: no-repeat;
    background-size: auto .8rem;
    cursor: pointer;
    display: inline-block;
    height: .8em;
    width: 1.4rem;
}

.job-offer {
    border-radius: 50%;
    height: 8rem;
    overflow: hidden;
    position: fixed;
    right: 1.3rem;
    top: 50%;
    transform: translateX(120%) translateY(-50%);
    width: 8rem;
}

.job-offer.active {
    transform: translateX(0) translateY(-50%);
}

.job-offer,
.job-offer span {
    cursor: pointer;
}

.job-offer > span:nth-child(1) {
    background-image: url('/Resources/Public/Images/Icons/Jobangebot.svg');
    background-repeat: no-repeat;
    background-size: 100% 100%;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    transform: rotate(0deg);
    width: 100%;
}

.job-offer > span:nth-child(2) {
    box-sizing: border-box;
    display: inline-block;
    font-size: .75rem;
    line-height: 1rem;
    opacity: 1;
    padding: 1rem;
    position: absolute;
    text-align: center;
    top: 50%;
    transform: translateY(-50%);
    transition: opacity .3s ease-in-out;
}

.job-offer > span:nth-child(3) {
    display: none;
}

.job-offer > span:nth-child(4) {
    background-image: url('/Resources/Public/Images/Icons/JobangebotPdf.svg');
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 30% auto;
    height: 100%;
    left: 0;
    opacity: 0;
    position: absolute;
    top: 0;
    transition: opacity .3s ease-in-out;
    width: 100%;
}

.job-offer:hover > span:nth-child(2) {
    opacity: 0;
}

.job-offer:hover > span:nth-child(4) {
    opacity: 1;
}