/*
Farben:

Grün    rgba(0,102,51,1)    #006633
Grau    rgba(60,60,60,1)    #3c3c3c

*/

*::-moz-selection {
    background-color: #006633;
    color: #fff;
}
*::selection {
    background-color: #006633;
    color: #fff;
}


@font-face {
    font-family: 'Raleway';
    font-style: normal;
    font-weight: 300;
    src: url('../webfonts/raleway-v12-latin-300.eot');
    src: local('Raleway Light'), local('Raleway-Light'),
            url('../webfonts/raleway-v12-latin-300.eot?#iefix') format('embedded-opentype'),
            url('../webfonts/raleway-v12-latin-300.woff2') format('woff2'),
            url('../webfonts/raleway-v12-latin-300.woff') format('woff'),
            url('../webfonts/raleway-v12-latin-300.ttf') format('truetype'),
            url('../webfonts/raleway-v12-latin-300.svg#Raleway') format('svg');
}

@font-face {
    font-family: 'Raleway';
    font-style: normal;
    font-weight: 500;
    src: url('../webfonts/raleway-v12-latin-500.eot');
    src: local('Raleway Medium'), local('Raleway-Medium'),
            url('../webfonts/raleway-v12-latin-500.eot?#iefix') format('embedded-opentype'),
            url('../webfonts/raleway-v12-latin-500.woff2') format('woff2'),
            url('../webfonts/raleway-v12-latin-500.woff') format('woff'),
            url('../webfonts/raleway-v12-latin-500.ttf') format('truetype'),
            url('../webfonts/raleway-v12-latin-500.svg#Raleway') format('svg');
}

@font-face {
    font-family: 'Raleway';
    font-style: normal;
    font-weight: 700;
    src: url('../webfonts/raleway-v12-latin-700.eot');
    src: local('Raleway Bold'), local('Raleway-Bold'),
            url('../webfonts/raleway-v12-latin-700.eot?#iefix') format('embedded-opentype'),
            url('../webfonts/raleway-v12-latin-700.woff2') format('woff2'),
            url('../webfonts/raleway-v12-latin-700.woff') format('woff'),
            url('../webfonts/raleway-v12-latin-700.ttf') format('truetype'),
            url('../webfonts/raleway-v12-latin-700.svg#Raleway') format('svg');
}

body {
    font-family: 'Raleway', sans-serif;
    color: #3c3c3c;
    font-weight: 300;
    -webkit-transition: 300ms ease;
    transition: 300ms ease;
}
body.sidebar-open {
    overflow: hidden;
}

.push-content {
    overflow: hidden;
    -webkit-transition: 300ms ease-in-out;
    -moz-transition: 300ms ease-in-out;
    -ms-transition: 300ms ease-in-out;
    -o-transition: 300ms ease-in-out;
    transition: 300ms ease-in-out;
    -webkit-transition-timing-function: cubic-bezier(.73,.09,.26,.76);
	transition-timing-function: cubic-bezier(.73,.09,.26,.76);
}
body.sidebar-open .push-content {
    transform: translateX(-30%);
}

b, strong {
    font-weight: 500;
}
a {
    color: rgba(0,102,51,.75);
    font-weight: 500;
    -webkit-transition: 200ms ease-in-out;
    -moz-transition: 200ms ease-in-out;
    -ms-transition: 200ms ease-in-out;
    -o-transition: 200ms ease-in-out;
    transition: 200ms ease-in-out;
}
a:hover,
a:focus {
    text-decoration: none;
    color: #006633;
}
a.link {
    color: #006633;
    position: relative;
    font-weight: 500;
	-webkit-transition: background 0.3s, color 0.3s;
	transition: background 0.3s, color 0.3s;
}
a.link:hover,
a.link:focus {
    text-decoration: none;
}
a.link::before {
    z-index: 1005;
	content: '';
	position: absolute;
	bottom: -2px;
	left: 0;
	width: 100%;
	height: 2px;
	background: #006633;
	-webkit-transform: scale3d(0, 1, 1);
	transform: scale3d(0, 1, 1);
	-webkit-transform-origin: 0% 50%;
	transform-origin: 0% 50%;
	-webkit-transition: -webkit-transform 0.3s;
	transition: transform 0.3s;
	-webkit-transition-timing-function: cubic-bezier(.73,.09,.26,.76);
	transition-timing-function: cubic-bezier(.73,.09,.26,.76);
}
a.link:hover::before {
	-webkit-transform: scale3d(1, 1, 1);
	transform: scale3d(1, 1, 1);
}

.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
    color: #006633;
    font-weight: 700;
}
.row {
    margin-left: 0;
    margin-right: 0;
}
.container-fluid {
    padding-left: 0;
    padding-right: 0;
}

/* Buttons */
.btn {
    border-radius: 50rem;
    padding: .75rem 3rem;
}
.btn:focus, .btn.focus {
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(0,102,51,0.25);
}
.btn-light {
    color: #fff;
    border: 2px solid #fff;
    background-color: rgba(0,0,0,0);
}
.btn-primary {
    color: #fff;
    border: 2px solid #3c3c3c;
    background-color: #3c3c3c;
}
.btn-light:hover,
.btn-primary:hover,
.btn-light:not(:disabled):not(.disabled).active,
.btn-light:not(:disabled):not(.disabled):active,
.btn-primary:not(:disabled):not(.disabled).active,
.btn-primary:not(:disabled):not(.disabled):active,  
.show>.btn-light.dropdown-toggle {
    color: #fff;
    background-color: #006633;
    border-color: #006633;
}
.btn-light.focus,
.btn-light:focus,
.btn-primary:focus {
    box-shadow: 0 0 0 0.2rem rgba(0,102,51,.5);
    color: #fff;
    background-color: #006633;
    border-color: #006633;
}
.btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus,
.show > .btn-primary.dropdown-toggle:focus {
    box-shadow: 0 0 0 0.2rem rgba(0,102,51,0.5);
}
  

/* Logo */
.logo {
    position: absolute;
    top: 2rem;
    left: 2rem;
    z-index: 100;
}
.logo img {
    width: 12rem;
}
.logo-min {
    display: none;
    position: fixed;
    z-index: 100;
    filter: drop-shadow(0 0 5px rgba(0,0,0,.175));
    top: 2rem;
    left: 2rem;
}
.logo-min img {
    width: 4rem;
}

/* Navigation */
.navbar-toggler {
    position: fixed;
    top: 3rem;
    right: 2rem;
    cursor: pointer;
    border: 0 none;
    opacity: 0;
    z-index: 910;
    height: 39px;
    filter: drop-shadow(0 0 0 rgba(0,0,0,0));
}
.navbar-toggler.green {
    -webkit-transition: all .25s ease-in-out;
    -moz-transition: all .25s ease-in-out;
    -o-transition: all .25s ease-in-out;
    transition: all .25s ease-in-out;
}
.navbar-toggler.collapsed {
    opacity: 1;
    filter: drop-shadow(0 0 10px rgba(0,0,0,.2));
}
.navbar-toggler:focus,
.navbar-toggler:active {
    outline: 0;
}
.navbar-toggler span {
    display: block;
    background-color: #006633;
    height: 5px;
    width: 35px;
    margin-top: 4px;
    margin-bottom: 4px;
    position: relative;
    -webkit-transition: all .25s ease-in-out;
    -moz-transition: all .25s ease-in-out;
    -o-transition: all .25s ease-in-out;
    transition: all .25s ease-in-out;
    left: 0;
    opacity: 1;
}
.close-button {
    position: fixed;
    top: 3rem;
    right: 2rem;
    cursor: pointer;
    border: 0 none;
    background-color: rgba(0,0,0,0);
}
.close-button:focus {
    outline: none;
}
.close-button span {
    display: block;
    background-color: #006633;
    height: 5px;
    width: 35px;
    margin-top: 4px;
    margin-bottom: 4px;
    position: relative;
    left: 0;
    opacity: 1;
    -webkit-transition: transform .25s ease-in-out;
    -moz-transition: transform .25s ease-in-out;
    -o-transition: transform .25s ease-in-out;
    transition: transform .25s ease-in-out;
    -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
    transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
}
.modal-header .close {
    margin: 0 1rem 0 0;
}
.close {
    outline: none;
    position: relative;
    -webkit-transition: opacity .25s ease-in-out;
    -moz-transition: opacity .25s ease-in-out;
    -o-transition: opacity .25s ease-in-out;
    transition: opacity .25s ease-in-out;
}
.close:focus {
    outline: none;
}
.close span {
    display: block;
    background-color: #006633;
    height: 3px;
    width: 25px;
    -webkit-transition: transform .25s ease-in-out;
    -moz-transition: transform .25s ease-in-out;
    -o-transition: transform .25s ease-in-out;
    transition: transform .25s ease-in-out;
}
.close span:first-of-type {
    position: absolute;
    left: 12px;
    top: 10px;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
}
.close span:last-of-type {
    position: absolute;
    left: 12px;
    top: 10px;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    transform: rotate(-45deg);
}
.close:hover span:first-of-type,
.close-button:hover span:nth-child(1) {
    transform: rotate(135deg);
}
.close:hover span:last-of-type,
.close-button:hover span:nth-child(3) {
    transform: rotate(225deg);
}
.navbar-toggler:not(.collapsed) span.menu-title,
span.menu-title {
    height: auto;
    width: auto;
    color: #fff;
    background-color: rgba(0,0,0,0) !important;
    margin-left: -7rem;
    margin-top: -1.5rem;
}
.navbar-toggler:not(.collapsed) span.menu-title {
    margin-top: -0.8rem;
}
.close-button span:nth-child(1),
.close-button span:nth-child(3) {
    -webkit-transition: transform .25s ease-in-out;
    -moz-transition: transform .25s ease-in-out;
    -o-transition: transform .25s ease-in-out;
    transition: transform .25s ease-in-out;
}
.close-button span:nth-child(2) {
    -webkit-transition: transform .25s ease-in-out;
    -moz-transition: transform .25s ease-in-out;
    -o-transition: transform .25s ease-in-out;
    transition: transform .25s ease-in-out;
}
.close-button span:nth-child(1) {
    position: absolute;
    left: 12px;
    top: 10px;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
}
.close-button span:nth-child(2) {
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1);
}
.close-button span:nth-child(2) {
    height: 12px;
    -webkit-transform: scale(0);
    -moz-transform: scale(0);
    -o-transform: scale(0);
    transform: scale(0);
}
.close-button span:nth-child(3) {
    position: absolute;
    left: 12px;
    top: 10px;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    transform: rotate(-45deg);
}
.navbar-toggler.collapsed span {
    background-color: #fff;
}
.navbar-toggler.green.collapsed span.menu-title {
    opacity: 0;
}
.navbar-toggler.green {
    filter: drop-shadow(0 0 0 rgba(0,0,0,0));
}
.navbar-toggler.green .menu-title {
    display: none;
}

.navbar-toggler.green.collapsed span {
    background-color: #006633;
}

/* Sidebar */
.sidebar {
    height: 100vh;
    width: 30%;
    position: fixed;
    display: flex;
    top: 0;
    right: 0;
    padding: 3rem;
    list-style: none;
    background-color: #fff;
    overflow: hidden;
    z-index: 1000;
}
.sidebar {
    -webkit-transform: translateX(100%);
    -ms-transform: translateX(100%);
    transform: translateX(100%);
    -webkit-transition: 300ms ease;
    transition: 300ms ease;
    -webkit-transition-timing-function: cubic-bezier(.73,.09,.26,.76);
	transition-timing-function: cubic-bezier(.73,.09,.26,.76);
}
.collapse,
.collapsing {
    height: 100vh !important;
}
.show {
    -webkit-transform: translateX(0%);
    -ms-transform: translateX(0%);
    transform: translateX(0%);
    -webkit-transition: 300ms ease;
    transition: 300ms ease;
    box-shadow: 0 0 20px rgba(0,0,0,.175);
}


.sidebar .nav {
    flex-direction: column;
    justify-content: center;
}
.sidebar .nav li {
    margin: 1rem 0;
}
.sidebar .nav li a {
    color: #006633;
    position: relative;
    font-weight: 500;
    text-transform: uppercase;
    font-size: 1.5rem;
	-webkit-transition: background 0.3s, color 0.3s;
	transition: background 0.3s, color 0.3s;
}
.sidebar .nav li a:hover,
.sidebar .nav li a:focus {
    text-decoration: none;
}
.sidebar .nav li a::before {
    z-index: 1005;
	content: '';
	position: absolute;
	bottom: -2px;
	left: 0;
	width: 100%;
	height: 4px;
	background: #006633;
	-webkit-transform: scale3d(0, 1, 1);
	transform: scale3d(0, 1, 1);
	-webkit-transform-origin: 0% 50%;
	transform-origin: 0% 50%;
	-webkit-transition: -webkit-transform 0.3s;
	transition: transform 0.3s;
	-webkit-transition-timing-function: cubic-bezier(.73,.09,.26,.76);
	transition-timing-function: cubic-bezier(.73,.09,.26,.76);
}
.sidebar .nav li.active a::before,
.sidebar .nav li a:hover::before {
	-webkit-transform: scale3d(1, 1, 1);
	transform: scale3d(1, 1, 1);
}
.overlay {
    position: fixed;
    height: 100%;
    width: 100%;
    top: 0;
    z-index: 990;
    left: 0;
    cursor: pointer;
    background-color: rgba(0, 0, 0, 0.85);
    visibility: hidden;
    opacity: 0;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transition: opacity 0.4s 0s, visibility 0s 0.4s;
    -moz-transition: opacity 0.4s 0s, visibility 0s 0.4s;
    transition: opacity 0.4s 0s, visibility 0s 0.4s;
}
.modal-backdrop.show {
    opacity: 0.85;
}
.overlay.is-visible {
    opacity: 1;
    visibility: visible;
    -webkit-transition: opacity 0.4s 0s, visibility 0s 0s;
    -moz-transition: opacity 0.4s 0s, visibility 0s 0s;
    transition: opacity 0.4s 0s, visibility 0s 0s;
}


/* Sprachen */
.mod-languages {
    position: absolute;
    top: 3.5rem;
    left: 3rem;
}
div.mod-languages li {
    margin-right: .25rem;
}
div.mod-languages a {
    color: #999;
    -webkit-transition: 200ms ease-in-out;
    -moz-transition: 200ms ease-in-out;
    -ms-transition: 200ms ease-in-out;
    -o-transition: 200ms ease-in-out;
    transition: 200ms ease-in-out;
}
div.mod-languages li.lang-active a,
div.mod-languages li a:hover,
div.mod-languages li a:focus {
    color: #006633;
}


/* Intro */
.intro .col {
    overflow: hidden;
}
.individuell {
    height: 100vh;
    width: auto;
    overflow: hidden;
    background-image: url(../../../images/startseite/individuell-echt-denker.jpg);
    background-position: center center;
    background-size: cover;
}
.individuell h2,
.produkte-start .intro-inhalt {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    color: #fff;
    text-align: center;
    width: 100%;
    font-weight: 300;
    font-size: 5vw;
    text-shadow: 0 0 5px rgba(0,0,0,.175);
	-webkit-transition: transform .5s;
	transition: transform .5s;
	-webkit-transition-timing-function: cubic-bezier(.73,.09,.26,.76);
	transition-timing-function: cubic-bezier(.73,.09,.26,.76);
}
.produkte-start h2 {
    font-size: 3vw;
    color: #fff;
    font-weight: 300;
}
.produkte-start .intro-inhalt p {
    font-size: 1rem;
    color: #fff;
}
.produkte-start .intro-inhalt a {
    font-size: 1rem;
}
.produkte-start .produkt-outer {
    overflow: hidden;
}
.produkte-start .spritz,
.produkte-start .trage {
    position: relative;
    height: 50vh;
    max-height: 50vh;
    overflow: hidden;
    background-image: url(../../../images/startseite/denker-spritzgiessteile.jpg);
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
	-webkit-transition: transform .5s;
	transition: transform .5s;
	-webkit-transition-timing-function: cubic-bezier(.73,.09,.26,.76);
	transition-timing-function: cubic-bezier(.73,.09,.26,.76);
}
.produkte-start .spritz::before,
.produkte-start .trage::before {
    position: absolute;
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-color: rgba(0,0,0,.375);
}
.produkte-start .spritz:hover,
.produkte-start .trage:hover {
    transform: scale(1.1);
}
.produkte-start .trage {
    background-image: url(../../../images/startseite/denker-tragegriffe.jpg);
}

/* Bilderwechsler */
.carousel-caption {
    text-shadow: 0 0 20px rgba(0,0,0,0.875);
    left: 0;
    right: 0;
    max-width: 50%;
    opacity: 0;
    margin-left: auto;
    margin-right: auto;
    transform: translateY(300px);
}
.carousel-caption h3 {
    display: inline-block;
    text-shadow: 0 0 0 rgba(0,0,0,0);
    background-color: rgba(255,255,255,.8);
    border-radius: 50rem;
    padding: .5rem 3rem;
}
.carousel-caption p {
    font-weight: 500;
}
.slick-active.slick-current .carousel-caption {
    -webkit-animation: 1s slide-top forwards;
    animation: 1s slide-top forwards;
    -webkit-animation-delay: 500ms;
    animation-delay: 500ms;
}
@-webkit-keyframes slide-top {
    0% {
        opacity: 0;
        -webkit-transform: translateY(300px);
        transform: translateY(300px);
    }
    70% {
        opacity: 1;
        -webkit-transform: translateY(-10px);
        transform: translateY(-10px);
    }
    100% {
        opacity: 1;
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }
}
@keyframes slide-top {
    0% {
        opacity: 0;
        -webkit-transform: translateY(300px);
        transform: translateY(300px);
    }
    70% {
        opacity: 1;
        -webkit-transform: translateY(-10px);
        transform: translateY(-10px);
    }
    100% {
        opacity: 1;
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }
}


/* Main */
.itemid-101 .main>.container-fluid {
    padding: 0;
}
.main>.container-fluid {
    padding: 5rem;
}
.main .blog .items-row {
    margin-bottom: 5rem;
}

.karriere .leading-0,
.item {
    display: -webkit-flex;
    display: flex;
    justify-content: center;
}
.karriere .leading-0 .item-image.pull-left,
.item .item-image.pull-left {
    order: 3;
    flex: 0 0 70%;
}
.karriere .leading-0 .item-image.pull-right,
.item .item-image.pull-right {
    order: 1;
    flex: 0 0 70%;
}
.karriere .leading-0 .item-image img,
.item .item-image img {
    border-radius: 1rem;
    box-shadow: 0 0 40px rgba(0,0,0,.175);
}
.item .item-image.full-image img {
    border-radius: 1rem !important; 
    margin-bottom: 1rem;
}
.aktuell .item .inhalt,
.karriere .item .inhalt,
.karriere .leading-0 .inhalt,
.item .inhalt.beitragsbild {
    order: 2;
    padding: 1.25rem;
    flex: 0 0 30%;
}
.item .textabstand {
    padding: 1.25rem;
}
.item .inhalt {
    flex: 0 0 100%;
    padding: 0;
    order: 2;
}
.item .inhalt .page-header {
    flex: 0 0 100%;
}

/* Dreier Spalten */
.blog .items-leading {
    margin: 1.5%;
}
.blog .items-row.cols-3,
.blog .items-row.cols-2 {
    display: -webkit-flex;
    display: flex;
}
.blog .items-row.cols-3 .span4 {
    flex: 0 0 30%;
    margin: 1.5%;
}
.blog .items-row.cols-2 .span6 {
    flex: 0 0 46%;
    margin: 2%;
}

.blog .items-row.cols-3 .span4 .item-image {
    flex: 0 0 100%;
    order: 1;
}
.blog .items-row.cols-2 .span6 .item-image {
    flex: 0 0 50%;
    order: 1;
}
.blog .items-row.cols-3 .span4 .item-image img {
    box-shadow: 0 0 0 rgba(0,0,0,0);
    border-radius: 1rem 1rem 0 0;
}
.blog .items-row.cols-2 .span6 .item-image img {
    box-shadow: 0 0 0 rgba(0,0,0,0);
    border-radius: 1rem 0 0 1rem;
}
.blog .items-row.cols-3 .span4 .item-image img.zoom-img,
.blog .items-row.cols-2 .span6 .item-image img.zoom-img,
.itemid-155 .blog .items-row.cols-2 .span6 .item-image img.zoom-img {
    border-radius: 1rem;
}
.blog .items-row.cols-3 .span4 .item,
.blog .items-row.cols-2 .span6 .item {
    flex-wrap: wrap;
    background-color: #eee;
    border-radius: 1rem;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.275);
    min-height: 100%;
    align-content: flex-start;
}
.blog .items-row.cols-3 .span4 .item .inhalt {
    flex: 0 0 100%;
}
.blog .items-row.cols-2 .span6 .item .inhalt {
    flex: 0 0 50%;
}

/* Karriere */

/* Überschrift Jobs */
.leading-1 .page-header {
    text-align: center;
    margin-top: 5rem;
}
.leading-1 .page-header h2 {
    font-size: 2.5rem;
}

.aktuell.blog .items-row.cols-3 .span4 .item-image,
.karriere.blog .items-row.cols-2 .span6 .item-image {
    flex: 0 0 100%;
    order: 1;
}
.itemid-155 .blog .items-row.cols-2 .span6 .item-image img {
    box-shadow: 0 0 0 rgba(0,0,0,0);
    border-radius: 1rem 1rem 0 0;
}
.itemid-155 .blog .items-row.cols-2 .span6 .item .inhalt {
    flex: 0 0 100%;
}
.itemid-140 .blog .items-row.cols-3 .span4 .item .readmore,
.itemid-155 .blog .items-row.cols-2 .span6 .item .readmore {
    flex: 0 0 100%;
    order: 3;
}
.itemid-140 .blog .items-row.cols-3 .span4 .readmore .btn,
.itemid-155 .blog .items-row.cols-2 .span6 .readmore .btn {
    margin-top: 0;
    margin-left: 1.25rem;
    margin-bottom: 1.25rem;
}
.itemid-155 .blog .items-row.cols-2 .span6 .readmore .btn svg {
    margin-right: 0;
    margin-left: .75rem;
}
.modal-header h2 {
    margin-bottom: 0;
}
.modal-footer button {
    margin-top: 0 !important;
}

/* Button mit Icon */
.blog .items-row.cols-2 .span6 h2 {
    font-size: 1.5rem;
}
.blog .items-row.cols-2 .span6 .btn:first-of-type {
    margin-top: 1rem;
}
.blog .items-row.cols-2 .span6 .btn:last-of-type {
    margin-bottom: 0;
}
.blog .items-row.cols-2 .span6 .btn {
    margin-bottom: 1rem;
}
.blog .items-row.cols-2 .span6 .btn svg {
    margin-right: .75rem;
}

/* Messe */
.messe-intro {
    margin-left: -15px;
    margin-right: -15px;
    margin-bottom: 4rem;
}
.messebilder {
    display: -webkit-flex;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: center;
}
.messebilder .messe-outer {
    max-width: 30%;
    flex: 0 0 30%;
    margin: 1.5%;
    position: relative;
}
.messe-intro img,
.messebilder img {
    max-width: 100%;
    height: auto;
    border-radius: 1rem;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.275);
}

/* Bild Zoom Effect */
img[data-action="zoom"] {
    cursor: pointer;
    cursor: -webkit-zoom-in;
    cursor: -moz-zoom-in;
}
.zoom-img,
.zoom-img-wrap {
    position: relative;
    z-index: 2200;
    -webkit-transition: all 300ms;
         -o-transition: all 300ms;
            transition: all 300ms;
}
img.zoom-img {
    cursor: pointer;
    cursor: -webkit-zoom-out;
    cursor: -moz-zoom-out;
}
.zoom-overlay {
    z-index: 2100;
    background: #fff;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    pointer-events: none;
    filter: "alpha(opacity=0)";
    opacity: 0;
    -webkit-transition: opacity 300ms;
         -o-transition: opacity 300ms;
            transition: opacity 300ms;
}
.zoom-overlay-open .zoom-overlay {
    filter: "alpha(opacity=100)";
    opacity: 1;
}
.zoom-overlay-open,
.zoom-overlay-transitioning {
    cursor: default;
}
  
/* Karte */
.placemarkHead {
    font-size: 1rem;
}
.placemarkContent, .placemarkBody {
    font-size: 1rem !important;
}

/* Kontakt */
.row.contacts {
    margin-top: 1rem;
    margin-left: -15px;
    margin-right: -15px;
}
.ansprechpartner img {
    border-radius: 1rem;
    box-shadow: 0 0 40px rgba(0,0,0,.175);
    margin-bottom: 1.5rem;
}
.ansprechpartner p {
    margin-bottom: 0;
}
.kontakt-card {
    background: #eee url(../img/kontakt-logo.png) no-repeat bottom right;
    padding: 2.75rem;
    margin-top: 1.75rem;
    border-radius: 1rem;
}
.alert .close span {
    display: block;
    background-color: rgba(0,0,0,0);
    height: auto;
    width: auto;
}
.alert .close span,
.alert .close span:hover,
.alert .close span:focus {
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
}

/* Kontaktformular */
label {
    font-size: .9rem;
    margin-left: .5rem;
}
.form-control {
    border-radius: 50rem;
    color: #3c3c3c;
    border: 1px solid #eee;
}
.form-control:focus {
    color: #006633;
    background-color: #eee;
    border-color: #006633;
    -webkit-animation: pulse 2s infinite;
    animation: pulse 2s infinite;
}
.custom-select.is-invalid:focus, .form-control.is-invalid:focus, .was-validated .custom-select:invalid:focus, .was-validated .form-control:invalid:focus {
    border-color: #dc3545;
    -webkit-animation: pulse-rot 2s infinite;
    animation: pulse-rot 2s infinite;
}
.formError {
    color: #dc3545;
    font-weight: 500;
    font-size: .75rem;
    margin-left: .5rem;
}

textarea.form-control {
    border-radius: 1rem;
    min-height: 150px;
}
.form-check-input {
    position: absolute;
    margin-top: .2rem;
    margin-left: -1.5rem;
}
.form-check-input::before {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 1rem;
    height: 1rem;
    pointer-events: none;
    content: "";
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    background-color: #eee;
    border: 1px solid #3c3c3c;
}
.form-check-input::after {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 1rem;
    height: 1rem;
    content: "";
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 50% 50%;
}

.form-check-input::after,
.form-check-input::before {
  -webkit-transition: box-shadow .5s, background-color .5s;
  transition: box-shadow .5s, background-color .5s;
}

.form-check-input:checked::after {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E");
}
.form-check-input:checked::after {
    background-color: #006633;
}

.form-check-input:focus::before {
    box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 102, 21,.25);
}


/* Footer */
.footer {
    padding: 3rem;
    background: #eee url(../img/suedwestfalen-siegel.png) no-repeat right 1rem bottom 1rem;
}
.footer p:last-of-type {
    margin-bottom: 0;
}
.footer img {
    width: 15rem;
    max-width: 100%;
    padding: .75rem 0;
}
.footer .menu-e1 .nav.menu {
    width: 100%;
    justify-content: center;
    flex-wrap: wrap;
    margin-bottom: 3rem;
}
.footer .menu-e1 .nav.menu li {
    flex: 0 0 auto;
}
.footer .menu-e1 .nav.menu li a {
    border: 1px solid rgba(0,0,0,0);
    padding: .5rem 1rem;
    border-radius: 50rem;
    margin: 0 .25rem;
}
.footer .menu-e1 .nav.menu li.active a,
.footer .menu-e1 .nav.menu li a:hover,
.footer .menu-e1 .nav.menu li a:focus {
    color: #006633;
    border: 1px solid #006633;
}
.footer .nav.menu {
    justify-content: flex-end;
}
.footer .container .nav.menu li {
    flex: 0 0 100%;
    margin-bottom: 2.5rem;
    text-align: right;
}
.footer .container .nav.menu li a {
    color: #006633;
    font-weight: 500;
    border-radius: 50rem;
    padding: .75rem 3rem;
    background-color: #fff;
    -webkit-transition: 225ms ease-in-out;
    -moz-transition: 225ms ease-in-out;
    -ms-transition: 225ms ease-in-out;
    -o-transition: 225ms ease-in-out;
    transition: 225ms ease-in-out;
}
.footer .container .nav.menu li.active a {
    color: #fff;
    text-decoration: none;
    background-color: #006633;
}
.footer .container .nav.menu li a:hover,
.footer .container .nav.menu li a:focus {
    color: #fff;
    text-decoration: none;
    background-color: #006633;
    -webkit-animation: pulse 2s infinite;
    animation: pulse 2s infinite;
}

@-webkit-keyframes pulse {
    0% {
      -webkit-box-shadow: 0 0 0 0 rgba(0, 102, 21, 0.4);
    }
    70% {
        -webkit-box-shadow: 0 0 0 15px rgba(0, 102, 21, 0);
    }
    100% {
        -webkit-box-shadow: 0 0 0 0 rgba(0, 102, 21, 0);
    }
}
@keyframes pulse {
    0% {
      -moz-box-shadow: 0 0 0 0 rgba(0, 102, 21, 0.4);
      box-shadow: 0 0 0 0 rgba(0, 102, 21,.4);
    }
    70% {
        -moz-box-shadow: 0 0 0 15px rgba(0, 102, 21, 0);
        box-shadow: 0 0 0 15px rgba(0, 102, 21, 0);
    }
    100% {
        -moz-box-shadow: 0 0 0 0 rgba(0, 102, 21, 0);
        box-shadow: 0 0 0 0 rgba(0, 102, 21, 0);
    }
}

@-webkit-keyframes pulse-rot {
    0% {
      -webkit-box-shadow: 0 0 0 0 rgba(220,53,69, 0.4);
    }
    70% {
        -webkit-box-shadow: 0 0 0 15px rgba(220,53,69, 0);
    }
    100% {
        -webkit-box-shadow: 0 0 0 0 rgba(220,53,69, 0);
    }
}
@keyframes pulse-rot {
    0% {
      -moz-box-shadow: 0 0 0 0 rgba(220,53,69, 0.4);
      box-shadow: 0 0 0 0 rgba(220,53,69,.4);
    }
    70% {
        -moz-box-shadow: 0 0 0 15px rgba(220,53,69, 0);
        box-shadow: 0 0 0 15px rgba(220,53,69, 0);
    }
    100% {
        -moz-box-shadow: 0 0 0 0 rgba(220,53,69, 0);
        box-shadow: 0 0 0 0 rgba(220,53,69, 0);
    }
}

.copyright {
    background-color: #3c3c3c;
    padding: 1rem;
    color: #fff;
}

@media (min-width: 2000px) {
    .item-image.pull-left img {
        margin-left: auto;
        margin-right: 0;
        display: block;
    }
}

@media (min-width: 1200px) {
    .col-xl-auto {
        -ms-flex-preferred-size: 0;
        flex-basis: 0;
        -ms-flex-positive: 1;
        flex-grow: 1;
        max-width: 100%;
    }
}
@media (max-width: 1299.98px) {
    .sidebar {
        width: 50%;
    }
    .blog .items-row.cols-2 .span6 .item-image {
        flex: 0 0 100%;
        order: 1;
    }
    .blog .items-row.cols-2 .span6 .item-image img {
        border-radius: 1rem 1rem 0 0;
    }
    .blog .items-row.cols-2 .span6 .item .inhalt {
        flex: 0 0 100%;
    }
    .blog .items-row.cols-2 .span6 .btn:first-of-type {
        margin-right: 2rem;
    }
    .footer .menu-e1 .nav.menu li a {
        margin: .5rem 1.5rem;
    }
    .footer .nav.menu li a {
        display: inline-block;
        text-align: center;
        width: auto;
    }
}
@media (max-width: 1199.98px) {
    .logo {
        top: 1rem;
        left: 1rem;
    }
    .sidebar {
        width: 50%;
    }
    .main>.container-fluid {
        padding: 2.5rem;
    }
    .blog .items-row.cols-3, .blog .items-row.cols-2 {
        flex-wrap: wrap;
    }
    .blog .items-row.cols-3 .span4 {
        flex: 0 0 47%;
        margin: 1.5%;
    }
    .blog .items-row.cols-2 .span6 .item-image {
        flex: 0 0 100%;
        order: 1;
    }
    .blog .items-row.cols-2 .span6 .item-image img {
        border-radius: 1rem 1rem 0 0;
    }
    .blog .items-row.cols-2 .span6 .item .inhalt {
        flex: 0 0 100%;
    }
    .blog .items-row.cols-2 .span6 .btn:first-of-type {
        margin-right: 2rem;
    }
    .item .item-image.pull-left,
    .item .item-image.pull-right {
        flex: 0 0 50%;
    }
    .item .inhalt {
        flex: 0 0 100%;
    }
    .karriere .leading-0 .item-image.pull-left,
    .item .item-image.pull-left,
    .aktuell .item .inhalt,
    .karriere .item .inhalt,
    .karriere .leading-0 .inhalt,
    .item .inhalt.beitragsbild {
        flex: 0 0 50%;
    }
    .ansprechpartner {
        margin-top: 1rem;
        margin-left: -15px;
        margin-right: -15px;
    }
    .ansprechpartner>div {
        margin-bottom: 1rem;
    }
    .footer .menu-e1 .nav.menu li a {
        margin: .5rem 1.5rem;
    }
    .footer .nav.menu li a {
        display: inline-block;
        text-align: center;
        width: auto;
    }
    .rstbox {
        max-width: 50% !important;
    }
}

@media (max-width: 991.98px) { 
    .logo img {
        width: 10rem;
    }
    .ansprechpartner .col {
        flex: 0 0 30%;
        margin: 1.5%;
    }
    .carousel-caption h3 {
        font-size: 1.25rem;
    }
    .item .inhalt {
        flex: 0 0 100%;
    }
    .karriere .leading-0 .item-image.pull-left,
    .item .item-image.pull-left,
    .aktuell .item .inhalt,
    .karriere .item .inhalt,
    .karriere .leading-0 .inhalt,
    .item .inhalt.beitragsbild {
        flex: 0 0 50%;
    }
    .ansprechpartner {
        margin-top: 1rem;
        margin-left: -15px;
        margin-right: -15px;
    }
    .ansprechpartner>div {
        margin-bottom: 1rem;
    }
    .footer .menu-e1 .nav.menu {
        margin-top: 0;
        margin-bottom: 1.5rem;
    }
    .footer .menu-e1 .nav.menu li a {
        margin: .5rem 1.5rem;
    }
    .footer .nav.menu li a {
        display: inline-block;
        text-align: center;
        width: auto;
    }
    .footer .nav.menu {
        -ms-flex-pack: start;
        justify-content: flex-start;
        margin-top: 2rem;
    }
    .footer .container .nav.menu li {
        flex: 0 0 auto;
        margin: 0 1rem;
    }
    .rstbox {
        max-width: 50% !important;
    }
}



@media (max-width: 767.98px) {
    
    .intro .col {
        flex: 0 0 100%;
    }
    .intro .col .individuell {
        height: calc(50vh - 51px);
    }
    .produkte-start .spritz,
    .produkte-start .trage {
        height: calc(50vh - 51px);
        max-height: 25vh;
    }
    .produkte-start .spritz:hover,
    .produkte-start .trage:hover {
        -webkit-transform: scale(1);
        transform: scale(1);
    }
    .individuell h2 {
        font-size: 10vw;
    }
    .produkte-start h2 {
        font-size: 5vw;
    }
    
    .logo {
        position: relative;
        top: 0;
        left: 0;
        padding: 1rem;
    }
    .logo img {
        width: 9rem;
    }
    .navbar-toggler:not(.collapsed) span.menu-title,
    span.menu-title {
        display: none;
    }

    .sidebar {
        width: 90%;
    }
    body.sidebar-open .push-content {
        transform: translateX(-90%);
    }
    .navbar-toggler.collapsed {
        filter: drop-shadow(0 0 0 rgba(0,0,0,0));
    }
    .navbar-toggler.collapsed span {
        background-color: #006633;
    }
    .navbar-toggler:not(.collapsed) span.menu-title, span.menu-title {
        color: #006633;
    }
    .ansprechpartner {
        margin-top: 1rem;
        margin-left: -15px;
        margin-right: -15px;
    }
    .ansprechpartner>div {
        margin-bottom: 1rem;
    }
    .carousel-caption {
        position: relative;
        color: #3c3c3c;
        max-width: 100%;
        padding: 0;
        top: 0;
        opacity: 1;
        transform: translateY(0);
        background-color: #eee;
        bottom: 0;
        text-shadow: 0 0 0 rgba(0,0,0,0);
    }
    .slick-active.slick-current .carousel-caption {
        -webkit-animation: none;
        animation: none;
    }
    .carousel-caption h3,
    .carousel-caption p {
        margin: 1.75rem;
    }
    .carousel-caption h3 {
        background-color: rgba(0, 102, 21,.25);
        margin-bottom: .5rem;
    }
    .carousel-caption p {
        display: block;
        margin-top: 0;
        padding-bottom: 1.75rem;
    }

    .karriere .leading-0, .item {
        flex-wrap: wrap;
    }
    .item .inhalt,
    .item .item-image.pull-left,
    .item .item-image.pull-right,
    .aktuell .item .inhalt,
    .karriere .item .inhalt,
    .karriere .leading-0 .inhalt,
    .karriere .leading-0 .item-image.pull-left,
    .item .inhalt.beitragsbild,
    .blog .items-row.cols-2 .span6 {
        flex: 0 0 96%;
    }
    .item .item-image.pull-left,
    .item .item-image.pull-right {
        order: 3;
        padding: 1.25rem;
    }
    .aktuell.blog .items-row.cols-3 .span4 .item-image,
    .karriere.blog .items-row.cols-2 .span6 .item-image {
        padding: 0;
    }

    .main .blog .items-row {
        margin-bottom: 0;
    }

    .main .blog .items-row>div {
        margin-bottom: 2.5rem !important;
    }

    .pr-0 {
        padding-left: 0;
    } 
    .blog .items-row.cols-3 .span4:last-of-type {
        flex: 0 0 97%;
    }
    .messebilder .messe-outer {
        max-width: 48%;
        flex: 0 0 48%;
        margin: 1%;
    }
    .messe-intro .messe-outer {
        margin-bottom: 1rem;
    }
    .footer .nav.menu {
        margin-top: 2rem;
    }
    .footer .menu-e1 .nav.menu {
        justify-content: flex-start;
        margin-bottom: 1.5rem;
    }
    .footer .menu-e1 .nav.menu li a {
        margin: .5rem 1.5rem;
    }
    .footer .nav.menu li a {
        display: inline-block;
        text-align: center;
        width: auto;
    }
    .rstbox {
        max-width: 70% !important;
    }
}

@media (max-width: 575.98px) { 
    .main>.container-fluid {
        padding: 1rem;
    }
    .intro .col {
        flex: 0 0 100%;
    }
    .intro .col .individuell {
        height: calc(50vh - 51px);
    }
    .produkte-start .spritz,
    .produkte-start .trage {
        height: calc(50vh - 51px);
        max-height: 25vh;
    }
    .produkte-start .spritz:hover,
    .produkte-start .trage:hover {
        -webkit-transform: scale(1);
        transform: scale(1);
    }
    .individuell h2 {
        font-size: 10vw;
    }
    .produkte-start h2 {
        font-size: 5vw;
    }
    .logo {
        position: relative;
        top: 0;
        left: 0;
        padding: 1rem;
        -webkit-transition: 300ms ease-in-out;
        -moz-transition: 300ms ease-in-out;
        -ms-transition: 300ms ease-in-out;
        -o-transition: 300ms ease-in-out;
        transition: 300ms ease-in-out;
        -webkit-transition-timing-function: cubic-bezier(.73,.09,.26,.76);
        transition-timing-function: cubic-bezier(.73,.09,.26,.76);
    }
    .logo img {
        width: 7rem;
    }
    .logo-min {
        top: 1.5rem;
        left: 1.5rem;
    }
    .logo-min img {
        width: 3rem;
    }
    body.sidebar-open .logo {
        transform: translateX(-90%);
    }
    .navbar-toggler {
        position: absolute;
        top: 2rem;
    }
    .navbar-toggler:not(.collapsed) span.menu-title,
    span.menu-title {
        display: none;
    }
    .sidebar {
        width: 90%;
    }
    body.sidebar-open .push-content {
        transform: translateX(-90%);
    }
    .navbar-toggler.collapsed {
        filter: drop-shadow(0 0 0 rgba(0,0,0,0));
    }
    .navbar-toggler.collapsed span {
        background-color: #006633;
    }
    .navbar-toggler:not(.collapsed) span.menu-title, span.menu-title {
        color: #006633;
    }
    .ansprechpartner .col {
        flex: 0 0 97%;
        margin: 1.5%;
    }
    .carousel-caption {
        position: relative;
        color: #3c3c3c;
        max-width: 100%;
        padding: 0;
        top: 0;
        opacity: 1;
        transform: translateY(0);
        background-color: #eee;
        bottom: 0;
        text-shadow: 0 0 0 rgba(0,0,0,0);
    }
    .carousel-caption h3,
    .carousel-caption p {
        margin: 1.75rem;
    }
    .carousel-caption h3 {
        margin-bottom: .5rem;
    }
    .carousel-caption p {
        margin-top: 0;
    }
    .slick-active.slick-current .carousel-caption {
        -webkit-animation: none;
        animation: none;
    }
    .carousel-caption h3 {
        background-color: rgba(0, 102, 21,.25);
    }
    .karriere .leading-0, .item,
    .item {
        flex-wrap: wrap;
    }
    .aktuell .item .inhalt,
    .karriere .item .inhalt,
    .karriere .leading-0 .inhalt,
    .item .inhalt.beitragsbild,
    .karriere .leading-0 .item-image.pull-left,
    .item .item-image.pull-left {
        flex: 0 0 100%;
    }
    .item .textabstand {
        padding: 0;
    }
    .pr-0 {
        padding-left: 0;
    } 
    .item .item-image.pull-left, .item .item-image.pull-right {
        flex: 0 0 100%; 
        order: 3;
    }
    .blog .items-row.cols-3 .span4 {
        flex: 0 0 97%;
        margin-bottom: 2rem;
    }
    .blog .items-row.cols-2 .span6 {
        flex: 0 0 96%;
        margin-bottom: 2rem;
    }

    .messe-intro>div {
        padding: 0;
    }
    .messe-intro .messe-outer {
        margin-bottom: 1rem;
    }
    .ansprechpartner {
        margin-top: 1rem;
        margin-left: -15px;
        margin-right: -15px;
    }
    .ansprechpartner>div {
        margin-bottom: 1rem;
    }
    .zhgm-map-default {
        height: 300px !important;
    }
    .footer {
        padding: 1rem;
    }
    .footer img {
        margin-bottom: 1rem;
    }
    .footer .nav.menu {
        margin-top: 2rem;
    }
    .footer .menu-e1 .nav.menu {
        justify-content: flex-start;
        margin-bottom: 1.5rem;
    }
    .footer .menu-e1 .nav.menu li a {
        margin: .5rem 1.5rem;
    }
    .footer .nav.menu li a {
        display: inline-block;
        text-align: center;
        width: auto;
    }
    .footer .container .nav.menu li {
        margin-top: 1rem;
    }
    .footer .container .nav.menu li a {
        width: 100%;
    }
    .rstbox {
        max-width: 85% !important;
        right: 2rem;
    }
}