@font-face {
  font-family: "Source Sans Pro";
  src: url('../font/SourceSansPro-Regular.otf');
}

@font-face {
  font-family: "Source Sans Pro";
  src: url('../font/SourceSansPro-Light.otf');
  font-weight: 200;
}

@font-face {
  font-family: "Source Sans Pro";
  src: url('../font/SourceSansPro-Semibold.otf');
  font-weight: 600;
}

html {
  font-size: 16px;
}

body {
  margin: 0;
  padding: 0;
  font-family: "Source Sans Pro",
                 "HelveticaNeue-Light",
                 "Helvetica Neue Light",
                 "Helvetica Neue",
                 Helvetica,
                 Arial,
                 "Lucida Grande",
                 sans-serif;
  font-weight: 400;
  background: hsla(200, 2%, 30%, 1);
}

:focus {
  outline-color: transparent;
  outline-style: none;
}

.topcoat-icon-button,
.topcoat-icon-button--quiet,
.topcoat-icon-button--large,
.topcoat-icon-button--large--quiet {
  padding: 0;
  margin: 0;
  font: inherit;
  color: inherit;
  background: transparent;
  border: none;
}

.topcoat-icon-button--quiet,
.topcoat-icon-button--large--quiet {
  background: transparent;
  border: 1px solid transparent;
  box-shadow: none;
}

.topcoat-icon-button,
.topcoat-icon-button--quiet,
.topcoat-icon-button--large,
.topcoat-icon-button--large--quiet {
  cursor: default;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.topcoat-icon-button,
.topcoat-icon-button--quiet,
.topcoat-icon-button--large,
.topcoat-icon-button--large--quiet {
  box-sizing: border-box;
  background-clip: padding-box;
}

.topcoat-icon-button,
.topcoat-icon-button--quiet,
.topcoat-icon-button--large,
.topcoat-icon-button--large--quiet {
  white-space: nowrap;
  overflow: hidden;
}

.topcoat-icon-button,
.topcoat-icon-button--quiet,
.topcoat-icon-button--large,
.topcoat-icon-button--large--quiet,
.topcoat-icon,
.topcoat-icon--large {
  position: relative;
  display: inline-block;
  vertical-align: top;
}

.topcoat-icon-button,
.topcoat-icon-button--quiet,
.topcoat-icon-button--large,
.topcoat-icon-button--large--quiet {
  text-overflow: ellipsis;
}

.topcoat-icon-button:disabled,
.topcoat-icon-button--quiet:disabled,
.topcoat-icon-button--large:disabled,
.topcoat-icon-button--large--quiet:disabled {
  opacity: .3;
  cursor: default;
  pointer-events: none;
}

.topcoat-icon-button,
.topcoat-icon-button--quiet,
.topcoat-icon-button--large,
.topcoat-icon-button--large--quiet {
  text-decoration: none;
}

/* topdoc
  name: Icon Button
  description: Like button, but it has an icon.
  modifiers:
    :active: Active state
    :disabled: Disabled state
    :hover: Hover state
    :focus: Focused
  markup:
    <button class="topcoat-icon-button">
      <span class="topcoat-icon" style="background-color:#A5A7A7;"></span>
    </button>
    <button class="topcoat-icon-button" disabled>
      <span class="topcoat-icon" style="background-color:#A5A7A7;"></span>
    </button>
  tags:
    - desktop
    - light
    - mobile
    - button
    - icon
*/

.topcoat-icon-button,
.topcoat-icon-button--quiet,
.topcoat-icon-button--large,
.topcoat-icon-button--large--quiet {
  padding: 0 .75rem;
  line-height: 3rem;
  letter-spacing: 1px;
  color: hsla(180, 2%, 78%, 1);
  text-shadow: 0 -1px hsla(0, 0%, 0%, .69);
  vertical-align: baseline;
  background-color: hsla(180, 1%, 35%, 1);
  box-shadow: inset 0 1px hsla(0, 0%, 45%, 1);
  border: 1px solid hsla(180, 1%, 20%, 1);
  border-radius: 6px;
}

.topcoat-icon-button:hover,
.topcoat-icon-button--quiet:hover,
.topcoat-icon-button--large:hover,
.topcoat-icon-button--large--quiet:hover {
  background-color: hsla(200, 2%, 39%, 1);
}

.topcoat-icon-button:focus,
.topcoat-icon-button--quiet:focus,
.topcoat-icon-button--quiet:hover:focus,
.topcoat-icon-button--large:focus,
.topcoat-icon-button--large--quiet:focus,
.topcoat-icon-button--large--quiet:hover:focus {
  border: 1px solid hsla(227, 100%, 50%, 1);
  box-shadow: inset 0 1px hsla(0, 100%, 100%, .36), 0 0 0 2px hsla(208, 82%, 69%, 1);
  outline: 0;
}

.topcoat-icon-button:active,
.topcoat-icon-button--quiet:active,
.topcoat-icon-button--large:active,
.topcoat-icon-button--large--quiet:active,
.topcoat-icon-button--large--quiet:focus:active {
  border: 1px solid hsla(180, 1%, 20%, 1);
  background-color: hsla(210, 2%, 25%, 1);
  box-shadow: inset 0 1px hsla(0, 0%, 0%, .05);
}

/* topdoc
  name: Quiet Icon Button
  description: Like quiet button, but it has an icon.
  modifiers:
    :active: Active state
    :disabled: Disabled state
    :hover: Hover state
    :focus: Focused
  markup:
    <button class="topcoat-icon-button--quiet">
      <span class="topcoat-icon" style="background-color:#A5A7A7;"></span>
    </button>
    <button class="topcoat-icon-button--quiet" disabled>
      <span class="topcoat-icon" style="background-color:#A5A7A7;"></span>
    </button>
  tags:
    - desktop
    - light
    - mobile
    - button
    - icon
    - quiet
*/

.topcoat-icon-button--quiet:hover,
.topcoat-icon-button--large--quiet:hover {
  text-shadow: 0 -1px hsla(0, 0%, 0%, .69);
  border: 1px solid hsla(180, 1%, 20%, 1);
  box-shadow: inset 0 1px hsla(0, 0%, 45%, 1);
}

.topcoat-icon-button--quiet:active,
.topcoat-icon-button--quiet:focus:active,
.topcoat-icon-button--large--quiet:active,
.topcoat-icon-button--large--quiet:focus:active,
.topcoat-icon-button--large--quiet:focus:focus:active {
  color: hsla(180, 2%, 78%, 1);
  text-shadow: 0 -1px hsla(0, 0%, 0%, .69);
  background-color: hsla(210, 2%, 25%, 1);
  border: 1px solid hsla(180, 1%, 20%, 1);
  box-shadow: inset 0 1px hsla(0, 0%, 0%, .05);
}

/* topdoc
  name: Large Icon Button
  description: Like large button, but it has an icon.
  modifiers:
    :active: Active state
    :disabled: Disabled state
    :hover: Hover state
    :focus: Focused
  markup:
    <button class="topcoat-icon-button--large">
      <span class="topcoat-icon--large" style="background-color:#A5A7A7;"></span>
    </button>
    <button class="topcoat-icon-button--large" disabled>
      <span class="topcoat-icon--large" style="background-color:#A5A7A7;"></span>
    </button>
  tags:
    - desktop
    - light
    - mobile
    - button
    - icon
    - large
*/

.topcoat-icon-button--large,
.topcoat-icon-button--large--quiet {
  width: 4.375rem;
  height: 4.375rem;
  line-height: 4.375rem;
}

/* topdoc
  name: Large Quiet Icon Button
  description: Like large button, but it has an icon and this one is quiet.
  modifiers:
    :active: Active state
    :disabled: Disabled state
    :hover: Hover state
  markup:
    <button class="topcoat-icon-button--large--quiet">
      <span class="topcoat-icon--large" style="background-color:#A5A7A7;"></span>
    </button>
    <button class="topcoat-icon-button--large--quiet" disabled>
      <span class="topcoat-icon--large" style="background-color:#A5A7A7;"></span>
    </button>
  tags:
    - desktop
    - light
    - mobile
    - button
    - icon
    - large
    - quiet
*/

.topcoat-icon,
.topcoat-icon--large {
  overflow: hidden;
  width: 1.62rem;
  height: 1.62rem;
  vertical-align: middle;
  top: -1px;
}

.topcoat-icon--large {
  width: 2.5rem;
  height: 2.5rem;
  top: -2px;
}
