/**
 * General
 */
html, body {
    font-family: 'Roboto', sans-serif;

}

.content-block {
    padding: 100px 0;
}

/**
 * Header
 */
header .row {
    height: 150px;
    box-shadow: 0 0 20px 0 rgba(0, 0, 0, .16);
}

header .logo {
    display: flex;
    align-items: center;
}

header .logo img {
    width: 100%;
    max-width: 250px;
}

header .header-links, header .header-actions {
    display: flex;
    align-items: center;
}

header .header-links {
    justify-content: flex-end;
}

header .mobile-actions {
    display: flex;
    align-items: center;
    justify-content: center;
}

header .mobile-actions a {
    color: #0063a6;
    font-size: 25px;
    margin: 5px;
}

header .header-links {
    justify-content: right;
}

header .header-links a {
    padding: 0 0 0 25px;
    color: #0063a6;
    font-size: 13px;
}

header .header-actions a.btn {
    margin: 0 20px 0 0;
    text-transform: uppercase;
    font-size: 13px;
}

header .mobile-searchbar {
    background-color: #0063a6;
    width: 100%;
    padding: 10px;
    display: none;
}

header .mobile-searchbar a {
    color: white;
}

header .mobile-searchbar input {
    background-color: transparent;
    color: white;
    width: 90%;
    border: 0;
}

/**
 * Main navigation
 */

nav.main {
    background-color: #0063a6;
}

nav.main {
    box-shadow: 0 7px 5px -5px rgba(0, 0, 0, .4);
}

nav.main ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
    display: flex;
}

nav.main .mobile {
    padding: 0;
    position: absolute;
    left: -100%;
    background-color: #0063a6;
    transition: left .5s ease;
    z-index: 6;
}

nav.main .mobile.open {
    left: 0;
}

.mobile-actions a#open-mobile-menu {
    padding: 5px;
}

nav.main .mobile ul {
    display: block;
    padding: 0;
}

nav.main .mobile ul li {
    display: list-item;
    padding-left: 20px;
    padding-right: 20px;
    border-bottom: 2px solid white;
}

nav.main .mobile ul li a.btn {
    width: 100%;
}

nav.main .mobile ul li:last-child {
    border: 0;
}

nav.main ul li {
    display: inline-block;
    flex-grow: 1;
    padding: 15px 0;
    text-transform: uppercase;
}

nav.main ul li a {
    color: white;
    font-size: 15px;
}

nav.main ul li a:hover {
    color: white;
}

nav.main ul li .submenu {
    background-color: #f2f2f2;
    position: absolute;
    left: 0;
    width: 100%;
    top: 54px;
    z-index: 5;
    display: none;
    padding: 30px;
}

nav.main ul li:hover .submenu {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
}

nav.main ul li .submenu ul {
    display: block;
    width: 20%;
    min-width: 150px;
    padding-left: 15px;
}

nav.main ul li .submenu ul li {
    display: list-item;
    padding: 0;
    font-size: 14px;
}

nav.main ul li .submenu ul li.head {
    color: #0063a6;
}

nav.main ul li .submenu ul li a {
    color: #333;
    text-transform: none;
    font-size: 14px;
}

nav.main ul li .submenu .more {
    width: 100%;
    display: flex;
    justify-content: center;
    margin-top: 30px;
    margin-bottom: -30px;
}

nav.main ul li .submenu .more a {
    font-size: 14px;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}

nav.main .search {
    position: absolute;
    right: 30px;
    top: 7px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

@media (max-width: 991px) {
    nav.main .search {
        right: -30px;
    }
}

nav.main .search .search-frm-wrap {
    padding: 0;
    margin: 0;
}

nav.main .search .search-frm-wrap .search-keyword {
    display: none;
    border: none;
    color: #333;
}

nav.main .search:hover,
nav.main .search.focus {
    width: 250px;
    background-color: white;
    border-radius: 3px;
}

nav.main .search:hover .search-frm-wrap .search-keyword,
nav.main .search.focus .search-frm-wrap .search-keyword {
    display: inline;
}

nav.main .search:hover a.icon,
nav.main .search.focus a.icon {
    color: #0063a6;
}

nav.main .search a.icon {
    color: white;
    width: 40px;
    height: 40px;
    line-height: 40px;
    text-align: center;
    float: right;
}

nav.nav-breadcrumb {
    background-color: #f5f5f5;
}

.breadcrumb {
    border-radius: 0;
    color: #0063a6;
    background-color: transparent;
    margin-bottom: 0;
}

.breadcrumb ul {
    list-style-type: none;
    margin-bottom: 0;
    padding-left: 0;
}

.breadcrumb ul li {
    display: inline-block;
    font-size: 13px;
    text-transform: none;
}

.breadcrumb ul li:after {
    font-family: 'Font Awesome 5 Free', sans-serif;
    font-weight: 900;
    content: "\f054";
    font-size: 11px;
    padding: 10px;
}

.breadcrumb ul li:last-child:after {
    content: "";
}
/*
nav.main .search-btn a:hover {
    transform: rotateY(180deg);
}*/

nav.main .search-bar {
    display: none;
}

/**
 * Hero element
 */
.hero {
    height: 500px;
    background: none no-repeat;
    background-size: cover;
    display: none;
    align-items: center;
}

.mobile-hero { }

.mobile-hero .photo img {
    width: 100%;
}

.mobile-hero h1 {
    font-size: 28px;
    padding: 15px 0;
    line-height: 150%;
    font-weight: 300;
    color: #0063a6;
}

.mobile-hero h1 strong {
    font-weight: 700;
}

.hero.hero-course .stretch {
    height: 320px;
}

.hero.hero-course .background {
    background: none no-repeat;
    background-size: cover;
    background-position: center;
    height: 100%;
}

@media (min-width: 991px) {
    .hero {
        height: 700px;
    }

    .hero.hero-course .stretch {
        height: 500px;
    }
}

.hero .content-wrap {
    max-width: 100%;
}

.hero .content-wrap .title {
    background-color: white;
    box-shadow: 0 0 20px 0 rgba(0, 0, 0, .2);
    border-radius: 3px 3px 3px 0;
    padding: 20px;
    position: relative;
    z-index: 2;
}

.hero .content-wrap .title h1 {
    font-weight: 300;
    color: #0063a6;
}

.hero .content-wrap .title h1 strong {
    font-weight: 700;
}

.hero .content-wrap .action .btn {
    position: relative;
    z-index: 1;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
    padding: 10px 20px;
}

/**
 * Intro element
 */
.intro {
    text-align: center;
}

.intro h1 {
    font-weight: 700;
    color: #0063a6;
    margin-bottom: 20px;
}

.intro p {
    font-weight: 300;
    color: #0063a6;
    font-size: 25px;
    margin-bottom: 20px;
}

/**
 * Contact element
 */
.contact {
    position: relative;
    display: flex;
    justify-content: center;
}

.contact.content-block {
    padding: 150px 0;
}

.contact.no-background.content-block {
    padding: 50px 0;
}

.contact.no-background {
    background-color: #f5f5f5;
}

.contact .content-wrap {
    position: relative;
    z-index: 4;
    display: flex;
    max-width: 575px;
    width: 100%;
}

.contact .content-wrap .photo {
    width: 25%;
    text-align: right;
}

.contact .content-wrap .photo img {
    width: 100%;
    max-height: 100%;
}

.contact .content-wrap .content {
    width: 75%;
    padding: 10px 30px;
}

.contact { }

.contact .content-wrap h1 {
    font-weight: 700;
    font-size: 25px;
    color: white;
}

@media (max-width: 575px) {
    .contact .content-wrap h1 {
        font-size: 18px;
        margin: 13px 0;
        line-height: 130%;
    }
}

.contact.no-background .content-wrap h1 {
    color: #0063a6;
}

.contact .background-overlay,
.contact .background-image,
.contact .background-video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.contact .background-overlay {
    background-color: rgba(0, 99, 166, .7);
    z-index: 3;
}

.contact .background-video {
    z-index: 2;
}

.contact .background-image {
    background: no-repeat center center;
    background-size: cover;
    z-index: 1;
}

/**
 * News element
 */
.news {
    margin: 50px 0;
}
.news .block {
    height: 250px;
    position: relative;
    padding: 0 10px;
    margin-bottom: 50px;
}

@media (max-width: 575px) {
    .news .block {
        height: 200px;
    }
}

.news .block .content-wrap {
    position: relative;
    height: 100%;
    width: 100%;
    z-index: 3;
    display: flex;
    align-items: flex-end;
    transition: all 150ms ease;
}

.news .block .content-wrap:hover {
    box-shadow: 0 0 20px 0 rgba(0, 0, 0, .25);
    cursor: pointer;
}

.news .block .content-wrap:hover .date {
    box-shadow: 0 0 20px 0 rgba(0, 0, 0, .25);
    cursor: pointer;
}

.news .block .date {
    position: absolute;
    left: 0;
    top: -30px;
    height: 30px;
    line-height: 20px;
    background-color: #3f958d;
    font-size: 13px;
    border-radius: 2px 2px 0 0;
    padding: 5px 15px;
    text-transform: uppercase;
    color: white;
    transition: all 150ms ease;
}

.news .block .title {
    position: relative;
    z-index: 4;
    font-weight: 300;
    color: white;
    padding: 0 10px 5px 10px;
    font-size: 23px;
}

.news .block .photo-wrap {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.news .block .photo-wrap .photo-overlay {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
    border-radius: 0 2px 2px 2px;
    background: linear-gradient(rgba(0, 99, 160, 0) 60%, rgba(0, 99, 160, .86));
}

.news .block .photo-wrap .photo-image {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    border-radius: 0 2px 2px 2px;
    background-size: cover;
    background-position: center bottom;
    transition: all 300ms ease;
}

.news .block:hover .photo-wrap .photo-image {
    transform: scale(1.05);
}

.news .block .continue {
    padding: 20px 30px;
    font-size: 35px;
    font-weight: 300;
}

@media (max-width: 768px) {
    .news .block .continue {
        padding: 0;
    }
}

.news .block a:hover {
    text-decoration: none;
}

.news .block .continue a {
    color: #d36b0c;
}

.news .block .continue a i {
    transition: all 300ms ease;
    font-size: 26px;
}

.news .block .continue a:hover i {
    padding-left: 20px;
}

/**
 * Course overview
 */
.course-overview { }

@media (min-width: 576px) {
    .course-overview {
        padding-top: 50px;
    }
}

.course-overview .course-item {
    width: 100%;
    display: flex;
    flex-flow: row wrap;
    margin: 25px 0 90px 0;
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, .2);
    border-radius: 3px 3px 0 3px;
    position: relative;
    cursor: pointer;
    transition: box-shadow .3s ease;
}

@media (min-width: 992px) {
    .course-overview .course-item {
        height: 170px;
    }
}

.course-overview .course-item:hover {
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, .4);
}

.course-overview .course-item:hover .action a {
    box-shadow: 0 5px 10px -5px rgba(0, 0, 0, .4);
}

.course-overview .course-item .photo {
    width: 100%;
}

@media (max-width: 768px) {
    .course-overview .course-item .photo {
        max-height: 200px;
    }
}

@media (min-width: 769px) and (max-width: 991px) {
    .course-overview .course-item .photo {
        max-height: 100%;
    }
}

.course-overview .course-item .photo img {
    height: 100%;
    width: 100%;
    object-fit: cover;
    border-radius: 3px 0 0 3px;
}

.course-overview .course-item .content {
    width: 70%;
    padding: 25px;
}

.course-overview .course-item .content h2 {
    font-size: 25px;
    color: #0063a6;
    font-weight: 300;
}

.course-overview .course-item .content ul.categories {
    list-style-type: none;
    padding: 0;
}

.course-overview .course-item .content ul.categories li {
    float: left;
    padding: 0 15px 0 0;
}

.course-overview .course-item .content ul.categories li:before {
    content: "/ ";
    padding: 0 5px 0 0;
}

.course-overview .course-item .action {
    position: absolute;
    bottom: -42px;
    left: 0;
}

@media (min-width: 768px) {
    .course-overview .course-item .action {
        left: auto;
        right: 0;
    }

    .course-overview .course-item .photo {
        width: 30%;
    }
}

.course-overview .course-item .action a {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
    box-shadow: none;
}

.course-overview .filter-courses {
    padding-left: 25px;
}

.course-overview .filter-courses h3 {
    margin: 25px 0;
    font-size: 38px;
    color: #d36b0c;
    font-weight: 300;
}

.course-overview .filter-courses h3 i {
    font-size: 25px;
}

.course-overview .filter-courses label {
    display: block;
    cursor: pointer;
    padding: 0 0 0 30px;
}

.course-overview .filter-courses label:before {
    content: " ";
    display: inline-block;
    float: left;
    background: url(../img/checkbox.svg) no-repeat;
    background-size: cover;
    width: 15px;
    height: 15px;
    margin: 5px 10px 5px -30px;
}

.course-overview .filter-courses label.checked:before {
    background-image: url(../img/checkbox_checked.svg);
}

.course-overview .filter-courses label input[type=checkbox] {
    opacity: 0;
    display: none;
}

/**
 * Single course
 */
.single-course h2 {
    color: #0063a6;
    font-weight: 300;
    font-size: 28px;
    margin-bottom: 30px;
    margin-top: -30px;
}

.container.single-course.content-block {
    padding: 100px 15px;
}

.single-course .course-description-wrap {
    box-shadow: 0 0 10px 5px rgba(0, 0, 0, .1);
}

.single-course .course-description .course-description-content {
    padding: 15px 25px;
}

.single-course .course-description .course-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.single-course .course-description .course-general {
    display: flex;
    flex-flow: row wrap;
    text-transform: uppercase;
    color: #0063a6;
}

.single-course .course-description .course-general > div {
    flex-grow: 1;
    padding: 15px;
}

@media (max-width: 575px) {
    .single-course .course-description .course-general > div {
        padding: 0;
        margin-bottom: 10px;
    }

    .single-course .course-description .course-general {
        padding: 15px;
    }
}

.single-course .course-description .course-general i {
    padding-right: 10px;
    color: #DDD;
    font-size: 25px;
    position: relative;
    top: 3px;
}

.single-course .course-description ul {
    list-style-type: none;
}

.single-course .course-description ul li {
    line-height: 25px;
}

.single-course .course-description ul li:before {
    content: "";
    display: inline-block;
    width: 15px;
    height: 15px;
    background: url(../img/large_bullet.svg) no-repeat;
    background-size: contain;
    margin: 5px 10px 5px -25px;
    position: relative;
    top: 5px;
}

section.course-information {
    background-color: #f5f5f5;
}

section.course-information .container {
    position: relative;
    top: -23px;
}

.single-course .course-description .actions {
    padding: 15px;
}

.single-course .course-description .actions a {
    margin-top: 10px;
    margin-right: 20px;
}

.tabbar .tabs-container {
    display: flex;
    flex-flow: row nowrap;
}

.tabbar .tabs-container .tab {
    flex-grow: 1;
    cursor: pointer;
    text-align: center;
    background-color: #0063a6;
    color: white;
    font-size: 14px;
    padding: 10px;
    text-transform: uppercase;
}

.tabbar .tabs-container .tab.active {
    background-color: white;
    color: #0063a6;
}

.tabbar .tabs-container .tab:first-child {
    border-radius: 3px 0 0 0;
}

.tabbar .tabs-container .tab:last-child {
    border-radius: 0 3px 0 0;
}

.tab-contents .tab-content {
    display: none;
    background-color: white;
    padding: 40px;
}

@media (min-width: 576px) {
    .tab-contents .tab-content {
        padding-right: 18%;
    }
}

.tab-contents .mobile-tab {
    text-align: center;
    background-color: #0063a6;
    border-radius: 3px;
    color: white;
    padding: 10px;
    text-transform: uppercase;
    margin-top: 5px;
}

.tab-contents .tab-content h3 {
    font-size: 16px;
    color: #0063a6;
    text-transform: uppercase;
    margin-bottom: 0;
}

.tab-contents .tab-content.active {
    display: block;
}

/**
 * Footer
 */

footer {
    background-color: #f5f5f5;
}

footer .row.directions .photo,
footer .row.directions .location,
footer .row.directions .map {
    min-height: 300px;
}

footer .row.directions .photo {
    background: url(../img/foto_pand.png) no-repeat center center;
    background-size: cover;
}

footer .row.directions .location {
    background-color: #0063a6;
    color: white;
    padding: 50px;
}

@media (max-width: 575px) {
    footer .row.directions .location {
        padding: 15px;
    }
}

footer .row.directions .location h3.title {
    font-size: 25px;
    margin-bottom: 25px;
    font-weight: 300;
}

footer .row.directions .location address {
    padding: 0 30px;
    position: relative;
}

footer .row.directions .location address::before {
    content: "\f041";
    color: white;
    font-size: 25px;
    position: absolute;
    left: 3px;
    top: -8px;
    font-family: 'Font Awesome 5 Free', sans-serif;
    font-weight: 900;
}

footer .row.directions .location address a {
    color: white;
}

footer .row.directions .map {
    background: url(../img/map.png) no-repeat center center;
    background-size: cover;
}

footer .row.contact-info {
    font-size: 12px;
}

footer .row.contact-info .general-contact-info { }

footer .row.contact-info address {
    margin: 0;
}

footer .row.contact-info em {
    color: #0063a6;
    font-style: normal;
    text-transform: uppercase;
}

footer .row.contact-info .general-contact-info a {
    color: black;
}

footer .row.contact-info .general-contact-info a:hover {
    text-decoration: underline;
}

footer .row.contact-info .facilities {
    text-align: right;
}

footer .row.contact-info .facilities span {
    font-size: 25px;
    font-weight: 300;
    color: #3f958d;
}

footer .row.contact-info .facilities a {
    font-size: 17px;
    margin: 10px 0 0 0;
}

footer .row.general-info {
    border-top: 1px solid white;
    font-size: 11px;
    text-align: center;
    padding: 30px 0;
}

footer .row.general-info ul {
    list-style-type: none;
    padding: 0;
    display: inline;
}

footer .row.general-info ul li {
    display: inline;
}

footer .row.general-info ul li:after {
    content: "-";
    padding: 0 20px;
}

footer .row.general-info ul li:last-child:after {
    content: "";
}

footer .row.general-info ul li a {
    color: black;
}

footer .row.general-info ul li a:hover {
    text-decoration: underline;
}

/**
 * Buttons
 */
.btn {
    text-transform: uppercase;
    font-size: 13px;
    padding: 10px 20px;
}

.btn.schola-medica-icon {
    background: url(../img/Icon_Schola_Medica.png) no-repeat left 5px center;
    background-size: 20px 20px;
    padding-left: 35px;
}

.btn.has-icon-left i {
    padding-right: 10px;
}

.btn.has-icon-right i {
    padding-left: 10px;
}

.btn.btn-primary {
    background-color: #d36b0c;
    border-color: #d36b0c;
}

.btn.btn-secondary {
    background-color: #3f958d;
    border-color: #3f958d;
}

.btn.btn-tertiary {
    background-color: #0063a6;
    border-color: #0063a6;
    color: white;
}

.btn.animate-icon i {
    position: relative;
    transition: all .3s ease;
    left: 0;
}

.btn.animate-icon:hover i {
    left: 10px;
}

.btn:hover {
    box-shadow: 0 0 20px 0 rgba(0, 0, 0, .3);
}

/**
 * Chosen select-boxes
 */

.chosen-container {
    width: 365px;
    margin: 0 15px;
    text-align: left;
}

.frm_forms .chosen-container {
    margin: 0;
}

.chosen-container-single .chosen-single {
    border-radius: 5px;
    border: 1px solid #f5f5f5;
    color: #ebebeb;
    background: url(images/chosen-button-down.png) #f5f5f5;
    background-repeat: no-repeat;
    background-position: right bottom;
    text-align: center;
    box-shadow: none;
    font-size: 12px;
    height: 35px;
    line-height: 35px;
}

.chosen-container-active.chosen-with-drop .chosen-single {
    border: 1px solid #f5f5f5;
    background: url(images/chosen-button-up.png) #f5f5f5;
    background-repeat: no-repeat;
    background-position: right bottom;
    box-shadow: none;
}
.chosen-container .chosen-drop {
    border-radius: 0;
    border: 1px solid #f5f5f5;
}

.chosen-container .chosen-results {
    margin: 0;
    padding: 0;
    color: #878787;
    font-size: 12px;
}

.chosen-container .chosen-results li {
    padding: 9.5px 8px;
}

.chosen-container .chosen-results li.highlighted {
    background-color: #f5f5f5;
    background-image: none;
    color:#fff;
}

.chosen-container .chosen-results li.active-result {
    border-bottom: 1px solid #f5f5f5;
    color: #333;
}

.chosen-container .chosen-results li.active-result:last-of-type {
    border-bottom: none;
}

.chosen-container-single .chosen-single div b {
    display: none;
}


/**
 * Reponsiveness
 */
@media (max-width: 575px) {
    header .row {
        height: 100px;
    }

    .header-links {
        display: none !important;
    }

    .header-actions .btn {
        width: 0;
    }

    .content-block {
        padding: 45px 0;
    }

    .news.content-block {
        padding-bottom: 0;
    }

    .contact .content-wrap {
        flex-wrap: wrap;
        justify-items: center;
        justify-content: center;
    }

    .contact .content-wrap .photo {
        width: 150px;
        justify-content: center;
    }

    .contact .content-wrap .content {
        width: 100%;
    }

    .news {
        margin-bottom: 0;
    }

    .news .block {
        padding: 0 15px;
    }

    .contact {
        text-align: center;
    }

    footer .row.contact-info .facilities {
        text-align: left;
    }
}

@media (min-width: 576px) {
    header .row {
        box-shadow: none;
    }

    header .logo {

    }
}

@media (max-width: 768px) {
    .filter-courses {
        text-align: center;
    }
}

@media (min-width: 769px) {
    .hero {
        display: flex;
    }

    /*.hero .content-wrap {
        max-width: 55%;
        margin: 35px;
    }*/

    .hero .content-wrap {
        max-width: 70%;
        margin: 20px;
        float: right;
    }

    .intro .content-wrap p {
        position: relative;
        left: 10%;
        max-width: 80%;
    }

    .intro .content-wrap p {
        position: relative;
        left: 15%;
        max-width: 70%;
    }
}

@media (min-width: 992px) {
    .hero .content-wrap {
        max-width: 40%;
        margin: 50px;
    }

    .intro .content-wrap p {
        position: relative;
        left: 20%;
        max-width: 60%;
    }
}