/*
* Colours
*
* Blue: #012957
* Blue Alt: #4F47B7
* Light Blue: #CED2EC
* Yellow: #E2C542
* Grey: #D6D5D7
* 
* New Blue: #012957
* New Aqua: #0661D1
* New Yellow: #E2C542
* 
*/


body { background-color: #FFF; color: #012957; font-size: 18px; font-family: 'Titillium Web', sans-serif; }

.screen-reader-text { display: none; }

.btn { background-color: #012957; border: none; color: #FFF; cursor: pointer; display: inline-block; font-size: 1em; font-weight: 400; padding: 7px 20px; text-decoration: none; transition: all 0.2s linear; -moz-transition: all 0.2s linear; -ms-transition: all 0.2s linear; -o-transition: all 0.2s linear; -webkit-transition: all 0.2s linear; }
.btn .fas { font-size: 0.8em; margin-left: 5px; position: relative; top: -1px; }

.btn.white { background-color: #FFF; border: none; color: #012957; }
.btn.yellow { background-color: #E2C542; border: none; color: #012957; }
.btn.clear { background-color: transparent; border: 1px solid #012957; color: #012957; }
.btn.aqua { background-color: #0661D1; border: none; color: #FFF; }

.btn:hover, .btn:focus { background-color: #4F47B7; color: #FFF; text-decoration: none; }

.btn.white:hover, .btn.white:focus, .btn.clear:hover, .btn.clear:focus { background-color: #4F47B7; }

.btn.disabled { opacity: 0.7; pointer-events: none; }

h1, h2, h3, h4, h5, h6 { color: #012957; line-height: 1.35em; margin: 0 0 30px; font-weight: 700; }

h1 .line, h2 .line, h3 .line, h4 .line, h5 .line, h6 .line { display: block; line-height: 5px; height: auto; width: 100%; }
h1 .line:after, h2 .line:after, h3 .line:after, h4 .line:after, h5 .line:after, h6 .line:after { background-color: #0661D1; border-radius: 2px; content: ''; display: inline-block; height: 5px; line-height: 5px; margin: 20px 0 0; width: 50px; vertical-align: top; }

h1 { font-size: 3.75em; }
h1 .line:after { background-color: #0661D1; line-height: 1.05em; margin: 20px 0 0; width: 85px; }
h2 { font-size: 2.265em; }
h2 .line:after { background-color: #0661D1; margin: 20px 0 0; width: 85px; }
h3 { font-size: 2em; }
h3 .line:after { background-color: #0661D1; margin: 15px 0 0; width: 45px; }
h4 { font-size: 1.375em; }
h4 .line:after { background-color: #0661D1; margin: 15px 0 0; width: 45px; }
h5 { font-size: 1.1875em; }
h5 .line:after { background-color: #0661D1; margin: 15px 0 0; width: 45px; }
h6 { font-size: 1.125em; }
h6 .line:after { background-color: #0661D1; margin: 15px 0 0; width: 45px; }

.post-template h1, .standard-template h1, .resource-template h1 { font-size: 2em; }

p { margin: 0 0 30px; letter-spacing: 0.5px; line-height: 1.75em; }

.white-row, .light-blue-row, .dark-blue-row, .grey-row { padding: 60px 0 30px; }
.white-row.slim-padding, .light-blue-row.slim-padding, .dark-blue-row.slim-padding, .grey-row.slim-padding { padding: 30px 0 0; }
.white-row { background-color: #FFF; }
.light-blue-row { background-color: #CED2EC; }
.dark-blue-row { background-color: #012957; color: #FFF; }
.grey-row { background-color: #E5E7F5; }

.no-padding-row { padding: 0; }

.dark-blue-row h1,
.dark-blue-row h2,
.dark-blue-row h3,
.dark-blue-row h4,
.dark-blue-row h5,
.dark-blue-row h6 { color: #FFF; }

/* ############################ */
/* ########## Header ########## */
/* ############################ */

/* Text meant only for screen readers. */
.screen-reader-text:not(.show-this) { clip: rect(1px, 1px, 1px, 1px); height: 1px; overflow: hidden; position: absolute !important; width: 1px; word-wrap: normal !important; }
.screen-reader-text:not(.show-this):focus { background-color: #f1f1f1; -webkit-border-radius: 3px; border-radius: 3px; -webkit-box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6); box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6); clip: auto !important; color: #21759b; display: block; font-size: 14px; font-size: 0.875rem; font-weight: 700; height: auto; left: 5px; line-height: normal; padding: 15px 23px 14px; text-decoration: none; top: 5px; width: auto; z-index: 100000; }

header.site-header { background-color: #FFF; border-top: 10px solid #012957; padding: 0; width: 100%; z-index: 105; }

header.site-header .custom-logo-link { padding: 0; text-align: center; }
header.site-header .custom-logo-link img { height: 55px; width: auto; }

.header-top { padding: 10px 0; position: relative; }

.header-top .search-form-row { align-items: center; bottom: 0; display: flex; left: 0; opacity: 0; pointer-events: none; position: absolute; right: 0; top: 0; transition: opacity 0.2s linear; -webkit-transition: opacity 0.2s linear; z-index: 2; }

.header-top .header-top-inner { align-items: center; display: flex; }

.header-top .social-media-links { display: none; flex: 1; justify-content: left; list-style: none; margin: 0 10px 0 0; padding: 0; }
.header-top .social-media-links li { display: inline-block; list-style: none; margin: 0 5px; padding: 0; }
.header-top .social-media-links li a { background-color: #012957; color: #FFF; display: block; height: 40px; line-height: 40px; text-align: center; width: 40px; }

.header-top .main-logo { flex: 1; float: none; text-align: center; }

.header-top .special-links { display: none; flex: 1; justify-content: right; }
.header-top .top-link { display: block; margin: 0 5px; }
.header-top .top-link.search-button { align-items: center; color: #012957; cursor: pointer; display: flex; font-size: 1.4em; }
.header-top .top-link a { font-size: 0.875em; font-weight: 600; }

.header-top.searching .search-form-row { opacity: 1; pointer-events: all; }

@media screen and (min-width: 768px) {
    header.site-header { padding: 0; }
    header.site-header .custom-logo-link img { height: auto; width: auto; }
    .header-top { padding: 35px; }
    .header-top .social-media-links { display: flex; }
    .header-top .special-links { display: flex; }
}

@media screen and (min-width: 992px) {
}

/* ################################ */
/* ########## Navigation ########## */
/* ################################ */
.site-header { border: none; bottom: initial; font-display: swap; font-size: 1em; position: relative; top: 0; z-index: 1; }

.header-menu { background-color: #012957; }

.main-navigation { display: none; width: auto; }
.main-navigation ul { list-style: none; margin: 0; padding: 0; width: auto; }
.main-navigation ul:after { clear: both; content: ''; display: table; }
.main-navigation li { display: block; float: left; padding: 0; position: relative; }
.main-navigation a { display: block; font-weight: 400; margin: 0; padding: 0; position: relative; text-decoration: none; }
.main-navigation a:hover { text-decoration: none; }

/*.main-navigation ul ul { left: -999em; position: absolute; top: 100%; z-index: 99999; }*/

/* Top Menu */
.main-navigation ul#top-menu { display: flex; justify-content: center; }
.main-navigation ul#top-menu > li { padding: 10px; }
.main-navigation ul#top-menu > li > a { background-color: transparent; color: #FFF; font-size: 0.75em; line-height: 2em; height: auto; z-index: 10; }
.main-navigation ul#top-menu > li > a:before { background-color: #E2C542; border: none; bottom: 0; content: ''; display: block; height: 3px; left: 0; position: absolute; transition: width 0.2s linear; -moz-transition: width 0.2s linear; -ms-transition: width 0.2s linear; -o-transition: width 0.2s linear; -webkit-transition: width 0.2s linear; width: 0; }
.main-navigation ul#top-menu > li:hover > a, .main-navigation ul#top-menu > li.current_page_item > a, .main-navigation ul#top-menu > li.current-page-ancestor > a { background-color: transparent; color: #FFF; }
.main-navigation ul#top-menu > li:hover > a:before, .main-navigation ul#top-menu > li.current_page_item > a:before, .main-navigation ul#top-menu > li.current-page-ancestor > a:before  { width: 100%; }

.main-navigation ul#top-menu > li:after { display: none!important; }

/* First Dropdown */
.main-navigation ul#top-menu ul { opacity: 0; pointer-events: none; left: 100%; padding: 10px 0; position: absolute; transition: opacity 0.5s ease; top: 0; }
.main-navigation ul#top-menu ul.menu-right { left: -100%; }
.main-navigation ul#top-menu > li > ul { left: 0; top: 100%; }
.main-navigation ul#top-menu li:hover > ul, .main-navigation ul#top-menu li.focus > ul { opacity: 1; pointer-events: all; }
.main-navigation ul#top-menu li:hover { z-index: 2; }

/* Sub Menu */
.main-navigation ul ul { background-color: #0661D1; border: none; max-width: 250px; }
.main-navigation ul ul li { background-color: #0661D1; display: block; float: none; padding: 0 12px; }
.main-navigation ul ul li > a { background-color: transparent; border-bottom: 1px solid #FFF; color: #FFF; display: block; font-size: 0.75em; line-height: 1em; padding: 10px 0 11px; transition: all 0.2s linear; -moz-transition: all 0.2s linear; -ms-transition: all 0.2s linear; -o-transition: all 0.2s linear; -webkit-transition: all 0.2s linear; width: 226px; }
.main-navigation ul ul li:hover > a { color: #E2C542; }
.main-navigation ul ul li.current-menu-item > a { background-color: transparent; color: #E2C542; font-weight: 700; }
.main-navigation ul li:hover > ul, .main-navigation ul li.focus > ul { left: 0; right: auto; }
.main-navigation ul ul li:last-child > a { border-bottom: none; }

/* ############ */
/* MMenu Button */
.mmenu-button { display: block; float: right; height: 55px; margin: 0 -10px 0 0; position: relative; text-indent: -9999px; width: 60px; z-index: 2; }
.mmenu-button a { cursor: pointer; display: block; height: 55px; padding: 15px; position: relative; text-indent: -9999px; width: 60px; }
.mmenu-button a:before, .mmenu-button a:after, .mmenu-button a span { background: none repeat scroll 0 0 #5A8AFE; content: ""; display: block; height: 5px; left: 15px; position: absolute; transition-delay: 0.5s; transition-duration: 0.5s; transition-property: transform, top, bottom, left, opacity; transition-timing-function: ease; width: 30px; }
.mmenu-button a { display: block; position: relative; }

.mmenu-button a:before { top: 15px; }
.mmenu-button a:after { top: 35px; }
.mmenu-button a span { text-indent: -9999px; top: 25px; }
 
html.mm-opening .mmenu-button a:before, html.mm-opening .mmenu-button a:after { top: 23px; }
html.mm-opening .mmenu-button a:before {
    transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
}
html.mm-opening .mmenu-button a:after {
    transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
}
html.mm-opening .mmenu-button a span { left: -50px; opacity: 0; }


/* Mmenu Override */

.menu-mobile-menu-container:not(.mm-menu) { display: none!important; overflow-y: hidden!important; }
.menu-mobile-menu-container.mm-menu { font-family: benton-sans, sans-serif!important; }

.mm-list>li>a, .mm-list>li>span { color: #2A344F!important; font-weight: 700!important; }
.mm-menu .mm-list>li.mm-selected>a:not(.mm-subopen), .mm-menu .mm-list>li.mm-selected>span, .mm-menu .mm-list>li.current-menu-item>a { background: rgba(90,138,254,1)!important; color: #FFF!important; }

.mm-menu.mm-light .mm-list>li>a.mm-subopen:after, .mm-menu.mm-light .mm-list>li>a.mm-subclose:before { border-color: #5A8AFE!important; }
.mm-menu.mm-light .mm-list>li>a.mm-subclose { color: #5A8AFE!important; }
.mm-list a.mm-subclose:before { margin-bottom: -13px!important; }

/* MMenu Overrides */

@media screen and (min-width: 768px) {
}

@media screen and (min-width: 992px) {
    /* Mmenu */
    .mmenu-button { display: none; }

    /* Main Navigation */
    .main-navigation { display: block; }
}

@media screen and (min-width: 1200px) {
    /* Main Menu */
    .main-navigation ul#top-menu > li > a { font-size: 0.875em; }
}



/* ################################################# */
/* ################# Slick Defaults ################ */
/* ################################################# */
.slick-slider { clear: both; }
.slick-slider .slick-list { clear: both; overflow: hidden; position: relative; }
.slick-slider .slick-list .slick-track:after { clear: both; content: ''; display: table; }
.slick-slider .slick-list .slick-slide { float: left; position: relative; width: 100%; z-index: 100 !important; }
.slick-slider .slick-list .slick-slide.slick-active { pointer-events: all; }
.slick-slider .slick-dots { background-color: transparent; bottom: 0; display: inline-block; left: 50%; list-style: none; margin: 0 0 30px; padding: 0; position: absolute; -webkit-transform: translateX(-50%); transform: translateX(-50%); width: auto; }
.slick-slider .slick-dots li { display: inline-block; list-style: none; margin: 0 15px; padding: 0; }
.slick-slider .slick-dots li:last-child { margin-right: 0; }
.slick-slider .slick-dots li button, .slick-slider .slick-dots li a { background-color: #FFF; border: none; border-radius: 50%; color: #FFF; cursor: pointer; display: block; float: left; height: 16px; margin: 0; padding: 0 0 3px; text-align: center; text-decoration: none; text-indent: -9999px; width: 16px; }
.slick-slider .slick-dots li button:focus, .slick-slider .slick-dots li a:focus { outline: none; }
.slick-slider .slick-dots li.slick-active, .slick-slider .slick-dots li:hover { position: relative; }
.slick-slider .slick-dots li.slick-active button, .slick-slider .slick-dots li.slick-active a, .slick-slider .slick-dots li:hover button, .slick-slider .slick-dots li:hover a { background-color: #8C12B7; font-weight: bold; color: #fff; }
@media (min-width: 768px) {
    .slick-slider .slick-dots { display: block; float: left; text-align: left; }
}




/* ################################################# */
/* ################## Hero Banner ################## */
/* ################################################# */
.hero-banner { height: auto; position: relative; overflow: hidden; }

.hero-banner .slide { height: 355px; outline: none; }

.hero-banner .slide .slide-image { height: 100%; display: block; width: 100%; }
.hero-banner .slide .slide-image .background-cover-image { height: 100%; display: block; width: 100%; }
.hero-banner .slide .slide-image .background-cover-image:after {
	/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#000000+0,000000+100&0+0,0.75+100 */
	background: -moz-linear-gradient(top, rgba(18,16,30,0) 0%, rgba(18,16,30,1) 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(top, rgba(18,16,30,0) 0%,rgba(18,16,30,1) 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom, rgba(18,16,30,0) 0%,rgba(18,16,30,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00000000', endColorstr='#bf000000',GradientType=0 ); /* IE6-9 */
	content: ''; height: 100%; left: 0; position: absolute; top: 0; width: 100%; }

.hero-banner .slide .slide-content { display: block; padding: 0 30px; position: absolute; top: 50%;
             transform: translateY(-50%);
        -moz-transform: translateY(-50%);
         -ms-transform: translateY(-50%);
          -o-transform: translateY(-50%);
     -webkit-transform: translateY(-50%); z-index: 50; width: 100%; }
.hero-banner .slide .slide-content .slide-content-wrapper { display: block; margin: 0 auto; padding: 0 15px; position: relative; text-align: center; width: 100%; z-index: 1; width: 100%; }

.hero-banner .slide .slide-content .slide-content-wrapper .slide-title { color: #FFF; display: block; font-size: 2em; font-weight: 700; line-height: 1em; margin: 0 0 30px; padding: 0 0 30px; overflow: visible; position: relative; text-align: center; text-transform: none; }
.hero-banner .slide .slide-content .slide-content-wrapper .slide-title:after { background-color: #E2C542; border-radius: 2px; bottom: 0; content: ''; display: block; height: 5px; left: 50%; margin: 0 0 0 -52px; position: absolute; width: 105px; }
.hero-banner .slide .slide-content .slide-content-wrapper h1 { color: #FFF; }
.hero-banner .slide .slide-content .slide-content-wrapper .slide-text { color: #FFF; display: block; font-size: 1em; font-weight: 300; line-height: 1em; margin-bottom: 35px; overflow: visible; position: relative; text-align: center; text-transform: none; }
.hero-banner .slide .slide-content .slide-content-wrapper .slide-link .btn { font-size: 1.25em; padding: 12px 30px; }
.hero-banner .slick-control { color: #FFF; cursor: pointer; font-size: 1.75em; line-height: 70px; position: absolute; text-align: center; top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); -webkit-transition: color 0.2s linear; transition: color 0.2s linear; width: 35px; z-index: 1000; }
.hero-banner .slick-control:hover { color: #E2C542; } 
.hero-banner .slick-control.slick-prev { left: 5px; }
.hero-banner .slick-control.slick-next { right: 5px; }
.hero-banner .slick-control.slick-hidden { display: none; }

@media (min-width: 480px) {
    .hero-banner .slide .slide-content .slide-content-wrapper { width: 450px; }
    .hero-banner .slick-control { font-size: 2.222em; }
    .hero-banner .slick-control.slick-prev { left: 10px; }
    .hero-banner .slick-control.slick-next { right: 10px; }
}

@media (min-width: 768px) {
    .hero-banner .slide .slide-content .slide-content-wrapper { width: 750px; }
    .hero-banner .slick-control { font-size: 2.5em; }
    .hero-banner .slick-control.slick-prev { left: 20px; }
    .hero-banner .slick-control.slick-next { right: 20px; }
}

@media (min-width: 992px) {
    .hero-banner .slide { height: 400px; }
    .hero-banner .slide .slide-content { padding: 0; }
    .hero-banner .slide .slide-content .slide-content-wrapper { width: 970px; }
    .hero-banner .slick-control { font-size: 2.75em; }
    .hero-banner .slick-control.slick-prev { left: 30px; }
    .hero-banner .slick-control.slick-next { right: 30px; }
}

@media (min-width: 1150px) {
    .hero-banner .slide { height: 500px; }
    .hero-banner .slide .slide-content .slide-content-wrapper { width: 1120px; }
    .hero-banner .slick-control.slick-prev { left: 35px; }
    .hero-banner .slick-control.slick-next { right: 35px; }
}

@media (min-width: 1300px) {
    .hero-banner .slide { height: 600px; }
    .hero-banner .slide .slide-content .slide-content-wrapper { width: 1270px; }
    .hero-banner .slide .slide-content .slide-content-wrapper .slide-title { font-size: 3em; }
    .hero-banner.banner-short .slide .slide-content .slide-content-wrapper .slide-title { font-size: 2.5em; }
    .hero-banner .slide .slide-content .slide-content-wrapper .banner-link { font-size: 1.688em; font-weight: 400; padding: 18px 25px; }
    .hero-banner .slide .slide-content .slide-content-wrapper .banner-link .fa { font-size: 1.25em; line-height: 0.8em; margin-left: 20px; }
    .hero-banner .slick-control.slick-prev { left: 40px; }
    .hero-banner .slick-control.slick-next { right: 40px; }
}

.hero-banner.banner-short .slide { height: 350px; }

@media (min-width: 992px) {
    .hero-banner.banner-short .slide { height: 350px; }
}

@media (min-width: 1150px) {
    .hero-banner.banner-short .slide { height: 350px; }
}

@media (min-width: 1300px) {
    .hero-banner.banner-short .slide { height: 350px; }
}