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}
.mod_jamp_googlemaps {
    position: relative;
}

.mod_jamp_googlemaps .iframeBlocker {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: gray;
    color: white;
    padding: 1rem;
}
#colorbox,#cboxOverlay,#cboxWrapper{position:absolute;top:0;left:0;z-index:9999;overflow:hidden;-webkit-transform:translate3d(0,0,0)}#cboxWrapper{max-width:none}#cboxOverlay{position:fixed;width:100%;height:100%}#cboxMiddleLeft,#cboxBottomLeft{clear:left}#cboxContent{position:relative}#cboxLoadedContent{overflow:auto;-webkit-overflow-scrolling:touch}#cboxTitle{margin:0}#cboxLoadingOverlay,#cboxLoadingGraphic{position:absolute;top:0;left:0;width:100%;height:100%}#cboxPrevious,#cboxNext,#cboxClose,#cboxSlideshow{cursor:pointer}.cboxPhoto{float:left;margin:auto;border:0;display:block;max-width:none;-ms-interpolation-mode:bicubic}.cboxIframe{width:100%;height:100%;display:block;border:0;padding:0;margin:0}#colorbox,#cboxContent,#cboxLoadedContent{box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box}#cboxOverlay{background:#000;opacity:.9;filter:alpha(opacity = 90)}#colorbox{outline:0}#cboxContent{margin-top:20px;background:#000}.cboxIframe{background:#fff}#cboxError{padding:50px;border:1px solid #ccc}#cboxLoadedContent{border:5px solid #000;background:#fff}#cboxTitle{position:absolute;top:-20px;left:0;color:#ccc}#cboxCurrent{position:absolute;top:-20px;right:0;color:#ccc}#cboxLoadingGraphic{background:url(../../assets/colorbox/images/loading.gif) no-repeat center center}#cboxPrevious,#cboxNext,#cboxSlideshow,#cboxClose{border:0;padding:0;margin:0;overflow:visible;width:auto;background:0 0}#cboxPrevious:active,#cboxNext:active,#cboxSlideshow:active,#cboxClose:active{outline:0}#cboxSlideshow{position:absolute;top:-20px;right:90px;color:#fff}#cboxPrevious{position:absolute;top:50%;left:5px;margin-top:-32px;background:url(../../assets/colorbox/images/controls.png) no-repeat top left;width:28px;height:65px;text-indent:-9999px}#cboxPrevious:hover{background-position:bottom left}#cboxNext{position:absolute;top:50%;right:5px;margin-top:-32px;background:url(../../assets/colorbox/images/controls.png) no-repeat top right;width:28px;height:65px;text-indent:-9999px}#cboxNext:hover{background-position:bottom right}#cboxClose{position:absolute;top:5px;right:5px;display:block;background:url(../../assets/colorbox/images/controls.png) no-repeat top center;width:38px;height:19px;text-indent:-9999px}#cboxClose:hover{background-position:bottom center}
/* lazyload related styles start */

/** required by edge to see the images **/
img[data-src]:not(.loaded),
img[data-srcset]:not(.loaded) {
    display: block !important;
    min-height: 1px !important;
}

/* Prevents img without src to appear */
img:not([src]) {
    visibility: hidden !important;
}

.image-wrapper:not(.loaded) .image-aspect-ratio {
    padding-bottom: 66.67%; /* You define this doing height / width * 100% */
    width: 100%;
    height: 0;
    position: relative;
}

/* lazyload related styles stop */

/* =============================================================================
 * reset & defaults
 * CSS-Eigenschaften zurücksetzen
 * ========================================================================== */

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

/* HTML5 display definitions
------------------------------------------------- */ 
summary {
    display: block;
}

[hidden] {
    display: none;
}

/* lightbox line-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,
#mainmenu .level_3,
#mainmenu .level_4 {
    padding: 0;
    margin: 0;
}

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

/* mod_sitemap
------------------------------------------------- */
.mod_sitemap .level_1,
.mod_sitemap .level_2,
.mod_sitemap .level_3,
.mod_sitemap .level_4 {
    padding: 0;
    margin: 0;
}

/* =============================================================================
 * General styles & page setup
 * Grundlegende CSS-Einstellungen für contao
 * ========================================================================== */

html, body {
    height: 100%;
}

html {
    overflow-y: scroll;
    min-height: 100%;
}

body {
    background-repeat: repeat;
}

body.ie8 {
    overflow: auto;
}

a {
    outline: none;
    -moz-outline-style: none;
    -webkit-outline-style: none;
}

iframe {
    max-width: 100%;
    border: 0;
}

code, pre {
    font-family: monospace;
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* Reset empty space after images */
.image_container img:after {
    content: "";
    clear: both;
    display:block;
}

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


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

/* Links in special elements (special)
------------------------------------------------- */
#header div.logo a,
#header div#logo a {
    color: inherit !important;
    background: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* ol,ul,li
------------------------------------------------- */
#header ol,
#header ul,
#main ol,
#main ul,
#right ol,
#right ul,
#left ol,
#left ul,
#footer ol,
#footer ul {
    list-style-type: none;
}

#header ol li,
#header ul li,
#main ol li,
#main ul li,
#right ol li,
#right ul li,
#left ol li,
#left ul li,
#footer ol li,
#footer ul li {
    padding: 0;
    margin: 0;
}

#main ol li,
#right ol li,
#left ol li,
#footer ol li {
    list-style-type: decimal;
}

#main ul li,
#right ul li,
#left ul li,
#footer ul li {
    list-style-type: disc;
}



/* =============================================================================
 * Form styles
 * Grundlegende Formular Formatierungen
 * ========================================================================== */



/* fieldset+legend
------------------------------------------------- */
fieldset {
    padding: 0.5px;
    margin-bottom: 20px;
}

legend {
    display: none;
}

/* input, select, textarea
------------------------------------------------- */
input.text,
input.captcha,
input.submit,
input.button,
input.reset,
select,
textarea {
    width: 100%;
    padding: 0;
    margin: 0;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

/*input[type="search"] {
    -webkit-appearance: none;
    border-radius: 0;
}*/

input.text,
input.captcha,
input.checkbox,
input.radio,
input.submit,
input.button,
input.reset,
select,
textarea {
    border-radius: 0;
}

input.text,
input.captcha,
input.submit,
input.button,
input.reset,
textarea {
    -webkit-appearance: none;
}

/* radio-buttons
------------------------------------------------- */
.radio_container {
    margin-top: 1px;
}

.radio_container legend span {
    display: inline;
    margin-bottom: 5px;
}

.radio_container label {
    float: none;
}

.radio_container input {
    width: 20px;
    border: none;
    padding: 0;
    box-shadow: none;
    -webkit-box-shadow: none;
}

.radio_container legend {
    display: block;
    overflow: hidden;
}

.radio_container span {
    display: block;
}

/* checkboxes
------------------------------------------------- */
.checkbox_container {
    margin-top: 1px;
}

.checkbox_container legend span {
    display: inline;
    margin-bottom: 5px;
}

.checkbox_container label {
    float: none;
}

.checkbox_container input {
    width: 20px !important;
    border: none !important;
    padding: 0;
    box-shadow: none;
    -webkit-box-shadow: none;
}

.checkbox_container legend {
    display: block;
    overflow: hidden;
}

.checkbox_container span {
    display: block;
}

/* submit button
------------------------------------------------- */
.submit_container {
    float: left;
}

.submit_container input {
    width: auto !important;
}

.submit {
    cursor: pointer;
    -webkit-appearance:none;
}

/* errors
------------------------------------------------- */
label.error {
    color: red;
}

input.error {
    border: 1px solid red;
}

p.error {
    color: red;
    /*clear: both;*/
}

p.error {
    float: none;
}

input.text.error,
input.captcha.error,
input.checkbox.error,
input.radio.error,
select.error,
textarea.error {}

.ce_form .captcha_text.error {
    width: auto;
    float: left;
    display: block;
}

/* captcha
------------------------------------------------- */
.ce_form .captcha {
    width: 20%;
    margin-right: 2%;
}

.ce_form .captcha_text {
    width: 70%;
    line-height: 30px;
}

.ce_form .captcha_container {
    padding: 4px;
    background: #ecd0d0;
}

.ce_form .captcha_container label {
    display: block;
}

/* custom
------------------------------------------------- */
.ce_form .required.mandatory {
    float: right;
    margin-top: 10px;
}

/* =============================================================================
 * Custom stylesheet
 * Standardeinstellungen für contao
 * ========================================================================== */

body {
    background: #ffffff;
}

body, input, select, textarea {
    font-size: 15px;
}

body, input, select, textarea, a, p, span {
    line-height: 1.3;
}

h1, h2, h3, h4, h5, h6 {
    line-height: 1.3;
}

body, input, select, textarea {
    font-family: "Open Sans", Arial, sans-serif;
    color: #4e4e4e;
}

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

h1, h2, h3, h4, h5, h6, .color {
    color: #2655ac;
}

a {
    color: #2655ac;
    text-decoration: underline;
}

a:hover {
    text-decoration: none;
}


/*a.button,
span.button a {
	display: inline-block;
	color: #ffffff;
	background: #000000;
	padding: 0 10px;
    text-decoration: none;
}*/

span.button_phone {
    position: relative;
    display:none;
    padding: 0 80px;
    border: 1px solid #cfd3d8;
    color: #2655ac;
    text-align: center;
    line-height: 62px;
}

span.button_phone:before {
    content: ' ';
    display: block;
    position: absolute;
    top: 16px;
    left: 34px;
    width: 25px;
    height: 29px;
    background: url(../../files/layout/sprite-icons.png) no-repeat -166px -60px;
}
span.button_phone a {
 text-decoration: none;
 color: #2655ac !important;
}

a.button_email, 
span.button_email a
 {
    position: relative;
    display: inline-block;
    padding: 0 80px;
    border: 1px solid #cfd3d8;
    color: #2655ac !important;
    text-align: center;
    text-decoration: none;
    line-height: 62px;
}

a.button_email:before,
span.button_email a:before {
    content: ' ';
    display: block;
    position: absolute;
    top: 16px;
    left: 34px;
    width: 38px;
    height: 30px;
    background: url(../../files/layout/sprite-icons.png) no-repeat -69px -104px;
}

/* headlines
------------------------------------------------- */
h1, h1 a {
    font-size: 24px;
    padding: 0;
    margin: 0 0 24px 0;
    text-transform: uppercase;
    text-align: center;
}

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

h3, h3 a {
    font-size: 16px;
    padding: 0;
    margin: 0 0 10px 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;
}

/* blockquote
------------------------------------------------- */
blockquote {
    font-style: italic;
    font-size: 16px;
    margin-bottom: 20px;
}

blockquote p {
    line-height: 22px;
}

/* hr
------------------------------------------------- */
hr {
    border: none;
    border-top: medium double #dddddd;
    color: #cccccc;
    text-align: center;
    height: 1px;
    margin: 25px 0;
}

/* p
------------------------------------------------- */
p {
    margin-bottom: 15px;
    overflow: hidden;
}

p:last-child {
    margin-bottom: 0;
}

p.more {
    margin-bottom: 0;
}

p.back {
    margin-top: 10px;
    margin-bottom: 0;
}

/* cols & widths
------------------------------------------------- */
.col12, .col13, .col14, .col34 {
    float: left;
    margin-right: 1%;
}

.col12.last, .col13.last, .col14.last, .col34.last {
    margin-right: 0 !important;
}

.col12 {
    width: 49%;
}

.col13 {
    width: 32.3333333333%;
}

.col14 {
    width: 24%;
}

.col34 {
    width: 74%;
}

.col1 {
    width: 100%;
}

/* ol,ul,li
------------------------------------------------- */
#custom ol,
#custom ul,
#main ol,
#main ul,
#right ol,
#right ul,
#left ol,
#left ul {
    padding: 00;
    margin: 10px 0;
}

#custom ul li,
#main ul li,
#right ul li,
#left ul li {
	position: relative;
	padding-left: 21px;
    margin-bottom: 20px;
    list-style: none;
}

#custom ul li:before,
#main ul li:before,
#right ul li:before,
#left ul li:before {
	content: ' ';
    display: block;
    position: absolute;
    top: 5px;
    left: 0;
    width: 12px;
    height: 12px;
    background: url(../../files/layout/sprite-icons.png) no-repeat -182px -20px;
}

/* image_container & image_container floats
------------------------------------------------- */
#container .image_container img {
    width: 100%;
}

.image_container.float_right {
    margin: 0 0 3% 5%;
}

.image_container.float_left {
    margin: 0 5% 3% 0;
}

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

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

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

#main .ce_gallery ul li {
    margin-right: 2%;
    margin-bottom: 2%;
}

#main .ce_gallery ul li.col_last {
    margin-right: 0;
}

#main .ce_gallery ul li.row_last {
    margin-bottom: 0;
}

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

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

/* mod_subscribe
------------------------------------------------- */
.mod_subscribe p.error {
    float: none;
}

.mod_subscribe input[type="text"] {
    float: none;
}

.mod_subscribe input.submit {
    display: block;
}

/* mod_newslist
------------------------------------------------- */
.mod_newslist .layout_latest h2 a {
    text-transform: none;
    text-decoration: none;
}

#main .mod_newslist .layout_latest {
    margin-bottom: 15px;
}

.mod_newslist .layout_latest p.info {
    margin-bottom: 0;
}

/* mod_eventlist
------------------------------------------------- */
.mod_eventlist .layout_teaser p.info {
    margin-bottom: 0;
}

/* ce_form
------------------------------------------------- */
.ce_form {
    margin-bottom: 15px;
}

.ce_form div {
	margin-bottom: 5px;
    overflow: hidden;
}

.ce_form br {
    clear: both;
}

.captcha-container {
    background: #ecd0d0;
}

::-webkit-input-placeholder {
    color: #888888;
}

/* firefox 19+ */
::-moz-placeholder {
    color: #888888;
} 

/* ie */
:-ms-input-placeholder {
    color: #888888;
} 

input:-moz-placeholder {
    color: #888888;
}

input[type="text"],
input[type="email"],
input.captcha,
input.submit,
input.button,
input.reset,
select,
textarea {
	height: 25px;
    padding: 0 5px;
}

select {
    height: 25px;
    padding: 0 5px;
}

#search input[type="text"],
#main input[type="text"],
#main input[type="email"],
#main input.captcha,
#main select.select,
#main textarea {
    float: left;
    width: 420px;
    border: 1px solid #4e4e4e;
}

textarea {
    min-width: 420px;
    max-width: 420px;
    height: 60px;
    min-height: 60px;
    max-height: 60px;
    
}

input.button,
input.reset,
input.submit,
button.button,
button.reset,
button.submit {
	height: 25px;
	padding: 0 5px;
    color: #ffffff;
    background: #2655AC;
    cursor: pointer;
}

/* firefox */
body.firefox input.button,
body.firefox input.reset,
body.firefox input.submit
body.firefox button.button,
body.firefox button.reset,
body.firefox button.submit {
    padding: 0 10px;
}

#main label {
    float: left;
    display: block;
    width: 150px;
	margin-right:20px;
}

input[type="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 .submit_container {
    margin-top: 10px;
    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 {
    float: left;
    padding: 0;
    margin: 0;
}

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

.mod_breadcrumb li {
    float: left;
    padding-left: 20px;
    padding-right: 0;
    margin-right: 0;
    margin-left: 10px;
}

.mod_breadcrumb li.first {
    background: none;
    padding-left: 0;
}

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

/* mod_navigation
------------------------------------------------- */
.mod_navigation ul li a,
.mod_navigation ul li span {
    display: block;
}

/* mod_customnav
------------------------------------------------- */
.mod_customnav ul li a,
.mod_customnav ul li span {
    display: block;
}

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

#search br {
    display: none;
}

#search span.mandatory {
    display: none;
}

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

#search div.mandatory {
    float: left;
}

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


.mod_jamp_googlemaps .iframeBlocker {
    background: #555;
    padding: 3rem;
    text-align: center;
}

.mod_jamp_googlemaps .iframeBlocker .btn {
    font-size: 1.5rem;
    background: rgba(255, 255, 255, 0.2);
    cursor: pointer;
}

.mod_jamp_googlemaps .iframeBlocker a {
    color: #fff;
}

/* =============================================================================
 * Navigation stylesheet
 * ========================================================================== */

/* mod_navigation (mainmenu-mobile)
------------------------------------------------- */
#menu-mobile {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    min-height: 100%;
    overflow: scroll;
    display: none;
}

#menu-mobile.clicked {
    display: block;
}

#menu-mobile-button {
    display: none;
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: 100;
}

#menu-mobile-button a {
    display: block;
}

#mainmenu-mobile {
    width: 100%;
}

#mainmenu-mobile .level_1 > li > a,
#mainmenu-mobile .level_1 > li > span,
#mainmenu-mobile .level_1 > li > strong {
    min-height: 10px;
    line-height: 1;
    padding: 10px 20px;
    font-size: 12px;
    color: #4e4e4e;
    text-decoration: none;
    border-bottom: 1px #4e4e4e solid;
}

#mainmenu-mobile .level_1 > li > a:hover,
#mainmenu-mobile .level_1 > li > span,
#mainmenu-mobile .level_1 > li > strong,
#mainmenu-mobile .level_1 > li.trail > a,
#mainmenu-mobile .level_1 > li > a.active,
#mainmenu-mobile .level_1 > li > span.active,
#mainmenu-mobile .level_1 > li > strong.active {
    color: #2655ac;
}

#mainmenu-mobile .level_2 > li > a,
#mainmenu-mobile .level_2 > li > span,
#mainmenu-mobile .level_2 > li > strong {
	display: block;
    min-height: 10px;
    line-height: 1;
    padding: 10px 20px 10px 40px;
    font-size: 12px;
    color: #4e4e4e;
    text-decoration: none;
    border-bottom: 1px #4e4e4e solid;
}

#mainmenu-mobile .level_2 > li > a:hover,
#mainmenu-mobile .level_2 > li > span,
#mainmenu-mobile .level_2 > li > strong,
#mainmenu-mobile .level_2 > li.trail > a,
#mainmenu-mobile .level_2 > li > a.active,
#mainmenu-mobile .level_2 > li > span.active,
#mainmenu-mobile .level_2 > li > strong.active {
    color: #2655ac;
}

#mainmenu-mobile .level_3 > li > a,
#mainmenu-mobile .level_3 > li > span,
#mainmenu-mobile .level_3 > li > strong {
	display: block;
    min-height: 10px;
    line-height: 1;
    padding: 10px 20px 10px 60px;
    font-size: 12px;
    color: #4e4e4e;
    text-decoration: none;
    border-bottom: 1px #4e4e4e solid;
}

#mainmenu-mobile .level_3 > li > a:hover,
#mainmenu-mobile .level_3 > li > span,
#mainmenu-mobile .level_3 > li > strong,
#mainmenu-mobile .level_3 > li.trail > a,
#mainmenu-mobile .level_3 > li > a.active,
#mainmenu-mobile .level_3 > li > span.active,
#mainmenu-mobile .level_3 > li > strong.active {
    color: #2655ac;
}

/* mod_navigation (topmenu)
------------------------------------------------- */
#topmenu {
    height: 30px;
}

#topmenu .level_1 {
    height: 30px;
}

#topmenu .level_1 > li {
    float: left;
}

/*#topmenu .level_1 > li.first {
    margin-left: 0;
}*/

/*#topmenu .level_1 > li.last {
    margin-right: 0;
}*/

#topmenu .level_1 > li > a,
#topmenu .level_1 > li > span,
#topmenu .level_1 > li > strong {
    height: 30px;
    padding: 0 15px;
    font-size: 12px;
    line-height: 1;
    color: #000000;
}

#topmenu .level_1 > li > a:hover,
#topmenu .level_1 > li > span,
#topmenu .level_1 > li > strong,
#topmenu .level_1 > li.trail > a,
#topmenu .level_1 > li > a.active,
#topmenu .level_1 > li > span.active,
#topmenu .level_1 > li > strong.active {
    color: #000000;
}

/*#topmenu .level_1 > li > a.first,
#topmenu .level_1 > li > span.first {
    padding-left: 0;
    margin-left: 0;
}*/

#topmenu .level_1 > li > a.last,
#topmenu .level_1 > li > span.last,
#topmenu .level_1 > li > strong.last {
    padding-right: 0;
    margin-right: 0;
}

/* mod_navigation (mainmenu)
------------------------------------------------- */
#mainmenu {
    float: right;
	height: 98px;
	overflow: visible;
}

#mainmenu .level_1 {
    height: 98px;
}

#mainmenu .level_1 > li {
    float: left;
}

#mainmenu .level_1 > li > a,
#mainmenu .level_1 > li > span,
#mainmenu .level_1 > li > strong {
    height: 98px;
    padding: 0 13px;
    font-size: 16px;
    line-height: 98px;
    color: #424242;
    display: flex;
    align-items: center;
    font-weight: normal;
}

#mainmenu .level_1 > li > a:hover,
#mainmenu .level_1 > li > span,
#mainmenu .level_1 > li > strong,
#mainmenu .level_1 > li.trail > a,
#mainmenu .level_1 > li > a.active,
#mainmenu .level_1 > li > span.active,
#mainmenu .level_1 > li > strong.active {
    background: #2656ac;
    color: #ffffff;
}

/*#mainmenu .level_1 > li.first {
    margin-left: 0;
}*/

#mainmenu .level_1 > li.last {
    margin-right: 0;
}

/*#mainmenu .level_1 > li > a.first,
#mainmenu .level_1 > li > span.first {
    padding-left: 0;
    margin-left: 0;
}*/

#mainmenu .level_1 > li > a.last,
#mainmenu .level_1 > li > span.last,
#mainmenu .level_1 > li > strong.last {
    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;
    background: #f0f0f0;
}

#mainmenu .level_2 > li {}

#mainmenu .level_2 > li > a,
#mainmenu .level_2 > li > span,
#mainmenu .level_2 > li > strong {
	display: block;
    padding: 15px 30px;
    font-size: 13px;
    line-height: 1;
    color: #424242;
}

#mainmenu .level_2 > li > a:hover,
#mainmenu .level_2 > li > span,
#mainmenu .level_2 > li > strong,
#mainmenu .level_2 > li.trail > a,
#mainmenu .level_2 > li > a.active,
#mainmenu .level_2 > li > span.active,
#mainmenu .level_2 > li > strong.active {
    color: #ffffff;
    background: #2656ac;
}

/*#mainmenu .level_2 > li > a.last,
#mainmenu .level_2 > li > span.last {
    padding-right: 0;
    margin-right: 0;
}*/

#mainmenu .level_3 {
    
}

#mainmenu .level_3 > li {}

#mainmenu .level_3 > li > a,
#mainmenu .level_3 > li > span,
#mainmenu .level_3 > li > strong {
	display: block;
    padding: 5px 30px 5px 45px;
    font-size: 12px;
    line-height: 1;
    color: #424242;
}

#mainmenu .level_3 > li > a:hover,
#mainmenu .level_3 > li > span,
#mainmenu .level_3 > li > strong,
#mainmenu .level_3 > li.trail > a,
#mainmenu .level_3 > li > a.active,
#mainmenu .level_3 > li > span.active,
#mainmenu .level_3 > li > strong.active {
    color: #ffffff;
    background: #2656ac;
}

/*#mainmenu .level_3 > li > a.last,
#mainmenu .level_3 > li > span.last {
    padding-right: 0;
    margin-right: 0;
}*/
@import url(../../files/layout/styles/reset.css);
@import url(../../files/layout/styles/base.css);
@import url(../../files/layout/styles/form.css);

@import url(../../files/layout/styles/custom.css);
@import url(../../files/layout/styles/navigation.css);
/*@import url(../../files/layout/styles/mobile.css);*/

/* =============================================================================
 * Main stylesheet
 * Spezielle CSS-Eigenschaften
 * ========================================================================== */

#toplink {
    position: fixed;
    z-index: 10;
    right: 50px;
    bottom: 50px;
    display: block;
    opacity: 0;
    width: 35px;
    height: 35px;
    background: #2d5aaf;
    text-indent: -9999em;
}

#toplink:after {
    content: ' ';
    display: block;
    position: absolute;
    top: 10px;
    left: 12px;
    width: 12px;
    height: 12px;
    background: url(../../files/layout/sprite-icons.png) no-repeat -112px -27px;
}

#wrapper {
    background: #ffffff;
}

/* custom
------------------------------------------------- */
#custom {}

#custom .inside {}

#custom .mod_article {
    width: 1000px;
    margin: 0 auto;
}

#custom .box,
#custom .box a {
    color: #636363;
}

#custom .box {
    padding: 55px 0;
    overflow: hidden;
}

#custom h2 {
    position: relative;
    padding-left: 50px;
    margin-bottom: 40px;
    font-size: 25px;
	text-transform:uppercase;
}

#custom h2:before {
    content: ' ';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 47px;
    height: 45px;
    background: url(../../files/layout/sprite-icons.png) no-repeat 0 -102px;
}



#custom .box.blue {
    background: #2655ac;
    border-top: 10px solid #4d7edd;
}

#custom .box.blue,
#custom .box.blue a {
    font-size: 13px;
}

#custom .box.blue,
#custom .box.blue a,
#custom .box.blue h2,
#custom .box.blue h3 {
    color: #ffffff;
}

#custom .box.blue h2 {
    position: relative;
    z-index: 5;
    padding: 0 30px;
    margin: 0 0 45px 0;
    font-size: 31px;
    text-align: center;
    text-transform: uppercase;
    background: #2655AC;
}

#custom .box.blue h2:before,
#custom .box.blue h2:after {
    content: ' ';
    display: block;
    position: absolute;
    z-index: 0;
    top: 20px;
    left: 0;
    width: 20%;
    height: 1px;
    background: #fff;
}

#custom .box.blue h2:after {
    right: 0;
    left: auto;
}

#custom .box.blue h3 {
    position: relative;
    margin-bottom: 40px;
    font-size: 21px;
}

#custom .box.blue h3:before {
    content: ' ';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    background: url(../../files/layout/sprite-icons.png) no-repeat;
}

#custom .box.blue .ce_text.arbeitsrecht h3 {
    padding-left: 52px;
}

#custom .box.blue .ce_text.arbeitsrecht h3:before {
    width: 44px;
    height: 52px;
    background-position: -135px 0;
}

#custom .box.blue .ce_text.architektenrecht h3 {
    padding-left: 54px;
}

#custom .box.blue .ce_text.architektenrecht h3:before {
    width: 43px;
    height: 46px;
    background-position: 0 -57px;
}

#custom .box.blue .ce_text.verwaltungsrecht h3 {
    padding-left: 50px;
}

#custom .box.blue .ce_text.verwaltungsrecht h3:before {
    width: 40px;
    height: 43px;
    background-position: -39px -58px;
}

#custom .box.blue .ce_text.baurecht h3 {
    padding-left: 63px;
}

#custom .box.blue .ce_text.baurecht h3:before {
    width: 63px;
    height: 45px;
    background-position: -101px -59px;
}


#custom .box.blue a {
    position: relative;
    padding-left: 20px;
    text-decoration: none;
}

#custom .box.blue a:before {
    content: ' ';
    display: block;
    position: absolute;
    top: 5px;
    left: 0;
    width: 12px;
    height: 12px;
    background: url(../../files/layout/sprite-icons.png) no-repeat -182px 0;
}

#custom .rechts-tipps {
    padding-right: 20px;
    border-right: 1px solid #d3d4d5;
}

#custom .contact-box {
    margin-top: 40px;
}

#custom .spacer-or {
    margin: 0 20px;
	display:none;
}


#custom .mod_rssReader {
    margin-top: 55px;
}

#custom .mod_rssReader a {
    text-decoration: none;
}

#custom .mod_rssReader a:hover {
    color: #2D5AB0;
}


/* header
------------------------------------------------- */
#header {
    border-bottom: 10px solid #2655ac;
}

#header .inside {
    
}

#header .header {
    position: fixed;
    z-index: 15;
    width: 100%;
    background: #ffffff;
    border-top: 10px solid #4d7edd;
    -webkit-box-shadow: 0 10px 20px -20px #000;
    box-shadow: 0 10px 20px -20px #000;
}

#header .header .inner {
    width: 1000px;
    margin: 0 auto;
}

#kopfbild {
    padding-top: 108px;
    border-bottom: 4px solid #4d7edd;
}

#kopfbild .ce_image {
    width: 1423px;
    margin: 0 auto;
}

#randomImages {
    padding-top: 108px;
    border-bottom: 4px solid #4d7edd;
}

#randomImages .image_container {
    width: 1423px;
    margin: 0 auto;
}

#header .info-box {
    position: relative;
    width: 1000px;
    margin: 0 auto;
}

#header .info-box ul.link-text {
    position: absolute;
    bottom: 8px;
    left: 34px;
    display: block;
    height: 29px;
}

#header .info-box ul.link-text li {
    float: left;
    margin-right: 5px;
}

#header .info-box ul.link-text li a {
    display: block;
    height: 29px;
    line-height: 29px;
    padding: 0 10px;
    background: #2655ac;
    color: #ffffff;
    text-decoration: none;
}

/*#header .info-box a.link-text.vollmacht {
    left: 34px;
}

#header .info-box a.link-text.bevollmaechtigung {
    left: 139px;
}

#header .info-box a.link-text.beauftragung {
    left: 289px;
}*/

#header .info-box a.open-info-text {
    position: absolute;
    bottom: 8px;
    left: 0;
    display: block;
    width: 29px;
    height: 29px;
    background: #2655ac;
    text-indent: -9999em;
}

#header .info-box a.open-info-text:before {
    content: ' ';
    display: block;
    position: absolute;
    top: 7px;
    left: 7px;
    width: 14px;
    height: 14px;
    background: url(../../files/layout/sprite-icons.png) no-repeat 0 0;
}

#header .info-box .info-text {
    position: absolute;
    z-index: 10;
    bottom: 8px;
    left: 34px;
    display: none;
    width: 424px;
    height: 305px;
}

#header .info-box .info-text h3 {
    padding: 14px 18px;
    margin-bottom: 2px;
    background: #2655ac;
    color: #ffffff;
    font-size: 18px;
}

#header .info-box .info-text .body {
    height: 252px;
    padding: 14px 18px;
    background: #2655ac;
    font-size: 14px;
}

#header .info-box .info-text .body,
#header .info-box .info-text .body a {
    color: #ffffff;
}

#header .button-online-beratung {}

#header .button-online-beratung .inner {
    position: relative;
    width: 1000px;
    margin: 0 auto;
}

#header .button-online-beratung a {
    position: absolute;
    z-index: 10;
    top: 10px;
    right: 0;
    width: 305px;
    height: 58px;
    line-height: 58px;
    border-bottom-left-radius: 3px;
    border-bottom-right-radius: 3px;
    background: #2655ac;
    color: #ffffff;
    text-decoration: none;
    text-align: center;
}

#header .button-online-beratung a:before {
    content: ' ';
    display: block;
    position: absolute;
    top: 10px;
    left: 20px;
    width: 39px;
    height: 39px;
    background: url(../../files/layout/sprite-icons.png) no-repeat -25px 0;
}

/* container
------------------------------------------------- */
#container {}

/* main
------------------------------------------------- */
#main {}

#main .inside {}

#main .mod_article {
    width: 1000px;
    margin: 0 auto;
    padding: 29px 0;
}

body.arbeitsrecht #main .mod_article {
    width: auto;
    padding-right: 35px;
}

body.arbeitsrecht #main .mod_article .grey,
body.arbeitsrecht #right .mod_article .grey {
    background: #f4f4f4;
	padding: 15px;
}

body.arbeitsrecht #right .mod_article ul li {
	margin-bottom:10px;	
}

body.arbeitsrecht #main .mod_article .ce_text,
body.arbeitsrecht #right .mod_article .ce_text,
body.arbeitsrecht #right .mod_article iframe {
	margin-bottom: 20px;
}

body.arbeitsrecht #container {
    width: 1000px;
    margin: 0 auto;
}


body.arbeitsrecht #right .inside {
    padding-top: 104px;
}

#main h1 {
    position: relative;
    padding-top: 110px;
}

#main h1:before {
    content: ' ';
    display: block;
    position: absolute;
    top: 0;
    left: 50%;
    width: 91px;
    height: 91px;
    margin-left: -45px;
    border-radius: 100px;
    background: #2655ac;
}

#main h1:after {
    content: ' ';
    display: block;
    position: absolute;
    top: 21px;
    left: 50%;
    margin-left: -14px;
    width: 37px;
    height: 53px; 
    background: url(../../files/layout/sprite-icons.png) no-repeat -75px 0;
}

body.standard #main h1 {
    padding-top: 25px;
    text-align: left;
}

body.standard #main h1:before,
body.standard #main h1:after {
    display: none;
}

#main .caption {
    padding-top: 10px;
}

/* right
------------------------------------------------- */
#right {}

#right .inside {}

/* left
------------------------------------------------- */
#left {}

#left .inside {}

/* footer
------------------------------------------------- */
#footer {
    background: #2d5aaf;
    border-bottom: 10px solid #426cbc;
}

#footer .inside {
    width: 1000px;
    height: 89px;
    padding: 50px 0 20px 0;
    margin: 0 auto;
    overflow: hidden;
}

#footer .footer {
    position: relative;
}

#footer,
#footer a {
    color: #ffffff;
}

#footer ul,
#footer ul li {
    padding: 0;
    margin: 0;
    list-style: none;
}

#footer ul {
    float: right;
    margin-right: 0px;
}

#footer ul li {
    float: left;
    padding-left: 10px;
    margin-left: 10px;
}

#footer a.facebook {
    position: absolute;
    top: -2px;
    right: 0;
    width: 27px;
    height: 27px;
    background: url(../../files/layout/sprite-icons.png) no-repeat -124px -104px;
    text-indent: -9999em;
}

/* logo
------------------------------------------------- */
#logo {
	position: static;
    float: left;
    height: 98px;
    padding-top: 19px;
    /*margin-right: 30px;*/
}

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

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

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

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

.ce_accordion .toggler {
font-size:15px;
color:#4e4e4e;
padding-left:20px;
margin-bottom:10px;
background: url("../../files/layout/toggler-bottom.png") no-repeat left center;
}

.ce_accordion .toggler.ui-state-active{
background: url("../../files/layout/toggler-top.png") no-repeat left center;
}

.col50 {
float:left;
width:50%;
}

/* mod_caroufredsel
------------------------------------------------- */
/*.mod_caroufredsel,
.caroufredsel_wrapper {
    width: 100%;
    margin: 0 auto;
    overflow: hidden;
    position: relative;
    z-index: 8;
}



.caroufredsel .ce_image {
    width: 1920px;
    position: relative;
}*/

#footer {
    margin-bottom: 250px;
}

.cookiebar {
    font-size:14px;
}

.cookiebar__button {
    background: #2655ac;
}


/* =============================================================================
 * Mobile styles
 * 
 * ========================================================================== */

@media only screen and (max-width: 1423px) {
    #randomImages .image_container,
    #kopfbild .ce_image {
        width: 100%;
    }
}

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

@media only screen and (max-width: 1000px) {
    #wrapper,
    #header .header .inner,
    #header .button-online-beratung .inner,
    #main .mod_article,
    #custom .mod_article,
    #footer .inside,
    body.arbeitsrecht #container {
        width: 100%;
    }
    
    #header .header {
        left: 0;
        margin: 0 auto;
    }
    
    #main .mod_article .ce_headline,
    #main .mod_article .ce_text,
    #custom .box .mod_article,
	#main .mod_sitemap.block,
	.formbody,
	#linkliste,
    #footer .footer {
        padding: 0 12px;
    }
    
    #custom .box.blue .col14 {
        width: 48%;
        margin-bottom: 15px;
    }
    
    #custom .box .rechts-tipps {
        float: none;
        width: 100%;
        padding-right: 0;
        margin-right: 0;
        border: 0;
    }
    
    
    #custom ul li {
        float: left;
        width: 250px;
        margin-right: 15px;
    }
    
    #custom .box .col34 {
        float: none;
        width: 100%;
    }

    
    #mainmenu .level_1 > li > a,
    #mainmenu .level_1 > li > span {
        font-size: 12px;
    }
	
}

@media only screen and (max-width: 980px) {
    #menu-mobile-button {
        display: block;
    }
    
    #mainmenu {display: none;}
    
    #logo {
        float: none;
        margin-right: 0;
        text-align: center;
    }
    
    #logo img {
        width: 220px;
    }
    
    #header .info-box {
        display: none;
    }
}

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

/* iPad - Portrait 768x1024px */
@media only screen and (max-width: 768px) {
    #custom .box.blue h2:before,
    #custom .box.blue h2:after {
        display: none;
    }
    
    #custom .box.blue .col14 {
        width: 100%;
        margin-right: 0;
        margin-bottom: 15px;
    }
    
    .button-online-beratung {display: none;}
    
    body.arbeitsrecht #right .inside {
        padding: 0 10px 10px;
    }
    
    body.arbeitsrecht #main .mod_article {
        padding-right: 0;
    }
}

@media only screen and (max-width: 765px) {
    .spacer-or {
        display: none;
    }
}

@media only screen and (max-width: 735px) {
    .button_phone, .button_email {
        margin-bottom: 15px;
    }
    
    .image_container.float_left {
        float: none;
    }
    
    #custom .ce_text.col34 {
        margin-bottom: 15px;
    }
}

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

/* Small tablet 480x640px */
@media only screen and (max-width: 480px) {
    #footer .inside {
        height: auto;
    }
    
    #main .mod_article .ce_text {
        padding-bottom: 15px;
    }
    
    #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;
    }
    
    .col12,
    .col13,
    .col14,
    .col34,
    .col12.last,
    .col13.last,
    .col14.last,
    .col34.last,
    .col50 {
        float: none;
        width: 100%;
        margin-right: 0;
    }
    
    #main label {
        float: none;
    }
    
    p.error {
        float: none;
    }
    
    .ce_gallery > ul li.col_first {
        clear: none;
    }
    
    .image_container.float_left,
    .image_container.float_right {
        float: none;
    }
	#custom .spacer-or {
    margin: 0 20px;
	}
	span.button_phone  {
	display:inline-block;
	}
	body.standard #main h1 {padding-top:2px;}

	#toplink{right:12px;}
}

/* iPhone 320x480px */
@media only screen and (max-width: 320px) {
#logo img {width:257px;  margin-left:45px;}
#logo {padding-top:21px;}
#menu-mobile-button {top:24px;}
a.button_email, 
span.button_email a {line-height:35px;}
.col14.baurecht.block {padding-top:20px;}
h1 {font-size:20px;}

}


/* Small phone 240x320px */
@media only screen and (max-width: 240px) {
    
}
/* open-sans-300 - latin */
@font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 300;
    src: url('../../files/layout/fonts/open-sans-v17-latin-300.eot'); /* IE9 Compat Modes */
    src: local('Open Sans Light'), local('OpenSans-Light'),
         url('../../files/layout/fonts/open-sans-v17-latin-300.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
         url('../../files/layout/fonts/open-sans-v17-latin-300.woff2') format('woff2'), /* Super Modern Browsers */
         url('../../files/layout/fonts/open-sans-v17-latin-300.woff') format('woff'), /* Modern Browsers */
         url('../../files/layout/fonts/open-sans-v17-latin-300.ttf') format('truetype'), /* Safari, Android, iOS */
         url('../../files/layout/fonts/open-sans-v17-latin-300.svg#OpenSans') format('svg'); /* Legacy iOS */
  }
  /* open-sans-regular - latin */
  @font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 400;
    src: url('../../files/layout/fonts/open-sans-v17-latin-regular.eot'); /* IE9 Compat Modes */
    src: local('Open Sans Regular'), local('OpenSans-Regular'),
         url('../../files/layout/fonts/open-sans-v17-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
         url('../../files/layout/fonts/open-sans-v17-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
         url('../../files/layout/fonts/open-sans-v17-latin-regular.woff') format('woff'), /* Modern Browsers */
         url('../../files/layout/fonts/open-sans-v17-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
         url('../../files/layout/fonts/open-sans-v17-latin-regular.svg#OpenSans') format('svg'); /* Legacy iOS */
  }
  /* open-sans-600 - latin */
  @font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 600;
    src: url('../../files/layout/fonts/open-sans-v17-latin-600.eot'); /* IE9 Compat Modes */
    src: local('Open Sans SemiBold'), local('OpenSans-SemiBold'),
         url('../../files/layout/fonts/open-sans-v17-latin-600.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
         url('../../files/layout/fonts/open-sans-v17-latin-600.woff2') format('woff2'), /* Super Modern Browsers */
         url('../../files/layout/fonts/open-sans-v17-latin-600.woff') format('woff'), /* Modern Browsers */
         url('../../files/layout/fonts/open-sans-v17-latin-600.ttf') format('truetype'), /* Safari, Android, iOS */
         url('../../files/layout/fonts/open-sans-v17-latin-600.svg#OpenSans') format('svg'); /* Legacy iOS */
  }
  /* open-sans-700 - latin */
  @font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 700;
    src: url('../../files/layout/fonts/open-sans-v17-latin-700.eot'); /* IE9 Compat Modes */
    src: local('Open Sans Bold'), local('OpenSans-Bold'),
         url('../../files/layout/fonts/open-sans-v17-latin-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
         url('../../files/layout/fonts/open-sans-v17-latin-700.woff2') format('woff2'), /* Super Modern Browsers */
         url('../../files/layout/fonts/open-sans-v17-latin-700.woff') format('woff'), /* Modern Browsers */
         url('../../files/layout/fonts/open-sans-v17-latin-700.ttf') format('truetype'), /* Safari, Android, iOS */
         url('../../files/layout/fonts/open-sans-v17-latin-700.svg#OpenSans') format('svg'); /* Legacy iOS */
  }
