html, form,
body {
    cursor: default;
    margin: 0px;
    padding: 0px;
    width: 100%;
    height: 100%;
    background-color: #1F5BBD;
    text-align: center;
    /*background-image: url(/images/basic/uiudis.gif);*/
    background-position: center;
    background-repeat: repeat-y;
    margin: 0px auto;
}

#header-logo {
    z-index: -1000;
}

#header-logo-bottom {
    /* height: 523px; */
    /* margin-top: -523px; */
    /* height: 590px; */
    /* height: 512px; */
    /* margin-top: -590px; */
    height: 638px;
    margin-top: -638px;
    /*background-color: rgba(0,255,0,0.75);*/
    box-shadow: inset 0px 0px 20px 0px rgba(0,0,0,0.9);
    z-index: 1000;
    position: relative;
}

    #header-logo-bottom a {
        position: absolute;
        /* bottom:25pt; */
        bottom: 18pt;
        left: 0;
        width: 100%;
        text-align: center;
        color: white;
        font-size: 24pt;
        font-weight: bold;
        font-family: Verdana;
    }

.pre_content {
    background-color: #1F5BBD;
    display: flex;
}

    .pre_content .left {
        flex: 2;
    }

    .pre_content .right {
        flex: 1;
        text-align: right;
        display: flex;
        flex-direction: column;
        color: white;
        font-size: 12pt;
        font-weight: bold;
        font-family: Verdana;
        padding-top: 15pt;
        padding-bottom: 15pt;
    }

    .pre_content .row {
        flex: 1;
    }

    .pre_content .tel_top {
        color: white;
        font-size: 48pt;
        font-weight: bold;
        font-family: Verdana;
    }

    .pre_content .tel_bottom {
        color: white;
        font-size: 8.5pt;
        font-weight: bold;
        font-family: Verdana;
        padding-bottom: 15pt;
    }

form {
    width: 100%;
    height: 100%;
    text-align: center;
    margin: 0px auto;
}

div.main {
    /*	display: none; */
    /* background-image: url(../middle.jpg); */
    background-position: center 355px;
    background-repeat: no-repeat;
    width: 1000px;
    /*overflow-x: hidden;*/
    text-align: center;
    margin: 0px auto;
    padding: 0px;
}

div.veranstaltungstext {
    background-color: #;
    width: 600px;
    text-align: justify;
    margin: 0px auto;
    color: #fff;
    font-size: 6pt;
    font-weight: bold;
    font-family: Verdana;
}

div.back {
}



div.bg_top {
    /*background-image: url(//cdn.kulturpur.net/header2022v2.jpg);*/
    /* background-image: url(../KulturPurHead2019-1.jpg); */
    background-position: center top;
    background-repeat: no-repeat;
    background-color: #000;
    width: 1000px;
    /* height: 885px; */
    /*overflow-x: hidden;*/
    padding: 0px;
    margin: 0px;
}



/************************************/

div.basic_termine {
    /* background-image: url(/images/basic/bg.jpg); */
    background-color: #fff;
    /* width: 900px; */
    text-align: center;
    margin-top: 0;
    margin: -40px auto;
    border-top: 1px solid #000;
}


div.content {
    /* background-image: url(../2farben.jpg); */
    background-color: #fff;
    width: 1000px;
    text-align: center;
    margin: 0px auto;
}

div.item,
div.item_hidden {
    /* width: 800px; */
    text-align: center;
    overflow-x: hidden;
    min-height: 75px;
    border: 1px solid #000;
    border-top: 0px none;
}

    div.item td.left div.left,
    div.item_hidden td.left div.left {
        width: 200px;
        height: 100px;
        background-position: top left;
        background-repeat: no-repeat;
        /* float:left; */
        overflow-x: hidden;
    }

    div.item td.left div.left {
        height: 300px;
    }

    div.item td.middle,
    div.item_hidden td.middle {
        display: inline-block;
        /* width: 500px; */
        height: 100%;
        /* float:left; */
        text-align: left;
    }

    div.item td.right,
    div.item_hidden td.right {
        width: 100px;
        min-height: 100%;
        background-position: center right;
        background-repeat: no-repeat;
        /* float:left; */
        overflow-x: hidden;
    }


    /*******************************/


    div.item td.middle h1,
    div.item_hidden td.middle h1 {
        padding: 10px;
        font-family: Verdana;
        font-weight: bold;
        font-size: 13pt;
        margin: 0px;
        line-height: normal;
    }

    div.item td.middle h2,
    div.item_hidden td.middle h2 {
        padding: 10px;
        padding-top: 0px;
        margin: 0px;
        font-family: Verdana;
        font-weight: bold;
        font-size: 8pt;
        margin: 0px;
        line-height: normal;
    }

    div.item td.middle div.text {
        /*height: 10px;*/
        padding: 0px 10px 0px 10px;
        margin: 0px;
        font-family: Verdana;
        font-size: 8pt;
        overflow-y: hidden;
        text-align: justify;
    }

    div.item_hidden td.middle div.text {
        display: none;
        margin: 0px;
        padding: 0px 10px 0px 10px;
        font-family: Verdana;
        font-size: 8pt;
        overflow-y: hidden;
    }

    div.item td.middle div.date,
    div.item_hidden td.middle div.date {
        padding: 10px;
        font-family: Verdana;
        font-weight: bold;
        font-size: 9pt;
    }

    /**************************************/

    div.item td.right a {
        height: 300px;
    }

    div.item_hidden td.right a {
        height: 100px;
    }

    div.item td.right a,
    div.item_hidden td.right a {
        width: 100px;
        display: block;
        background-image: url(//cdn.kulturpur.net/images/basic/btn-buchen2016.jpg);
        background-position: left center;
        border-left: 1px solid #000;
        margin-right: -1px;
    }

        div.item td.right a:hover,
        div.item_hidden td.right a:hover {
            width: 100px;
            display: block;
            background-position: right center;
            border-left: 1px solid #000;
        }

    div.item td.right.soldout a,
    div.item_hidden td.right.soldout a {
        background-image: url(//cdn.kulturpur.net/images/basic/btn-buchen2017_soldout.jpg);
        background-position: left center;
        margin-right: -1px;
    }

        div.item td.right.soldout a:hover,
        div.item_hidden td.right.soldout a:hover {
            background-position: right center;
        }







/*************************/

div.anfahrtheadline {
    color: #fff;
    font-family: Verdana;
    text-align: left;
	padding: 0 10px;
}

div.item td.left,
div.item_hidden td.left {
    width: 100px;
    vertical-align: top;
}

div.item td.middle,
div.item_hidden td.middle {
    /* width: 600px; */
    vertical-align: top;
    height: 100%;
}

div.item td.right,
div.item_hidden td.right {
    width: 100px;
    vertical-align: top;
    height: 100%;
}


div.item table,
div.item_hidden table,
div.item table td,
div.item_hidden table td {
    padding: 0px;
    margin: 0px;
    border-collapse: collapse;
}

div.item table,
div.item_hidden table {
    width: 100%;
}

div.footer {
    background-image: url(//cdn.kulturpur.net/images/vorstellung/KP34/footer2026-KP34v1.jpg);
    background-position: center bottom;
    background-repeat: no-repeat;
    width: 1000px;
    height: 680px;
    padding: 0px;
    margin: 0px;
    background-color: blue;
}

    div.footer a {
        font-family: Verdana;
        color: #fff;
        font-size: 11pt;
        /*text-decoration: none;*/
    }

        div.footer a:hover {
            text-decoration: none;
        }

div.navi {
    display: none;
    /*background-image: url(/images/basic/navi-bg.jpg);
	background-position: left top;*/
    height: 32px;
    border: 1px solid #000;
    margin-bottom: 20px;
    text-align: center;
    overflow: hidden;
}

    div.navi ul {
        width: 800px;
        margin: 0px;
        padding: 0px;
        display: inline;
        text-align: center;
        clear: both;
    }

        div.navi ul li {
            width: 50%;
            float: left;
            display: inline;
            margin: 0px;
            padding: 0px;
            height: 32px;
        }

            div.navi ul li a {
                /*	background-image: url(/images/basic/navi-bg.jpg); */
                background-color: #fff;
                background-position: left 0;
                height: 100%;
                display: block;
                font-size: 10pt;
                font-weight: bold;
                font-family: Verdana;
                color: #000;
                padding: 5px;
            }

                div.navi ul li a:hover {
                    /*	background-image: url(/images/basic/navi-bg.jpg);*/
                    background-color: #f60;
                    background-position: left 110;
                    color: #000;
                }

div.default {
    margin-left: 100px;
    margin-right: 100px;
    margin-bottom: 20px;
    border: 1px solid #000;
    /*	background-image: url(/images/basic/bg.jpg); */
    background-color: #fff;
    padding: 10px;
    text-align: justify;
    font-family: Verdana;
    font-size: 10pt;
}

    div.default a {
        color: #00f;
    }

    div.default h1 {
        font-size: 15pt;
    }

    div.default h2 {
        font-size: 13pt;
    }

.box {
    margin-top: 10px;
    background-color: RGBA(0,0,0,0.6);
    padding: 10px;
}

.basic_termine > table {
    width: 100%;
}

div.item td.left div.left {
    background-position: center center !important;
    background-size: cover !important;
}

div.item_hidden td.left div.left {
    background-position: center center !important;
    background-size: cover !important;
}

#div0 .item .left {
	background-position: -205px center !important;
}

#div0 .item_hidden .left {
}

#div1 .item .left {
    
}

#div1 .item_hidden .left {
}

#div2 .item .left {
	background-size: contain !important;
    background-color: #014ea0;
}

#div2 .item_hidden .left {
}

#div3 .item .left {
	background-position: -205px center !important;
}

#div3 .item_hidden .left {
}

#div4 .item .left {
}

#div4 .item_hidden .left {
}

#div5 .item .left {
}

#div5 .item_hidden .left {
}

#div6 .item .left {
}

#div6 .item_hidden .left {
}

#div7 .item .left {
}

#div7 .item_hidden .left {
}

#div8 .item .left {
}

#div8 .item_hidden .left {
}

#div9 .item .left {
}

#div9 .item_hidden .left {
}

#div10 .item .left {
}

#div10 .item_hidden .left {
}

#div11 .item .left {
}

#div11 .item_hidden .left {
}


.back {
    position: relative;
}

div.basic_termine {
    margin: 0px auto;
}

div.navi {
    display: inline-block;
    text-align: right;
    position: absolute;
    right: 0;
    color: #f00;
    background-color: #000;
    font: 17pt/35pt arial;
    font-weight: bold;
    border: 0 none;
    margin-top: -140px;
    /*margin-left: 565px;*/
    padding: 5pt 10pt;
    height: auto;
    -webkit-animation: bounceIn 1.5s linear;
    -webkit-animation-iteration-count: infinite;
    animation: bounceIn 1.5s linear;
    animation-iteration-count: infinite;
}

@-webkit-keyframes bounceIn {
    0% {
        transform: scale(1);
    }

    25% {
        transform: scale(0.95);
    }

    75% {
        transform: scale(1.05);
    }

    100% {
        transform: scale(1);
    }
}

@keyframes bounceIn {
    0% {
        transform: scale(1);
    }

    25% {
        transform: scale(0.95);
    }

    75% {
        transform: scale(1.05);
    }

    100% {
        transform: scale(1);
    }
}


/* =========================
   Mobile fixes (Overrides)
   ========================= */

html, body {
    height: auto; /* dein height:100% kann auf mobile nerven */
    overflow-x: hidden; /* verhindert horizontales Scrollen */
}

img {
    max-width: 100%;
    height: auto;
}

/* Statt fix 1000px -> fluid mit max-width */
div.main,
div.bg_top,
div.content,
div.footer {
    width: 100%;
    max-width: 1000px; /* Desktop bleibt wie bisher */
    margin: 0 auto;
}

/* Google Map: auf Mobile weniger hoch */
@media (max-width: 768px) {
    iframe {
        height: 320px !important;
    }
}

/* Header-Overlay: die feste 638px Höhe ist auf Mobile zu groß */
@media (max-width: 768px) {
    #header-logo-bottom {
        height: auto;
        margin-top: 0;
        box-shadow: none; /* optional: wirkt oft „zu schwer“ auf Mobile */
    }

        #header-logo-bottom a {
            position: static;
            display: block;
            padding: 12px 10px;
            font-size: 16pt;
        }
}

@media (max-width: 768px) {

  .basic_termine tr:hover td,
  .basic_termine tr:hover {
    background: inherit;
  }

}

/* Pre-Header (Telefon/Öffnungszeiten) soll umbrechen */
@media (max-width: 768px) {
    .pre_content {
        flex-wrap: wrap;
        padding: 10px;
        gap: 10px;
    }

        .pre_content .left,
        .pre_content .right {
            flex: 1 1 100%;
            text-align: left;
            padding: 0;
        }

        .pre_content .tel_top {
            font-size: 24pt; /* war 48pt -> zu groß auf Mobile */
            line-height: 1.1;
        }

        .pre_content .right {
            font-size: 11pt;
            padding-top: 0;
            padding-bottom: 0;
        }
}

/* Items: Tabellenlayout auf Mobile stapeln */
@media (max-width: 768px) {

    /* Tabellen in den Items „blockig“ machen */
    div.item table,
    div.item_hidden table,
    div.item table tbody,
    div.item_hidden table tbody,
    div.item table tr,
    div.item_hidden table tr,
    div.item table td,
    div.item_hidden table td {
        display: block;
        width: 100%;
    }

    /* Bild oben: volle Breite */
    div.item td.left,
    div.item_hidden td.left,
    div.item td.left div.left,
    div.item_hidden td.left div.left {
        width: 100% !important;
        height: 180px; /* sinnvolle Höhe fürs Handy */
    }

    /* Text */
    div.item td.middle,
    div.item_hidden td.middle {
        width: 100%;
    }

        div.item td.middle h1,
        div.item_hidden td.middle h1 {
            font-size: 14pt;
            padding: 10px 10px 0 10px;
        }

        div.item td.middle div.text,
		div.item_hidden td.middle div.text {
            font-size: 10pt; /* besser lesbar auf Mobile */
            line-height: 1.35;
        }

        div.item td.middle div.date,
        div.item_hidden td.middle div.date {
            font-size: 10pt;
            padding: 10px;
        }

    /* CTA-Button (rechts) nach unten, volle Breite */
    div.item td.right,
    div.item_hidden td.right {
        width: 100%;
    }

        div.item td.right a,
        div.item_hidden td.right a,
		div.item td.right a:hover,
        div.item_hidden td.right a:hover,
		div.item td.right.soldout a,
        div.item_hidden td.right.soldout a,
		div.item td.right.soldout a:hover,		
		div.item_hidden td.right.soldout a:hover{
            width: 100% !important;
            height: 64px !important; /* statt 300px/100px */
            border-left: 0;
            border-top: 1px solid #000;
            background-position: center center;
            background-image: url(//cdn.kulturpur.net/images/basic/mobile-booking.jpg);
            background-image: url(../images/basic/mobile-booking.jpg);
            background-size: cover; /* Button-Grafik passt besser */
            background-repeat: no-repeat;
        }

    .basic_termine table{
        border-collapse: separate;
        /* border-spacing: 0 10px; /* horizontal | vertikal */ */
    }
	
	/* Optische Box pro Zeile */
	.basic_termine tr td {
		padding: 12px 10px;
		background: #fff;
		border-bottom: 1px solid #999;
	}
}

@media (max-width: 768px) {

    /* Text in Items auf Mobile begrenzen */
    div.item td.middle div.text,
    div.item_hidden td.middle div.text {
        max-height: 100px;
        overflow: hidden;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 4; /* ca. 4 Zeilen */

        line-height: 1.35em;
    }
}

/* Footer: fixe Höhe und Hintergrundbild können auf Mobile problematisch sein */
@media (max-width: 768px) {

    div.anfahrtheadline {
        color: #fff;
        font-family: Verdana;
        text-align: center;
    }


    div.footer {
        height: auto; /* statt 680px */
        padding-bottom: 20px;
        padding-bottom: 125px;
        background-size: contain;
		background-color:#000;
    }

        div.footer a {
            font-size: 10pt;
        }
}
