h1{ font-size: 2rem; }
h2{ font-size: 1.6rem; }
h3{ font-size: 1.4rem; }
h4{ font-size: 1.2rem; }

    
#topBanner20{
    position: relative;
    height: 400px;
}
#topBanner20 figure{
    display: block;
    width: 100%;
    height: 100%;
}
#topBanner20 figure img{
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
}

#tbThemes{
    position: absolute;
    top: 0;
    right: 0;
    bottom:0;  
    z-index: 1;
    display: flex;
}
.tbTheme{
    position: relative;
    width: 1.5rem;
    height: 100%;
}


#eduContainer20{
    position: relative;
    z-index: 1;
    background: var(--grey);
    padding-top: 1.5rem;
}

#eduColumn20{
    margin-top: -100px;
    background: #fff; 
    padding: calc( var(--bs-gutter-x) * 1.5);
}
#eduColumn20 h1{
    margin: 0 0 25px;
}
.title20 sub{
    display: block;
    line-height: 1.4rem;
    letter-spacing: 0;
}


.eduColIndent{
    
    height: 100%;
}


#filterSummary{
    font-size: 87.5%;
}
#filterSummary ul{
    margin: 20px 0;
}
#filterSummary li {
    margin: 5px 0;
}
#filterSummary ul a:hover{ 
    text-decoration: underline;
}


#eduNav20{
    position: sticky;
    top: 100px;
    transition: top .3s;
}
#eduNav20 > li {
    position: relative;
    border-bottom: 1px solid var(--primary);
}
#eduNav20 button{
    font-weight: bold;
    position: relative;
    padding: 10px 0px 10px 0px;
    background: none;
    border: 0;
    display: block;
    width: 100%;
    text-align: left;
}
#eduNav20 button i{
    display: inline-block;
    position: absolute;
    top: 16px;
    right: 5px;
    bottom: 0;
    width: 8px;
    height: 8px;
    border-top: 1px solid #000;
    border-right: 1px solid #000;
    transform: rotate(135deg);
}
#eduNav20 a{
    display: block;
    color: inherit;
    padding: 5px 10px;
}
#eduNav20 a:hover {
    background: rgba(255,255,255,0.5);
}
#eduNav20 ul{
    margin: 10px 0;
    font-weight: normal;
    font-size: 87.5%;
    display: none;
}


#eduNav20 li.open i{
    transform: rotate(-45deg);
}
#eduNav20 > li.open ul{
    display: block;
}
#eduNav20 li.active a {
    position: relative;
    background: #fff;
}
#eduNav20 li.active a:after{
    content: '';
    position: absolute;
    right: calc(var(--bs-gutter-x) * -1);
    top: 0;
    width: calc(var(--bs-gutter-x) * 1);
    height: 100%;
    background: #fff;
}

.usp20{
    color: var(--information);
    font-size: 87.5%;
    padding: 0;
    margin: 0;
}
.usp20 li{
    padding-bottom: 5px;
    padding-left: 25px !important;
    list-style: none;
}
.usp20 i{
    display: inline-block;
    margin-left: -25px;
    width: 25px;
    text-align: left;
}

#uspBlock20{
    background: #fff;
    padding: 20px 20px 0;
}

#doSubscribe20 {
    position: sticky;
    top: 100px;
    margin-bottom: var(--bs-gutter-x);
    font-size: 87.5%;
    z-index: 1;
    transition: top .3s;
}

body.directionDown #eduNav20,
body.directionDown #doSubscribe20{
    top: 20px;
}



#eduSections > li{
    background: #fff;
    margin-bottom: 100px;
    padding: 0;
    padding-left: calc( var(--bs-gutter-x) * 1.5 );
    padding-right: calc( var(--bs-gutter-x) * 1.5 );
}
#eduSections > li > h2{
    display: block;
    padding: 25px 0;
    font-size: 2rem;
    font-weight: bold;
}
#eduSections{
    opacity: 1;
    transition: opacity .3s;
}
#eduSections.hide{
    opacity: 0;
    transition: opacity 0s;
}

.chapterContent {
    padding-bottom: 40px;
    width: 100%;
    overflow: hidden;
}





/* INDEX */

#eduCollection{
    padding-bottom: 1rem;
    background: #fff;
    position: relative;
}
.eduCollectionHR{
    border-bottom: 1px solid #d4d4d4
}

#eduIndex{
    margin: 0;
    padding: 0 0 40px;
}

#eduIndex > li{
    margin: 0px;
    padding: 30px 0 ;
    border-bottom: 1px solid #d4d4d4;
}

.singleEdu{
    display: block;
    
}

.singleEdu .row > [class*="col-"] {
    margin-bottom:0;
}


.singleEdu:hover h3 span{
    text-decoration: underline;
}


.serThumb{
    position: relative;
    height: 100%;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    overflow: hidden;
    height: 125px;
}

.serSummary20{
    margin: 0;
    padding: 0;
    color: #31356a;
    font-size: 87.5%;
    
}
.serSummary20 li{
    margin: 0 15px 0 0;
    padding: 0 0 5px 0;
    list-style: none;
    display: inline-block;
    height: auto;
    line-height: auto;
}
.serSummary20 li i{
    margin-right: 10px;
}
.intro20{
    position: relative;
    height: 50px;
    overflow: hidden;
}
.intro20:before{
    content: '';
    position: absolute;
    bottom:0;
    right:0;
    height: 25px;
    width: 50%;
    background: linear-gradient(-22.5deg, #fff, transparent);
}


/* COURSES */
.courseContainer20 {
    position: relative;
    margin-bottom: 40px;
    padding-top: 20px;
}
.courseContainer20 h5 {
    line-height: 21px;
    position :absolute;
    top: 0;
    left: -1px;
    background: #fff;
    padding: 0 20px 10px 0;
    font-size: 120%;
    font-weight: 700;
}
.courseBorder20 {
    background: #fff;
    padding: 20px;
    box-shadow: 0 0 0  1px #31356a;
    border-radius: 0 25px 25px;
}
.courseContainer20 ol li{
    display: block;
    width: 100%;
    margin-top: 10px;
}
.courseContainer20 ol li:first-child{
    margin-top: 0px;
}
.courseContainer20 ol li a{
    display: block;
}


#qColumn20{
    position: relative;
    height: 100%;
}

.qcContent20{
    position: sticky;
    top: 100px;
    background:     #d5ecf4;
    padding: 20px 0 20px 20px;
}
.qcContent20:after{
    content: '';
    position: absolute;
    top: 0;
    left: 100%;
    bottom: 0;
    width: 40px;
    background: #d5ecf4;
}


#eduGeneralText{
    background-color: #f5f5f5;
    padding: 15px;
    margin-bottom: 50px;
    transform: translateY(25px);
}
#mobileFilters{
    background-color: #f5f5f5;
    padding: 15px;
    margin-top: -25px;
}
#filters {
    background: #f5f5f5;
    padding: 15px;
}

#filters h3{
    font-weight: 400;
    font-size: 16px;
    letter-spacing: 0;
    margin: 20px 0 5px;
    
    /*color: #000;*/
}

#filters label{
    position: relative;
    display: block;
    padding: 3px 0 3px 30px;
    margin: 2px 0 0;
    font-size: 87.5%;
}
#filters label:hover{
    cursor: pointer;
    color: var(--information);
}
#filters label input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
    height: 0;
    width: 0;
}
/* Create a custom checkbox */
.checkmark {
  position: absolute;
  top: 4px;
  left: 0;
  height: 20px;
  width: 20px;
  background-color: #fff;
  border: 1px solid #ccc;
}
/* Create the checkmark/indicator (hidden when not checked) */
.checkmark:after {
  content: "";
  position: absolute;
  left: 7px;
  top: 4px;
  width: 5px;
  height: 9px;
  border: solid white;
  border-width: 0 2px 2px 0;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  display: none;
  background: transparent;
}
/* On mouse-overadd a grey background color */
#filters label input:checked ~ .checkmark {
  background-color: #4088c8;
}
/* On mouse-over add a blue background color */
#filters label:hover input ~ .checkmark{
    border-color: #4088c8;
}
/* Show the checkmark when checked */
#filters label input:checked ~ .checkmark:after {
  display: block;
}

.freeEdu {
    color: #ffffff;
    background-color: #13a538;
    padding: 2px 8px;
    border-radius: 16px;
}




/* PAGINATION */
.pagination20{
    width: 100%;
    text-align: right;
    margin: 40px 0;
    font-size: 0;
}

.pagination20 span,
.pagination20 a{ 
    display: inline-block;
    padding: 10px 15px;
    
    border-radius: 25px;
    margin: 0 0 0 10px; 
    font-size: 0.875rem;
    font-weight: bold;
    color: #000;
}

.pagination20 a{
    background-color: #eee;
}
.pagination20 a:hover,
.pagination20 span{
    background: var(--primary-50);
    color: #fff;
}


.pages20{
    display: inline-block;
    height: 40px;
    text-align: center;
}

.locTable{
    margin-top: 20px;
    font-size: 87.5%;
}

.locTable td{
    padding-right: 10px;
}


/* LANDINGPAGE */
#topBanner.landingpage
{
    padding: 3rem 0 0 ;
    height: auto;
    background: var(--primary);
}
#topBanner.landingpage:before{
    display: none;
}
#landingpage{
    position: relative;
    min-height: 250px;
    z-index: 1;
    margin-bottom: 40px;
    padding-right: 5%;
}
#landingpage h1 {
    font-size: 4rem;
}

#lpToggle{
    display: block;
    margin-top: 40px;
    text-decoration: none;
    color: var(--information);
}


#lpContent{
    color: #fff;
    margin-top: 40px;
}

#lpcIntro{
    margin-bottom: 40px;
}

#lpcRest{
    max-height: 10000vh;
    overflow: hidden;
}

#landingpage.closed #lpcRest{
    
    max-height: 0;
}

#landingpage .brochure{
    padding: 20px;
}
.lpbThumb {
    text-align: center;
}
#landingpage .brochure img{
    display: inline-block;
    width: 60%;
    margin: -50px auto 20px;
    transform: rotate(3deg);
}


#activeFilters{
    font-size: 87.5%;
}

#activeFilters h6{
    font-size: inherit;
    font-weight: bold;
}

#toggleFilters{
    display: block;
    height: auto;
    width: 100%;
    border: none;
    padding: 10px 20px;
    text-align: left;
}
#toggleFilters:after{
    content: '\f0b0';
    font-family: "Font Awesome 5 Pro";
    float: right;
}

button[name="remFilter"]{
    display: inline-block;
    padding: 5px 15px;
    background: none;
    border: 1px solid #d4d4d4;
    border-radius: 30px;
    margin-bottom: 10px;
}

button[name="remFilter"]:before{
    content: 'X';
    margin-right: 10px;
    font-weight: bold;
}

button[name="remFilter"]:hover:before{
    color: red;
}



@media ( max-width: 992px ){
    
    #wrapper{
        padding-top:0;
    }
   
    #landingpage {
        min-height: 140px;
    }
    #landingpage h1 {
        font-size: 2rem;
    }
    #eduColumn20 ul li:before {
        color: rgba(0,0,0,0);
    }
    #doSubscribe20 {
        display:none;
    }

    
    .qcContent20{
        padding: 20px;
    }
    .qcContent20:after{
        display:none;
    }
    
    #filters{
        display: none;
        transition-duration: .3s;
    }
    
    #filters.open{
        display: block;
        
    }
    #filters.open form{
        /*
        border: 1px solid #d4d4d4;
        padding: 1px 30px 30px;
        border-top-width: 0px;
        */
    }
    
    



    #mobileSubscribe{
        position: fixed;
        bottom: -65px;
        left: 0;
        right: 0;

        height: 60px;
        background: #fff;
        padding: .75rem 0;
        box-shadow: 0 -2px 3px rgba(0,0,0,.1);

        transition-duration: .3s;
    }

    body.directionDown #mobileSubscribe{
        bottom: 0px;
    }


    #mobileSubscribe .container {
        display: flex;
        flex-wrap: wrap;

        
        justify-content: flex-end;
    }
    #mobileSubscribe .container > * {
        width: 75%;
    }
    
    #mobileSubscribe h6 {
        display: flex;
        height: 35px;
        font-size: 10px;
        line-height: .9;
        align-items: center;
    }

    #mobileSubscribe a{
        display: inline-block;
        padding: 0;
        height: 35px;
        line-height: 35px;
        text-align: center;
    }
}

/* not smallest */
@media ( min-width: 768px ){
    #eduSections > li:first-child > h2.section{
        display: none;
    }
}

@media ( max-width: 767px ){

    #doSubscribe20 a {
        display: block;
        text-align: center;
    }
    #landingpage {
        min-height: 100px;
    }
    #eduIndex > li {
        padding: 20px 0 0;
    }
    #eduNav20 {
        position: fixed;
        top: auto;
        bottom: 50px;
        left: 0;
        right: 0;
        height: 50px;
        background:#f3f3f3; 
        z-index: 2;
        display: flex;
        box-shadow: 0 0 5px 0 rgba(0,0,0,.3);
    }
    #eduNav20 > li {
        position: initial;
        flex: 1;
        border-left: 1px solid #d4d4d4;
        border-bottom: 0;
    }
    #eduNav20 > li:first-child {
        border-left: none;
    }
    #eduNav20 button {
        position: relative;
        text-align: center;
        padding-top: 20px;
        font-weight: normal;
        font-size: 87.5%;
        height: 100%;
        z-index: 1;
    }
    #eduNav20 button i{
        top: 10px;
        left: 50%;
        bottom: auto;
        right: 50%;
        transform: rotate(-45deg);
        opacity: .5;
    }
    
    #eduNav20 ul {
        position: absolute;
        bottom: 49px;
        left: 0;
        right: 0;
        background: #f3f3f3;
        margin: 0;
        width: 100%;
        border-bottom: 0;
        box-shadow: 0 0 8px 0 rgba(0,0,0,.2);
        padding: 20px 30px;
        border-radius: 25px 25px 0 0;
    }
    #eduNav20 ul li {
        border-top: 1px solid #d4d4d4;
    }
    #eduNav20 ul li:first-child {
        border-top: none;
    }
    #eduNav20 ul li a{
        padding: 10px;
    }
    #eduNav20 ul li a:hover,
    #eduNav20 li.active a{
        background: #fff;
        color: #000;
    }
    
    /* JSevents */
    #eduNav20 li.open ul{
        display: none;
    }
    #eduNav20 li.clicked ul{
        display: block;
    }
    #eduNav20 li.clicked button{
        background:#f3f3f3;
    }
    #eduNav20 li.open button i,
    #eduNav20 li.clicked button i{ 
        opacity: 1;
    }
    
    .serThumb{
        height: 120px;
        margin-bottom: 20px;
    }
    
    .serSummary20 li{
        display: block;
    }
    #filterSummary li {
        margin-left: 5%;
    }
    #filterSummary li:before {
        margin: 1px 0 0 -2%;
        width: 5%;
        position: absolute;
    }
    #catsHome li {
        height: auto;
    }
    #landingpage > * > h1.serif {
        font-size: 1.6rem;
    }
    .pbc {
        position: relative;
    }
    h1.title20 {
        font-size: 1.5rem;
        word-wrap: initial;
    }
    #preFooter ul, #preFooter address {
        margin-left: 0;
    }
   
    /*
    #topBanner.landingpage{
        padding-left: 3rem;
    }
    */


    /* VIEW ON MOBILE */ 
    #topBanner20{
        margin-left: -.75rem;
        margin-right: -.75rem;
        height: 150px;
    }
    #eduContainer20{
        margin: 0;
        background: #fff;
    }
    #eduColumn20{

        margin: -5rem var(--bs-gutter-x)  0 calc( var(--bs-gutter-x) * -.5);
        padding: 10px var(--bs-gutter-x) 5px;
    }
    .eduColIndent,
    #doSubscribe20,
    #eduNav20{
        display: none;
    }


    #eduColumn20 h1.title20 {
        font-size: 1.25rem;
        letter-spacing: -1px;
        font-weight: bold;
        margin: 5px 0 15px;
    }

    .title20 sub{
        font-family: 'Noto Sans', sans-serif;
        font-weight: normal;
        font-size: 1rem;
        letter-spacing: 0;
    }

    #eduSections {
        margin:  var(--bs-gutter-x);
        background: #fff;
        border-top: 1px solid var(--primary);
    }

    #eduSections > li {
        padding: 0;
        margin-bottom: 0;
        box-shadow: none;
        background: none;
    }

    #eduSections > li > ul{
        display: none;
        
    }


    #eduSections h2.section{
        position: relative;
        padding: 12px 20px;
        font-size: 1rem;
        font-weight: bold;
        border-bottom: 1px solid var(--primary);
        color: inherit;   
        margin: 0;
        letter-spacing: 0;
    }
    
    #eduSections h3.chapter::after,
    #eduSections h2.section::after{
        content: '\f078';
        position: absolute;
        bottom: 12px;
        right: 20px;
        font-family: "Font Awesome 5 Pro";
        color: inherit;
        transition-duration: .2s;
    }

    #eduSections h3.chapter::after{
        bottom: 10px;
        right: 0;
    }

    #eduSections li.clicked > h3.chapter::after,
    #eduSections li.clicked > h2.section::after{ 
        transform: rotate(180deg);    
    }
    
    #eduSections h3.chapter:hover,
    #eduSections h2.section:hover{
        cursor: pointer;
        color: var(--information);
    }

        
    #eduSections li.clicked > ul{
        padding: 20px 20px 30px 30px;
        display: block;
    }

    
    #eduSections h3.chapter{
        position: relative;
        font-size: 1rem;
        letter-spacing: 0;
        font-weight: bold;
        padding: 10px 20px 10px 0;
        border-bottom: 1px solid var(--primary);
        margin: 0;
        color: inherit;
    }
    
    .chapterContent{
        display: none;
        padding: 10px 0;
        color: #000;
    }
    #eduSections li.clicked li.clicked .chapterContent{
        display: block;
    }
}

    

@media ( max-width: 576px ){
    #eduSections{
        margin: 0 calc( var(--bs-gutter-x) * -.5);
    }
}



#eduActions{
    background: #fff;
    padding: var(--bs-gutter-x);
    
    
}

.eduActions p{
    margin:  20px 0 0;
}
.eduActions a{
    position: relative;
    display: block;
    padding: 10px;
    text-align: center;
    border-radius: 100px;
    margin-top: 10px;
}


.eduActions a.edu21subscribe{
    background: var(--action);
    color: #fff
}
.eduActions a.edu21information{
    background: var(--information);
    color: #fff
}
.eduActions a.edu21brochure{
    background: var(--brochure);
    color: var(--primary);
}