/* General Styles */
@font-face { 
	font-family: 'Montserrat';
    src: url('/styles/fonts/Montserrat-Regular.ttf') format('truetype');
}
@font-face { 
	font-family: 'Montserrat';
    src: url('/styles/fonts/Montserrat-Italic.ttf') format('truetype');
    font-style: italic;
}
@font-face { 
	font-family: 'Montserrat';
    src: url('/styles/fonts/Montserrat-Bold.ttf') format('truetype');
    font-weight: bold;
}
@font-face { 
	font-family: 'MontserratSemiBold';
    src: url('/styles/fonts/Montserrat-SemiBold.ttf') format('truetype');
}
@font-face { 
	font-family: 'MontserratExtraBold';
    src: url('/styles/fonts/Montserrat-ExtraBold.ttf') format('truetype');
}
@font-face {
    font-family: 'FontAwesome';
    font-style: normal;
    font-weight: 900;
    font-display: block;
    src: url('/styles/fonts/fa-solid-900.ttf') format("truetype");
}  
html, body {
	font-family: Montserrat;
	color: #35474F;
	width: 100%;
    height: 100%;
	margin: 0px;
	padding: 0px;
    overflow-x: hidden;
    min-width: 320px;
}
body {
	background-color: White;
	-webkit-tap-highlight-color: rgba(0,0,0,0);
    -webkit-tap-highlight-color: transparent;
    overflow-y: scroll;
}
:focus { outline: 0px; }
div, a, li {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
a { cursor: pointer; }
a:link, a:visited, a:hover, a:active {
	color: inherit;
	text-decoration: none;
}
a.dotted { border-bottom: 1px dotted #455A64; }
a.dottedw { border-bottom: 1px dotted White; }
p { margin: 0px; }
div.mw {
    max-width: 1024px;
    margin: 0 auto;
    position: relative;
}
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-thumb { background-color: #CCD1D9; }
body::-webkit-scrollbar-track { background-color: #eee; }
picture {
    font-family: FontAwesome !important;
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    line-height: 1;
}

/* Header (Toolbar & Banner) */
header ul, header li {
    margin: 0px;
    padding: 0px;
}
.nav {
    list-style: none;
}
.nav:before, .nav:after {
    content: " "; 
    display: table; 
}
.nav:after { clear: both; }
.nav ul { list-style: none; }
.nav li {
    position: relative;
    cursor: pointer;
}
.nav > li > a { display: block; }
.nav li ul {
    position: absolute;
    right: 9999px;
    z-index: 100;
}
.nav .sep { border-bottom: 1px solid #36474F; }
.nav li li:hover > a { background-color: #F1F5F8; }
.nav li li a {
    display: block;
    background-color: White;
    position: relative;
    z-index: 100;
}
.nav li li li a {
    background-color: White;
    z-index: 200;
}
header {
    background: #B71B1C;
    background-size: cover !important;
    background-position: top !important;
    position: relative;
}

/* Toolbar - Mobile */
@media (max-width: 900px) {
    #top_mobile { max-width: 100%; }
	#top_desktop { display: none; }
    a.toggleMenu {
        padding: 0px;
        height: 72px;
        width: 72px;
        padding: 14px;
        background-repeat: no-repeat;
        background-size: 40px 40px;
        background-position: center;
        float: right;
    }
    header a.toggleMenu { background-image: url("/images/mob_menu_0.svg"); }
    header a.toggleMenu.active { display: inline-block; }
    header a.toggleMenu.active { background-color:#de1919; }
    header a.toggleMenu:hover { background-image: url("/images/mob_menu_0.svg"); }
    .nav {
        display: none;
        clear: both;
    }
    header a.toggleMenu:hover { background-color: #de1919; }
    header .nav { background-color: #B71B1C; }
    .nav > li { float: none; }
    header .nav > li:hover { background-color: #de1919; }
    .nav > li > .parent {
        background-image: url("/images/icons/arr_down_white.svg");
        background-repeat: no-repeat;
        background-position: 97% 50%;
        background-size: 16px 16px;
    }
    .nav li li .parent {
        background-image: url("/images/icons/arr_down_grey.svg");
        background-repeat: no-repeat;
        background-position: 97% 50%;
        background-size: 16px 16px;
    }
    .nav > li.hover > .parent { background-image: url("/images/icons/arr_up_white.svg"); }
    .nav li li.hover .parent { background-image: url("/images/icons/arr_up_grey.svg"); }
    header ul {
        display: block;
        width: 100%;
        text-align: left;
    }
    .nav > li.hover > ul , .nav li li.hover ul { position: static; }
    .nav li li a {
        border-top: 1px solid #f5f5f5;
        color: #36474F;
        font-weight: normal;
        font-size: 11pt;
    }
    .nav li li.linetop a { border-top: 1px dotted #79919D; }
    .nav li li li a { padding-left: 25px; }
    .nav p { display: none; }
    .nav img, .nav svg {
        width: 24px;
        height: 24px;
        vertical-align: -7px;
        margin-right: 7px;
    }
    .nav a {
        padding: 15px;
        color: White;
        font-size: 12pt;
    }
    header { 
        background-size: cover;
        min-height: 72px;
    }
    header div.mw { padding: 0px; }
    header img.logo {
        float: left;
        height: 56px;
        margin: 8px 15px;
    }
    div.toolbar {
        position: relative;
        z-index: 100;
    }
}
/* Toolbar - Tablet & Desktop */
@media (min-width: 901px) {
    body {
        display: flex;
        flex-direction: column;
    }
    a.toggleMenu { display: none; }
    header div.mw div > ul {
        display: block;
        text-align: left;
        margin: 18px 7px;
    }
    header div.mw div { float: right; }
    header div.mw { padding: 0px; }
    header img.logo {
        float: left;
        height: 56px;
        margin: 8px 15px;
    }
    header .nav a {
        padding: 10px;
        color: #455A65;
        font-size: 0.8em;
        white-space: nowrap; 
        overflow: hidden;
        text-overflow: ellipsis;
    }
    /* Level 1 Menu - toolbar */
    header .nav > li {
        float: left;
        height: 36px;
        border-radius: 5px;
    }
    header .nav > li > a picture { margin-left: 5px; }
    header .nav > li > a picture:before { content: "\f0d7"; }
    header .nav > li > a.piconly { padding: 8px 8px 0px 8px; }
    header .nav > li > a {
        text-align: center;
        font-size: 12pt;
        font-weight: bold;
        padding: 8px 15px 0px 15px;
    }
    header .nav > li > a { color: White; }
    header .nav > li > a > img {
        vertical-align: -9px;
        width: 26px;
        height: 22px;
    }
    header .nav > li:hover { background-color: #de1919; }
    header ul.nav { text-align: left; }
    header .nav > li.dd { border-radius: 5px 5px 0px 0px; }
    /* Level 2 Menu - drop-down menu */
    header .nav li ul {
        border-radius: 5px;
        width: 190px;
        top: 36px;
        border: 1px solid #79919D;
    }
    header .nav > li.hover > ul:not(.rhs) { left: 0px; }
    header .nav > li.hover > ul.rhs { right: 0px; }
    header .nav li li img {
        width: 24px;
        height: 24px;
        vertical-align: -7px;
        margin-right: 7px;
    }
    header .nav li li img.flag {
        height: 18px;
        vertical-align: -6px;
        border: 1px solid #455A65;
    }
    header .nav > li > ul > li:has(ul) > a {
        background-image: url("/images/icons/arr_right.svg");
        background-repeat: no-repeat;
        background-position: 94% 50%;
        background-size: 12px 12px;
    }
    header .nav > li > ul > li:has(ul).hover > a { background-image: url("/images/icons/arr_left.svg"); }
    header .nav > li:not(:last-child) > ul { border-radius: 0px 5px 5px 5px; }
    header .nav > li:not(:last-child) > ul.rhs { border-radius: 5px 0px 5px 5px; }
    header .nav > li > ul:not(.rhs) > li:first-child > a { border-radius: 0px 5px 0px 0px; }
    header .nav > li > ul > li:first-child:has(ul).hover > a { border-radius: 0px 0px 0px 0px; }
    header .nav > li > ul.rhs > li:first-child > a { border-radius: 5px 0px 0px 0px; }
    header .nav > li > ul > li:last-child > a { border-radius: 0px 0px 5px 5px; }
    header .nav > li > ul:not(.rhs) > li:last-child:has(ul).hover > a { border-radius: 0px 0px 0px 5px; }
    header .nav > li > ul.rhs > li:last-child:has(ul).hover > a { border-radius: 0px 0px 5px 0px; }
        
    /* Level 3 Menu - sub-menu */
    header .nav li li.hover ul {
        top: -1px;
        width: 190px;
    }
    header .nav > li > ul:not(.rhs) > li.hover > ul { left: 100%; }
    header .nav > li > ul > li.hover > ul.rhs { left: -191px; }
    header .nav > li > ul.rhs > li.hover > ul { right: 100%; }
    header .nav > li > ul:not(.rhs) > li > ul > li:first-child > a { border-radius: 0px 5px 0px 0px; }
    header .nav > li > ul:not(.rhs) > li > ul > li:last-child > a { border-radius: 0px 0px 5px 0px; }
    header .nav > li > ul.rhs > li > ul > li:first-child > a { border-radius: 5px 0px 0px 0px; }
    header .nav > li > ul.rhs > li > ul > li:last-child > a { border-radius: 0px 0px 0px 5px; }
    header .nav > li > ul > li > ul { border-radius: 0px 5px 5px 0px; }
    header .nav > li > ul.rhs > li > ul { border-radius: 5px 0px 0px 5px; }
    /* Level 3 Menu - sub-menu (bottom) */
    header .nav > li > ul.smb:not(.rhs) > li:last-child > ul { border-radius: 0px 5px 5px 5px; }
    header .nav > li > ul.smb:not(.rhs) > li > ul > li:last-child > a { border-radius: 0px 0px 5px 5px; }
    header .nav > li > ul.smb.rhs > li:last-child > ul { border-radius: 5px 0px 5px 5px; }
    header .nav > li > ul.smb.rhs > li > ul > li:last-child > a { border-radius: 0px 0px 5px 5px; }
}

/* Navigation Breadcrumbs */
nav.bread ul {
    display: inline-block;
    margin: 0px;
    padding: 2px 3px 3px 3px;
    border-radius: 5px;
    background-color: #35474F;;
    font-size: 10pt;
}
nav.bread li {
    display: inline-block;
    margin: 0px;
    padding: 3px 8px;
    color: White;
    cursor: default;
}
nav.bread li img {
    width: 12px;
    height: 10px;
}
nav.bread li.home img {
    width: 14px;
    height: 14px;
    margin-right: 3px;
    vertical-align: -1px;
}
nav.bread li.home:before {
    content: "\f015";
    font-family: FontAwesome !important;
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    line-height: 1;
    margin-right: 8px;
}
nav.bread li.sep { padding: 3px 0px; }

/* Main Content */
main {
    flex: 1;
    font-size: 12pt;
    text-align: left;
    line-height: 160%;
}
main > div.mw:first-child { padding-top: 0px; }
main > div.mw > ul li { margin-top: 7px; }
main img { max-width: 100%; }
img.icon {
    height: 24px;
    width: 24px;
}
.sml_grey {
    color: #536D7A;
    font-size: 10pt;
    text-align: justify;
    line-height: 16pt;
}
@media (max-width: 800px) {
    main div.mw {
        padding: 25px 10px;
        font-size: 13pt;
    }
}
@media (min-width: 801px) {
    main div.mw {
        padding: 25px 15px;
        font-size: 12pt;
    }
}

/* Headings & Text */
h1, h2, h3, h4, h5, h6 {
    font-weight: bold;
    line-height: 125%;
    margin: 8px 0px;
}
h4 { font-size: 18pt; }
h5 { font-size: 15pt; }
h6 {
    font-size: 14pt;
    margin: 4px 0px;
}
@media (max-width: 800px) {
    h1 { font-size: 48pt; }
    h2 { font-size: 36pt; }
    h3 { font-size: 26pt; }
}
@media (min-width: 801px) {
    h1 { font-size: 48pt; }
    h2 { font-size: 36pt; }
    h3 { font-size: 24pt; }
}
.f10 { font-size: 10pt !important; }
.f11 { font-size: 11pt !important; }
.f12 { font-size: 12pt !important; }
.f14 { font-size: 14pt !important; }
.f16 { font-size: 16pt !important; }
.f18 { font-size: 18pt !important; }

.tred { color: #B71B1C !important; }
.tgreen { color: #689F39 !important; }
.tdgr { color: #35474F !important; }
.tmgr { color: #536d7a !important; }
.twht { color: White !important; }
.tlgr { color: #B0BFC6 !important; }
.tyell { color: #f0b803 !important; }

.t25 { opacity: 0.25; }
.t50 { opacity: 0.50; }
.t75 { opacity: 0.75; }

.lh100 { line-height: 100% !important; }
.lh150 { line-height: 150% !important; }
.lh165 { line-height: 165% !important; }
.lh200 { line-height: 200% !important; }

.bold { font-weight: bold; }
.bolder { font-weight: bolder; }
.nobold {
    font-family: 'Montserrat' !important;
    font-weight: normal !important;
}
.italic { font-style: italic; }

.center { text-align: center !important; }
.justify { text-align: justify !important; }
.right { text-align: right !important; }

.lh100 { line-height: 100%; }
.lh125 { line-height: 125%; }
.lh150 { line-height: 150%; }

.hidden { display: none !important; }

/* Footer - All */
footer.top {
    background-color: #36474f;
    color: #CFD8DC;
}
footer.top img { height: 40px; }
footer.bottom {
    background-color: #273238;
    color: #CFD8DC;
}
footer div.mw { padding: 25px 15px; }
footer ul {
    margin: 0px;
	padding: 0px;
    list-style: none;
}
footer nav { color: White; }
div.tac { text-align: right; }
div.tac li.sep {
    font-size: 16pt;
    line-height: normal;
}
div.tac img {
    width: auto;
    height: 20px;
    vertical-align: -4px;
    margin-right: 7px;
}
div.tac a:last-child img.sm { margin-right: 0px; }
footer li.logo img { width: 200px; }

/* Footer - Mobile */
@media (max-width: 900px) {
    footer nav { font-size: 1.3em; }
    footer li {
        display: block;
        text-align: center;
        padding: 5px 0px;
    }
    footer nav section { display: none; }
    div.tac {
        padding-top: 8px;
        font-size: 1em;
    }
    footer nav li.sep, div.tac li.sep { display: none; }
    main { padding: 0px; }
    div.tac img.sm {
        width: 32px;
        height: 32px;
        margin-left: 10px;
    }
    main ul { padding-left: 20px; }
    .deskonly { display: none; }
}

/* Footer - Tablets & Desktops */
@media (min-width: 901px) {
    footer nav { font-size: 14pt; }
    footer li { display: inline; }
    footer nav ul { display: flex; }
    footer nav ul li {
        flex: 1 1;
        margin: 0px 12px;
    }
    footer nav ul li:first-child { margin-left: 0px; }
    footer nav ul li:last-child { margin-right: 0px; }
    footer nav section {
        color: #CFD8DC;
        font-size: 10pt;
    }
    footer nav li > a:first-child {
        white-space: nowrap;
        font-size: 11pt;
        font-family: Montserrat;
    }
    footer nav section a {
        display: block;
        font-size: 10pt;
        margin: 4px 0px;
        text-wrap: nowrap;
    }
    div.tac { font-size: 0.9em; }
    div.tac li.sep, footer nav li.sep { margin: 4px; }
    main { padding: 0px; }
    .mobonly { display: none; }
}

/* Development Bar */
div.devbar {
    background-color: #FFC300;
    color: #37474F;
    font-size: 10pt;
    text-align: center;
}
div.devbar div.mw { padding: 10px 0px; }
div.devbar picture {
    font-size: 14pt;
    margin-right: 5px;
    vertical-align: -3px;
}

/* Privacy Bar */
div.privbar {
    background-color: #37474F;
    color: White;
    font-size: 0.9em;
}
div.privbar div.mw {
    padding: 7px 7px 0px 7px; 
    text-align: center;
}
div.privbar a:not(.buttons) { border-bottom: 1px dotted #eee; }