/* roboto-300 - latin */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 300;
  src: url('/fonts/roboto-v18-latin-300.eot'); /* IE9 Compat Modes */
  src: local('Roboto Light'), local('Roboto-Light'),
       url('/fonts/roboto-v18-latin-300.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('/fonts/roboto-v18-latin-300.woff2') format('woff2'), /* Super Modern Browsers */
       url('/fonts/roboto-v18-latin-300.woff') format('woff'), /* Modern Browsers */
       url('/fonts/roboto-v18-latin-300.ttf') format('truetype'), /* Safari, Android, iOS */
       url('/fonts/roboto-v18-latin-300.svg#Roboto') format('svg'); /* Legacy iOS */
}
/* roboto-regular - latin */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 400;
  src: url('/fonts/roboto-v18-latin-regular.eot'); /* IE9 Compat Modes */
  src: local('Roboto'), local('Roboto-Regular'),
       url('/fonts/roboto-v18-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('/fonts/roboto-v18-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
       url('/fonts/roboto-v18-latin-regular.woff') format('woff'), /* Modern Browsers */
       url('/fonts/roboto-v18-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
       url('/fonts/roboto-v18-latin-regular.svg#Roboto') format('svg'); /* Legacy iOS */
}
/* roboto-700 - latin */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 700;
  src: url('/fonts/roboto-v18-latin-700.eot'); /* IE9 Compat Modes */
  src: local('Roboto Bold'), local('Roboto-Bold'),
       url('/fonts/roboto-v18-latin-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('/fonts/roboto-v18-latin-700.woff2') format('woff2'), /* Super Modern Browsers */
       url('/fonts/roboto-v18-latin-700.woff') format('woff'), /* Modern Browsers */
       url('/fonts/roboto-v18-latin-700.ttf') format('truetype'), /* Safari, Android, iOS */
       url('/fonts/roboto-v18-latin-700.svg#Roboto') format('svg'); /* Legacy iOS */
}


@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 300;
  src: url('/fonts/open-sans-v15-latin-300.eot'); /* IE9 Compat Modes */
  src: local('Open Sans Light'), local('OpenSans-Light'),
       url('/fonts/open-sans-v15-latin-300.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('/fonts/open-sans-v15-latin-300.woff2') format('woff2'), /* Super Modern Browsers */
       url('/fonts/open-sans-v15-latin-300.woff') format('woff'), /* Modern Browsers */
       url('/fonts/open-sans-v15-latin-300.ttf') format('truetype'), /* Safari, Android, iOS */
       url('/fonts/open-sans-v15-latin-300.svg#OpenSans') format('svg'); /* Legacy iOS */
}
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  src: url('/fonts/open-sans-v15-latin-regular.eot'); /* IE9 Compat Modes */
  src: local('Open Sans Regular'), local('OpenSans-Regular'),
       url('/fonts/open-sans-v15-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('/fonts/open-sans-v15-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
       url('/fonts/open-sans-v15-latin-regular.woff') format('woff'), /* Modern Browsers */
       url('/fonts/open-sans-v15-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
       url('/fonts/open-sans-v15-latin-regular.svg#OpenSans') format('svg'); /* Legacy iOS */
}/* open-sans-regular - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  src: url('/fonts/open-sans-v15-latin-regular.eot'); /* IE9 Compat Modes */
  src: local('Open Sans Regular'), local('OpenSans-Regular'),
       url('/fonts/open-sans-v15-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('/fonts/open-sans-v15-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
       url('/fonts/open-sans-v15-latin-regular.woff') format('woff'), /* Modern Browsers */
       url('/fonts/open-sans-v15-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
       url('/fonts/open-sans-v15-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('/fonts/open-sans-v15-latin-600.eot'); /* IE9 Compat Modes */
  src: local('Open Sans SemiBold'), local('OpenSans-SemiBold'),
       url('/fonts/open-sans-v15-latin-600.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('/fonts/open-sans-v15-latin-600.woff2') format('woff2'), /* Super Modern Browsers */
       url('/fonts/open-sans-v15-latin-600.woff') format('woff'), /* Modern Browsers */
       url('/fonts/open-sans-v15-latin-600.ttf') format('truetype'), /* Safari, Android, iOS */
       url('/fonts/open-sans-v15-latin-600.svg#OpenSans') format('svg'); /* Legacy iOS */
}
/* open-sans-800 - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 800;
  src: url('/fonts/open-sans-v15-latin-800.eot'); /* IE9 Compat Modes */
  src: local('Open Sans ExtraBold'), local('OpenSans-ExtraBold'),
       url('/fonts/open-sans-v15-latin-800.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('/fonts/open-sans-v15-latin-800.woff2') format('woff2'), /* Super Modern Browsers */
       url('/fonts/open-sans-v15-latin-800.woff') format('woff'), /* Modern Browsers */
       url('/fonts/open-sans-v15-latin-800.ttf') format('truetype'), /* Safari, Android, iOS */
       url('/fonts/open-sans-v15-latin-800.svg#OpenSans') format('svg'); /* Legacy iOS */
}@font-face {
    font-family: 'aero_maticsregular';
    src: url('/fonts/aero_matics_regular-webfont.woff2') format('woff2'), url('/fonts/aero_matics_regular-webfont.woff') format('woff'), url('/aero_matics_regular-webfont.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

html, body { font-size: 1em; font-family: 'Open Sans', sans-serif; padding: 0; margin: 0; font-weight: 300; }
h1 { font-family: aero_maticsregular, Arial, sans-serif; font-weight: bold; font-size: 1.5em; text-transform: uppercase; color: rgb(8, 163,170); margin-top: 0; } 
h2 { font-family: aero_maticsregular, Arial, sans-serif; font-size: 1.2em; text-transform: uppercase; color: rgb(22,114,118); margin-top: 0; } 
h5 { font-family: 'Open Sans Bold', sans-serif; font-weight: bold; font-size: 1.0em; } 
a           { color: #08a3aa; text-decoration: none; }
a:hover     { text-decoration: underline; }
img         { max-width: 100%; height: auto !important; }

.flag {
    max-height: 30px !important;
    box-shadow: 1px 2px 3px grey;     
}

.tclose { position:absolute; top:-10px; right:-10px; width:30px; height:30px; cursor:pointer; background:url(/close.png) no-repeat; }
.tclose:hover {background-position:0 -30px}
#tbox {position:absolute; display:none; z-index:1999}
#tmask { position:absolute; display:none; top:0px; left:0px; height:100%; width: 100%; background:#c0c0c0; z-index:1998; opacity: 0.7; padding: 0; margin: 0;}
#tcontent {position: absolute; padding:15px; -moz-border-radius:5px; border-radius:5px; background-color: #fff; border:1px solid #333; overflow: auto; height: 540px; margin: 0px; }


.h1 { font-family: aero_maticsregular, Arial, sans-serif; font-weight: bold; font-size: 1.5em; text-transform: uppercase; color: rgb(8, 163,170); margin-top: 0; margin-bottom: 1.5em; } 
.h2 { font-family: aero_maticsregular, Arial, sans-serif; font-size: 1.2em; text-transform: uppercase; color: rgb(22,114,118); margin-top: 0; }


.evtDay_Small {
    height: 50px;
    width: 50px;
    background-image: url(/global/images/bg_event_small.png);
    background-position: 0 0;
    background-repeat: no-repeat;
    text-align: center;
    color: #ffffff;
    font-weight: bold;
    line-height: 1.1em;
    padding-top: 10px;
    float: left;
    padding-bottom: 10px;
}
.evtText_Small {
    float: right;
    height: 50px;
    width: 195px;
    padding-top: 0px;
    line-height: 1.1em;
    overflow: hidden;
    padding-bottom: 10px;
}

.evtDay_Large {
    height: 100px;
    width: 100px;
    background-image: url(/global/images/bg_event_large.png);
    background-position: 0 0;
    background-repeat: no-repeat;
    text-align: center;
    color: #ffffff;
    font-weight: bold;
    line-height: 1.2em;
    padding-top: 5px;
    float: left;
    padding-bottom: 10px;
    font-size: 1.3em;
}

.evtText_Large            { float: right; width: 85%; line-height: 1.2em;  }





#header_Outer {
    width: 100%;
    position: fixed;
    background-color: #ffffff;
    border-bottom: 1px solid rgb(22,114,118);
    z-index: 100;
}
#header_Inner {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0;
}
#socMedia {
    float: right;
}
#menueContainer {
//    padding-left: 405px;
    padding-left: 35%;

    padding-top: 45px;
}
#sliderTop_Outer {
    width: 100%;
    height: 335px;
    background-image: url(/bg_temp.jpg);
    background-position: 50% 0;
    padding-top: 50px;
}
#main {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    margin-bottom: 60px;
}


.logo {
    float: left;
    margin-top: 10px;
    margin-bottom: 10px;
}
.spacer86 {
    height: 86px;
    width: 100%;
}
.spacer100 {
    height: 86px;
    width: 100%;
}



/* Farben
----------------------------------*/
.bggrey     { background-color: #f9f9f9; }
.hellgruen  { color: rgb(212, 212, 52); }

/* Abstaende
----------------------------------*/
.padtop30  { padding-top: 30px; }
.padbot30  { padding-bottom: 30px;}



/* Boxen
----------------------------------*/
.boxstd   { position: relative; width: 100%; max-width: 1200px;margin: 0 auto; margin-top: 30px; margin-bottom: 30px; padding-top: 1px; padding-bottom: 1px;}
.twocols  { column-count: 2; column-gap: 60px;-moz-column-count:2; -moz-column-gap:60px; }

.boxLinks {
    position: relative;
//    width: 570px;
    width: 47.5%;
    min-height: 360px;
    float: left;
    background-size: cover; background-position: 50% 50%; background-repeat: no-repeat;
}
.boxRechts {
 //   width: 570px;
    width: 47.5%;
    min-height: 360px;
    float: right;
    position: relative;
    background-size: cover; background-position: 50% 50%; background-repeat: no-repeat;
}

.green_button { text-decoration: none; position: absolute; display: inline-block; bottom: 0px; left: 0px; cursor:pointer; font-weight: bold; width: 150px; height: 22px; padding: 10px; color: #ffffff; background: linear-gradient(225deg, transparent 10px, #08a3aa 0) top right; }
.green_button:hover { text-decoration: none; color: rgb(214, 214, 52);  }

.margin20 { margin: 20px; }



.Menue0 {
    display: block;
    background-repeat: no-repeat;
    background-position: 0 100%;
    float: left;
    height: 45px;
    margin-right: 60px;
    color: #555555;
    text-decoration: none;
}

    .Menue0:hover {
        background-image: url('/global/images/marker.png');
        color: #555555;
        text-decoration: none;
    }


    .Menue0Selected {
        background-image: url('/global/images/marker.png');
    }


.partnerBox {
    background-color: #fefefe;
    height: 220px;
    cursor: pointer;
//    width: 250px;
    width: 20.833%;


//    margin-left: 60px;
    margin-left: 5%;
//    margin-right: 75px;
    margin-right: 6.25%;
    float: left;
    background-position: 50% 50%;
    background-size: contain;
    background-repeat: no-repeat;
    text-align: center;
}

.head_2er   { -webkit-column-break-inside: avoid; page-break-inside: avoid; break-inside: avoid-column; display: inline-block; padding-left: 3%; padding-right: 3%; text-align: center; padding-top: 30px; margin-top: 0px; padding-bottom: 30px; margin-bottom: 30px; background-image: url(/global/images/border_dl.png), url(/global/images/border_ur.png); background-repeat: no-repeat, no-repeat; background-position: 0% 100%, 100% 0%; }
.head_2er.center { margin: 0 auto; display: block; }
.head_2er.full { width: 94%; }
.head_2er.half { width: 44%; }
.head_line1 { font-family: aero_maticsregular, Arial, sans-serif; font-weight: bold; font-size: 1.5em; text-transform: uppercase; color: rgb(8, 163,170); margin-top: 0; display: block; letter-spacing: 0.1em; padding-bottom: 0.2em; } 
.head_line2 { font-family: aero_maticsregular, Arial, sans-serif; font-size: 1.2em; text-transform: uppercase; color: rgb(22,114,118); margin-top: 0; display: block;} 




.iconList {
    height: 60px;
    padding-left: 110px;
    padding-top: 20px;
    margin-bottom: 20px;
    background-repeat: no-repeat;
    background-position: 0% 50%;
}

.news_box_headline {
    font-weight: bold;
    padding: 10px;
    height: 50px;
    background-color: #f7f7d6;
}
.news_box_teaser {
    padding: 10px;
    height: 70px;
    //margin-bottom: 30px;
    border: 1px dotted #aaaaaa;
    border-top: 0;
}







/* diverse
----------------------------------*/
.versteckt      { display: none; }
.randUnten30    { margin-bottom: 30px; }
.randUnten60    { margin-bottom: 60px; }
.cb             { clear: both; }
.fullW          { width: 100%; max-width: 100%; }




/* Hoehen
----------------------------------*/
.h400   { min-height: 400px; }



/* Zitatelemente
----------------------------------*/
.zitat_outer_green {
    width: 100%;
    background-color: #f7f7d6;
    margin-bottom: 30px;
    margin-top: 30px;
    padding-top: 30px;
    padding-bottom: 30px;
}
.zitat_outer {
    width: 100%;
    margin-top: 30px;
    margin-bottom: 30px;
}
.zitat_outer > .zitat_inner, .zitat_outer_green > .zitat_inner {
    position: relative;
    min-height: 100px;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    text-align: center;
    font-size: 2em;
    line-height: 1.2em;
}
.zitat_inner > .citemark, .zitat_outer_green > .citemark {
    font-size: 2em;
    color: #d6d634;
    vertical-align: sub;
}
.zitat_inner > .soure, .zitat_outer_green > .soure {
    font-size: 0.7em;
    text-decoration: italic;
    color: rgb(22,114,118);
}
.zitat_inner > .greenmark {
    position: absolute;
    top: -30px;
    left: -40px;
    background-color: rgb(22,114,118);
    height: 20px;
    width: 40px;
}


    #mnuMob     { display: none; }



.boxstd p:first-of-type { margin-top: 0px; padding-top: 0px; }


#sliderTop_Inner    {  font-family: aero_maticsregular, Arial, sans-serif;  width: 690px; height: 250px; padding: 30px; padding-top: 10px; margin:0 auto; color: #ffffff; font-size: 5em; background: linear-gradient(225deg, transparent 30px, rgba(214, 214, 52, 0.5) 0) top right; }


.menueTop {
    display: block;
    background-repeat: no-repeat;
    background-position: 0 100%;
//    background-image: url('/global/images/marker.png');
    float: left;
    height: 45px;
    padding-right: 80px;
    padding-left: 20px;
}

    .menueTop:hover {
        background-image: url('/global/images/marker.png');
    }






.Menue1 {
    color: #555555;
    display: block;
    background-color: #ffffff;
    text-decoration: none;
    padding: 5px;
}


.container3er               { width: 100%; max-width: 1200px; margin: 0 auto; min-height: 380px; }
.block3er                   { padding: 20px; width: 340px; height: 290px; background-color: #ffffff; box-shadow: 5px 10px 15px grey; float: left; margin-right: 30px; margin-bottom: 30px; background-position: 50% 50%; background-repeat: no-repeat; background-size: cover; position: relative; cursor:pointer; }
.block3er:hover             { background-color: 0; box-shadow: 3px 3px 3px 3px grey;  background-position: 50% 50%; }
.block3er:nth-of-type(3n)   { margin-right: 0px; }
.block3er > .teaserImg      { height: 100px; text-align: center; }



.logo_Firma {
    height: 100px;
    margin: 10px;
    margin-top: 20px;
    margin-right: 40px;
    width: 100px;
    background-position: 50% 50%;
    background-size: contain;
    background-repeat: no-repeat;
    float: left;
     filter: gray; /* IE6-9 */
    -webkit-filter: grayscale(1); /* Google Chrome, Safari 6+ & Opera 15+ */
    filter: grayscale(1); /* Microsoft Edge and Firefox 35+ */

}
    .logo_Firma:hover {
        margin: 0px;
        margin-right: 20px;
        margin-top: 20px;
        width: 130px;
      -webkit-filter: grayscale(0);
      filter: none;

    }
 
    .caption { padding-top: 5px; display: inline-block; font-size: 0.8em; line-height: 1.1em; }




    .teamPortrait { width: 47.5%; float: right; background-size: cover; background-position: 50% 50%; height: 360px; }



@media (max-width: 1220px) {
    .container3er {
        width: 100%;
        max-width: 1200px;
        margin: 0 auto;
        min-height: 380px;
    }

    .block3er {
        padding: 20px;
        width: 27.5%;
        min-width: 260px;
        height: 290px;
        background-color: #ffffff;
        box-shadow: 5px 10px 15px grey;
        float: left;
        margin-right: 2.2%;
        margin-bottom: 30px;
        background-position: 50% 50%;
        background-repeat: no-repeat;
        background-size: cover;
        position: relative;
        cursor: pointer;
    }

        .block3er:hover {
            background-color: 0;
            box-shadow: 3px 3px 3px 3px grey;
            background-position: 50% 50%;
        }

        .block3er:nth-of-type(3n) {
            margin-right: 0px;
        }

        .block3er > .teaserImg {
            height: 100px;
            text-align: center;
        }
}


    

@media (max-width: 800px)  {
    
    .boxLinks {
        position: relative;
        width: 100%;
        min-height: 40vw;
        float: none;
        margin-bottom: 30px;
    }
    .boxRechts {
        width: 100%;
        min-height: 40vw;
        float: none;
        position: relative;
    }

    .boxstd   { width: 96%;  margin-left: 2%; margin-right: 2%; margin-top: 30px; margin-bottom: 30px; }

    .green_button { position: relative; }

    #menueContainer {
        padding-left: 300px;
        padding-top: 45px;
    }

    .Menue0 {
        margin-right: 30px;
    }

    #header_Inner {
        width: 98%;
        margin-left: 1%; margin-right: 1%;
    }



    .partnerBox {
        width: 20vw; /* 20% of the viewport width */
        height: 20vw;
    }

    #sliderTop_Inner    {  width: 500px; height: 200px; padding: 30px; padding-top: 10px; margin:0 auto; color: #ffffff; font-size: 3.5em; background: linear-gradient(225deg, transparent 30px, rgba(214, 214, 52, 0.5) 0) top right; }
    #sliderTop_Outer { width: 100%; height: 295px; }


    .teamPortrait {
        width: 98%; float: none; background-size: cover; background-position: 50% 50%; margin: 1%; height: 50vw; min-height: 160px;
    }
    .news_box_headline {
        height: auto;
    }
    .news_box_teaser {
        height: auto;
    }
    .head_2er.half { width: 90%; }

    #mnu        { display: none; }
    #mnuMob     { display: block; }

}

@media (max-width: 599px) {

    .twocols {
        column-count: 1;
        column-gap: 0;
        -moz-column-count: 1;
        -moz-column-gap: 0;
    }

    #sliderTop_Outer { display: none; }

    .fullW          { width: auto; max-width: 100%; }



}












.toppi {
  position: relative;
  height: 100%;
}


.overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background: rgba(0,0,0,0.5);
  z-index: 1;
}

input#off-canvas-menu {
  display: none;
}

label.off-canvas-menu-label {
  position: fixed;
  width: 60px;
  height: 60px;
  cursor: pointer;
  text-transform: uppercase;
  font-weight: 700;
  z-index: 999;
}

label.off-canvas-menu-label i {
  position: absolute;
  top: 18px;
  right: 20px;
  font-size: 24px;
//  color: #fff;
  color: rgb(22,114,118);
  transition: 0.3s;
}

input#off-canvas-menu[type=checkbox]:checked ~ label.off-canvas-menu-label i {
  transform: rotate(90deg);
}

input#off-canvas-menu[type=checkbox]:checked ~ nav.off-canvas-menu {
  transform: translateX(0);
}

input#off-canvas-menu[type=checkbox]:checked ~ .wrapper {
  transform: translateX(300px);
}

input#off-canvas-menu[type=checkbox]:checked ~ .overlay {
  height: 100%;
  opacity: 1;
}

nav li,
label.off-canvas-menu-label {
  transition: 0.2s;
}

nav li:hover,
label.off-canvas-menu-label:hover,
input#off-canvas-menu[type=checkbox]:checked ~ label.off-canvas-menu-label {
  background: rgb(214, 214, 52) !important;
}

.main-menu {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 60px;
  background: #3a3a3a;
  box-shadow: 0 0 10px rgba(0,0,0,0.9);
  z-index: 3;
}

.main-menu ul.nav-icons {
  float: right;
}

.main-menu li {
  float: left;
  line-height: 60px;
  list-style: none;
  transition: 0.3s;
}

.main-menu li a {
  display: inline-block;
}

.main-menu li i {
  width: 60px;
  font-size: 20px;
  color: #fff;
  text-align: center;
  text-decoration: none;
  vertical-align: middle;
}

.off-canvas-menu {
  position: fixed;
  top: 0;
  left: 0;
  width: 300px;
  height: 100%;
  background: #3a3a3a;
  font-size: 16px;
  transform: translateX(-100%);
  box-shadow: 0 0 10px rgba(0,0,0,0.9);
  transition: 0.5s;
  z-index: 2;
}

.off-canvas-menu input[type=checkbox] {
  position: absolute;
  top: 0;
//  left: 0;
    width: 30%;
   height: 100%;
    opacity: 0;
    display: block;
  cursor: pointer;
 z-index: 10;
 right: 0;
}

.off-canvas-menu ul > li.hasSub > a:after {
  position: relative;
  float: right;
  content: '+';
  font-size: 24px;
  font-weight: 700;
  color: #fff;
  vertical-align: middle;
  transition: 0.5s;
}



.off-canvas-menu ul {
  margin: 0;
  padding: 0;
}

.off-canvas-menu > ul {
  margin-top: 60px;
}

.off-canvas-menu a {
  display: block;
  padding: 15px 20px;
  color: #fff;
  text-decoration: none;
}

.off-canvas-menu li {
  position: relative;
  float: left;
  width: 100%;
  list-style: none;
  color: #fff;
  transition: 0.5s;
  border-top: 1px solid #555;
}

.off-canvas-menu > ul > li:last-child {
  border-bottom: 1px solid #555;
}

.off-canvas-menu ul li:first-child {
  border-top: none;
}

.off-canvas-menu ul > li.sub > a:after {
  position: relative;
  float: right;
  content: '+';
  font-size: 24px;
  font-weight: 700;
  color: #fff;
  vertical-align: middle;
  transition: 0.5s;
}

.off-canvas-menu .submenu {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.5s ease-in-out;
  border-top: none;
}

.off-canvas-menu input[type=checkbox]:checked ~ .submenu {
  border-top: 1px solid #555;
  max-height: 999px;
}

.off-canvas-menu input[type=checkbox]:checked ~ a:after {
  transform: rotate(45deg);
}

.off-canvas-menu .submenu li {
  background: #333;
}

.off-canvas-menu .submenu li a {
  padding-left: 30px;
}

.off-canvas-menu .submenu li li a {
  padding-left: 35px;
}

.off-canvas-menu .submenu li li li a {
  padding-left: 40px;
}

.off-canvas-menu .submenu li.sub {
  list-style: none;
}