/* ---------- GROUPS ----------  */

.umb-group-builder__groups {
  list-style: none;
  margin: 0;
  padding: 0;
}

.umb-group-builder__group {
  min-height: 86px;
  border: 1px solid transparent;
  border-radius: @baseBorderRadius;
  box-sizing: border-box;
  background-color: @white;
  position: relative;
  box-shadow: 0 1px 1px 0 rgba(0,0,0,0.16);
}

.umb-group-builder__group.-inherited {
  border-color: @gray-9;
  animation: fadeIn 0.5s;
  box-shadow: none;
}

.umb-group-builder__group.-placeholder {
  min-height: 86px;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  border: 1px dashed @gray-7;
  background-color: transparent;
  color: @ui-action-type;
  font-weight: bold;
  position: relative;
  box-shadow: none;
  &:hover {
      color:@ui-action-type-hover;
      text-decoration: none;
      border-color: @ui-active-type-hover;
  }
}

.umb-group-builder__group.-sortable {
  min-height: initial;
  cursor: move;
}

.umb-group-builder__group-actions {
  position: absolute;
  top: 5px;
  right: 5px;
  visibility: hidden;
  opacity: 0;
  z-index: 10;
}

.umb-group-builder__group-action {
  display: inline-block;
}

.umb-group-builder__group-remove {
  position: relative;
  margin-left: auto;
  font-size: 18px;
  color: @ui-icon;
}

.umb-group-builder__group-remove:hover {
  cursor: pointer;
  color: @ui-icon-hover;
}

.umb-group-builder__group-title-wrapper {
  display: flex;
  align-items: center;
  border-bottom: 1px solid @gray-9;
  padding: 10px 15px 10px 10px;
}

.umb-group-builder__group-title {
  font-weight: bold;
  display: flex;
  align-items: center;
  color: @black;
}

.umb-group-builder__group-title-icon {
  margin-left: 5px;
}

.umb-group-builder__group-title.-active {
  border-color: @blueMid;
}

.umb-group-builder__group-title.-placeholder {
  border: 1px dashed @gray-8;
  border-bottom: none;
  width: 70px;
}

.umb-group-builder__group-title.-inherited {
  border-color: @gray-9;
}

input.umb-group-builder__group-title-input {
  border-color: transparent;
  background: transparent;
  font-weight: bold;
  color: @black;
  margin-bottom: 0;
}

input.umb-group-builder__group-title-input:disabled:hover {
    border-color: transparent;
}

.umb-group-builder__group-title-input:hover {
  border-color: @inputBorder;
}

.umb-group-builder__group-title-input.-placeholder {
  border: 1px dashed @gray-6;
}

.umb-group-builder__group-inherited-label {
  font-size: 13px;
  display: inline-block;
  position: relative;
  top: 2px;
}

.umb-group-builder__group-sort-order {
    margin-right: 10px;
    margin-left: auto;
}

.umb-group-builder__group-add-property {
    min-height: 46px;
    margin-right: 45px;
    margin-left: 270px;
    border-radius: 3px;
    
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    border: 1px dashed @gray-7;
    background-color: transparent;
    color: @ui-action-type;
    font-weight: bold;
    position: relative;
    &:hover {
        color:@ui-action-type-hover;
        text-decoration: none;
        border-color: @ui-active-type-hover;
    }
}

/* ---------- PROPERTIES ---------- */

.umb-group-builder__properties {
  list-style: none;
  margin: 0;
  padding: 15px;
  padding-right: 5px;
  min-height: 35px; // the height of a sortable property
}

.umb-group-builder__property {
  position: relative;
  display: flex;
  flex-flow: row;
  box-sizing: border-box;
  border-bottom: 1px solid @gray-10; 
  padding: 10px 0;
}

.umb-group-builder__property:first-of-type {
  padding-top: 0;
}

.umb-group-builder__property:last-of-type {
  margin-bottom: 15px;
}

.umb-group-builder__property.-inherited {
  animation: fadeIn 0.5s;
}

.umb-group-builder__property.-locked {
  border: transparent;
  animation: fadeIn 0.5s;
}

.umb-group-builder__property.-locked:hover {
  border: transparent;
}

.umb-group-builder__property.-sortable,
.umb-group-builder__property.-sortable-locked {
    min-height: 35px;
    border-radius: @baseBorderRadius;
    border: none;
    animation: none;
    align-items: center;
    padding: 5px 10px;
    margin-bottom: 5px;
}

.umb-group-builder__property.-sortable {
  background: @gray-10;
  color: @gray-1;
  cursor: move;
}

.umb-group-builder__property.-sortable-locked {
  background: @gray-10;
  padding-left: 30px;
}


.umb-group-builder__property-meta {
  flex: 0 0 250px;
  margin-right: 20px;
}

.umb-group-builder__property-meta.-full-width {
  flex: 1;
  margin-right: 0;
}

.umb-group-builder__property-meta-alias {
  font-size: 12px;
  color: @gray-3;
  word-break: break-word;
  line-height: 1.5;
  margin-bottom: 5px;
}

.umb-group-builder__property-meta-label textarea {
  font-size: 14px;
  font-weight: bold;
  margin-bottom: 0;
  color: @gray-1;
  width: 100%;
  padding: 0;
  min-height: 25px;
  box-sizing: border-box;
  resize: none;
  overflow: hidden;
  border-color: transparent;
  background: transparent;
    &:focus {
        border-color: @inputBorderFocus;
    }
}

.umb-group-builder__property-meta-label textarea.ng-invalid {
   border: none;
}

.umb-group-builder__property-meta-description textarea {
  font-size: 12px;
  line-height: 1.5;
  color: @gray-3;
  margin-bottom: 0;
  padding: 0;
  width: 100%;
  min-height: 25px;
  box-sizing: border-box;
  resize: none;
  overflow: hidden;
  border-color: transparent;
  background: transparent;
    &:focus {
        border-color: @inputBorderFocus;
    }
}

.umb-group-builder__property-preview {
    flex: 1;
    height: 30px;
    overflow: hidden;
    position: relative;
    padding: 35px 10px 25px 10px;
    border-radius: 3px;
    cursor: pointer;

    &::after {
        content: "";
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        background: rgba(225,225,225,.5);
        transition: opacity 120ms;
    }
}

.umb-group-builder__property-preview:not(.-not-clickable):hover {
    &::after {
        opacity: .66;
    }
}

.umb-group-builder__property-preview.-not-clickable {
    cursor: auto;
}

.umb-group-builder__property-preview .help-inline {
    display:none !important;
}

.umb-group-builder__property-preview-label {
  font-size: 12px;
  position: absolute;
  top: 0;
  left: 0;
  text-transform: uppercase;
  z-index: 15;
  background: @gray-10;
  padding: 3px;
  line-height: 12px;
  opacity: 0.8
}


.umb-group-builder__open-settings {
    position: absolute;
    z-index:1;
    top: 0;
    bottom:0;
    left: 0;
    width: 100%;
    background-color: transparent;
    border: none;
    &:focus {
        outline:0;
        border: 1px solid @inputBorderFocus;
    }
}

.umb-group-builder__property-actions {
    flex: 0 0 44px;
    text-align: right;
    margin-top: 7px;
}

.umb-group-builder__property-action {
    
    position: relative;
    margin: 5px 0;
    
    > button {
        border: none;
        
        font-size: 18px;
        position: relative;
        cursor: pointer;
        color: @ui-icon;
        
        margin: 0;
        padding: 5px 10px;
        width: auto;
        overflow: visible;
        background: transparent;
        line-height: normal;
        outline: 0;
        -webkit-appearance: none;
        
        &:hover, &:focus  {
            color: @ui-icon-hover;
        }
    }
}

.umb-group-builder__property-tags {
    position: absolute;
    z-index: 20;
    top: 4px;
    left: 4px;
    display: flex;
    flex-direction: row;
}

.umb-group-builder__property-tags.-right {
    right: 0;
    left: auto;
}

.umb-group-builder__property-tag {
    font-size: 12px;
    background-color: @gray-8;
    margin-left: 4px;
    padding: 0 4px;
    display: flex;
    border-radius: 3px;
}

.umb-group-builder__property-tag:first-child {
    margin-left: 0;
}

.umb-group-builder__property-tag.-white {
    background-color: @white;
}

.umb-group-builder__property-tag-icon {
    margin-right: 3px;
}

/* ---------- SORTABLE ---------- */

.umb-group-builder__group-sortable-placeholder {
  background: transparent;
  border: 1px dashed @gray-8;
  margin: 0 0 70px 0;
  border-radius: 10px;
  border-radius: 5px;
}

.umb-group-builder__property_sortable-placeholder {
  background: transparent;
  border: 1px dashed @gray-8;
  margin-bottom: 5px;
  border-radius: 5px;
}

.umb-group-builder__no-data-text {
  padding-top: 50px;
  font-size: 16px;
  line-height: 1.8em;
  color: @gray-7;
  text-align: center;
}

input.umb-group-builder__group-sort-value {
  margin-bottom: 0;
  margin-left: auto;
}


/* ---------- DIALOGS ---------- */

.show-validation .edit-property-settings .ng-invalid-val-required-component .editor-placeholder {
   border-color: @red;
   color: @red;
}

.content-type-editor-dialog.edit-property-settings {

    .validation-wrapper {
        position: relative;
    }

    .validation-label {
        position: absolute;
        top: 50%;
        right: 0;
        font-size: 12px;
        color: @red;
        transform: translate(0, -50%);
    }

    textarea.editor-label {
        border-color: transparent;
        box-shadow: none;
        width: 100%;
        box-sizing: border-box;
        margin-bottom: 0;
        font-size: 16px;
        font-weight: bold;
        resize: none;
        line-height: 1.5em;
        padding-left: 0;
        border: none;

        &:focus {
            outline: none;
            box-shadow: none !important;
        }
    }

    .editor-placeholder {
        border: 1px dashed @ui-action-border;
        width: 100%;
        height: 80px;
        line-height: 80px;
        text-align: center;
        display: block;
        border-radius: 5px;
        font-weight: bold;
        font-size: 14px;
        color: @ui-action-type;
        
        &:hover{
            text-decoration: none;
            color:@ui-action-type-hover;
            border-color:@ui-action-border-hover;
        }
    }

    .editor {
        margin-bottom: 10px;

        .editor-icon-wrapper {
            border: 1px solid @gray-8;
            width: 60px;
            height: 60px;
            text-align: center;
            line-height: 60px;
            border-radius: 5px;
            float: left;
            margin-right: 20px;

            .icon {
                font-size: 26px;
            }
        }

        .editor-details {
            float: left;
            margin-top: 10px;

            .editor-name {
                display: block;
                font-weight: bold;
            }

            .editor-editor {
                display: block;
                font-size: 12px;
            }
        }

        .editor-settings-icon {
            font-size: 18px;
            margin-top: 8px;
        }
    }

    .checkbox {
        margin-bottom: 20px;
    }

    .editor-description,
    .editor-validation-pattern {
        min-width: 100%;
        min-height: 25px;
        resize: none;
        box-sizing: border-box;
        border: none;
        overflow: hidden;
    }

    .editor-validation-pattern{
        border: 1px solid @gray-7;
        margin: 10px 0 0;
        padding: 6px;
        max-height: 32px;
    }

    .umb-dropdown {
        width: 100%;
    }

    label.checkbox.no-indent {
        width: 100%;
    }
}
