/*!
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */

@import "_variables.scss";

.scroll-box {
  max-height: 65vh;
  overflow-y: auto;
  overflow-x: hidden;
}

.links_block {
  .odahu-links:not(:last-child) {
    margin-bottom: 20px;
  }

  .grafana {
    padding-left: 30px;
    white-space: nowrap;
    color: $blue-grey-color;

    div {
      display: flex;

      span {
        font-size: 13px;
        font-weight: 500;

        &.creds {
          font-weight: 600;
        }
      }
    }
  }

  > p,
  .odahu-link {
    display: flex;

    .description {
      padding-left: 7px;
      white-space: nowrap;
      font-weight: 600;
      color: $blue-grey-color;
    }
  }
}

.checkbox-group {
  position: relative;
  padding: 5px;

  label {
    input[type="checkbox"] {
      margin: 10px 0;
    }
  }

  span {
    &.danger_color {
      position: absolute;
      bottom: -20px;
      left: 0;
    }
  }
}

.config-details {
  position: relative;
  height: 280px;
  text-align: left;

  textarea {
    height: 100%;
    resize: none;
    font-size: 14px;
    line-height: 1.5;
    font-family: Consolas, monospace;
  }

  span {
    .danger_color {
      position: absolute;
      bottom: -16px;
      right: 0;
    }
  }
}

.bucket-info {
  padding-left: 7px;
  margin-right: 10px;
  font-weight: 600;
  color: $blue-grey-color;
}

.bucket-link {
  padding: 15px;
  padding-left: 0;
  color: #35afd5;
  .open-bucket {
    cursor: pointer;
    font-size: 14px;
  }
  &.not-allow {
    cursor: not-allowed;
    color: $blue-grey-color !important;
  }
}

.copy-icon-wrapper {
  width: 20px;
  margin-left: 5px;
  margin-right: 5px;
}

.bucket-info-wrapper {
  width: 100%;
  .bucket-info {
    max-width: 90%;
  }
}

.resources-url {
  max-width: 70%;
}
