body 						{ background: #e9eded; color: #1b4f4c; font-family: 'General Sans', sans-serif; font-size: 16px; }
body.HomePage 				{ min-height: 100vh;}


@media (min-width: 1300px)  {
    .container { 
        width: 95%;
        max-width: 1400px;
     }
}

a 							{ color: #1b4f4c; text-decoration: none; }
a:hover, a:active			{ color: #1b4f4c; text-decoration: none; }
	
h1,h2,h3    				{ font-family: 'FreightBigProBook',serif; font-weight: normal; padding-bottom: 4px; color: #1B4F4C; }
h1 			    			{ font-size: 3rem; color: #1B4F4C; font-weight: 400; padding-left: 0px; margin-left: 0px; padding-bottom: 32px; display:inline-block; clear: both}
h2          				{ font-weight: 500; font-size: 2rem; line-height: 1.1; letter-spacing:0.5px;   }
h3          				{ font-size: 1.5rem; line-height: 1.1; font-weight: 300; }
h4          				{ font-family: 'FreightBigProBook', serif; font-weight: normal; padding-bottom: 4px; display: inline-block; font-size: 1.15rem; }


h1:before                   { content:' ';  display:block; border-top:2px solid #1b4f4c; width: 80px; padding-bottom: 5px; }

img        					{ max-width: 100%; height: auto }

p     	    				{ font-family: 'General Sans', sans-serif; font-weight: 300; line-height: 1.5; font-size: 1.1rem; margin-bottom: 1.5rem; color:#1B4F4C; }
p strong    				{ font-weight: 600; font-size: 1.1rem; }
li          				{ font-family: 'General Sans', sans-serif; font-weight: 300; line-height: 1.5; font-size: 1.1rem; color: #1B4F4C;}
.relativer                  { position: relative; }

/* Header */
.homelink                   { margin-left: 50px; }
header                      { padding-top:  40px; padding-bottom:  40px; left:  0px; right:  0px; top:  0px; height:  80px; position: absolute; z-index: 999; -webkit-transition: 0.2s all ease; -moz-transition: 0.2s all ease; -o-transition: 0.2s all ease; -ms-transition: 0.2s all ease; transition: 0.2s all ease;}
.HomePage header            { background-color: transparent; }
.HomePage header .homelink img { display: none; }
header.sticky               { background-color: #e9eded;position: fixed; padding-top: 20px; height: 60px; padding-bottom: 10px; -webkit-box-shadow: 0 0 6px 0 rgb(0 0 0 / 5%); box-shadow: 0 0 6px 0 rgb(0 0 0 / 5%); }
header.sticky.finished      { top: -1px; background-color: #fff; position: fixed; left: 0px; right: 0px; height: 60px; }
header.inverted.sticky      { background-color: #1B4F4C; -webkit-box-shadow: 0 0 1px 0 rgb(255 255 255 / 8%); box-shadow: 0 0 1px 0 rgb(255 255 255 / 8%); }

header.sticky #stickhome    {  display: block; }
header.sticky .homelink     { text-align: left; }
header.sticky .homelink img { max-width: 100px; display: unset }
header.sticky .menu         { top: -2px; }

#homelogo                   { z-index: 9; width: 450px; position:absolute; left: 50%; margin-left: -225px; top: 50%; margin-top: -65px; opacity: 0; -moz-transition: opacity 2.5s; -webkit-transition: opacity 2.5s; -o-transition: opacity 2.5s; transition: opacity 2.5s; }
.loaded #homelogo { opacity: 1 }

nav                         { display: none; position:absolute; right: 0px; top: 0px; background-color: transparent; min-width: 250px; }
nav ul 						{ list-style-type: none; text-transform: uppercase; padding-right: 50px; padding-top: 100px;}
nav ul li 					{ float: right; padding-right: 15px; display: block; clear: both; text-align: right; padding-bottom: 10px;  }
nav ul li a 				{ color: #1B4F4C; font-weight: 300;}
nav ul li a:hover 			{ color: #1B4F4C; font-weight: 400; opacity: 0.8}
nav ul li.current > a,
nav ul li.section > a       { font-weight: 400;}

header.inverted nav                         {   }
header.inverted nav ul li a                 { color: #fff; font-weight: 300;}
header.inverted nav ul li a:hover           { color: #fff; font-weight: 400;}

.langs                      { display:block; position:absolute; right: 140px; top: 5px; }
.hiddenlangs .current       { font-family: 'General Sans'; color: #1B4F4C; font-weight: 600; line-height: 1.2;  }
.hiddenlangs                { display:inline-block; font-family: 'General Sans'; color: #1B4F4C; font-weight: 300; line-height: 1.2; }
.hiddenlangs a              { display:block; float: left; margin-right: 10px; }

.menu                       { cursor: pointer; margin: 0 auto;position: absolute; width: 50px; height: 43px; display: block; right: 50px; top: -4px; z-index: 999;  }
.menu-global                { backface-visibility: hidden; position: absolute; left: 10px; border-top: 2px solid #1B4F4C;  width: 40px; transition: 0.55s; }
.menu-top                   { top: 13px; }
.menu-bottom                { top: 20px; }
.menu-top-click             { border-top-color: #1B4F4C; backface-visibility: hidden; top: 15px; -webkit-transform: rotate(45deg); -webkit-transition: 0.55s 0.5s; -moz-transform: rotate(45deg); -moz-transition: 0.55s 0.5s; transform: rotate(45deg); transition: 0.55s 0.5s; }
.menu-bottom-click          { border-top-color: #1B4F4C; backface-visibility: hidden; top: 15px; -webkit-transform: rotate(-405deg); -webkit-transition: 0.55s 0.5s; -moz-transform: rotate(-405deg); -moz-transition: 0.55s 0.5s; transform: rotate(-405deg); transition: 0.55s 0.5s;  }

header.inverted .menu-global,
header.inverted .menu-top-click,
header.inverted .menu-bottom-click { border-top-color: #fff }
header.inverted .hiddenlangs a,
header.inverted .hiddenlangs .current { color: #fff }

header.inverted .homelink img{ fill: #fff; }

h2.fakeheadline             { font-size: 3rem; color: #1B4F4C; font-weight: 400; padding-left: 0px; margin-left: 0px; padding-bottom: 32px; display:inline-block; clear: both}
h2.fakeheadline:before      { content:' ';  display:block; border-top:2px solid #1b4f4c; width: 80px;  padding-bottom: 5px; }
h2.white.fakeheadline:before   { content:' ';  display:block; border-top:2px solid #fff; width: 80px; padding-bottom: 5px; }

/* Footer */
.footer                     { background-color: #fff; }
.footerlogo                 { max-width: 160px; }
.copy                       { font-weight: 400; color: #4e4e4e; padding-top: 25px;}
.footermenu                 { list-style-type: none; display: block; float: right; padding-top: 23px; }
.footermenu li              { display: block; float: left; margin-left: 20px;}
.footermenu li a            { text-transform:uppercase; color: #4e4e4e; font-weight: 400; }
.footermenu li a:hover      { color: #000; }


/* Body */
.right                      { float: right; }
.greenbutton {
    display: inline-block;
    background-color: #1B4F4C;
    color: #fff;
    padding: 10px 50px;    
    font-weight: 500;    
    transition: background-color 0.3s, color 0.3s;
}

.greenbutton:hover {
    background-color: #fff;
    color: #1B4F4C;
}

/* home */
#hero {
    height: 100vh;
    overflow: hidden;
    max-width: 100%;
    max-height: 100vh;
    margin-bottom: -30px;
}

#topVideo {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);    
    min-height: 100vh;
    max-height: 100vh;
    width: auto;
    height: auto;
    object-fit: cover;
    z-index: 0;
}

#topVideoMobile {
    display: none;
}
#homelogomobile {
    display: none;
}


.fktinside                  { padding-right: 70px; }
.fktheadline                { font-size: 3rem; font-family:'FreightBigProBook', serif; line-height: 70px; font-weight: 600 }
.fktcontent                 { font-family: 'General Sans', sans-serif; font-weight: 300; font-size: 0.9rem; margin-top: -10px }
.imglink                    { display: block; overflow: hidden }
.imglink img                { transition: transform 0.5s; }
.imglink:hover img          { transform: scale(1.1); }


.featuredslider             { display: flex; margin: 0 auto; width: 1140px; padding-bottom: 80px; }
.featuredslide              { height: 100%; width: 33%; max-width: 380px; padding-left: 15px; padding-right: 15px; position: relative }

.nextteam                    { cursor: pointer; display: block; position: absolute; right: -40px; top: 80px; width: 40px; height: 70px; z-index: 999; background: transparent url(../images/next-team.svg) center center no-repeat; background-size: contain; }
.prevteam                   { cursor: pointer; display: block; position: absolute; left: -50px; top: 80px; width: 40px; height: 70px; z-index: 999;background: transparent url(../images/prev-team.svg) center center no-repeat; background-size: contain; }

.sepline                    { width: 100%; height: 1px; background-color: #fff; }
.funktion                   { color: #fff; display: inline-block; }
.membermail,
.funktion                   { font-family: 'General Sans', sans-serif; font-weight: 300; font-size: 1.1rem; line-height: 1.5; color: #fff; }


.teamslider2                 { display: flex; margin: 0 auto; width: 100%; padding-bottom: 80px; }
.teamslider                 { display: flex; margin: 0 auto; width: 1140px; padding-bottom: 80px; }
.teamslide                  { height: 100%; width: 100%; position: relative }
.teamslide p                { display: block; float: left; clear: both; max-width: 100%; white-space: normal; padding-top: 40px; }

.teamslideinside            { height: 100%; display: block; position: relative; float: left; width: 33%; max-width: 380px; padding-left: 15px; padding-right: 15px;  }

.lowernav                   { position: absolute; bottom: 5px; width: 250px; margin-left: -125px; left: 50%; height: 35px; text-align: center; }
.next                       { cursor: pointer; display: block; float: right; position: relative; width: 51px; height: 35px; z-index: 999; background: transparent url(../images/next.png) center center no-repeat; background-size: contain; }
.prev                       { cursor: pointer; display: block; float: left; position: relative; width: 51px; height: 35px; z-index: 999;background: transparent url(../images/prev.png) center center no-repeat; background-size: contain; }
.cycle-pager                { display: block; float: left; text-align: center; width: 140px; margin-top: -3px }
.cycle-pager span           { font-family: arial; font-size: 0px; width: 8px; height: 8px; border-radius: 4px;  display: inline-block; text-align: center; margin-left: 5px; margin-right: 5px;background-color: #4b7472; cursor: pointer;  }
.cycle-pager span.cycle-pager-active { background-color: #fff;}
.cycle-pager > *            { cursor: pointer;}


/* inverted page */
.bordertop                  { border-top: 1px solid #fff; padding-top: 8px; }
.inverted                   { background-color: #1b4f4c;  }
.inverted p,
.inverted a,
.inverted h1,
.inverted h2,
.inverted h3,
.inverted h4,
.inverted li                { color: #fff }
.inverted h1:before         { content:' ';  display:block; border-top:2px solid #fff; width: 80px; }

.bordered                   { border: 2px solid #fff; padding: 60px 80px; }
.pnomargin p                { margin-bottom: 1px; }
.pnomargin ul               { padding-left: 20px; }

.pt-150                     { padding-top: 150px; }
.pt-200                     { padding-top: 200px; }
.pt-250                     { padding-top: 250px; }

.mobile                     { display: none; }

.video                      { margin-left: unset !important }
#topVideo                   { width: 100%; margin-bottom: -10px; }


/* esg page */
.darkgruen                  { background-color: #1b4f4c; }
.hellgruen                  { background-color: #e9eded; }
.esgblock                   { min-height:445px; }
.esgblock .esgbild          { background-size: cover;   }
.esgblock.darkgruen p,
.esgblock.darkgruen h3      { color: #fff }
.imgtitle                   { font-family: 'FreightBigProBook',serif; font-weight: normal; color: #fff; position: absolute; line-height:1; bottom: -25px; font-size: 8rem; width: 270px; left: 50%; margin-left: -135px; text-align: center; }
.imgtitle3 { width: 550px; margin-left: -275px }
.esginside                  { padding: 70px 80px; max-width: 60% }
.esgpinside                  { padding: 70px 80px; max-width: 90% }
.esgpinside ul {
    padding-left: 25px;
}
.esgblock.hellgruen .esginside { float: right; }
.esgblock.hellgruen .esgpinside { float: left; }
.esgblock.hellgruen .imgtitle { color:#1b4f4c;  }
.darkgruen li {
    color: #fff;
}

.esgpinside h2 {
    color: #fff;
}

.esgblock.hellgruen .esgpinside h2 {
    color: #1b4f4c;
}

/* kontakt form */
#Form_KontaktForm input[type="text"],
#Form_KontaktForm input[type="email"] { width: 100%; background-color: transparent; color: #fff; padding: 5px 10px; border: none; border-bottom: 1px solid #fff; font-weight: 300; margin-bottom: 20px; }
#Form_KontaktForm textarea { width: 100%; background-color: transparent; color: #fff; padding: 20px; border: 1px solid #fff; font-weight: 300; margin-bottom: 20px; min-height: 200px; margin-top: 20px }
#Form_KontaktForm_Subject_Holder { position: fixed; left: -3000em; }
#frmKontaktSubmit { padding: 5px 35px; color: #1b4f4c; cursor:pointer; }
#Form_KontaktForm ::-webkit-input-placeholder   { color: #fff; }
#Form_KontaktForm :-ms-input-placeholder        { color: #fff; }
#Form_KontaktForm ::placeholder                 { color: #fff; }

.minheight                  { min-height: calc(100vh - 76px); }




/* unternehmen */
.projektlink:hover  { opacity: 0.8 }
.projektlink        { display:block; position:relative; }
.projektlink img    { display: inline-block; margin-top: -5px; margin-right: 5px;  }
.projekttitle       { position: relative; z-index: 7; margin-top: -50px; height: 50px; background-color: rgba(27,79,76, 0.5); color: #fff;  }
.ptinside           { padding-top: 10px; padding-left: 25px; text-transform:uppercase; color: #fff; font-weight: 300; font-size: 0.9rem; }
.pbbox              { padding-top: 10px; padding-right: 10px; float: left; }
.pbbox:nth-child(3n+5)   { padding-right: 0px; }
.backlink           img { display: inline-block; margin-top: -5px; margin-right: 5px;  }
.backlink:hover     { opacity: 0.8 }


.teamimg {
    background-size: cover;
    background-position: center bottom;
}
.teamintro p {
    font-size: 1.3rem;
    line-height: 1.2;
    font-family: 'FreightBigProBook', serif;
    font-weight: 500;
}

.whitebtn {
    display: inline-block;
    background-color: #fff;
    color: #1B4F4C !important;
    padding: 10px 50px;    
    font-weight: 500;    
    cursor: pointer;
}
.whitebtn:hover {
    opacity: 0.9;
}


/* projekt */
.verticalnavi       { position: absolute; top: 100px; left: -100px; text-align: center; }
.nextvertical       { text-indent: -999em; cursor: pointer; display: block; float: none; position: relative; width: 35px; height: 51px; z-index: 999; background: transparent url(../images/down.png) center center no-repeat; background-size: contain; }
.prevvertical       { text-indent: -999em; cursor: pointer; display: block; float: none; position: relative; width: 35px; height: 51px; z-index: 999; background: transparent url(../images/top.png) center center no-repeat; background-size: contain; }
.vertlist           { list-style-type: none; margin-left: 14px; padding-left:0px; padding-top: 40px; padding-bottom: 20px;  }
.vertlist li        { padding-top: 5px; padding-bottom: 5px; }
.vertlist li a      { cursor: pointer; font-family: arial; font-size: 0px; text-indent: -999em; width: 8px; height: 8px; border-radius: 4px;  display: block; text-align: center; background-color: #4b7472; cursor: pointer;  }
.vertlist li.active a  { background-color: #fff;}

.switchimg          { cursor:pointer; }
/* geschichte **/
.jahrbubble.odd { margin-left: 45%; position: relative; max-width: 50%; float: left; clear: both; padding-top: 40px; padding-bottom: 40px; }
.odd .jahr { width: 130px; height: 130px; border-radius: 65px; background-color: #829e9c; color: #fff; font-size: 2rem; font-family: 'FreightBigProBook',serif; font-weight: normal; text-align: center; line-height: 130px }
.odd .text { padding-left:180px; float: left; margin-top: -100px; width: 95%;  }
.jahrbubble .text p strong { font-family: 'FreightBigProMedium',serif; font-size: 1.2rem }

.jahrbubble.even { position: relative; max-width:49.4%; clear: both; padding-top: 50px; padding-bottom: 50px; }
.even .jahr { position: absolute; right: -68px; top: -10px; width: 120px; height: 120px; border-radius: 60px; background-color: #1b4f4c; color: #fff; font-size: 2rem; font-family: 'FreightBigProBook',serif; font-weight: normal; text-align: center; line-height: 120px }
.even .text { padding-right:80px; float: right; margin-top: -40px; width: 85%; text-align: right; }

.borderer { 
    width: 1px; position: absolute; bottom: 50px; top: 50px; background-color: #fff; z-index: -1; left: calc(50% - 1px)
}

.bottomimg {
    background: transparent center center no-repeat;
    background-size: cover;
}

.invisibleimg {
    visibility: hidden;
}

.deeplinks {
    display: block;
    position: absolute;
    bottom: 7vh;   
    z-index: 999;
    width: 100%;
}

.underlined {
    border-bottom: 1px solid #fff;
}

.deeplink {
    color: #fff;
    font-weight: 400;
    font-size: 2rem;
    line-height: 1.3;
    letter-spacing: 0.5px;
    font-family: 'FreightBigProBook',serif
}

.deeplink:hover {
    color: #fff;
    opacity: 0.8
}


/* news page */
.whitebordertop {
    border-top: 1px solid #fff;
    padding-top: 30px;
    position: relative;
    height: 100%;
    margin-left: 20px;
}

.whitebordertop .projektlink {
    position: absolute;
    bottom: 0;
    left: 0;
}

.borderbottom {
    border-bottom: 1px solid #1B4F4C;
    display: block;
    float: left;
    clear: both;
    width: 100%;
    margin-left: 15px;
    margin-right: 15px;
}

.newsblock h3 {
    font-weight: 600;    
}

.newsblock h4 {
    font-weight: 600;    
}

.newsimg {
    background-size: cover;
    background-position: center
}

.social-icon {
    width: 32px;
    height: 32px;
}

.mt-minus-4 {
    margin-top: -4px;
}

@media screen and (max-width: 1400px) {
    .jahrbubble.odd  {
        margin-left: 44.5%;
    }
}


@media screen and (max-width: 1200px) {
    .deeplink {
        font-size: 1.6rem;
    }
    .jahrbubble.odd  {
        margin-left: 43%;
    }
}

@media screen and (min-width: 993px) {
    .adressenbox2 {
        display: none;
    }
}


@media screen and (max-width: 992px) {
    .deeplink {
        font-size: 2.2rem;
    }

    .adressenbox1 {
       display: none;
    }
    .adressenbox2 {
        display: unset;
    }
    .jahrbubble.odd  {
        margin-left: 41%;
    }
}


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

    .ubermich-logo img { max-width: 100%; }

    .homelink                         { margin-left: 0px; }

    .HomePage header {
        background-color: #1b4f4c
    }
    .HomePage header .homelink img { 
        display: block;
    }

    .deeplinks {
        bottom: 140px;
    }

	.mobile 						  { display: unset;}
    .nomobile                         { display: none; }

    header                            { padding-top: 15px; }
    .langs                            { display: none }

    header.sticky                     { padding-top: 15px; }
    header.sticky .menu               { top: 7px; }
    header.sticky .langs              { display:block; }

	.menu                             { cursor: pointer; margin: 0 auto;position: absolute; width: 70px; height: 70px; display: block; right: 10px; top: 20px; z-index: 999999;  }
    .menu-global                      { backface-visibility: hidden; position: absolute; border-top: 2px solid #1B4F4C;  width: 65%; top: 35px; transition: 0.55s; }
    .menu-top                         { top: 0; }
    .menu-bottom                      { top: 10px; }
    .menu-top-click                   { backface-visibility: hidden; top: 15px; -webkit-transform: rotate(45deg); -webkit-transition: 0.55s 0.5s; -moz-transform: rotate(45deg); -moz-transition: 0.55s 0.5s; transform: rotate(45deg); transition: 0.55s 0.5s; }
    .menu-middle-click                { opacity: 0; }
    .menu-bottom-click                { backface-visibility: hidden; top: 15px; -webkit-transform: rotate(-405deg); -webkit-transition: 0.55s 0.5s; -moz-transform: rotate(-405deg); -moz-transition: 0.55s 0.5s; transform: rotate(-405deg); transition: 0.55s 0.5s;  }


    .mobile-logo                      { padding-bottom: 25px; }
    .mainmenu                         { position:absolute; right: 0px; top: 5px; }
    .mainmenu ul                      { float: right; clear: both; text-align: right; padding-bottom: 0px; padding-right: 10px;  }
    .mainmenu li                      { display: block; clear: both; float: right; width: 100%;text-align: right;  }
    .mainmenu li a                    { font-weight: 400;}


    .footerlogo                       { padding-top: 20px; }
    .copy                             { max-width:60%; padding-top: 15px; }
    .footermenu                       { padding-left: 0px; margin-left: 0px; padding-top: 40px; float: left; }
    .footermenu li                    { margin-left: 0px; margin-right: 20px; }


    #homelogo                         { width: 250px; margin-left: -125px;  }


    h1 { font-size: 4rem }
    p {font-size: 1.1rem}
    h3 { font-size: 1.6rem }

    /* home */
    #topVideoMobile { max-width: 100%}
    #start          { margin-bottom: -30px; }



    /* unternehmen */
    .ptinside       { font-size: 1rem }

    /* esg */
    .esgblock       { margin-left: 0px; width: 100%}
    .esgblock .esgbild { min-height:250px; padding-left: 0px; padding-right: 0px; }
    .imgtitle       { 
        left:unset; 
        margin-left: unset; 
        width: auto;
        font-size: 5.8rem;
        bottom: -17px;
    }
    .esginside      { padding: 30px ; max-width: unset; }
    .esgpinside      { padding: 30px ; max-width: unset; }


    /* ankauf */
    .bordered       { padding: 30px; margin-left: -10px; margin-right: -10px; }
    .bordertop      { margin-top: 30px; }

    .mt-minus-4     { 
        margin-top: 10px; 
    }

    .whitebordertop {
        border-top: none;        
        padding-top: 0px;
        position: relative;
        height: 100%;
        margin-left: 0px; 
        padding-bottom: 20px;
    }

    .borderer {
        left: 64px;
    }

    .odd .jahr, 
    .even .jahr {
        width: 100px;
        height: 100px;
        line-height: 100px;
        border-radius: 50px;
    }

    .even .jahr {
        right: unset;
        left: 0;
    }

    .odd .text,
    .even .text {
        padding-left: 120px;
        float: left;
        padding-right: 10px;
        width: 100%;
        text-align: left;
    }

    .jahrbubble.odd {
        margin-left: 0;
        max-width: 100%
    }
    .jahrbubble.even {
        max-width: 100%;
        float: left;
    }


    /*kontakt*/

    #frmKontaktSubmit { background-color: #fff; width: 100%; padding: 12px 35px; margin-bottom: 60px; border:none; font-weight: 400; font-size: 1.2rem }

    .nextteam                    { cursor: pointer; display: block; position: absolute; right: -5px; top: 100px; width: 20px; height: 35px; z-index: 999; background: transparent url(../images/next-team.svg) center center no-repeat; background-size: contain; }
    .prevteam                   { cursor: pointer; display: block; position: absolute; left: -10px; top: 100px; width: 20px; height: 35px; z-index: 999;background: transparent url(../images/prev-team.svg) center center no-repeat; background-size: contain; }

}