
@import "~vue-wysiwyg/dist/vueWysiwyg.css";

.ex-cell-top {
  align-self: start !important;
  vertical-align: top !important;
}

.ex-scrollable {
  white-space: nowrap;
  overflow: scroll;
  text-overflow: initial;
}

.ex-center-aligned {
  display: flex;
  align-items: center;
  flex-wrap: wrap;

  &.ex-no-wrap {
    flex-wrap: nowrap;
  }
}

.ex-single-line {
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
  min-width: 0;
}

.ex-full-size {
  min-width: min-content;
}

.ex-string-color {
  display: inline-block;
  width: 11px;
  height: 11px;
  top: 2px;
  position: relative;
  margin-right: 3px;
  margin-top: -2px;
}

.ex-string-invalid {
  color: #e02618;
  border-bottom: 1px solid #e02618;
}

.ex-table-fixed {

  &, /deep/ table {
    width: 100%;
    border-spacing: 0px;
    table-layout: fixed;
  }
}

.ex-table {
  width: 100%;
  width: max-content;
  max-width: 100%;
  border-spacing: 0px;

  &.ex-striped > tbody {
    &:nth-child(even) > tr > td {
      background-color: rgba(0,0,0,0.03);
    }
  }

  > tbody > tr > td {
    align-self: start !important;
    vertical-align: top !important;

    &:nth-child(1) { 
      padding: 12px;
      text-align: right; 
      white-space: nowrap; 
    }

    &:nth-child(2) { 
      width: 100%; 
      vertical-align: middle !important;
    }
  }

  &.ex-read-only {
    > tbody > tr > td:nth-child(1) {
      width: auto;
      min-width: auto;
    }
  }

  &.ex-inside {
    > .pl-3 {
      padding-left: 0 !important;
    }
  }

  &.ex-three {

    > tbody > tr > td {
      align-self: start !important;
      vertical-align: top !important;
  
      &:nth-child(1) { 
        padding: 12px;
        white-space: nowrap; 
      }
  
      &:nth-child(2) { 
        padding: 12px;
        width: auto;
        text-align: right; 
        white-space: nowrap; 
      }
  
      &:nth-child(3) { 
        width: 100%; 
        vertical-align: middle !important;
      }
  
    }
  }
}

.ex-divider {
  font-weight: bold;
  font-size: 16px;
  top: 2px;
  position: relative;
}

.ex-ghost {
  background-color: white;
}

.ex-sorting-handle {
  cursor: move;
}

@symbol-color: #a0a0a0;
@symbol-width: 3px;

.ex-expression {

  &.ex-parenthesis {
    position: relative;
    margin-left: 16px;
    margin-right: 16px;

    &:before {
      pointer-events: none;
      display: block;
      position: absolute;
      content: '';
      top: 0;
      bottom: 0;
      left: -10px;
      border-radius: 13px;
      border-left: @symbol-width solid @symbol-color;
      width: 40px;
    }

    &:after {
      pointer-events: none;
      display: block;
      position: absolute;
      content: '';
      top: 0;
      bottom: 0;
      right: -8px;
      border-radius: 13px;
      border-right: @symbol-width solid @symbol-color;
      width: 40px;
    }
  }

  &.ex-curly-braces {
    position: relative;
    margin-left: 16px;
    margin-right: 16px;

    &:before {
      pointer-events: none;
      display: block;
      position: absolute;
      content: '';
      top: 0;
      bottom: 0;
      left: -10px;
      border-radius: 13px;
      border-left: @symbol-width solid @symbol-color;
      width: 40px;
    }

    &:after {
      pointer-events: none;
      display: block;
      position: absolute;
      content: '';
      top: 0;
      bottom: 0;
      right: -8px;
      border-radius: 13px;
      border-right: @symbol-width solid @symbol-color;
      width: 40px;
    }

    & > *:first-child {

      &::before {
        position: absolute;
        width: 10px;
        height: 10px;
        content: ' ';
        top: 50%;
        margin-top: -5px;
        background-color: white;
        border-bottom: @symbol-width solid @symbol-color;
        border-left: @symbol-width solid @symbol-color;
        left: -14px;
        transform: rotate(45deg);
      }

      &::after {
        position: absolute;
        width: 10px;
        height: 10px;
        content: ' ';
        top: 50%;
        margin-top: -5px;
        background-color: white;
        border-top: @symbol-width solid @symbol-color;
        border-right: @symbol-width solid @symbol-color;
        right: -12px;
        transform: rotate(45deg);
        z-index: 2;
      }
    }
  }

  &.ex-brackets {
    position: relative;
    margin-left: 16px;
    margin-right: 16px;

    &:before {
      pointer-events: none;
      display: block;
      position: absolute;
      content: '';
      top: 0;
      bottom: 0;
      left: -12px;
      border-top-left-radius: 2px;
      border-bottom-left-radius: 2px;
      border-left: @symbol-width solid @symbol-color;
      border-top: @symbol-width - 1px solid @symbol-color;
      border-bottom: @symbol-width - 1px solid @symbol-color;
      width: 8px;
    }

    &:after {
      pointer-events: none;
      display: block;
      position: absolute;
      content: '';
      top: 0;
      bottom: 0;
      right: -12px;
      border-top-right-radius: 2px;
      border-bottom-right-radius: 2px;
      border-right: @symbol-width solid @symbol-color;
      border-top: @symbol-width - 1px solid @symbol-color;
      border-bottom: @symbol-width - 1px solid @symbol-color;
      width: 8px;
    }
  }
}

.ex-code-container {
  border: 1px solid rgba(0,0,0,0.2);
  overflow: scroll;
}

.ex-code {
  padding: 10px;
  font-family: 'Courier New', Courier, monospace;
  font-size: 12px;
  font-weight: normal;
  color: black;
  line-height: 1em;
  font-weight: bold;
}

.ex-accent-bar {

  &, & > .v-tabs-bar {
    background-color: #E3F2FD !important;
  }
}