body,form,figure{margin:0;padding:0}img{border:0}header,footer,nav,section,aside,article,figure,figcaption{display:block}body{font-size:100.01%}select,input,textarea{font-size:99%}#container,.inside{position:relative}#main,#left,#right{float:left;position:relative}#main{width:100%}#left{margin-left:-100%}#right{margin-right:-100%}#footer{clear:both}#main .inside{min-height:1px}.ce_gallery>ul{margin:0;padding:0;overflow:hidden;list-style:none}.ce_gallery>ul li{float:left}.ce_gallery>ul li.col_first{clear:left}.float_left{float:left}.float_right{float:right}.block{overflow:hidden}.clear,#clear{height:.1px;font-size:.1px;line-height:.1px;clear:both}.invisible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.custom{display:block}#container:after,.custom:after{content:"";display:table;clear:both}
@media (max-width:767px){#wrapper{margin:0;width:auto}#container{padding-left:0;padding-right:0}#main,#left,#right{float:none;width:auto}#left{right:0;margin-left:0}#right{margin-right:0}}img{max-width:100%;height:auto}.ie7 img{-ms-interpolation-mode:bicubic}.ie8 img{width:auto}

/* Reset margins */
body,
div,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
figure,
pre,
code,
ol,
ul,
li,
dl,
dt,
dd,
table,
th,
td,
form,
fieldset,
legend
{
    margin:0;
    padding:0;
}


/* Format basic elements */
table
{
    border-collapse:collapse;
    border-spacing:0;
}

caption,
th,
td
{
    text-align:left;
    vertical-align:top;
}

abbr,
acronym
{
    border-bottom:1px dotted #666;
    font-variant:normal;
    cursor:help;
}

blockquote,
q
{
    quotes:none;
}

fieldset,
img
{
    display:block;
    margin:0;
    padding:0;
    border:0;
}

li
{
    list-style-type:none;
}

sup
{
    vertical-align:text-top;
}

sub
{
    vertical-align:text-bottom;
}

del
{
    text-decoration:line-through;
}

ins
{
    text-decoration:none;
}

a
{
    color:#00f;
}

:focus
{
    outline:0;
}


/* Font settings */
@font-face
{
    font-family:'Roboto';
    font-weight: 300;
    font-style: normal;
    src: url('../../tl_files/gsp/css/tl_files/gsp/fonts/Roboto-300/Roboto-300.eot');
    src: url('../../tl_files/gsp/css/tl_files/gsp/fonts/Roboto-300/Roboto-300.eot?#iefix') format('embedded-opentype'),
    local('Roboto Light'),
    local('Roboto-300'),
    url('../../tl_files/gsp/css/tl_files/gsp/fonts/Roboto-300/Roboto-300.woff2') format('woff2'),
    url('../../tl_files/gsp/css/tl_files/gsp/fonts/Roboto-300/Roboto-300.woff') format('woff'),
    url('../../tl_files/gsp/css/tl_files/gsp/fonts/Roboto-300/Roboto-300.ttf') format('truetype'),
    url('../../tl_files/gsp/css/tl_files/gsp/fonts/Roboto-300/Roboto-300.svg#Roboto') format('svg');
}

@font-face
{
    font-family:'Roboto';
    font-weight: 400;
    font-style: normal;
    src: url('../../tl_files/gsp/css/tl_files/gsp/fonts/Roboto-regular/Roboto-regular.eot');
    src: url('../../tl_files/gsp/css/tl_files/gsp/fonts/Roboto-regular/Roboto-regular.eot?#iefix') format('embedded-opentype'),
    local('Roboto'),
    local('Roboto-regular'),
    url('../../tl_files/gsp/css/tl_files/gsp/fonts/Roboto-regular/Roboto-regular.woff2') format('woff2'),
    url('../../tl_files/gsp/css/tl_files/gsp/fonts/Roboto-regular/Roboto-regular.woff') format('woff'),
    url('../../tl_files/gsp/css/tl_files/gsp/fonts/Roboto-regular/Roboto-regular.ttf') format('truetype'),
    url('../../tl_files/gsp/css/tl_files/gsp/fonts/Roboto-regular/Roboto-regular.svg#Roboto') format('svg');
}

@font-face
{
    font-family:'Roboto';
    font-weight: 500;
    font-style: normal;
    src: url('../../tl_files/gsp/css/tl_files/gsp/fonts/Roboto-500/Roboto-500.eot');
    src: url('../../tl_files/gsp/css/tl_files/gsp/fonts/Roboto-500/Roboto-500.eot?#iefix') format('embedded-opentype'),
    local('Roboto Medium'),
    local('Roboto-500'),
    url('../../tl_files/gsp/css/tl_files/gsp/fonts/Roboto-500/Roboto-500.woff2') format('woff2'),
    url('../../tl_files/gsp/css/tl_files/gsp/fonts/Roboto-500/Roboto-500.woff') format('woff'),
    url('../../tl_files/gsp/css/tl_files/gsp/fonts/Roboto-500/Roboto-500.ttf') format('truetype'),
    url('../../tl_files/gsp/css/tl_files/gsp/fonts/Roboto-500/Roboto-500.svg#Roboto') format('svg');
}

@font-face
{
    font-family:'Roboto';
    font-weight: 700;
    font-style: normal;
    src: url('../../tl_files/gsp/css/tl_files/gsp/fonts/Roboto-700/Roboto-700.eot');
    src: url('../../tl_files/gsp/css/tl_files/gsp/fonts/Roboto-700/Roboto-700.eot?#iefix') format('embedded-opentype'),
    local('Roboto Bold'),
    local('Roboto-700'),
    url('../../tl_files/gsp/css/tl_files/gsp/fonts/Roboto-700/Roboto-700.woff2') format('woff2'),
    url('../../tl_files/gsp/css/tl_files/gsp/fonts/Roboto-700/Roboto-700.woff') format('woff'),
    url('../../tl_files/gsp/css/tl_files/gsp/fonts/Roboto-700/Roboto-700.ttf') format('truetype'),
    url('../../tl_files/gsp/css/tl_files/gsp/fonts/Roboto-700/Roboto-700.svg#Roboto') format('svg');
}

body
{
    color:#000;
    font:13px Roboto,Verdana,sans-serif;
    font-weight: 300;
}

input,
button,
textarea,
select
{
    font-size:99%;
    font-family:inherit;
    font-weight:inherit;
}

pre,
code
{
    font:12px "Lucida Console",Monaco,monospace;
}

h1,
h2,
h3,
h4,
h5,
h6
{
    font-size:100%;
    font-weight:300;
}

h1
{
    font-size:42px;
    line-height:46px;
}

h2
{
    font-size:18px;
    font-weight:400;
}

h3
{
    font-size:16px;
    font-weight:400;
}

table
{
    font-size:inherit;
}

caption,
th
{
    font-weight:bold;
}


/* Default margins */
h1,
h2,
h3,
h4,
h5,
h6
{
    margin:0;
    padding:0;
}

h1,
h2,
h4,
h5,
h6,
p,
pre,
blockquote,
table,
ol,
ul,
form
{
    margin-bottom:12px;
    /* Should match the font size */;
}
h2 {
    margin-top:24px;
}

/* h1 {
    moz-hyphens: auto;
   -o-hyphens: auto;
   -webkit-hyphens: auto;
   -ms-hyphens: auto;
   hyphens: auto; 
} */

.img_text_right .caption,
.img_text_left .caption,
.img_text_center .caption
{
    font-size:18px;
    padding: 10px 0;
    margin-bottom: 10px;
}

.img_text_right
{
    margin-right:30px;
    text-align:right;
}

.img_text_right img
{
    display:inline;
}

.img_text_right .caption
{
    padding-top:3px;
    width: 100% !important;
}

.img_text_center
{
    text-align:center;
}

.col-2
{
    width:49%;
    display:inline-block;
    vertical-align:top;
}

.img_text_center.col-2 img
{
    display:inline;
}

.img_text_center.col-2 figure
{
    display:inline;
    text-align:center;
}

.img_text_center.col-2 figcaption
{
    width:100% !important;
}
.ce_text
{
    margin-right: 65px;
}

#mainnav {
    height: 60px;
    margin: 0;
}
#mainnav ul {
    position: absolute;
    right: 0;
}
#namen {
    float: right;
    width: auto;
}
a#nav-m {
    display: none;
    position: absolute;
    top: 0;
    right: 15px;
    padding-top: 15px;
}
#left {
    position: relative;
    right: 0;
    height: 100%;
    padding: 0 35px 0 0;
    margin-left: 0;
    z-index: 10;
}
#main {
    float: none;
}
.clearfix::after {
    content: '';
    clear: both;
    display: table;
}
.kontaktdaten .ce_text {
    margin: 75px 0 20px 0;
}
.kontaktdaten .ce_text {
    margin-right: 0;
}
.kontakt .ce_text {
    margin-right: 25px;
}

.cookiebar {
    opacity: .9;
}
.cookiebar__button {
    margin: 0;
    padding: .6em 1.2em;
    border: none;
    border-radius: 3px;
    background-color: #ccc;
    color: #333;
    font-weight: 700;
    cursor: pointer;
}

.checkbox_container legend {
    width: 150px;
    height: 25px;
    float: left;
    display: block;
    margin-right: 30px;
    margin-bottom: 10px;
    padding: 3px;
    line-height: 25px;
}
.checkbox_container input {
    float: left;
    margin-top: 10px;
}
.checkbox_container label {
    float: left;
    width: 300px;
    margin: 0;
    height: 60px;
}
.link-privacy{
    padding-left: 190px;
    margin-bottom: 20px;
}

h1, h2, h3
{
    color:#0045a1;
}
.home_text h1
{
    margin:40px 0;
}
.home_text
{
    font-size:18px;
    line-height:24px;
    margin: 0 130px 0 40px;
}
.home_text  p {
    padding-right: 0;  
}
.follow
{
    overflow:visible;
    margin-top:30px;
    margin-bottom:30px;
    font-size:16px;
}

.follow .image_container
{
    float:right;
    margin: -90px -100px 0 0;
}


/* links mannheim */
#mainnav a
{
    display: block;
    text-decoration:none;
    color:#000;
}

#mainnav a:hover
{
    text-decoration:none;
    color:#FFF;
}

#footer a,
#left a
{
    text-decoration:none;
    color:#666;
}

#main a
{
    text-decoration:none;
    color:#666;
}

#main a:hover
{
    text-decoration:none;
    color:#0045A1;
}

#footer a:hover,
#left a:hover
{
    text-decoration:none;
    color:#0045A1;
}


/* link downloads */
.ce_downloads a
{
    height:25px;
    line-height:30px;
}


/* PDF-Icon */
img.mime_icon
{
    width:25px;
    height:25px;
    float:left;
    margin-right:10px;
}


/* background mannheim */
body.mannheim
{
    margin:0 auto;
    background-color:#F2F6FA;
    background-image:url("../../tl_files/gsp/layout/all/body_bg.jpg");
    background-repeat:repeat-x;
    font-size:15px;
    line-height:22px;
    color:#666;
}


/* positions all */
#header,
#container
{
    width:960px;
    margin:0 auto;
}

#main {
    min-height:400px;
    width: auto;
    /* margin-left: 220px; */
}


/* mainnav all */
#mainnav
{
    width:666px;
    height:60px;
    margin-left:294px;
}

#mainnav ul
{
    margin:0;
    padding:0;
}


/* liststyles all */
#left ul li
{
    background-image:url("../../tl_files/gsp/layout/all/liststyle_bg.jpg");
    background-repeat:no-repeat;
    line-height:27px;
    list-style-type:none;
    padding: 0 0 0 35px;
}


/* liststyles mannheim active */
#left ul li.active
{
    background-image:url("../../tl_files/gsp/layout/mannheim/liststyle_bg_active.jpg");
    background-repeat:no-repeat;
    line-height:27px;
    color:#FFF;
    list-style-type:none;
    padding: 0 0 0 35px;
}


/* liststyles trail level2 active */
#left ul li.submenu.trail
{
    background-image:url("../../tl_files/gsp/layout/mannheim/liststyle_bg_active.jpg");
    background-repeat:no-repeat;
    line-height:27px;
    color:#FFF;
    list-style-type:none;
    padding: 0 0 0 35px;
}


/* link trail level2 active */
#left ul a.submenu.trail
{
    line-height:27px;
    color:#FFF;
}


/* liststyles all */
#left ul .level_2 li
{
    background-image:url("../../tl_files/gsp/layout/all/liststyle_bg_level2.jpg");
    background-repeat:no-repeat;
    line-height:27px;
    list-style-type:none;
    padding: 0 0 0 35px;
}


/* liststyles mannheim level2 active */
#left ul .level_2 li.active
{
    background-image:url("../../tl_files/gsp/layout/mannheim/liststyle_bg_level2_active.jpg");
    background-repeat:no-repeat;
    line-height:27px;
    color:#004996;
    list-style-type:none;
    padding: 0 0 0 35px;
}


/* mainnav mannheim */
#mainnav li
{
    width:111px;
    height:60px;
    float:left;
    display:inline;
    text-align:center;
    background-image:url("../../tl_files/gsp/layout/all/mainnav_li.jpg");
    background-repeat:no-repeat;
    line-height:60px;
    color:#FFF;
}

#mainnav li.last
{
    width:111px;
    height:60px;
    float:left;
    display:inline;
    text-align:center;
    background-image:url("../../tl_files/gsp/layout/all/mainnav_li_last.jpg");
    background-repeat:no-repeat;
    line-height:60px;
}

#mainnav li.active
{
    width:111px;
    height:60px;
    float:left;
    display:inline;
    text-align:center;
    background-image:url("../../tl_files/gsp/layout/mannheim/mainnav_li_active.jpg");
    background-repeat:no-repeat;
    line-height:60px;
}

#mainnav li.trail
{
    width:111px;
    height:60px;
    float:left;
    display:inline;
    text-align:center;
    background-image:url("../../tl_files/gsp/layout/mannheim/mainnav_li_active.jpg");
    background-repeat:no-repeat;
    line-height:60px;
}

#mainnav li.trail a
{
    color:#FFF;
}

#mainnav li.last.active
{
    width:111px;
    height:60px;
    float:left;
    display:inline;
    text-align:center;
    background-image:url("../../tl_files/gsp/layout/mannheim/mainnav_li_last_active.jpg");
    background-repeat:no-repeat;
    line-height:60px;
}

#mainnav li.last.trail
{
    width:111px;
    height:60px;
    float:left;
    display:inline;
    text-align:center;
    background-image:url("../../tl_files/gsp/layout/mannheim/mainnav_li_last_active.jpg");
    background-repeat:no-repeat;
    line-height:60px;
}


/* liststyles content */
#main li
{
    margin-left:30px;
    list-style-type:disc;
}


/* logo all */
#logo
{
    width:247px;
    height:118px;
    float:left;
    margin: 25px 0 20px 20px;
}


/* namen mannheim */
#namen
{
    width:693px;
    height:113px;
    float:left;
    margin-top:30px;
    margin-bottom:20px;
    text-align:right;
    color:#0045A1;
}


/* content all */
#container
{
    width:946px;
    padding:7px;
    background-color:#FFF;
    /* background-image:url("../../tl_files/gsp/layout/all/content_bg.jpg"); */
    background-repeat:repeat-y;
    border:1px solid #B0B0B0;
    -moz-border-radius:9px;
    -webkit-border-radius:9px;
    border-radius:9px;
    /* behavior:url("assets/css3pie/1.0.0/PIE.htc"); */
}


/* footer all */
#footer
{
    margin-top:24px;
    background-color:#E5E5E5;
}
#footer .inside
{
    width:920px;
    padding: 30px 20px;
    margin: 0px auto;
    overflow: hidden;
}
#footer_links, #footer_nav {
    float: left;
}
#footer_links p, #footer_nav {
    margin-left: 47px;
}
#footer_links li
{
    line-height:22px;
    color:#0045A1;
}
#footer_links .footer_clm
{
    width:230px;
    height:auto;
    float:left;
}
#footer_links .footer_clm img
{
    float:left;
    margin-right:5px;
}
#footer  h2
{
    width:173px;
    height:42px;
    float:left;
    display:block;
    margin:0;
    padding:0;
    font-weight: 300;
    line-height:42px;
    color:#666;
}


/* contact form */
input#ctrl_2,
input#ctrl_3,
input#ctrl_4,
input#ctrl_5,
input#ctrl_6,
.text
{
    width:350px;
    height:25px;
    margin-bottom:10px;
    padding:3px;
    border:1px solid #CCC;
    -moz-border-radius:5px;
    -webkit-border-radius:5px;
    border-radius:5px;
    line-height:25px;
}

.submit_container input
{
    clear:both;
    margin-left:185px;
    padding:5px;
    background-color:#f4f4f4;
    border:1px solid #CCC;
    -moz-border-radius:5px;
    -webkit-border-radius:5px;
    border-radius:5px;
}


/* contact form */
label
{
    width:150px;
    height:25px;
    float:left;
    display:block;
    margin-right:30px;
    margin-bottom:10px;
    padding:3px;
    line-height:25px;
}

div.row_5.odd.explanation
{
    width:300px;
    margin:10px auto;
}


/* contact form */
textarea#ctrl_7
{
    width:350px;
    height:180px;
    /* float:left; */
    display:block;
    margin-bottom:20px;
    padding:3px;
    border:1px solid #CCC;
    -moz-border-radius:5px;
    -webkit-border-radius:5px;
    border-radius:5px;
}

.partner ul {
    margin:0;
    padding:0;
}
#main .partner li {
    position: relative;
    width: 190px;
    margin: 0 20px;
    height: 120px;
    list-style-type: none;
    vertical-align: middle;
}
#main .partner li.col_first {
    margin-left: 0;
}
#main .partner li.col_last {
    margin-right: 0;
}
.partner li figure {
    position: relative;
    top: 50%;
    transform: translateY(-50%);
}
.partner li img {
    margin: 0 auto;
    width: auto;
    max-height: 110px;
}

.vorsorge {
    position: relative;
    border-top: 1px solid #e40514;
    border-bottom: 1px solid #e40514;
}
#home .vorsorge  {
    margin: 20px 180px 0px 40px;
    padding: 10px 0 0 300px;
}
#darmspiegelung .vorsorge {
    margin: 20px 70px 20px 0;
    padding: 20px 0 10px 300px;
}
.vorsorge figure {
    position: absolute;
    top: 25px;
    left: 0;
}
.vorsorge p {
    position: relative;
}
.vorsorge p img {
    position: absolute;
    left: 0;
    width: 180px;
    border: 1px solid #555;
}
.vorsorge p:nth-child(3){
    height: 125px;
    padding: 0 10px 0 200px;
}
#darmspiegelung .vorsorge p:nth-child(3){
    height: 170px;
}

    
@media only screen and (max-width: 960px) {
    #wrapper, #header, #mainnav, #panorama, #home, .custom, [id*='panorama'] {
        width: 100%;
    }
    #container {
        width: auto;
        margin: 0 20px;
    }
    #namen {
        padding: 0 20px;
    }
    .image_container img {
        max-width: 100%;
    }
}
@media only screen and (max-width: 870px) {
    #footer {
        height: auto;
    }
    #footer .inside {
        width: 100%;
        height: auto;
        padding: 30px 0;
        margin: 0;
    }
    #footer_links {
        padding: 0 20px;
    }
    #footer_links .footer_clm {
        float: none;
        margin-bottom: 20px;
    }
    #footer_links .footer_clm::after {
        content: '';
        clear: both;
        display: table;
    }
    #footer_nav li {
        font-size: 16px;
        line-height: 32px;
    }
}
@media only screen and (max-width: 769px) {
    img { 
        max-width: 100%; 
        height: auto;
    }
    #mainnav {
        margin-left: 0;
    }
    #header {
        height: auto;
    }
    #header .inside {
        padding: 0 30px 0 15px;
    }
    #logo {
        float: none;
    }
    #namen {
        float: none;
        width: 100%;
        height: auto;
        padding: 0;
    }
    #left {
        float: none;
        width: 100%;
        padding: 0;
        margin-bottom: 30px;
    }
    #main {
        width: 100%;
        margin: 0;
    }
    #main .inside, #left .inside {
        padding: 0 30px;
    }
    [id*="subnav"] li {
        margin: 5px 0;
    } 
    h1 {
        font-size: 30px;
        line-height: 36px;
    }
    .img_text_left img {
        margin: 0;
    }
    .img_text_right {
        margin-right: 0;
    }
    .home_text {
        margin: 0;
    }
    .home_text.follow {
        margin: 50px 120px 20px 20px;
    }
    .home_text  p {
        padding-right: 0;  
    }
    #home .vorsorge {
        margin: 20px 0px 0px 0px;
        padding: 10px 0 0 0px;
    }
    #darmspiegelung .vorsorge {
        margin: 0px 0px 20px 0px;
        padding: 10px 0 0 0px;
    }
    .vorsorge figure {
        position: relative;
        top: 10px;
        margin-bottom: 30px;
    }
    .ce_text {
        margin-right: 20px;
    }
    #willkommen .float_left {
        float: none;
        width: 100%;
        margin-bottom: 20px;
    }
    #willkommen figure {
        text-align: center;
    }
    #willkommen img {
        display: inline-block;
    }
    #willkommen .text_start p {
        padding: 20px;
    }
    .kontaktdaten .ce_text {
        margin: 20px 0;
    }
}
@media only screen and (max-width: 670px) {
    body.mannheim {
        font-size: 17px;
        line-height: 25px;
    }
    #container {
        width: 100%;
        margin: 0;
    }
    h3 {
        font-size: 20px;
    }
    h3 {
        font-size: 18px;
    }
    #header .inside {
        padding-top: 60px;
    }
    a#nav-m { display: block; }
    a:target ~ #mainnav {
        left: 0;
    }
    #mainnav {
        position: fixed;
        left: -100%;
        top: 0px;
        width: 100%;
        height: 100vh;
        transition: left 300ms ease 0s;
        display: block;
        background: rgba(0,0,0,.6);
        z-index: 100;
    }
    #mainnav ul {
        top: 0;
        left: 0;
        width: 65%;
        height: 100%;
        padding: 0 20px;
        background: rgba(57, 58, 60, 0.8);
        box-shadow: 2px 0 5px 0 rgba(0,0,0,.5);
    }
    #mainnav li, #mainnav li.trail, #mainnav li.last, #mainnav li.active {
        float: none;
        display: block;
        width: 100%;
        background-image: none;
        border-bottom: 1px solid #999;
    }
    #mainnav li.trail, #mainnav li.active {
        background: #0045a2;
    }
    #mainnav li a, #mainnav span.active {
        display: block;
        font-size: 20px;
        color: #fff;
        text-align: left;
        padding: 0 10px;
    }
    #logo {
        margin-left: auto;
        margin-right: auto;
    }
    #main .inside, #left .inside {
        padding: 0 20px;
    }
    h1 {
        font-size: 24px;
        line-height: 30px;
    }
    input.text, textarea {
        float: none !important;
        width: 95% !important;
    }
    .submit_container {
        position: relative;
        height: 30px;
    }
    .submit_container input {
        position: absolute;
        right: 0;
        margin: 0;
    }
    #main .partner li {
        width: 100%;
        margin: 0;
    }
    #container {
        padding: 0;
        border: 0;
    }
    .img_text_left, .img_text_right  {
        text-align: center;
    }
    .img_text_right {
        margin-right: 0;
    }
    .col-2 {
        width: 100%;
        display: block;
    }
    .col-2 img {
        width: 150px;
    }
    .float_left {
        float: none;
        width: 100%;
        margin-bottom: 20px;
    }
    .ce_text {
        margin-right: 0;
        moz-hyphens: auto;
       -o-hyphens: auto;
       -webkit-hyphens: auto;
       -ms-hyphens: auto;
       hyphens: auto;
    }
    .vorsorge  p img {
        position: relative;
        margin-bottom: 10px;
    }
    .vorsorge p:nth-child(3) {
        height: auto;
        padding: 0;
    }
    #darmspiegelung .vorsorge p:nth-child(3) {
        height: auto;
    }
}
@media only screen and (max-width: 450px) {
    #footer_links, #footer_nav {
        float: none;
    }
    #footer_nav {
        margin-left: 68px;
    }
    #footer_nav li {
        font-size: 17px;
    }
}
