/* common colors */
@black: #000;
@white: #fff;
@grey: #e6e6e6;
@greydark: #929292;

@color-success: #8cff8c;
@font-color-for-success: @black;
@color-alert: #ff8c8c;
@font-color-for-alert: @black;

@color-success-dark: #356e35;
@font-color-for-success: @black;
@color-alert-dark: #932f33;
@font-color-for-alert: @black;

@color-background-alert: #f2dede;
@color-font-alert: #a94442;
@color-border-alert: #ebccd1;

@color-background-success: #dff0d8;
@color-font-success: #3c763d;
@color-border-success: #d6e9c6;

/* Saphir colors */
@blue-dark: #002333;
@blue-main: #005982;
@blue-medium: #c7dfff;
@blue-light: #f1f7ff;
@blue-light2: #e4f0f5;

/* Ruby colors */
@red-dark: #420000;
@red-main: #bf1616;
@red-medium: #f7baba;
@red-light: #fce7e7;
@red-light2: #fed7c9;

/* Emerald colors */
@green-dark: #197948;
@green-main: #23af9b;
@green-medium: #7ae3ad;
@green-light: #e5f9ef;
@green-light2: #d7f9ef;

/* Amber colors */
@amber-dark: #bc4216;
@amber-main: #f08906;
@amber-medium: #f5c4b3;
@amber-light: #fcede8;
@amber-light2: #fcedcd;

/* Saphir theme */
/*
@main-color-theme : @blue-main;
@dark-color-theme : @blue-dark;
@medium-color-theme : @blue-medium;
@light-color-theme : @blue-light;
@light2-color-theme : @blue-light2;
@font-color-for-dark : @grey;
@font-color-for-main : @white;
@font-color-for-medium : @dark-color-theme;
@font-color-for-light : @dark-color-theme;
@shadow-color : @black;
@shadow-color-light : @greydark;
*/

/* Ruby theme */

@main-color-theme : @red-main;
@dark-color-theme : @red-dark;
@medium-color-theme : @red-medium;
@light-color-theme : @red-light;
@light2-color-theme : @red-light2;
@font-color-for-dark : @grey;
@font-color-for-main : @white;
@font-color-for-medium : @dark-color-theme;
@font-color-for-light : @dark-color-theme;
@shadow-color : @black;
@shadow-color-light : @greydark;


/* Emerald theme */
/*
@main-color-theme : @green-main;
@dark-color-theme : @green-dark;
@medium-color-theme : @green-medium;
@light-color-theme : @green-light;
@light2-color-theme : @green-light2;
@font-color-for-dark : @white;
@font-color-for-main : @white;
@font-color-for-medium : @dark-color-theme;
@font-color-for-light : @dark-color-theme;
@shadow-color : @black;
@shadow-color-light : @greydark;
*/
/* Amber theme */
/*
@main-color-theme : @amber-main;
@dark-color-theme : @amber-dark;
@medium-color-theme : @amber-medium;
@light-color-theme : @amber-light;
@light2-color-theme : @amber-light2;
@font-color-for-dark : @white;
@font-color-for-main : @white;
@font-color-for-medium : @dark-color-theme;
@font-color-for-light : @dark-color-theme;
@shadow-color : @black;
@shadow-color-light : @greydark;
*/


@app-bar-height: 60px;
@sub-app-bar-height: 40px;
@footer-height: 20px;
@home-btn-width: 47px;
@color-line-height: 9px;

@home-menu-tile-height: 80px;
@home-menu-tile-min-width: 100px;
@home-menu-tile-max-width: 100px;

@third-lvl-height: 80px;
@third-lvl-width : 100px;
@min-screen : 1170px;
@min-container-width: 1130px;

@box-border-color: #d7d7d7;

@font-face {
  font-family: "Quicksand", Arial, "Lucida Grande", sans-serif;
  src: url('fonts/quicksand/quicksandbold.otf');
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: "Quicksand", Arial, "Lucida Grande", sans-serif;
  src: url('fonts/quicksand/quicksandbold.otf');
  font-weight: bold;
  font-style: normal;
}

/* ---------------------------------- */
/* Begin special checkbox type switch */
/* ---------------------------------- */

[type="checkbox"]:not(:checked).nrd-chkbox, [type="checkbox"]:checked.nrd-chkbox {
  display: none;
}

[type="checkbox"]:not(:checked).nrd-chkbox + label,
[type="checkbox"]:checked.nrd-chkbox + label{
  cursor: pointer;
}
[type="checkbox"]:not(:checked).nrd-chkbox + label:before,
[type="checkbox"]:checked.nrd-chkbox + label:before{
  content: "";
  width: 150px;
  min-width: 150px;
  background-color: @light-color-theme;
  padding: 2px 20px 2px 20px;
  border-radius: 8px 8px 8px 8px;

  cursor: pointer;
}

[type="checkbox"]:not(:checked).nrd-chkbox + label:after,
[type="checkbox"]:checked.nrd-chkbox + label:after{
  content: "";
  position: relative;
  left:-35px;
  background-color: @dark-color-theme;
  min-height: 10px;
  min-width: 10px;
  padding-left: 4px;
  padding-right: 5px;
  border-radius: 8px 8px 8px 8px;
  transition: all .2s;
}

[type="checkbox"]:checked.nrd-chkbox + label:after{
  position: relative;
  left: -15px;
  transition: all .2s;
}
/* ---------------------------------- */
/* End special checkbox type switch */
/* ---------------------------------- */

/* ---------------------------------- */
/*  Begin square Checkbox             */
/* ---------------------------------- */

[type="checkbox"]:not(:checked).nrd-square-chkbox,
[type="checkbox"]:checked.nrd-square-chkbox{
  position: absolute;
  left: -9999px;
}

[type="checkbox"]:not(:checked).nrd-square-chkbox + label,
[type="checkbox"]:checked.nrd-square-chkbox + label{
  content: '';
  padding-left: 35px;
  position: relative;
  cursor: pointer;
  font-family: "Quicksand", Arial, "Lucida Grande", sans-serif;
  font-size: 12px;

}
[type="checkbox"]:not(:checked).nrd-square-chkbox + label:before,
[type="checkbox"]:checked.nrd-square-chkbox + label:before{
  content: '';
  position: absolute;
  left:10px;
  top: -4px;
  width: 17px;
  height: 17px; /* dim. de la case */
  border: 1px solid #aaa;
  background: @light-color-theme;
  border-radius: 2px;
}

[type="checkbox"]:not(:checked).nrd-square-chkbox + label:before {
  background: @light-color-theme;
}
[type="checkbox"]:checked.nrd-square-chkbox + label:before{
  background: @main-color-theme;
}

[type="checkbox"]:not(:checked).nrd-square-chkbox + label:after,
[type="checkbox"]:checked.nrd-square-chkbox + label:after{
  content: '✔';
  position: absolute;
  top: -4px;
  left: 14px;
  font-size: 16px;
  color: @font-color-for-main;
  transition: all .2s;
}
[type="checkbox"]:not(:checked).nrd-square-chkbox + label:after {
  opacity: 0;
  transform: scale(0);
}
[type="checkbox"]:checked.nrd-square-chkbox + label:after {
  opacity: 1;
  transform: scale(1);
}
/* ---------------------------------*/
/*  End square Checkbox             */
/* ---------------------------------*/

/* ---------------------------------*/
/*  Begin class content mgmt        */
/* ---------------------------------*/


.flex-row {
  display: flex;
  flex-direction: row !important;
}
.flex-column {
  display: flex;
  flex-direction: column;
}

.col-width-1 {
  width: 10%;
}
.col-width-2 {
  width: 20%;
}
.col-width-3 {
  width: 30%;
}
.col-width-4 {
  width: 40%;
}
.col-width-5 {
  width: 50%;
}
.col-width-6 {
  width: 60%;
}
.col-width-7 {
  width: 70%;
}
.col-width-8 {
  width: 80%;
}
.col-width-9 {
  width: 90%;
}
.col-width-10 {
  width: 100%;
}

.align-v-center {
  display:flex;
  align-items: center;
}

.align-h-center {
  display:flex;
  justify-content: center;
}

/* ---------------------------------*/
/*    End class content mgmt        */
/* ---------------------------------*/


/* ---------------------------------- */
/*  Begin btn-sort         */
/* ---------------------------------- */

.btn-sort {
  position: relative;
  top: -6px;
  border:none;
  background:none;
  border-radius: 0;
  margin-left:5px;
}

.btn-sort:before{
  content: '';
  position: absolute;
  left: -1px;
  width: 0;
  height: 0;
  border-right: 10px solid transparent;
  border-bottom: 10px solid @greydark;
  border-left: 10px solid transparent;
}

.btn-sort:after{
  content: '';
  position: absolute;
  right: -1px;
  width: 0;
  height: 0;
  border-right: 10px solid transparent;
  border-top: 10px solid @greydark;
  border-left: 10px solid transparent;
  @media screen and (max-width: 1349px) {
    right: -5px;
  }
}

.btn-sort.btn-sort-asc:before{
  border-bottom: 10px solid @main-color-theme;
}

.btn-sort.btn-sort-desc:after{
  border-top: 10px solid @main-color-theme;
}

/* ---------------------------------- */
/*  End btn-sort           */
/* ---------------------------------- */


/* ---------------------------------- */
/*  Begin defaut colour class         */
/* ---------------------------------- */

.dark-color {
  background-color: @dark-color-theme !important;
  color: @font-color-for-dark !important;
}
.main-color {
  background-color: @main-color-theme !important;
  color: @font-color-for-main !important;
}
.medium-color {
  background-color: @medium-color-theme !important;
  color: @font-color-for-medium !important;
}
.light-color {
  background-color: @light-color-theme !important;
  color: @font-color-for-light !important;
}
.light2-color {
  background-color: @light2-color-theme !important;
  color: @font-color-for-light !important;
}

.grey-color {
  background-color: @grey !important;
}
.darkgrey-color {
  background-color: @greydark !important;
}

/* begin lookup widget */
.ui-dialog {
  opacity: 1;
  z-index: 50;
}

.ui-dialog-titlebar.ui-widget-header.ui-corner-all.ui-helper-clearfix {
  background: none !important;
  background-color: @dark-color-theme !important;
  button {
    background: none;
    background-color: @light-color-theme;
  }
}
/* end lookup widget */

.main-bar-label {
  color: @light-color-theme;
  padding-left: 3px;
  padding-right: 6px;
  font-size: 15px;
  font-weight: bold;
}

#company-logo {
  right: 10px;
  top: 2px;
  background: url("images/ofbiz-simple-white.svg") no-repeat left top / cover;
  min-height: 50px;
  min-width: 50px;
  margin-right: 15px;
  align-self: center;
  @media screen and (min-width : 1232px) {
    min-height: 50px;
    min-width: 129px;
    background: url("images/ofbiz-white.svg") no-repeat left top / cover;
  }
}

.modal-screen {
  visibility: hidden;
  display: flex;
  flex-direction: column;
  background-color: @grey;
  opacity: .93;
  position: fixed;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 9999;
}

.modal-box{
  background-color: @white;
  opacity: 1;
  margin: 10%;
  border-radius: 10px;
  border: solid 2px @main-color-theme;
  padding : 10px 40px 10px 40px;
  .modal-header {
    position: relative;
    display: flex;
    flex-direction: row;
    h2 {
      font-size: 25px;
      font-weight: normal;
      color: @main-color-theme;
    }
    .btn-close-nrd {
      position: absolute;
      right: 0;
      display: flex;
      justify-content: center;
      border: solid 1px @main-color-theme;
      border-radius: 5px;
      color: @main-color-theme;
      font-size: 25px;
      height: 30px;
      width: 30px;
      text-decoration: none !important;
    }
  }
  .modal-body {
    p {
      font-size: 20px;
    }
  }
  .modal-footer {
    position: relative;
    height: 35px;
    display: flex;
    justify-content: flex-end;
    .btn-nrd {
      background: none;
      border: none;
      text-shadow: none;
      opacity: 1;
      margin-right: 10px;
      font-size: 20px;
      padding: 5px;
      border-radius: 8px;
    }
    .btn-nrd-main {
      background-color: @main-color-theme;
      color: @white;
    }
    .btn-nrd-std {
      background-color: @white;
      color: @main-color-theme;
      border: solid 1px @main-color-theme !important;
    }
  }
}
.btn-nrd:hover {
  box-shadow: 5px 5px 3px 0 @black;
}

.btn-nrd-std:hover {
  background-color: @main-color-theme !important;
  color: @white !important;
  border: solid 1px @main-color-theme !important;
}

.btn-close-nrd:hover {
  background-color: @main-color-theme !important;
  color: @white !important;
}

.list-nrd {
  border: solid 2px @main-color-theme;
  border-bottom-left-radius: 10px;
  border-bottom-right-radius: 10px;
  display: flex;
  flex-direction: column;
  margin-top: 15px;
  margin-bottom: 15px;
  .title-list-nrd {
    background-color: @main-color-theme;
    color : @white;
    font-size: 20px;
    font-weight: bold;
    padding-left: 5px;
  }

  li {
    position: relative;
    display: flex;
    flex-direction: row;
    font-size: 20px;
    padding-left: 5px;
    padding-top: 2px;
    padding-bottom: 2px;
    margin-bottom: 3px;
    a {
      color: @main-color-theme;
    }
    span {
      position: absolute;
      right: 0;
      color: @main-color-theme;
      font-size: 30px;
    }
  }
}
li.line-odd {
  background-color: @light-color-theme;
}

#user-avatar {
  height: 40px;
  width: 40px;
  padding: 2px;

  align-self: center;

  :hover {
    cursor: pointer;
  }
  img {
    max-height: 40px;
    max-width: 40px;
    position: relative;
    top: -2px;
    padding: 2px;
    background-color: @white;
    border-radius: 2px;
  }
}

#main-navigation-bar {
  position: relative;
  width: 100%;
  min-width: @min-container-width;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  font-family: Quicksand,sans-serif;
  background-color: @dark-color-theme;
  z-index: 5;
  height: @app-bar-height;
}
#main-nav-bar-left {
  position: relative;
  display: flex;
  align-items: center;
}
#main-nav-bar-right {
  position: relative;
  display: flex;
  align-items: center;
  padding-right: 15px;
}

.app-btn{
  height: @app-bar-height;
  background-color: @dark-color-theme;
  display: flex;
  align-items: center;
  flex-direction: row;
  margin-right: 2px;
  margin-left: 2px;
  a {
    padding:10px;
    color: @font-color-for-dark;
    font-size: 1.4em !important;
  }
}

.app-btn a:visited {
  color: @font-color-for-dark;
}

.app-btn:hover{
  position: relative;
  top: -6px;
  background-color: @main-color-theme;
  border-bottom-left-radius: 5px;
  border-bottom-right-radius: 5px;
  box-shadow: 1px 1px 12px @shadow-color;
  a {
    position: relative;
    top: 6px;
    color : @font-color-for-main;
  }
}
.app-btn.selected:hover {
  background-color: @dark-color-theme;
  box-shadow: none;
  top:0;
}

.app-btn a:hover {
  text-decoration: none;
}
#app-selected {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background-color: @main-color-theme;
  box-shadow: 1px -2px 12px @shadow-color;
  z-index: 0;
  opacity: .99;
  border-top-left-radius : 8px ;
  border-top-right-radius : 8px ;
  a {
    position: relative;
    top: 3px;
    color: @font-color-for-main;
  }
}
.app-btn.selected a:hover {
  text-decoration: none;
}

#app-bar-line {
  position: relative;
  width: 100%;
  min-width: @min-container-width;
  height: @color-line-height;
  background-color: @main-color-theme;
  box-shadow: 2px 2px 5px @shadow-color;
}
#color-add {
  width: 150px;
  background-color: @main-color-theme;
  height: @color-line-height;
  z-index: 20;
  position: relative;
  top: @color-line-height;
}

#more-app {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  font-size: 1.4em !important;
  width: 40px;
  height: @app-bar-height;
  color: @font-color-for-dark;
}
#more-app:hover {
  background-color: @main-color-theme;
  text-decoration: none;
}
#more-app:hover #more-app-list {
  display: block;
}
#more-app.selected {
  background-color: @main-color-theme;
}

#more-app-list {
  display: none;
  position: absolute;
  top: @app-bar-height;
  left: -20px;
  background-color: @dark-color-theme;
  z-index: 10;
  border: solid 4px @main-color-theme;
  border-top-width: @color-line-height;
  border-bottom-left-radius: 4px;
  border-bottom-right-radius: 4px;
  li {
    padding-left : 4px;
    padding-right: 4px;
  }

  a {
    color: @font-color-for-dark;
    font-size: 15px;
  }

  :hover {
    background-color: @medium-color-theme;
    a {
      box-shadow: none;
      color: @dark-color-theme;
    }
    a:hover{
      box-shadow: none;
      text-decoration: none;
      border-radius: 0;
    }
  }

  li.selected {
    background-color: @main-color-theme;
    a {
      color: @font-color-for-main;
    }
    a:hover {
      color: @font-color-for-main;
      background-color: @main-color-theme;
    }
  }
}

#homeButton {
  display: flex;
  //visibility: hidden;
  align-items: center;
  justify-content: center;
  background-color:@grey;
  border: none;
  border-radius : 0;

  height: @app-bar-height;
  width : @home-btn-width;
  text-decoration: none;
  img {
    height: 25px;
    transition: all .2s ease-in-out;
  }
}

#homeButton:hover img {
  transform: scale(1.1);
}

#app-bar-list {
  display: flex;
}

#user-details {
  position: absolute;
  right: 20px;
  top : 62px;
  background-color: @dark-color-theme;
  color : @font-color-for-dark;
  font-size: 15px;
  font-weight: bold;
  padding-top: 5px;
  padding-bottom: 10px;
  z-index: 15;
  box-shadow: 3px 3px 12px @shadow-color;
  border-radius: 3px;
  transition: all .1s ease-in-out;

  img {
    height: 50px;
    background-color: @white;
    padding: 4px;
    border-radius : 3px;
    margin-left: 10px;
    margin-right: 5px;
  }
  #logout {
    background-color: @white;
    color: @dark-color-theme !important;
    border-radius: 2px;
    :hover {
      text-decoration: none;
    }
  }
}

#user-details:after{
  content: '';
  position: absolute;
  top: -10px;
  right: 5px;
  width: 0;
  height: 0;
  border-right: 10px solid transparent;
  border-bottom: 10px solid @dark-color-theme;
  border-left: 10px solid transparent;
}

a.user-pref-btn {
  margin-top: 15px;
  background-color: @dark-color-theme;
  margin-left: 10px;
  margin-right: 10px;
  padding-top: 2px;
  padding-bottom: 2px;
  display: flex;
  justify-content: center;
  color: @font-color-for-dark !important;
  :hover {
    text-decoration: none;
  }
}

#user-name {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-content: center;
  padding-left : 5px;
  padding-right : 5px;
  span {
    min-width: 100px;
    padding-bottom : 5px;
    padding-top : 5px;
  }
}

#user-row1 {
  display: flex;
  flex-direction: row;
  justify-content: center;
  #user-lang {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-content: center;
    padding-left: 10px;
    padding-right: 10px;
    span {
      min-width: 30px;
      color: @font-color-for-dark;
    }
  }
}

.appbar-btn-img {
  height: @app-bar-height - 40px;
}

#help-btn {
  font-size: 10px;
  min-width: 20px;
  margin-right: 15px;
}
/* Begin sub Menu section */

#app-navigation {
  height: @sub-app-bar-height;
  border-right: solid 1px @black;
  border-bottom: solid 1px @black;
  width: 100%;
  min-width: @min-container-width;
  h2 {
    display: none;
  }
  ul {
    display: flex;
    flex-direction: row;
    background-color: @grey;
    flex-grow: 1;
  }
  ul li ul li {
    border-left: solid 1px @black;
    height: @sub-app-bar-height;
    display: flex;
    align-items: center;
    justify-items: center;
    justify-content: center;
    min-width: 75px;
    padding-left: 6px;
    padding-right: 6px;
    font-family: "Quicksand", Arial, "Lucida Grande", sans-serif;
    border-bottom: solid 1px @black;
    font-size: 12px;
    @media screen and (max-width: 1500px) {
      font-size: 10px;
      min-width: 65px;
    }
    @media screen and (max-width: 1300px) {
      font-size: 10px;
      min-width: 50px;
    }
    a {
      display: flex;
      justify-content: center;
      align-items: center;
      text-align: center;
      height: 100%;
      width: 100%;
      text-decoration: none;
    }
  }
}

#app-navigation ul li ul li:last-child {
  border-right: solid 1px @black;
}

#app-navigation ul li ul li:hover {
  background-color: @main-color-theme;
  min-height: @sub-app-bar-height;
  position: relative;
  //top: -1px;
  a {
    color: @white;
    text-decoration: none;
  }
}
#app-navigation ul li ul li.selected:hover {
  a {
    color: @black !important;
  }
}

#app-navigation ul li ul li.selected {
  background-color: @white;
  position: relative;
  top: 1px;
  height: @sub-app-bar-height + 1px;
  border-top-right-radius: 2px;
  border-top-left-radius: 2px;
  border-bottom: none;

  :after {
    content: '';
    position: absolute;
    top: -2px;
    left: 5px;
    width: 0;
    height: 0;
    border-right: 10px solid transparent;
    border-top: 10px solid @main-color-theme;
    border-left: 10px solid transparent;
  }

}


/* End sub Menu section */

/* begin sub Menu section 3rd level */

.button-bar.tab-bar {
  ul li ul li {
    border: solid 1px @grey;
    border-radius: 4px;
    a {
      width: 100%;
      height: 100%;
    }
  }
  li.selected{
    background-color: @main-color-theme;
    a{
      color: @font-color-for-main;
    }
  }
  ul li ul li:hover {
    background-color: @main-color-theme;
    a {
      color: @font-color-for-main ;
    }
  }
}

#third-level-menu-container {
  display: flex;
  flex-direction: row;
}
#working-area {
  width: 100%;
}

#left-column-menu {
  width: 100px;
}

.third-lvl-menu {
  background-color: @dark-color-theme;
  position: relative;
  left: -10px;
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px;
  padding-top: 4px;
  padding-bottom: 4px;
  ul {
    li {
      ul {
        position: relative;
        top: 5px;
        width: @third-lvl-width;
      }
    }
  }
  h2 {
    visibility: hidden;
  }
}
.third-level-item:last-child {
  border-bottom: solid 1px @main-color-theme;
}

.third-level-item {
  min-height: @third-lvl-height;
  background-color: @dark-color-theme;
  padding-right: 3px;
  border-top: solid 1px @main-color-theme;

  a, a:visited {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    color: @font-color-for-dark !important;
    min-height: @third-lvl-height;
    max-width: @third-lvl-width;
    text-align: center;
  }
}
.third-level-item.selected {
  position: relative;
  border-left: solid 9px @main-color-theme;
  a, a:visited {
    background-color: @white;
    color: @dark-color-theme !important;
  }
  :after {
    content: '';
    position: absolute;
    top: 5px;
    left: 0;
    width: 0;
    height: 0;
    border-top: 10px solid transparent;
    border-left: 10px solid @main-color-theme;
    border-bottom: 10px solid transparent;
  }
}

.third-level-item a:hover {
  background-color: @main-color-theme;
  color: @font-color-for-main ;
  text-decoration: none;
}
/* End 3rd level menu */



/* Begin Home Menu for IB section */
.fixed-nav-bar {
  position: fixed !important;
  width: 100%;
}
#nav-bar-offset {
  height: @app-bar-height ;
}

#homeGlyph {
  margin-left: 20px;
  height: 20px;
}

#homePageTitle {
  color: @white;
  font-size: 20px;
  font-weight: bold;
  margin-right: 20px;
  margin-left: 20px;
}
.home-menu-list {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.hp-applist {
  display: flex;
  flex-direction: row;
  color : @white;
  align-items: center;
  .app-title {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: @dark-color-theme;
    height: @home-menu-tile-height;
    padding: 5px 10px 5px 10px;
    border-bottom: solid 1px @black;
    span {
      font-family: "Quicksand", Arial, "Lucida Grande", sans-serif !important;
      font-size: 15px;
      font-weight: bold;
      width: 110px;
      a {
        display: flex;
        justify-content: center;
        color : @white;
      }
    }
  }

  .hp-menu-item {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    margin-left: 5px;
    margin-right: 5px;
    border: solid 2px @grey;
    border-radius: 8px;
    height: @home-menu-tile-height - 4px;
    min-width: @home-menu-tile-min-width;
    max-width: @home-menu-tile-max-width;
    .menu-link {
      font-size: 10px;
      color: @black;
      padding: 10px;
    }
    .star-link {
      position: absolute;
      height: 25px;
      top: 5px;
      right: 5px;
    }
  }

}
.hp-applist .app-title span a:hover {
  text-decoration: none;
}

.hp-menu-item.favoriteItem {
  border: solid 2px @dark-color-theme;
}

.hp-menu-item:hover {
  box-shadow: 3px 3px 12px @shadow-color;
  a {
    text-decoration: none;
  }
}

/* End Home Menu for IB section */

/* Begin Login screenlet */
#login-container {
  #content-messages {
    position: relative;
    top: @app-bar-height;
    border-radius: 4px;
    width: 97%;
    &.errorMessage {
      background-color : @color-background-alert !important;
      color: @color-font-alert !important;
      border : solid 1px @color-border-alert !important;
    }
    &.eventMessage {
      background-color : @color-background-success !important;
      color: @color-font-success !important;
      border : solid 1px @color-border-success !important;
    }
  }
}
#loginBar {
  position: fixed;
  top:0;
  left: 0;
  width: 100%;
  height: @app-bar-height;
  background-color: @dark-color-theme;
  span {
    background-color: @white;
    color: @main-color-theme;
    border-top-right-radius: 5px;
    border-top-left-radius: 5px;
    font-size: 25px;
    position: relative;
    top: @app-bar-height - 32px;
    left: 15px;
    padding: 5px 10px 5px 10px;
  }
  #company-logo {
    position: absolute;
  }
}

.login-screenlet {
  display: flex;
  flex-direction: column;
  min-width: 300px;
  max-width: 50em;
  border-radius: 8px !important;
  margin-top: 15%;
  box-shadow: 3px 3px 12px @shadow-color;
  .screenlet-title-bar {
    display: flex;
    align-content: center;
    justify-content: center;
    margin:0;
    padding:0;
    h3{
      padding-top:2px;
      padding-bottom:2px;
      background-color: @dark-color-theme !important;
      color: @font-color-for-dark;
      height: 100%;
      width:100%;
      text-shadow: none;
      font-size: 25px;
    }
  }
  .screenlet-body {
    background-color: @main-color-theme !important;
    form {
      .button {
        width: 150px;
        border-radius: 4px;
        background: none;
        background-color: @dark-color-theme;
        color: @font-color-for-dark;
        text-shadow: none;
        margin-top: 20px;
        margin-bottom: 10px;
      }

      table {
        tr {
          width: 100%;
          .label {
            color: @font-color-for-main;
            width: 25%;
            font-size: 15px;
          }
          input {
            width: 100%;
          }
          .buttontext,
          [type="submit"] {
            width: 150px;
            border-radius: 4px;
            background: none;
            background-color: @dark-color-theme;
            color: @font-color-for-dark;
            text-shadow: none;
          }
          [name="GET_PASSWORD_HINT"] {
            background-color: @font-color-for-dark;
            color: @main-color-theme;
            border: none;
            width: 100%;
          }
          [name="EMAIL_PASSWORD"] {
            background-color: @font-color-for-dark;
            color: @main-color-theme;
            border: none;
            width: 100%;
          }
          td {
            padding: 5px;
            color: @font-color-for-main;
            font-size: 15px;
            font-weight: bold;
          }
        }
      }
    }
    a {
      color: @font-color-for-main;
    }
  }
}

.login-screenlet .screenlet-title-bar {
  text-align: center;
}

/* End Login screenlet */


/* --------------------------------------------- */
/*      Begin Screenlet style                    */
/* --------------------------------------------- */
.screenlet-title-bar {
  text-decoration: none ;
  color: @dark-color-theme;
  background-color: @grey;
  height: 1%; /* IE fix */
  min-height: 1.5em;
  padding:0.8em 0.2em;
}

.screenlet {
  border-radius: 5px;
  border: solid 1px @grey;
  height: auto !important;
  margin-bottom: 1em;
  overflow: auto;
}

.screenlet-body {
  background-color: #FFFFFF;
  height: auto !important;
  height: 1%;
  padding: 0.4em;
}

.screenlet-body div {
  margin: 0.8em 0.1em
}

/* Special Screenlet style for locale and timezone window */
.lists.screenlet {
  margin-left: 25%;
  margin-right: 25%;
  margin-top: 1em;
}

.lists.screenlet .basic-table tr td {
  text-align: center;
}

.lists.screenlet .basic-table tr td a {
  display: block;
}

/*      Alternate table header style      */
.basic-table .header-row-2 th,
.basic-table .header-row-2 td {
  background-color: @greydark;
  border-bottom: 0;
  border-left: 0.1em solid #aaa;
  border-right: 0.1em solid #888;
  color: #ffffff;
  font-weight: bold;
}

/* No padding screenlet decorator */
.no-padding {
  padding: 0;
  border: none;
}

.no-padding .h1,
.no-padding .h2,
.no-padding .h3,
.no-paddingr h1,
.no-padding h2,
.no-padding h3 {
  padding: 0.7em;
}

.screenlet-title-bar ul a:hover {
  color: @main-color-theme !important;
  text-decoration: none;
}


/* --------------------------------------------- */
/*      End Screenlet style                      */
/* --------------------------------------------- */

/* ---------------------- */
/*      Table Styles      */
/* ---------------------- */

.basic-table {
  background-color: #ffffff;
  color: #000000;
  margin-bottom: 1em;
  width: 100%;
}

form table,
form .basic-table,
.screenlet-body .basic-table {
  background: transparent;
  margin-bottom: 0;
}

.basic-table tr td {
  /* Style for all cells */
  padding: 0.8em 0.1em;
  vertical-align: middle;
}

.basic-table tr .align-bottom {
  vertical-align: bottom;
}

.basic-table tr .align-top {
  vertical-align: top;
}

.basic-table tr .label,
.basic-table tr .group-label {
  /* field labels for forms */
  font-weight: bold;
  text-align: right;
  padding-right: 1.5em;
  white-space: nowrap;
  width: 1%;
}

.basic-table tr .group-label {
  /* "header" for field label groups */
  font-size: 1.2em;
  padding: 2em 1.5em 0 0;
}

.basic-table tr th,
.basic-table .header-row {
  font-weight: bold;
  text-align: left;
}

.basic-table .header-row td {
  border-bottom: 0.1em solid #000000;
}

.basic-table .header-row td a {
  color: #000000;
}

.basic-table .alternate-row {
  /* Alternating row style */
  background-color: #eeeeee;
}

.basic-table .selected {
  background: #FFFCCF;
}

.basic-table .alternate-rowSelected {
  background: #FFF55F;
}

.basic-table .Validate {
  /*Style use by alt-row-style on list*/
  background: #A0D5F7;
}

.basic-table .alternate-rowValidate {
  /*Style use by alt-row-style on list*/
  background: #72A8F2;
}

.basic-table .Warn {
  /*Style use by alt-row-style on list*/
  background: #f55C5C;
}

.basic-table .alternate-rowWarn {
  /*Style use by alt-row-style on list*/
  background: #FC7455;
}

.basic-table tr .button-col {
  /* button column style - for the small
  collection of buttons used in lists */
  vertical-align: top;
  padding: 0.3em;
}
.basic-table tr .button-col a,
.basic-table tr .button-col button,
.basic-table tr .button-col input[type="reset"],
.basic-table tr .button-col input[type="submit"],
.basic-table tr .button-col input[type="button"] {
  -webkit-appearance: none;
  -moz-border-radius: 1em;
  -webkit-border-radius: 1em;
  border-radius: 2px;
  border: 0.1em solid @main-color-theme;
  background-color: @white;
  cursor: pointer;
  color: @main-color-theme;
  display:inline-block;
  font-size: 0.9em;
  font-weight: bold;
  outline: 0;
  overflow: visible;
  padding: 0.1em 0.5em 0.2em 0.5em;
  text-decoration: none;
  width: auto;

  &:hover {
    background-color: @main-color-theme;
    color: @white;
  }
}

.basic-table .collapsed {
  visibility: collapse;
}

/*      Sort field style      */
.basic-table .header-row-2 th .sort-order-asc,
.basic-table .header-row-2 td .sort-order-asc{
  background: url(/images/arrow-gr-up.png) no-repeat right;
  padding-left: 0.5em;
  padding-right: 20px; /* Setting must be in px */
}
.basic-table .header-row-2 th .sort-order-desc,
.basic-table .header-row-2 td .sort-order-desc{
  background: url(/images/arrow-gr-dw.png) no-repeat right;
  padding-left: 0.5em;
  padding-right: 20px; /* Setting must be in px */
}
.basic-table .header-row-2 th .sort-order,
.basic-table .header-row-2 td .sort-order{
  background: url(/images/arrow-gr.png) no-repeat right;
  padding-left: 0.5em;
  padding-right: 20px; /* Setting must be in px */
  color:#fff
}


/* --------------------------------------------- */
/*      Begin Message Info                       */
/* --------------------------------------------- */
.count-message {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height:20px;
  min-width: 20px;
  max-height:20px;
  max-width: 20px;
  background: @white;
  font-size:12px;
  font-weight: bold;
  border-radius: 50%;
}
.info-message-title {
  min-width:150px;
  margin: 5px;
  font-family: "Quicksand", Arial, "Lucida Grande", sans-serif;
  font-size: 16px;
  font-weight: bold;
}
.message-list {
  position:relative;
  margin-top: 10px;
  box-shadow: 1px 3px 5px @greydark;
  border-radius: 0 5px 5px 0;
  transition: height 2s;
}
.message-list-main {
  padding: 5px 15px 5px 15px;
}
.message-list-alert {
  background-color: @color-alert;
  border-left : solid 5px @color-alert-dark;
  .count-message {
    color: @color-alert-dark;
  }
}
.message-list-success {
  background-color: @color-success;
  border-left: solid 5px @color-success-dark;
  .count-message {
    color: @color-success-dark;
  }
}
.message-list-table-container {
  background-color: @white;
  border-radius: 5px;
  overflow: hidden;
  height: 0;
}
.info-message-success {
  display: none;
}
.info-message-alert {
  display: none;
}
table.msg-list {
  width: 100%;
  font-size: 16px;
  font-family: "Quicksand", Arial, "Lucida Grande", sans-serif;
  padding: 0;
  thead {
    height: 100%;
    background-color: @grey;
    margin: 0;
    padding: 0;
    tr{
      font-weight: bold;
      border-bottom: solid 1px @black;
      height: 100%;
      background-color: @grey;
      line-height: 30px;
    }
  }
  tbody {
    tr {
      line-height: 25px;
    }
    tr.msg-row-success {
      background-color: @color-success;
    }
    tr.msg-row-alert {
      background-color: @color-alert;
    }
  }
  td {
    padding-left: 5px;
  }
}

/* --------------------------------------------- */
/*      End  Message Info                        */
/* --------------------------------------------- */

/* ---------------------- */
/*     Paginate Style     */
/* ---------------------- */

.paginate-bar-nrd {
  display: flex;
  flex-direction: row;
  align-items: center;
  font-size: 15px;
  background-color: @grey;
  padding-left: 10px;
  padding-top: 3px;
  padding-bottom: 3px;
  box-shadow: 0 2px 5px @shadow-color;

  ul.paginate-pg-list {
    display: flex;
    flex-direction: row;
    background-color: @white;
    color: @main-color-theme;
    margin-right: 10px;
    border-radius: 8px;
    border: solid 1px @box-border-color;
    height: 18px;
    li {
      display: flex;
      justify-content: center;
      min-width: 17px;
      border-right: solid 1px @box-border-color;
      padding-left: 2px;
      padding-right: 2px;
      height:100%;
      a {
        display: flex;
        justify-content: center;
        align-items: center;
        font-family: "Quicksand", Arial, "Lucida Grande", sans-serif;
        color: @dark-color-theme;
        height: 100%;
        width: 100%;
      }
      .paginate-disable {

      }
    }
    li.selected {
      background-color: @main-color-theme;
      a {
        color: @font-color-for-main;
      }
    }
    li:first-child, li:last-child {
      width: 20px;
    }
    li:first-child {
      border-top-left-radius: 3px;
      border-bottom-left-radius: 3px;
    }
    li:last-child {
      border-right: none;
      border-top-right-radius: 3px;
      border-bottom-right-radius: 3px;
    }
  }

}
select.paginate-select {
  position: relative;
  background: @white;
  font-size: 16px;
  font-weight: bold;
  border: 1px solid @box-border-color;
  option {
    display: flex;
    justify-self: center;
    font-size: 14px;
  }
}

.paginate-select-label {
  font-family: "Quicksand", Arial, "Lucida Grande", sans-serif;
  font-size: 16px;
  padding-left: 15px;
  padding-right: 15px;
}

.paginate-information {
  font-family: "Quicksand", Arial, "Lucida Grande", sans-serif;
  font-size: 16px;
  padding-left: 15px;
  padding-right: 15px;
}

ul.paginate-pg-list li:hover{
  background-color: @main-color-theme;
  a {
    text-decoration: none;
    color: @font-color-for-main;
  }
}

/* End of Paginate Style  */
/* ---------------------- */

/* ------------------------------- */
/*      List Navigation Style      */
/* ------------------------------- */

.nav-pager {
  background-color: @greydark;
  color: @white;
  font-family: "Quicksand", Arial, "Lucida Grande", sans-serif;
  font-size: 9px;
  font-weight: bold;
  line-height: 3.5em;
  height: 3.5em;
  margin: 0.5em 0 0.5em 0;
  border-radius: 3px 3px 0 0;
}

.nav-pager ul {
  display: inline; /* IE Fix */
}

.nav-pager ul li {
  float:left;
  vertical-align: middle;
}

.nav-pager ul li a {
  display: block;
}

.nav-pager ul a {
  color: @white;
  padding: 0 1em 0 1em;
  text-decoration: none;
}

.nav-pager ul a:hover {
  background-color: @main-color-theme;
  color: @font-color-for-main;
}

.nav-pager ul .nav-pagesize,
.nav-pager ul .nav-page-select,
.nav-pager ul .nav-displaying {
  padding: 0 1em 0 1em;
}

.nav-pager ul .nav-first-disabled,
.nav-pager ul .nav-previous-disabled,
.nav-pager ul .nav-next-disabled,
.nav-pager ul .nav-last-disabled {
  padding: 0 1em 0 1em;
}

.nav-pager ul .nav-first-disabled:hover,
.nav-pager ul .nav-previous-disabled:hover,
.nav-pager ul .nav-next-disabled:hover,
.nav-pager ul .nav-last-disabled:hover {
  cursor: not-allowed;
}


.nav-pager ul .nav-displaying {
  border-right: none;
}


/* ---------------------------- */
/*     Multi-Column Styles      */
/* ---------------------------- */

#column-container {
  margin: auto;
  padding: 1em;
  position: relative;
  min-width: @min-container-width;
}

#column-container h1,
#column-container .h1,
#column-container h2,
#column-container .h2 {
  margin-bottom: 0.5em;
}

#column-container h1,
#column-container .h1 {
  color: #557996;
}

#column-container .left {
  float: left;
  /* alt: position: absolute; top: 0px; left: 0px; */
  width: 22em;
  margin-right: 1em;
}

#column-container .left-larger {
  float: left;
  /* alt: position: absolute; top: 0px; left: 0px; */
  width: 25em;
  margin-right: 1em;
}

.lefthalf {
  float: left;
  height: 1%;
  left: 0;
  margin: 0% 1% 1% 0%;
  width: 49%;
}

.righthalf {
  float: right;
  height: 1%;
  margin: 0 0 1% 1%;
  right: 0;
  width: 49%;
}

#column-container .right {
  float: right;
  margin-left: 1em;
  width: 22em;
}

#column-container .leftonly {
  margin-left: 23em;
  width: auto;
}

#column-container .leftonly-larger {
  margin-left: 26em;
  width: auto;
}

#column-container .rightonly {
  margin-right: 23em;
  width: auto;
}

#column-container .center {
  margin-left: 23em;
  margin-right: 23em;
  width: auto;
}

#column-container .nocolumns {
  width: auto;
}

/* ---------------------- */
/*      Button Style      */
/* ---------------------- */

.button-bar li.buttontext a,
a.buttontext,
a.buttontextbig,
.smallSubmit,
.smallSubmit:hover,
.mediumSubmit,
.largeSubmit,
.loginButton,
.button-style-1 a,
.button-style-1 ul a,
.button-style-2 ul a,
.button-style-2 a,
.button,
button,
input[type="reset"],
input[type="submit"],
input[type="button"] {
  -webkit-appearance: none;
  -moz-border-radius: 1.1em;
  -webkit-border-radius: 1.1em;
  border-radius: 2px;
  border: 0.1em solid @main-color-theme;
  background-color: @white;
  cursor: pointer;
  color: @main-color-theme;
  display:inline-block;
  font-size: 1em;
  font-weight: bold;
  outline: 0;
  overflow: visible;
  padding: 0.4em 1em 0.4em;
  text-decoration:none;
  /*text-transform:uppercase;*/
  width: auto;

  /* IE7 */
  *padding-top: 0.2em;
  *padding-bottom: 0;
  &:hover {
    color: @font-color-for-main;
    background-color: @main-color-theme;
  }
}


/* ---------------------- */
/*      Footer Style      */
/* ---------------------- */

#footer {
  background: @dark-color-theme;
  border-top: 0.1em inset #000;
  padding: 0.5em 0 0.5em 0.5em;

  height: @footer-height;
  position: fixed;
  bottom: 0;
  width: 100%;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  font-family: "Quicksand", Arial, "Lucida Grande", sans-serif !important;
  z-index: 10;

  span {
    color: @font-color-for-dark;
    padding: 10px;
  }

  a {
    color: @font-color-for-dark;
    font-weight: normal;
  }
}

#footer a:focus {
  text-decoration: underline;
}

#footer-offset {
  height: @footer-height + 10px;
  width: 100%;
}
