/**
 # Viva Harmonia CSS - www.viva-harmonia.de,www.vivaharmonia.de
 # @version: 1.0
 # @copyright: 2017
 # - wizdom.de
 #
 */
*                                               { box-sizing: border-box; }
html                                            { background: #ffffff url("images/background/background-t.jpg") no-repeat center center fixed;
                                                  font:100% helvetica,sans-serif; color:#454545; height:100%;
                                                  -webkit-background-size: cover; -moz-background-size: cover; -o-background-size: cover; background-size: cover; }
body                                            { margin:0; padding:0; font-size:16px; }

html.mobile-nav-open,
body.mobile-nav-open
    { overflow:hidden; height:100%; }

body.mobile-nav-open ul.main-navigation,
body.mobile-nav-open ul.main-breadcrumbs,
body.mobile-nav-open div.content                { pointer-events: none; touch-action:none; }
/* mobile slide - ltr */
body div.wrapper                                { -webkit-transform: translateX(0); transform: translateX(0);
                                                  -webkit-transition: 300ms ease all; transition: 300ms ease all;
                                                  -webkit-backface-visibility: hidden; backface-visibility: hidden; }

/*
    headers
 */
h1, h2, h3, h4, h5
    { padding:0;margin:0; border-left: 0px solid #8bbbd3; }

h1.page-title                                   { font-size:1.5em; padding: 0 0 0 .5em; margin: .25em 0 1em 0; border-left-width: 4px; }
div.content-wrap > h1.page-title                { flex: 0 0 100%; }

h2                                              { font-size:1.25em; border-left-width: 2px; }
div.content-wrap .box-content > h2              { padding: 0 0 0 .5em; margin: 2em 0 .5em 2px; }
div.content-wrap .box-content > h2:first-child  { padding-top:.25em; margin-top:0; }
.box-content > h2                               { padding:2em 0 1.5em; }
.box-content > h2:first-child                   { padding:0 0 1.5em; }

h3                                              { font-size:1.125em; }



/*
    links
 */
a,
a:active,
a:link
a:visited,
a:-webkit-any-link
    { text-decoration:none; color:#8BBBD3; }

/*
    misc resets
 */
p                                               { padding:0; margin:0; }

ul                                              { list-style:none outside none; padding:0px; position:relative; }


div.wrap-center                                 { max-width:1050px; }
div.wrap-center > div                           { margin:0px; }



/*
    header / logo
*/
div.header                                      { max-height:180px; }
div.header div.top                              { position:relative; clear:left; height:120px; }
div.header div.top img.logo                     { position:absolute; right:0px; width:300px; top:30px; }



/*
    banner
 */
div.content .banner-container {
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
    overflow:hidden;
}
div.content .banner-container .image-container {
    background-size:cover;
    background-position:center center;
}
div.content .banner-container.banner-container-narrow,
div.content .banner-container.banner-container-narrow .image-container {
    max-height:250px;
    height:250px;
    min-height:250px;
}

div.content .banner-container.banner-container-medium,
div.content .banner-container.banner-container-medium .image-container
    { max-height:375px; height:375px; min-height:375px; }

div.content .banner-container.banner-container-big,
div.content .banner-container.banner-container-bigger,
div.content .banner-container.banner-container-big .image-container,
div.content .banner-container.banner-container-bigger .image-container
    { max-height:500px; height:500px; min-height:500px; }

div.content .banner-container img               { width:1050px; }


/*
    content
 */
div.content .content-wrap                       { background-color:#ffffff; }

div.content-wrap                                { display: flex; flex-wrap: wrap; }
div.content-wrap > div.box-split-left           { width: 250px; margin-right: 20px; }
div.content-wrap > div.box-split-right          { flex: 1; }

div.content .uk-list li                         { padding:10px 7px; }
div.content .uk-list.menu-list li               { border-color:#8BBBD3; }

div.content .uk-list.menu-list li:hover,
div.content .uk-list.menu-list li.active:hover
    { background-color: #d5e5ed; color: #000; font-weight: normal; cursor: pointer; border-color: #fff; }

div.content .list.menu-list li:hover,
div.content .list.menu-list li.active:hover,
div.content .list.menu-list li.selected,
div.content .list.menu-list li.selected:hover,
div.content .uk-list.menu-list li.active:hover,
div.content .uk-list.menu-list li.active.hover:hover
    {  background-color:#8BBBD3; color:#fff; border-color:#8BBBD3; cursor:default; }

div.content.content-team ul.team-list           { padding:0px; margin:0px; display:flex; flex-wrap:wrap; justify-content: flex-start; }
div.content.content-team ul.team-list li        { padding:0px; margin:0 1px 10px 1px; box-sizing: border-box; width:32.5%; height:175px; }
div.content.content-team ul.team-list li img.team-person-thumb { border-radius:10px; border:3px solid gray; }

div.content.content-team ul.team-list li img.team-person-thumb:hover,
div.content.content-team ul.team-list li img.team-person-thumb.hover,
div.content.content-team ul.team-list li img.team-person-thumb.active
    { border-radius:10px; border:3px solid #64b1d8; cursor:pointer; }

div.content.content-team ul.team-list li img.team-person-thumb.active { cursor:default; }


ul.menu-list-sub a                              { color:inherit; text-decoration:inherit; display:block; padding:5px; }

ul.menu-list-sub li.active,
ul.uk-list-striped.menu-list-sub li.active
    { background-color:#8bbbd3; color:#fff; font-weight:normal; }

ul.uk-list-striped.menu-list-sub li.hover,
ul.uk-list-striped.menu-list-sub li:hover
    { background-color:#d5e5ed; color:#000; font-weight:normal; }

/*
    footer
 */
div.footer                                      { min-height:200px; background-color:rgba(120,165,187,0.8); }
div.footer span.footer-headline                 { color:#ffffff; font-weight:bold; margin-bottom: 16px; display:block; }
div.footer span, div.footer div.footer-wrap .list { line-height:22px; }
div.footer div.footer-wrap                      { z-index:1; }

div.footer-wrap > ul > li > ul.list > li,
div.footer-wrap > ul > li > p.kontaktdaten
    { font-size:0.875em; }
div.footer-wrap > ul > li > p.kontaktdaten > span { display:block; margin:0; padding:0; }
div.footer-wrap .list                           { list-style:none; margin:0px; padding:0px; }

div.footer-wrap ul.footer-menu-split            { list-style: none; padding:0px; margin:0px; text-align:right; }
div.footer-wrap ul.footer-menu-split > li       { float:left; color:#fff; }

div.footer-wrap ul.footer-menu-split.footer-menu-split-33 > li { width:33%; }
div.footer-wrap ul.footer-menu-split.footer-menu-split-25 > li { width:25%; }

div.footer-wrap ul.footer-menu-split li.kontakt { text-align:left; }

.footer a                                       { color:#fff; text-decoration:none; }
.footer a:hover                                 { text-decoration:underline; }



 /*
    navigation / main
  */
.main-navigation-wrapper                        { width:100%; }
.main-navigation                                { width:100%; height:50px; display:flex; justify-content: space-around; align-items: center; flex-wrap:nowrap; background-color:#fff; }

.main-navigation > li                           { position:relative; display:block; }
.main-navigation > li a                         { text-decoration:none; text-transform: uppercase; color:#454545; }

.main-navigation > li span                      { color:#454545;font-size:0.75em;font-weight:bold;text-decoration:none;padding:10px 17px; }
.main-navigation li.active span                 { background-color:#8BBBD3; border-radius:7px; color:#FFFFFF; }
.main-navigation > li.menu-delimiter            { background: url("../images/menu/menu-delimiter.jpg") no-repeat scroll center center rgba(0, 0, 0, 0); height: 35px; vertical-align: middle; width: 20px; top:-17px; }


.content-wrap ul                                { padding: 0; margin:0px; list-style: none; }

.content-wrap ul > li:before,
.content-wrap ul > li:after
    { content: ""; display: table; }

.content-wrap ul > li:after                     { clear: both; }
.content-wrap ul > li > :last-child             { margin-bottom: 0; }

.content-wrap ul ul                             { margin: 0; padding-left: 20px; list-style: none; }

.box-content ul                                 { padding:10px 5px; }
.box-content ul > li                            { border-bottom: 1px solid #dddddd; margin-bottom: 1px; padding:10px 5px; }
.content-wrap ul > li:nth-of-type(odd):not(.active) { background: #fafafa; }

.content-wrap ul.uk-list-space > li:nth-child(n+2) { margin-top: 10px; }
.uk-list-striped > li:first-child               { border-top: 1px solid #dddddd; }


/**
    team
 */
.grayscale-filter,
.image-person .grayscale-filter { -webkit-filter: grayscale(100%); filter: grayscale(100%); }

.person-image.active,
.person-image.selected,
.person-image:hover
    { -webkit-filter: grayscale(0%); -moz-filter: grayscale(0%); -o-filter: grayscale(0%); filter: grayscale(0%);
      -webkit-transition: .25s ease-in-out; -moz-transition: .25s ease-in-out; -o-transition: .25s ease-in-out; transition: .25s ease-in-out; }

.person-image                                   { width: 100%; height: 100%; background-repeat: no-repeat; background-position: center center; position:relative; overflow:hidden;
                                                  -webkit-filter: grayscale(0%); -moz-filter: grayscale(0%); -o-filter: grayscale(0%); filter: grayscale(0%);
                                                  -webkit-transition: .25s ease-in-out; -moz-transition: .25s ease-in-out; -o-transition: .25s ease-in-out; transition: .25s ease-in-out; }

li.person-viewer p {
    padding-bottom:15px;
}

ul.team-list div.person-image > span.person-name { font-size: 0.75em; text-align: center; width: 100%; display: block; bottom: -100px; position: absolute;
                                                   background-color: rgba(255,255,255,0.8); padding: .75em 0em; color:#000000; transition: bottom 250ms ease-out; }


ul.team-list div.person-image.selected > span.person-name,
ul.team-list div.person-image.active > span.person-name,
ul.team-list div.person-image:hover > span.person-name
    { bottom:0px; }


/**
   downloads
 */
ul.downloads {
    width:100%;
    margin:2em;
}
ul.downloads li.download-item {
    display:flex;
    justify-content: space-between;
    flex-direction:row;
    /*padding:.5em;*/
}
ul.downloads li.download-item > div,
ul.downloads li.download-item > a
    { width:100%; vertical-align:middle; }

ul.downloads li.download-item .download-item-wrapper
    { padding:1em; flex-direction:column; }
ul.downloads li.download-item .download-item-wrapper .download-item-description
    { width:100%; padding:1em 0 0 0; }
ul.downloads li.download-item .download-item-texts
    { display:flex; width:100%; }
ul.downloads li.download-item .download-item-texts .download-item-title
    { flex:1; font-weight:bold; }
ul.downloads li.download-item .download-item-texts .download-item-title a:active,
ul.downloads li.download-item .download-item-texts .download-item-title a:link,
ul.downloads li.download-item .download-item-texts .download-item-title a:visited {
    color:#454545;
    text-decoration:underline;
}
ul.downloads li.download-item .download-item-texts .download-item-size
    { width:75px; text-align:center; }

ul.downloads li.download-item .download-item-link
    { width:75px; text-align:center; padding:1em 0; }
ul.downloads li.download-item .download-item-link:hover
    { background-color:#8bbbd3; color:#fff; transition: background-color .5s ease; }
ul.downloads li.download-item .icon-cloud_download
    { font-size:1.5em; top:-3px; position:relative;  }

/**
    quote
 */
.box-quote                                          { display: flex; margin-bottom: 30px; align-items: center; justify-content: center; padding-bottom: 10px; background-color: #f0f0f0; border-radius:10px; }
.box-quote .quote-sign                              { font-size: 5em; width: 75px; text-align: center; color: #8BBBD3; padding-bottom:5px; }
.box-quote .quote-wrapper                           { flex-grow: 1; margin-top: 10px; padding-right: 1.25em; }
.box-quote .quote-wrapper .quote-text               {  }
.box-quote .quote-wrapper .quote-author             { font-weight: bold; padding: 10px 0 0; }



/*
    boxes
 */
.box-content                                        { width:100%; padding:0 1.25em; }
.box-spacer                                         { margin-top:10px; }
.box-content p:not(:first-child)                    { margin-top: 16px; }



/*
    nice, very nice boxes
 */
.nice-very-nice-box                                 { display:flex; flex-wrap: wrap; justify-content: space-between; }
.nice-very-nice-box.nice-columns-max-3 > .nice-box  { width:33%; }
.nice-box                                           { background-color:#fff; margin-bottom:8px; overflow:hidden; }
.nice-very-nice-box > .nice-box                     { min-height:150px; max-height:150px; text-align:left; }
.nice-box > .nice-box-wrapper                       { padding: 1em; }
.nice-box > .nice-box-wrapper > span.nice-title     { display:block; min-height:40px; font-size:1.125em; font-weight:bold; }
.nice-box > .nice-box-wrapper > span.nice-text      { font-size:1em; }

.nice-very-nice-box.reverse-odd >
    .nice-box.box-trippy-corners:nth-child(even)    { background-color:#f0f0f0; }
.nice-very-nice-box.reverse-odd >
    .nice-box.box-trippy-corners:nth-child(odd)     { border-radius: 0 10px 0 10px; }


/*
    team-person-list
 */
ul.team-person-list > li > a                        { display:block; padding: 5px 10px; }

ul.team-list .person-image.selected > span.person-name { font-weight:bold; color: #000000; }


/*
    effects
 */
body.effects .box-innerspace                        { padding:20px; }
body.effects .box-corners                           { border-radius: 10px; }
body.effects .box-trippy-corners                    { border-radius: 10px 0 10px 0; }
body.effects .box-trippy-corners-reverse            { border-radius: 0px 10px 0 10px; }
body.effects .box-top-corners                       { border-radius:10px 10px 0px 0px; }
body.effects .box-bottom-corners                    { border-radius:0px 0px 10px 10px; }
body.effects .box-borders                           { border: 1px solid #f0f0f0; }


/*
    footer
 */
.footer.hamburg                                     { position:relative; overflow:hidden; z-index:10; }

.footer.hamburg:after,
.footer.hamburg-50:after,
.footer.hamburg-65:after,
.footer.hamburg-75:after,
.footer.hamburg-85:after,
.footer.hamburg-95:after
    {  content: ' '; display: block; position: absolute; left: 0; top: 0; width: 100%; height: 100%; z-index: 0; opacity: 0.3;
       background-image: url('images/background/hamburg.png'); background-repeat: no-repeat; background-position: 50% 0;
       -ms-background-size: cover; -o-background-size: cover; -moz-background-size: cover; -webkit-background-size: cover; background-size: cover; }

.footer.hamburg-50                                  { background-image:url("images/background/hamburg-50.png"); }
.footer.hamburg-75                                  { background-image:url("images/background/hamburg-75.png"); }
.footer.hamburg-85                                  { background-image:url("images/background/hamburg-85.png"); }
.footer.hamburg-95                                  { background-image:url("images/background/hamburg-95.png"); }


/*
    scroll to top
 */
a.scrollup                                          { position: fixed; bottom: 50px; right: 100px; display: none; background-color: rgba(0,0,0,0.5); font-size:2em; padding:10px;
                                                      border-radius:5px; color:#fff; z-index:1100; text-decoration:none; }

a.scrollup > span                                   { display:block; }


/*
    helpers
 */
.clearfix:before                                    { content: ""; display: table-cell; }
.clearfix:after                                     { content: ""; display: table; clear: both; }
.container-center                                   { margin-left: auto; margin-right: auto; }
.flex-full-width                                    { flex:0 0 100%; }


/*
    list styles
 */
.list                                               { padding: 0; list-style: none; }

.list > li:before,
.list > li:after
    { content: ""; display: table; }

.list > li:after                                    { clear: both; }
.list > li > :last-child                            { margin-bottom: 0; }
.list ul                                            { margin: 0; padding-left: 20px; list-style: none; }
.list-line > li:nth-child(n+2)                      { margin-top: 5px; padding-top: 5px; border-top: 1px solid #dddddd; }
.list-striped > li                                  { padding: 5px 5px; border-bottom: 1px solid #dddddd; }
.list-striped > li:nth-of-type(odd)                 { background: #fafafa; }
.list-space > li:nth-child(n+2)                     { margin-top: 10px; }
.list-striped > li:first-child                      { border-top: 1px solid #dddddd; }

.copyright                                          { font-weight:bold; padding:5px; font-size:0.750em; }
.codedirection                                      { unicode-bidi: bidi-override; direction: rtl; }

ul.impressum                                        { display:flex; flex-wrap:wrap; justify-content:space-between; }
ul.impressum > li                                   { width:31%; margin-bottom: 30px; }
ul.impressum > li > h2                              { margin: 5px 5px 5px 0; padding-left: 10px; }

@media only screen and (max-width: 1049px) {
    .main-navigation                                        { display: none; }
    div.footer li.sitemap                                   { display: none; }

    div.footer-wrap ul.footer-menu-split.footer-menu-split-33 > li { width:50%; }
}