/**
 * 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";


:host {
  height: 100%;
}

.btn-search {
  height: 100%;
  color: $silver;
  cursor: pointer;
  line-height: 1;
  padding: 2px 20px;
  border-radius: 0px;
  font-family: Roboto;
  background: $mine-shaft-11;
  border: 1px solid $tundora !important;

  &:focus {
    box-shadow: none;
  }

  &::after {
    font-family: "FontAwesome";
    content: '\f0d7';
    padding-left: 5px;
    color: $dusty-grey;
    position: absolute;
    top: 15px;
    right: 5px;
  }
}

.collapse, .collapsing {
  position: absolute;
  margin-top: 5px;
  width: 930px;
  height: 257px;
  z-index: 99;
  right: 0;

  .card, .card-block {
    height: inherit;
    background: $mine-shaft-1;
    border: 1px solid $mine-shaft-8;
  }
}

.title {
  font-size: 20px;
}

.time-range {
  border-right: 1px solid $abbey;
}

.input-group {
  position: relative;
  width: 100%;

  .form-control {
    display: block;
    flex-direction: initial;
    justify-content: initial;
  }
}

.quick-ranges {
  span {
    color: #1E87AF;
    font-size: 14px;
    line-height: 1.7;
    cursor: pointer;
    width: 100%;
    display: block;
    padding: 0px 5px;
    font-family: Roboto;

    &:hover {
      background: #1F91BE;
      color: #FDFEFE;
    }
  }
}

form {
  margin-top: 5px;
}

.time-range-value {
  font-size: 8px;
}