/* section 1:
   Embed fonts. Set default styles for elements (h1, h2, etc.)
   Extra small devices (phones, less than 768px) 
*/

html,
body { font-family: 'Open Sans', sans-serif; font-size:16px; }
body { padding-top:0px; }


/* bs resets */
.modal-content { border-radius: unset; }
.form-control  { border-radius: unset; font-size:16px;}
.btn { border-radius: unset; }
.input-group-addon { border-radius: unset; }


/* blue color #296489 */
a { color:#296489;  }
.text-primary { color:#296489; }
.btn-primary { background-color:#296489; border-color:#296489; }


 h1 { font-weight:bold; color: #354869; margin:10px 0 30px 0;  /*margin-top: 20px;  margin-bottom: 10px;*/ }
h2{ font-weight:bold; color: #354869; margin:30px 0 10px 0;  /*margin-top: 20px;  margin-bottom: 10px;*/ }
h1, .h1 { font-size: 1.5rem; }
h2, .h2 { font-size: 1.2rem;}
h3, .h3 { font-size: 1.1rem;}



.input-group-addon i.fa { min-width:14px; }


.dropdown-menu > .active > a, 
.dropdown-menu > .active > a:hover, 
.dropdown-menu > .active > a:focus
{
    background-color:#296489;
}








header.page { background-color:#fff; border-bottom:1px solid #dadada; /*height:60px; margin-bottom:20px;*/ }
header.page .logo { margin:20px 0 20px 0; display:inline-block; }
header.page .logo img { height:20px; width:auto;  }

header.page .logout { margin:20px 0 20px 20px; display:inline-block; }



.header-top .menu-toggle {

    margin:15px 0 15px 15px;
    padding:5px 0 5px 5px;
    /*background-color: #303133;*/
    background-color: #fff;
    background-image: none;
    border: 1px solid transparent;
}

.header-top .menu-toggle .icon-bar {   
    background-color: #303133;
    display: block;
    width: 23px;
    height: 3px;
    border-radius: 1px; 
}
.header-top .menu-toggle .icon-bar + .icon-bar { margin-top: 4px; }



.header-top nav ul, .header-top nav li { list-style: none; margin:0; padding:0; }
.header-top nav li { display:block; }

header.page a { color:#000; }
nav.main { margin:20px 0; }
nav.main a:hover { text-decoration: none; }


.header-top {display:flex; justify-content: space-between; }
.header-top nav { margin:15px 0; }
.header-top nav .lvl-1 > li { float:left; position:relative; }
.header-top nav .lvl-1 > li + li { margin-left:20px; }
.header-top nav a { display:inline-block; padding:0 15px; }
.header-top nav .lvl-2  { display:none; position:absolute; min-width:250px; background-color:#ffffff; padding:20px; z-index:99;    margin-left: -240px; }
.header-top nav .lvl-2 a { display:block; padding:5px 15px; }
.header-top nav .has-sub:hover .lvl-2 { display:block; }


.has-sub { position:relative; }

.header-top nav .lvl-2 > li { position:relative;  }
.header-top nav .lvl-2 > li + li {  }

.header-top nav .lvl-1 { position:relative; }
.header-top nav .lvl-1 a { display:block; padding:5px 15px; }
.header-top nav .lvl-1 a:hover { background-color:#efefef; }
.header-top nav .lvl-2 a { display:block; padding:5px 15px;}
.header-top nav .lvl-2 a:hover { background-color:#efefef; }



.header-top nav li .menu-toggle { position:absolute; right:10px; top:0px; }
.header-top nav li .menu-toggle:before { 
   
   font-family: 'Glyphicons Halflings';
   content: "\e113";
   float:right;
   transition: all 0.5s;    
}
.header-top nav li .menu-toggle.collapsed:before {
    -webkit-transform: rotate(-180deg);
    -moz-transform: rotate(-180deg);
    transform: rotate(-180deg);    
}




.header-top nav .menu-toggle { display:none; }







footer.page {
  /*position: fixed;*/
  
  
  bottom: 0px;
  left:0;
  right:0;
  /*height: 40px;*/ /* Set the fixed height of the footer here */
  
  border:1px solid #354869;
  background-color:#354869;
  
  color:#fff;
  
  /*display:flex;
  align-items: center;*/
  z-index:1030;
  
  font-size: 12px;
  
  
}

footer.page .container { margin-top:10px; margin-bottom:10px; }

footer.page ul { list-style: none; margin:0; padding:0; }
footer.page ul li { float:left; list-style: none;}
footer.page ul li a { color:inherit; display:inline-block; margin:0.5rem 0; }
footer.page ul li + li { margin-left:15px; }

footer.page a { color:inherit;}


footer.page nav { margin:0; }


.dropup.scrollable .dropdown-menu { height: auto;  max-height: 200px;  overflow-x: hidden; -webkit-overflow-scrolling: touch; }


.submenu { margin:1rem 0; }


section.banner { background-repeat: no-repeat;  background-size: cover; background-position:center; padding-top: 56.25%; }




main {
    padding-top:30px;
    
}



/* section 2:
   make adjustments for tablet layouts. extend selectors from section 1
   Small devices (tablets, 768px and up) 
*/
@media (min-width:768px) {
    
    /*h2, .h2 { font-size:25px; }*/
    
    
    
    
}

/* section 3:
   make adjustments for desktop layouts. extend selectors from section 1
   Medium devices (desktops, 992px and up) 
*/
@media (min-width: 992px) {
    
    
    body { margin-bottom: 90px; /* Margin bottom by footer height */ }
    
    .dropup.scrollable .dropdown-menu { max-height:300px; }
    
    
    
    
    .menu-wrap.collapse { display:none; }    
    
    
    h1, .h1 { font-size: 2rem; }
    h2, .h2 { font-size: 1.5rem;}
    h3, .h3 { font-size: 1.17rem;}
    
    
    footer.page { position:fixed; font-size:16px; /* height:60px;*/ }
    footer.page .container { margin-top:20px; margin-bottom:20px; }    
    footer.page .lang-selector { float:right;  }
    footer.page ul li a { margin:0; }
    
    
    
}


/* section 4: 
   make adjustments for large desktop layouts. extend selectors from section 1
   Large devices (large desktops, 1200px and up)
   optional  
*/
@media (min-width:1200px) { 
 
    
    section.banner { padding-top:650px;  /*background-position:50% 35%; */ }    
        
    
}







@media (min-width:1600px) { 
 
    
    section.banner {   }    
        
    
}






.ce-gallery { margin-top:3rem !important; }

.ce-center .ce-gallery[data-ce-columns="4"] .ce-outer { float:none; right:auto; }
.ce-center .ce-gallery[data-ce-columns="4"] .ce-inner { float:none; right:auto; }

.ce-left .ce-gallery[data-ce-columns="4"] {float:none; }
.ce-right .ce-gallery[data-ce-columns="4"] {float:none; }

.ce-gallery[data-ce-columns="4"] figure { display:block; }
.ce-gallery[data-ce-columns="4"] figure img { width:100%; height:auto; max-width:100%; }
.ce-gallery[data-ce-columns="4"] figcaption { display:block; padding:10px 0px 20px; }


.ce-gallery[data-ce-columns="4"] .ce-row {
    
    display: -ms-flexbox;
    display:flex;  
    
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
    
    margin-left:-15px;
    margin-right:-15px;
    
}

.ce-gallery[data-ce-columns="4"] .ce-column {
    
    position:relative;
    width:100%;
    min-height: 1px;
    padding-right:15px;
    padding-left:15px;
    
    margin:0;
    
}

@media (min-width:576px) {
    
    /*2 splante*/
    .ce-gallery[data-ce-columns="4"] .ce-column {
        flex: 0 0 50%;
        -ms-flex: 0 0 50%;
        max-width:50%;
    }     
}

@media (min-width: 992px) {

    /* 4 spalten */
    .ce-gallery[data-ce-columns="4"] .ce-column {
        
        flex: 0 0 25%;
        -ms-flex: 0 0 25%;
        max-width:25%;
        
    }

}





.grid-1 .col-last h2 {
    margin-top:5px;
}
.grid-1 .col-last .content {
    
    background-color: #dbf0f6;
   /* border: 1px solid #dedede;*/
    border-radius: 10px;
    margin-bottom: 20px;
    padding: 20px;
    
}




.course-tiles .thumbnail {  overflow:hidden; padding:0; border:0px none; border-radius: 10px; }
.course-tiles .thumbnail header { padding:4px; background-color:#354869; color:#fff; min-height:60px; display:flex; flex-direction: column; justify-content: center; }


.course-tiles .thumbnail h3 { margin:0; padding:5px 9px; color:inherit; }
.course-tiles .thumbnail p:last-child { margin-bottom: 0; }


.course-tiles .thumbnail .caption { border:1px solid #354869; border-radius:0 0 10px 10px; border-top:0px none; height:110px; overflow:hidden; }


/*
@media (min-width:768px) {
    
    .course-tiles .thumbnail { height:150px; }
}



@media (min-width: 992px) {

    
    .course-tiles .thumbnail { height:150px;}
    
}*/