/*!
 * 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.
 */

.checkbox-group {
  .config-details {
    height: 0;
    opacity: 0;
    visibility: hidden;
    text-align: left;

    &.show {
      height: 200px;
      visibility: visible;
      opacity: 1;
      position: relative;
      margin-top: 10px;
    }

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

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

.control-group {
  .error {
    position: absolute;
    right: 0;
    top: 38px;
  }

  &.name-control {
    padding-bottom: 35px;
  }
}

.content-box {
  max-height: 580px;
  overflow-y: auto;
}

@-moz-document url-prefix() {
  .create-environment form {
    padding-bottom: 30px;
  }
}
