/*COLOURS
dark grey:  #3d4d5a     rgba(82,95,106,1)
light grey: #eeeeee
red:        #ed1c29     red 90%:    rgba(237,28,41,0.9) 
green:      #2caeaa
blue:       #07b0d4
purple:     #732b90
pink:       #dd4b9a
dark red:   #bd2735
orange:     #fc9827
*/

/*BOOTSTRAP OVER RIDES*/
body, p {
    margin: 0;
    padding: 0;
    list-style-type: none;
}

h1, h2, h3, h4 {
    margin: 0;
    padding: 0;
    color: #ed1c29;
    font-weight: 600;
    margin: 0 0 0.5em 0;
}

/*color1 color over rides*/
.color1 h1, .color1 h2, .color1 h3, .color1 h4, .color1 .arrowRed, .color1 header .crumbtrail li.current-page, .color1 .blog-article a, .color1 .article-list .date, .color1 .pagination .page-item .page-link, .color1 .vvlgreyFill a {
    color: #07b0d4;
}

.color1 .redFill, .color1 ul.slick-dots li.slick-active, .color1 .icon.filled {
    background-color: #07b0d4;
}

.color1 .slider-inner {
    background-color: rgba(7,176,212,0.9);
}

.color1 .icon, .color1 .cookieMessage .btn-primary, .color1 .pagination .page-item.active a, .color1 span.share-icons ul li a {
    background-color: #07b0d4;
    border-color: #07b0d4;
}

.color1 .arrowRed {
    background-image: url(../images/icon-arrow-blue.svg);
}

.color1 .pagination .page-item.active a {
    color: #fff;
}

.article-list .outer.color1, .article-list .outer.color1:first-child {
    border-top: 10px solid #07b0d4;
}

/*color2 color over rides*/
.color2 h1, .color2 h2, .color2 h3, .color2 h4, .color2 .arrowRed, .color2 header .crumbtrail li.current-page, .color2 .blog-article a, .color2 .article-list .date, .color2 .pagination .page-item .page-link, .color2 .vvlgreyFill a {
    color: #fc9827;
}

.color2 .redFill, .color2 ul.slick-dots li.slick-active, .color2 .icon.filled {
    background-color: #fc9827;
}

.color2 .slider-inner {
    background-color: rgba(252,152,39,0.9);
}

.color2 .icon, .color2 .cookieMessage .btn-primary, .color2 .pagination .page-item.active a, .color2 span.share-icons ul li a {
    background-color: #fc9827;
    border-color: #fc9827;
}

.color2 .arrowRed {
    background-image: url(../images/icon-arrow-orange.svg);
}

.color2 .pagination .page-item.active a {
    color: #fff;
}

.article-list .outer.color2, .article-list .outer.color2:first-child {
    border-top: 10px solid #fc9827;
}

/*color3 color over rides*/
.color3 h1, .color3 h2, .color3 h3, .color3 h4, .color3 .arrowRed, .color3 header .crumbtrail li.current-page, .color3 .blog-article a, .color3 .article-list .date, .color3 .pagination .page-item .page-link, .color3 .vvlgreyFill a {
    color: #3d4d5a;
}

.color3 .redFill, .color3 ul.slick-dots li.slick-active, .color3 .icon.filled {
    background-color: #3d4d5a;
}

.color3 .slider-inner {
    background-color: rgba(61,77,90,1);
}

.color3 .icon, .color3 .cookieMessage .btn-primary, .color3 .pagination .page-item.active a, .color3 span.share-icons ul li a {
    background-color: #3d4d5a;
    border-color: #3d4d5a;
}

.color3 .arrowRed {
    background-image: url(../images/icon-arrow-grey.svg);
}

.color3 .pagination .page-item.active a {
    color: #fff;
}

.article-list .outer.color3, .article-list .outer.color3:first-child {
    border-top: 10px solid #3d4d5a;
}

.article-list .outer.color0, .article-list .outer.color0:first-child {
    border-top: 10px solid #ed1c29;
}

h1 {
    font-size: 2.5em;
}

h2 {
    font-size: 1.8em;
}

h3 {
    font-size: 1.6em;
}

h4 {
    font-size: 1.4em;
}

@media (max-width: 768px) {
    body {
        text-align: left !important;
    }

    h1 {
        font-size: 1.2em;
        padding-bottom: 0.5em;
    }

    h2 {
        font-size: 1.2em;
    }

    h3 {
        font-size: 1.2em;
    }

    h4 {
        font-size: 1.2em;
    }
}

a, a:hover {
    color: #ed1c29;
}

p {
    margin-bottom: 1em
}

/* FORM ELEMENTS */
input[type="text"], textarea {
    border: 1px solid #525f6a;
    border-radius: 8px;
    padding: 6px 8px;
    color: #525f6a;
}

input[type="submit"] {
    border-radius: 6px;
    border: 2px solid #525f6a;
    background-color: #fff;
    font-weight: bold;
    color: #525f6a;
    cursor: pointer;
}

    input[type="submit"]:hover {
        color: #525f6a;
        background-color: #f0f0f0;
    }

select {
    border: 1px solid #525f6a;
    border-radius: 8px;
    padding: 6px 8px;
    color: #525f6a;
}

form .formErrorMessage {
    display: none;
}

.formError input,
.formError textarea {
    border-color: red;
}

.formError .formErrorMessage {
    color: red;
    margin-top: 10px;
    margin-bottom: 10px;
    display: block;
}

.form-radio-list {
    list-style-type: none;
    padding: 0px;
    margin: 0px;
}

    .form-radio-list li {
        margin-bottom: 10px;
    }

    .form-radio-list label {
        position: relative;
        top: -6px;
    }

/* Radio buttons */
.form-radio {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    display: inline-block;
    position: relative;
    background-color: #fff;
    color: #666;
    top: 0px;
    height: 26px;
    width: 26px;
    border: 0;
    border-radius: 43px;
    cursor: pointer;
    margin-right: 7px;
    outline: none;
    border: 1px solid #3d4d5a;
}

    .form-radio:checked::before {
        position: absolute;
        left: 6px;
        top: 6px;
        content: '';
        border: 6px solid #3d4d5a;
        border-radius: 6px;
    }

    .form-radio:hover {
        background-color: #f1f1f1;
    }

    .form-radio:checked {
        background-color: #fff;
    }

input[type=radio][disabled] {
    background-color: #f9f9f9;
    color: #ddd;
    cursor: default;
    border: 1px solid #ecedef;
}

    input[type=radio][disabled] + label {
        color: #999;
        cursor: default;
    }


/* Checkboxes */
.form-checkbox {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    display: inline-block;
    position: relative;
    background-color: #fff;
    color: #666;
    top: 0px;
    height: 26px;
    width: 26px;
    border: 0;
    border-radius: 8px;
    cursor: pointer;
    margin-right: 7px;
    outline: none;
    border: 1px solid #3d4d5a;
}

    .form-checkbox:checked::before {
        position: absolute;
        left: 4px;
        top: 5px;
        content: '';
        background-image: url(../images/icon-check-mark-15.svg);
        background-position: center;
        background-size: 0.75em;
        background-repeat: no-repeat;
        width: 16px;
        height: 16px;
    }

    .form-checkbox:hover {
        background-color: #f1f1f1;
    }

    .form-checkbox:checked {
        background-color: #fff;
    }

input[type=checkbox][disabled] {
    background-color: #f9f9f9;
    color: #ddd;
    cursor: default;
    border: 1px solid #ecedef;
}

    input[type=checkbox][disabled] + label {
        color: #999;
        cursor: default;
    }


/*get fonts*/
@import url(https://fonts.googleapis.com/css?family=Lato:100,100i,300,300i,400,400i,700,700i,900,900);

body {
    font-size: 16px;
    font-family: 'Lato', sans-serif;
    font-weight: 200;
}

/*padding styles throughout site*/
.pad-sm {
    padding: 1em;
}

.pad-lg {
    padding: 2em;
}

.pad-sm-tb {
    padding: 1em 0;
}

.pad-sm-rbl {
    padding: 0 1em 1em 1em;
}

header {
    transition: background 0.5s ease, padding 0.5s ease-in-out;
    position: relative;
    z-index: 10;
    background-image: url(../images/slick-grad-overlay.png);
    background-size: auto 100%;
    background-repeat: repeat-x;
    background-size: auto 100%;
}

    header .container {
    }

    header.clearHeader {
        background-color: rgba(0,0,0,0.01);
        position: fixed;
        width: 100%;
        padding: 80px 0;
        background-position: 0px 0px;
    }

    header.darkHeader {
        background-color: #3d4d5a;
        position: fixed;
        width: 100%;
        padding: 10px 0;
        background-position: 0px -100px;
        top: 0px;
    }

    header .navbar-dark .navbar-toggler.hamburger {
        padding: 10px;
        font-weight: bold;
        font-size: 16px;
        color: #fff;
        z-index: 2;
        position: relative;
        top: 0;
        border: 0;
    }

        header .navbar-dark .navbar-toggler.hamburger .navbar-toggler-icon {
            background-image: url(../images/icon-menu-1.svg);
        }

    header .navbar-right {
        position: absolute;
        right: 0;
    }

    header ul {
        margin: 0;
        padding: 0;
        text-align: right;
        position: relative;
    }

        header ul li {
            display: inline-block;
        }

            header ul li a, header ul li a:hover {
                color: #ffffff;
                text-decoration: none;
                display: inline-block;
                border-radius: 5px;
                padding: 0.5em 1.5em 0.5em 0.5em;
            }

        header ul.navbar-nav > li:hover > a {
            background-color: black;
        }

        header ul li.dropdown a.hoverable {
            background-image: url(../images/icon-arrow-80-down.svg);
            background-position: top 18px right 10px;
            background-repeat: no-repeat;
            background-size: 7px 7px;
        }

    header .logo {
        z-index: 6;
    }

        header .logo img {
            height: 40px;
            top: 0;
        }

    header a {
        color: #fff;
    }

    header ul.selected {
    }

    header ul {
    }

    header *, header *:before, header *:after {
        -moz-box-sizing: border-box;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
    }

/*learnmore*/
.arrow {
    font-weight: 400;
    padding: 10px 15px 10px 40px;
    color: #fff;
    border-radius: 0;
    border: none;
    color: #fff;
    background-image: url(../images/icon-arrow-white.svg);
    background-size: 2em 2em;
    background-repeat: no-repeat;
    background-position: left center;
    display: inline-block;
    margin: 0;
}

.arrowRed {
    color: #ed1c29;
    background-image: url(../images/icon-arrow-red.svg);
    display: inline-block;
}

/*dropdown*/
.dropdown-toggle {
    background-color: transparent;
    border-color: #fff;
    border-style: solid;
    border: 1px solid #fff;
    vertical-align: inherit;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.wrapper {
    height: 2000px;
}

/*share-icons*/
span.share-icons {
    width: 100%;
    border-top: 1px solid #eeeeee;
    display: block;
    text-align: centre;
    margin-top: 2em;
    padding: 1.5em 0 0 0
}

    span.share-icons h3 {
        text-align: center;
        font-size: 1em;
    }

    span.share-icons ul {
        list-style-type: none;
        text-align: center;
        margin: 0;
        padding: 0
    }

        span.share-icons ul li {
            display: inline-block;
        }

            span.share-icons ul li a {
                width: 2em;
                height: 2em;
                border: 2px solid #ed1c29;
                border-radius: 50%;
                height: 2em;
                background-color: #ed1c29;
                display: inline-block;
                background-size: 200% 100%;
                background-position: top left;
                -webkit-transition: all 0.5s ease;
                -moz-transition: all 0.5s ease;
                -o-transition: all 0.5s ease;
                -ms-transition: all 0.5s ease;
                transition: all 0.5s ease;
            }

                span.share-icons ul li a:hover {
                    background-color: #525f6a;
                    border-color: #525f6a;
                    background-position: top right;
                }

                span.share-icons ul li a.fb {
                    background-image: url(../images/social-fb.svg);
                }

                span.share-icons ul li a.twitter {
                    background-image: url(../images/social-twitter.svg);
                }

                span.share-icons ul li a.linkedin {
                    background-image: url(../images/social-linkedin.svg);
                }

                span.share-icons ul li a.mail {
                    background-image: url(../images/social-mail.svg);
                }

            span.share-icons ul li:hover img {
                background-color: blue;
                border: 2px solid blue;
            }
/*searchbox*/
header .searchBox {
}

header .toolbarButtons {
    z-index: 2;
}

header.clearHeader #search .searchBox {
    padding-top: 150px
}

header.darkHeader #search .searchBox {
    padding-top: 80px;
}

header #search .searchBox {
    visibility: hidden;
    padding-top: 80px;
    background-color: rgba(82,95,106,0.99);
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: -1;
    width: 100%;
    position: fixed;
    transition: background 1s ease, padding 0.5s ease-in-out;
}

    header #search .searchBox .form-control {
        color: #ffffff;
        background: none;
        background-image: none;
        border: 1px solid #ffffff;
    }

    header #search .searchBox .searchNav {
        width: 100%;
        background-color: #3d4d5a;
        border: none;
        border-radius: 10px;
        background-image: url(../images/icon-search.svg);
        background-repeat: no-repeat;
        background-position: left 10px center;
        padding-left: 50px;
        font-size: 1.5em;
        color: #fff
    }

header #search.selected .searchBox {
    visibility: visible;
}

header #search.selected .searchBox {
}

header #search a.searchButton {
    padding: 20px 20px;
    border-radius: 5px;
    z-index: 2;
}

header #search a.searchButton {
    background-image: url(../images/icon-search.svg);
    background-size: 50% auto;
    background-position: center center;
    background-repeat: no-repeat;
}

header #search.selected a.searchButton {
    background-image: url(../images/icon-close.svg);
    background-color: #ed1c29;
}

header #search ul.searchSuggest {
    color: #fff;
}

    header #search ul.searchSuggest li {
        text-align: left;
        width: 100%;
        border-bottom: 1px solid #3d4d5a;
        margin: 0;
        padding: 0.5em 0
    }

        header #search ul.searchSuggest li a {
            display: block;
            padding: 1em;
            border: 1px solid rgba(0,0,0,0);
        }

            header #search ul.searchSuggest li a:hover {
                text-decoration: none;
                color: #fff;
                border-radius: 10px;
                background-color: rgba(0,0,0,0.5);
            }

        header #search ul.searchSuggest li h2 {
            font-size: 1.25em;
            color: #fff;
            margin-bottom: 0;
        }

        header #search ul.searchSuggest li p:last-child {
            margin-bottom: 0;
        }


/* crumbtrail */
header .crumbtrail {
    background-color: rgba(255,255,255,1);
    position: absolute;
    width: 100%;
    height: auto;
    font-size: 1em;
    top: 60px;
    padding: 0;
}

    header .crumbtrail ul {
        text-align: left;
        padding: 0.5em 0;
    }

    header .crumbtrail li {
        display: inline;
        padding-right: 1em;
        background-image: url(../images/icon-arrow-36.svg);
        background-position: right 0.3em center;
        background-repeat: no-repeat;
        background-size: 9px 9px;
    }

        header .crumbtrail li:last-child {
            background-image: none;
        }

        header .crumbtrail li a {
            color: #3d4d5a;
            padding: 0;
        }

            header .crumbtrail li a:hover {
                background: none;
                padding: 0;
                color: #ed1c29;
            }

        header .crumbtrail li.current-page {
            color: #ed1c29;
        }

/* Hide crumb trail below 768px */
@media (max-width: 768px) {
    header .crumbtrail {
        display: none;
    }
}


/* menu */
header .navbar {
    text-align: right;
    padding: 0;
    height: 40px;
    position: inherit;
}

header .navbar-nav > li {
    padding: 0em 0.2em;
}

header ul li.dropdown .dropdown-content {
    display: block;
    position: absolute;
    background-color: #f1f1f1;
    min-width: 200px;
    box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
    z-index: 1;
    text-align: left;
    height: auto;
    display: none;
}

header ul li.dropdown .dropbtn {
    background-color: none;
}

header ul li.dropdown .dropdown-content li {
    display: block;
}

    header ul li.dropdown .dropdown-content li a,
    header ul li.dropdown a.dropdown-item {
        color: black;
        display: block;
        text-decoration: none;
        border-radius: 0;
        padding: 0.5em;
    }

header ul div.dropdown a.dropdown-item:hover {
    padding: .25em 1.5em;
}

header ul li .dropdown button {
    cursor: pointer;
}

.feedback {
    border: 1px solid #3d4d5a;
    border-radius: 10px;
}

    .feedback h2 {
        font-size: 1em;
        color: #3d4d5a;
    }

    .feedback p {
        margin-bottom: 0;
    }

@media (min-width: 1200px) {
    header ul li.dropdown {
        margin-bottom: -10px;
    }

    .dropdown .dropdown-content li a:hover {
        background-color: #dfdfdf;
    }


    header ul li.dropdown .dropdown-content {
        display: block;
        visibility: hidden;
        top: 50px;
        opacity: 0.0;
        transition: visibility 0s, opacity 0.3s ease;
    }

    header ul li.dropdown:hover .dropdown-content {
        visibility: visible;
        opacity: 1;
    }

    header ul li.dropdown .dropdown-content li a {
        padding: 0.05em 0.5em;
        transition: padding 0.3s ease;
    }

    header ul li.dropdown:hover .dropdown-content li a {
        padding: 0.5em 0.5em;
        transition: padding 0.3s ease;
    }

    .dropdown .dropdown-content li.menu-selected a {
        color: #ed1c29;
    }
}

/* For when there's no image, this DIV adds space to puch the content out from behind the nav bar */
.navBuffer {
    height: 100px;
}

/* Dropped-down state */
header .navbar-collapse.collapsing {
    top: 50px;
    left: 0px;
    position: absolute;
    background-color: #3d4d5a;
    width: 100%;
    max-height: 100vh;
    overflow-y: hidden;
}

header .navbar-collapse.collapse.show {
    width: 100%;
    height: auto;
    top: 50px;
    left: 0px;
    position: absolute;
    background-color: #3d4d5a;
    max-height: calc(100vh - 50px);
    overflow-y: scroll;
}

header .navbar-collapse.collapsing ul {
    text-align: left;
}

header .navbar-collapse.collapse.show ul {
    height: auto;
    left: 0px;
    text-align: left;
}

    header .navbar-collapse.collapse.show ul li.dropdown .dropdown-content li.menu-selected {
        background-color: #ed1c29;
    }

        header .navbar-collapse.collapse.show ul li.dropdown .dropdown-content li.menu-selected a {
            color: white;
        }

header .navbar-collapse.collapsing > ul > li:last-child,
header .navbar-collapse.collapse.show > ul > li:last-child {
    padding: 7px 15px 15px 15px;
}

header .navbar-collapse.collapsing > ul > li a,
header .navbar-collapse.collapse.show > ul > li a {
    display: block;
    padding: 7px 15px 7px 15px;
    background-image: none;
}

header .navbar-collapse.collapse.show ul li.dropdown a.hoverable span,
header .navbar-collapse.collapse.collapsing ul li.dropdown a.hoverable span {
}

header .navbar-collapse.collapse.show ul li.dropdown .dropdown-content {
    display: block;
    width: 100%;
    left: 0%;
    position: relative;
    overflow: hidden;
    opacity: 0.0;
    transition: opacity 0.3s ease;
    top: 0px;
}

    header .navbar-collapse.collapse.show ul li.dropdown .dropdown-content.openWithClick {
        opacity: 1.0;
    }

    header .navbar-collapse.collapse.show ul li.dropdown .dropdown-content a:hover {
        background-color: #dfdfdf;
        display: block;
    }


    header .navbar-collapse.collapse.show ul li.dropdown .dropdown-content li {
        transition: max-height 0.3s ease;
        max-height: 0px;
        position: relative;
    }

        header .navbar-collapse.collapse.show ul li.dropdown .dropdown-content li a {
            transition: padding-left 0.4s ease, opacity 0.4s ease;
            padding-left: 50px;
            display: inline-block;
            opacity: 0;
        }

    header .navbar-collapse.collapse.show ul li.dropdown .dropdown-content.openWithClick li {
        max-height: 70px;
    }

        header .navbar-collapse.collapse.show ul li.dropdown .dropdown-content.openWithClick li a {
            padding-left: 35px;
            opacity: 1.0;
        }

/*SLICK SLIDER */
.slick-slider {
    position: relative;
    display: block;
    box-sizing: border-box;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-touch-callout: none;
    -khtml-user-select: none;
    -ms-touch-action: pan-y;
    touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
}

.slick-list {
    position: relative;
    display: block;
    overflow: hidden;
    margin: 0;
    padding: 0;
}

    .slick-list:focus {
        outline: none;
    }

    .slick-list.dragging {
        cursor: pointer;
        cursor: hand;
    }

.slick-slider .slick-track, .slick-slider .slick-list {
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    -o-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
}

.slick-track {
    position: relative;
    top: 0;
    left: 0;
    display: block;
}

    .slick-track:before, .slick-track:after {
        display: table;
        content: '';
    }

    .slick-track:after {
        clear: both;
    }

.slick-loading .slick-track {
    visibility: hidden;
}

.slick-slide {
    display: none;
    float: left;
    height: 100%;
    min-height: 1px;
}

[dir='rtl'] .slick-slide {
    float: right;
}

.slick-slide img {
    display: block;
}

.slick-slide.slick-loading img {
    display: none;
}

.slick-slide.dragging img {
    pointer-events: none;
}

.slick-initialized .slick-slide {
    display: block;
}

.slick-loading .slick-slide {
    visibility: hidden;
}

.slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
    display: none;
}

.slick-prev, .slick-next {
    position: absolute;
    display: block;
    width: 60px;
    height: 100px;
    cursor: pointer;
    background: transparent;
    top: 50%;
    margin-top: -45px;
    font-size: 0;
    border: none;
    z-index: 2;
}

    .slick-prev:before, .slick-next:before, .slick-prev:after, .slick-next:after {
        content: '';
        position: absolute;
        background: #fff;
        height: 2px;
        width: 50px;
        top: 50%;
        left: 5px;
        -webkit-transition: all 0.2s ease-in-out;
        transition: all 0.2s ease-in-out;
    }

    .slick-prev:before, .slick-next:before {
        margin-top: -22px;
    }

    .slick-prev:after, .slick-next:after {
        margin-top: 22px;
        margin-top: 2.2rem;
    }

    .slick-prev:hover:before, .slick-next:hover:before {
        margin-top: -18px;
        margin-top: -1.8rem;
    }

    .slick-prev:hover:after, .slick-next:hover:after {
        margin-top: 18px;
        margin-top: 1.8rem;
    }

.slick-prev {
    left: -7px;
    left: -0.7rem;
}

    .slick-prev:before {
        -webkit-transform: rotate(-60deg);
        -ms-transform: rotate(-60deg);
        transform: rotate(-60deg);
    }

    .slick-prev:after {
        -webkit-transform: rotate(60deg);
        -ms-transform: rotate(60deg);
        transform: rotate(60deg);
    }

    .slick-prev:hover:before {
        -webkit-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
        transform: rotate(-45deg);
    }

    .slick-prev:hover:after {
        -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        transform: rotate(45deg);
    }

.slick-next {
    right: -7px;
    right: -0.7rem;
}

    .slick-next:before {
        -webkit-transform: rotate(60deg);
        -ms-transform: rotate(60deg);
        transform: rotate(60deg);
    }

    .slick-next:after {
        -webkit-transform: rotate(-60deg);
        -ms-transform: rotate(-60deg);
        transform: rotate(-60deg);
    }

    .slick-next:hover:before {
        -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        transform: rotate(45deg);
    }

    .slick-next:hover:after {
        -webkit-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
        transform: rotate(-45deg);
    }

.ct-slick-arrows--type2 .slick-prev, .ct-slick-arrows--type2 .slick-next {
    opacity: 0.85;
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=85);
    -webkit-transition: all 250ms ease-in-out;
    transition: all 250ms ease-in-out;
}

    .ct-slick-arrows--type2 .slick-prev:before, .ct-slick-arrows--type2 .slick-next:before, .ct-slick-arrows--type2 .slick-prev:after, .ct-slick-arrows--type2 .slick-next:after {
        background-color: #fff;
        height: 15px;
        height: 1.5rem;
        width: 70px;
        width: 7rem;
    }

    .ct-slick-arrows--type2 .slick-prev:before, .ct-slick-arrows--type2 .slick-next:before {
        margin-top: -20px;
        margin-top: -2rem;
    }

    .ct-slick-arrows--type2 .slick-prev:after, .ct-slick-arrows--type2 .slick-next:after {
        margin-top: 20px;
        margin-top: 2rem;
    }

    .ct-slick-arrows--type2 .slick-prev:hover:before, .ct-slick-arrows--type2 .slick-next:hover:before {
        margin-top: -20px;
        margin-top: -2rem;
    }

    .ct-slick-arrows--type2 .slick-prev:hover:after, .ct-slick-arrows--type2 .slick-next:hover:after {
        margin-top: 20px;
        margin-top: 2rem;
    }

    .ct-slick-arrows--type2 .slick-prev:hover:active, .ct-slick-arrows--type2 .slick-next:hover:active {
        opacity: 1;
        filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    }

.ct-slick-arrows--type2 .slick-prev {
    left: 10px;
    left: 1rem;
}

    .ct-slick-arrows--type2 .slick-prev:before {
        -webkit-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
        transform: rotate(-45deg);
    }

    .ct-slick-arrows--type2 .slick-prev:after {
        -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        transform: rotate(45deg);
    }

    .ct-slick-arrows--type2 .slick-prev:hover:before {
        margin-top: -27px;
        margin-top: -2.7rem;
        -webkit-transform: rotate(-60deg);
        -ms-transform: rotate(-60deg);
        transform: rotate(-60deg);
    }

    .ct-slick-arrows--type2 .slick-prev:hover:after {
        margin-top: 27px;
        margin-top: 2.7rem;
        -webkit-transform: rotate(60deg);
        -ms-transform: rotate(60deg);
        transform: rotate(60deg);
    }

.ct-slick-arrows--type2 .slick-next {
    right: 10px;
    right: 1rem;
}

    .ct-slick-arrows--type2 .slick-next:before, .ct-slick-arrows--type2 .slick-next:after {
        left: auto;
        right: 0;
    }

    .ct-slick-arrows--type2 .slick-next:before {
        -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        transform: rotate(45deg);
    }

    .ct-slick-arrows--type2 .slick-next:after {
        -webkit-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
        transform: rotate(-45deg);
    }

    .ct-slick-arrows--type2 .slick-next:hover:before {
        margin-top: -27px;
        margin-top: -2.7rem;
        -webkit-transform: rotate(60deg);
        -ms-transform: rotate(60deg);
        transform: rotate(60deg);
    }

    .ct-slick-arrows--type2 .slick-next:hover:after {
        margin-top: 27px;
        margin-top: 2.7rem;
        -webkit-transform: rotate(-60deg);
        -ms-transform: rotate(-60deg);
        transform: rotate(-60deg);
    }

#home.ct-header.ct-header--slider {
    background-size: cover;
}

.ct-header .ct-slick {
    margin-bottom: 0;
}

.slick-initialized .slick-slide {
    display: block;
}

.ct-u-display-tablex {
    display: table;
    width: 100%;
}

    .ct-u-display-tablex > .inner {
        display: table-cell;
        width: 100%;
        vertical-align: middle;
    }

* {
    outline: none !important;
}

.btn:hover, .btn:focus, .btn:active {
    color: #fff;
}

.btn-transparent {
    background-color: transparent;
    border: 3px solid #fff;
}

.ct-slick .slick-track, .ct-slick .slick-list, .ct-slick .item, .ct-slick .slick-item {
    min-height: inherit;
}

.ct-slick .item {
    background-size: cover;
}

.slick-list, .ct-u-display-tablex > .inner, .ct-u-display-tablex {
    height: 60vh;
}

/*CUSTOM*/
.ct-header.tablex.item {
    background-size: cover;
    background-position: center center;
}

.ct-header h1 {
    line-height: 1;
    color: #fff;
    font-weight: 400;
    text-transform: none;
    font-size: 3em;
    padding-bottom: 0;
}

.ct-header p {
    line-height: 1.1;
    margin: 10px 0 20px 0;
    color: #fff;
    text-align: left;
    font-size: 1em
}

.ct-header a {
}

ul.slick-dots {
    position: absolute;
    bottom: 0;
    width: 100%;
    text-align: center;
}

    ul.slick-dots li {
        display: inline-block;
        border: 1px solid #fff;
        margin: 10px 5px 10px 3px;
        border-radius: 40px
    }

        ul.slick-dots li.slick-active {
            border: 1px solid #fff;
            background-color: #ed1c29;
        }

        ul.slick-dots li button {
            font-size: 0;
            line-height: 0;
            display: block;
            width: 15px;
            height: 15px;
            padding: 5px;
            cursor: pointer;
            color: transparent;
            border: 0;
            outline: none;
            background: transparent;
        }

.slider-inner {
    background-color: rgba(237,28,41,0.9);
    padding: 2em;
    border-radius: 10px;
    margin: 1em;
}

hr {
    border: none;
    border-bottom: 10px solid #eeeeee;
    margin: 0;
    padding: 0;
    outline: none;
}

a.linkOverlay {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    transition: background 1s ease, padding 0.5s ease-in-out;
}

    a.linkOverlay:hover {
        border: 5px solid rgba(0,0,0,0.1);
    }

ul.iconSet1 {
    width: 100%;
    text-align: center;
    margin-bottom: 0;
    margin-left: 0;
    padding-left: 0;
}

    ul.iconSet1 li {
        display: inline-block;
    }

ul.iconSet2 {
    width: 100%;
    text-align: center;
    margin-bottom: 0;
    margin-left: 0;
    padding-left: 0;
}

    ul.iconSet2 li {
        float: left;
        margin: 0;
        padding: 1em;
        list-style-type: none;
    }

        ul.iconSet2 li h3 {
            font-size: 1.2em;
            margin-top: 0.5em;
        }
/*ul.iconSet1 li:nth-child(odd) { background:#3d4d5a;border: 2px solid #3d4d5a;outline-style: solid;}
.icon img{width:7em;height:7em;margin:-4px 0 0 -4px}
ul.iconSet1 li:nth-child(odd) .icon { background:#3d4d5a;border-color: #3d4d5a;}*/

/*.icon img{width:7em;height:7em;margin:-4px 0 0 -4px}
.icon {display:inline-block;width:7em;height:7em;border-radius:18px;background-color:#ed1c29; border: 4px solid #ed1c29;  margin: 15px;overflow:hidden;}
li .icon {margin:-2px; }*/

/*style alternating icons in statsblock*/
.statsBlock h3 {
    margin-bottom: 0;
    margin-top: 0.25em;
    font-size: 1.2em;
}

.statsBlock .row.stats .icon-alternate-item:nth-child(even) h3 {
    color: #3d4d5a;
}

/*style alternating icons in aboutus-list*/
.aboutus-list h3 {
    margin-bottom: 0;
}

/*contact bar*/
.redFill {
    background-color: #ed1c29;
    color: #fff;
}

    .redFill .btn {
        border: 1px solid #ffffff;
    }

/*lightest grey fill for article download button and other places*/
.vvlgreyFill {
    background-color: #f8f9fa;
}

/*very light grey fill for article download button and other places*/
.vlgreyFill {
    background-color: #ecedef;
}

/*light grey fill for social media bar*/
.lgreyFill {
    background-color: #525f6a;
    color: #fff;
}

/*light grey gradient fill*/
.lgreyGrad {
    background-image: url(../images/grad-grey.gif);
    background-repeat: repeat-x;
    background-size: 10px 100%
}

/*grey fill for social media bar*/
.greyFill {
    background-color: #3d4d5a;
    color: #fff;
}

    .greyFill h2 {
        color: #fff;
    }

    .greyFill a {
        color: #fff;
    }

        .greyFill a:hover {
            text-decoration: none
        }

/*rounded buttons*/
a.rounded {
    padding: 5px 7px;
    border: 2px solid #fff;
    font-weight: 500;
    cursor: pointer;
    display: inline-block;
}

    a.rounded:hover {
        background-color: rgba(255,255,255,0.2);
    }

.redFill a.rounded {
    margin-top: 10px;
}

/*Timeline styling*/
.timeline-x {
    background-image: url(../images/dot-gap.svg);
    background-repeat: repeat-x;
    background-position: 0 95px;
    background-color: rgba(0,0,0,0.03);
}

    .timeline-x span {
        display: block;
    }

    .timeline-x .timeline-content {
        padding-top: 5em; /*border-top:4px solid #dfe0e0;*/
        position: relative;
    }

    .timeline-x h3 {
        color: #ed1c29;
        font-size: 1.5em;
        padding: 30px;
        position: absolute;
        background-image: url(../images/rounded-box.svg);
        background-size: auto 100%;
        background-repeat: no-repeat;
        background-position: center center;
        top: -40px;
        left: 0;
        right: 0;
        -webkit-transition: all 0.5s ease;
        -moz-transition: all 0.5s ease;
        -o-transition: all 0.5s ease;
        -ms-transition: all 0.5s ease;
        transition: all 0.5s ease;
    }

    .timeline-x .info {
        background-color: #fff;
        border: 2px solid #ffffff;
    }

    .timeline-x .slick-list, .timeline-x .ct-u-display-tablex > .inner, .timeline-x .ct-u-display-tablex {
        height: auto;
    }

    .timeline-x .slick-current .info {
        border: 2px solid #eeeeee;
        -webkit-transition: all 0.5s ease;
        -moz-transition: all 0.5s ease;
        -o-transition: all 0.5s ease;
        -ms-transition: all 0.5s ease;
        transition: all 0.5s ease;
    }

    .timeline-x .slick-current h3 {
        padding: 35px;
        top: -45px;
        background-image: url(../images/rounded-box-red.svg);
        color: #fff;
    }

    .timeline-x .timeline-icon {
        width: 100%;
        height: 0;
        padding-bottom: 50%;
        background-size: auto 50%;
        background-position: center center;
        background-repeat: no-repeat;
        -webkit-transition: all 0.5s ease;
        -moz-transition: all 0.5s ease;
        -o-transition: all 0.5s ease;
        -ms-transition: all 0.5s ease;
        transition: all 0.5s ease;
    }

    .timeline-x .slick-current .timeline-icon {
        background-size: auto 100%;
    }

    .timeline-x .slick-prev, .timeline-x .slick-next {
        background-size: auto 100%;
        background-position: center center;
        background-repeat: no-repeat;
    }

    .timeline-x .slick-prev {
        background-image: url(../images/arrow-big-left.svg);
        left: 10px
    }

    .timeline-x .slick-next {
        background-image: url(../images/arrow-big-right.svg);
        right: 10px
    }

        .timeline-x .slick-prev:before, .timeline-x .slick-prev:after, .timeline-x .slick-next:before, .timeline-x .slick-next:after {
            display: none;
        }

    .timeline-x .slick-slide {
        height: auto
    }

/*social media links*/
ul.social {
    margin: 0;
    padding: 0;
}

    ul.social li {
        display: inline-block;
        margin: 0.5em;
    }

        ul.social li img {
            width: 2em;
            height: 2em;
        }

/*footer*/
footer a, footer a:hover {
    color: #fff;
}

/*header image for sub pages*/
.headerImage {
    background-color: lightgray;
    min-height: 60%;
    min-height: 60vh;
    width: 100%;
    background-size: cover;
    background-position: center center;
    margin-top: 100px;
    position: relative;
}

@media (max-width: 768px) {
    .headerImage {
        /*
        min-height:40%;
        min-height:40vh;*/
        margin-top: 60px;
        min-height: 320px;
    }
}

.headerImage .textOverlay.off {
    display: none;
}

.headerImage .textOverlay {
    background-color: rgba(0,0,0,0.5);
    width: 100%;
    display: flex;
    align-items: center;
    text-align: center;
    color: white;
    position: absolute;
    top: 0px;
    bottom: 0px;
}

    .headerImage .textOverlay h1 {
        color: white;
    }

    .headerImage .textOverlay .rounded {
        display: inline-block;
        margin-bottom: 4px;
    }

    .headerImage.textOverlay .container {
        display: block;
    }

    .headerImage .textOverlay.off {
        display: none;
    }

/* misc */
.no-margin {
    margin: 0;
}

/* Icon and alternating colours */
/* Apply .icon to the icon's span, icon-alternate-item to the parent row, and icon-alternate to the container */
.icon {
    border-radius: 18px;
    border-width: 4px;
    border-color: #ed1c29;
    border-style: solid;
    display: inline-block;
    background-color: #ed1c29;
}

.icon-alternate .icon-alternate-item:nth-child(even) .icon {
    border-color: #3d4d5a;
}

    .icon-alternate .icon-alternate-item:nth-child(even) .icon.filled,
    .icon-alternate .icon-alternate-item:nth-child(even) .icon.hollow {
        background-color: #3d4d5a;
    }

.icon-alternate-inv .icon-alternate-item:nth-child(odd) .icon {
    border-color: #3d4d5a;
}

    .icon-alternate-inv .icon-alternate-item:nth-child(odd) .icon.filled,
    .icon-alternate-inv .icon-alternate-item:nth-child(odd) .icon.hollow {
        background-color: #3d4d5a;
    }

.icon img {
    width: 6em;
    height: 6em;
    margin-top: 1px; /* Image seems to have an offset */
    margin-left: 1px;
}

.icon.filled {
    background-color: #ed1c29;
    padding: 1em; /* The border around the image */
}

.icon.hollow img {
    width: 6.5em;
    height: 6.5em;
    border-radius: 13px;
    border-width: 0;
    border-color: white;
    border-style: solid;
    margin: 0px;
}

/* PAGINATION */
.pagination-outer {
    background-color: #eee;
    margin: 0;
    padding: 0;
}

.pagination .page-item .page-link {
    color: #ed1c29;
    font-size: 0.8em;
    font-weight: bold;
    background-color: transparent;
    border-color: #dddddd;
    padding: 0.5em 0.8em
}

.pagination .page-item.disabled .page-link {
    color: #969897;
}

.pagination .page-item:first-child .page-link {
    border-top-left-radius: 8px;
    border-bottom-left-radius: 8px;
}

.pagination .page-item:last-child .page-link {
    border-top-right-radius: 8px;
    border-bottom-right-radius: 8px;
}


.pagination .page-item.active a {
    background-color: #ed1c29;
    border-color: #ed1c29;
    color: #fff;
}

/* HOMEPAGE */
/* icons */
.homepage-icons h3 {
    font-size: 1em;
    margin-top: 0.5em;
}

.homepage-icons li {
    vertical-align: top;
    text-align: center;
    margin: 1em;
    padding: 0px;
    margin-bottom: 1em;
    min-width: 6em;
}

.homepage-icons .icon.hollow img {
    width: 5em;
    height: 5em;
    border-radius: 13px;
    border-width: 0;
    border-color: white;
    border-style: solid;
    margin: 0px;
}


/* ARTICLE LIST for ABOUT US and BLOG */
.article-list .outer {
    background-color: #fff;
    border-top: 10px #eee solid;
    padding: 1em;
}

    .article-list .outer:first-child {
        border-top: 0;
    }

    .article-list .outer:nth-child(odd) {
        background-color: rgba(0,0,0,0.03);
    }

.outer.dark {
    background-color: rgba(0,0,0,0.03);
}

.outer.light {
    background-color: #ffffff;
}

/* BLOG PAGE */
.article-list h3 {
    margin: 0
}

.article-list .date {
    color: #ed1c29;
    font-weight: bold;
    padding: 0;
    margin: 0.5em 0;
    display: inline-block;
}

a.card-link {
    background-color: none;
    display: block;
    -webkit-transition: all 0.25s ease;
    -moz-transition: all 0.25s ease;
    -o-transition: all 0.25s ease;
    -ms-transition: all 0.25s ease;
    transition: all 0.25s ease;
}

    a.card-link:hover {
        background-color: #eeeeee;
        display: block;
    }

    a.card-link p.description {
        text-decoration: none !important;
        color: #212529;
        display: block;
        display: inline-block;
    }

/* EVENT LIST ITEMS */
.event-list .articles .item .title-area {
    padding-left: 1.7em;
    background-image: url(../images/icon-calendar-4.svg);
    background-size: 1.1em 1.1em;
    background-repeat: no-repeat;
    background-position: 0.1em 0.7em;
    padding-top: 0.5em;
}

.event-list .articles .item h3 {
    padding-top: 0;
    margin-bottom: 0;
    font-size: 1.4em;
}

.event-list .articles .item .date {
}

.event-list .articles .item {
    background-color: #ffffff;
}

    .event-list .articles .item:nth-child(odd) {
        background-color: #f8f8f8;
    }

/* BLOG ARTICLE */
.blog-article h1 {
    margin-bottom: 0;
}

.blog-article .date {
    padding: 8px 0px;
}

    .blog-article .date a {
        padding: 8px 4px;
        font-weight: bold;
    }

.btn-download {
    border-radius: 6px;
    border: 2px solid #dddddd;
    background-color: #fff;
    font-weight: bold;
    background-image: url(../images/pdf.svg);
    background-size: 1.4em;
    background-repeat: no-repeat;
    background-position: 0.5em center;
    padding-left: 2.4em;
}

    .btn-download:hover {
        color: #ed1c29;
        background-color: #f0f0f0;
    }

.btn-download:active {
    color: #ed1c29;
}

    .btn-download:focus {
        color: #ed1c29;
    }

/* Video player */
div.masthead {
    position: relative;
    background-color: #222;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
    background-attachment: scroll;
    overflow: hidden;
    height: 56.25vw;
    margin-top: 30px;
}

    div.masthead .video-container iframe {
        width: 100vw;
        height: 56.25vw;
        position: absolute;
        top: 0;
        left: 0;
    }

    div.masthead .video-container {
        position: absolute;
        top: 0px;
        left: 0;
        width: 100%;
        height: 56.25vw;
        z-index: 0;
        overflow: hidden;
    }

@media (max-width: 768px) {
    div.masthead {
        margin-top: 60px;
    }
}

/* Search page */
.searchInfo input[type="text"] {
    width: 50%;
    max-width: 320px;
    margin-bottom: 1em;
}

.searchInfo a.searchButton {
    background-image: url(../images/icon-magnifier-1.svg);
    background-repeat: no-repeat;
    background-position: center;
    width: 1.5em;
    height: 1.5em;
    display: inline-block;
    vertical-align: middle;
    margin-left: 10px;
}

.searchInfo .resultInfo {
    font-size: 1.7em;
    margin-bottom: 0;
}

.search-result-list .arrow {
    font-weight: 400;
    padding: 2px 15px 2px 30px;
    border-radius: 0;
    border: none;
    background-size: auto 75%;
    background-repeat: no-repeat;
    background-position: left center;
    display: block;
}

.search-result-list .description {
    margin-bottom: 0px;
}

.search-result-list h4.name {
    margin-bottom: 5px;
}

/* Contact us */
.grey-container-outer {
    background-color: #eee;
    margin: 0;
    padding: 0;
}

.country-select select {
    width: 100%;
}

.country-form input[type="text"],
.country-form select {
    width: 100%;
}

.country-form textarea {
    width: 100%;
    height: 10em
}

.logo.navbar-brand {
}

/* 404 page */
/* Add pnf-mode to body to hide parts of the page for Page Not Found */

.pnf-mode .headerImage,
.pnf-mode .navbar-brand,
.pnf-mode .crumbtrail {
    display: none;
}

.pnf-logo {
    display: block;
    margin-bottom: 30px;
}

    .pnf-logo img {
        width: 150px;
        height: auto;
    }

.mode-content {
    padding: 120px 0px;
    min-height: 60%;
    min-height: 60vh;
}


@media (max-width: 768px) {
    .searchInfo input[type="text"] {
        width: 80%;
    }

    .mode-content {
        padding: 60px 0px;
        min-height: 60%;
        min-height: 60vh;
    }
}

/* Maintenance mode */
/* Add maintenance-mode to body to hide parts of the page for Maintenance mode */
.maintenance-mode .headerImage,
.maintenance-mode .darkHeader,
.maintenance-mode footer {
    display: none;
}

.maintenance-mode .mode-content .container {
    border: 1px solid #ddd;
    padding: 50px;
}


/* Innovation centre */
.pullquote .quote {
    padding-top: 2em;
    font-size: 1.4em;
    font-weight: bold;
    background-image: url(../images/icon-quote-1.svg);
    background-repeat: no-repeat;
    background-position: top left;
    background-size: 2em;
    color: #525f6a;
    margin-bottom: 1em;
}

.pullquote .attribution {
    color: #525f6a;
    font-weight: bold;
    padding: 0;
    margin: 0;
}

/* Cookie message */
.cookieMessage {
    background-color: #525f6a;
    color: #fff;
    font-size: 0.8em;
    position: fixed;
    bottom: 0px;
    width: 100%;
    z-index: 3;
}

    .cookieMessage .btn-primary {
        background-color: #ed1c29;
        border-color: #ed1c29;
        margin-right: 10px;
        margin-bottom: 10px;
    }

    .cookieMessage .links {
        line-height: 24px;
    }

        .cookieMessage .links a.moreLink {
            color: #fff;
            border-color: #fff;
            margin-bottom: 10px;
        }

    .cookieMessage .title {
        font-weight: bold;
        font-size: 1.2em;
    }

@media (max-width: 1199px) {
    header #search {
        top: 0px;
        right: 50px;
        /* border: 1px solid red; */
        position: absolute;
    }

    header ul li.dropdown:first-child {
        padding-top: 1em
    }

    header ul li.dropdown a.hoverable span {
        background-image: url(../images/icon-arrow-80-down.svg);
        background-position: center right;
        background-repeat: no-repeat;
        background-size: 7px 7px;
        padding-right: 20px;
        display: inline-block;
        width: 100%;
    }

    span.share-icons ul li a {
        width: 3em;
        height: 3em;
    }

    .pullquote .quote {
        font-size: 1em;
    }

    .greyFill ul.social li {
        width: 100%;
    }
    /* For when there's no image, this DIV adds space to puch the content out from behind the nav bar */
    .navBuffer {
        height: 85px;
    }
    /*for mobile search suggestions*/
    header #search ul.searchSuggest {
        color: #fff;
        overflow-y: scroll;
        height: calc(100vh - 120px);
    }

    header .container {
        max-width: 100%;
    }
}

@media (max-width: 768px) {
    .maintenance-mode .mode-content .container {
        padding: 10px;
        height: 100%;
        border: 0;
    }

    .navBuffer {
        height: 55px;
    }
}

/* top-level menu items without sub menu items */
.mobile-allow-click > a {
    padding-right: 0.5em !important;
}