@charset "utf-8";
@import "util";

$border-size: 2px;
$right-distance: 30px;

/**
 * Input field
 */
#q-field {
  @include box-sizing-box();
  outline: none;
  font-size: 11pt;
  border: $border-size solid $nearly-white;
  padding: 2px;
  width: 100%;
  margin: 0;
  margin-bottom: 3px;
  display: block;
}

header > form {
  min-height: 2.7em;
}

#searchbar {
  position: relative;
  @include box-sizing-box();
  width: 100%;
  padding-right: 60px;
  button[type=submit] {
    position: absolute;
    font-weight: normal;
    @include choose-item;
    padding: 0;
    height: 100%;
    top: 0;
    right: $right-distance;
    width: 30px;
    cursor:pointer;
    > span:nth-of-type(1) {
      @include blind;
    }
    &::after {
      font-family: "FontAwesome";
      content: "\f002";
    }
    border: {
      width: $border-size;
      style: solid;
      color: $nearly-white;
    }
    &:hover {
      @include choose-hover;
    }
    &:active {
      @include choose-active;
    }

    /**
     * This is just for styling the last button,
     * in case there are more than one buttons.
     */
    &:last-of-type {
      @include box-sizing-box();
      border: {
	right-width: $border-size;
	right-style: solid;
	top-right-radius: $standard-border-radius;
	bottom-right-radius: $standard-border-radius;
      }
    }
  }
  button + button {
    right: 0;
  }
}

/**
 * Checkbox styling
 * http://stackoverflow.com/questions/4148499/how-to-style-checkbox-using-css
*/
.checkbox {
  display: none;
  + label {
    cursor: pointer;
    span { 
      border-radius: 4px;
      display: inline-block;
      width: 1em; // 12px
      height: 1em;
      line-height: 1em; // 12px;
      vertical-align: middle;
      padding: 0;
      margin-right: .2em;
/*
    background-color: $nearly-white;
    &:hover {
      border-color: $nearly-white;
    }
*/
      &:after {
	font-family: "FontAwesome"; 
	content: '\f096';
      }
    }
  }
  &:checked + label span { 
    &:after {
      content:"\f046";
    }
  }
}

#button-right {
  display: inline-block;
  float: right;
  color: $nearly-white;
  line-height: 2em;
  margin-right: $right-distance;
  > a {
    color: $nearly-white;
    cursor:pointer;
    position: relative;
    font-size: 120%;
    > span {
      @include blind;
    }
  }
  > a::after {
    font-family: 'FontAwesome';
  }
  > a.tutorial::after {
    content: '\f19d';
  }
  > a.align.left::after {
    content: '\f036';
  }
  > a.align.right::after {
    content: '\f038';
  }
}
