/*
	Theme Name: Magnet 2025
	Theme URI: http://html5blank.com
	Description: HTML5 Blank WordPress Theme
	Version: 1.4.3
	Author: Todd Motto (@toddmotto)
	Author URI: http://toddmotto.com
	Tags: Blank, HTML5, CSS3

	License: MIT
	License URI: http://opensource.org/licenses/mit-license.php
*/

/*------------------------------------*\
    MAIN
\*------------------------------------*/

/* global box-sizing */
*,
*:after,
*:before {
	-moz-box-sizing:border-box;
	box-sizing:border-box;
	-webkit-font-smoothing:antialiased;
	font-smoothing:antialiased;
	text-rendering:optimizeLegibility;
}
/* html element 62.5% font-size for REM use */
html {
	/*font-size:62.5%;*/
}
body {
	/*font:300 11px/1.4 'Helvetica Neue', Helvetica, Arial, sans-serif;
	color:#444;*/
}
/* clear */
.clear:before,
.clear:after {
    content:' ';
    display:table;
}

.clear:after {
    clear:both;
}
.clear {
    *zoom:1;
}
img {
	max-width:100%;
	vertical-align:bottom;
}
a {
	color:#444;
	text-decoration:none;
}
a:hover {
	color:#444;
}
a:focus {
	outline:0;
}
a:hover,
a:active {
	outline:0;
}
input:focus {
	outline:0;
	border:1px solid #04A4CC;
}

img {
    object-fit: contain;
}

/*------------------------------------*\
    STRUCTURE
\*------------------------------------*/

body {
    margin: 0;
    padding: 0;
    font-family: Nunito Sans;
    /*font-size: 18px;
    line-height: 26px;*/
    font-size: 20px;
    line-height: 28px;
    color: #707070;
    /*min-height: 2000px;*/
}

.wrapper {
    width: 1000px;
    margin: 0 auto;
}

.content p, .content h1, .content h2, .content h3, .content h4 {
    width: 1000px;
    margin: 20px auto;
}

.content .wp-block-gallery {
    width: 1000px;
    margin: 0 auto;
}

header {
    background: #f1f1f1;
    top: 0;
    width: 100%;
    height: 100px;
    position: fixed;
    transition: all .5s;
    box-shadow: 0 0 10px rgba(0,0,0,.2);
    z-index: 9999;
}

header .wrapper {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

header h2 {
    margin: 0;
}

header h2 a {
    text-decoration: none;
    color: #707070;
}

header h2 a:hover {
    color: #e2001a;
    transition: all 1s;
}

header ul {
    margin: 0;
    padding: 0;
    list-style: none;
    float: left;
    width: 30%;
}

header ul li {
    float: left;
    margin-right: 10px;
}

header ul.search li {
    float: right;
}

header ul li a {    
    /*background: url(img/menu2.png);*/
    background-repeat: no-repeat;
    width: 40px;
    height: 40px;
    border-radius: 20px;
    overflow: hidden;
    display: block;
    text-indent: -9999px;
}

header ul li a:hover, header ul li.current-menu-item a {
    /*background-position: -33px 0;*/
    /*background: url(img/menu2.png);*/
    background-color: #f00;
    background-position: -40px 0;
    color: #fff;
    /*border-radius: 20px;*/
}

/*header ul li:nth-child(2) a {
    background-position: 0 -40px;
}

header ul li:nth-child(2) a:hover, header ul li:nth-child(2).current-menu-item a {
    background-position: -40px -40px;
}

header ul li:nth-child(3) a {
    background-position: 0 -80px;
}

header ul li:nth-child(3) a:hover, header ul li:nth-child(3).current-menu-item a {
    background-position: -40px -80px;
}

header ul li:nth-child(4) a {
    background-position: 0 -120px;
}

header ul li:nth-child(4) a:hover, header ul li:nth-child(4).current-menu-item a {
    background-position: -40px -120px;
}*/

header ul.search li a {
    background-image: url(img/menufb.png);
    background-position: 0 0;
}

header ul.search li a:hover {
    background-image: url(img/menufb.png);
    background-position: -40px 0;
}

header ul.search li:nth-child(2) a {
    background-image: url(img/menu2.png);
    background-position: 0 -160px;
}

header ul.search li:nth-child(2) a:hover {
    background-image: url(img/menu2.png);
    background-position: -40px -160px;
}

header ul.search li:nth-child(3) a {
    background-image: url(img/menu2.png);
    background-position: 0 0px;
}

header ul.search li:nth-child(3) a:hover {
    background-image: url(img/menu2.png);
    background-position: -40px 0;
}

#menu-kategorien .current-menu-item a {
    color: #fff;
    background: #707070;
    border-radius: 0;
}

.owl-carousel {
    margin-top: 130px;
}

.footer {
    margin-top: 130px;
    padding-top: 50px;
    height: 150px;
    background: #707070;
    color: #fff;
}

.header-start {
    background: #f0f1f1;
}

.menubar {
    height: 50px;
    background: #f1f1f1;
    box-shadow: 0 5px 5px rgba(0,0,0,.2);
    display: flex;
    justify-content: center;
}

.menubar ul {
    float: none;
    width: auto;
}

.menubar ul li {
    margin: 0;
}

.menubar ul li a {
    background: none;
    width: auto;
    height: auto;
    display: block;
    text-indent: 0;
    line-height: 50px;
    padding: 0 15px 0 15px;
    text-transform: uppercase;
    font-weight: bold;
    color: #707070;
    font-size: 14px;
    border-radius: 0;
}

.menubar ul li a:hover {
    background: #707070;
    color: #f1f1f1;
    border-radius: 0;
}

.content h1, .content h2, .content h3 {
    margin-top: 40px;
    margin-bottom: 40px;
}

.content h1 {
    text-transform: uppercase;
    font-size: 28px;
    line-height: 40px;
}

.content h2 {
    font-size: 24px;
}

.content h3 {
    /*font-weight: normal;*/
    font-size: 22px;
    line-height: 38px;
}

.content h4 {
    font-size: 18px;
    margin-top: 60px;
    margin-bottom: 20px;
}

.content p {
    margin-top: 20px;
    margin-bottom: 60px;
}

.content hr {
    border: 0;
    border-top: 1px solid #ccc;
}

.kompetenzen {
    display: flex;
    justify-content: center;
}

.kompetenzen ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.kompetenzen ul li {
    float: left;
}

.kompetenzen ul li {
    width: 120px;
    padding-top: 110px;
    background: url(img/kompetenzen1.png);
    background-position: top center;
    background-repeat: no-repeat;
    text-align: center;
    margin: 20px;
}

.kompetenzen ul li a {
    width: 94px;
    padding-top: 94px;
    font-size: 14px;
    line-height: 16px;
}

.kompetenzen ul li.active, .kompetenzen ul li:hover {
   background-image: url(img/kompetenzen1hov.png);
}

.kompetenzen ul li:nth-child(2) {
    background-image: url(img/kompetenzen2.png);
}

.kompetenzen ul li:nth-child(2):hover, .kompetenzen ul li:nth-child(2).active {
    background-image: url(img/kompetenzen2hov.png);
}

.kompetenzen ul li:nth-child(3) {
    background-image: url(img/kompetenzen3.png);
}

.kompetenzen ul li:nth-child(3):hover, .kompetenzen ul li:nth-child(3).active {
    background-image: url(img/kompetenzen3hov.png);
}

.kompetenzen ul li:nth-child(4) {
    background-image: url(img/kompetenzen4.png);
}

.kompetenzen ul li:nth-child(4):hover, .kompetenzen ul li:nth-child(4).active {
    background-image: url(img/kompetenzen4hov.png);
}

.kompetenzen::after {
    content:' ';
    display:table;
    clear:both;
}

.kachelcontainer {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    max-width: 900px;
    margin: 0 auto;
	gap: 40px;
}

.kachelcontainer .kachel {
    position: relative;
    margin-bottom: 50px;
	display: flex;
	height: 292px;
    width: 402px;
}

/*.kachelcontainer .kachel:last-child {
    content: "";
    flex: auto;
}*/

.kachelcontainer .kachel img {
    border: 1px solid #ccc;
	width: 100%;
	height: 100%;
}

.kachelcontainer .kachel .overlay {
    opacity: 0;
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    width: 402px;
    height: 292px;
    transition: opacity .4s ease;
}

.kachelcontainer .kachel:hover .overlay {
    opacity: .9;
}

.kachelcontainer .kachel .overlay-text {
    color: #fff;
    margin: 10px;
}

.kachelcontainer .kachel h3 {
    margin: 10px 0 0 0;
    width: auto;
    font-size: 18px;
}

.menu-offset {
    padding-top: 220px;
}

.menu-offset-cat {
    padding-top: 246px;
}

.kundenliste {
    margin-top: 50px;
    margin-bottom: 50px;
}

.kundenliste p {
	width: auto;
}

.kundenliste a {
    display: block;
    padding-top: 20px;
    padding-bottom: 20px;
}

.kundenliste a:hover {
    background: #f0f1f1;
}

.kl-item::after {
    content:' ';
    display:table;
    clear:both;
}

.kl-item img {
    float: left;
    margin-right: 25px;
}

.kl-item p {
    margin: 0;
    line-height: 30px;
    color: #707070;
}

.kl-bild img {
    width: 328px;
    height: 222px;
    border: 1px solid #ccc;
    object-fit: cover;
}

.kundenliste2 {
    background-color: #f1f1f1;
}

.kundenliste2 h3 {
    padding-top: 30px;
    text-transform: uppercase;
    margin-bottom: 40px;
}

.kundenliste2 p {
    width: auto;
}

.kundenliste2 .wrapper {
    margin-top: 0px;
    margin-bottom: 70px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-evenly;
}

.kundenliste2 a:hover {
    opacity: .7;    
}

.kundenliste a:hover {
    background: #f1f1f1;
}

.kl2-item {
    width: 300px;
    margin-right: 30px;
    margin-bottom: 30px;
}

.kl2-item:nth-child(3n) {
    margin-right: 0;
}

.kl2-bild img {
    border: 1px solid #ccc;
}

.kundenliste a:hover {
    background: #f1f1f1;
}

.bild_mit_hintergrund {
    display: flex;
    justify-content: center;
    padding-top: 20px;
    padding-bottom: 20px;
    margin-top: 20px;
    margin-bottom: 20px;
}

.bild_mit_text {
    display: flex;
    justify-content: center;
    padding-top: 20px;
    padding-bottom: 20px;
    margin-top: 20px;
    margin-bottom: 20px;
}

.bild_mit_text .wrapper {
    display: flex;
    align-items: top;
}

.bild_mit_text .textbox {
    display: flex;
    align-items: center;
}

.bild_mit_text.links .textbox {
    margin-left: 30px;
}

.bild_mit_text.rechts .textbox-content {
    margin-right: 30px;
}

.bild_mit_text .textbox h3 {
    margin-top: 10px;
    margin-bottom: 10px;
    width: auto;
}

.bild_mit_text .textbox p {
    margin: 0;
    width: auto;
    font-size: 20px;
    line-height: 28px;
}

.bild_mit_text .textbox a:hover {
    text-decoration: underline;
}

.text_mit_hintergrund {
    margin-top: 80px;
    margin-bottom: 60px;
    padding-top: 30px;
    padding-bottom: 50px;
}

.text_mit_hintergrund h3 {
    margin-top: 0;
}

.text_mit_hintergrund p {
    margin: 0;
}

.text_mit_hintergrund .textbox a:hover {
    text-decoration: underline;
}

.liste {
    padding-top: 25px;
    padding-bottom: 25px;
    display: flex;
    justify-content: center;
}

.liste ul {
    list-style: none;
    padding: 0;
}

.liste ul li {
    line-height: 40px;
    padding-left: 35px;
    background: url(img/list-style.png) left no-repeat;
}

.suche hr {
    margin-top: 70px;
    margin-bottom: 50px;
}

form.search {
    margin-top: 40px;
    margin-bottom: 40px;
}

.search-input {
    width: 70%;
    height: 40px;
    line-height: 40px;
    padding-left: 10px;
    padding-top: 0;
    padding-bottom: 0;
}

.search-input:focus {
    padding-left: 11px;
    padding-top: 1px;
    padding-bottom: 1px;
    padding-right: 3px;
}

.search-submit {
    margin-left: 10px;
    height: 44px;
}

.back-to-top {
    background:url(img/oben.png);
    width: 51px;
    height: 50px;
    position: fixed;
    bottom: 60px;
    left: 50%;
    margin-left: -26px;
    z-index: 100;
    overflow: hidden;
    text-indent: -9999px;
}   

.flexgalerie-2 .wrapper,
.flexgalerie-3 .wrapper,
.flexgalerie-4 .wrapper,
.flexgalerie-5 .wrapper {
    display: flex;
    max-width: 1000px;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: center;
}

.flexgalerie-2 .wrapper img {
    max-width: 480px;
}

.flexgalerie-3 .wrapper img {
    max-width: 320px;
}

.flexgalerie-4 .wrapper img {
    max-width: 235px;
}

.flexgalerie-5 .wrapper img {
    max-width: 184px;
}

footer .wrapper {
    position: relative;
}

footer .wrapper .copyright {
    position: absolute;
    left: 0;
    top: 0;
}

footer .wrapper .imprint {
    position: absolute;
    right: 0;
    top: 0;
}

footer .wrapper a {
    color: #fff;
}

footer .wrapper a:hover {
    text-decoration: underline;
}

/*#################### KONTAKT ####################*/

.kontakt .content ul {
    width: 1000px;
    margin: 0 auto;
    list-style: none;
    padding: 0;
    display: flex;
    justify-content: space-around;
}

.kontakt .content ul li {
    position: relative;
    padding-left: 50px;
}

.kontakt .content ul li a {
    color: #707070;
}

.kontakt .content ul li a:hover {
    text-decoration: underline;
}

.kontakt .content .icon {
    position: absolute;
    left: 0;
    top: -5px;
    background-image: url(img/menukontakt.png);
    width: 40px;
    height: 40px;
    border-radius: 20px;
}

.kontakt .content .icon-ort {
    background-position: -40px 0;
}

.kontakt .content .icon-telefon {
    background-position: -40px -80px;
}

.kontakt .content .icon-email {
    background-position: -40px -40px;
}

.kontakt .content .icon-facebook {
    background-image: url(img/menufb.png);
    background-position: -40px 0px;
}

/*#################### LEAFLET ####################*/

#map { 
    margin-top: 130px;
    height: 380px;
}

/*#################### MOBIL ####################*/

.mobile-menu {
    position: absolute;
    top: 0;
    right: -50%;
    /*width: 400px;*/
    width: 40%;
    /*height: 300px;*/
    padding: 80px 50px 50px 50px;
    background: #707070;
    box-shadow: 0 0 10px rgba(0,0,0,.2);
    transition: all 0.5s cubic-bezier(0.77,0.2,0.05,1.0);
}

.mobile-menu ul {
    width: 100%;
}

.mobile-menu ul ul {
    margin-left: 20px;;
}

.mobile-menu ul li {
    color: #fff;
    float: none;
    line-height: 40px;
}

.mobile-menu ul li a {
    color: #fff;
    background: none !important;
    width: auto;
    height: auto;
    border-radius: 0;
    overflow: visible;
    display: block;
    text-indent: 0;
}

.mobile-menu ul li a:hover {
    background: none;
    text-decoration: underline;
}

.mobile-menu hr {
    border: 0;
    border-top: 1px solid #909090;
}

.mobile-menu .tel {
    background: url(img/tel.png) no-repeat;
    background-position: 0 6px;
    padding-left: 35px;
}

.mobile-menu .mail {
    background: url(img/mail.png) no-repeat;
    background-position: 0 6px;
    padding-left: 35px;
}

.mobile-menu-open {
    right: 0;
}

.menutoggle, .menutoggle2 {
    background: url(img/menu2.png);
    background-repeat: no-repeat;
    border: 0;
    width: 40px;
    height: 40px;
    display: block;
    border-radius: 20px;
    overflow: hidden;
    text-indent: -9999px;
    background-position: 0 -200px;
    cursor: pointer;
}

.menutoggle2 {
    background: url(img/menu2.png);
    /*background-color: #f1f1f1;*/
    background-position: -40px -240px;
}

.menutoggle:hover {
    background: url(img/menu2.png);
    background-color: #f00;
    background-position: -40px -200px;
}

.menutoggle2:hover {
    background: url(img/menu2.png);
    background-color: #f00;
    background-position: 0px -240px;
}

.menutoggle2 {
    position: absolute;
    top: 0;
    right: 0;
}

/*------------------------------------*\
    IMAGES
\*------------------------------------*/



/*------------------------------------*\
	TYPOGRAPHY
\*------------------------------------*/

/* nunito-sans-regular - latin */
@font-face {
  font-family: 'Nunito Sans';
  font-style: normal;
  font-weight: 400;
  src: url('fonts/nunito-sans-v6-latin-regular.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('fonts/nunito-sans-v6-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('fonts/nunito-sans-v6-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
       url('fonts/nunito-sans-v6-latin-regular.woff') format('woff'), /* Modern Browsers */
       url('fonts/nunito-sans-v6-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
       url('fonts/nunito-sans-v6-latin-regular.svg#NunitoSans') format('svg'); /* Legacy iOS */
}

/* nunito-sans-600 - latin */
@font-face {
  font-family: 'Nunito Sans';
  font-style: normal;
  font-weight: 600;
  src: url('fonts/nunito-sans-v6-latin-600.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('fonts/nunito-sans-v6-latin-600.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('fonts/nunito-sans-v6-latin-600.woff2') format('woff2'), /* Super Modern Browsers */
       url('fonts/nunito-sans-v6-latin-600.woff') format('woff'), /* Modern Browsers */
       url('fonts/nunito-sans-v6-latin-600.ttf') format('truetype'), /* Safari, Android, iOS */
       url('fonts/nunito-sans-v6-latin-600.svg#NunitoSans') format('svg'); /* Legacy iOS */
}

/* nunito-sans-800 - latin */
@font-face {
  font-family: 'Nunito Sans';
  font-style: normal;
  font-weight: 800;
  src: url('fonts/nunito-sans-v6-latin-800.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('fonts/nunito-sans-v6-latin-800.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('fonts/nunito-sans-v6-latin-800.woff2') format('woff2'), /* Super Modern Browsers */
       url('fonts/nunito-sans-v6-latin-800.woff') format('woff'), /* Modern Browsers */
       url('fonts/nunito-sans-v6-latin-800.ttf') format('truetype'), /* Safari, Android, iOS */
       url('fonts/nunito-sans-v6-latin-800.svg#NunitoSans') format('svg'); /* Legacy iOS */
}

/*------------------------------------*\
    RESPONSIVE
\*------------------------------------*/

@media only screen and (max-width:1024px) { 
    .kategorie-menu, .menubar {
        display: none;
    }
    
    header .wrapper, .header-start .wrapper {
        width: 90%;
    }
	
    header h2 {
        font-size: 18px;
        line-height: 22px;
        width: 50%;
    }

    header .search {
        width: 50%;
    }
    
    .wrapper {
        width: 90%;
        margin: 0 auto;
    }

    .content p, .content h1, .content h2, .content h3, .content h4 {
        width: 90%;
        margin: 20px auto;
    }
    
    .content h1, .content h2 {
        line-height: normal;
    }

    .content h1 {
        font-size: 24px;
    }

    .content h2 {
        font-size: 22px;
    }

    .content h3 {
        font-size: 20px;
    }

    .content h4 {
        font-size: 18px;
    }
    
    .mobile-menu-open {
        width: 100%;
        right: 0;
    }

    .menu-offset {
        overflow: hidden;
        padding-top: 150px;
    }

    .bild_mit_text .wrapper {
        flex-wrap: wrap;
        justify-content: center;
        align-items: top;
    }

    .bild_mit_text.rechts .textbox {
        flex-wrap: wrap;
        justify-content: center;
        align-items: top;
    }

    .bild_mit_text p {
        padding-top: 20px;
        padding-bottom: 20px;
    }

    /*.owl-carousel .owl-item img {
        width: auto !important;
        height: 35vh;
        max-width: none !important;
    }*/

    .owl-carousel .owl-item img {
        min-height: 210px;
        object-fit: cover;
    }

    .kompetenzen ul {
        width: 320px;
    }

    .liste {
        flex-wrap: wrap;
        justify-content: left;
        padding-left: 10%;
    }

    .liste ul {
        margin: 0 !important;
    }

    .kl2-item {
        margin-right: 0;
    }

    .wp-block-image img {
        width: 100%;
        object-fit: cover;
    }

    .content .wp-block-gallery {
        width: 100%;
    }

    .flexgalerie-2 .wrapper img,
    .flexgalerie-3 .wrapper img,
    .flexgalerie-4 .wrapper img,
    .flexgalerie-5 .wrapper img {
        max-width: 100%;
    }

    .kachelcontainer {
        justify-content: center;
    }

    .footer {
        padding-top: 5px;
    }

    .footer .wrapper .copyright {
        position: relative;
    }
    
    .footer .wrapper .imprint {
        position: relative;
    }

    .kontakt .content ul {
        width: 100%;
        flex-wrap: wrap;
        justify-content: center;
    }
    
    .kontakt .content ul li {
        width: 90%;
        margin-bottom: 30px;
    }
	
	.wowbook-toolbar-container {
    	width: 90% !important;
	}

    .leistungen-grid .dtp {
        height: 60px;
    }

    .leistungen-grid .programmierung {
        margin-bottom: 280px !important;
    }

    .leistungen-grid .image {
        width: 250px;
        margin-bottom: 60px !important;
    }

    .leistungen-grid .support {
        margin-top: -30px;
        left: -60px;
    }

    .leistungen-grid .leer {
        display: none;
    }
}

/*------------------------------------*\
    MISC
\*------------------------------------*/

::selection {
	background:#04A4CC;
	color:#FFF;
	text-shadow:none;
}
::-webkit-selection {
	background:#04A4CC;
	color:#FFF;
	text-shadow:none;
}
::-moz-selection {
	background:#04A4CC;
	color:#FFF;
	text-shadow:none;
}

/*------------------------------------*\
    WORDPRESS CORE
\*------------------------------------*/

.alignnone {
	margin:5px 20px 20px 0;
}
.aligncenter,
div.aligncenter {
	display:block;
	margin:5px auto 5px auto;
}
.alignright {
	float:right;
	margin:5px 0 20px 20px;
}
.alignleft {
	float:left;
	margin:5px 20px 20px 0;
}
a img.alignright {
	float:right;
	margin:5px 0 20px 20px;
}
a img.alignnone {
	margin:5px 20px 20px 0;
}
a img.alignleft {
	float:left;
	margin:5px 20px 20px 0;
}
a img.aligncenter {
	display:block;
	margin-left:auto;
	margin-right:auto;
}
.wp-caption {
	background:#FFF;
	border:1px solid #F0F0F0;
	max-width:96%;
	padding:5px 3px 10px;
	text-align:center;
}
.wp-caption.alignnone {
	margin:5px 20px 20px 0;
}
.wp-caption.alignleft {
	margin:5px 20px 20px 0;
}
.wp-caption.alignright {
	margin:5px 0 20px 20px;
}
.wp-caption img {
	border:0 none;
	height:auto;
	margin:0;
	max-width:98.5%;
	padding:0;
	width:auto;
}
.wp-caption .wp-caption-text,
.gallery-caption {
	font-size:11px;
	line-height:17px;
	margin:0;
	padding:0 4px 5px;
}
.sticky {

}
.bypostauthor {

}

/*------------------------------------*\
    PRINT
\*------------------------------------*/

@media print {
	* {
		background:transparent !important;
		color:#000 !important;
		box-shadow:none !important;
		text-shadow:none !important;
	}
	a,
	a:visited {
		text-decoration:underline;
	}
	a[href]:after {
		content:" (" attr(href) ")";
	}
	abbr[title]:after {
		content:" (" attr(title) ")";
	}
	.ir a:after,
	a[href^="javascript:"]:after,
	a[href^="#"]:after {
		content:"";
	}
	pre,blockquote {
		border:1px solid #999;
		page-break-inside:avoid;
	}
	thead {
		display:table-header-group;
	}
	tr,img {
		page-break-inside:avoid;
	}
	img {
		max-width:100% !important;
	}
	@page {
		margin:0.5cm;
	}
	p,
	h2,
	h3 {
		orphans:3;
		widows:3;
	}
	h2,
	h3 {
		page-break-after:avoid;
	}
}

/*########################### FLIPBOOK ###########################*/

.book_container {
    overflow: hidden;
}

.wowbook-controls {
    border-radius: 5px !important;
    background: #8f147a !important;
}

.wowbook-controls a {
    color: #fff;
}

.wowbook-controls a:hover {
    background: #fff;
    color: #8f147a;
}

.wowbook-toc {
    background: #8f147a !important;
    color: #fff !important;
}

.wowbook-toc-item a, .wowbook-toc-item a:visited, .wowbook-toc-item a:active {
    color: #fff !important;
}

.wowbook-toc-item a:hover {
    background: #fff !important;
    color: #8f147a !important;
}

.wowbook-control-fullscreen {
    width: 100px !important;
}

.wowbook-control-fullscreen i::after {
    content: " Vollbild";
    font-size: 16px;
    position: relative;
    top: -4px;
}

.wowbook-fontawesome .wowbook-control-fullscreen i::before {
    content: "\e989" !important;
}

.wowbook-toolbar-container {
    width: 565px;
    margin: 0 auto;
}

.wowbook-toolbar {
    z-index: 99 !important;
}

.wowbook-book-shadow {
	display: none !important;
}

.wowbook-container {
	background: #eaeaea;
	padding-bottom: 20px;
}


/*########################### HEAXGONS ###########################*/

.hexagon-voll::before {
    content: "";
    display: block;
    --b: 10px; /* adjust to control the border  */
    height: 130px; /* adjust to control the size  */
    aspect-ratio: 1/cos(30deg);
    clip-path: 
    polygon(0 50%,50% -50%,100% 50%,50% 150%,0 50%,
        var(--b) 50%,
        calc(25% + var(--b)*cos(60deg)) calc(100% - var(--b)*sin(60deg)),
        calc(75% - var(--b)*cos(60deg)) calc(100% - var(--b)*sin(60deg)),
        calc(100% - var(--b)) 50%,
        calc(75% - var(--b)*cos(60deg)) calc(var(--b)*sin(60deg)),
        calc(25% + var(--b)*cos(60deg)) calc(var(--b)*sin(60deg)),
        var(--b) 50%);
    position: absolute;
}

.hexagon-voll::after {
    content: "";
    display: block;
    height: 130px; /* adjust to control the size  */
    aspect-ratio: 1/cos(30deg);
    clip-path: polygon(50% -50%,100% 50%,50% 150%,0 50%);
    position: absolute;
    z-index: -1;
}

.hexagon-voll {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 130px;
    width: 130px;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    font-weight: bold;
    font-size: 16px;
    text-align: center;
}

.hexagon::before {
    content: "";
    display: block;
    --b: 10px; /* adjust to control the border  */
    height: 130px; /* adjust to control the size  */
    aspect-ratio: 1/cos(30deg);
    clip-path: 
    polygon(0 50%,50% -50%,100% 50%,50% 150%,0 50%,
        var(--b) 50%,
        calc(25% + var(--b)*cos(60deg)) calc(100% - var(--b)*sin(60deg)),
        calc(75% - var(--b)*cos(60deg)) calc(100% - var(--b)*sin(60deg)),
        calc(100% - var(--b)) 50%,
        calc(75% - var(--b)*cos(60deg)) calc(var(--b)*sin(60deg)),
        calc(25% + var(--b)*cos(60deg)) calc(var(--b)*sin(60deg)),
        var(--b) 50%);
    position: absolute;
}

.hexagon {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 130px;
    width: 130px;
    font-size: 16px;
    text-align: center;
}

/*########## FARBEN ##########*/

.farbe1 {
    background: linear-gradient(120deg, #FBC25F, #E2007B);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.farbe1::before {
    background: #FBC25F;
    background: linear-gradient(120deg, #FBC25F, #E2007B);
}

.farbe1::after {
    background: #FBC25F;
    background: linear-gradient(150deg, #fcc759, #e4217e);
}

.farbe2 {
    background: linear-gradient(120deg, #de5b62, #61bba4);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.farbe2::before {
    background: #de5b62;
    background: linear-gradient(120deg, #de5b62, #61bba4);
}

.farbe2::after {
    background: #FBC25F;
    background: linear-gradient(150deg, #de5b62, #72b8a0);
}

.farbe3 {
    background: linear-gradient(120deg, #00b5d4, #83187f);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.farbe3::before {
    background: #00b5d4;
    background: linear-gradient(120deg, #00b5d4, #83187f);
}

.farbe3::after {
    background: #FBC25F;
    background: linear-gradient(150deg, #00b5d4, #812a83);
}

.farbe4 {
    background: linear-gradient(120deg, #6c75b2, #c59dc5);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.farbe4::before {
    background: #00b5d4;
    background: linear-gradient(120deg, #6c75b2, #c59dc5);
}

.farbe4::after {
    background: #FBC25F;
    background: linear-gradient(150deg, #6b75b2, #b896c1);
}

.farbe5 {
    background: linear-gradient(120deg, #d2d603, #2c8981);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.farbe5::before {
    background: #00b5d4;
    background: linear-gradient(120deg, #d2d603, #2c8981);
}

.farbe5::after {
    background: #FBC25F;
    background: linear-gradient(150deg, #d2d603, #3d8d7f);
}

/*########## POSITION ##########*/

.leistungen-grid {
	padding-bottom: 100px;
}

.leistungen-grid a {
	pointer-events: none;
}

.leistungen-grid .wrapper {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 40px;
}

.leistungen-grid .leer {
    width: 250px;
}

.leistungen-grid .konzept {
    position: relative;
    margin-left: 130px;
    margin-right: 10px;
    margin-bottom: 210px;
}

.leistungen-grid .konzept a:nth-child(2) div {
    position: absolute;
    left: -120px;
    top: 70px;
}

.leistungen-grid .konzept a:nth-child(3) div {
    position: absolute;
    top: 140px;
}

.leistungen-grid .konzept a:nth-child(4) div {
    position: absolute;
    left: -120px;   
    top: 210px;
}

.leistungen-grid .dtp {
    position: relative;
    margin-top: 70px;
    margin-right: 132px;
    margin-bottom: 140px;
    margin-left: 10px;
}

.leistungen-grid .dtp a:nth-child(2) div {
    position: absolute;
    left: 122px;
    top: -70px;
}

.leistungen-grid .dtp a:nth-child(3) div {
    position: absolute;
    left: 122px;
    top: 70px;
}

.leistungen-grid .programmierung {
    position: relative;
    margin-top: 70px;
    margin-right: 132px;
    margin-bottom: 140px;
    margin-left: 10px;
}

.leistungen-grid .programmierung a:nth-child(2) div {
    position: absolute;
    left: 122px;
    top: -70px;
}

.leistungen-grid .programmierung a:nth-child(3) div {
    position: absolute;
    left: 122px;
    top: 70px;
}

.leistungen-grid .programmierung a:nth-child(4) div {
    position: absolute;
    left: 0;
    top: 140px;
}

.leistungen-grid .programmierung a:nth-child(5) div {
    position: absolute;
    left: 122px;
    top: 210px;
}

.leistungen-grid .programmierung a:nth-child(6) div {
    position: absolute;
    left: 0;
    top: 280px;
}

.leistungen-grid .image {
    position: relative;
    top: 0px;
}

.leistungen-grid .support {
    position: relative;
    top: 0px;
}

.leistungen-grid .support a:nth-child(2) div {
    position: absolute;
    left: 122px;
    top: -70px;
}

.leistungen-grid .support a:nth-child(3) div {
    position: absolute;
    left: 122px;
    top: 70px;
}

/*########################### REFERENZEN ###########################*/

.filterbar {
    display: flex;
    margin-top: 170px;
    justify-content: center;
    gap: 20px;
}

.filterbar p {
    font-size: 18px;
    line-height: 32px;
    color: #909090;
}

.filterbar ul {
    padding: 0;
    list-style: none;
    display: flex;
    gap: 10px;
}

.filterbar ul li {
    
}

.filterbar ul li a {
    font-size: 18px;
    color: #909090;
    border: 1px solid #d0d0d0;
    padding: 3px 10px 3px 10px;
}

.filterbar ul li a:hover {
    color: #fff;
    background: #707070;
    border: 1px solid #707070;
}

.menu-offset-cat2 {
    margin-top: 28px;
}