/*******************************************/
/* VIEWER */
/*******************************************/
.cgv-wrapper {
  overflow: hidden;
  display: inline-block;
  border: 1px solid #DDD;
  text-align: left;
}

.cgv-layer {
  position: absolute;
  left: 0;
  top: 0;
}


/*******************************************/
/* COLOR PICKER */
/*******************************************/
/* NOTE: dimensions have to be changed in ColorPicker.js as well. */
/* .cp-color-picker-dialog { */
/*   z-index: 1000; */
/* } */
/*  */
/* .cp-color-picker-dialog * { */
/*   box-sizing: content-box; */
/* } */

.cp-mode-button,
.cp-done-button {
  cursor: pointer;
  color: #585858;
  font-size: 10px;
  padding: 0;
  height: 22px;
  width: 22px;
  background-color: white;
  border: 1px solid #B4B4B4;
  border-radius: 2px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.cp-mode-button:hover,
.cp-done-button:hover {
  background-color: #EEE;
  color: black;
}
.cp-done-button svg path {
  stroke: grey;
  stroke-width: 2px;
}
.cp-done-button:hover svg path{
  stroke: black;
}

.cp-mode-hidden {
  display: none;
}

.cp-color-picker-wrapper {
  width: 100px;
  height: 100px;
  position: relative;
  display: inline-block;
  /* border: 1px solid #C8C8C8; */
  /* border-bottom-color: #585858; */
  /* border-radius: 2px; */
  cursor: pointer;
  /* overflow: hidden; */
  vertical-align: baseline;
}
.cp-color-picker-indicator {
  width: 5px;
  height: 5px;
  position: absolute;
  /* border: 2px groove black; */
  /* border-radius: 3px; */
}
/* .cp-picker-indicator-rect-1 { */
/*   border: 1px solid white; */
/*   border-radius: 3px; */
/*   position: absolute; */
/*   top: -2px; */
/*   left: -2px; */
/*   width: 5px; */
/*   height: 5px; */
/* } */
/*  */
/* .cp-picker-indicator-rect-2 { */
/*   border: 1px solid rgb(25,25,25); */
/*   border-radius: 4px; */
/*   position: absolute; */
/*   top: -3px; */
/*   left: -3px; */
/*   width: 7px; */
/*   height: 7px; */
/* } */
.cp-picker-indicator-rect-1 {
  /* border: 3px solid rgba(25,25,25,0.5); */
  /* border: 3px solid rgba(75,75,75,0.75); */
  border: 2px solid rgba(25,25,25,0.5);
  /* border: 2px solid rgba(75,75,75,0.75); */
  background-clip: padding-box;
  /* border-radius: 4px; */
  border-radius: 5px;
  position: absolute;
  /* top: -2px; */
  /* left: -2px; */
  top: -3px;
  left: -3px;
  /* width: 3px; */
  /* height: 3px; */
  width: 7px;
  height: 7px;
}

.cp-picker-indicator-rect-2 {
  border: 1px solid white;
  /* border: 3px solid rgb(25,25,25); */
  /* border-radius: 4px; */
  border-radius: 5px;
  position: absolute;
  /* top: -1px; */
  /* left: -1px; */
  top: -2px;
  left: -2px;
  /* width: 5px; */
  /* height: 5px; */
  width: 7px;
  height: 7px;
}

.cp-color-slider-wrapper {
  width: 20px;
  height: 100px;
  margin-left: 5px;
  top: -1px;
  position: relative;
  display: inline-block;
  /* border: 1px solid #585858; */
  /* border-radius: 2px; */
  cursor: pointer;
}

.cp-color-slider {
  height: 100px;
  border-radius: 2px;
  /* margin-left: 1px; */
}

.cp-color-slider svg {
  vertical-align: baseline;
}

.cp-color-slider-indicator {
  /* width: 100%; */
  left: -2px;
  width: 22px; 
  height: 5px;
  position: absolute;
  /* border: 1px solid black; */
  /* border-radius: 3px; */
  /* background-color: white; */
}

.cp-color-indicator-rect-1 {
  /* border: 3px solid white; */

  /* Switch These for work in progress indicators */
  border: 3px solid rgb(25,25,25);
  /* border: 2px solid white; */
  /* box-shadow: 0 0 0 1px rgba(16,22,26,.4),0 1px 2px rgba(16,22,26,.8); */

  border-radius: 2px;
  position: absolute;
  top: -2px;
  left: -1px;
  width: 20px;
  height: 3px;
}

.cp-color-indicator-rect-2 {
  /* border: 1px solid rgb(25,25,25); */

  /* Switch These for work in progress indicators */
  border: 1px solid white;

  border-radius: 1px;
  position: absolute;
  top: -1px;
  left: 0px;
  width: 22px;
  height: 5px;
}

.cp-alpha-wrapper {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.cp-alpha-slider-wrapper {
  /* width: 127px; */
  width: 100px;
  height: 10px;
  margin-top: 5px;
  position: relative;
  display: block;
  /* border: 1px solid #585858; */
  /* border-radius: 2px; */
  cursor: pointer;
}
.cp-alpha-slider-indicator {
  width: 3px; 
  height: 12px;
  top: -1px;
  position: absolute;
  /* border-radius: 3px; */
}

.cp-alpha-indicator-rect-1 {
  /* border: 3px solid white; */

  /* Switch These for work in progress indicators */
  border: 3px solid rgb(25,25,25);
  /* border: 2px solid white; */
  /* box-shadow: 0 0 0 1px rgba(16,22,26,.4),0 1px 2px rgba(16,22,26,.8); */

  border-radius: 2px;
  position: absolute;
  /* top: -4px; */
  top: -2px;
  left: -3px;
  width: 3px;
  height: 10px;
}

.cp-alpha-indicator-rect-2 {
  /* border: 1px solid rgb(25,25,25); */

  /* Switch These for work in progress indicators */
  border: 1px solid white;

  border-radius: 1px;
  position: absolute;
  top: -1px;
  left: -2px;
  width: 5px;
  height: 12px;
}

.cp-dialog {
  z-index: 1000;
  position: absolute;
  /* border: 1px solid black; */
  padding: 5px;
  background-color: white;
  border-radius: 2px;
  /* box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.5); */
  box-shadow: 0 0 0 1px rgba(16,22,26,.1),0 2px 4px rgba(16,22,26,.2),0 8px 24px rgba(16,22,26,.2);
  text-align: left;
}

.cp-dialog * {
  box-sizing: content-box;
}

/* Area at bottom of dialog buttons */
.cp-dialog-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 0.5px solid lightgrey;
  padding-bottom: 5px;
  margin-bottom: 5px;
}
.cp-header-color-section {
  height: 29px;
}
/* CSS styles similar to Bootstrap 3 */
.cp-button {
  color: #333;
  font-size: 10px;
  background-color: white;
  border: 1px solid #ccc;
  border-radius: 4px;
  margin-left: 5px;
}

.cp-color-original,
.cp-color-current {
  display: inline-block;
  height: 28px;
  width: 28px;
  border: 0.5px solid #ccc;
}
.cp-color-current {
  border-left: none;
  border-top-right-radius: 3px;
  border-bottom-right-radius: 3px;
}
.cp-color-original {
  /* border-right: none; */
  border-top-left-radius: 3px;
  border-bottom-left-radius: 3px;
  cursor: pointer;
}
.cp-color-original:hover {
  outline: #0067F4 solid 1px;
}

.cp-color-picker {
  position: absolute;
  /* box-sizing: border-box; */
  height: 100px;
  border-radius: 2px;
}

.cp-dialog-numbers {
  text-align: center;
  display: flex;
  justify-content: space-between;
  margin: 5px 0;
  padding: 5px 0 0px;
  border-top: 0.5px solid lightgrey;
}
.cp-number-div {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 25px;
}

.cp-alpha-number {
  width: 25px;
  height: 10px;
  font-size: 10px;
  text-align: center;
  font-family: monospace;
  padding: 2px;
  box-sizing: border-box;
  color: #868E96;
  line-height: 11px;;
}
.cp-number-div input {
  width: 25px;
  font-size: 10px;
  text-align: center;
  font-family: monospace;
  padding: 2px;
  border: 1px solid #ccc;
  border-radius: 2px;
  box-sizing: border-box;
  outline-width: 2px;
}
.cp-hex-div {
  width: 45px;
}
.cp-hex-div input {
  width: 45px;
}
.cp-number-label {
  font-size: 9px;
  font-weight: bold;
  cursor: ew-resize;
  color: #868E96;
}
.cp-hex-div .cp-number-label {
  cursor: unset;
}

.cp-dialog-swatches {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  border-top: 0.5px solid lightgrey;
  width: 127px;
  padding-top: 5px;
  margin-bottom: 3px;
}
.cp-dialog-favorites {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  width: 100%;
  margin-top: 5px;
}

.cp-dialog .cp-swatch, 
.cp-dialog-favorites .cp-swatch-blank {
  width: 15px;
  height: 15px;
  border: 0.5px solid #ccc;
  border-radius: 2px;
  margin: 0.5px;
  cursor: pointer;
  margin-bottom: 2px;
}
.cp-dialog-favorites .cp-swatch-blank {
  cursor: unset;
  display: flex;
  overflow: hidden;
}
.cp-dialog-favorites .cp-swatch-blank svg path {
  /* stroke: 0.5px solid #ccc; */
  stroke: #ccc;
  stroke-width: 0.5px;
  stroke-opacity: 0.8;
}

.cp-dialog .cp-swatch:hover {
  outline: #0067F4 solid 1px;
}
.cp-swatch-active {
  outline: #0067F4 solid 1px;
}
.cp-dialog-favorites .cp-favorite-btn {
  height: 15px;
  width: 15px;
  border: 0.5px solid transparent;
  margin: 0.5px;
  cursor: pointer;
  display: flex;
}
.cp-dialog-favorites .cp-favorite-btn-active svg path {
  /* fill: yellow; */
  fill: #868E96;
}

.cp-dialog-favorites .cp-favorite-btn svg path {
  stroke: #868E96;
  stroke-width: 4px;
}
.cp-favorite-btn:hover svg path {
  stroke-width: 6px;
  /* transition: stroke-width 0.2s ease-in-out; */
}

.cp-swatch-section .cp-swatch-label {
  font-size: 9px;
  font-weight: bold;
  color: #868E96;
}
.cp-swatch-section .cp-swatch-row {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom: 3px;
}

/*******************************************/
/* DIALOG BOX  */
/*******************************************/
.cgv-dialog {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  /* box-sizing: border-box; */
  padding: 5px 10px 10px 10px;
  margin: auto auto;
  border: 1px solid black;
  border-radius: 4px;
  box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.5);
  opacity: 0;
  background-color: white;
  display: block;
  text-align: left;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  z-index: 1000;
}

.cgv-dialog-dismiss {
  position: absolute;
  top: 5px;
  right: 10px;
  height: 20px;
  width: 20px; 
  background-color: white;
  cursor: pointer;
  color: #CCC;
  font-weight: bold;
  font-size: 18px;
  text-align: right;
  line-height: 20px;
}

.cgv-dialog-dismiss:active {
  background-color: rgb(200, 200, 200);
}

.cgv-dialog-dismiss:hover {
  color: rgb(0, 0, 0);
}

.cgv-dialog-header {
  /* height: 25px; */
  padding-bottom: 5px;
  font-weight: bold;
  font-size: 16px;
  text-align: center;
  border-bottom: 1px solid #CCC;
  color: rgb(50, 50, 50);
}

.cgv-dialog-contents h3 {
  font-size: 16px;
}

.cgv-dialog-contents {
  margin-top: 5px;
  overflow: scroll;
}

/* Area at bottom of dialog buttons */
.cgv-dialog-footer {
  height: 30px;
  border-top: 1px solid #CCC;
  padding-top: 5px;
  text-align: right;
}

/* CSS styles similar to Bootstrap 3 */
.cgv-button {
  color: #333;
  font-size: 14px;
  background-color: white;
  border: 1px solid #ccc;
  border-radius: 4px;
  margin-left: 5px;
}

.cgv-alert {
  border: 1px solid #bce8f1;
  border-radius: 4px;
  background-color: #d9edf7;
  color: #31708f;
  padding: 10px;
  margin-bottom: 10px;
  font-size: 14px;
}

.cgv-label {
  display: inline-block;
  font-weight: bold;
  font-size: 14px;
  width: 60px;
  text-align: right;
  margin-right: 10px;
}

.cgv-input {
  border-radius: 4px;
  color: #555;
  border: 1px solid #CCC;
  padding: 4px 8px;
  display: table-cell;
  box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
  transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  font-size: 14px;
}

.cgv-input:focus {
  border-color: #66afe9;
  outline: 0;
  box-shadow: inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);
}

.cgv-input-addon {
  /* border-radius: 0 4px 4px 0; */
  border-radius: 4px;
  padding: 4px 8px;
  background-color: #eee;
  color: #555;
  border: 1px solid #CCC;
  text-align: center;
  display: table-cell;
  font-size: 14px;
}

.cgv-input-group {
  display: inline-table;
  margin-bottom: 10px;
}

.cgv-input-group .cgv-input:first-child {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.cgv-input-addon:last-child {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  border-left: 0
}


/*******************************************/
/* SETTINGS */
/*******************************************/
.cgv-settings .cgv-label {
  width: 140px;
}

/*******************************************/
/* MENU */
/*******************************************/

/* Size is actually set in SVMenu */
.cgv-menu {
  position: absolute;
  top: -50px;
  left: 0;
  right: 0;
  height: 41px;
  margin: 0 auto;
  width: 300px;
  border: 1px solid black;
  border-radius: 2px;
  box-shadow: 1px 1px 2px -1px grey;
  background-color: white;
  display: block;
  text-align: left;
  z-index: 1000;
}

.cgv-menu svg {
  shape-rendering: geometricPrecision;
}

.cgv-menu-button {
  fill: rgb(255, 255, 255);
  stroke: black;
}

.cgv-menu-button:not(.disabled):active {
  fill: rgb(200, 200, 200);
}

.cgv-menu-button:not(.disabled):hover * {
  stroke: rgb(0, 0, 0);
  cursor: pointer;
}

.cgv-menu-button .cgv-button-text {
  fill: rgb(100, 100, 100);
}

.cgv-menu-button:not(.disabled):hover .cgv-button-text {
  fill: rgb(0, 0, 0);
}

.cgv-button-image * {
  stroke: rgb(100, 100, 100);
}

.cgv-menu-button.disabled {
  stroke: rgb(200, 200, 200);
}

.cgv-menu-button.disabled .cgv-button-image * {
  stroke: rgb(200, 200, 200);
}

.cgv-menu-button.disabled .cgv-button-text {
  fill: rgb(200, 200, 200);
}

/* Size is actually set in SVMenu */
.cgv-menu-handle {
  position: absolute;
  top: 2px;
  left: 0;
  right: 0;
  height: 12px;
  margin: 0 auto;
  width: 40px;
  cursor: pointer;
  display: block;
  text-align: center;
  z-index: 1001;
}

.cgv-table {
  border-collapse: collapse;
  border-spacing: 0;
  font-size: 14px;
}

.cgv-table th {
  padding: 5px;
  border-bottom: 2px solid #ddd;
}

.cgv-table td {
  padding: 5px;
  border-top: 1px solid #ddd;
}

/*******************************************/
/* MESSENGER */
/*******************************************/
.cgv-messenger {
  background-color: rgba(255,255,255,0.8);
  /* border: 1px solid black; */
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto auto;
  text-align: center;
}

.cgv-messenger-contents {
  font: message-box;
  position: relative;
  top: 50%;
  /* transform: translate(-50%, -50%); */
  transform: translateY(-50%);
}

/*******************************************/
/* Highlighter */
/*******************************************/
.cgv-highlighter-popover-box {
  border: 1px solid grey;
  background-color: white;
  position: absolute;
  z-index: 100;
  margin: 5px;
  text-align: left;
}

.cgv-highlighter-popover-box:after,
.cgv-highlighter-popover-box:before {
    content: '';
    pointer-events: none;
    display: block;
    position: absolute;
    right: 100%;
    width: 0;
    height: 0;
    border-style: solid;
}

.cgv-highlighter-popover-box:after {
    top: 0px;
    border-color: transparent white transparent transparent;
    border-width: 10px;
}

.cgv-highlighter-popover-box:before {
    top: -1px;
    border-color: transparent grey transparent transparent;
    border-width: 11px;
}

.meta-data-container {
  border-top: 1px solid white;
}

.meta-data:not(:last-child) {
  border-bottom: 1px solid grey;
}

.meta-data-key {
  font-weight: bold;
  font-size: smaller;
}

.meta-data-value {
  font-size: smaller;
  font-style: italic;
}

.track-data {
  font-size: 10px;
}

