
html,
button,
input,
select,
textarea {
    color: #222;
}

::-webkit-input-placeholder { color:#aaa; }
:-moz-placeholder { color:#aaa; }
::-moz-placeholder {  color:#aaa; }
:-ms-input-placeholder { color:#aaa; }
::-moz-selection,
::selection { background:#ddd; text-shadow:none;
}

html { overflow-y:scroll; }
body { padding:0; margin:0; font-size:16px; font-family:'Courier New',Courier,mono; color:#555; background-color:#fff; }

a,
a:visited { color:#222; text-decoration:underline; }
a:hover { color:#222; text-decoration:underline; }
a:active, a:focus { outline:none; }
a img { border:0; }

p { margin:0 0 18px; }
h1,h2,h3,h4,h5,h6 { padding:0; margin:0 0 22px; font-size:16px; font-family:'Courier New',Courier,mono; font-weight:bold; }
h3,h4,h5,h6 { margin-bottom:0; }
h3+h4 { margin-top:22px; }
p+h2,p+h3 { margin-top:44px; }
hr { display:block; height:1px; border:0; border-top:1px solid #ccc; margin:2.6em 0; padding:0; }
img { vertical-align:middle; }
/*
.icon { display:inline-block; font: normal normal normal 30px/30px 'FontAwesome'; text-rendering:auto; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; }
*/

#header nav li { display:block; line-height:17px; }
#header nav a { display:block; padding:9px 10px; text-decoration:none; text-transform:uppercase; }
#header nav .active > a { font-weight:bold; }
#header nav .sub,
#header nav .sub2 { list-style-type:none; margin:0; padding:0; }
#header nav .sub a { padding-left:30px; text-transform:none; }
#header nav .sub2 a { padding-left:60px; }
#header nav .sub { display:none; }
#mainNavi-29.active .sub { display:block; }

.tx-macinasearchbox-pi1 { margin-bottom:20px; }
#tx-indexedsearch-searchbox-sword { margin:0 0 10px 0; width:200px; padding:5px 10px; font-family:'Courier New',Courier,mono; border:solid 1px #222; border-radius:0; background-color:#fff; }
.tx-macinasearchbox-pi1 input { margin:0 0 0 10px; width:200px; padding:5px 10px; font-family:'Courier New',Courier,mono; border:solid 1px #222; border-radius:0; background-color:#fff; }
.naviSearchBox { margin-bottom:20px; }
.naviSearchBox #searchInput { margin:0 0 0 10px; width:222px; padding:5px 10px; font-family:'Courier New',Courier,mono; border:solid 1px #222; border-radius:0; background-color:#fff; }
.naviSearchBox #searchSubmit { display:none; }

.listBox { padding-left:20px; }
.box { width:120px; height:75px; display:block; line-height:75px; background-color:#e6e7e9; text-align:center; text-decoration:none; margin:15px; float:left; position:relative; z-index:10; }
.box.color1,
.box.dark { background-color:#c7c8ca; }
.box .title { display:inline-block; line-height:22px; border-bottom:solid 2px #000; font-size:22px; font-weight:bold; padding: 2px 0; }
.box .info { position:absolute; top:-10px; left:-10px; width:140px; height:95px; display:table; border-collapse:collapse; background-color:#e6e7e9; opacity:0; }
.box.color1 .info,
.box.dark .info { background-color:#c7c8ca; }
.box .infoBox { display:table-row; }
.box .info .text { display:table-cell; vertical-align:middle; font-family:Arial, Helvetica, sans-serif; font-size:13px; line-height:16px; padding:10px;  }
.box2 { height:150px; line-height:60px; margin:15px; }
.box2 .subline { display:block; width:100px; font-family:Arial, Helvetica, sans-serif; font-size:13px; line-height:16px; padding:0 10px; text-decoration:none; }

.legend { margin-top:60px; }
.legend p { margin-bottom:10px; }
.legendNewBox { display:inline-block; height:30px; width:30px; margin:0 5px 0 0; background-color:#e6e7e9; vertical-align:middle; }
.legendReBox { display:inline-block; height:30px; width:30px; margin:0 5px 0 0; background-color:#c7c8ca; vertical-align:middle; }

.werkTeaser { margin-bottom:40px; }
.werkTeaser .text { margin-top:10px; text-transform:uppercase; font-weight:bold; }
.werkTeaser .text p { margin:0; padding: 18px 0 36px; }
.werkTeaser a { text-decoration:none!important; }

#tx_indexedsearch legend { display:none; }
#tx_indexedsearch fieldset { border:0; margin:0; padding:0; }
#tx_indexedsearch .tx-indexedsearch-form,
#tx_indexedsearch .tx-indexedsearch-search-submit { display:inline-block; }
#tx_indexedsearch .tx-indexedsearch-search-submit input { text-transform:uppercase; font-size:16px; font-family:'Courier New',Courier,mono; background-color:#c7c8ca; border:0; height:27px; padding:0 12px; vertical-align:middle; }
#tx_indexedsearch .tx-indexedsearch-form > label { display:none; }

/* Desktop */
@media (min-width: 768px) {
	.mainFrame { max-width:1100px; margin:0 auto 40px; position:relative; display:flex; justify-content:space-between; }
	#header { width:240px; }
	#logo { padding:20px 0 64px; }
	#logo img { width:214px; height:73px; margin:14px 13px; }
	#s2labLink { position:absolute; top:34px; right:14px; }

	#mainNavi { list-style-type:none; margin:0 10px 60px; padding:0; display:block!important; font-size:19px; }
	#metaNavi ul { list-style-type:none; margin:0 10px 60px; padding:0; display:block!important; }
	#header nav a:hover { text-decoration:none; }
	#openMobileNavi { display:none; }
	#header nav#metaNavi a { text-transform:none; font-size:15px; }

	#main { width:calc(100% - 315px); margin:167px 20px 60px 0; position:relative; }

	.imageSlider { position:relative; /* max-height:600px; overflow:hidden; width:820px; margin:-4px 0 0 -15px; */ }
	.imageSlider.simpleSlider { margin-top:30px; }
	.imageSlider .item { width:820px; padding-bottom:30px; }
	.imageSlider .item img { max-width:min(calc(100vw - 359px),723px); }
	.imageSlider .item:not(:first-child) { display:none; }

	.box:hover { text-decoration:none; margin:5px; padding:10px; z-index:100; }
	.box:hover .info { opacity:1; top:0px; left:0px; padding:10px; }
	.box2:hover { margin:5px; padding:10px; }
	.listBox { padding-top:14px; }
	.toggleContent { cursor:pointer; }
	
	#sliderPagerBox { float:left; margin-right:14px; }
	.sliderControl { line-height:20px; text-align:center; cursor:pointer; }
	.sliderControl #sliderPlayPause { display:inline-block; float:left; font-size:10px; }
	.sliderControl #sliderPlayPause span,
	.sliderControl .cycleButton,
	#sliderPager span { display:inline-block; float:left; width:20px; height:20px; cursor:pointer; background-color:#f7f7f7; margin:0 7px 14px 0; }
	.sliderControl #sliderPlayPause span:hover,
	.sliderControl .cycleButton:hover,
	#sliderPager span:hover,
	#sliderPager .cycle-pager-active { background-color:#d9d9d9; }
	.sliderPauseButton.cycle-pager-active { background-color:#d9d9d9!important; }
	.sliderControl .disabled { opacity:0.1; }
	#sliderNextButton { display:block; line-height:45px; width:45px; font-size:36px; font-weight:bold; text-align:center; cursor:pointer; background-color:#fff; position:absolute; bottom:-30px; right:20px; z-index:1000; }
	.imageOpener { padding-bottom:22px; }
	.frame-default { padding:25px 0 20px; max-width:723px; }
	.frame-default img { max-width:100%; height:auto; }
	.tx-indexedsearch-res { margin-top:20px; }
	.tx-indexedsearch-res h3 { margin-bottom:0; }
	
	#footer { display:none; }
	.onlyOnMobile { display:none; }
}
@media (min-width: 1120px) {
    #sliderNextButton { bottom:242px; right:-50px; }
}

@media (min-width: 768px) and (max-height: 810px) {
	#logo { padding:10px 0 20px; }
	#s2labLink { top:24px; }
	#main { margin-top:113px }
}

/* Smartphone */
@media (max-width: 767px) {
	img { max-width:100%!important; height:auto; }
	.onlyDesktop { display:none; }
	.mainFrame { max-width:360px; margin:0 auto; position:relative; background-color:#fff; }
	#logo img { width:94%; margin:24px 3% 26px; }
	.imageSlider,
	.imageSlider .cycle-slideshow,
	.imageSlider .item { width:360px!important; overflow:hidden; }
	.imageSlider .item img { width:360px!important; }
	#sliderNextButton { display:none; }
	#s2labLink { display:none; text-align:right; margin-bottom:20px; padding-right:20px; }
	
	#mainNavi { list-style-type:none; margin:0 10px 30px 10px; padding:0; font-size:20px; }
	#header nav li { line-height:24px; }
	#header nav .sub2 { display:none; }
	#openMobileNavi { padding:8px 10px; line-height:20px; background-color:#f3f4f4; margin:10px 20px; font-size:18px; cursor:pointer; }
	#header { margin-bottom:40px; }
	.imageSlider { margin:0 0 40px 0; }
	.cycleButtonx { display:none; }
	.werkTeaser .text,
	.frame-default { padding:0 20px; }
	
	.box { width:130px; }
	#projektText,
	#projektSlider { display:block!important; }
	#projektSlider { margin-top:50px; }
	.toggleContent,
	.sliderControl { display:none; }
	
	#bottomNavi { display:block; margin-top:60px }
	#bottomNavi a { display:block; padding:20px; text-decoration:none; font-weight:bold; }
	#bottomNavi .prevButton { float:left; margin-left:20px; }
	#bottomNavi .nextButton { float:right; margin-right:20px; }
	
	#footer { clear:both; background-color:#f3f4f4; padding:40px; margin-top:40px; }
	.onlyOnMobile { padding-bottom:50px; }
	.footerBox { padding:10px 0; }
	.footerBox a { display:block; padding:8px 10px; line-height:20px; background-color:#c7c8ca; margin:10px 0 20px; font-size:18px; text-decoration:none; text-align:center; cursor:pointer; }
}





/* ==========================================================================
   Helper classes
   ========================================================================== 

.ir {
    background-color: transparent;
    border: 0;
    overflow: hidden;
    *text-indent: -9999px;
}

.ir:before {
    content: "";
    display: block;
    width: 0;
    height: 150%;
}

.hidden {
    display: none !important;
    visibility: hidden;
}

.visuallyhidden {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    width: auto;
}

.invisible {
    visibility: hidden;
}
*/
.clearfix:before,
.clearfix:after {
    content: " ";
    display: table;
}

.clearfix:after {
    clear: both;
}

.clearfix {
    *zoom: 1;
}

/* ==========================================================================
   Print styles
   ========================================================================== */

@media print {
    * {
        background: transparent !important;
        color: #000 !important; /* Black prints faster: h5bp.com/s */
        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) ")";
    }

    /*
     * Don't show links for images, or javascript/internal links
     */

    .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; /* h5bp.com/t */
    }

    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;
    }
}