@font-face {
  font-family: CenturyGothic;
  src: url(/application/themes/jublathalwil/assets/fonts/Schrift_century_gothic.TTF);
  font-style:normal;
  font-weight: normal;
}
@font-face {
  font-family: CenturyGothic;
  src: url(/application/themes/jublathalwil/assets/fonts/Schrift_centgtb.TTF);
  font-style:normal;
  font-weight: bold;
}
@font-face {
  font-family: CenturyGothic;
  src: url(/application/themes/jublathalwil/assets/fonts/Century_Gothic_Italic.ttf);
  font-style:italic;
  font-weight: normal;
}
@font-face {
  font-family: CenturyGothic;
  src: url(/application/themes/jublathalwil/assets/fonts/Century_Gothic_Bold_Italic.ttf);
  font-style:italic;
  font-weight: bold;
}
@font-face {
  font-family: HelveticaBlack;
  src: url(/application/themes/jublathalwil/assets/fonts/HelveticaLTStd-Blk.otf);
  src: url(/application/themes/jublathalwil/assets/fonts/HelveticaLTStd-Blk.woff);
  font-stretch: normal;
}
@font-face {
  font-family: HelveticaBlack;
  src: url(/application/themes/jublathalwil/assets/fonts/Schrift_HelveticaLTStd-BlkCond.otf);
  src: url(/application/themes/jublathalwil/assets/fonts/Schrift_HelveticaLTStd-BlkCond.woff);
  font-stretch: condensed;
}
@font-face {
  font-family: JublaHand;
  src: url(/application/themes/jublathalwil/assets/fonts/Jubla-Hand-16.ttf);
}

html, body, .ccm-page {
  height: 100%;
  margin: 0;
}
html{
  overflow-y: hidden;
  background: url("../images/bg_patterm.png");
  background-repeat: repeat;
}
.ccm-page{
  display: flex;
  flex-direction: column;
  height: 100vh;
  overflow-x:hidden;
}
.ccm-page img{
  max-width: 100%;
  height: auto;
}
/* Start of Font styles */
*{
  font-family: "Helvetica Neue","Helvetica","Arial",sans-serif;
}
.ccm-page *{
  font-family: "CenturyGothic",sans-serif;
}
.ccm-page .fa, .fas {
    font-family: 'Font Awesome 5 Free';
}
*::selection{
  background-color: #70B85D;
  color: #FFFEF1;
}
.ccm-page h1,
.ccm-page h2,
.ccm-page h3{
  color: #2C5E2E;
}
.ccm-page h1:first-child{
  margin-top:0;
}
.ccm-page h1{
  font-family: "JublaHand",sans-serif;
  line-height:1.9;
  font-size: 2rem;
  margin: 1.78rem 0 1.424rem 0;
}
.ccm-page h2 {
  font-family: "HelveticaBlack",sans-serif;
  font-stretch: condensed;
  font-size: 1.5rem;
  margin: 1.3rem 0 .8rem 0;
}
.ccm-page h3{
  font-size: 1.2rem;
  margin: .8rem 0 .5rem 0;
  font-family: "CenturyGothic",sans-serif;
  font-weight: bold;
}
.ccm-page p{
  font-size: 1rem;
}
.ccm-page a{
  color: #70B85D;
}
.ccm-page a:hover{
  color: #2C5E2E;
}
.ccm-page strong{
  font-weight:bold;
}
.fa {
  font-family: 'Font Awesome 5 Free';
}
/* End of Font Styles */
.main,
header .sticky-header .content-wrap,
.footer-wrapper{
  width: 95%;
}
.main,
.footer-wrapper{
  margin: 0 auto;
}
.main{
  margin-top:30px;
  overflow-x:hidden;
  overflow-y:hidden;
}
.page-wrapper{
  flex: 1 0 auto;
  position:relative;
  left:0;
  transition: left 200ms ease-in-out;
  overflow-y:hidden;
}
.page-wrapper.is-active{
  left: 300px;
  transition: left 200ms ease-in-out;
}
.is-active .overlay{
  position:absolute;
  left:0; top:0; right: 0; bottom: 0;
  background-color: rgba(0,0,0,.7);
  z-index: 999;
}
header .sticky-header{
  position: fixed;
  top: 0;
  left:0;
  width: 100%;
  height: 70px;
  /*overflow: hidden;*/
  background-color: #FFFEF1;
  z-index: 1000;
}
html.ccm-toolbar-visible header .sticky-header{
  top: 48px;
}
#icon-wrapper{
  float:left;
  position: relative;
  width: 20px;
  height: 100%;
}
.burger {
  display:block;
  position: absolute;
  overflow: hidden;
  margin: 0 auto;
  padding: 0;
  top: 50%;
  transform: translateY(-50%);
  left: 20px;
  width: 20px;
  height: 20px;
  font-size: 0;
  text-indent: -9999px;
  box-shadow: none;
  border: none;
  cursor: pointer;
  -webkit-transition: background 0.3s;
  -moz-transition: background 0.3s;
  -o-transition: background 0.3s;
  -ms-transition: background 0.3s;
  transition: background 0.3s;
  background-color:transparent;
}
.burger:focus {
  outline: none;
}
.burger span {
  display: block;
  position: absolute;
  top:10px;
  left:0;
  right:0;
  height: 3px;
  background: #0C273D;
}
.burger span:before,
.burger span:after {
  position: absolute;
  display: block;
  left: 0;
  width: 100%;
  height:3px;
  background-color: #0C273D;
  content: "";
}
.burger span:before {
  top: -7px;
}
.burger span:after {
  bottom: -7px;
}
.burgerX span {
  -webkit-transition: background 0s 0.3s;
  -moz-transition: background 0s 0.3s;
  -o-transition: background 0s 0.3s;
  -ms-transition: background 0s 0.3s;
  transition: background 0s 0.3s;
}
.burgerX span:before,
.burgerX span:after {
  transition-duration: 0.3s, 0.3s;
  transition-delay: 0.3s, 0s;
}
.burgerX span:before {
  transition-property: top, transform;
}
.burgerX span:after {
  transition-property: bottom, transform;
}
.burgerX.is-active span {
  background: none;
}
.burgerX.is-active span:before{
  top: 0;
  transform: rotate(45deg);
}
.burgerX.is-active span:after {
  bottom: 0;
  transform: rotate(-45deg);
}
.burgerX.is-active span:before,
.burgerX.is-active span:after {
  transition-delay: 0s, 0.3s;
}
.mob-nav{
  z-index: 999;
  position:fixed;
  top:0;
  left:-300px;
  width: 300px;
  height: 100%;
  overflow-y:auto;
  overflow-x:hidden;
  transition: left 200ms ease-in-out;
  background-color: #0C273D;
}
.mob-nav.is-active{
  left: 0;
  transition: left 200ms ease-in-out;
}
.mob-nav ul.nav{
  margin-top: 70px;
  list-style-type: none;
  margin-bottom:0;
  padding:0;
}
.mob-nav ul.nav li{
  position:relative;
}
.mob-nav ul.nav li a{
  font-family: "CenturyGothic",sans-serif;
  color: #FFFEF1;
  display:block;
  line-height: 70px;
  padding: 0 0 0 20px;
  text-decoration: none;
  transition: background-color 200ms ease-in-out;
}
.mob-nav ul.nav li:hover,
.mob-nav ul.nav li.active,
.mob-nav ul.nav li.nav-selected{
  background-color:#54D0ED;
  transition: background-color 200ms ease-in-out;
}
.mob-nav ul.nav li a.nav-selected{
  cursor: default;
}
.mob-nav ul.nav li.nav-dropdown i.fa{
  color: #FFFEF1;
  display:block;
  position:absolute;
  right:20px;
  top:23px;
  font-size: 24px;
}
.mob-nav ul.nav li.nav-dropdown i.fa-angle-up{
  display:none;
}
.mob-nav ul.nav li ul{
  display:none;
  list-style-type: none;
  padding:0;
}
.mob-nav ul.nav li ul li:hover,
.mob-nav ul.nav li ul li.nav-selected{
  background-color:#70B85D;
  transition: background-color 200ms ease-in-out;
}

html.ccm-toolbar-visible .mob-nav ul.nav{
  margin-top: 118px;
}
header .sticky-header .content-wrap{
  height: 70px;
  display: inline-block;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
}
header .sticky-header .header-logo{
  float: right;
}
header .sticky-header .header-logo img{
  height: 60px;
  width:auto;
  padding-top: 5px;
}
header .header-nav{
  display:none;
}
header .header-images{
  margin-top: 70px;
}
header .header-images ul.rslides_tabs{
  display:none;
  position: absolute;
  bottom: 0;
  z-index: 2;
  left: 50%;
  transform: translateX(-50%);
  margin:0;
}
header .header-images ul.rslides_tabs li a{
  height: 10px;
  width: 10px;
  margin-right: 5px;
  background-color: #FFFEF1;
}

header .header-images ul.rslides_tabs li:last-child,
header .header-images ul.rslides_tabs li:last-child a{
  margin-right: 0;
}
header .header-images ul.rslides_tabs li.rslides_here a{
  background-color: #54D0ED;
}
header .header-images .ccm-image-slider-text{
  display: none;
}
/*Start Fürio Button*/
.fueriobutton p{
  margin-top: 0;
}
.fueriobutton p a,
a.button{
  line-height: 40px;
  color: #FFFEF1;
  padding: 10px;
  width: 100%;
  text-decoration: none;
  background-color: #70B85D;
  display: block;
  font-size: 1.2rem;
  transition: 200ms ease-in-out background-color;
}
.fueriobutton--blue p a{
  background-color: #283583;
}
.fueriobutton p a:before{
  content: "";
  font-family: 'Font Awesome 5 Free';
  padding-right: 10px;
  font-size: 1.5rem;
}
.fueriobutton--blue p a:before{
  content:'';
}
.fueriobutton p a:hover,
a.button:hover{
  color: #FFFEF1;
  background-color:#2C5E2E;
  transition: 200ms ease-in-out background-color;
}
.fueriobutton--blue p a:hover{
  background-color: #54D0ED;
}
/*End Fürio Button*/

/*Start Custom Blocks Leiter*/
.main .col.leiter a{
  display: block;
  overflow: hidden;
}
.main .col.leiter a .leiter-image {
  width: 100%;
  padding-bottom: 125%;
  display: block;
  -webkit-background-size: cover;
  background-size: cover;
  background-position: center bottom;
  -moz-transition: all 0.3s;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  background-repeat: no-repeat;
}
.main .col.leiter a .leiter-image:hover {
  -moz-transform: scale(1.1);
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}

.main .col.leiter p{
  position: relative;
  z-index:2;
  color: #FFF;
  background-color: #283583;
  padding: 0.7rem 0;
  margin-top: -10px;
  text-align: center;
}
/* Leiter Detail */
.main .leiterfoto img{
  margin-top: 30px;
  width: 100%;
}
.main .leiterdesc h1{
  margin-top: 30px;
  line-height: 80%;
  padding: 0;
}
/*End Custom Blocks Leiter*/
/*Start Custom Blocks Gruppe*/
/* Gruppe Uebersicht */
.main .col.gruppe a{
  display: block;
  overflow: hidden;
}
.main .col.gruppe p{
  position: relative;
  z-index:2;
  color: #FFF;
  background-color: #283583;
  padding: 0.7rem 0;
  margin-top: -10px;
  text-align: center;
}
.main .col.gruppe a .gruppe-image {
  width: 100%;
  padding-bottom: 100%;
  display: block;
  -webkit-background-size: cover;
  background-size: cover;
  background-position: center bottom;
  -moz-transition: all 0.3s;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  background-repeat: no-repeat;
}
.main .col.gruppe a .gruppe-image:hover {
  -moz-transform: scale(1.1);
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}
/* Gruppe Detail */
.main .gruppenfoto img{
  width: 100%;
}
.main .gruppenfoto h1,
.main .h1.spacer{
  margin-top: 2.1rem;
  line-height: 80%;
  padding: 0;
}
.main .h1.spacer{
  margin-bottom:0;
}
/*End Custom Blocks Gruppe*/
/* Page-List Fotos */
.row .col .ccm-block-page-list-page-entry-grid-thumbnail{
  padding: 0.75rem;
}
.ccm-block-page-list-page-entry-grid-thumbnail a{
  overflow: hidden;
}
.ccm-block-page-list-page-entry-grid-thumbnail a img{
  width: 100%;
  height: auto;
  margin-bottom: -5px;
  -moz-transition: all 0.3s;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.ccm-block-page-list-page-entry-grid-thumbnail a:hover img {
  -moz-transform: scale(1.1);
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}
/* Page-List Styling*/
.ccm-block-page-list-page-entry{
  margin-bottom: 10px;
}
/* Youtube Video Uebersicht */
.row.no-padding .col{
  padding: 0px;
}
.youtubeBlock{
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box;
}
.youtube-player{
  /*max-width:500px;*/
  width: 100%;
  padding-bottom: 38.25%;

}
/* Breadcrumbs Custom Styling*/
.ccm-page nav.breadcrumb a{
  color: #2C5E2E;
  display:inline-block;
  padding: 0 15px 0 0;
}
.ccm-page nav.breadcrumb a i{
  padding: 0 15px 0 0;
}
.ccm-page nav.breadcrumb a:last-child{
  color: #70B85D;
}
/* Start wallgallery*/
ul.wallgallery{
  display: flex;
  flex-flow: row wrap;
  margin-left: -8px; /* Adjustment for the gutter */
}
ul.wallgallery li{
  padding:0;
  flex: auto;
  height: 200px;
  min-width: 150px;
  margin: 0 8px 8px 0; /* Some gutter */
}
ul.wallgallery li:nth-child(4n+1){
  width: 250px;
}
ul.wallgallery li:nth-child(4n+2){
  width: 325px;
}
ul.wallgallery li:nth-child(4n+3){
  width: 180px;
}
ul.wallgallery li:nth-child(4n+4){
  width: 380px;
}
ul.wallgallery li a{
  position: relative;
  height:100%;
  display: block;
  overflow:hidden;
  box-sizing: border-box;
}
ul.wallgallery li a div {
  width: 100% !important;
  height: 100% !important;
  background-size: cover;
  background-position: center center;
  position: relative;
}

/* end wallgallery*/
/* start onedrive gallery*/
.onedrive-spinner{
  position: fixed;
  z-index: 100000;
  opacity: 0;
  visibility: hidden;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: rgba(0,0,0,0.5);
  transition: opacity 300ms ease-in-out;
}
.onedrive-spinner.active{
  visibility: visible;
  opacity: 1;
  transition: opacity 300ms ease-in-out;
}
.onedrive-spinner > i{
  position: absolute;
  top: 50%;
  width: 100%;
  transform: translateY(-50%);
  text-align: center;
  color: #fff;
  font-family: 'Font Awesome 5 Free';
  font-style: normal;
  font-size: 3rem;
}
.ccm-page .row.onedrive-folders{
  margin: 0 -0.75rem;
}

.onedrive-folders div a:not(.button){
  display: inline-block;
  width:100%;
  line-height: 3;
  background-color: #0C273D;
  color: #54D0ED;
  font-weight:600;
  margin-bottom:20px;
  text-align: center;
}
.onedrive-folders div a:not(.button).light{
    display: inline-block;
    width:100%;
    line-height: 3;
    background-color: #54D0ED;
    color: #0C273D;
    font-weight:600;
    margin-bottom:20px;
    text-align: center;
}
.onedrive-folders div a:not(.button):hover {
  color: #FFFEF1;
}
a.button.onedrive-gallery__button{
  text-align: center;
  font-size:1rem;
  padding: 0 10px;
  line-height:3 ;
}
/* end onedrive gallery*/


/* Start Ueber uns Feature Block */
div.ccm-block-feature-item{
  cursor: default;
  padding: 30px 15px;
}
div.ccm-block-feature-item{
  cursor:pointer;
  font-size: 300%;
  color: #0C273D;
  background-color: #54D0ED;
  margin-bottom:0;
  max-width: 300px;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
}
.ccm-block-feature-item h4 a{
  font-size: 100%;
  color: #0C273D;
  padding: 0.5rem 0;
  margin-bottom: 20px;
}
/* End Ueber uns Feature Block */
/*Start Grustu-Progi stylen*/

.progi{
  width: 100%;
  padding-bottom: 20px;
  overflow-x: scroll;
}

.progi table {
  border-collapse: collapse;
  width:100%;
}

.progi td, th {
  border: 1px solid #999;
  padding: 0.5rem;
  text-align: left;
}

.progi tr td.xl64:first-child {
  text-align: right;
}

.progi .xl63 h3{
  padding: .5rem;
  margin: 0;
  text-align: center;
}
.progi .xl67 h3{
  padding: .5rem;
  margin: 0;
}
/*End Grustu-Progi stylen*/
/*Start Formular*/
.ccm-page input, .ccm-page textarea {
  color: #0C273D;
  width: 100%;
}
textarea{
  max-width: 100%;
  min-width: 100%;
  min-height: 48px;
}
.ccm-page button[type=submit],
.ccm-page input[type=submit]{
  background-color: #70B85D;
  color: #FFFEF1;
  border: none;
  padding: 10px 0;
  transition: background-color 200ms ease-in-out;
  margin-bottom: 20px;
  width: 100%;
  display: block;
}

.ccm-page input[type=submit]:hover,
.ccm-page button[type=submit]:hover{
  background-color: #2C5E2E;
  transition: background-color 200ms ease-in-out;
}
.ccm-block-express-form fieldset{
  border: none;
  padding: 0;
}
.ccm-block-express-form .form-group{
  margin-bottom: 10px;
}
.ccm-block-express-form .form-label,
.ccm-block-express-form .control-label{
  font-weight: bold;
}
.ccm-block-express-form input{
  margin-top: 5px;
  margin-bottom: 15px;
}
.ccm-block-express-form input[name=ccmCaptchaCode]{
  margin-bottom: 0;
}
/*End Formular*/
/*Start next previous customization*/
.ccm-block-next-previous-wrapper{
  overflow: hidden;
}
.ccm-block-next-previous-previous-link,
.ccm-block-next-previous-next-link{
  width:50%;
  display:inline;
  float:left;
}
.ccm-block-next-previous-previous-link a,
.ccm-block-next-previous-next-link a,
.ccm-block-next-previous-previous-link a:hover,
.ccm-block-next-previous-next-link a:hover{
  color: #000;
}
.ccm-block-next-previous-next-link{
  float:right;
  text-align: right;
}
.ccm-block-next-previous-next-link:after{
  content: "\f101";
  font-family: 'Font Awesome 5 Free';
}
.ccm-block-next-previous-previous-link:before{
  content: "\f100";
  font-family: 'Font Awesome 5 Free';
}
/*End next previous customization*/
/*Start Page List Styling*/
.ccm-block-page-list-title{
  font-weight:bold;
}
/*End Page List Styling*/
footer{
  background-color: #0C273D;
  color: #FFFEF1;
  flex-shrink: 0;
}
.ccm-page footer .footer-wrapper{
  margin-bottom: 0;
  text-align: center;
}

/*size m*/
@media only screen and (min-width: 601px) {
  .main,
  header .sticky-header .content-wrap,
  .footer-wrapper{
    width: 85%;
  }
  header .header-images ul.rslides_tabs{
    display:inline;
  }
  .ccm-block-feature-item-hover-title {
    margin-bottom: 0;
  }
  .ccm-page button[type=submit],
  .ccm-page input[type=submit]{
    margin-bottom: 0;
  }
  footer .footer-links{
    text-align: left;
  }
  footer .footer-rechts{
    text-align: right;
  }
  /*Start Page List Styling*/
    .ccm-block-page-list-page-entry-horizontal{
        display: flex;
    }
  .ccm-block-page-list-page-entry-text{
    width:78%;
    float: right;
  }
  .ccm-block-page-list-page-entry-thumbnail{
    margin-right:20px;
      width:20%;
  }
  /*End Page List Styling*/

}
/*size l*/
@media only screen and (min-width: 993px) {
  .main,
  header .sticky-header .content-wrap,
  .footer-wrapper{
    width: 75%;
  }
  .ccm-page h1{
    font-size: 2.5rem;
    margin: 2.1rem 0 1.68rem 0;
  }
  .ccm-page h2{
    font-size: 2rem;
    margin: 1.78rem 0 1.424rem 0;
  }
  .ccm-page h3 {
    font-size: 1.2rem;
    margin: 1rem 0 .5rem 0;
  }
  #icon-wrapper{
    display:none;
  }
  header .sticky-header .header-logo{
    float: left;
  }
  header .header-nav{
    float: right;
    display:inline;
  }
  header .header-nav ul{
    margin: 0;
    height: 70px;
  }
  header .header-nav ul li{
    position: relative;
    display: inline-block;
    height: 100%;
  }
  header .header-nav ul li:last-child{
    border:none;
  }
  header .header-nav ul li a{
    font-weight: bold;
    position: relative;
    display: block;
    padding: 0 20px;
    line-height: 70px;
    color: #0C273D;
    background-color: #FFFEF1;
    transition: all 400ms ease-in-out;
  }
  header .header-nav ul li a:hover{
    background-color: #54D0ED;
    color: #FFFEF1;
    transition: all 400ms ease-in-out;
  }
  header .header-nav ul li a.nav-path-selected{
    cursor: default;
  }
  header .header-nav ul li a.nav-path-selected{
    background-color: #0C273D;
    color: #FFFEF1;
  }
  header .header-nav ul li a.nav-path-selected:hover{
    background-color: #0C273D;
  }
  header .header-nav ul li ul{
    position:absolute;
    left: -9999px;
    width: 100px;
    opacity:0;
    transition: opacity 200ms ease-in-out;
  }
  header .header-nav ul li:hover ul{
    display:block;
    left:0;
    opacity:1;
    transition: opacity 200ms ease-in-out;
    width: 250px;
  }
  header .header-nav ul li ul li{
    display:block;
    height: 50px;
  }
  header .header-nav ul li ul li a{
    line-height: 50px;
    color: #2C5E2E;
    background-color: #FFFEF1;
  }
  header .header-nav ul li ul li a:hover{
    background-color: #70B85D;
    color: #FFFEF1;
  }
  header .header-nav ul li ul li a.nav-path-selected{
    background-color: #2C5E2E;
    color: #FFFEF1;
  }
  header .header-nav ul li ul li a.nav-path-selected:hover{
    background-color: #2C5E2E;
  }
}
/*size xl*/
@media only screen and (min-width: 1201px) {}
