  /**
 * Responsive theme, global styles
 *
 * This file is in version control:
 * https://github.com/uofa/simplecms
 *
 * Created 15 Feb 2017
 * Updated 12 Apr 2023
 *
 * Last update: replicate Design System focus styling, AB.
 *
 * @author Allan A Beattie
 * @author Mike Patterson
 * @author Zeno Zaplaic
 * @author Matthew J.S. Kite
 * @author Colin Denholm
 * @author Debbie Tait
 * @author Matt J Colbourne
 * @author Darren Coutts
 */


/* fonts
------------------------------------------------------------ */
@import 'https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,700,900,400italic,700italic|Droid+Serif:400,700';


/* Fallback for old FontAwesome fonts
------------------------------------------------------------ */
@font-face {
    font-family: "FontAwesome";
    font-style: normal;
    font-weight: 900;
    font-display: block;
    src:url(/global/fonts/fontawesome-pro-5.15.4-web/webfonts/fa-solid-900.eot);
    src:url(/global/fonts/fontawesome-pro-5.15.4-web/webfonts/fa-solid-900.eot?#iefix) format("embedded-opentype"),
        url(/global/fonts/fontawesome-pro-5.15.4-web/webfonts/fa-solid-900.woff2) format("woff2"),
        url(/global/fonts/fontawesome-pro-5.15.4-web/webfonts/fa-solid-900.woff) format("woff"),
        url(/global/fonts/fontawesome-pro-5.15.4-web/webfonts/fa-solid-900.ttf) format("truetype"),
        url(/global/fonts/fontawesome-pro-5.15.4-web/webfonts/fa-solid-900.svg) format("svg")
    }


/*! normalize.css v3.0.1 | MIT License | git.io/normalize
------------------------------------------------------------ */
html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background:0 0}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}fieldset{border:1px solid silver;margin:0;padding:0.35em 0.625em 0.75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse}


/* baseline styles / typography
------------------------------------------------------------ */

body {
    margin: 0;
    padding: 0;
    font-family: 'Source Sans Pro', sans-serif;
    font-size: 15px;
    color: #444;
}

main {
    background: #fff;
}

main:focus {
    outline: 0;
}

:focus {
    outline: 3px solid #9263de;
    outline-offset: 2px;
}

h2,
h3,
h4,
h5,
h6 {
    margin: 1.5em 0 0.6em;
}

iframe {
    border: none;
}

.motif {
    position: relative;
    margin: 0 0 2em;
}

.motif::before {
    position: absolute;
    width: 4em;
    left: 0;
    bottom: -1em;
    padding: 0.5em 0 0;
    border-bottom: 0.16em solid #f4c900;
    content: ' ';
}

p {
    margin: 0 0 1.5em;
    line-height: 1.5em;
}

td > p:last-of-type,
th > p:last-of-type {
    margin-bottom: 0;
}

code {
    background: #f9e7c6;
    font-family: Consolas, 'Courier New', Courier, monospace;
}

ul {
    margin: 0 0 1.5em;
    padding-left: 1.5em;
}

ul ul {
    margin-bottom: 0;
}

li {
    line-height: 1.5em;
}

a {
    text-decoration: none;
    color: #365594;
}

img {
    max-width: 100%;
    height: auto;
}

hr {
    margin: 2em 0;
    height: 1px;
    border: 0;
    border-bottom: 1px solid;
    line-height: 1px;
    color: #ddd;
}

abbr {
    text-decoration: none;
}

abbr[title] {
    cursor: help;
}

blockquote {
    clear: both;
    margin: 0 0 2em;
    font-style: italic;
    quotes: '\201C' '\201D';
}

blockquote::before {
    float: left;
    height: 0.4em;
    margin: -0.1em 0.1em 0 0;
    font-family: Arial;
    font-size: 6em;
    font-weight: 700;
    font-style: normal;
    line-height: 1em;
    content: open-quote;
    color: #f6d22d;
}

cite {
    display: block;
    text-align: right;
    font-style: normal;
}


/* accessible checkboxes and radio buttons
------------------------------------------------------------ */

input[type=checkbox]:focus,
input[type=checkbox]:hover,
input[type=radio]:focus,
input[type=radio]:hover {
    outline: 0.16em solid #f4c900;
}


/* colour classes
------------------------------------------------------------ */

.white {
    background: #fff;
}

.light {
    background: #eee;
}

.dark {
    background: #333;
    color: #ddd;
}

.dark a {
    color: #8997cf;
}


/* page containers
------------------------------------------------------------ */

.abdn_row_padded {
    padding: 3em 0;
    clear: both;
}

main > .abdn_row,
main > .abdn_row_padded > .abdn_col > .abdn_row_padded {
    padding: 0 0 3em;
}

main .abdn_row_padded .abdn_col::before {
    display: block;
    margin: -3em 0 0;
    padding: 0 0 3em;
    border-top: 1px solid #e4e4e4;
    content: '';
}

.content_column .abdn_row_padded:first-child .abdn_col::before {
    display: none;
}

main > .abdn_row_padded:first-child {
    padding-top: 0;
}

main > .abdn_row > .abdn_col > .abdn_row_padded:first-child,
.content_column .abdn_row_padded:first-child,
.subpage .abdn_row_padded:first-child {
    padding-top: 0;
}

.subpage .abdn_row_padded:first-child {
    padding-top: 0;
}

.content_column .abdn_row_padded:last-child,
main > .abdn_row > .abdn_col > .abdn_row_padded:last-child {
    padding-bottom: 0;
}

.abdn_row_padded_small {
    padding: 1.5em 0;
}

.abdn_col {
    max-width: 66.666em; /* 1200 / 18 (Source Sans Pro) */
    margin: 0 auto;
    padding: 0 5%;
    transition: padding 0.3s ease;
}

.global_header {
    position: relative;
    z-index: 3;
    height: 8em;
    background: #fff;
}

.global_header.has_logo_extras {
    height: 13em;
}

.abdn_col .abdn_col {
    max-width: 100%;
    margin: 0;
    padding: 0;
}

.fullwidth_left_column .abdn_row_padded,
main > .abdn_row > .abdn_col .fullwidth_left_column .abdn_row_padded:last-child {
    padding: 0 0 4em;
}

.abdn_col > p:last-child {
    margin-bottom: 0;
}


/* cookie advisory
------------------------------------------------------------ */

.cookie_advisory_wrapper {
    background: #333;
    color: #fff;
}

#cookie_info {
    padding: 1em 0 2em;
}

#cookie_info h1 {
    margin: 0 0 0.5em;
    font-size: 1.3em;
    line-height: 0.9em;
}

#cookie_info p {
    margin: 0 0 1em;
    font-size: 0.9em;
}

#cookie_info a {
    border-bottom: 1px dotted;
    font-weight: 700;
    color: #f4c900;
}

#cookie_info a:hover,
#cookie_info a:focus {
    border-bottom: 1px solid;
    text-decoration: none;
}

#cookie_info_button {
    position: relative;
    display: inline-block;
    padding: 0.4em;
    border: 0;
    background: #f4c900;
    font-weight: 700;
    color: #003C5F;
    transition: padding 0.2s ease;
}

#cookie_info_button:hover,
#cookie_info_button:focus {
    padding-left: 0.7em;
    transition: padding 0.2s ease;
}

#cookie_info_button::before {
    position: absolute;
    width: 0;
    height: 0;
    top: 0;
    left: 0;
    border-left-width: 0;
    border-left-style: solid;
    border-left-color: #333;
    border-top: 1em solid transparent;
    border-bottom: 1em solid transparent;
    content: ' ';
    transition: border-left-width 0.2s ease;
}

#cookie_info_button:hover::before,
#cookie_info_button:focus::before {
    border-left-width: 0.3em;
    transition: border-left-width 0.2s ease;
}

#cookie_info_button::after {
    position: absolute;
    width: 0;
    height: 0;
    top: 0;
    right: 0;
    border-left-width: 0.3em;
    border-left-style: solid;
    border-left-color: #f4c900;
    border-top: 1em solid transparent;
    border-bottom: 1em solid transparent;
    content: ' ';
    transition: right 0.2s ease;
}

#cookie_info_button:hover::after,
#cookie_info_button:focus::after {
    right: -0.25em;
    transition: right 0.2s ease;
}

a#cookie_info_button  {
    color: #444;
}


/* a11y links
------------------------------------------------------------ */

.skip_links {
    position: absolute;
    left: -9999px;
    top: auto;
}

.skip_links a {
    height: 1px;
    border-bottom: 4px solid #f4c900;
    text-decoration: none;
    font-weight: 700;
    transition: height 0.3s ease-out;
}

.skip_links a:focus {
    position: fixed;
    z-index: 1100;
    width: 100%;
    height: 1.5em;
    left: 0;
    top: 0;
    padding: 1em;
    background: #850F19;
    color: #eee;
}

#modal_fade {
    visibility: hidden;
    position: fixed;
    z-index: 3;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    background: #111;
    opacity: 0;
    transition: opacity 0.3s ease-out;
}

#modal_fade.active {
    visibility: visible;
    opacity: 0.75;
}

body > header {
    position: relative;
    margin: 0 0 1em;
    background: #fff;
}


/* reset margin of all first headings
------------------------------------------------------------ */

.abdn_col > h2:first-child,
.abdn_col > h3:first-child,
.abdn_col > h4:first-child,
.abdn_col > h5:first-child,
.abdn_col > h6:first-child,
.content_column > h2:first-child,
.content_column > h3:first-child,
.content_column > h4:first-child,
.content_column > h5:first-child,
.content_column > h6:first-child {
    margin-top: 0;
}


/* uni logo
------------------------------------------------------------ */

.uni_logo {
    position: absolute;
    z-index: 5;
    left: 0;
    top: 0;
    right: 0;
    height: 3em;
    padding: 0.9em 0 0.9em;
    text-align: center;
}

.uni_logo a {
    display: block;
    max-width: 18em;
    margin: 0 auto;
    border: 0;
}

.uni_logo a:focus,
.uni_logo_footer:focus {
    outline: 0.3em solid #f4c900;
}

.uni_logo img {
    height: 3em;
    max-height: 3em;
    width: auto;
}


/* logo extras
------------------------------------------------------------ */

.logo_extras {
    position: absolute;
    top: 4.8em;
    height: 5em;
    left: 0;
    right: 0;
    text-align: center;
}

.logo_extras a {
    display: inline-block;
}

.logo_extras img {
    display: inline-block;
    height: 4.2em;
    max-height: 4.2em;
    width: auto;
}


/* utility nav
------------------------------------------------------------ */

.utility_nav {
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    height: 2em;
    background: #444;
    text-align: center;
}

.utility_nav * {
    box-sizing: border-box;
}

.utility_nav ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.utility_nav li {
    display: inline-block;
    float: left;
    width: 50%;
    line-height: 1.5em;
}

.utility_nav a {
    display: block;
    padding: 0.3em 0.6em;
    font-size: 0.8em;
    color: #eee;
}

.utility_nav a:hover,
.utility_nav a:focus {
    background: #850F19;
    text-decoration: none;
    color: #fff;
}

.utility_nav li:nth-child(3) {
    display: none;
}


/* global search
------------------------------------------------------------ */

.fa-search::before {
    content: "\f002";
}

#global_search {
    display: block;
    position: absolute;
    width: 100%;
    top: 8em;
    left: 0;
    padding: 2em 0;
    background: #f1f1f1;
    text-align: center;
    z-index: 2;
    box-shadow: 0 20px 20px -20px rgba(0, 0, 0, 0.8);
}

.has_logo_extras #global_search {
    top: 13em;
}

#global_search.collapsed {
    display: none;
}

#global_search * {
    box-sizing: border-box;
}

#global_search fieldset {
    display: inline;
    overflow: hidden;
    width: 90%;
    margin: 0 5%;
    padding: 0;
    border: none;
    border-radius: 5px;
    font-size: 16px;
}

#global_search legend {
    margin-bottom: 0.3em;
    padding-top: 1.6em;
    font-size: 1.3em;
    font-weight: 300;
    text-align: left;
}

#global_search #q {
    float: left;
    width: 80%;
    height: 55px;
    padding: 0.9em 0.6em;
    border: 1px solid #e5e5e5;
    border-right: 0;
    -webkit-appearance: none;
    -webkit-border-radius: 0.3em 0 0 0.3em;
    border-radius: 0.3em 0 0 0.3em;
}

#global_search #q:focus {
    background: #fdffce;
}

#global_search #q:focus + button {
    color: #444;
}

#global_search label,
#global_search button b {
    position: absolute;
    overflow: hidden;
    width: 1em;
    height: 1em;
    left: -9999px;
    top: auto;
}

#global_search button {
    width: 20%;
    height: 55px;
    padding: 0.63em 0;
    border: 1px solid #f4c900;
    -webkit-border-radius: 0 0.3em 0.3em 0;
    border-radius: 0 0.3em 0.3em 0;
    background-color: #f4c900;
    font-size: 1.4em;
    line-height: 1em;
    text-align: center;
    color: rgba(0, 0, 0, 0.7);
    transition: background-color 0.3s ease-out;
}

#global_search button:hover {
    color: #444;
    background-color: #feda61;
    transition: background-color 0s;
}

#global_search button:focus {
    background: #ad1925;
    color: #fff;
    outline: 0;
    transition: background-color 0s;
}

#global_search input[type="text"]:focus,
#global_search textarea:focus {
    font-size: 16px;
}

.uni_search_toggle {
    display: inline-block;
    padding: 0.3em 1.2em;
    border: 1px solid #e5e5e5;
    border-radius: 1.5em;
    text-decoration: none;
    color: #444;
}

.no_js .uni_search_toggle {
    display: none;
}

.uni_search_toggle span,
.uni_menu_toggle span {
    display: none;
}

#within {
    float: left;
    padding: 0.9em 2.5em 0.9em 0.5em;
    margin-bottom: 1em;
    border: 0;
    border-radius: 0.3em;
    background-image: url(/global/simplecms/site/css/simplecms_responsive/'data:image/svg+xml,<svg version="1.1" xmlns="http:/www.w3.org/2000/svg" width="14px" height="14px" viewBox="0 0 1200 1000" fill="rgb(255,255,255)"><path d="M1100 411l-198 -199l-353 353l-353 -353l-197 199l551 551z"/></svg>');
    background-repeat: no-repeat;
    background-position: 95% 50%;
    background-color: #850F19;
    color: #fff;
    cursor: pointer;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: 100%;
    transition: background-color 0.3s ease-out;
}

#within:hover,
#within:focus {
    background-color: #ad1925;
    transition: background-color 0s;
}

#within:focus {
    outline: 0.3em solid #f4c900;
}

#global_search ul {
    display: block;
    width: 100%;
    padding-left: 0;
    text-align: center;
}

#global_search li {
    display: inline-block;
}

#global_search li a {
    display: inline-block;
    margin: 1em 0 0 0.5em;
    padding: 0.3em 1.2em;
    border-radius: 15em;
    background-color: #850F19;
    color: #fff;
    transition: background 0.3s ease-out, border-color 0.3s ease-out;
}

#global_search ul li a:hover,
#global_search ul li a:focus {
    background-color: #ad1925;
    text-decoration: none;
    color: #fff;
    transition: background 0s, border-color 0s;
}

#global_search p {
    margin: 1em 0 0;
    text-align: center;
}


/* hero search (for landing pages)
------------------------------------------------------------ */

.hero_search {
    margin: -1em 0 0;
    padding: 2em 0 5em;
    background: #850F19;
}

.hero_search form,
.hero_search form * {
    box-sizing: border-box;
}

.hero_search fieldset {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 1.5em;
}

.hero_search legend {
    margin: 0 0 0.1em;
    font-size: 1.6em;
    font-weight: 300;
    text-transform: uppercase;
    color: #fff;
}

.hero_search input {
    width: 85%;
    padding: 0.5em;
    border: 0;
    border-radius: 0.2em 0 0 0.2em;
    font-size: 1.5em;
}

.hero_search button {
    width: 15%;
    padding: 0.5em 0;
    border: 0;
    border-radius: 0 0.2em 0.2em 0;
    background: #f4c900;
    font-size: 1.5em;
}


/* hidden buttons
------------------------------------------------------------ */

.toggle_controls {
    position: absolute;
    z-index: 5;
    height: 3em;
    left: 0;
    right: 0;
    top: 5em;
    text-align: center;
}

.toggle_controls a {
    transition: background 0.3s ease-out, border-color 0.3s ease-out;
}

.toggle_controls a:hover,
.toggle_controls a:focus {
    border-color: #ccc;
    background-color: #e5e5e5;
    text-decoration: none;
    color: #333;
    transition: background 0s, border-color 0s;
}

.uni_menu_toggle {
    display: inline-block;
    padding: 0.3em 1.2em;
    border: 1px solid #e5e5e5;
    text-decoration: none;
    border-radius: 1.5em;
    color: #444;
}

.has_logo_extras .toggle_controls {
    top: 10em;
}


/* page header
------------------------------------------------------------ */

.page_header {
    position: relative;
    z-index: 1;
}

@supports (opacity: 0.5) {
    .page_header::before {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-size: cover;
        opacity: 0.13;
        content: '';
        z-index: -1;
    }
}

.header_feature {
    padding-bottom:1em;
}

.header_feature_img {
    font-size: 0;
    text-align: center;
}

.header_feature_img img {
    margin: 1em auto;
    box-shadow: 0 0 0.3em 0.1em rgba(0, 0, 0, 0.3);
    font-size: 1rem;
}

.header_feature a {
    display: block;
}

.header_feature_title {
    margin: 0 0 0.3em;
    font-size: 1.2em;
    font-weight: 700;
    color: #444;
}

.header_feature_content {
    margin: 0 0 1em;
    color: #444;
}

.header_feature .feature_more {
    margin: 1em 0;
}

#section_heading {
    overflow: hidden;
    background: #005D93;
}

#section_heading.no_js {
    margin-top: 2.6em;
}

#section_heading a {
    position: relative;
    z-index: 1;
    display: inline-block;
    padding: 0.43em 1em 0.5em 0.5em;
    border: 0;
    background: #003C5F;
    text-decoration: none;
    font-size: 1.1em;
    font-weight: 700;
    color: #fff;
}

#section_heading a::before {
    display: block;
    position: absolute;
    z-index: -1;
    width: 2000%;
    height: 100%;
    top: 0;
    margin-left: -2000%;
    background: #003C5F;
    content: ' ';
}

#section_heading a:hover,
#section_heading a:focus {
    text-decoration: none;
    color: #ffe18d;
}

.page_header img {
    max-width: 100%;
    height: auto;
}

.page_heading {
    background: #f4c900;
}

.page_heading h1,
.page_heading b {
    display: block;
    margin: 0;
    padding: 0.5em 5%;
    background: #f4c900;
    font-size: 1.6em;
    line-height: 1;
    color: #fff;
    transition: padding 0.3s ease;
}

.no_image h1 {
    color: rgb(31, 31, 31);
}

#section_heading a.header_button_link {
    position: relative;
    float: right;
    top: 0.3em;
    padding: 0.3em 0.8em;
    background-color: #f4c900;
    color: #444;
    border-radius: 0.2em;
    font-weight: normal;
    font-size: 0.95em;
    border: 1px solid #850F19;
    transition: border-color ease 0.5s;
}

#section_heading a.header_button_link:hover,
#section_heading a.header_button_link:focus {
    background-color: #FFD263;
    border: 1px solid #FFD263;
}

#section_heading a.header_button_link::after,
#section_heading a.header_button_link::before {
    display: none;
}


/* account for no image
------------------------------------------------------------ */

.page_header.no_image {
    min-height: inherit;
    padding-top: 0;
}

.page_header.no_image .page_heading {
    position: relative;
}


/* breadcrumb (not needed on small screens)
------------------------------------------------------------ */

.breadcrumb {
    display: none;
}


/* section top-level nav
------------------------------------------------------------ */

#section_top_level {
    display: none; /* not needed on small screens */
}

.section_top_level_wrapper {
    position: relative;
    background: #003C5F;
}

ul.top_level {
    margin: 0;
    padding: 0;
    list-style: none;
    border-top: 2px solid #003c5f;
}

ul.top_level > li {
    display: inline-block;
    vertical-align: top;
    line-height: 1.2em;
}

.section_top_level_wrapper a {
    display: block;
    margin-right: 2px;
    padding: 0.6em 1em 0.5em;
    border-bottom: 6px solid #003C5F;
    background: #003C5F;
    font-size: 0.9em;
    text-align: center;
    text-decoration: none;
    transition: background 0.3s ease-out, border-color 0.3s ease-out;
    color: #fff;
    color: rgba(255, 255, 255, 0.8);
}

.section_top_level_wrapper a:hover {
    border-bottom-color: #f4c900;
    color: #fff;
    background: #005d93;
    transition: none;
}

.section_top_level_wrapper a:focus {
    outline: 2px solid #ffbf47;
}

.section_top_level_wrapper a.current {
    border-bottom-color: #cd9825;
}


/* section navigation
------------------------------------------------------------ */

.column_container {
    clear: both;
}

.content_column {
    margin: 0 0 3em;
}

#section_nav_wrapper {
    overflow: hidden;
    min-width: 100%;
    margin: 0 0 3em;
}

#section_nav_wrapper.can_toggle {
    display: none;
}

#section_nav_wrapper.active {
    display: block;
    position: absolute;
    z-index: 3;
    top: 8em;
    right: 0;
}

#section_nav_wrapper.has_logo_extras.active {
    top: 13em;
}

#section_nav_wrapper.can_toggle #section_nav {
    border-right: 0.5em solid #fff;
    border-left: 0.5em solid #fff;
    border-bottom: 0.5em solid #fff;
    border-radius: 0 0 0 0.5em;
}

#section_nav {
    box-sizing: border-box;
    background: #fff;
    transform: translateX(100%);
    transition: transform 0.3s ease;
}

#section_nav > h2 {
    margin: 1em 0 0.3em;
    padding: 0 0.5em;
    color: #444;
}

#section_nav.active {
    transform: translateX(0);
}

#primary_nav.collapsed {
    display: none;
}

#primary_nav ul,
.global_nav ul {
    margin: 0;
    padding: 0;
    list-style: none;
    line-height: 1.6em;
}

#primary_nav > ul:first-of-type {
    position: relative;
}

#primary_nav a,
.global_nav a {
    position: relative;
    display: block;
    padding: 0.5em 1em 0.5em 2em;
    border-bottom: 1px solid #ccc;
    border-left: 4px solid #f1f1f1;
    background: #f1f1f1;
    text-decoration: none;
    color: #444;
    transition: background 0.2s ease-out;
}

#primary_nav > ul:first-of-type a::before {
    position: absolute;
    left: 0.5em;
    font-family: 'Font Awesome 5 Pro';
    font-size: 1.5em;
    line-height: 1;
    content: '\f104';
    color: #aaa;
}

#primary_nav > ul:first-of-type li:last-child a {
    background: #e2e2e2;
    border-left-color: #e2e2e2;
}

#primary_nav a.current,
#primary_nav > ul:first-of-type li:last-child a.current {
    border-left: 4px solid #F4C900;
}

#primary_nav > ul:first-of-type a.current {
    background: #e2e2e2;
}

#primary_nav > ul:first-of-type a.current::before {
    content: '';
}

#primary_nav ul li:last-child a::before {
    content: '';
}

#primary_nav ul:first-child li:last-child a {
    border-left: 4px solid #e2e2e2;
    background-color: #e2e2e2;
}

#primary_nav ul:first-child li:last-child a:hover,
#primary_nav ul:first-child li:last-child a:focus {
    border-left: 4px solid #aaa;
}

#primary_nav ul:first-child li:last-child a.current {
    border-left: 4px solid #f4c900;
}

#primary_nav > ul:first-of-type a:hover::before,
#primary_nav > ul:first-of-type a:focus::before,
#primary_nav > ul:first-of-type a.current:hover::before,
#primary_nav > ul:first-of-type a.current:focus::before {
    color: #000;
}

#primary_nav .open a {
    padding-left: 2.5em;
    border-left: 4px solid #fff;
    border-bottom: 1px solid #ddd;
    background: #fff;
}

#primary_nav .open a.current {
    border-left: 4px solid #f4c900;
}

#primary_nav a:hover,
#primary_nav a:focus {
    border-left: 4px solid #aaa;
    color: #000;
    transition: none;
}

#primary_nav .open a:hover,
#primary_nav .open a:focus {
    background: #fff;
    border-left-color: #aaa;
    color: #000;
    transition: none;
}

#primary_nav_toggle {
    display: block;
    margin: 0 0 1em;
    padding: 0.6em;
    border: 0;
    background: #444;
    color: #eee;
}

#primary_nav_toggle:hover,
#primary_nav_toggle:focus {
    background: #666;
}

.global_nav {
    padding: 0.3em;
    background: #444;
    border-radius: 0.3em;
}

#primary_nav + .global_nav {
    margin-top: 2em;
}

.global_nav h2 {
    margin: 0;
    padding: 0.3em 0.5em 0.9em;
    font-size: 1.3em;
    color: #fff;
    text-align: center;
}

.global_nav h2::after {
    border-bottom: 0.16em solid #f4c900;
    content: ' ';
    display: block;
    margin: 0 auto;
    padding: 0.5em 0 0;
    width: 4em;
}

.global_nav h3 {
    margin: 0;
    padding: 0.3em 0.7em 0.9em;
    font-size: 1em;
    color: #fff;
}

.global_nav a {
    margin: 0 0.2em 1.2em 0.2em;
    padding: 0.3em 0.2em 0.3em 1em;
    border-bottom: 0;
    border-left: 0;
    background: #f4c900;
    color: #444;
    border-radius: 15em;
    transition: background 0.3s ease-out, border-color 0.3s ease-out;
}

.global_nav #link_wrapper a {
    border: 1px solid #767676;
    background: #767676;
    color: #fff;
    font-size: 0.99em;
}

.global_nav #link_wrapper a:hover,
.global_nav #link_wrapper a:focus {
    border: 1px solid #fff;
    color: #fff;
    background-color: #444;
}

.global_nav a:hover,
.global_nav a:focus {
    background: #feda61;
    color: #444;
    transition: none;
}

.global_nav > a {
    position: relative;
}

.global_nav > a::after {
    position: absolute;
    right: 0.5em;
    font-family: 'Font Awesome 5 Pro';
    font-size: 1.5em;
    content: '\f107';
    color: #eee;
}

.global_nav > a.current::after {
    content: '\f106';
}


/* text content classes
------------------------------------------------------------ */

main a {
    border-bottom: 1px dotted;
}

main a:hover,
main a:focus {
    border-bottom: 1px solid;
}

main .slider a,
main .tabcordion_nav a,
main .tabcordion dt a,
main .syndicated a,
main .pagination a,
main .prospectus_search a,
main .prospectus_search_results th a,
main .responsive_table th a {
    border-bottom: 0;
}


/* long URL links
------------------------------------------------------------ */

.wrap_url {
    overflow-wrap: break-word;
    word-wrap: break-word;
    -ms-word-break: break-all;
    word-break: break-all;
    word-break: break-word;
    -ms-hyphens: auto;
    -moz-hyphens: auto;
    -webkit-hyphens: auto;
    hyphens: auto;
}


/* links with icons
------------------------------------------------------------ */

main a[target $="_blank"],
main a[href^="mailto:"],
main a[href^="tel:"],
main a[href*=".doc"],
main a[href*=".pdf"],
main a[href*='.ppt'],
main a[href*='.xls'],
main a[href$='rss.xml'] {
    margin-right: 0.16em;
}

main a[target $="_blank"]::after,
main a[href^="mailto:"]::after,
main a[href^="tel:"]::after,
main a[href*=".doc"]::after,
main a[href*=".pdf"]::after,
main a[href*='.ppt']::after,
main a[href*='.xls']::after,
main a[href$='rss.xml']::after {
    display: inline-block;
    margin-left: 0.3em;
    font-family: 'Font Awesome 5 Pro';
    font-size: 0.9em;
    text-decoration: none;
    color: #777;
}


/* new window links
------------------------------------------------------------ */

main a[target $="_blank"]::after {
    content: '\f08e';
}

main .no_image.feature_related a[target $="_blank"]::after {
    display: inline;
}


/* email links
------------------------------------------------------------ */

main a[href^="mailto:"]::after {
    content: '\f0e0';
}


/* tel links
------------------------------------------------------------ */

main a[href^="tel:"]::after {
    content: '\f095';
}


/* word doc links
------------------------------------------------------------ */

main a[href*=".doc"]::after {
    content: '\f1c2';
    color: #354bbc;
}


/* PDF links
------------------------------------------------------------ */

main a[href*=".pdf"]::after {
    content: '\f1c1';
    color: #f42900;
}


/* powerpoint links
------------------------------------------------------------ */

main a[href*='.ppt']::after {
    content: '\f1c4';
    color: #d24828;
}


/* excel links
------------------------------------------------------------ */

main a[href*='.xls']::after {
    content: '\f1c3';
    color: #1E7145;
}


/* rss links
------------------------------------------------------------ */

main a[href$='rss.xml']::after {
    content: '\f143';
    color: #ff9c15;
}


/* social Links
------------------------------------------------------------ */

.sharing a.fa::after,
.social a.b::after {
    display:none;
}

.twitter_embedded {
    margin: 0 0 2em;
    border: 1px solid #ccc;
}

.video_container,
.embedded_media {
    position: relative;
    overflow: hidden;
    margin: 0 0 2em;
    padding-top: 56.25%; /* 16:9 aspect ratio */
}

.video_container iframe,
.video_container object,
.video_container embed,
.embedded_media iframe,
.embedded_media object,
.embedded_media embed {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

.feature_content .video_container:last-child,
.feature_content .embedded_media:last-child {
    margin-bottom: 0;
}


/* advisory highlight boxes
------------------------------------------------------------ */

.advisory,
.confirmation,
.information,
.warning {
    display: block;
    position: relative;
    clear: both;
    margin: 2em 0;
    padding: 1em;
    border: 1px solid #fcdfa9;
    border-radius: 0.5em;
    background: #fef8eb;
}

.confirmation > *,
.information > *,
.warning > * {
    margin-left: 3em;
}

.content_column .advisory:first-child,
.content_column .confirmation:first-child,
.content_column .information:first-child,
.content_column .warning:first-child {
    margin-top: 0;
}

.confirmation::before,
.information::before,
.warning::before {
    position: absolute;
    display: inline-block;
    top: 0.4em;
    left: 0.5em;
    font-family: 'Font Awesome 5 Pro';
    font-size: 2em;
    line-height: 1;
}

.confirmation {
    border-color: #98c653;
    background-color: #cdf196;
}

.advisory > *:last-child,
.confirmation > *:last-child,
.information > *:last-child,
.warning > *:last-child {
    margin-bottom: 0;
}

.confirmation::before {
    content: '\f058';
    color: #98c653;
}

.information {
    border-color: #9dbff2;
    background-color: #e2edfc;
}

.information::before {
    content: '\f05a';
    color: #9dbff2;
}

.warning {
    border-color: #ff6820;
    border: 1px dotted rgba(255, 0, 0, 0.6);
    background-color: #fcefed;
    background-color: rgba(255, 0, 0, 0.1);
}

.warning::before {
    content: '\f071';
    color: #ff6820;
    color: rgba(255, 0, 0, 0.4);
}

.photo_left_aligned {
    float: left;
    margin: 0 1em 1em 0;
}

.photo_right_aligned {
    display: block;
    margin: 0 auto 1em;
}

picture.imgproxy {
    display: inline-block;
}

picture.imgproxy img {
    display: block;
}

.profile_photo {
    border-radius: 50%;
}

.lead {
    font-weight: bold;
    color: #333;
    font-size: 1.2em;
}


/* home page essential links
------------------------------------------------------------ */

.home_page_essential_links {
    padding: 1em;
    border: 1px solid #ddd;
    background: #f7f7f7;
}

.home_page_essential_links h2 {
    font-size: 1.1em;
}

.home_page_syndication_wrapper .syndicated_icon {
    float: right;
    position: relative;
    z-index: 1;
    margin-top: 0.3em;
}

.home_page_syndication_wrapper .syndicated li:last-child a {
    padding-bottom: 0;
}


/* feature separator
------------------------------------------------------------ */

.abdn_row_padded + .dark .abdn_col::before,
.dark + .abdn_row_padded .abdn_col::before {
    display: none;
}


/* global styles for a single feature box
------------------------------------------------------------ */

.feature_image img {
    width: 100%;
    max-width: 100%;
    height: auto;
}

.feature_box .feature_image + .feature_content {
    margin-top: -2em;
}

.feature_box h2 {
    font-size: 1.2em;
    line-height: 1;
}

.feature_box .feature_content > h2,
.feature_box .feature_heading {
    position: relative;
    display: inline-block;
    z-index: 1;
    max-width: 70%;
    margin: 0 0 2em;
    background: #fff;
    font-weight: 700;
    line-height: normal;
    color: #444;
}

.feature_box .feature_image + .feature_content > h2,
.feature_box .feature_image + .feature_content .feature_heading {
    padding: 0.6em 1em 0 0;
}

.light .feature_box h2 {
    background: #eee;
}

.dark .feature_box h2 {
    background: #333;
    color: #eee;
}

.feature_box .feature_content > h2::before,
.feature_box .feature_heading::before {
    position: absolute;
    width: 4em;
    left: 0;
    bottom: -1em;
    padding: 0.5em 0 0;
    border-bottom: 0.16em solid #f4c900;
    content: ' ';
}

.feature_box .feature_image + .feature_content > h2::after,
.feature_box .feature_image + .feature_content .feature_heading::after{
    display: inline-block;
    position: absolute;
    width: 2em;
    right: -2em;
    top: 0;
    z-index: -1;
    border-bottom: 2em solid #fff;
    border-right: 2em solid transparent;
    content: ' ';
}

.light .feature_box .feature_image + .feature_content > h2::after,
.light .feature_box .feature_image + .feature_content .feature_heading::after {
    border-bottom-color: #eee;
}

.dark .feature_box .feature_image + .feature_content > h2::after,
.dark .feature_box .feature_image + .feature_content .feature_heading::after {
    border-bottom-color: #333;
}

.feature_box .feature_content p {
    margin: 0 0 2em;
    line-height: 1.6em;
}

.feature_box .feature_content h2 ~ *:last-child,
.feature_box .feature_content .feature_heading ~ *:last-child {
    margin-bottom: 0;
}

.feature_more {
    margin: 2em 0 0;
}

.feature_more a {
    display: inline-block;
    padding: 0.5em 1em;
    border-radius: 15em;
    text-decoration: none;
    color: #365594;
    background-color: #f5f5f5;
    border: 1px solid #ccc;
    transition: border-color ease 0.5s;
}

.feature_more a:hover,
.feature_more a:focus,
.feature_more a.hover {
    text-decoration: none;
    background-color: #fff;
    color: #365594;
    border: 1px solid rgba(31, 49, 101, 0.53);
}

.feature_more a:focus {
    outline: 0.3em solid #f4c900;
}


/* fancy zoom effect
------------------------------------------------------------ */

.feature_image {
    overflow: hidden;
    background-color: #111;
    transition: background-color 0.3s ease-in-out;
    font-size: 0;
}

.feature_image.zoomed {
    background: #ad1925;
}

.feature_image img {
    -webkit-transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;
    transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;
    -webkit-transform: scale(1);
    transform: scale(1);
}

.feature_image.zoomed img {
    opacity: 0.5;
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
}




/* default module styles
------------------------------------------------------------ */

.feature_listbox .feature_content > h3 {
    position: relative;
    display: inline-block;
    z-index: 1;
    max-width: 70%;
    margin: 0 0 2em;
    background: #fff;
    font-weight: 700;
    line-height: normal;
    color: #444;
    padding: 0.6em 1em 0 0;
}

.feature_listbox .feature_content > h3::before {
    position: absolute;
    width: 4em;
    left: 0;
    bottom: -1em;
    padding: 0.5em 0 0;
    border-bottom: 0.16em solid #f4c900;
    content: ' ';
}

.feature_listbox .feature_content > h3::after {
    display: inline-block;
    position: absolute;
    width: 2em;
    right: -2em;
    top: 0;
    z-index: -1;
    border-bottom: 2em solid #fff;
    border-right: 2em solid transparent;
    content: ' ';
}


/* syndicated lists, e.g. in tabs
------------------------------------------------------------ */

ul.syndicated {
    margin: 0;
    padding: 0;
    list-style: none;
}

.syndicated li {
    border-bottom: 1px solid #ccc;
}

.syndicated li:last-child {
    border-bottom: 0;
}

.syndicated a {
    position: relative;
    display: block;
    padding: 0.8em 0;
    text-decoration: none;
    color: #444;
}

.syndicated a:hover h2,
.syndicated a:focus h2,
.syndicated a:hover h3,
.syndicated a:focus h3 {
    color: #365594;
}

.syndicated li:first-child a {
    padding-top: 0;
}

.syndicated h2,
.syndicated h3 {
    margin-top: 0;
    font-size: 1.1em;
    font-weight: 400;
    line-height: 1em;
}

.syndicated p {
    margin: 0;
}

.syndicated img {
    float: left;
}

.syndicated img ~ h2,
.syndicated img ~ h3,
.syndicated img ~ .calendar_container,
.syndicated img ~ p,
.syndicated .event_date ~ h3 {
    margin-left: 66px; /* 50px + 1.6em */
}

.syndicated time,
.syndicated .authors {
    font-size: 0.9em;
    line-height: 1em;
}

.syndicated .authors {
    margin: 0.3em 0 0;
}

.syndicated .calendar_container {
    margin: 0;
}

.syndicated a[target$="_blank"] {
    position: relative;
    padding-right: 1.5em;
}

main .syndicated a[target$="_blank"]::after {
    position: absolute;
    right: 0;
    top: 1em;
}

main .syndicated li:first-child a[target$="_blank"]::after {
    top: 0.2em;
}

.syndicated li .event_date {
    position: relative;
    overflow: hidden;
    float: left;
    width: 3.2em;
    margin: 0 0 0.8em 0;
    font-size: 0.9em;
}

.syndicated li .event_date_day,
.syndicated li .event_date_month {
    display: block;
    padding: 0.4em;
    text-align: center;
    font-weight: bold;
    font-size: 0.8em;
    text-transform: uppercase;
    color: #666;
}

.syndicated img[src*='placeholder'],
.syndicated li .event_date_month {
    background: #850F19;
    border: 1px solid #850F19;
    color: #fff;
}

.syndicated li .event_date_day {
    background-color: #f1f1f1;
    font-size: 1.1em;
    border: 1px solid #cacaca;
    border-top: 0;
}


/* list of syndicated content on e.g. list page
------------------------------------------------------------ */

ul.syndicated_browse {
    margin: 0;
    padding: 0;
    list-style: none;
}

.syndicated_browse li {
    border-bottom: 1px solid #ddd;
    line-height: 1.6em;
}

.syndicated_browse li:last-child {
    border-bottom: 0;
}

.syndicated_browse li:first-child a {
    padding-top: 0;
}

.syndicated_browse a {
    display: block;
    padding: 1.6em 0;
    border-bottom: 0;
    line-height: 1;
    text-decoration: none;
    color: #444;
}

.syndicated_browse a:hover,
.syndicated_browse a:focus {
    border-bottom: 0;
}

.syndicated_browse img {
    float: left;
    max-width: 50px;
}

.syndicated_browse strong {
    display: block;
    margin: 0 0 0.3em;
}

.syndicated_browse img ~ h2,
.syndicated_browse img ~ h3,
.syndicated_browse img ~ .calendar_container,
.syndicated_browse img ~ p,
.syndicated_browse img ~ strong {
    margin-left: 66px; /* 50px + 1.6em */
}

.syndicated_browse a:hover h2,
.syndicated_browse a:focus h2,
.syndicated_browse a:hover h3,
.syndicated_browse a:focus h3 {
    color: #365594;
}

.syndicated_browse a:hover time,
.syndicated_browse a:focus time {
    color: #444;
    opacity: 1;
}

.syndicated_browse h2,
.syndicated_browse h3 {
    margin: 0 0 0.3em;
    font-size: 1.6em;
    font-weight: 400;
    letter-spacing: -0.03em;
}

.calendar_container {
    position: relative;
    display: block;
    margin-bottom: 1em;
    font-size: 0.9em;
}

.syndicated_browse .calendar_container {
    margin: 0 0 1em;
    padding: 0 0 0.5em;
}

.calendar_container::before {
    display: inline-block;
    margin: 0 0.3em 0 0;
    font-family: 'Font Awesome 5 Pro';
    content: '\f073';
    opacity: 0.7;
}

.calendar_container::after {
    border-bottom: 0.2em solid #444;
    bottom: -0.5em;
    content: " ";
    left: -9999em;
    position: absolute;
    transition: none 0s ease 0s ;
    width: 1px;
}

.syndicated_browse a:hover .calendar_container::after,
.syndicated_browse a:focus .calendar_container::after {
    border-bottom-color: #f4c900;
    left: 0;
    transition: width 0.2s ease 0s, border-bottom-color 0.2s ease 0s;
    width: 10%;
}

.syndicated_browse p {
    margin: 0;
}


/* syndicated details pages
------------------------------------------------------------ */

.syndicated_details .heading {
    margin: 0 0 0.3em;
    font-size: 2em;
    font-weight: 700;
    line-height: 1em;
}

.syndicated_details h2 {
    margin: 1em 0 0.3em;
    font-weight: 400;
    line-height: 1em;
}


/* image / slideshow
------------------------------------------------------------ */

.syndicated_details .zoomable a {
    display: block;
    border-bottom: 0;
    font-size: 0;
    cursor: zoom-in;
}

.syndicated_details .image_wrapper {
    margin: 0 0 1.5em;
}

.syndicated_details .image_wrapper figure {
    margin: 0;
}

.syndicated_details .image_wrapper figcaption {
    padding: 1em;
    background: #850F19;
    font-size: 0.9em;
    line-height: 1.5em;
    color: #fff;
}

.syndicated_details .image_wrapper img {
    width: 100%;
    height: auto;
}

.syndicated_details time {
    display: inline-block;
    margin: 0 0 1em;
    color: #767676;
}


/* pullquote
------------------------------------------------------------ */

.syndicated_details .pullquote,
.syndicated_details .pullquote_small {
    width: 90%;
    margin: 2em auto;
    padding: 1em 0;
    border-top: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
}

.syndicated_details .pullquote blockquote,
.syndicated_details .pullquote_small blockquote {
    margin: 0;
    font-style: italic;
    quotes: '\201C' '\201D';
    color: #444;
}

.syndicated_details .pullquote blockquote::before,
.syndicated_details .pullquote_small blockquote::before {
    color: #850F19;
}

.syndicated_details .pullquote p:last-of-type {
    margin-bottom: 0;
}

.syndicated_details .pullquote cite {
    display: block;
    margin: 1em 0 0;
    text-align: right;
}

.syndicated_details .pullquote cite::before {
    content: '~ ';
}


/* social sharing / RSS
------------------------------------------------------------ */

.syndicated_details .sharing h2 {
    margin: 1em 0 0.45em;
    padding: 0 0 0.3em;
    border-bottom: 1px solid #ccc;
    font-weight: 400;
}

.syndicated_details .sharing ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.syndicated_details .sharing li {
    display: inline;
    line-height: 0;
}

.syndicated_details .sharing a {
    border-bottom: 0;
}

.syndicated_details .sharing a:hover,
.syndicated_details .sharing a:focus {
    text-decoration: none;
}

.syndicated_details a.fa-rss-square {
    color: #f26522;
}

.syndicated_details a.fa-twitter-square {
    color: #1DA1F2;
}

.syndicated_details a.fa-facebook-square {
    color: #3b5998;
}

.syndicated_details a.fa:hover::before,
.syndicated_details a.fa:focus::before {
    opacity: 0.5;
}


/* archive controls wrapper (search / calendar widgets)
------------------------------------------------------------ */

.archive_controls fieldset {
    margin: 0 0 1em;
    padding: 0;
    border: 0;
}

.archive_controls legend {
    font-weight: 700;
}

.archive_controls h2 {
    font-weight: 400;
}

.archive_controls h2:first-child,
.archive_controls h3:first-child {
    margin-top: 0;
}

.archive_controls select {
    box-sizing: border-box;
    padding: 0.2em;
    border: 1px solid #888;
}

.archive_controls select:focus {
    background: #fdffce;
}


/* search widget
------------------------------------------------------------ */

.search_widget input[type="search"] {
    box-sizing: border-box;
    padding: 0.3em;
    border: 1px solid #888;
    width: 81%;
    font-size: 1em;
}

.search_widget input[type="search"]:focus {
    background: #fdffce;
}

.search_widget button[type="submit"],
.calendar_widget button[type="submit"] {
    box-sizing: border-box;
    margin-left: 0.3em;
    padding: 0.3em 0.6em;
    border: 1px solid #f4c900;
    background-color: #f4c900;
    font-size: 1em;
}

.search_widget button[type="submit"] {
    float: right;
    width: 16%;
}

.search_widget button.active[type="submit"],
.search_widget button[type="submit"]:hover,
.search_widget button[type="submit"]:focus,
.calendar_widget button[type="submit"]:hover,
.calendar_widget button[type="submit"]:focus {
    outline: 0.16em solid #850F19;
    border-color: #ffd263;
    background: #ffd263;
    color: #850F19;
}


/* calendar widget
------------------------------------------------------------ */

.search_widget,
.calendar_widget {
    margin: 0 0 2em;
}

.archive_year {
    opacity: 1;
    visibility: visible;
    transition: opacity 1.5s ease;
}

.archive_year ol {
    margin: 0;
    padding: 0;
    list-style: none;
    font-size: 0;
}

.archive_year li {
    display: inline-block;
    width: 32%;
    margin: 0 2% 2% 0;
    font-size: 16px;
    text-align: center;
}

.archive_year li.no_items {
    padding: 0.75em 0;
    background: #f5f5f5;
    color: #444;
}

.archive_year li:nth-child(3n) {
    margin-right: 0;
}

.archive_year a {
    display: block;
    padding: 0.75em 1em;
    border-bottom: 0;
    background: #850F19;
    text-decoration: none;
    color: #fff;
}

.archive_year a:hover,
.archive_year a:focus {
    border-bottom: 0;
    background: #ad1925;
    color: #fff;
}

.archive_year .current,
.archive_year .current:hover,
.archive_year .current:focus {
    background-color: #f4c900;
    color: #444;
}

.archive_year.offscreen {
    visibility: hidden;
}

.faded {
    opacity: 0.333;
    transition: opacity 1.5s ease;
}


/* pagination
------------------------------------------------------------ */

.pagination {
    padding: 2em 0 0;
    text-align: center;
}

.pagination ol,
.pagination ul {
    display: block;
    margin: 0;
    padding: 0;
    list-style: none;
}

.pagination li {
    display: inline-block;
    margin: 0 0 4px;
    padding: 0;
    background: none;
}

.pagination a,
.pagination b {
    display: inline-block;
    padding: 0.75em 1em;
    background: #850F19;
    text-decoration: none;
    font-size: 0.9em;
    color: #fff;
}

.pagination a:hover,
.pagination a:focus {
    background: #ad1925;
}

.pagination a:active {
    background: #f4c900;
    color: #444;
}

.pagination b {
    background: none;
    font-weight: bold;
    color: #444;
}


/* results
------------------------------------------------------------ */

.pagination_legend p {
    padding: 5px 0;
    line-height: normal;
    text-align: right;
    font-size: 87%;
}

.pagination_current_page {
    float: left;
    line-height: normal;
}


/* options
------------------------------------------------------------ */

.pagination_options {
    margin: 20px 0;
    text-align: center;
}

.pagination_options a {
    border-bottom: 1px dotted;
    text-decoration: none;
}

.pagination_options a:hover,
.pagination_options a:focus {
    border-bottom: 1px solid;
}


/* events calendar
------------------------------------------------------------ */

.browse_calendar {
    position: relative;
    z-index: 1;
    overflow: hidden;
}

.browse_calendar .previous_next_controls {
    margin: 0;
    padding: 0;
    list-style: none;
}

.browse_calendar a.previous,
.browse_calendar a.next {
    display: block;
    position: absolute;
    overflow: hidden;
    top: 0;
    padding: 0.63em;
    border: 0;
    background: #005d93;
    font-size: 1.1em;
    color: #fff;
}

.browse_calendar a.previous {
    left: 0;
}

.browse_calendar a.next {
    right: 0;
}

.browse_calendar a.previous:hover,
.browse_calendar a.previous:focus,
.browse_calendar a.next:hover,
.browse_calendar a.next:focus {
    background: #003c5f;
}

.browse_calendar a.previous:focus,
.browse_calendar a.next:focus {
    outline: 1px solid #f4c900;
}

.browse_month * {
    box-sizing: border-box;
}

.browse_month {
    width: 100%;
    margin: 0 0 3em;
    border-collapse: collapse;
}

.browse_month caption {
    padding: 0.63em 0;
    background: #005d93;
    text-transform: uppercase;
    font-size: 1.1em;
    font-weight: 700;
    color: #fff;
}

.browse_month th,
.browse_month td {
    width: 14.286%;
    max-width: 3em;
    height: 3em;
    margin: 0;
    padding: 0;
    border: 1px solid;
    text-align: center;
    font-weight: 300;
    color: #767676;
}

.browse_month th {
    height: auto;
    padding: 0.6em 0;
    border-bottom: 0;
    border-color: #003c5f;
    background: #003c5f;
    font-weight: 700;
    color: #fff;
}

.browse_month td {
    border-color: #e5e5e5;
    background: #e5e5e5;
}

.browse_month td[aria-label],
.browse_month td.has_link {
    background: #fff;
}

.browse_month td:focus {
    outline: 1px solid #4155a3;
}

.browse_month a {
    display: block;
    max-width: 3em;
    margin: 0 auto;
    padding: 1em 0;
    line-height: 1em;
    text-decoration: none;
    font-weight: 700;
    color: #444;
}

.browse_month a:hover,
.browse_month a:focus {
    max-width: 100%;
    border-radius: 0;
    background: #003c5f;
    color: #fff;
}

.browse_month td.current {
    background-color: #E8B22C;
    color: #444;
}

.browse_month td.current a:focus {
    outline: 1px solid #4155a3;
}


/* sitemap
------------------------------------------------------------ */

.sitemap,
.sitemap ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.sitemap li {
    position: relative;
    padding: 0;
}

.sitemap a {
    display: block;
    position: relative;
    z-index: 1;
    clear: both;
    margin: 0 0 0.1em;
    padding: 0.3em 1em;
    background: #ad1925;
    font-size: 1.1em;
    color: #fff;
}

.sitemap a:hover,
.sitemap a:focus {
    background: #444;
    text-decoration: none;
    color: #eee;
}

.sitemap a:hover::after,
.sitemap a:focus::after {
    display: block;
    position: absolute;
    z-index: 2;
    right: 0;
    top: 0;
    border-right: 0.8em solid #f4c900;
    border-bottom: 0.8em solid transparent;
    content: '';
}

.sitemap li li li a {
    padding-left: 1.5em;
    background: #575757;
    font-size: 1em;
    color: #fff;
}

.sitemap li li li li a {
    padding-left: 2em;
    background: #ccc;
    color: #444;
}

.sitemap li li li li li a {
    padding-left: 2.5em;
    background: #efefef;
    color: #777;
}

.sitemap li li li li li li a {
    padding-left: 3em;
    background: #fff;
}


/* global footer
------------------------------------------------------------ */

footer {
    background: #1f1f1f;
    color: #eee;
}


/* for students / for staff / sitemap buttons
------------------------------------------------------------ */

.footer_utility_links {
    margin: 0 0 2em;
    padding: 0;
    list-style: none;
    text-align: center;
}

.footer_utility_links li {
    display: inline-block;
    margin: 0 0.15em 0.3em;
}

.footer_utility_links a {
    display: block;
    padding: 0.5em 0.76em;
    border-radius: 15em;
    background: #333;
    color: #fff;
}

.footer_utility_links a:hover,
.footer_utility_links a:focus {
    background: #111;
    text-decoration: none;
    color: #fff;
}

.footer_links_wrapper {
    margin-bottom: 2em;
}

.footer_links_heading {
    margin-bottom: 0.6em;
    font-weight: 700;
}

.footer_links {
    margin: 0 0 2em;
}

.footer_links ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.footer_links li {
    margin-bottom: 0.3em;
}

.footer_links a {
    display: block;
    padding: 0.3em 0.6em;
    background: #333;
    color: #f4c900;
}

.footer_links a:hover,
.footer_links a:focus {
    background: #555;
    text-decoration: none;
}

.footer_links a:focus {
    outline: 0.3em solid gold;
}


/* contact details
------------------------------------------------------------ */

.global_contact {
    padding: 0 0 1.5em;
    background-image: url(/global/images/layout/british_isles_sm_2018.png?cb=201809271703);
    background-repeat: no-repeat;
    background-size: 10em;
    background-position: right 2.5em;
}

.uni_logo_footer {
    display: inline-block;
    margin: 0 0 1em;
}

.uni_logo_footer img {
    width: 100%;
    max-width: 100%;
}

.global_contact dl {
    margin: 0;
}

.global_contact dt {
    position: absolute;
    width: 1em;
    height: 1em;
    overflow: hidden;
    left: -9999em;
    top: auto;
}

.global_contact dd {
    margin: 0 0 0.7em;
}

.global_contact dd:last-child {
    margin: 0;
}

.phone a {
    display: inline-block;
    color: #f4c900;
    border-bottom: 1px dotted;
}

.phone a:hover,
.phone a:focus {
    border-bottom: 1px solid;
}

.utility ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.utility li {
    margin: 0 0 0.3em;
}

.utility a {
    color: #f4c900;
}

.utility a:hover,
.utility a:focus {
    text-decoration: underline;
}

.where_are_we {
    margin: 1.3em 0 0;
    font-size: 0.8em;
}


/* custom logos in footer
------------------------------------------------------------ */

.extra_footer_logos {
    background: #fff;
    text-align: center;
    color: #555;
}

.global_extra_footer_logo {
    margin-bottom: 1em;
    text-align: center;
}

.global_extra_footer_logo img {
    margin: 0.25em 0.5em;
}


/* social stuff
------------------------------------------------------------ */

.global_social {
    margin: 0 0 2em;
}

.global_social h2 {
    font-weight: 200;
}

.global_social ul {
    margin: 0;
    padding: 0;
    list-style: none;
    font-size: 2em;
    text-align: center;
}

.global_social li {
    display: inline;
    margin: 0 0.5em 0 0;
}

.global_social li:last-child {
    margin: 0;
}

.global_social a {
    text-decoration: none;
    color: #ccc;
}

.global_social a:hover,
.global_social a:focus {
    text-decoration: none;
}

a.fa-youtube:hover,
a.fa-youtube:focus {
    color: #e52d27;
}

a.fa-twitter:hover,
a.fa-twitter:focus {
    color: #1DA1F2;
}

a.fa-linkedin:hover,
a.fa-linkedin:focus {
    color: #0077B5;
}

a.fa-facebook-square:hover,
a.fa-facebook-square:focus {
    color: #3b5998;
}

a.fa-facebook-official:hover,
a.fa-facebook-official:focus {
    color: #3b5998;
}

a.fa-pinterest:hover,
a.fa-pinterest:focus {
    color: #e52d27;
}

a.fa-instagram:hover,
a.fa-instagram:focus {
    color: #3b5998;
}

a.fa-weibo:hover,
a.fa-weibo:focus {
    color: #e52d27;
}

.global_social h2,
.global_extra_footer_logo h2 {
    position: absolute;
    width: 1em;
    height: 1em;
    overflow: hidden;
    left: -9999em;
    top: auto;
}


/* top of page affordance
------------------------------------------------------------ */

.top_of_page {
    position: relative;
    display: block;
    clear: both;
    width: 7em;
    margin: 0 auto;
    padding: 0.5em;
    background: #333;
    font-size: 0.8em;
    text-align: center;
    color: #eee;
    transition: padding 0.3s ease;
}

.top_of_page::before {
    position: absolute;
    width: 0;
    height: 0;
    right: 0;
    top: 0;
    border-bottom-style: solid;
    border-bottom-color: #333;
    border-bottom-width: 0.5em;
    border-left: 4em solid transparent;
    border-right: 4em solid transparent;
    content: ' ';
    transition: top 0.3s ease;
}

.top_of_page::after {
    position: absolute;
    width: 0;
    height: 0;
    right: 0;
    bottom: 0;
    border-bottom-style: solid;
    border-bottom-color: #333;
    border-bottom-width: 1px;
    border-left: 4em solid transparent;
    border-right: 4em solid transparent;
    content: ' ';
    transition: border-bottom-width 0.3s ease;
}

.top_of_page:hover,
.top_of_page:focus {
    padding-top: 0.1em;
    padding-bottom: 0.9em;
    background: #850F19;
    text-decoration: none;
    color: #eee;
    transition: padding 0.2s ease;
}

.top_of_page:hover::before,
.top_of_page:focus::before {
    top: -0.45em;
    border-bottom-color: #850F19;
    transition: top 0.2s ease;
}

.top_of_page:hover::after,
.top_of_page:focus::after {
    border-bottom-width: 0.5em;
    border-bottom-color: #1f1f1f;
    transition: border-bottom-width 0.2s ease;
}


/* links to srs bsns
------------------------------------------------------------ */

footer .dark {
    padding: 0.5em 0;
}

.legals {
    margin: 0.7em 0 0;
    font-size: 0.8em;
}

.legals li a {
    display: block;
    padding: 0.5em;
    background: #222;
    color: #fff;
    transition: background 0.3s ease-out;
}

.legals li a:hover,
.legals li a:focus {
    background: #444;
    text-decoration: none;
    transition: background 0s;
}

.charity {
    text-align: center;
    font-size: 0.8em;
    line-height: 1;
    color: #888;
}

.charity p {
    margin: 0.7em 0;
    color: rgba(255, 255, 255, 0.7);
}


/* misc styles
------------------------------------------------------------ */

.offscreen {
    position: absolute;
    overflow: hidden;
    width: 1px;
    height: 1px;
    clip-path: inset(100%);
    clip: rect(1px 1px 1px 1px); /* IE 6/7 */
    clip: rect(1px, 1px, 1px, 1px);
    white-space: nowrap;
}

.hidden {
    display: none;
}

.clearfix::before,
.clearfix::after {
    display: table;
    width: 100%;
    content: ' ';
}

.clearfix::after {
    clear: both;
}

.clearfix {
    *zoom: 1;
}

.responsive_table {
    overflow-x: auto;
}


/**
 * Heritage Dark Theme
 *
 * Created 14 Feb 2017
 * Updated 14 Feb 2017
 *
 * @author M Patterson
 */

/**
 * Colours
 * Yellow = #f4c900
 * Yellow Light = #ffff77
 * Red Background Dark = #850F19
 * Red Background Mid = #ad1925
 * Red Background Light = #850F19
 * Orange Dark = #d34416
 */


/* Header area - global nav, section nav and page heading
------------------------------------------------------------ */

#cookie_info_button {
    background: #f4c900;
    color: #5a5a5a;
}

#section_heading {
    background: #850F19;
}

#section_heading a {
    background: #ad1925;
    color: #fff;
}

#section_heading a::before {
    background: #ad1925;
}

#section_heading a::after {
    border-bottom: 6em solid #ad1925;
}

.page_heading {
    background: #E2BCAA;
}

.page_heading h1,
.page_heading b {
    background: #E2BCAA;
    color: #444;
}


/* Left hand navigation
------------------------------------------------------------ */

#primary_nav ul:first-child li:last-child a.current {
    border-left: 4px solid #f4c900;
}

#primary_nav a.current {
    border-left: 4px solid #f4c900;
}


/* Features
------------------------------------------------------------ */

.feature_box .feature_content > h2:first-child::before,
.feature_box .feature_content .feature_heading:first-child::before {
    border-bottom: 0.16em solid #f4c900;
}

.tabcordion_wrapper > .tabcordion_nav > li a[aria-selected='true'] {
    background: transparent;
    box-shadow: 0 -6px 0 #f4c900 inset;
}

.feature_related.no_image {
    background: #ad1925;
    color: #fff;
}


/* Tabcordion
------------------------------------------------------------ */

.tabcordion_loaded.tabcordion > dt a {
    color: #fff;
    background: #ad1925;
}

.tabcordion_loaded.tabcordion > dt a:hover,
.tabcordion_loaded.tabcordion > dt a:focus {
    background: #850F19;
    box-shadow: 0 5px 10px 0 rgba(0, 0, 0, 0.47);
}

.tabcordion_loaded > dt a[aria-selected='true'],
.tabcordion_loaded .tabcordion_loaded .tabcordion_loaded > dt a[aria-selected='true'] {
    background: #850F19;
}

time {
    color: #767676;
}


/* Pagination
------------------------------------------------------------ */

.pagination a {
    background: #850F19;
    color: #fff;
}


/* Blog
------------------------------------------------------------ */

#blog_list header time span:last-child,
#blog_article header time span:last-child {
    background: #ad1925;
}

#comments li::before {
    color: #f4c900;
}

#comments .admin_reply span:first-child::before {
    color: #f4c900;
}


/* Forms
------------------------------------------------------------ */

#form_container legend {
    background: #ad1925 !important;
}

input[type="text"],
input[type="search"],
input[type="email"] {
    -webkit-appearance: none;
}


/* a to z
------------------------------------------------------------ */

.a_to_z {
    margin: 0 0 1em;
    padding: 0;
    list-style: none;
}

.a_to_z li {
    display: inline-block;
    float: left;
    margin: 0 0.2em 0.2em 0;
}

.a_to_z a,
.a_to_z b,
.a_to_z strong {
    display: block;
    width: 1.8em;
    height: 1.8em;
    padding: 0.5em;
    border-bottom: 0;
    background: #005d93;
    line-height: 1.8em;
    text-align: center;
    font-weight: normal;
    color: #fff;
}


.a_to_z a {
    background: #850F19;
    color: #fff;
}

.a_to_z b,
.a_to_z strong {
    background: none;
    color: #444;
}

.a_to_z a:hover,
.a_to_z a:focus {
    border-bottom: 0;
    background: #ad1925;
}

.a_to_z a:active {
    background: #f4c900;
    color: #444;
}

.lede {
    font-size: 1.2em;
}


/* Phase 2 styles in content that need to be replicated in responsive
------------------------------------------------------------ */

/* It's not even green anymore! */
.green_button {
    background-color: #D64300;
    color: #fff;
    border-radius: 15em;
    padding: 0.5em 1em;
    transition: background-color ease 0.3s;
}

.green_button:hover,
.green_button:focus {
    background-color: #A03200;
    text-decoration: none;
}

a.green_button[target $="_blank"]::after {
    color: #fff;
}


/* progressive enhancement
------------------------------------------------------------ */

.no_js .global_header {
    position: static;
    height: auto;
}

.no_js .uni_logo {
    float: left;
    position: static;
    height: auto;
}

.no_js .toggle_controls {
    float: right;
    position: static;
    margin-top: 1.3em;
    margin-right: 5%;
}

.no_js .uni_menu_toggle span {
    display: none;
}

.no_js #global_search {
    clear: both;
    position: static;
    margin: 0 0 1em;
}

.no_js #global_search ul {
    float: none;
}

.responsive_list {
    -webkit-column-count: 1;
    -moz-column-count: 1;
    column-count: 1;
    margin: 0;
}


/* miscellaneous overrides to corporate theme colours
------------------------------------------------------------ */

#journals_list time span:last-child {
    background: #ad1925 !important;
}


@media speech, aural {
    a[href^='tel:'] {
        speak-numeral: digits;
    }
}


/* responsive
------------------------------------------------------------ */

@media only screen and (min-width: 300px) {
    .uni_search_toggle span,
    .uni_menu_toggle span {
        display: inline;
    }

    .uni_logo_footer img {
        width: 300px;
    }
}


@media only screen and (min-width: 320px) {
    .utility_nav li {
        width: 33.333%;
    }

    .utility_nav li:nth-child(3) {
        display: inline-block;
    }
}


@media screen and (min-width: 360px) {
    .no_js .uni_menu_toggle span {
        display: inline;
    }

    #section_nav_wrapper {
        min-width: 22em;
    }
}


@media screen and (min-width: 420px) {
    .global_contact {
        background-position: right center;
    }
}


@media screen and (min-width: 440px) {
    .legals {
        text-align: center;
    }

    .legals li {
        display: inline-block;
    }

    .legals li a,
    .legals li a:hover,
    .legals li a:focus {
        background: inherit;
    }

    .legals li a:hover,
    .legals li a:focus {
        text-decoration: underline;
    }

    .charity {
        clear: both;
    }
}


@media only screen and (min-width: 480px) {
    .uni_logo,
    .logo_extras {
        width: auto;
        left: 5%;
        right: auto;
        text-align: left;
        transition: left 0.3s ease;
    }

    .global_header.has_logo_extras {
        height: 10em;
    }

    .toggle_controls {
        position: absolute;
        width: auto;
        left: auto;
        right: 5%;
        top: 1.5em;
        transition: right 0.3s ease;
    }

    .has_logo_extras .toggle_controls {
        top: 1.3em;
    }

    .uni_search_toggle span,
    .uni_menu_toggle span {
        display: none;
    }

    #global_search {
        box-sizing: border-box;
        top: 5em;
        text-align: right;
        border-left: 0.5em solid #fff;
        border-right: 0.5em solid #fff;
        border-bottom: 0.5em solid #fff;
    }

    .has_logo_extras #global_search {
        top: 10em;
    }

    .contact_toggle,
    #page_footer {
        max-width: 480px;
    }

    .utility_nav ul {
        transition: margin-right 0.3s ease;
    }

    #global_search ul {
        display: block;
        margin: 0 auto;
        float: right;
    }

    .hero_search {
        margin-top: -2em;
    }

    body > header {
        margin: 0 0 2em;
    }

    .global_header {
        height: 5em;
    }

    .utility_nav ul {
        margin-right: 0.6em;
        text-align: right;
    }

    .utility_nav li {
        float: none;
        width: auto;
        line-height: 1.5em;
    }

    #section_nav_wrapper.active {
        top: 5em;
    }

    #section_nav_wrapper.has_logo_extras.active {
        top: 10em;
    }

    .home_page_syndication_wrapper .feature_more {
        float: right;
    }

    .feature_listbox .feature_image {
        position: relative;
        float: left;
        width: 29.666%;
        margin: 0;
    }

    .feature_listbox .feature_box .feature_content {
        float: left;
        width: 100%;
    }

    .feature_listbox .feature_box .feature_image + .feature_content {
        width: 64.834%;
        margin: 0 0 0 5.5%;
    }

    .feature_listbox .feature_box .feature_content > h2,
    .feature_listbox .feature_box .feature_content .feature_heading{
        margin: 0 0 2em;
        padding: 0;
    }

    .feature_listbox .feature_more {
        float: right;
        padding: 0;
        text-align: right;
    }

    .responsive_list {
        -webkit-column-count: 2;
        -moz-column-count: 2;
        column-count: 2;
    }
}


@media screen and (min-width: 600px) {
    body {
        font-size: 17px;
    }

    #primary_nav.collapsed {
        display: block;
    }

    #primary_nav_toggle.toggle {
        display: none;
    }

    .photo_right_aligned {
        float: right;
        margin: 0 0 1em 1em;
    }

    #global_search fieldset {
        border: 1em solid #e5e5e5;
        border-radius: 0.3em;
        background-color: #e5e5e5;
    }

    #global_search button {
        width: 20%;
        height: 55px;
        padding: 0.595em 0;
        border: 0;
        -webkit-border-radius: 0 0.3em 0.3em 0;
        border-radius: 0 0.3em 0.3em 0;
        font-size: 1.5em;
    }

    #global_search #q {
        float: left;
        width: 80%;
        height: 55px;
        padding: 0.9em 0.3em 0.9em 1em;
        border: 1px solid #fff;
        -webkit-appearance: none;
        -webkit-border-radius: 0;
        border-radius: 0;
    }

    #global_search #q:focus {
        border-color: #fdffce;
    }

    #within {
        width: 40%;
        height: 55px;
        padding: 0.9em 2.5em 0.9em 1em;
        border-radius: 0.3em 0 0 0.3em;
        background-position: calc(100% - 20px) 50%;
        margin-bottom: 0;
    }

    .uni_search_toggle span,
    .uni_menu_toggle span {
        display: inline;
    }

    #section_top_level {
        display: block;
    }

    .header_feature {
        padding-bottom: 6em;
    }


    /* priority+
    ------------------------------------------------------------ */

    .priority_plus_more {
        position: relative;
        float: right;
    }

    .priority_plus_more .more_list {
        right: 20000px;
        visibility: hidden;
        opacity: 0;
        transition: opacity 0.5s linear;
    }

    .priority_plus_more.active .more_list  {
        right: 0;
        min-width: 12em;
        max-width: 100%;
        visibility: visible;
        opacity: 1;
        z-index: 3;
    }

    .section_top_level_wrapper .priority_plus_more > a {
        /*border-bottom: 0;
        padding: 0.7em 1em;*/
    }

    .section_top_level_wrapper .priority_plus_more.active > a,
    .section_top_level_wrapper .priority_plus_more:hover > a,
    .section_top_level_wrapper .priority_plus_more:focus > a {
        background: #005d93;
        color: #fff;
    }

    .more_list {
        position: absolute;
        right: 0;
        top: 100%;
        margin: 2px 0 0 0;
        padding: 0;
        background: rgb(23, 70, 158);
        z-index: 3;
    }

    .more_list li {
        display: block;
    }

    .section_top_level_wrapper .priority_plus_more > a::after {
        content: '';
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 7px 5px 0 5px;
        border-color: #fff transparent transparent transparent;
        display: inline-block;
        position: relative;
        top: -1px;
        margin-left: 4px;
        transform: rotateZ(360deg);
        transition: transform 0.3s ease-in-out;
    }

    .section_top_level_wrapper .priority_plus_more > a:hover::after,
    .section_top_level_wrapper .priority_plus_more > a:focus::after {
        border-color: #fff transparent transparent transparent;
    }

    .section_top_level_wrapper .priority_plus_more:active > a::after,
    .section_top_level_wrapper .priority_plus_more.active > a::after {
        border-color: #fff transparent transparent transparent;
        transform: rotateZ(180deg);
    }

    .section_top_level_wrapper .more_list a {
        display: block;
        max-width: none;
        padding: 0.7em 1em;
        border-left: 6px solid #003C5F;
        border-bottom: 0;
        text-align: left;
    }

    .section_top_level_wrapper .more_list a.current {
        border-left-color: #f4c900;
    }

    .section_top_level_wrapper .more_list a:hover,
    .section_top_level_wrapper .more_list a:focus {
        border-left-color: #f4c900;
    }

    .breadcrumb {
        display: block;
    }

    .breadcrumb ol {
        margin: 0;
        padding: 0;
        list-style: none;
        font-size: 0;
    }

    .breadcrumb li {
        display: inline-block;
        padding: 0.3rem 0;
        white-space: nowrap;
        font-size: 1rem;
    }

    .breadcrumb li::after {
        display: inline-block;
        padding: 0 0.5em;
        font-size: 1.2em;
        line-height: 1rem;
        content: '/';
        color: #aaa;
    }

    .breadcrumb li:last-child::after {
        content: '';
    }

    .breadcrumb a {
        display: inline-block;
        text-decoration: none;
    }

    .breadcrumb a:hover,
    .breadcrumb a:focus {
        text-decoration: underline;
    }

    .page_header {
        position: relative;
        margin: 0 0 1em;
    }

    .page_heading {
        position: absolute;
        overflow: hidden;
        width: 100%;
        bottom: 1em;
        background: none;
    }

    .page_heading.no_image {
        position: relative;
        bottom: auto;
        margin: 1em 0;
    }

    .page_heading h1,
    .page_heading b {
        display: inline-block;
        position: relative;
        z-index: 1;
        bottom: 0;
        margin: 0;
        padding-right: 3em;
    }

    .page_heading h1::before,
    .page_heading b::before {
        display: block;
        position: absolute;
        z-index: -1;
        width: 3000%;
        height: 100%;
        top: 0;
        margin-left: -3000%;
        background: #f4c900;
        content: ' ';
    }

    .abdn_row_padded.map {
        position: relative;
        padding-top: 3em;
    }

    .top_of_page {
        position: absolute;
        right: 5%;
        bottom: 0;
    }

    .top_of_page:hover,
    .top_of_page:focus {
        padding-top: 0.5em;
        padding-bottom: 1em;
    }

    .top_of_page:hover::after,
    .top_of_page:focus::after {
        border-bottom-color: #333;
    }

    .section_top_level_wrapper {
        background: #ad1925;
    }

    ul.top_level {
        border-top: 2px solid #ad1925;
    }

    .section_top_level_wrapper a {
        border-bottom: 6px solid #ad1925;
        background: #ad1925;
        color: rgba(255, 255, 255, 0.9);
    }

    .section_top_level_wrapper .more_list a {
        border-left: 6px solid #ad1925;
    }

    .section_top_level_wrapper a:hover,
    .section_top_level_wrapper a:focus {
        border-bottom-color: #f4c900;
        color: #fff;
        background: #850F19;
    }

    .section_top_level_wrapper a.current {
        border-bottom-color: #f4c900;
    }

    .section_top_level_wrapper .priority_plus_more.active > a,
    .section_top_level_wrapper .priority_plus_more:hover > a,
    .section_top_level_wrapper .priority_plus_more:focus > a {
        background: #850F19;
        color: #fff;
    }

    #section_heading {
        background: #850F19;
    }

    .page_heading {
        background: none;
    }

    .page_heading h1::before,
    .page_heading b::before {
        background: #E2BCAA;
    }

    .page_heading h1::after,
    .page_heading b::after {
        border-bottom: 6em solid #E2BCAA;
        border-right: 6em solid transparent;
    }


    /* search / calendar widgets
    ------------------------------------------------------------ */

    .search_widget,
    .calendar_widget {
        float: left;
        width: 47.25%;
        margin-right: 5.5%;
    }

    .search_widget:last-child,
    .calendar_widget:last-child {
        margin-right: 0;
    }
}


@media screen and (min-width: 640px) {
    .students_staff {
        margin: -1em -2% 1em;
    }

    .twitter_embedded {
        float: right;
        width: 48%;
        margin: 0 0 2em 4%;
    }
}


@media screen and (min-width: 680px) {
    .pagination ol,
    .pagination ul {
        display: inline;
    }
}


@media screen and (min-width: 700px) {
    .utility a {
        display: inline;
    }
}


@media screen and (min-width: 740px) {
    .full_width .a_to_z {
        margin-left: 2%;
    }

    .full_width .a_to_z li:nth-child(14) {
        clear: left;
    }

    .full_width .a_to_z li {
        width: calc(100% / 14);
    }

    .full_width .a_to_z a,
    .full_width .a_to_z b {
        width: auto;
    }
}


@media screen and (min-width: 760px) {
    .global_contact {
        background-position: right 2.5em;
    }

    .footer_utility_links {
        float: right;
        max-width: 50%;
        margin: 0 0 2em;
        text-align: right;
    }

    .footer_links_wrapper {
        clear: both;
        margin: 1em 0;
    }

    .footer_links {
        float: left;
        width: 30%;
        margin-right: 5%;
    }

    .footer_links:last-child {
        margin-right: 0;
    }

    .footer_links li {
        margin: 0.6em 0;
        line-height: 1em;
    }

    .footer_links a {
        display: inline;
        padding: 0;
        background: none;
    }

    .footer_links a:hover,
    .footer_links a:focus {
        background: none;
        text-decoration: underline;
    }

    body > footer > .map > .abdn_col {
        position: relative;
    }

    .global_contact {
        float: left;
        width: 50%;
        max-width: 18em;
        margin: 0;
    }

    .global_contact img {
        max-width: 100%;
    }

    .global_extra_footer_logo {
        float: right;
        clear: right;
        max-width: 50%;
        text-align: right;
        padding-bottom: 7em;
    }

    .global_social {
        float: right;
        clear: right;
    }

    .global_social ul {
        text-align: right;
    }

    .global_extra_footer_logo img {
        margin: 0 0 .5em 1em;
    }

    .global_social h2,
    .global_extra_footer_logo h2 {
        position: relative;
        width: auto;
        height: auto;
        overflow: visible;
        left: auto;
        margin: 0 0 0.3em;
        text-align: right;
    }

    .global_extra_footer_logo h2 {
        margin: .5em 0 .6em;
    }
}


@media screen and (min-width: 800px) {
    .page_heading h1,
    .page_heading b {
        max-width: 70%;
        font-size: 2em;
    }

    .fullwidth_left_column {
        float: left;
        width: 64.832%;
        margin-right: 5.5%;
    }

    .fullwidth_right_column {
        float: left;
        width: 29.666%;
    }

    .fullwidth_left_column .abdn_row_padded,
    main > .abdn_row > .abdn_col .fullwidth_left_column .abdn_row_padded:last-child {
        padding: 0;
    }

    .full_width .staff_profile {
        max-width: 42em;
        margin: 0 auto;
    }

    .syndicated_details .image_wrapper,
    .syndicated_details .pullquote,
    .syndicated_details .pullquote_small {
        float: right;
        clear: right;
        width: 19em;
        margin: 0.5em -42.857% 2em 2em;
    }

    .syndicated_details .image_wrapper {
        max-width: 19em;
        float: right;
        margin: 0.5em -42.857% 2em 2em;
    }

    .syndicated_details .pullquote {
        float: right;
        width: 19em;
        margin: 0.5em -42.857% 2em 2em;
    }

    .syndicated_details .pullquote blockquote {
        padding: 0;
    }
}


@media screen and (min-width: 940px) {
    .global_header,
    .global_header.has_logo_extras {
        height: 5em;
        z-index: 1001;
    }

    .uni_logo,
    .logo_extras {
        position: relative;
        float:left;
        left: auto;
        top: auto;
    }

    .logo_extras {
        margin-left: 1.6em;
    }

    .utility_nav ul {
        margin: 0;
    }

    .has_logo_extras #global_search {
        top: 5em;
    }

    .header_feature_img {
        float: right;
        width: 47.25%;
    }

    .header_feature_img img {
        margin-bottom: 0;
    }

    .header_feature_title,
    .header_feature_content,
    .header_feature_more {
        float: left;
        width: 47.25%;
        margin-right: 5.5%;
    }

    .header_feature_title {
        margin-top: 2em;
    }

    .header_feature_content {
        margin-bottom: 2em;
    }

    .content_column {
        float: right;
        width: 64.834%;
        margin: 0 0 0 5.5%;
    }

    .subsection_column {
        float: left;
        width: 29.666%;
    }

    .full_width .content_column {
        float: left;
        margin: 0 5.5% 0 0;
    }

    .full_width .subsection_column {
        float: right;
    }

    #section_nav_wrapper,
    #section_nav_wrapper.can_toggle,
    #section_nav_wrapper.active {
        display: block;
        position: inherit;
        visibility: visible;
        min-width: inherit;
        background: none;
        transition: none;
    }

    #section_nav {
        transform: none;
    }

    #section_nav_wrapper.can_toggle #section_nav {
        border: none;
    }

    #section_nav > h2 {
        position: absolute;
        overflow: hidden;
        width: 1em;
        height: 1em;
        left: -9999em;
        top: auto;
    }

    .full_width #section_nav_wrapper,
    .full_width #section_nav_wrapper.can_toggle,
    .full_width #section_nav_wrapper.active,
    #modal_fade.active {
        display: none;
    }

    .global_nav,
    .uni_menu_toggle {
        display: none;
    }

    .utility_nav {
        width: auto;
        left: auto;
        right: 5%;
        background: none;
    }

    .utility_nav a {
        color: #444;
    }

    .utility_nav a:hover,
    .utility_nav a:focus {
        background: none;
        text-decoration: underline;
        color: #444;
    }

    #global_search {
        top: 5em;
    }


    /* ss animations
    ------------------------------------------------------------ */
    @keyframes fadeIn {
        0%   { opacity: 0; }
        100% { opacity: 1; }
    }

    @keyframes fadeOut {
        0%   { opacity: 1; }
        100% { opacity: 0; }
    }

    .section_contact_details {
        width: 50%
    }

    .pagination a,
    .pagination b {
        font-size: 0.8em;
    }

    .full_width .responsive_list {
        -webkit-column-count: 3;
        -moz-column-count: 3;
        column-count: 3;
        column-gap: 2em;
    }

    .syndicated_details .image_wrapper {
        float: none;
        width: 100%;
        max-width: 100%;
        margin: 0 0 2em;
    }

    .syndicated_details .pullquote {
        float: none;
        width: 90%;
        margin: 2em auto;
    }

    .search_widget,
    .calendar_widget {
        float: none;
        width: 100%;
    }

    .search_widget {
        margin-right: 0;
    }
}


@media screen and (min-width: 960px) {
    body {
        font-size: 18px;
    }

    .footer_links_wrapper {
        float: right;
        clear: right;
    }
}


@media screen and (min-width: 1000px) {
    .legals li {
        line-height: 1;
    }

    #global_search fieldset {
        width: 50%;
        margin-left: 30%;
    }

    #global_search p {
        margin: 2em 18% 0 0;
        text-align: right;
    }

    #global_search ul {
        text-align: right;
        padding-right: 5%;
    }
}


@media screen and (min-width: 1100px) {
    .students_staff {
        float: right;
        margin: -0.5em 0 0.5em;
        padding: 0;
        background: none;
    }

    .students_staff li {
        line-height: 1em;
    }

    .students_staff a {
        color: inherit;
    }

    .students_staff a:hover,
    .students_staff a:focus {
        background: none;
        text-decoration: underline;
    }

    .twitter_embedded {
        width: 33.333%;
    }

    .column_container {
        clear: both;
    }

    .footer_links_wrapper {
        width: 70%;
        max-width: 35em;
    }
}


@media screen and (min-width: 1154px) {
    .programme_menu a.active {
        border-bottom: 1px solid #f4c900;
    }
}


@media screen and (min-width: 1200px) {
    .syndicated_content_col {
        float: left;
        width: 51.52%;
        margin-right: 8.48%;
    }

    .syndicated_controls_col {
        float: right;
        width: 40%;
    }

    .syndicated_details .pullquote {
        float: right;
        width: 19em;
        margin: 0.5em -42.857% 2em 2em;
    }

    .syndicated_details .pullquote blockquote {
        padding: 0;
    }

    .syndicated_details .image_wrapper {
        max-width: 19em;
        float: right;
        margin: 0.5em -42.857% 2em 2em;
    }

    .archive_controls {
        margin-bottom: 4em;
    }
}


@media screen and (min-width: 1220px) {
    .a_to_z li:nth-child(14) {
        clear: left;
    }
}


@media screen and (min-width: 1281px) {
    .uni_logo {
        left: 0;
    }

    .utility_nav {
        right: 0;
    }

    .toggle_controls {
        right: 0;
    }

    .page_header {
        margin: 0 auto 1em;
    }

    .page_heading h1,
    .page_heading b {
        left: 50%;
        margin-left: -600px;
        padding-left: 0;
    }

    body > header {
        margin: 0 0 2em;
    }

    .abdn_row_padded {
        padding: 4em 0;
    }

    .abdn_row_padded.map {
        padding-top: 4em;
    }

    main > .abdn_row {
        padding: 0 0 4em;
    }

    main .abdn_row_padded .abdn_col::before {
        margin: -4em 0 0;
        padding: 0 0 4em;
        border-top: 1px solid #e4e4e4;
    }

    .abdn_col {
        padding-left: 0;
        padding-right: 0;
    }

    .global_social {
        right: 0;
    }

    .feature_listbox .feature_box {
        margin: 0 0 4em;
        padding: 0 0 4em;
    }

    .feature_listbox:last-child .feature_box {
        margin: 0;
        padding: 0;
    }
}
