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

$border-size: 2px;

/**
 * Basic global CSS rules for Kalamar
 */

body,
html,
select,
g > text {
  color: $dark-grey;
  font-family: verdana, tahoma, arial, Helvetica, sans-serif;
  margin: 0;
}

* {
  @include box-sizing-box;
}

/*
html {
//  @include box-sizing-box;
  box-sizing: border-box;
}

*, *:before, *:after {
  box-sizing: inherit;
}
*/

g > text {
  fill: $dark-grey;
}

html {
  height: 100%;
}

body {
  position: relative;
  min-height: 100%;
  font-size: 12pt;
  margin: 0;
  padding: 0;
}


a {
  &:link {
    color: $dark-orange;
    text-decoration: none;
    &:hover {
      color: $darkest-orange;
      @include color-transition;
    }
  }

  // External links
  &[href^="http://"]::after,
  &[href^="https://"]::after {
    font-family: FontAwesome;
    content: " " + $fa-extlink;
    font-size: 75%;
  }

  // Link to documentation
  &.doc-link::after {
    font-family: FontAwesome;
    content: " " + $fa-tutorial;
    font-size: 75%;
  }
}

// Styles for Mojolicious::Plugin::TagHelpers::MailToChiffre
a[onclick$='return PArok(this,false)'] {
  direction:rtl;
  unicode-bidi:bidi-override;
  text-align:left;
  & > span {
    &:nth-child(1n+2){
      display:none
    }
    &:nth-child(1)::after{
      content:'@'
    }
  }
}

button[type=submit] {
  font-weight: normal;
  @include choose-item;
  padding: 0;
  height: 100%;
  top: 0;
  width: $button-width;
  cursor:pointer;
  > span:nth-of-type(1) {
    @include blind;
  }
  &::after {
    font-family: "FontAwesome";
  }
  border: {
    width: $border-size;
    style: solid;
    color: $nearly-white;
  }
  &:hover, &:focus {
    @include choose-hover;
  }
  &::-moz-focus-inner {
    border: none;
  }
  &: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;
}
