body, input, textarea, select { font: normal 12px/18px Arial, Helvetica, sans-serif; }
a:link, a:visited, a:hover, a:active, a:focus { color: #3169a8; }
a:hover { text-decoration: underline; }
a.disabled:link,a.disabled:visited,a.disabled:hover,a.disabled:active,a.disabled:focus,a.disabled:hover
    {
    color: gray;
    cursor: default;
    text-decoration: none;
}
hr {
    border: 0 none;
    border-top: 1px solid #dedede;
    clear: both;
    height: 1px;
    margin: 18px 0 17px 0;
}

/* ---FONTS--- */
.milo {
    font-weight: normal;
    font-family: MiloSerifOffcMedium, Georgia, serif;
}
em.milo, i.milo, .milo-ital, .milo em, .milo i {
    font-weight: normal;
    font-family: MiloSerifOffcMediumItalic, Georgia, serif;
}
.arial { font-family: Arial, Helvetica, sans-serif; }

/* ---FIXES--- */
.box:before,
.box:after {
    content: "\0020";
    display: block;
    height: 0;
    visibility: hidden;
}
.box:after { clear: both; }
.box { zoom: 1; }
.ie7 img { -ms-interpolation-mode: bicubic; }

/* STANDARD MARGIN/PADDING */
.mb-sm { margin-bottom: 18px; }
.mb-med { margin-bottom: 36px; }
.mb-lg { margin-bottom: 50px; }

/* ---HEADERS/BODY TEXT--- */
.fnt-header-a { font-size: 24px; }
.fnt-header-b { font-size: 20px; }
.fnt-header-c { font-size: 18px; }
.fnt-header-d, .fnt-link-a { font-size: 14px; }
.fnt-body-a, .fnt-link-b { font-size: 12px; }
.fnt-product-desc { font-size: 11px; line-height: 15px; }
.h1 { font: normal 24px MiloSerifOffcMedium, Georgia, serif; }
.h2 { font: normal 20px MiloSerifOffcMedium, Georgia, serif; }
.h3 { font: normal 18px MiloSerifOffcMedium, Georgia, serif; }
.h4 { font: normal 14px MiloSerifOffcMedium, Georgia, serif; }
.bold, .strong { font-weight:bold; }
.p { margin:1em 0em; }
.p.first { margin:0 0 1em 0; }

/* --UP/DOWN Caret-- */
a.caret-up,
span.caret-up,
a.caret-down,
span.caret-down {
    height: .6em;
    width: 10px;
    margin: 4px 0 0 .6em;
    display: inline-block;
    //margin-top: -10px;
    background: url('/resources/images/common/sprite-icons.png?CACHEBUSTER') no-repeat;
}
a.caret-up,
span.caret-up {background-position: 0 -900px;}
a.caret-down,
span.caret-down { background-position: 0 -1000px;}

a.caret-left,
span.caret-left,
a.caret-right,
span.caret-right {
    height: 10px;
    width: 8px;
    display: inline-block;
    //margin-top: -10px;
    background: url('/resources/images/common/sprite-icons.png?CACHEBUSTER') no-repeat;
}
a.caret-right,
span.caret-right {
    background-position: 0 -300px;
    margin-left: 2px;
}
a.caret-left,
span.caret-left {
    background-position: 0 -200px;
    margin-right: 2px;
}

/* ---- aside/section styling ----- */
aside.shadowed, section.wide-shadow {
    position: relative;
}
section.wide-shadow { padding-right:10px; }
aside.shadowed:before {
    background: url('/resources/images/widgets/aside-shadow.png') no-repeat;
    content: '';
    position: absolute; right: -4px; top: 0;
    width: 5px; height: 100%;
}
aside.shadowed:after {
    background: url('/resources/images/widgets/aside-shadow.png') bottom no-repeat;
    content: '';
    position: absolute; right: -4px; bottom: 0;
    width: 5px; height: 200px;
}
section.border {
    border-right:solid 1px #cfcdc2;
    padding-right:15px;
}

section.wide-shadow:before {
    background: url('/resources/images/widgets/section-shadow.jpg?CACHEBUSTER') no-repeat;
    content: '';
    position: absolute; right: -15px; top: 0;
    width: 16px; height: 100%;
}
section.wide-shadow:after {
    background: url('/resources/images/widgets/section-shadow.jpg?CACHEBUSTER') bottom no-repeat;
    content: '';
    position: absolute; right: -15px; bottom: 0;
    width: 16px; height: 800px; max-height: 100%;
}

/* ---- page content wrapper styling ----- */
div.page-content-wrapper.bottom-separator {
    border-bottom:1px solid #DEDEDE;
}

/*---- Column Positioning ----------- */
section.page-content.left-column {
    float:left;
}
section.page-content.right-column {
    float:right;
}

/* --- Tooltip Style ---------------- */
.tooltip {
    display:inline-block;
    width:18px;
    height:18px;
    background: url('/resources/images/common/sprite-ui-controls.png?CACHEBUSTER') 0 -1840px no-repeat;
}
.tooltip:hover {
    cursor:pointer;
    background-position: 0 -1860px;
}

span.vert-sep {
    background: url(/resources/images/common/sprite-ui-bkgds.png?CACHEBUSTER) 0 -1500px no-repeat;
    vertical-align: middle;
}

a.left-arrow {
    background:url('/resources/images/common/sprite-icons.png?CACHEBUSTER') left -198px no-repeat; /* blue arrow */
    padding-left:11px;
}
a.right-arrow {
    background:url('/resources/images/common/sprite-icons.png?CACHEBUSTER') right -297px no-repeat; /* blue arrow */
    padding-right:11px;
}
a.right-down-arrow {
    background:url('/resources/images/common/sprite-icons.png?CACHEBUSTER') right -995px no-repeat; /* blue arrow */
    padding-right:12px;
}

/* styled close button */
.styled-close {
    background: url("/resources/images/common/sprite-ui-controls.png?CACHEBUSTER") 0 -960px no-repeat;
    height: 22px;
    width: 24px;
    cursor: pointer;
    display: inline-block;
    vertical-align: top;
}
.styled-close:hover {
    background-position: 0 -1000px;
    text-decoration: none;
}
.styled-close:active {
    background-position: 0 -1040px;
    text-decoration: none;
}

/* styled close button with a custom border */
.styled-close-custom-border {
    background: url("/resources/images/common/sprite-ui-controls.png") -1px -961px no-repeat;
    height: 20px;
    width: 22px;
    cursor: pointer;
    display: inline-block;
    vertical-align: top;
    border: 1px solid #ceccc1;
}
.styled-close-custom-border:hover {
    background-position: -1px -1001px;
    text-decoration: none;
}
.styled-close-custom-border:active {
    background-position: -1px -1041px;
    text-decoration: none;
}

/* --- YUI Autocompletes Dropdown --- */
.yui3-aclist-content {
    background-color: #FFFFFF;
    border: 1px solid #CCCCCC;
    box-shadow: 0px 2px 5px -1px rgba(0, 0, 0, .2);
        -moz-box-shadow: 0px 2px 5px -1px rgba(0, 0, 0, .2);
        -webkit-box-shadow: 0px 2px 5px -1px rgba(0, 0, 0, .2);
    font-family: Arial, Helvetica, sans-serif;
    padding: 2px;
}
.yui3-aclist-content .yui3-aclist-item {
    color: #000000;
    font-weight: bold;
    height: 16px;
    line-height: 16px;
    margin: 4px 0px;
    padding-left: 12px;
}
.yui3-aclist-content .yui3-aclist-item-active,
.yui3-aclist-content .yui3-aclist-item-hover {
    background-color: #EBE9E1;
}
.yui3-aclist-content .yui3-aclist-item .yui3-highlight {
    font-weight: normal;
}

/* --- YUI Progressive Enhancement --- */
.yui3-js-enabled .hide-if-js {
    display: none !important;
}

/* --- YUI Modal Overlays --- */
.hide {
    display: none !important;
}

/* style for ajax error message */
.ajax-error .message {
    padding: 36px;
    font-family: MiloSerifOffcMedium,Georgia,sans-serif;
    font-size: 18px;
    color: #6b6b6a;
    line-height: 1.5em;
}

h2 span.small-linked {
    font : normal 12px Arial;
    line-height:18px;
}

/* shadow bar */
.shadow-bar-header {
    color: #000000;
    font-size: 18px;
    line-height: 18px;
    padding-bottom: 10px;
}
.shadow-bar-header.major,
.shadow-bar-header.overlayHead {
    font-size: 24px;
    line-height: 24px;
}
.shadow-bar {
    background: url("/resources/images/common/sprite-horizontal-tiles.png?CACHEBUSTER") 0 -620px repeat-x;
    height: 18px;
    position: relative;
}
.shadow-bar:empty:after {
    content: "\0020";
}
.shadow-bar:empty:after,
.shadow-bar .fade-right {
    background: url("/resources/images/common/sprite-ui-bkgds.png?CACHEBUSTER") 0 -1299px no-repeat;
    position: absolute;
    top: 0;
    right: 0;
    width: 79px;
    height: 13px;
}

h2.bottom-border-arrow, .bottom-border-arrow h2,
h2.bottom-border-arrow-wide, .bottom-border-arrow-wide h2 {
    font: 18px MiloSerifOffcMedium, Georgia, serif;
    color: #000;
}
.bottom-border-arrow,
.bottom-border-arrow-wide {
    padding-bottom: 26px;
    margin-bottom: 12px;
    *height:26px; height:26px\9;
    background:url('/resources/images/common/sprite-ui-bkgds.png?CACHEBUSTER') 0 0 no-repeat;
}
.bottom-border-arrow {background-position: 0 -1070px;}
.bottom-border-arrow-wide {background-position: 0 -466px; /* for standard 18px headers */}

/* --- Layout Helpers --- */
.clickable { cursor: pointer; }

/* --- CSS Simple Base; Used for Content with basic html --- */
.simple-html b, .simple-html strong {
    font-weight: bold;
    font-style: inherit;
}
.simple-html i, .simple-html em {
    font-style: italic;
    font-weight: inherit;
}
.simple-html p { margin:1em 0em; }
.simple-html h1, .simple-html h2, .simple-html h3, .simple-html h4, .simple-html h5, .simple-html h6 {
    font-weight: bold;
    line-height: 1.25;
}
.simple-html ul, .simple-html ol {
    margin: 1em 0;
    padding-left: 40px;
}
.simple-html ul { list-style-type:disc; }
.simple-html ol { list-style-type:decimal; }
.simple-html li { display: list-item; }
.simple-html img { border:none; }
/* need an image with a wider width */


/* --- BUTTON SPRITE (sprite-btns.png?CACHEBUSTER) --- */
/* Includes Branded, Primary, Secondary, Secondary Short,
Tertiary, Tertiary Short buttons and all user states */
button, .button {
    background-repeat: no-repeat;
    border-width: 0px;
    color: #FFFFFF;
    font-family: MiloSerifOffcMedium, Georgia, serif;
    font-size: 18px;
    font-weight: normal;
    height: 38px;
    line-height: 38px;
    padding: 0 16px;
}
a.button {color: #FFFFFF;}

button:after, .button:after {
    content: "";
    height: 100%;
    position: absolute;
    right: 0;
    top: 0;
    width: 7px;
}

/* Firefox hacks */
button:-moz-locale-dir(ltr):after {
    right: 16px;
        /* Firefox 10+ de-hack */
        -moz-transform: translate3d(16px, 0px, 0px);
    top: -9px;
        /* Firefox 4+ de-hack */
        top: -moz-calc(0px);
}

button, .button,
button:after, .button:after {
    background-image: url(/resources/images/common/sprite-btns.png?CACHEBUSTER);
}

button.small, .button.small {
    font-size: 14px;
    padding: 0 18px;
    text-transform: none;
    height: 26px;
    line-height: 26px !important;
}

/* Firefox hacks */
button.small:-moz-locale-dir(ltr):after {
    right: 18px;
        /* Firefox 10+ de-hack */
        -moz-transform: translate3d(18px, 0px, 0px);
    top: -5px;
        /* Firefox 4+ de-hack */
        top: -moz-calc(0px);
}

button.disabled, .button.disabled,
button[disabled], *[disabled].button {
    border-width: 1px !important;
    height: 36px;
    line-height: 36px !important;
    padding: 0px 15px !important;
    text-transform: none;
}

button.disabled.small, .button.disabled.small,
button.small[disabled], *[disabled].button.small {
    padding: 0 17px !important;
    height: 24px;
    line-height: 24px !important;
}
button.disabled.slim, .button.disabled.slim,
button.slim[disabled], *[disabled].button.slim {
    height: 19px;
    line-height: 19px!important;
    padding: 0px 12px;
    z-index: 10;
}
button.disabled:after, .button.disabled:after,
button[disabled]:after, *[disabled].button:after {
    display: none !important;
}

button.branded, .button.branded {background-position: left 0;}
button.branded:hover, .button.branded:hover {background-position: left -39px;}
button.branded:active, .button.branded:active {background-position: left -78px;}
button.branded:after, .button.branded:after {background-position: right 0;}
button.branded:hover:after, .button.branded:hover:after {background-position: right -39px;}
button.branded:active:after, .button.branded:active:after {background-position: right -78px;}

button.primary, .button.primary {background-position: left -131px;}
button.primary:hover, .button.primary:hover {background-position: left -170px;}
button.primary:active, .button.primary:active {background-position: left -209px; background-position: left -208px\9;}
button.primary:after, .button.primary:after {background-position: right -131px;}
button.primary:hover:after, .button.primary:hover:after {background-position: right -170px;}
button.primary:active:after, .button.primary:active:after {background-position: right -209px; background-position: right -210px\9;}

button.primary.small, .button.primary.small {background-position: left -706px;}
button.primary.small:hover, .button.primary.small:hover {background-position: left -733px;}
button.primary.small:active, .button.primary.small:active {background-position: left -760px;}
button.primary.small:after, .button.primary.small:after {background-position: right -706px;}
button.primary.small:hover:after, .button.primary.small:hover:after {background-position: right -733px;}
button.primary.small:active:after, .button.primary.small:active:after {background-position: right -760px}

button.secondary, .button.secondary {
    background-position: left -259px;
    color: #3169A8;
}
input[type=submit].button.secondary {
    border-right: 1px solid #A5A299;
}
button.secondary, input[type=submit].button.secondary {
    //border: 1px solid #A5A299;
    //background-position: -2px -261px;
    //line-height: 34px;
}
a.button.secondary {
    //border-right: 1px solid #A5A299;
}
button.secondary:hover, .button.secondary:hover {
    background-position: left -298px;
    color: #FFFFFF;
}
button.secondary:active, .button.secondary:active {
    background-position: left -337px;
    color: #FFFFFF;
}
button.secondary:after, .button.secondary:after {background-position: right -259px;}
button.secondary:hover:after, .button.secondary:hover:after {background-position: right -298px;}
button.secondary:active:after, .button.secondary:active:after {background-position: right -337px;}

button.secondary.small, .button.secondary.small {background-position: left -519px;}
button.secondary.small, input[type=submit].button.secondary.small {
    //background-position: -2px -521px;
    //line-height: 22px !important;
}
button.secondary.small:hover, .button.secondary.small:hover {background-position: left -546px;}
button.secondary.small:active, .button.secondary.small:active {background-position: left -573px;}
button.secondary.small:after, .button.secondary.small:after {background-position: right -519px;}
button.secondary.small:hover:after, .button.secondary.small:hover:after {background-position: right -546px;}
button.secondary.small:active:after, .button.secondary.small:active:after {background-position: right -573px;}

button.tertiary, .button.tertiary {background-position: left -387px;}
button.tertiary:hover, .button.tertiary:hover {background-position: left -426px;}
button.tertiary:active, .button.tertiary:active {background-position: left -465px;}
button.tertiary:after, .button.tertiary:after {background-position: right -387px;}
button.tertiary:hover:after, .button.tertiary:hover:after {background-position: right -426px;}
button.tertiary:active:after, .button.tertiary:active:after {background-position: right -465px;}

button.tertiary.small, .button.tertiary.small {background-position: left -612px;}
button.tertiary.small:hover, .button.tertiary.small:hover {background-position: left -639px;}
button.tertiary.small:active, .button.tertiary.small:active {background-position: left -666px;}
button.tertiary.small:after, .button.tertiary.small:after {background-position: right -612px;}
button.tertiary.small:hover:after, .button.tertiary.small:hover:after {background-position: right -639px;}
button.tertiary.small:active:after, .button.tertiary.small:active:after {background-position: right -666px}

button.disabled.slim, .button.disabled.slim,
button.slim[disabled], *[disabled].button.slim,
button.slim, .button.slim {
        font-size:10.25px;
        font-weight:bold;
        height:19px;
        line-height:19px!important;
        text-transform:uppercase;
        font-family:Arial;
        margin:6px 0px 4px 0px;
        padding:0px 12px;
        color:white !important;
        text-align:center;
}
a.button.slim:hover {
    color: #ffffff !important;
    text-decoration: none !important;
}
button .caret,
.button .caret { /* for the caret symbol */
    -moz-transform: rotate(90deg);
    -moz-transform-origin: center center;
    -webkit-transform: rotate(90deg);
    -webkit-transform-origin: center center;
    display: inline-block;
    height: 15px;
    line-height: 15px;
    margin: 0 -15px 0 15px;
    position: relative;
    text-align: center;
    top: -3px;
    vertical-align: middle;
    width: 15px;
    writing-mode: tb-rl;
}


/* Styles for buttons that look like links */
input[type=submit].a,
button.a {
    background: none;
    background-color: transparent !important;
    border-width: 0px !important;
    color: #3169a8 !important;
    font-family: arial, sans-serif;
    font-size: inherit;
    font-weight: inherit;
    font-style: inherit;
    height: auto;
    width: auto;
    line-height: normal !important;
    padding: 0;
    cursor: pointer !important;
}
@media screen and (-webkit-min-device-pixel-ratio:0) {
    button.a {
        position: relative;
        top: -1px;
    }
}
button.a:after {
    content: "";
    display: none !important;
}
input[type=submit].a:link, input[type=submit].a:visited, input[type=submit].a:hover, input[type=submit].a:active, input[type=submit].a:focus,
button.a:link, button.a:visited, button.a:hover, button.a:active, button.a:focus {
    color: #3169a8 !important;
    text-decoration: underline;
}

button.a.disabled:link, button.a.disabled:visited, button.a.disabled:hover, button.a.disabled:active, button.a.disabled:focus,
button.a[disabled]:link, button.a[disabled]:visited, button.a[disabled]:hover, button.a[disabled]:active, button.a[disabled]:focus {
    color: #3169a8 !important;
}

/* LEGACY Overlay styles */
.yui3-overlay-content {
    background-color: #ffffff;
}
.yui3-overlay-modal .yui3-widget-bd {
    padding: 13px 20px 30px 46px;
}
.shadow-bar-header.overlayHead {
    padding: 14px 0 17px 46px;
}

/* tiles centered around a certain horizontal axis */
.axis-aligned  {
    font-size: 0px;
    display: inline-block; //display: inline;
    line-height: 0px;
    zoom: 1;
}

.axis-aligned > * {
    font-size: 12px; font-size: 1rem;
    line-height: normal;
}

.axis-aligned > .above-axis {
    vertical-align: text-bottom;
}

.axis-aligned > .below-axis {
    display: inline-block; //display: inline;
    height: auto;
    margin-top: 4px;
    vertical-align: text-top;
    zoom: 1;
}


/* Ajax loading styles */
.ajax-loading.styled-ajax,
.ajax-loading-error.styled-ajax {
    position: relative;
}
.ajax-loading.styled-ajax:after {
    content: " ";
    background-color: #ffffff;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    display: block;
    cursor: wait;
    opacity: 0.75;
    z-index:9999;
}
.ajax-loading.styled-ajax-spinner:after {
    content: " ";
    background-image:url('/resources/images/common/loader.gif?CACHEBUSTER');
    background-repeat:no-repeat;
    background-position:center center;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    display: block;
    cursor: wait;
    visibility: visible;
    height: auto;
}
.ajax-loading-error.styled-ajax:after {
    content: " Sorry! There was an error updating this widget. Please refresh your page to see the latest content. ";
    color: #F11;
    border: 1px solid #F11;
    background-color: #FFF;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    display: block;
    cursor: wait;
    opacity: 0.90;
    z-index:9999;
    font-weight: bold;
    padding: 20% 20px;
    text-align: center;
}
/* unselectable elements */
.unselectable {
    user-select: none;
        -moz-user-select: none;
        -khtml-user-select: none;
        -webkit-user-select: none;
        -o-user-select: none;
}

/* box gradation */
.gradiate {
    background: -webkit-linear-gradient(top, rgba(255, 255, 255, 1), rgba(245, 244, 240, 1) );
    background: -moz-linear-gradient(top, rgba(255, 255, 255, 1), rgba(245, 244, 240, 1) );
    background: -o-linear-gradient(top, rgba(255, 255, 255, 1), rgba(245, 244, 240, 1) );
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFF', endColorstr='#F5F4F0' );
}

/* dividers */
.vertical-divider, .vertical-divider div { background:#dcdcdc url('/resources/images/common/sprite-vertical-fade.png') no-repeat 0% 100%; width:1px;  }
.vertical-divider div.height {background:transparent url('/resources/images/common/sprite-vertical-fade.png') no-repeat 100% 0%; height:40px; min-height:40px; }

/* cds modules */
.cds-module { margin: 15px 12px 0 0; }
.cds-module > .cds-module { margin: 0; }
.cds-module p em, .cds-module p em * { font-style:italic; }

.bullet-gray {
    color: white;
    line-height:19px;
    height:19px;
    width:19px;
    text-align:center;
    border-radius: 50%;
    background: #a9a5a0;

    /* for IE 7 and 8 */
    background: url('/resources/images/common/sprite-icons.png?CACHEBUSTER') no-repeat transparent\9;
    background-position: 1px -4960px\9;

    display: inline-block;
}

/* cds modules */
.cds-module { margin: 15px 12px 0 0; }
.cds-module > .cds-module { margin: 0; }

/* alert, warning message */
.warning-box {
    background: #fff;
    opacity: 0;
        -moz-box-shadow: 0px 3px 8px rgba(0, 0, 0, .1);
        -web-kit-box-shadow: 0px 3px 8px rgba(0, 0, 0, .1);
    box-shadow: 0px 3px 8px rgba(0, 0, 0, .1);
        -moz-transition: opacity .5s, background .5s, height .5s; 
        -webkit-transition: opacity .5s, background .5s, height .5s;
    transition: opacity .5s, background .5s, height .5s;
    font-size: 14px;
    height: 0;
    overflow: hidden;
}
.warning-box p { 
    line-height: 22px;
    padding: 9px 26px;
}
.warning-box.show {
    border: solid 1px #bdbbaf;
    opacity: 1; 
    background: #fffae4;
    height: 28px;
    margin-bottom: 18px; /* not sure why but this makes the transition jump in between frames, even if the height of the margin is added to the message height */
}
