/**************** Button styles ********************/

.ExportToExcelButton, .HeaderButton, .MinorActionButton,
.RowActionButton {
  font-size: x-small;
}

.MinorActionButton {
  width: 75px;
}

.ExportToExcelButton {
  width: 90px;
}

.PopupButton {
  font-size: 12px;
  height: 20px;
}

/*
 * Styles specific to MarketingUtilTestForm.
 */

#MarketingUtilTestForm #FunctionReturnLbl.DataSaved {
  display: block;
}

#MarketingUtilTestForm #ErrorLbl.ErrorMessage {
  border  : red solid 3px;
  color   : red;
  display : block;
  padding : 1em;
}

#MarketingUtilTestForm input[type="button"],
#MarketingUtilTestForm input[type="submit"] {
    width     : 160px;
    font-size : 0.85em;
}

#MarketingUtilTestForm input.PopupButton {
  font-size : 0.85em;
  height    : auto;
  width     : auto;
}

#MarketingUtilTestForm fieldset#WebServicesPnl > input[type="submit"],
#MarketingUtilTestForm fieldset#WebServicesPnl > input[type="button"]{
  display : block;
  margin  : 6px auto;
}

#MarketingUtilTestForm #MainTable {
  float        : left;
  margin-right : 4em;
}

/*
 * Styles specific to PortfolioSummariesMailingForm.
 */

#PortfolioSummariesMailingForm #SearchPanel > div.search-ctrls {
  margin : 0 auto;
}

/**************** Datagrid control styles **********/

.AttentionBox {
  background-color: #e8e8e8;
  border: 1px solid #A9A9A9;
  padding: 2px;
}

.bottom-shadow {
  box-shadow: 0 5px 5px #fff;
}

/*************** Label control styles *************/

.FieldLabel, .FieldLabelBold {
  padding     : 0 4px;
  text-align  : right;
  white-space : nowrap;
}

.FieldLabelBold {
  font-weight: bold;
}

.developer-info-label {
  color        : #fff;
  float        : right;
  font-family  : Consolas, monospace;
  font-size    : 12px;
  margin-right : 22px;
  margin-top   : 6px;
}

#MainContentPanel {
  display    : inline-block;
  padding    : 18px;
  width      : 100%;
}

div.top-menu-fixed + * {
  margin-top : 130px;
}


/*************** Menu control styles **************/
.menu a, .menu, .menuover, .menuover a, .submenu, .submenu a  {
  font-size: 14px;
}

.menu a, .menu, .menuover, .menuover a {
  text-decoration: none;
}

.menu a, .menu {
  color: black;
}

.menu-container {
  background: #e6e8eb;
  height: 20px;
  border-bottom: 1px solid #243148;
  padding-top: 5px;
}

.menuover, .menuover a {
  background-color: #003768;
  color: white;
}

.submenu, .submenu a {
  background-color: white;
  border: 1px solid black; border-right: 2px gray; border-bottom: 2px gray;
}

.menuover {
  cursor: default;
}

.menuspacer {
  background-color: #FFCC00;
  height: 2px;
}


/************** Application Styles ***************/
.base-container > * {
  margin-bottom: 7px;
}

.DataSaved {
  color: blue;
  font-size: 0.9em;
  font-weight: bold;
}

.ErrorMessage, .FailedValidation, .RequiredValidation {
  color: red;
}

.FirmName {
  font-size: 75%;
}

.footer {
  font-size: 10px;
  margin: 0;
  text-align: center;
}

.hand {
  cursor: pointer;
}

.HelpText {
  color: #888888;
  font-style: italic;
}

.Hidden {
  display: none;
}

.is-production-db {
  background-color: #fff;
}

.legend {
  color: #003768;
  font-size: 16px;
  font-weight: bold;
}

.Links {
  font-size: 14px;
}

div.LinksPanel {
  width: 130px;
}
div.LinksPanel > select {
  display: inline-block;
}
div.LinksPanel > select, div.LinksPanel > a > img {
  vertical-align: middle;
}

.maintenance-message {
  clear: both;
  font-weight: bold;
  padding: 0 22px 0 22px;
  top: 105px;
}

.middle {
  vertical-align: middle;
}

.nav-up {
  top: -40px;
}

.NoData {
  font-size: 14px;
  font-weight: bold;
}

.NoIndent {
  margin-left: 15px;
}

.non-production-db {
  background-color: #ccffdc;
}

div.PageHeaderBanner {
  background-image: url('img/BannerBackground.png');
  height: 70px;
  top: 0;
  white-space: nowrap;
}

div.PageHeaderBanner > #FTLogoImgDiv {
  float: left;
  overflow: hidden;
  width: 238px;
}

div.PageHeaderBanner > #AppNameDiv {
  left: 240px;
  position: absolute;
  width: 375px;
  color: #e6c682;
  font-size: 2em;
  margin: 12px 0;
}

.PageHeaderLabels {
  margin: 0 8px;
}

.PageHeaderLabels .impersonation {
  float: right;
  margin: 4px;
  vertical-align: baseline;
}

.PageHeaderLabels > div.PageHeaderTitle {
  clear: left;
  display: block;
  float: left;
}

.PageHeaderMenuBG {
  background: #e8e8e8 url('img/silverglass.gif');
  border: black 1px solid;
  border-left-width: 0;
}

.PageHeaderTitle, .PageHeaderSubTitle, .PageSubHeader {
  color: #003768;
}

.PageHeaderSubTitle, .PageSubHeader {
  font-weight: bold;
}

.PageHeaderSubTitle {
  font-size: 16px;
}

.PageSubHeader {
  font-size: 15px;
}

.PageHeaderTitle {
  font-size: 25px;
  font-style: italic;
}

.top-menu-fixed {
  box-shadow: 0 2px 2px 1px grey;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
}

.PopupHeader {
  color: #003768;
  font-size: 19px;
  font-weight: bold;
}

.PopupHeaderBackground {
  background-color: #E8E8E8;
}

.PopupHeaderSeparator {
  background-color: #f8c830;
  height: 2px;
}

.QuestionMark {
  color: blue;
  font-size: 67px;
  font-weight: bold;
}

.repcode-group li {
  list-style-type: none;
}

.RequiredValidation {
  font-weight: bold;
}

.SearchBox {
  background-color: #F5F5F5;
  margin: 5px;
  height: 107px;
  width: 10%;
}

fieldset#SearchPanel > legend,
fieldset#SearchPanel > legend *,
fieldset > legend.SearchBoxTitle * {
  color: #003768;
  font-size: 16px;
  font-weight: bold;
}

.SectionHeader {
  color: #003768;
  font-size: 15px;
  font-weight: bold;
  margin-bottom: 0;
}

.tabpanel {
  border: thin outset;
}

.WarningGridHeading, .WarningGridHeading TH {
  background-color: #FAF0E6;
  color: black;
  font-weight: bold;
  text-align: center;
  vertical-align: bottom;
}

.Warning {
  color: Blue;
}

.WarningMessage {
  background-color: #f8c830;
  font-weight: bold;
  font-size: larger;
}

/***************** HTML tags *********************/
A.TD:visited, A.TD:link, A.TD:active {
  background-color: #003768;
  color: white;
  font-size: 14px;
  font-weight: bold;
  text-decoration: none;
}

A.TH:visited, A.TH:link, A.TH:active {
  background-color: #003768;
  color: white;
}

BODY {
  background-color: #ffffff;
  margin: 0;
}

BODY, SPAN, P, TD, UL, TH {
  font-size: 13px;
}

BODY, SPAN, P, TD, TH, H1, H2, H3, H4, H5, UL, LI {
  font-family: arial, helvetica, sans-serif;
}

BODY PRE {
  font-size: 0.8em;
}

fieldset {
  border: 1px solid #243148;
  border-radius: 4px;
}

fieldset > legend {
  padding-left: 3px;
  padding-right: 3px;
}

fieldset > * {
  margin-bottom: 7px;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: bold;
  color: #003768;
  margin-bottom: auto;
}

IMG {
  border-width: 0;
}

input[type="text"], input[type="submit"],
input[type="button"], input[type="password"],
input[type="reset"], select {
  border: 1px solid #2e4961;
}

.FieldLabel + input[type="text"] {
  float: right;
}

input[type="button"], input[type="submit"],
input[type="reset"] {
  background: #e6e8eb;
}

input:hover, select:hover {
  background: #fcf9f6;
  color: #243148;
}

td table {
  width: inherit;
}

table.Nested-White {
  background-color: #ffffff;
}

table[class^="DataGrid"], table[class^="Nested-"] {
  border: 1px solid #2e4961;
  border-spacing: 0;
}
table[class^="DataGrid"] td, table[class^="DataGrid"] th {
  padding: 2px 4px 2px 4px;
  vertical-align: top;
}
table[class^="DataGrid"] > tbody > tr:nth-child(2n) {
  background-color: #ffffff;
}
table[class^="DataGrid"] > tbody > tr:nth-child(2n+1) {
  background-color: #d8d8d8;
}
table.DataGridDivided > tbody > tr > td,
table.DataGridDivided > tbody > tr > th,
table table[class^="Nested-"] > tbody > tr > td,
table table[class^="Nested-"] > tbody > tr > th {
  border-right: 1px solid #2e4961;
  border-bottom: 1px solid #2e4961;
  padding: 3px 6px;
}
table.DataGridDivided > tbody > tr > td:last-child,
table.DataGridDivided > tbody > tr > th:last-child,
table table[class^="Nested-"] > tbody > tr > td:last-child {
  border-right: 0;
}
table.DataGridDivided > tbody > tr:last-child > td,
table table[class^="Nested-"] > tbody > tr:last-child > td {
  border-bottom: 0;
}
table[class^="DataGrid"] td > * {
  margin-bottom: 6px;
}
table.half-width, div.half-width {
  display: inline-table;
  max-width: 50%;
}

TH {
  background-color: #003768;
  color: white;
  vertical-align: bottom;
}

TH A {
  color: white;
}

UL {
  margin: 0;
  padding: 0;
}

.ContactUs {
  background-color: #e8e8e8;
  border: 1px solid black;
  max-width: 220px;
  padding: 4px;
}

.search-ctrls > input[type="submit"],
.search-ctrls > input[type="button"] {
  display : block;
  margin  : 4px auto;
  width   : 100%;
}

/*
 * Add some whitespace between checkboxes or radio buttons, and their labels.
 */
label > input[type="checkbox"],
label > input[type="radio"] {
  margin-right: 6px;
}

/* Used for selecting, not for styling. */
.detailGrid, .detailLink {}

/**************** Media queries ********************/
@media print {
  .NoPrint {
    display: none;
  }

  .NoPrintLink {
    color: black;
    text-decoration: none;
  }
}

@media screen {
  .NoScreen {
    display: none;
  }
}

@media screen and (min-width: 1100px) {
  div#RightPanel {
    width: 750px;
  }
}
@media screen and (min-width: 975px) {
  div#LeftPanel {
    width: 305px;
  }
}

@media screen and (min-width: 780px) {
  div.col-full {
    width: 100%;
  }

  div.col-half {
    width: 50%;
  }

  div.col-quarter {
    width: 25%;
  }

  div.col-third {
    width: 33%;
  }

  div.col-two-thirds {
    width: 66%;
  }

  div.col-three-quarter {
    width: 75%;
  }

  div.col-remainder {
    width: initial;
  }

  div[class^='col-'], div[class*=' col-'] {
    float: left;
    padding: 0 6px;
  }

}

/*
 For mobile screens.
 */

/* iPhone */
@media only screen
  and (max-width: 750px) {

    div.PageHeaderBanner > #FTLogoImgDiv {
      width: 48px;
    }

    div.PageHeaderBanner > #AppNameDiv {
      left: 50px;
    }

  }

@media only screen
  and (max-width: 599px) {
    .developer-info-label {
      font-size: 0.8em;
    }

    div.PageHeaderBanner > #AppNameDiv {
      font-size: 1.5em;
      margin: 15px 0;
    }

    div[class^='col-'], div[class*=' col-'] {
      width: 100%;
    }

    #SearchPanel, #SearchPanel > fieldset, #SearchPanel > div {
      display: block;
      width: 100%;
    }

    .search-ctrls > input {
      width: 65%;
      font-size: 1.4em;
      margin-bottom: 1em;
    }

    div.three-element {
      border: 1px solid #243148;
      border-radius: 4px;
      padding: 6px;
    }

    div.three-element > * {
      display: block;
      margin-bottom: 4px;
      width: 98%;
    }

    .form-label {
      background-color: #243148;
      color: white;
      font-weight: bold;
      text-align: left;
    }
  }

@media only screen
  and (max-width: 469px) {
    div.PageHeaderBanner > #AppNameDiv {
      font-size: 1em;
      margin: 10px 0;
      white-space: normal;
      width: 150px;
    }

    div.PageHeaderTitle {
      font-size: 16px;
    }

    div.PageHeaderLabels > .impersonation {
      clear: left;
      display: block;
      float: none;
    }

    #MainContentPanel {
      margin-top: 150px;
    }
  }

/* .js- prefix:
 * Used to denote classes assigned to controls, purely for the purposes of
 * interacting with Javascript.
 */

.js-searchField {  }

/* Apply to all elements, for responsive layouts and mobile devices.
 * See: https://www.w3schools.com/css/css3_box-sizing.asp:
 * "Applying this to all elements is safe and wise..."
 */
* {
  box-sizing: border-box;
}

div[class^='col-'] > *, div[class*=' col-'] > * {
  margin-bottom: 14px;
}

div.detail-header {
  display: block;
}

#MinorLogoImage {
  display: block;
}

#SearchPanel > fieldset,
#SearchPanel > div {
  display        : inline-block;
  margin         : 4px;
  vertical-align : top;
}

#SearchPanel > fieldset > div,
#SearchPanel > div > div {
  display: flex;
  display: -webkit-flex;
}

#SearchPanel > fieldset + div > input:first-child {
  margin-top: 4px;
}

#SearchPanel > fieldset > div > span.FieldLabel,
#SearchPanel > div > div > span.FieldLabel {
    width: 33%;
}
#SearchPanel > fieldset > div > input[type="text"],
#SearchPanel > div > div > input[type="text"],
#SearchPanel > fieldset > div > select,
#SearchPanel > div > div > select {
  margin : 4px;
  width  : 50%;
}

#SearchPanel + span {
  display: block;
}

#MainContentPanel > * {
    margin-bottom: 8px;
}

#MainContentPanel > fieldset {
  display: inline-block;
}

#BannerAlertPnl {
  border: 3px solid red;
  border-radius: 1em;
  clear: both;
  color: #3a5987;
  display: inline-block;
  padding: 1em;
}

#BannerAlertPnl a {
  color: #3a5987;
}

#BannerAlertPnl ul {
  padding: 1em;
}

table.DataGridDivided > tbody > tr.selected-row {
  background-color: lightgoldenrodyellow;
  font-weight: bold;
}
