*,
*:before,
*:after {
    -moz-box-sizing:border-box;
    -webkit-box-sizing:border-box;
    box-sizing:border-box;
}
body {
    font-family: 'Ubuntu', sans-serif;
    font-size: 17px;
    font-weight: 400;
    line-height: 1.4;
    color: #000;
    word-wrap: break-word;
}
@media (min-width: 640px) {
    body {
        font-size: 22px;
    }
}
h1,
h2,
h3,
.uk-modal-header {
    font-family: 'l1_cos-bol-1_pro_ws_z01-84a304c7', sans-serif;
    font-weight: normal;
    line-height: 1.3;
    color: #b71766;
    margin-bottom: 15px;
}
h1 {
    font-size: 29px;
    line-height: 1.2;
}
h2,
.uk-modal-header {
    font-size: 24px;
    line-height: 1.3;
}
h3 {
    font-size: 22px;
    line-height: 1.3;
}
h1 + h2,
h1 + h3,
h2 + h3 {
    margin-top: 15px;
}
@media (min-width: 640px) {
    h1 {
        font-size: 34px;
    }
    h2,
    .uk-modal-header {
        font-size: 27px;
    }
}

p {
    margin-bottom: 15px;
}
* + p {
    margin-top: 15px;
}

a,
a:visited,
a:hover {
    color: #000;
    text-decoration: underline;
}

b,
strong {
    font-weight: 700;
}

em {
    color: inherit;
}

hr {
    margin: 30px 0;
    border-bottom: 1px solid #b71766;
}

/*
* Blockquote
*/
blockquote {
    font-family: 'l1_cos-ita-1_pro_ws_z01-918c33cc', sans-serif;
    font-size: 20px;
    font-style: normal;
    line-height: 1.3;
    color: #b71766;
}
blockquote .quote-author {
    display: block;
    font-style: normal;
    font-size: 16px;
    color: #000;
    margin-top: 10px;
}
@media (min-width: 640px) {
    blockquote {
        font-size: 26px;
    }
    blockquote .quote-author {
        font-size: 18px;
    }
}

/*
* Figure
*/
figure {
    margin-bottom: 0;
}
figure img {
    width: 100%;
}
figure figcaption {
    font-size: 17px;
    line-height: 1.3;
    margin-top: 5px;
    color: #777;
}
@media (min-width: 960px) {
    .uk-width-1-3\@m figure:first-of-type {
        margin-top: 7px;
    }
}

.container {
    margin: 0 auto;
    max-width: 1280px;
    padding: 0 10px;
}
.uk-grid + .uk-grid {
    margin-top: 40px;
}
.uk-grid + .js-filter {
    margin-top: 25px;
}

/*
* Information box
*/
.info-box {
    background-color: rgba(183, 23, 102, 0.07);
    padding: 12px 15px;
}
.info-box *:last-child {
    margin-bottom: 0;
}
@media (min-width: 960px) {
    .info-box {
        background-color: rgba(183, 23, 102, 0.07);
        padding: 25px 30px;
    }
}

/*
* Header
*/
header {
    z-index: 1000;
    padding-top: 5px;
    height: 90px;
    background-color: #fff;
    border-bottom: 3px solid #b71766;
    position: fixed;
    top: 0;
    width: 100%;
    height: 80px;
}
header .logo {
    margin-top: 10px;
    transition: margin-left 0.3s;
}
header .logo img {
    height: 55px;
}
header .navicon {
    position: absolute;
    top: 20px;
    right: 15px;
}
header .navicon img {
    height: 40px;
}
@media (min-width: 1200px) {
    header {
        position: relative;
        height: 170px;
        border-bottom: none;
    }
    header .logo {
        margin-top: 20px;
    }
    header .logo img {
        height: 120px;
    }
    header .navicon {
        display: none;
    }
}
@media (min-width: 1400px) {
    header .logo {
        margin-left: -60px;
    }
}

/*
* Main
*/
main {
    margin-top: 80px;
    padding: 0 0 70px 0;
}
@media (min-width: 1200px) {
    main {
        margin-top: 0;
    }  
}
.header-image + .container {
    padding-top: 35px;
}
.header-image img {
    width: 100%;
}

/*
* Navigation: main
*/
.main-nav {
    background-color: #720c3e;
}
@media (max-width: 1199px) {
    .main-nav {
        display: none;
    }
}
.main-nav .uk-navbar-nav {
    margin-left: -13px;
}
.main-nav .uk-navbar-nav > li > a {
    min-height: 45px;
    font-family: 'l1_cos-bol-1_pro_ws_z01-84a304c7', sans-serif;
    font-size: 24px;
    text-transform: none;
    color: rgba(255, 255, 255, 0.75);
    transition: color 0.2s;
    padding-left: 15px;
}
.main-nav .uk-navbar-nav li.uk-active > a,
.main-nav .uk-navbar-nav li > a:hover {
    color: #fff;
}
.main-nav .uk-navbar-dropdown {
    top: 45px !important;
    /*width: auto;*/
    width: 220px;
    padding: 5px 15px;
    background-color: #b71766;
}
.main-nav .uk-navbar-dropdown ul li a {
    font-family: 'l1_cos-bol-1_pro_ws_z01-84a304c7', sans-serif;
    font-size: 20px;
    line-height: 1.3;
    color: rgba(255, 255, 255, 0.7);
    transition: color 0.2s;
    padding: 8px 0;
}

/*
* Navigation: sidebar
*/
.uk-offcanvas-bar {
    background-color: rgba(114, 12, 62, 0.9); /* #720c3e; */
    padding: 20px 15px;
    left: -400px;
    width: 400px;
}
@media (max-width: 400px) {
    .uk-offcanvas-bar {
        width: 100vw;   
    }
}
.uk-offcanvas-bar .uk-nav {
    font-size: 18px;
}
.uk-offcanvas-bar #sidebar-close {
    cursor: pointer;
    text-align: right;
    margin-right: 2px;
}
.uk-offcanvas-bar #sidebar-close img {
    width: 40px;
    height: auto;
}

.nav {
    list-style-type: none;
    font-family: 'l1_cos-bol-1_pro_ws_z01-84a304c7', sans-serif;
    font-size: 19px;
    letter-spacing: 0.1em;
    margin-top: 30px;
    padding: 0px;
}
.nav ul {
    list-style-type: none;
    padding: 0 0 0 15px;
    line-height: 26px;
}
.nav li {
    position: relative;
}
.nav li a {
    display: block;
    padding: 8px 0;
    text-decoration: none;
    color: rgba(255, 255, 255, 0.7);
    transition: color 0.2s;
}
.nav li.active a,
.nav li a:hover {
    color: #fff;
}
.nav li.active li a {
    color: rgba(255, 255, 255, 0.7);
}
.nav li.active li.active a,
.nav li.active li a:hover {
    color: #fff;
}

.nav .submenu {
    display: none;
    /*font-weight: 400;*/
}
.nav .submenu li a {
    padding: 5px 0;
}
.nav .submenu.open {
    display: block;
}
.dropdown-icon {
    background-image: url(dropdown-icon-down.png);
    background-repeat: no-repeat;
    background-size: 100% 100%;
    display: inline-block;
    position: absolute;
    top: 5px;
    right: 0px;
    width: 45px;
    height: 45px;
    cursor: pointer;
}
.dropdown-icon.open {
    background-image: url(dropdown-icon-up.png);
}

/*
* Navigation: Course filter
*/
.filter-subnav {
    font-size: 18px;
    list-style-type: none;
    margin: 40px 0 15px 0;
    padding: 0;
}
.filter-subnav li {
    display: block;
    margin: 5px 5px 0 0;
}
@media (min-width: 960px) {
    .filter-subnav li {
        display: inline-block;
    }
}
.filter-subnav li a {
    display: inline-block;
    color: rgba(255, 255, 255, 0.7);
    background-color: #b71766;
    text-decoration: none;
    padding: 4px 8px;
    transition: color 0.2s;
}
.filter-subnav li a:hover,
.filter-subnav li.uk-active a {
    color: #fff;
}

/*
* Footer
*/
footer {
    font-family: 'l1_cos-reg-1_pro_ws_z01-65b13e60', sans-serif;
    padding: 35px 0;
    color: #fff;
    background-color: #720c3e;
}
footer b,
footer strong {
    font-family: 'l1_cos-bol-1_pro_ws_z01-84a304c7', sans-serif;
    font-weight: normal;
}
footer a,
footer a:visited,
footer a:hover {
    color: #fff;
    text-decoration: underline;
}

/*
* Form
*/
form {
    font-size: 18px;
}
form > div + div {
    margin-top: 20px;
}
form > div.no-gap {
    margin-top: 0px;
}
form input[type="text"],
form input[type="password"],
form textarea {
    width: 100%;
    padding: 9px;
    border: 1px solid #dbdbdb;
    font-family: inherit;
    font-size: inherit;
}
form input[type="text"]:focus,
form input[type="text"]:active,
form input[type="password"]:focus,
form input[type="password"]:active,
form textarea:focus,
form textarea:active {
    border: 1px solid #1c1c3d !important;
    outline: 0 none;
}
form select {
    border: 1px solid #dbdbdb;
    font-family: 'Ubuntu', sans-serif;
    font-size: inherit;
    padding: 0 20px;
    width: auto;
    display: block !important;
}
form .uk-checkbox,
form .uk-radio {
    margin-right: 5px;
    background-color: #fff;
}
form label {
    cursor: pointer;
    display: block;
}
form .msg {
    color: red;
    font-size: 15px;
}
.required {
    color: red;
}
form h2 {
    margin-bottom: 15px;
}
form div + h2 {
    margin-top: 40px;
}

form .consent_privacy_policy .text > p:first-of-type {
    margin-top: 0;   
}
form .consent_privacy_policy .text > p:last-of-type {
    margin-bottom: 0;
}

form .hp-comment {
    position: fixed;
    left: -1000px;
    top: -1000px;
}
input::placeholder {
    color: #b0b0b0;
}

/*
* Buttons
*/
form input[type="submit"],
button.default-btn,
a.default-btn {
    display: inline-block;
    font-size: 16px;
    text-transform: uppercase;
    line-height: 1.3;
    letter-spacing: 0.05em;
    text-decoration: none;
    padding: 9px 15px;
    color: #efefef;
    background-color: rgba(114, 12, 62, 0.9);
    border: 0 none;
    cursor: pointer;
    transition: color 0.3s, background-color 0.3s;
}
button.default-btn:hover,
a.default-btn:hover {
    color: #fff;
    background-color: rgba(114, 12, 62, 0.6);
}
form .default-btn {
    width: 100%;
}

/*
* Lightbox
*/
.uk-lightbox-caption {
    font-size: 18px;
    color: #fff;
}
.uk-lightbox-toolbar.uk-position-top {
    background-color: rgba(0, 0, 0, 0);
}
.uk-lightbox-toolbar button.uk-close {
    padding: 15px;
    color: #fff;
    background-color: rgba(0, 0, 0, 0.3);
}

.uk-lightbox a.uk-slidenav-next {
    margin-right: 10px;
}
.uk-lightbox a.uk-slidenav-previous {
    margin-left: 10px;
}

/*
* Modal
*/
.uk-modal-container .uk-modal-dialog {
    width: 1380px;
}
.uk-modal-header {
    margin: 0;
    padding: 15px 40px 0 20px;
    border: 0;
}
.uk-modal-body {
    padding: 15px 20px 25px 20px; 
}
.uk-modal-body h1,
.uk-modal-body h2,
.uk-modal-body h3 {
    text-align: left;
}
.uk-modal-body img {
    width: 100%;
}
[class*="uk-modal-close-"] {
    top: 15px;
    right: 15px;
}

/*
* Image: crop
* Aspect ratio: 3:2, 1:1
*/
.crop {
    overflow: hidden;
    position: relative;
}
.crop:before {
    content: '';
    display: block;
}
.crop.aspect-ratio-3-2:before {
    padding-top: 65%;
}
.crop.aspect-ratio-1-1:before {
    padding-top: 100%;
}
.crop img {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
}

/*
* News
*/
article.news + article.news {
    margin-top: 35px;
}
.date {
    font-size: 16px;
    color: #777;
    margin-bottom: 0;
}
.date + h1 {
    margin-top: 0;
}

/*
* News: pagination links
*/
.MarkupPager {
    display: block;
    margin: 35px 0 100px 0;
}
.MarkupPagerNav {
    margin: 0;
    padding: 0;
    list-style-type: none;
}
.MarkupPagerNav li {
	display: inline;
}
.MarkupPagerNav li a,
.MarkupPagerNav li.MarkupPagerNavSeparator {
	display: block;
	float: left;
    margin-right: 4px;
	padding: 3px 12px;
	color: #fff;
    background-color: #720c3e;
	font-size: 14px;
	font-weight: 400;
    font-style: normal;
	text-transform: uppercase;
    text-decoration: none;
    transition: all 0.2s;
}
.MarkupPagerNav li.MarkupPagerNavOn a,
.MarkupPagerNav li a:hover {
	color: #fff;
	background-color: #b71766;
    font-style: normal;
	text-decoration: none;
}

/*
* Courses
*/
.uk-grid + .course-dates {
    margin-top: 40px;
}
.course-dates .panel {
    background-color: rgba(183, 23, 102, 0.07);
    padding: 12px 15px;
}
.course-dates .panel + .panel {
    margin-top: 15px;
}
.course-dates h3 {
    margin-bottom: 5px;
}
.course-dates p {
    margin-top: 0;
}
.course-dates .booked-up {
    font-weight: 700;
}
.course-dates .default-btn {
    margin-top: 5px;
}
.course-dates .default-btn i {
    margin-left: 10px;
}

/*
* Courses: tiles
*/
figure.tile .label {
    font-size: 27px;
    font-weight: 700;
    color: #fff;
    pointer-events: none;
}
@media (min-width: 640px) {
    figure.tile .label {
        font-size: 34px;
    }  
}
figure.tile figcaption {
    font-size: 17px;
    line-height: 1.3;
}
