

/* =============================================================================
 * reset & defaults
 * ========================================================================== */

/* reset
------------------------------------------------- */
* {margin: 0; padding: 0; border: 0; outline: 0; background-repeat: no-repeat;}
#wrapper * {-webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box;}

#colorbox *,
#wrapper .mejs-container * {-webkit-box-sizing: content-box; -moz-box-sizing: content-box; box-sizing: content-box;}

ol, ul {list-style: none;}
table {border-spacing: 0; border-collapse: collapse;}

blockquote, q {quotes: none;}

blockquote:before,
blockquote:after,
q:before,
q:after {content: ''; content: none;}

b,strong {font-weight: bold;}

input {outline: 0 none;}

figure {line-height: 0;}

/* lightbox link height
------------------------------------------------- */
.image_container a {line-height: 0;}

/* lightbox width
------------------------------------------------- */
#mbCenter img {width: auto; max-width: 100%; height: auto; vertical-align: middle;}

/* mod_navigation (mainmenu)
------------------------------------------------- */
#mainmenu .level_1,
#mainmenu .level_2 {margin: 0; padding: 0;}

.visually-hidden,
.visually-hidden-focusable:not(:focus):not(:focus-within) {
    width:1px !important;
    height:1px !important;
    padding:0 !important;
    margin:-1px !important;
    overflow:hidden !important;
    clip:rect(0, 0, 0, 0) !important;
    white-space:nowrap !important;
    border:0 !important;
}
.visually-hidden:not(caption),
.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption) {
    position: absolute !important;
}
.visually-hidden *,
.visually-hidden-focusable:not(:focus):not(:focus-within) * {
    overflow: hidden !important
}

/* =============================================================================
 * general styles & page setup
 * ========================================================================== */
html,body {height: 100%;}
a {outline: none; -moz-outline-style: none; -webkit-outline-style: none;}
iframe {max-width: 100%; border: 0;}
code, pre {font-family: monospace;}
hr {padding: 0; border: none; border-top: medium double #dddddd; color: #cccccc; text-align: center; height: 1px; margin: 25px 0;}


#container .col50 .image_container img {width:auto;}

#container .image_container img {
    max-width: 100%;
    height: auto;
}

.image_container img:after {content: ""; clear: both; display: block;}

p {margin-bottom: 14px;}
p.more {margin-bottom: 0;}
p.back {margin-bottom: 0; margin-top: 10px;}
blockquote {font-style: italic; font-size: 16px; margin-bottom: 20px;}
blockquote p {line-height: 22px;}

/* Consistency of cursor style, Corrects inability to style clickable 'input' types in iOS */
button[disabled],
input[disabled] {cursor: default;}

/* Remove background from selected images */
img::selection {background: transparent;}
img::-moz-selection {background: transparent;}

img {max-width: auto !important;}

/* HTML5 display definitions
------------------------------------------------- */
summary {display: block;}
[hidden] {display: none;}

/* =============================================================================
 * * & html & body
 * ========================================================================== */

html {overflow-y: scroll; min-height: 100%;}
html, body {}
body {background-repeat: repeat;}
body.ie8 {overflow: auto;}



/* =============================================================================
 * =============================================================================
 * =============================================================================
 * =============================================================================
 * =============================================================================
 * =============================================================================
 * =============================================================================
 * =============================================================================
 * ========================================================================== */




/* =============================================================================
 * default stylesheet
 * ========================================================================== */

/* body, headlines
------------------------------------------------- */
body {background: #f2f2f2;}
#wrapper {background: #f2f2f2;}

body, input, select, textarea {font-size: 14px;}
body, input, select, textarea, a, p, span {line-height: 1.5;}

body, input, select, textarea {
    font-family: "Arial", sans-serif;
    color: #797979;
}

h1, h2, h3, h4, h5, h6  {
    font-family: "Arial", sans-serif;
    font-weight: normal;
}

h1, h2, h3, h4, h5, h6, .color {color: #7a0627;}
h4 {}

a {
    color: #797979;
    text-decoration: none;
}

a:hover {color: #7a0627;}

p.back {}

/* a (special)
------------------------------------------------- */
#header div.logo a,
#header div#logo a,
#header ul.level_1 a,
#left ul.level_1 a,
#right ul.level_1 a,
#footer ul.level_1 a,
#main ul.level_1 a {text-decoration: none;}

/* headlines
------------------------------------------------- */
h1, h2, h3, h4, h5, h6 {line-height: 1.3;}
h1, h1 a {
    font-size: 24px;
    padding: 0;
    margin: 0;
    padding-bottom:10px;
    margin-bottom:20px;
    border-bottom:1px dashed #7a0627;
}

h2, h2 a {
    font-size: 18px;
    padding: 0;
    margin: 0;
    margin-bottom:10px;
}

h3, h3 a {
    font-size: 18px;
    padding: 0;
    margin: 0;
}

h4, h4 a {
    font-size: 14px;
    padding: 0;
    margin: 0;
}

h5, h5 a {
    font-size: 12px;
    padding: 0;
    margin: 0;
}

h6, h6 a {
    font-size: 11px;
    padding: 0;
    margin: 0;
}

#header div.logo a,
#header div#logo a,
#header ul.level_1 a,
#left ul.level_1 a,
#right ul.level_1 a,
#footer ul.level_1 a {
    color: inherit;
    background: none;
    padding: 0;
    margin: 0;
}

/* cols & widths
------------------------------------------------- */
.col25, .col33, .col40, .col50, .col60, .col75 {float: left;}

.col25 {
    width: 24%;
    margin-right: 1%;
}

.col25.last {
    width: 25%;
    margin-right: 0;
}

.col33 {
    width: 32.3333333%;
    margin-right: 1%;
}

.col33.last {
    width: 32.3333333%;
    margin-right: 0;
}

.col40 {
    width: 39%;
    margin-right: 1%;
}

.col50 {
    width: 49%;
    margin-right: 1%;
}

.col50.last {
    width: 49%;
    margin-right: 0;
}

.col60 {
    width: 59%;
    margin-right: 1%;
}


.col75 {
    width: 74%;
    margin-right: 1%;
}

.col75.last {
    width: 75%;
    margin-right: 0;
}

.col100 {
    width: 100%;
}


.col100.center {
    width: 50%;
    margin: 0 auto;
}

/* ol,ul,li
------------------------------------------------- */
#main ol,
#main ul {
    padding: 0 0 0 15px;
    margin: 10px 0 10px 0;
    list-style-type: none;
}

#main ol li,
#main ul li {
    padding: 0 0 0 10px;
    margin: 0;
}

#main ol li {list-style-type: decimal;}
#main ul li {list-style-type: disc;}

#main li {list-style: url(../../files/layout/bg-li.png);}

/* image_container floats
------------------------------------------------- */
#main .image_container.float_right {margin: 0 0 3% 5%;}
#main .image_container.float_left {margin: 0 3% 1% 0;}
#main .image_container.float_above {margin: 0 0 2% 0;}

/* ce_form
------------------------------------------------- */
#main .captcha-container {background: #ecd0d0;}

#main .content-form {width:500px; margin-left:20px;}

input.button,
input.reset,
input[type="submit"],
input.submit {
    color: #ffffff;
    background: #7a0627;
    padding: 10px;
}

body.firefox input.button,
body.firefox input.reset,
body.firefox input[type="submit"],
body.firefox input.submit {
    padding: 0 10px;
}

#search input.text,
#main input.text,
#main input.captcha,
#main select.select,
#main textarea.textarea {
    float: left;
    width: 297px;
    margin-bottom: 5px;
    border: 1px solid #797979;
}

#main textarea.textarea {height: 60px;}
#main input.captcha {width: 100px;}

#main label {
    display: block;
    float: left;
    width: 150px;
}

input.text.error,
input.captcha.error,
input.checkbox.error,
input.radio.error,
select.error,
textarea.error {margin-left: 150px;}

input.password.confirm.error {margin-left: 0;}
#main .formbody br {clear: both;}
#main .submit_container {clear: both;}

/* mod_breadcrumb
------------------------------------------------- */
.mod_breadcrumb,
.mod_breadcrumb h6,
.mod_breadcrumb li,
.mod_breadcrumb li a {
    font-size: 12px;
    line-height: 1;
}

.mod_breadcrumb h6 {
    padding: 0 20px 0 0;
    margin: 0 5px 0 0;
}

.mod_breadcrumb ul {
    padding: 0;
    margin: 0;
}

.mod_breadcrumb li {
    padding-right: 20px;
    margin-right: 5px;
}

.mod_breadcrumb li:before {margin-right: 5px;}

/* mod_randomImage
------------------------------------------------- */
.mod_randomImage {height: auto;}

/* mod_navigation (topmenu)
------------------------------------------------- */
#topmenu {
    height: 30px;
}

#topmenu .level_1 {height: 30px;}

#topmenu .level_1 > li {float: left;}

#topmenu .level_1 > li > a,
#topmenu .level_1 > li > span {
    display: block;
    height: 30px;
    padding: 0 14px;
    font-size: 12px;
    line-height: 1;
    color: #000000;
}

#topmenu .level_1 > li > a:hover,
#topmenu .level_1 > li > span,
#topmenu .level_1 > li.trail > a,
#topmenu .level_1 > li > a.active {color: #000000;}

#topmenu .level_1 > li > a.last,
#topmenu .level_1 > li > span.last {
    padding-right: 0;
    margin-right: 0;
}

/* mod_navigation (mainmenu-mobile)
------------------------------------------------- */
#menu-mobile {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    min-height: 100%;
    overflow: hidden;
    display: none;
    background: #fff;
    z-index: 10;
    width: 0;
}

#menu-mobile.clicked {
    display: block;
}

#menu-mobile-button {
    display: none;
    position: absolute;
    top: 14px;
    left: 10px;
    z-index: 100;
}

#menu-mobile-button a {display: block;}

#mainmenu-mobile {width: 250px;}

#mainmenu-mobile .level_1 > li > a,
#mainmenu-mobile .level_1 > li > strong {
    display: block;
    min-height: 10px;
    line-height: 1;
    padding-top: 10px;
    padding-bottom: 10px;
    padding-left: 20px;
    padding-right: 20px;
    font-size: 16px;
    color: #797979;
    border-bottom: 1px #7a0627 dashed;
    text-decoration: none;
    font-weight: normal;
}

#mainmenu-mobile .level_1 > li > a:hover,
#mainmenu-mobile .level_1 > li > strong,
#mainmenu-mobile .level_1 > li.trail > a,
#mainmenu-mobile .level_1 > li > a.active {
    color: #7a0627;
}

#mainmenu-mobile .level_2 > li > a,
#mainmenu-mobile .level_2 > li > strong {
    display: block;
    min-height: 10px;
    line-height: 1;
    padding-top: 10px;
    padding-bottom: 10px;
    padding-left: 40px;
    padding-right: 20px;
    font-size: 12px;
    color: #797979;
    border-bottom: 1px #7a0627 solid;
    text-decoration: none;
}

#mainmenu-mobile .level_2 > li > a:hover,
#mainmenu-mobile .level_2 > li > strong,
#mainmenu-mobile .level_2 > li.trail > a,
#mainmenu-mobile .level_2 > li > a.active {
    color: #7a0627;
}


/* mod_navigation (mainmenu)
------------------------------------------------- */
#mainmenu {
	height: 30px;
	overflow: visible;
	position:absolute;
	right:0;
	margin-top:36px;
}

#mainmenu .level_1 {height: 30px;}

#mainmenu .level_1 > li {float: left;}

#mainmenu .level_1 > li > a,
#mainmenu .level_1 > li > strong {
    display: block;
    height: 30px;
    padding: 0 14px;
    font-size: 17px;
    line-height: 1;
    color: #545454;
    font-weight:300;
    line-height: 1.5;
}

#mainmenu .level_1 > li > a:hover,
#mainmenu .level_1 > li > strong,
#mainmenu .level_1 > li.trail > a,
#mainmenu .level_1 > li > a.active {color: #7a0627;}

#mainmenu .level_1 > li > a.last,
#mainmenu .level_1 > li > strong.last {
    padding-right: 0;
    margin-right: 0;
}

#mainmenu .menu-layer {
    width: 100%;
    height: 300px;
}

/*#mainmenu .level_1 li:hover .level_2 {display: block;}*/

#mainmenu .level_2 {
	/*display: none;*/
	position: absolute;
    z-index: 100;
}

#mainmenu .level_2 > li {}

#mainmenu .level_2 > li > a,
#mainmenu .level_2 > li > span {
    display: block;
    font-size: 12px;
    line-height: 1;
    color: #000000;
}

#mainmenu .level_2 > li > a:hover,
#mainmenu .level_2 > li > span,
#mainmenu .level_2 > li.trail > a,
#mainmenu .level_2 > li > a.active {color: #000000;}

/*#mainmenu .level_2 > li > a.last,
#mainmenu .level_2 > li > span.last {
    padding-right: 0;
    margin-right: 0;
}*/

/* mod_serach (field)
------------------------------------------------- */
#search {
    position: absolute;
    top: 0;
    right: 0;
}

#search br {display: none;}

#search label {
    float: left;
    line-height: 25px;
    margin-right: 10px;
}

#search input.text {
    float: left;
    width: 200px;
    height: 25px;
}

#search .submit_container {
    float: left;
    margin-top: 0;
}

#search .submit_container input.submit {
    padding: 5px;
}

.copytext {
    border: 1px solid #7A0627;
}

/* wrapper
------------------------------------------------- */
#wrapper {}

/* header
------------------------------------------------- */
#header {}
#header .inside {}
#header .header {margin-bottom:20px;}

#header .balken {height:89px; width:100%; background: url(../../files/layout/bg-header.png) repeat-x; position:absolute; top:65%; z-index: 9;}
#header .balken .inside {width:1000px; margin: 0 auto;}

/*#header .mod_randomImage {max-height:420px;}*/
#header .mod_randomImage {
    width: 100%;
   /* height:  339px;*/
    /*background: #000000 url(../../files/layout/verlauf.jpg) no-repeat top left;*/
   /* background: #000000 url(../../files/layout/luebeck.jpg) no-repeat top left;*/
}

#header .mod_randomImage .image_container {
    width: 100%;
    margin: 0 auto;
    text-align: center;
}

/* custom
------------------------------------------------- */
#custom {}
#custom .inside {}

/* logo
------------------------------------------------- */
#logo {position: absolute; width:360px; margin-top:20px;}

#logo, #logo * {
    display: block;
    line-height: 0;
}

#logo img {
    width: 100%;
}

/* container
------------------------------------------------- */
#container {width:1000px; margin:0 auto;}

/* main
------------------------------------------------- */
#main {}
/*#main .inside {padding-top:19px;}*/

#main .inside a {color:#7a0627;}

/* right
------------------------------------------------- */
#right {}
#right .inside {margin-left:18px;}

#right h3 {font-size:17px; border-bottom:1px dashed #ffffff; padding-bottom:10px; margin-bottom:20px;}

#right .box {background-color:#7a0627; padding:20px 25px; margin-bottom:20px;}
#right .box ul li {list-style: url(../../files/layout/bg-li-weiss.png); padding-left:10px;}
#right .box ul {padding-left:15px;}
#right .box a:hover, #right .navigation_therapie span {text-decoration:underline;}

/* left
------------------------------------------------- */
#left {}
#left .inside {}

/* footer
------------------------------------------------- */
#footer {background: #7a0627; margin-top:20px;}
#footer .inside {}
#footer .footer {width:1000px; margin: 0 auto; color:#fff; text-align:right; padding:20px 0;}
#footer .footer a {color:#fff; text-decoration:none;}
#footer .footer a:hover {text-decoration:underline;}
#footer .footer p {padding:0; margin:0;}

/* =============================================================================
 * "ce_" & "mod_" - elements
 * ========================================================================== */

/* ce_gallery
------------------------------------------------- */
#main .content-gallery ul, #main .content-gallery ul li {
    padding: 0;
    margin: 0;
    list-style: none;
}

#main .content-gallery ul li {margin-right: 2%;}

/* ce_downloads
------------------------------------------------- */
#main .content-downloads ul, #main .content-downloads ul li {
    padding: 0;
    margin: 0;
}

/* mod_search
------------------------------------------------- */
.mod_search form {display: none;}

/* mod_subscribe
------------------------------------------------- */
#main .mod_subscribe p.error {float: none;}
#main .mod_subscribe input.text {float: none;}
#main .mod_subscribe input.submit {display: block;}

/* mod_newslist
------------------------------------------------- */
#main .mod_newslist .layout_latest p.info {
    margin-bottom: 0;
}

.mod_newslist h2 a, .mod_newsreader h2 a {color:#009020; font-size:16px; text-decoration:none;}
.mod_newslist h2, .mod_newslist .info, .mod_newsreader h2, .mod_newsreader .info {margin-bottom:0;}
.mod_newslist .more a {text-decoration:none;}
#main .mod_newslist .layout_latest {margin-bottom:20px;}
#main .mod_newslist .layout_latest {border-bottom:1px dashed #797979; padding-bottom:20px; margin-bottom:20px;}
#main .mod_newslist .layout_latest.last {border:0;}

/* ce_accordion
------------------------------------------------- */
#main .ce_accordion .toggler {color:#7a0627; text-decoration:underline; cursor:pointer;margin-bottom:8px;}


/* =============================================================================
 * OWN STYLES
 * ========================================================================== */

/*body.startseite #header .mod_randomImage {max-height:550px;}
body.startseite #header {margin-bottom:120px;}*/

#main .hr {clear:both;height:1px; border-bottom:1px dashed #797979; padding-top:10px; margin-bottom:10px; width:99%;}


#kontaktleiste {margin-top: 10px;}
#kontaktleiste .inside {margin:0 auto; min-height: 175px; background: #fff; padding-top: 20px; padding-bottom: 20px; overflow: hidden; /*box-shadow: 0px 0px 6px #d1d1d1; -webkit-box-shadow: 0px 0px 6px #d1d1d1; -moz-box-shadow: 0px 0px 6px #d1d1d1;*/}


#main #kontaktleiste .content-text, #kontaktleiste .content-image {min-height: 155px; float:left; width:49%; padding-right: 20px; padding-left: 20px;}
#kontaktleiste .content-text {border-right:1px dashed #7a0627;}
#kontaktleiste .content-text.last {border:none;}

#kontaktleiste .content-headline {padding: 0 20px !important;}
#main #kontaktleiste .content-text.col100 {width:100%; min-height:80px; border:none;}

#kontaktleiste h2 {font-size: 14px;}


/*#main {background: #fff;}*/
#main .inside {}

#main .inside .content-text,
#main .white,
#main .ce_accordion,
#main .inside .content-form {background: #ffffff; padding: 20px;}

#main .content-headline {background: #ffffff; margin:0; padding:20px;}

.text-center {
    text-align: center;
}



#main .ce_html {
    background: #ffffff;
    padding: 0 20px 20px 20px;
}

#main .ce_accordion .content-text {padding: 0;}

#right .box {background: #7a0627;color:#ffffff;}
#right .box  h3 {color:#fff;}


#right .box ul li span.active {
    text-decoration:underline;
}

#kontakt {background: #ffffff;}
#kontakt .content-form {padding-top: 20px;}


/* =============================================================================
 * =============================================================================
 * =============================================================================
 * =============================================================================
 * =============================================================================
 * =============================================================================
 * =============================================================================
 * =============================================================================
 * ========================================================================== */

/* =============================================================================
 *
 * Responsive webdesign
 *
 * ========================================================================== */


/* =============================================================================
 * tablet
 * ========================================================================== */

/* iPad - Landscape 1024x768px */
@media only screen and (max-width: 1024px) {
    #right{
    	padding-right: 15px;
    }
}

@media only screen and (max-width: 1000px) {
    #footer .footer {width:100%; padding-right: 5%;}
   	#container {width:100%;}
   	#header .balken .inside {width:100%; padding: 0 20px;}
   	#kontaktleiste .inside {width:100%;}

    #mainmenu {right: 20px;}

    #header .mod_randomImage .image_container {
        width: 100%;
    }

}

@media only screen and (max-width: 980px) {

}

@media only screen and (max-width: 880px) {
	#menu-mobile-button {display: block;}
	#mainmenu {display:none;}

	#header .balken {height:50px; }
	body.startseite #header {}

	#logo {left:45px; margin-top:8px; width:250px;}

    #header .mod_randomImage {background-image: none;}

	#main .content-form {width: 100%; margin: 20px 0;}

	#footer {margin-top:0;}
	#footer .footer {text-align:center;}

    #kontakt .content-form {padding-top: 0; padding-left: 20px;}

    #main .content-headline {margin-left: 20px; margin-right: 20px;}

    .col40 {
        float: none;
        width: 100%;
    }

    /*#header .header{
    	margin-bottom: 460px;
    }	*/

}

/*@media only screen and (max-width: 878px) {
    #header .mod_randomImage img {
        position: absolute;
        right: 0;
        z-index: 8;
    }
}*/

/* iPad - Portrait 768x1024px */
@media only screen and (max-width: 768px) {
	/*#main .inside {padding:0 3%;}*/
	#right {padding-right: 0px;}
	#right .box {padding-left: 20px; padding-right: 20px; margin-bottom: 0;}
	#right {margin-top: 10px;}
    #footer {margin-top: 10px;}
}

/* iPad - Portrait 767x1024px */
@media only screen and (max-width: 767px) {
	#right .inside {margin:0;}


    #main #kontaktleiste .inside .content-image,
    #main #kontaktleiste .inside .content-text{
        width: 100%;
        float: none;
        border-right: 0;
        text-align: center;
        padding-bottom: 0;
        padding-top: 0;
    }

    #main #kontaktleiste .inside .content-image img {
        width: auto;
    }
}

/*@media only screen and (max-width: 735px) {
	//body.startseite #header .mod_randomImage {height: 300px;}

}*/

@media only screen and (max-width: 550px) {
    #leistungen img{
    width: 100%;
}

}

/* =============================================================================
 * phone
 * ========================================================================== */

/* Small tablet 480x640px */
@media only screen and (max-width: 480px) {

	#main .image_container.float_left {width: 40%;}
    #header .balken  {
        top: 50%;
    }

    #search input.text, #main input.text, #main input.captcha, #main select.select, #main textarea.textarea {width: 100%;}

}

/* iPhone 320x480px */
@media only screen and (max-width: 320px) {
	#main input.text,
    #main input.captcha,
    #main select.select,
    #main textarea.textarea {width: 100%;}



    input.text.error,
    input.captcha.error,
    input.checkbox.error,
    input.radio.error,
    select.error,
    textarea.error {margin-left: 0;}

    #main label {float: none;}
    p.error {float: none;}
}

/* Small phone 240x320px */
@media only screen and (max-width: 240px) {

}


#cookiebar {
    position: static;
    font-size: 12px;
}

#cookiebar button {
    background: #7a0627;
}

.mm-menu--opened {
   display: block !important;
}