/* Fonts */
@font-face {
	font-family: 'OpenSans';
	font-style: normal;
	font-weight: 400;
	src: url('../fonts/OpenSans-Regular.ttf') format('ttf');
}

@font-face {
	font-family: 'OpenSans';
	font-style: normal;
	font-weight: 600;
	src: url('../fonts/OpenSans-SemiBold.ttf') format('ttf');
}

@font-face {
	font-family: 'OpenSans';
	font-style: normal;
	font-weight: 700;
	src: url('../fonts/OpenSans-Bold.ttf') format('ttf');
}

html {
    font-family: 'OpenSans';
}

@media (min-width:320px) {
    h1 {
        font-size: 1.8em;
        line-height: 1.2em
    }
    p {
        margin: .618em 0;
        text-align: justify
    }
}

@media (min-width:320px) {
    header {
        padding: 0;
        margin: 0;
        width: 100%
    }
    header .header__bar {
        height: 70px
    }
    header .header__bar--bottom,
    header .header__bar--top {
        height: 35px
    }
    header .header__bar--bgcolor-white {
        background-color: #fff
    }
    header .header__bar--bgcolor-gray {
        background-color: #e6e6e6
    }
    header .header__logo--container {
        position: absolute;
        top: 8vw;
        left: 8vw
    }
    header .header__logo--img {
        display: block;
        margin: 0 auto;
        height: 13vw;
        width: auto
    }
}

@media (min-width:320px) and (orientation:landscape) {
    header .header__logo--container {
        position: absolute;
        top: 3.5vw;
        left: 15vw
    }
    header .header__logo--img {
        display: block;
        height: 8vw;
        width: auto
    }
}

@media (min-width:320px) {
    header .header__img--container {
        display: block;
        width: 100%
    }
    header .header__img--img {
        height: auto;
        width: 100%
    }
    main .recruiting__img--container {
        display: block;
        width: 100%
    }
    main .recruiting__img--img {
        height: auto;
        width: 100%
    }    
}

@media (min-width:768px) {
    header {
        padding: 0;
        margin: 0;
        width: 100%
    }
    header .header__logo--container {
        position: absolute;
        top: 5vw;
        left: 0;
        height: 9.5vw;
        width: 100%
    }
    header .header__logo--img {
        position: relative;
        left: -23vw;
        height: 8vw;
        display: block;
        margin: 0 auto;
        width: auto
    }
    header .header__img--container {
        display: block;
        margin: 0 auto;
        width: 100%
    }
    header .header__img--img {
        height: auto;
        width: 100%
    }
    main .recruiting__img--container {
        display: block;
        margin: 0 auto;
        width: 100%
    }
    main .recruiting__img--img {
        height: auto;
        width: 100%
    }    
}

@media (min-width:992px) {
    header .header__logo--container {
        position: absolute;
        top: 5vw;
        height: 9.5vw;
        width: auto;
        left: calc(50vw - 359px)
    }
    header .header__logo--img {
        position: relative;
        left: 0;
        height: 8vw;
        display: block;
        margin: 0;
        width: auto
    }
}

@media (min-width:1200px) {
    header .header__logo--container {
        left: calc(50vw - 504px)
    }
    header .header__logo--img {
        position: relative;
        left: 0;
        height: 8vw;
        max-height: 120px;
        display: block;
        margin: 0;
        width: auto
    }
}

@media (min-width:320px) {
    .gallery {
        margin: 0;
        padding: 0;
        width: auto
    }
    .gallery__container {
        max-width: 992px;
        width: 100%
    }
    .gallery__container--img {
        display: inline-block;
        margin: 0;
        padding: .5em 0;
        height: auto;
        width: 100%;
        box-sizing: border-box
    }
    .gallery__container--img:first-child {
        padding-top: 0
    }
    .gallery__container--img:last-child {
        padding-bottom: 0
    }
    .gallery__container--img img {
        width: 100%
    }
}

@media (min-width:768px) {
    .gallery__container--img {
        text-align: justify;
        margin: 0 -.1px;
        padding: 0 .5em;
        vertical-align: top;
        width: 33%
    }
    .gallery__container--img:first-child {
        padding-left: 0
    }
    .gallery__container--img:last-child {
        padding-right: 0
    }
}

@media (min-width:992px) {
    .gallery {
        margin: 0 auto;
        max-width: 992px
    }
    .gallery__container--img {
        text-align: justify;
        margin: 0;
        padding: 0 .5em;
        height: auto;
        width: 327.66667px
    }
    .gallery__container--img:first-child {
        padding-left: 0
    }
    .gallery__container--img:last-child {
        padding-right: 0
    }
}

@media (min-width:320px) {
    .cfm-list__row {
        display: inline-block;
        padding: 0 0 2em;
        border-bottom: 1px solid #e6e6e6;
        width: 100%
    }
    .cfm-list__row--odd {
        background: #e6e6e6;
        flex-direction: column
    }
    .cfm-list__row--even {
        background: #fff;
        flex-direction: column-reverse
    }
    .cfm-list__layout--center {
        margin: 0 auto;
        text-align: center
    }
    .cfm-list__content {
        display: flex;
        margin: 0 auto;
        max-width: 992px;
        flex-direction: inherit
    }
    .cfm-list__section {
        width: 100%;
        -ms-flex: 0 0 auto
    }
    .cfm-list__section--img {
        max-width: 400px;
        width: 100%
    }
    .cfm-list__section--img img {
        height: auto;
        width: 100%
    }
    .cfm-list__section--left,
    .cfm-list__section--one-third,
    .cfm-list__section--right {
        width: 100%
    }
    .cfm-list__item {
        font-size: 20px;
        line-height: 1.5em;
        text-align: left
    }
    .cfm-list__item--title {
        font-size: 1.5em;
        font-weight: 700;
        list-style: none;
        margin: 0 0 .25em -1em
    }
    .recruiting .cfm-list__item {
        font-size: large;
        line-height: 1.5em;
        text-align: left
    }
    .recruiting .cfm-list__item--title {
        font-size: x-large;
        font-weight: 300;
        list-style: none;
        color: #d88c00;
        margin: 10px 0 .25em -1em
    }    
}

@media (min-width:768px) {
    .cfm-list__row {
        padding: 2em 0;
        border-bottom: none
    }
    .cfm-list__row--even,
    .cfm-list__row--odd {
        flex-direction: row
    }
    .cfm-list__section--img {
        max-width: 400px;
        width: 100%
    }
    .cfm-list__section--img img {
        height: auto;
        width: 100%
    }
    .cfm-list__section.section--left {
        padding: 0 1.5em 0 0;
        width: 50%
    }
    .cfm-list__section.section--right {
        padding: 0 0 0 1.5em;
        width: 50%
    }
    .cfm-list__section.section--one-third {
        padding: 0 1.5em 0 0;
        width: 33%
    }
    .cfm-list__item {
        font-size: 1.5em;
        line-height: 1.5em;
        text-align: left
    }
    .cfm-list__item--title {
        font-size: 1.75em;
        font-weight: 700;
        list-style: none;
        margin: 0 0 .25em -1em
    }
    .recruiting .cfm-list__item {
        font-size: large;
        line-height: 1.5em;
        text-align: left
    }
    .recruiting .cfm-list__item--title {
        font-size: x-large;
        font-weight: 300;
        list-style: none;
        color: #d88c00;
        margin: 0 0 .25em -1em
    }    
}

@media (min-width:320px) {
    .cfm-pulsate {
        animation-delay: 0s;
        animation-duration: 6s;
        animation-iteration-count: infinite;
        animation-name: pulse;
        animation-timing-function: ease-in-out
    }
    .cfm-eyecatcher {
        background-color: #000;
        margin: 0;
        padding: 1.5em 0;
        position: relative;
        width: 100%;
        text-align: center
    }
    .cfm-eyecatcher__type--button {
        cursor: pointer;
        position: relative;
        display: inline-block;
        margin: 0;
        height: 180px;
        width: 180px
    }
    .cfm-button--color-black {
        background-color: #353535;
        color: #e6e6e6
    }
    .cfm-button--border-gray:after {
        content: " ";
        position: absolute;
        top: 5px;
        left: 5px;
        display: block;
        border: 1px solid #e6e6e6;
        border-radius: 50%;
        height: calc(100% - 12px);
        width: calc(100% - 12px);
        animation-delay: .1s;
        animation-duration: 6s;
        animation-iteration-count: infinite;
        animation-name: pulse;
        animation-timing-function: ease-in-out
    }
    .cfm-button__circle {
        border-radius: 50%
    }
    .cfm-button__text {
        font-weight: 600;
        font-size: 1em;
        display: table-cell;
        height: 180px;
        padding: .5em 1.25em 0;
        vertical-align: middle;
        width: 180px;
        transform: rotate(0deg)
    }
    .cfm-button__text--center {
        text-align: center
    }
}

@media (min-width:768px) {
    .cfm-pulsate {
        animation-delay: 0s;
        animation-duration: 6s;
        animation-iteration-count: infinite;
        animation-name: pulse;
        animation-timing-function: ease-in-out
    }
    .cfm-eyecatcher {
        background-color: #000;
        margin: 0;
        padding: 2em 0;
        position: relative;
        width: 100%;
        text-align: center
    }
    .cfm-eyecatcher__type--button {
        cursor: pointer;
        position: relative;
        display: inline-block;
        margin: 0;
        height: 220px;
        width: 220px
    }
    .cfm-button--color-black {
        background-color: #353535;
        color: #e6e6e6
    }
    .cfm-button--border-gray:after {
        content: " ";
        position: absolute;
        top: 5px;
        left: 5px;
        display: block;
        border: 1px solid #e6e6e6;
        border-radius: 50%;
        height: calc(100% - 12px);
        width: calc(100% - 12px);
        animation-delay: .1s;
        animation-duration: 6s;
        animation-iteration-count: infinite;
        animation-name: pulse;
        animation-timing-function: ease-in-out
    }
    .cfm-button__circle {
        border-radius: 50%
    }
    .cfm-button__text {
        font-weight: 600;
        font-size: 1.2em;
        display: table-cell;
        height: 220px;
        padding: .5em 1.25em 0;
        vertical-align: middle;
        width: 220px;
        transform: rotate(10deg)
    }
    .cfm-button__text--center {
        text-align: center
    }
}

@media (min-width:992px) {
    .cfm-pulsate {
        animation-delay: 0s;
        animation-duration: 6s;
        animation-iteration-count: infinite;
        animation-name: pulse;
        animation-timing-function: ease-in-out
    }
    .cfm-eyecatcher {
        background-color: #000;
        margin: 0;
        padding: 3em 0;
        position: relative;
        width: 100%;
        text-align: center
    }
    .cfm-eyecatcher__type--button {
        cursor: pointer;
        position: relative;
        display: inline-block;
        margin: 0;
        height: 250px;
        width: 250px
    }
    .cfm-button--color-black {
        background-color: #353535;
        color: #e6e6e6
    }
    .cfm-button--border-gray:after {
        content: " ";
        position: absolute;
        top: 5px;
        left: 5px;
        display: block;
        border: 1px solid #e6e6e6;
        border-radius: 50%;
        height: calc(100% - 12px);
        width: calc(100% - 12px);
        animation-delay: .1s;
        animation-duration: 6s;
        animation-iteration-count: infinite;
        animation-name: pulse;
        animation-timing-function: ease-in-out
    }
    .cfm-button__circle {
        border-radius: 50%
    }
    .cfm-button__text {
        font-weight: 600;
        font-size: 1.5em;
        display: table-cell;
        height: 250px;
        padding: .5em 1.25em 0;
        vertical-align: middle;
        width: 250px;
        transform: rotate(10deg)
    }
    .cfm-button__text--center {
        text-align: center
    }
}

@keyframes pulse {
    0% {
        transform: scale(1)
    }
    4% {
        transform: scale(.999)
    }
    8% {
        transform: scale(1.02)
    }
    12% {
        transform: scale(.98)
    }
    14% {
        transform: scale(1.01)
    }
    16%,
    to {
        transform: scale(1)
    }
}

@media (min-width:320px) {
    main {
        position: relative;
        padding: 0
    }
    main .main__section {
        position: relative;
        padding: 1.25em 1em
    }
    main .main__layout--width-full {
        width: 100%
    }
    main .main__intro--body {
        width: auto;
    }
    main div.recruiting {
        width: 100%;
        background-color: #000;
    }  
    main .main__recruiting--body {
        width: auto;
        background-color: #000;
        color: #fff;
    }        
    main .main__recruiting--body p {
        text-align: center;
        font-size: x-large;
    }
    main .main__recruiting--body p.orange.title {
        color: #d88c00;
        font-weight: bold;
        font-size: xx-large;
    }

    main .main__container--position-center {
        margin: 0 auto;
        max-width: 992px
    }
}

@media (min-width:992px) {
    main .main__section {
        padding: 1.25em 0
    }
    main .main__intro--body {
        margin: 0 auto;
        max-width: 992px
    }
    main .main__recruiting--body {
        margin: 0 auto;
        max-width: 992px
    }    
}

@media (min-width:320px) {
    footer {
        margin: 0;
        padding: 1em 1.25em 1.5em;
        background-color: #1a1a1a;
        background-image: none
    }
    footer .footer__bg {
        display: none
    }
    footer .impressum {
        position: relative;
        min-height: 200px;
        margin: 0;
        padding: 0
    }
    footer .impressum__img {
        display: none
    }
    footer .impressum__info {
        color: #fff;
        font-size: .75em
    }
    footer .impressum__info--contact {
        margin: 1em 0
    }
    footer .impressum__info--business-details {
        margin: 1em 0 0
    }
    footer .impressum__info a {
        color: #fff;
        text-decoration: none
    }
    footer .impressum__info p {
        margin: .25em 0;
        padding: 0
    }
    footer .impressum__info p.adr {
        margin-bottom: 1em
    }
    footer .impressum__info h4 {
        margin-bottom: .5em
    }
    footer .impressum__info address {
        font-style: normal;
        text-decoration: none
    }
}

@media (min-width:480px) {
    footer .impressum__info {
        font-size: 1em
    }
}

@media (min-width:768px) {
    footer {
        padding: 2em 0;
        position: relative;
        overflow: hidden
    }
    footer .footer__bg {
        display: block;
        background: radial-gradient(farthest-side at 34vw -24vw, #e6e6e6 -57vw, #1a1a1a 59vw);
        height: 100%;
        left: -17vw;
        position: absolute;
        top: 0;
        width: 100vw
    }
    footer .impressum {
        display: flex;
        min-height: 512px
    }
    footer .impressum__img {
        display: inline-block;
        height: auto;
        margin: 0;
        padding: 0 2em 1.5em;
        float: left;
        width: 50%
    }
    footer .impressum__img>img {
        width: 100%;
        height: auto
    }
    footer .impressum__info {
        display: inline-block;
        margin: 0;
        padding: 3em 2em 0;
        float: left;
        width: 50%
    }
}

@media (min-width:992px) {
    footer .impressum {
        margin: 0 auto;
        max-width: 992px
    }
}

@media (min-width:320px) {
    * {
        box-sizing: border-box
    }
    body {
        /* font-family: 'OpenSans'; */
        font-size: 16px;
        font-weight: 400;
        padding: 0;
        margin: 0
    }
    a {
        text-decoration: none
    }
}
.contact-header {
    color: #d88c00;
    font-weight: bold;
    font-size: xx-large;
    text-align: center;
}
.contact-subheader {
    color: #fff;
    font-size: large;
    text-align: center;
}
div#form-messages.error {
    font-weight: 700;
    color: red;
    padding: 25px;
}
div#form-messages.success {
    font-weight: 700;
    color: #fff;
    padding: 25px;

}
label.form-check-label {
    font-size: 0.8em;
    color: #fff;
}
.btn-success {
    margin-top: 20px;
}