/*

STYLES INCLUDED FOR THE TRAVEL PLANNER APPLICATION LOOK ITSELF

*/

/*GENERAL*/
body {
  font-family: Arial, sans-serif;
  font-size: 14px;
  color: rgba(82, 79, 79, 1);
}

a:hover, a:visited, a:link, a:active {
  text-decoration: underline;
  color: #3093c7;   /* medium blue */
  font-weight: bold;
}

a:active {
  color: #63a8d8;
}

.dark-gray {
  color: #222;
}

.light-gray {
  color: #ccc;
}

.light-gray-border {
  border: 1px solid #ccc;
  border-radius: 10px;
}

.iconRed {
  color: red;
}

.iconBlue {
  color: #0094ff;
}

.iconGreen {
  color: green;
}

/*placeholder text*/
::-webkit-input-placeholder {
  color: #3093c7;   /* medium blue */
}

:-moz-placeholder { /* Firefox 18- */
  color: #3093c7;   /* medium blue */
}

::-moz-placeholder { /* Firefox 19+ */
  color: #3093c7;   /* medium blue */
}

:-ms-input-placeholder {
  color: #3093c7;   /* medium blue */
}
/*STATUS COLORS
 *TP home page 
*/

.complete {
  color: green;
}

.incomplete {
  color: #ff6a00;
}

.alert-red, .alertRed {
  color: #ff0000;
}

.attention, a.attention {
  color: #ff6a00;
}

.blue {
  color: rgb(0, 120, 231);
}

.gray {
  color: #808080;
}

/*//END STATUS COLORS*/
.display-table {
  display: table;
}

.display-table-row {
  display: table-row;
  vertical-align: middle;
}


.display-table-cell {
  display: table-cell;
  vertical-align: middle;
}
.display-table-cell.top {

vertical-align:top;
}
.display-inline-block {
  display: inline-block;
}

.display-inline {
  display: inline;
}

.display-table.query .display-table-cell {
  padding: .5em .5em .5em 0em;
}

.position-relative {
  position: relative;
}

.position-absolute {
  position: absolute;
}

h1 {
  font-size: 1.5em;
}

h2 {
  font-size: 1.25em;
}

img {
  border: none;
}

section {
  padding: .5em 0;
  margin-bottom: 1em;
}

.bold {
  font-weight: bold;
}

.unbold {
  font-weight: normal;
}

.padding5 {
  padding: 5px;
}

.padding-left5 {
  padding-left: 5px;
}

.padding-right5 {
  padding-right: 5px;
}
.padding-right10 {
  padding-right: 10px;
}
.padding-right15 {
  padding-right: 10px;
}
.padding-right25 {
  padding-right: 25px;
}

.padding-left25 {
  padding-left: 25px;
}

.padding-bottom5 {
  padding-bottom: 5px;
}

.padding-bottom10 {
  padding-bottom: 10px;
}

.padding-top10 {
  padding-top: 10px;
}

.padding-top25 {
  padding-top: 25px;
}

.margin-top5 {
  margin-top: 5px;
}

.margin-bottom5 {
  margin-bottom: 5px;
}

.margin-bottom-zero {
  margin-bottom: 0;
}

.float-right {
  float: right;
}

.pointer {
  cursor: pointer;
}
/*
 * HEADER
 * only used in global header common/partials/header.html
 * CSS for that component only
 */
.global-header {
    
    background: #002d55; /* *NEW:  (AS) 2024-05-10 navy blue */
	color: #fff;
	/* width: 100%;  was on production as of 6/19 */
}

  .global-header .software-title {
	color: #fff;  
    font-weight: bold;
    font-size: 2em;
  }

    .global-header .software-title .env {
        font-weight: bold;
        font-size: .725em;         
		color: #fff;
    }

.global-nav {
  background-color: #E3E3E3; /* light gray */
  border: 1px solid #ccc;
  min-width: 320px;
}


  .global-nav .dropdownMenu {
    position: absolute;
    min-width: 190px;
    top: 100%;
    left: -1px;
    text-align: left;
    border: 1px solid #ccc;
    border-radius: 2px;
    width: 150px;
    background: #efefef;
    z-index: 1;
  }

    .global-nav .dropdownMenu ul {
      list-style: none;
    }

/* .dropdownMenu ul li {
} */

.global-nav .dropdownMenu ul li a {
  padding: .5em;
  display: block;
  text-decoration: none;
  font-weight: normal;
}

  .global-nav .dropdownMenu ul li a:hover {
    background: rgba(0,0,0, 0.05);
  }

/* nav.utility {
} */

  nav.utility div {
    padding-right: 1em;
    display: inline-block;
  }

    nav.utility div span {
      padding-right: 4px;
      padding-left: 4px;
    }

    nav.utility div i {
      font-size: 1em;
    }
/* //END HEADER */

/*
 * GRID PAGE LAYOUT  
 * To replace PAGE LAYOUT
 * 
 */

[class*='col-'] {
  float: left;
}

.col-1-1 {
  width: 100%;
}

.col-1-2 {
  width: 50%;
}

.col-3-4 {
  width: 75%;
}

.col-1-3 {
  width: 33.33%;
}

.col-1-4 {
  width: 25%;
}

.col-2-3 {
  width: 66.66%;
}

.col-5-8 {
  width: 62.5%;
}

.col-3-8 {
  width: 37.5%;
}
/*Parent height will be 0 because children float. We fix this by clearing.*/
.grid:after {
  content: "";
  display: table;
  clear: both;
}

/*GUTTERS*/
/*element percentage width remains same despite padding or borders being applied*/
*, *:after, *:before {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

/*apply a fixed padding to the right side of all columns except the last one*/

[class*='col-'] {
  padding-right: 10px;
}

  [class*='col-']:last-of-type {
    padding-right: 0;
  }

/*OUTSIDE GUTTERS*/
.grid-pad {
  padding: 10px 0 10px 10px;
}

  .grid-pad > [class*='col-']:last-of-type {
    padding-right: 10px;
  }
/*//END GRID PAGE LAYOUT*/

/*
 * PAGE LAYOUT
 * Used on most pages.
 */
* {
  margin: 0;
  padding: 0;
}

#page-wrap {
  background: white;
  min-width: 780px;
  margin: 0px auto;
}

  #page-wrap #inside {
    margin: 20px 10px 0px 20px;
    padding-bottom: 10px;
    white-space: nowrap;
    font-size: 1em;
  }

    #page-wrap #inside.one-column {
      white-space: normal;
    }

/*Instructions
 * used for instructions on how to use the app   
 */
.instructions-container {
  border: 1px solid #ccc;
  border-radius: 4px;
  padding: .5em;
  margin-bottom: 1em;
}

  .instructions-container article {
    margin-bottom: 1em;
  }

  .instructions-container h2 {
    font-size: 1.25em;
    color: #222;
    margin-bottom: .4em;
  }

    .instructions-container h2.attention {
      color: #ff6a00;
    }

  .instructions-container p {
    font-size: 1em;
    margin-bottom: .4em;
    white-space: normal;
  }
/*END Instructions*/
/* Message
 * used for instructions on how to use the app   
 */
.message-container {
  margin-bottom: 1em;
  text-align: center;
}

  .message-container h2 {
    color: #ff6a00;
  }

  .message-container p {
    font-size: 1em;
  }
/*END Message*/

/* Travel Planner only requires 2 column layout
 * Will use grid system for more complicated layouts 
 * Simple two column CSS is fine for TP
 */
.col {
  display: inline-block;
  white-space: normal;
}

  .col.left {
    float: left;
    display: inline-block;
    margin-right: 30px;
  }

  .col.right {
    padding-left: 4em;
    width: 40%;
  }
/* // End PAGE LAYOUT */

/* TABLES
 * Reused throughout
 */
table.default {
  display: table;
  border-collapse: collapse;
  border-spacing: 2px;
  border-color: #cbcbcb;
  border-spacing: 2px;
  border-color: #cbcbcb;
  width: 100%;
}

table.reporttable{
  width:80%;
  max-width:100%;
}
table.reporttable tr td:last-child{
    width:1%;
    max-width:100%;
    white-space:nowrap;
}

  table.default.width_undefined {
    width: initial;
  }

  table.default.home {
    width: 80%;
  }

  table.default td {
    font-weight: normal;
  }

  table.default tr {
    display: table-row;
    vertical-align: inherit;
    border-color: inherit;
  }

table tr:nth-child(odd) {
  background-color: #f1f1f1;
}

table.default th {
  background: #e0e0e0;
  color: #000;
  border: 1px solid #cbcbcb;
  padding: 7px 7px 7px 5px;
  vertical-align: top;
  text-align: left;
}

  table.default th.dark-blue {
    background: #3093c7;   /* medium blue */
    color: #fff;
  }

table.default td {
  border: 1px solid #cbcbcb;
  padding: 7px 7px 7px 5px;
  vertical-align: middle;
}

  table.default td.center,
  table.default th.center {
    text-align: center;
  }

  table.default td.complete a {
    color: green;
  }

  table.default td.right {
    text-align: right;
  }

  table.default th.nowrap,
  table.default td.nowrap {
    white-space: nowrap;
  }

table.default.filter th {
  vertical-align: bottom;
}
/*// End TABLES */

/* BUTTONS and BUTTONBAR
 * Reused throughout for all buttons/anchor links
 */
.buttonbar {
  padding: 1em .5em 1em .5em;
  margin-top: .2em;
}
  /*Used on "Preview" tab of Travel Planner*/
  .buttonbar.blue {
    background: #CAE1FF;
    border: 1px solid #7EB6FF;
    border-radius: 4px;
  }

.tp-meta-data {
  font-style: italic;
  font-weight: normal;
  color: #808080;
}
button.tp-button-delete-small i {
  padding-right:0;
}
.tp-button-delete-small {
    font-size: 1em;
    color:#fff;
    background:red;
    padding:.3em .3em;
    border:1px solid #fff;
}

.tp-button.right-align {
  float: right;
}

.tp-button {
  /* Structure */
  display: inline-block;
  /*display: inline; IE 6/7*/
  zoom: 1;
  line-height: normal;
  white-space: nowrap;
  vertical-align: baseline;
  text-align: center;
  cursor: pointer;
  -webkit-user-drag: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  margin: 1px;
}

  /* Firefox: Get rid of the inner focus border */
  .tp-button::-moz-focus-inner {
    padding: 0;
    border: 0;
  }

a.tp-button {
  text-decoration: none;
  color: #444;
  font-weight: bold;
  font-size:.925em;
}

.tp-button.small {
  font-size: .875em;
}

.tp-button {
  font-family: inherit;
  padding: 0.5em 1em;
  color: #444; /* rgba not supported (IE 8) */
  color: rgba(0, 0, 0, 0.80); /* rgba supported */
  border: none rgba(0, 0, 0, 0); /*IE9 + everything else*/
  background-color: #E6E6E6;
  text-decoration: none;
  border-radius: 4px;
  display: inline-block;
}

  .tp-button.min-width {
    min-width: 80px;
  }

  .tp-button-hover,
  .tp-button:hover,
  .tp-button:focus {
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#1a000000',GradientType=0);
    background-image: -webkit-gradient(linear, 0 0, 0 100%, from(transparent), color-stop(40%, rgba(0,0,0, 0.05)), to(rgba(0,0,0, 0.10)));
    background-image: -webkit-linear-gradient(transparent, rgba(0,0,0, 0.05) 40%, rgba(0,0,0, 0.10));
    background-image: -moz-linear-gradient(top, rgba(0,0,0, 0.05) 0%, rgba(0,0,0, 0.10));
    background-image: -o-linear-gradient(transparent, rgba(0,0,0, 0.05) 40%, rgba(0,0,0, 0.10));
    background-image: linear-gradient(transparent, rgba(0,0,0, 0.05) 40%, rgba(0,0,0, 0.10));
  }

  .tp-button:focus {
    outline: 0;
  }

  .tp-button-active,
  .tp-button:active {
    box-shadow: 0 0 0 1px rgba(0,0,0, 0.15) inset, 0 0 6px rgba(0,0,0, 0.20) inset;
  }

  .tp-button[disabled],
  .tp-button-disabled,
  .tp-button-disabled:hover,
  .tp-button-disabled:focus,
  .tp-button-disabled:active {
    border: none;
    background-image: none;
    filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
    filter: alpha(opacity=40);
    -khtml-opacity: 0.40;
    -moz-opacity: 0.40;
    opacity: 0.40;
    cursor: not-allowed;
    box-shadow: none;
  }

.tp-button-hidden {
  display: none;
}
/* Firefox: Get rid of the inner focus border */
.tp-button::-moz-focus-inner {
  padding: 0;
  border: 0;
}

.tp-button-primary,
.tp-button-selected,
a.tp-button-primary,
a.tp-button-selected {
  background-color: rgb(0, 120, 231);
  color: #fff;
}

.tp-button-success {
  color: #fff !important;
  background-color: #5cb85c;
  border-color: #4cae4c;
}

.tp-button-primary-white {
  /* Structure */
  background: #fff;
  border: 1px solid rgb(0, 120, 231);
  color: #3093c7;   /* medium blue */
}

.tp-button-secondary {
  background: rgb(66, 184, 221);
}

.tp-button-alert {
  background: red;
  color: white;
}

.tp-button-attention {
  background: #ff6a00;
}

.tp-button-attention-rc {
    background: green;
}

.tp-button-attention.large {
	font-size: 1.5em;
}

.tp-button-attention-container {
  text-align: center;
  padding-bottom: 10px;
}
@-webkit-keyframes pulse_animation {
	0% { -webkit-transform: scale(1); }
	30% { -webkit-transform: scale(1); }
	40% { -webkit-transform: scale(1.08); }
	50% { -webkit-transform: scale(1); }
	60% { -webkit-transform: scale(1); }
	70% { -webkit-transform: scale(1.05); }
	80% { -webkit-transform: scale(1); }
	100% { -webkit-transform: scale(1); }
}
.tp-button.pulse {
  background:#ff6a00;
  -webkit-font-smoothing: subpixel-antialiased;
	-webkit-animation-name: 'pulse_animation';
	-webkit-animation-duration: 5000ms;
	-webkit-transform-origin:70% 70%;
	-webkit-animation-iteration-count: infinite;
	-webkit-animation-timing-function: linear;
}
.tp-link {
  padding-right: 4px;
}

.tp-disabled {
  opacity: .4;
  cursor: not-allowed !important;
}
/*//END TP BUTTONS*/

/* FORMS
 * Reused throughout
 */

.control-container {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  margin: 0 0 .4em 0;
}

  .control-container.inline {
    flex-direction: row;
  }

  .control-container .control {
    padding: 0 .4em 0 0;
  }

  .control-container.controls-bottom {
    padding-top: 4px;
    margin-bottom: -.4em !important;
  }

  .control-container > .control > div.col {
    display: inline-flex;
    flex-direction: column;
    padding: .2em .4em .4em 0;
    min-width: 200px;
  }

  .control-container input,
  .control-container input[type="text"],
  .control-container input[type="password"],
  .control-container input[type="email"],
  .control-container input[type="url"],
  .control-container input[type="date"],
  .control-container input[type="month"],
  .control-container input[type="time"],
  .control-container input[type="datetime"],
  .control-containerinput[type="datetime-local"],
  .control-container input[type="week"],
  .control-container input[type="number"],
  .control-container input[type="search"],
  .control-container input[type="tel"],
  .control-container input[type="color"],
  .control-container select,
  .control-container textarea {
    padding: 0.5em 0.6em;
    display: inline-block;
    border: 1px solid #666;
    box-shadow: inset 0 1px 3px #ddd;
    border-radius: 4px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
  }

  .control-container.small input,
  .control-container.small select {
    padding: 0.2em 0.2em;
  }

  .control-container input:disabled,
  .control-container select:disabled {
    color: #999;
  }

  .control-container select:disabled {
    background: #EBEBE4;
  }
/*Filter controls*/
div.filter select{
 border-radius:4px;
}

div.filter label {
  font-weight:normal;
}
.select2-container-multi .select2-choices {
  border: 1px solid #666 !important;
  border-radius: 4px !important;
}
/*checkbox*/
fa-checkbox > i.fa {
  font-size: 25px;
}

  fa-checkbox > i.fa.complete {
    color: green;
  }

textarea.note {
  width: 100%;
  min-height: 50px;
}

/*SORT ICON*/
table.sort th {
 cursor:pointer;

}
table.sort th span{
    text-decoration:none; 
}

div.sort{
  position:relative;
}
tr.filters > td {
 background:#CAE1FF;

}

.fa-icon {
  display:inline-block;
 position:absolute;
 top:0;
 right:0;
padding: 0 5px 0 5px;
 color:#444;

}
.fa-icon::before {
  font-family: FontAwesome;
    content: " \f0dc";
    color: #999;
}
.fa-icon.asc::before {
  font-family: FontAwesome;
    content: " \f0de"; 
}
.fa-icon.desc::before {
  font-family: FontAwesome;
    content: " \f0dd"; 
}
.fa-icon.primary::before {
    color: inherit !important;
}
/*checkbox with label, nowrap around checkbox
    See travelPlannerPreview.html as example. Inside dropdown.   
 */

/*** custom checkboxes ***/

div.checkbox > input[type="checkbox"] {
  display: none;
}
  /* to hide the checkbox or radio itself */

  div.checkbox > input[type="checkbox"] + label:before {
    font-family: FontAwesome;
    display: inline-block;
    font-size: 1.25em;
  }

  div.checkbox > input[type="checkbox"] + label:before {
    content: "\f096";
  }
  /* unchecked icon */
  div.checkbox > input[type="checkbox"] + label:before {
    letter-spacing: 5px;
  }
  /* space between checkbox and label */

  div.checkbox > input[type="checkbox"]:checked + label:before {
    content: "\f046";
  }
  /* checked icon */
  div.checkbox > input[type="checkbox"]:checked + label:before {
    letter-spacing: 5px;
  }
  /* allow space for check mark */

  div.checkbox > input[type="checkbox"]:disabled + label:before,
  div.checkbox > input[type="checkbox"]:disabled + label {
    color: #999;
  }

/*** custom radio ***/

div.radio > input[type="radio"] {
  display: none;
}
  /* to hide the checkbox or radio itself */

  div.radio > input[type="radio"] + label:before {
    font-family: FontAwesome;
    display: inline-block;
    font-size: 1.25em;
  }

  div.radio > input[type="radio"] + label:before {
    content: "\f10c";
  }
  /* unchecked icon */
  div.radio > input[type="radio"] + label:before {
    letter-spacing: 5px;
  }
  /* space between checkbox and label */

  div.radio > input[type="radio"]:checked + label:before {
    content: "\f192";
  }
  /* checked icon */
  div.radio > input[type="radio"]:checked + label:before {
    letter-spacing: 5px;
  }
  /* allow space for check mark */

  div.radio > input[type="radio"]:disabled + label:before,
  div.radio > input[type="radio"]:disabled + label {
    color: #999;
  }



/*Form Validation*/
form.validate .ng-invalid-required.ng-dirty {
  background-color: lightpink;
}

form.validate .ng-invalid-email.ng-dirty {
  background-color: lightgoldenrodyellow;
}

div.error {
  color: red;
  font-weight: bold;
}

form .ng-invalid-required.ng-dirty {
  background-color: lightpink;
}

form .ng-invalid-email.ng-dirty {
  background-color: lightgoldenrodyellow;
}

form .ng-valid.ng-dirty {
  background-color: lightgreen;
}

span.summary.ng-invalid {
  color: red;
  font-weight: bold;
}

span.summary.ng-valid {
  color: green;
}

div.error {
  color: red;
  font-weight: bold;
}

/*//END FORMS */

/*LIST VIEW 
  Used in Browse Travel Planner/Components Record List
  travelplannerlist.html elementlist.html
 */

ul.accordian {
  list-style: none;
  background: none;
  width: auto;
}

  ul.accordian li {
    border-top: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
  }

    ul.accordian li:last-child {
      border-top: none;
    }

  ul.accordian li {
    white-space: normal;
    background: #f0f0f0;
    color: #444;
    padding: .5em;
    border-radius: 2px;
  }

  ul.accordian li {
    -webkit-transition: all 0.5s ease-in-out;
    -moz-transition: all 0.5s ease-in-out;
    -ms-transition: all 0.5s ease-in-out;
    transition: all 0.5s ease-in-out;
  }

    ul.accordian li:hover {
      background: rgba(0,0,0, 0.025);
    }

    ul.accordian li a,
    ul.accordian li a {
      color: #7e7e7e;
      font-weight: normal;
      display: block;
      padding: 1em .5em;
      text-decoration: none;
    }

  ul.accordian li {
    border-top: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
  }

    ul.accordian li.open {
      -webkit-transition: all 0.5s ease-in-out;
      -moz-transition: all 0.5s ease-in-out;
      -ms-transition: all 0.5s ease-in-out;
      transition: all 0.5s ease-in-out;
    }

    ul.accordian li.open {
      background: rgba(0,0,0, 0.025);
      color: #444;
      border-bottom: 1px solid #ccc;
    }

      ul.accordian li.open a {
        color: #444;
      }

ul.list-view {
  list-style: none;
  max-width: 500px;
  border-bottom: 0.1em solid #ccc;
}

  ul.list-view li:hover {
    background: #DEDEDE;
  }

  ul.list-view li a {
    white-space: normal;
    text-decoration: none;
    color: #808080;
    display: block;
    padding: 1em .5em;
  }

    ul.list-view li a div {
      font-weight: normal;
      max-width: 400px;
    }
/* font awesome icons used in 
 * background of list elements
 * other styles for FA
 */
.twoEM {
  font-size: 2em;
}

h1 span.subtext {
  font-size: .725em;
}

.fa {
  cursor: pointer;
}

.fa-icon-background {
  position: relative;
  cursor: pointer;
}

  .fa-icon-background:before {
    position: absolute;
    font-family: FontAwesome;
    top: 40%;
    right: 10px;
  }

  .fa-icon-background.chevron:before {
    content: "\f054";
  }

  .fa-icon-background.pencil:before {
    content: "\f040";
  }
/*// End of LIST VIEW*/

/* PAGINATION
 * Used on Browse Components/ Browse Elements
 * List of records to page through    
 */
.paginator {
  letter-spacing: -.31em;
  text-rendering: optimizeSpeed;
  list-style: none;
  margin: 0;
  padding: 0;
  margin: .5em 0 1em 0;
}

  .paginator li {
    display: inline-block;
    zoom: 1;
    letter-spacing: normal;
    word-spacing: normal;
    vertical-align: top;
    text-rendering: auto;
    background-color: #E6E6E6;
    font-weight: normal;
  }

    .paginator li:first-child {
      border-right: 0;
      -webkit-border-top-left-radius: 4px;
      -webkit-border-bottom-left-radius: 4px;
      -moz-border-radius-topleft: 4px;
      -moz-border-radius-bottomleft: 4px;
      border-top-left-radius: 4px;
      border-bottom-left-radius: 4px;
    }

    .paginator li:last-child {
      border-left: 0;
      -webkit-border-top-right-radius: 4px;
      -webkit-border-bottom-right-radius: 4px;
      -moz-border-radius-topright: 4px;
      -moz-border-radius-bottomright: 4px;
      border-top-right-radius: 4px;
      border-bottom-right-radius: 4px;
    }

    .paginator li.ellipsis {
      background: none;
    }

    .paginator li a {
      display: inline-block;
      padding: .2em 1.4em;
      text-decoration: none;
      color: rgba(0,0,0,.8);
      font-weight: normal;
      border: 1px solid #efefef;
      text-align: center;
      min-width: 60px;
      font-size: 0.925em;
    }

      .paginator li a.active {
        background: #3093c7;   /* medium blue */
        color: white;
      }

  .paginator a:hover {
    background: #d7dada;
  }

  .paginator a.not-link {
    border-color: transparent;
  }

  .paginator a.not-link:focus {
    outline: none;
  }

span.paginator-number {
  font-weight: bold;
  color: #3093c7;   /* medium blue */
}
/*//END PAGINATION */

/* TABS
 * Reused throughout
 */
tab-container {
  background: rgba(82, 79, 79, .8) !important;
  padding: .8em !important;
  border-radius: 4px !important;
  position: relative !important;
  display: block;
}
tab-container.fill-height > div {
    position: absolute !important;
    top: 0.8em !important;
    right: 0.8em !important;
    bottom: 0.8em !important;
    left: 0.8em !important;
    display: flex !important;
    flex-direction: column !important;
}
tab-container.fill-height > div > div {
    position: relative;
    flex: 1;
    min-height: 0;
}
tab-container > div > div {
    overflow-x: auto;
}

tab-container > div > ul {
  display: flex !important;
}

tab-container > div > ul > li {
  margin: 0 .325em !important;
  list-style: none !important;
}

tab-container > div > ul > li > a {
  text-decoration: none !important;
  font-size: 1em !important;
  padding: .5em .725em !important;
  display: inline-block !important;
  border-radius: 3px 3px 0px 0px !important;
  background: #7FB5DA !important;
  font-weight: 600 !important;
  color: #4c4c4c !important;
  transition: all linear 0.15s !important;
}

tab-container > div > ul > li > a:hover {
  background: #a7cce5 !important;
  text-decoration: none !important;
}

tab-container > div > ul > li.active > a, tab-container > div > ul > li.active > a:hover {
  background: #fff !important;
  color: #4c4c4c !important;
  font-weight: bold !important;
  outline: none !important;
}

tab-container > div > div {
  padding: .8em;
  border-radius: 3px;
  box-shadow: -1px 1px 1px rgba(0,0,0,0.15);
  background: #fff;
}

/*//END TABS*/

/* COLLAPSIBLE SECTIONS
 * Reusable
 * collaps.js directive
 */
.fa-collapsible-icon-background {
  position: relative;
  cursor: pointer;
}

  .fa-collapsible-icon-background:before {
    font-family: FontAwesome;
  }

.collapsed::before {
  content: " \f0da";
}

.not-collapsed::before {
  content: " \f0d7";
}

/*//END COLLAPSIBLE SECTIONS*/

/* POPOVER 
 * Used for "tips" popover.js directive 
 * See "Component Tree" tab on Travel Planner. 
 * Hover over link icon
 */

.popover-icon {
  display: inline;
}

  .popover-icon:last-child {
    margin-left: 20px;
    margin-right: 20px;
  }

  .popover-icon:only-child {
    margin-right: 20px;
  }

.popover-container {
  position: relative;
  display: inline-block;
}

.popover.alignRight, .popover.history {
  top: 100%;
  right: 5px;
  width: 220px;
}

.popover {
  border: solid black 1px;
  border-radius: 4px;
  position: absolute;
  top: 100%;
  padding: 5px;
  margin: 0;
  background: #fff;
  border: 1px solid #ccc;
  z-index: 1;
  width: 400px;
}
/*//END POPOVER */

.outline {
  border: 1px dashed #222;
  margin-bottom: 10px;
}
/*Display Metadata
     style="border: 1px dashed #222; margin-bottom: 10px;"
    */

/*ELEMENT TREE BRANCH a.k.a Component Tree
 *Specific only to elementTreeBranch.html
 */

.tree-container {
  display: table;
  width: 100%;
  border-bottom: 1px solid #ccc;
}

  .tree-container div.nested-table {
    display: table;
    position: absolute;
    right: 10px;
    top: 0px;
  }

  .tree-container div.row div.cell.size-limit {
    max-width: 270px;
    white-space: normal;
  }

  .tree-container div.row div.cell {
    display: table-cell;
    padding: 5px;
  }

  .tree-container div.row span {
    cursor: pointer;

    &.disabled {
        opacity: 0.4;
        cursor: not-allowed;
    }
  }

    .tree-container div.row span.button {
      border: 1px solid gray;
      background: #fff;
      padding: 2px 4px;
      border-radius: 2px;
    }

      .tree-container div.row span.button:hover {
        background: rgba(204, 204, 204,.5);
        border: 1px solid #000;
      }

      .tree-container div.row span.button.caret.down {
        padding: 2px 6px 2px 6px;
      }

  .tree-container div.row spanbutton.caret.right {
    padding: 2px 6px;
  }

  .tree-container div.row div.cell span.fa-reorder {
    border: 0;
    cursor: url(http://www.google.com/intl/en_ALL/mapfiles/openhand.cur), default;
    /*cursor: url(https://mail.google.com/mail/images/2/openhand.cur), default;*/
    /*  cursor: pointer;
  cursor: hand;
  cursor: grab;
  cursor: -webkit-grab;*/
  }

  .tree-container div.row div.cell span.fa {
    color: #787878;
  }

div.row.row-size {
  position: relative;
  padding: .5em;
}

div.row div.cell {
  font-size: 14px;
}

.tree-container .titleText {
  width: 80%;
}
/*// End ELEMENT TREE BRANCH*/

/*ELEMENT DETAILS
 *Specific only to elementDetails page
 */
.details-area {
  min-height: 20em;
  width: 30em;
}
/*End ELEMENT DETAILS*/

/*OVERLAY*/
.overlay {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  text-align: center;
}

.element-overlay {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  text-align: center;
}
/*//END OVERLAY*/

/*LOADING*/
.loading-container {
  position: absolute;
  top: 50%;
  left: 50%;
  color: #3093c7;   /* medium blue */
  transform: translate(-50%);
}

.loading-container p {
  font-size: 40px;
  background-color: rgba(255,255,255,0.7);
}

i.fa-spin.loading {
  font-size: 100px;
  color: #3093c7;   /* medium blue */
}

  i.fa-spin.loading.small {
    font-size: 1em;
    color: #222;
  }

/*//END LOADING*/

/*ELEMENT / COMPONENT STYLES
 *Specific to elementTreeBranch, TravelPlannerTEView, and travelPlannerPreview page
 */
.selected-element {
  border: 1px solid #0d83ed;
}

.previous-notes {
  padding: .5em;
  overflow: auto;
  border: solid 1px black;
  height: 6em;
}


.note-container textarea.note {
  width: 95%;
  min-height: 100px;
}
/* Scroll
 *TravelPlannerTEView.html    
 */
.element-data {
  background: transparent;
  padding: .5em;
  margin: 0;
}

.highlight {
  background: rgb(255,255,51);
  border: 1px dotted #808080;
}



.remove-highlight, highlightNone {
  background: rgb(255,255,255);
  border: none;
}

.edit-lock {
  border-right: 5px solid grey !important;
}

tr.assign-lock td:nth-child(3)::before {
  content: "This component is locked because it is a final status or the default assignment role is set to TPW. Mark complete and assign to your RM.";
  color: red;
}

tr.assign-lock td:last-child {
  border-right: 5px solid grey !important;
}

.highlight.legend {
  display: inline-block;
  width: 20px;
  height: 20px;
}

.selected-element,
.section-my-assignments .selected-element {
  border: dashed #0d83ed 2px;
  min-height: 20px;
}

/*// End ELEMENT / COMPONENT STYLES*/

/* PREVIEW
 * Only used on previewTravelPlanner.html 
 */
/*.level-1 h1 {
  color: orange;
  height: auto;
  line-height: 28px;
  font-size: 24px;
}
.level-1 p {
  color: green;
  font-size: 16px;
  font-weight: bold;
  line-height: 20px;
}*/
/* edit link on preview page */
.preview-page .edit-element-button {
  background: none;
  border: 0;
  border-bottom: 1px solid;
  cursor: pointer;
  padding: 0;
}
/*//END PREVIEW */


/*//END of PREVIEW TAB of TRAVEL PLANNER*/

/* FILTERS
 * Used on Browse Components and Browse Travel Planner pages
 * Used for the filter dropdowns
 */
select2-typeahead-selector .select2-container, assigned-users-selector .select2-container {
  width: 15em;
}

.select2-drop, .select2-drop-mask {
  z-index: 0;
}

.select2-results, .select2-search {
  font-size: .825em;
}
/*//END FILTERS*/

/* TRAVELPLANNER TE VIEW */
.travel-planner-te-view .cke_top {
  min-height: 1px;
  max-height: 1px;
  -webkit-transition: max-height 0.4s ease;
  -o-transition: max-height 0.4s ease;
  transition: max-height 0.4s ease;
}

  .travel-planner-te-view .cke_top .cke_toolbox {
    visibility: hidden;
  }

.travel-planner-te-view .showCKEToolbox .cke_top {
  max-height: 100px;
  -webkit-transition: max-height 0.4s ease;
  -o-transition: max-height 0.4s ease;
  transition: max-height 0.4s ease;
  visibility: visible;
}

  .travel-planner-te-view .showCKEToolbox .cke_top .cke_toolbox {
    visibility: visible;
  }

.cke_contents {
  min-height: 325px !important;
}

.note-container {
  background: #ccc;
  text-align: center;
}

  .note-container label {
    color: #222;
  }

.previous-note-container {
  text-align: center;
}

  /* .previous-note-container div {
  } */

table.default.assignment td.cursor {
  cursor: pointer;
}

table.default.assignment td.content {
  max-width: 200px;
}

/*NOTES TAB*/
.all-notes-container {
  overflow: scroll;
  width: 90%;
  height: 150px;
}

.all-notes-tab .note {
  display: inline;
}

.previous-notes-tab .note {
  display: inline;
}

  .previous-notes-tab .note:first-child {
    display: none;
  }

table.notes-view .note:first-child {
  padding: 0;
}

table.notes-view .previous-notes-tab .note {
  padding: 5px 0 10px 0 !important;
  display: block;
}

table.notes-view {
  width: 100%;
  border-bottom: 1px dotted #ccc;
}

  table.notes-view.tp-details {
    width: 100%;
    border-bottom: 0;
  }

  table.notes-view th,
  table.notes-view td {
    background: #fff;
    vertical-align: top;
    padding-top: .5em;
    padding-bottom: .5em;
    padding-right: 1em;
  }

  table.notes-view textarea {
    width: 100%;
    min-height: 100px;
  }

.previous-notes .note {
  display: inline;
}
/*//END NOTES TAB*/

td > .note, .note {
  display: none;
}

  td > .note:first-child,
  .note:first-child {
    display: inline;
  }

td .previous-notes-tab .note:first-child {
  display: none;
}

.previous-note-container .note {
  text-align: center;
}

.note {
  font-weight: normal;
  text-align: left;
  padding: 5px;
}

.note-author {
  color: #808080;
  font-style: italic;
  display: inline;
}

  .note-author::before {
    content: "Updated by ";
  }

.note-date {
  color: #808080;
  font-style: italic;
  display: inline;
}

  .note-date::before {
    content: " on ";
  }

.fa-comment.note {
  font-size: 1.5em;
  color: #0094ff;
}
/*//TRAVELPLANNER TE VIEW */

/*QUERY BUILDER*/

/* .button-group {
} */

  .button-group button {
    margin-left: -4px;
  }

button i {
  display: inline-block;
  padding-right: .5em;
}

.button-group .tp-button {
  border-radius: 0;
  border-right: 1px solid #4cae4c;
}


.button-group > button:first-child {
  margin: 0px;
}

  .button-group > button:first-child:not(:last-child) {
    border-bottom-right-radius: 0;
    border-top-right-radius: 0;
    border-bottom-left-radius: 4px;
    border-top-left-radius: 4px;
  }
.button-group > button:only-child {
border-radius:4px;
}
.button-group > button:last-child:not(:first-child) {
  border-bottom-left-radius: 0;
  border-top-left-radius: 0;
  border-bottom-right-radius: 4px;
  border-top-right-radius: 4px;
  border-right: 0;
}

.query {
  margin: .4em;
  padding: .4em;
  background: #efefef;
  border-radius: .4em;
  border: 1px solid #bdb9b9;
}

  .query div.left {
    float: left;
  }

  .query div.right {
    float: right;
  }


.query .container {
  overflow: hidden;
}

.query .container-control-group {
  overflow: hidden;
  padding: 10px 0 10px 0;
}

/* .query .select2-container {

} */
.query input, 
.query select {
  border-radius:4px;
}
.control-group > div {
  display: inline-block;
}

/*//END QUERY BUILDER*/

/* ICE 
 * Part of a plugin lite.min.css
 * For hiding deleted text with Track Changes feature 
 */
.ice-del {
  display: none;
}
/*// End Part of a plugin lite.min.css*/

/*NOTIFICATIONS service/notifications.js*/
#notification-area.visible {
  opacity: 0.8;
}
#notification-area {
  opacity: 0;
  transition: opacity 0.25s ease-in-out;
  pointer-events: none;
}
#notification-area > div {
    display: table-cell;
    vertical-align: middle;
    text-align: center;
}

/*//END NOTIFICATIONS service/notifications.js*/

input[readonly] {
  border: none;
}

.angular-ui-tree {
  padding-top: 2em;
}

.angular-ui-tree-empty {
  background: inherit;
  border: none;
}

.angular-ui-tree-placeholder {
  border: 2px dashed gray;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.angular-ui-tree-nodes {
  padding: 0 !important;
}

/* Custom modal */
.modal-open {
  overflow: hidden;
}

.modal-backdrop.last {
  opacity: .5;
}

.modal-stack {
  background-color: none;
  pointer-events: none;
  text-align: center;
}

  .modal-stack, .modal-stack > * {
    position: fixed;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
  }

    .modal-stack > * {
      pointer-events: auto;
    }

.modal-backdrop {
  background-color: #000;
  opacity: 0.5;
}

.modal-scroll-container {
  overflow-x: hidden;
  overflow-y: auto;
}

.modal-dialog {
  margin: 160px 0;
  display: inline-block;
  background: #f0f0f0;
  border-radius: 5px;
  color: #444;
  font-size: 1em;
  line-height: 1.5em;
  max-width: 100%;
  padding: 1em;
  position: relative;
  text-align: left;
}
/* End login modal */
/*Bulk Actions*/

.topMenu {
    border: 1px solid rgb(0, 120, 231);
    border-radius: 2px;
    min-width: 75px;
    display: table-cell;
    text-align: center;
    cursor: pointer;
    padding: .5em !important;
    position: relative;
    /*ORIG:  background: #3093c7;   /* medium blue * /  color: #fff;*/
    /*NEW:  (AS) 2022-04-11  */
    background: #fff;
    color: #337ab7;  /*light blue */
	/*color: #002d55;  navy blue */
}

.global-nav .topMenu {
    /*border-right: 1px solid rgb(0, 120, 231); */
    border: none;
    border-right: 1px solid #ccc !important;
    border-radius: 2px;
    min-width: 75px;
    display: table-cell;
    text-align: center;
    cursor: pointer;    
	/*color: #3093c7;     light blue */
	color: #002d55; /* navy blue */
    font-weight: bold;
    padding: .5em !important;
    position: relative;
    background: #E3E3E3; /* light gray */
}


.global-nav .last {
  border-left: none !important;
}

.paddingHoriz5 {
  padding: 0 5px 0 5px;
}

.paddingHoriz10 {
  padding: 0 10px 0 10px;
}

.paddingRightHorizPoint1 {
  padding: 0 1em 0 0;
}

.padding10 {
  padding: 10px;
}

padding-Right10 {
  padding-right: 10px;
}

.bulkSelect i, .bulkAction i {
  font-size: 1.5em;
  color: #3093c7;   /* medium blue */
}

.dropdownMenu {
  position: absolute;
  min-width: 190px;
  top: 100%;
  left: -1px;
  text-align: left;
  border: 1px solid #3093c7;   /* medium blue */
  border-radius: 2px;
  width: 150px;
  background: #efefef;
  z-index: 1;
}

  .dropdownMenu ul {
    list-style: none;
  }

    /* .dropdownMenu ul li {
    } */

      .dropdownMenu ul li a {
        padding: .5em;
        display: block;
        text-decoration: none;
        font-weight: normal;
      }

        .dropdownMenu ul li a:hover {
          background: rgba(0,0,0, 0.05);
        }

/*ViewTravelPlannerTE*/

.element-section h1 {
  max-width: 500px;
}

/*Flying bicyclist*/
.flying-bicyclist-container {
  overflow: hidden;
  position: absolute;
  pointer-events: none;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
}

.flying-bicyclist-image {
  z-index: 1;
  background-image: url('http://mainstreet.backroads.com/images/bike.gif');
  width: 101px;
  height: 77px;
  /*width: 10px;
  height: 10px;
  background-color: #ccc;
  */ position: absolute;
  display: block;
}

/*Hide spell-check-as-you-type banner*/
#scayt_banner {
  display: none;
}


/*CSS MEDIA QUERIES*/
/* Smartphones (portrait and landscape) ----------- */
@media only screen and (min-device-width : 320px) and (max-device-width : 480px) {
  /* Styles */

}

/* Smartphones (landscape) ----------- */
@media only screen and (min-width : 321px) {
  /* Styles */
}

/* Smartphones (portrait) ----------- */
@media only screen and (max-width : 320px) {
  /* Styles */
}

/* iPads (portrait and landscape) ----------- */
@media only screen and (min-device-width : 768px) and (max-device-width : 1024px) {
  /* Styles */
}

/* iPads (landscape) ----------- */
@media only screen and (min-device-width : 768px) and (max-device-width : 1024px) and (orientation : landscape) {
  /* Styles */
  .global-header .software-title {
    font-weight: bold;
    font-size: .5em;
  }
}

/* iPads (portrait) ----------- */
@media only screen and (min-device-width : 768px) and (max-device-width : 1024px) and (orientation : portrait) {
  /* Styles */

}

/* Desktops and laptops ----------- */
@media only screen and (max-width : 1024px) {
  .global-header .software-title {
    font-weight: bold;
    font-size: 1.25em;
  }

  .global-header .logo {
    width: 80%;
    height: auto;
  }
}

/* Desktops and laptops ----------- */
@media only screen and (min-width : 1224px) {
}

/* Large screens ----------- */
@media only screen and (min-width : 1824px) {
}

/* iPhone 4 ----------- */
@media only screen and (-webkit-min-device-pixel-ratio : 1.5), only screen and (min-device-pixel-ratio : 1.5) {
}

/*TEST ANIMATION*/

.cssanimation {
  width: 200px;
  border: 1px solid black;
  transition-property: width;
  transition-duration: 2s;
}

  .cssanimation:hover {
    width: 400px;
  }

.cssAnimationTimesOneLine {
  width: 100px;
  background-color: white;
  transition: width 2s, background-color 10s;
}

  .cssAnimationTimesOneLine:hover {
    width: 200px;
    background-color: red;
  }

.cssanimationEasing {
  width: 200px;
  background-color: black;
  transition-property: all;
  transition-timing-function: ease;
  transition-duration: 2s;
}

  .cssanimationEasing:hover {
    background-color: red;
  }

/* For typeahead */
.dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 1000;
  display: none;
  float: left;
  min-width: 160px;
  padding: 5px 0;
  margin: 2px 0 0;
  list-style: none;
  font-size: 14px;
  background-color: #fff;
  border: 1px solid #ccc;
  border: 1px solid rgba(0,0,0,.15);
  border-radius: 4px;
  -webkit-box-shadow: 0 6px 12px rgba(0,0,0,.175);
  box-shadow: 0 6px 12px rgba(0,0,0,.175);
  background-clip: padding-box;
}
.dropdown-menu>li>a {
  display: block;
  padding: 3px 20px;
  clear: both;
  font-weight: 400;
  line-height: 1.42857143;
  color: #333;
  white-space: nowrap;
  cursor: pointer;
}
/* Show paragraph separation in CKEditor */
.cke_wysiwyg_div p {
  margin-bottom: 1em;
}

.waitingspinner{
    color:#3093c7;   /* medium blue */
}

/* BEGIN tooltip */
[data-tooltip] {
   position: relative;
   padding: 2px 8px;
   color: white;
   cursor: pointer;
}

/* Hide the tooltip content by default */
   [data-tooltip]:before,
   [data-tooltip]:after {
       visibility: hidden;
       -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
       filter: "progid: DXImageTransform.Microsoft.Alpha(Opacity=0)";
       opacity: 0;
       pointer-events: none;
   }

/* Position tooltip above the element */
   [data-tooltip]:before {
       position: absolute;
       bottom: 150%;
       left: 50%;
       margin-bottom: 5px;
       margin-left: -80px;
       padding: 16px;
       min-width: 200px;
       max-width: 500px;
       -webkit-border-radius: 8px;
       -moz-border-radius: 8px;
       border-radius: 8px;
       background-color: rgba(78, 81, 82, 0.8);
       color: #fff;
       content: attr(data-tooltip);
       text-align: center;
       font-size: 14px;
       line-height: 1.2;
   }

/* Triangle hack to make tooltip look like a speech bubble */
   [data-tooltip]:after {
       position: absolute;
       bottom: 150%;
       left: 50%;
       margin-left: -5px;
       width: 0;
       border-top: 5px solid #000;
       border-top: 5px solid hsla(0, 0%, 20%, 0.9);
       border-right: 5px solid transparent;
       border-left: 5px solid transparent;
       content: " ";
       font-size: 0;
       line-height: 0;
   }

/* Show tooltip content on hover */
   [data-tooltip]:hover:before,
   [data-tooltip]:hover:after {
       font-size: 100%;
       color: white;
       visibility: visible;
       -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
       filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
       opacity: 1;
   }
/* END tooltip */

travel-planner-user-note > textarea {
    width: 100%;
    height: 100%;
}

travel-planner-user-note > textarea.dirty {
    background-color: #ffeeee;
}

.show-loading-overlay {
    position: absolute;
    background-color: white;
    opacity: .3;
}

.show-loading-overlay::after {
    color: black;
    content: "Loading...";
}

[column-resizable-grab]  {
    position: absolute;
    right: 0;
    top: 50%;
    width: 12px;
    cursor: ew-resize;
    transform: translateY(-50%);
    text-align: center;
    color: gray;
    opacity: 0;
}

[column-resizable-grab] > i {
    cursor: ew-resize;
}

:hover > [column-resizable-grab] {
    opacity: 1;
}

/* ---- EXPERION ADDITIONS TO APP.CSS ---- */

.popover.alignRight.popover-top {
    top: -98px;
}

ins {
    text-decoration: none !important;
}

.mass-republish-table {
    margin-top: 15px;
}

.mass-republish-search-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border: 1px solid #cbcbcb;
    padding: 10px;
}

.mass-republish-buttons-container {
    display: flex;
    gap: 10px;
}

.mass-republish-table-header {
    display: grid;
    grid-template-columns: 0.5fr 2fr auto;
    gap: 8px;
}

.mass-republish-filter .topMenu {
    padding: 7px 3px !important;
    border-radius: 5px !important;
}

.tp-button-container {
    display: flex;
    justify-content: center;
    align-items: center;
}

.mass-republish-loader {
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: center;
    bottom: 50%;
}

.mass-republish-filter {
    display: flex;
    gap: 8px;
    justify-content: end;
}

.mass-republish-filter .dropdownMenu {
    max-height: 200px;
    overflow-y: auto;
}

.mass-republish-header {
    padding: 7px 0px;
}

.publish-modal-header {
    font-weight: bold;
    background-color: #ffffff;
    padding: 5px;
    border-radius: 3px;
    border: 1px solid #a3a3a3;
    display: flex;
    align-items: center;
    justify-content: center;
    column-gap: 4px;
}

.publish-modal-body {
    margin-bottom: 1em;
    text-align: center;
    font-size: 16px;
    padding:0px 30px;
    font-weight: bold;
}

.publish-modal-close-btn{
    font-size: 20px;
    color: #778899;
    padding: 0px 5px;
    border-radius: 5px;
}

.publish-btn-right {
    display: flex;
    justify-content: flex-end;
}

.publish-textfield-rounded {
    margin: 10px 0;
    padding: 15px;
    border-radius: 5px;
    resize: none;
    width: 100%;
}

.additional-details-help-icon {
    padding: 0;
    color: lightslategrey;
}

.table-wrapper {
    display: flex;
}

.publish-btn {
    margin-left: auto;
    margin-right: 4px;
}
