/* ==================== */
/* ==================== */
/* Placeholders + Mixins */
/* http://www.sitepoint.com/sass-mixin-placeholder/ */
/* Breakpoints */
/*
$breakpoint-small-up: rem(100px);
$breakpoint-medium-up: rem(750px);
*/
/* ------------------------------------------- */
/* -- Singularity grid */
/* ------------------------------------------- */
/* Mobile first */
/* @include add-grid(12 at rem(600)); */
/* $row-width: rem(1400); */
/* ------------------------------------------- */
/* -- Colours + Variables */
/* ------------------------------------------- */
/* ------------------------------------------- */
/* -- Placeholders */
/* ------------------------------------------- */
.visuallyhidden {
  position: absolute;
  overflow: hidden;
  clip: rect(0 0 0 0);
  height: 1px;
  width: 1px;
  margin: -1px;
  padding: 0;
  border: 0; }

.btn {
  background: #2d2d2d;
  color: #fff;
  padding: 9px 30px;
  border-radius: 3px;
  text-decoration: none;
  display: inline-block;
  font-weight: 600; }
  a:hover > .btn, .btn:hover {
    background: #666;
    color: #fff; }
  a:hover > .big-intro .btn, .big-intro .btn:hover, a:hover > .banner .btn,
  .banner .btn:hover {
    background: #fff;
    color: #2d2d2d; }

.btn--alt {
  background-color: transparent;
  border-width: 2px;
  border-style: solid;
  border-color: #2d2d2d;
  color: #2d2d2d;
  padding: 8px 18px; }

.btn {
  margin-top: 20px; }
  .btn span {
    font-size: 12px;
    font-size: 1.2vw; }
    @media (max-width: 833.33333px) {
      .btn span {
        font-size: 10px; } }
    @media (min-width: 1000px) {
      .btn span {
        font-size: 12px; } }

/* ------------------------------------------- */
/* -- Mixins */
/* ------------------------------------------- */
/* https://gist.github.com/taupecat/4090271 */
/* Usage:
div.logo {
   background: url("logo.png") no-repeat;
   @include image-2x("logo2x.png", 100px, 25px);
 }
 */
/* Aspect ratio */
/* Apply a natural box layout model to all elements: http://paulirish.com/2012/box-sizing-border-box-ftw/ */
* {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

.chromeframe {
  position: absolute;
  top: 0;
  padding: 20px;
  background: #fff;
  color: #666; }

@-webkit-viewport {
  width: device-width; }

@-moz-viewport {
  width: device-width; }

@-ms-viewport {
  width: device-width; }

@-o-viewport {
  width: device-width; }

@viewport {
  width: device-width; }

/* -------------------------------------------------------------------------------*/
::-moz-selection {
  background: #333;
  color: #fff;
  text-shadow: none; }

::selection {
  background: #333;
  color: #fff;
  text-shadow: none; }

a:link {
  -webkit-tap-highlight-color: #333; }

h1,
h2 {
  color: #2f51a1; }

h3, h4, h5, h6 {
  color: #1e3654; }

a {
  color: #2f51a1; }
  a:hover {
    color: #666; }

.global-header {
  background-color: #1e3654; }

[role="contentinfo"] a:hover,
.global-header a:hover {
  color: #ffa10a; }

.global-header a::after {
  background-color: #ffa10a; }

.secondary-nav a:hover svg line,
.secondary-nav a:hover svg circle {
  stroke: #ffa10a; }

.big-intro a:hover {
  color: #ffa10a; }

[role="banner"] {
  padding: 10px 0; }
  @media (min-width: 66.875em) {
    [role="banner"] {
      padding: 30px 0; } }

.site-title a {
  width: 114px;
  height: 35px;
  background-image: url(../img/logo--rustici-software.png);
  background-size: contain; }
  @media (min-width: 66.875em) {
    .site-title a {
      width: 227px;
      height: 70px; } }

.main-menu > ul {
  position: relative; }
  @media (min-width: 66.875em) {
    .main-menu > ul {
      top: 45px; } }

nav li a {
  color: #1e3654; }
  nav li a:hover {
    color: #8f9baa; }

.main-menu > ul > li > a::after {
  background-color: #ffa10a;
  bottom: -20px; }

.banner {
  background-color: #1e3654; }

.intro-banner {
  background-color: #1e3654; }
  .intro-banner a:hover {
    color: #ffa10a; }
  .intro-banner .btn {
    color: #2d2d2d; }
    .intro-banner .btn:hover {
      background-color: #FFF; }

.intro-banner .btn:hover,
.big-intro .btn:hover,
.banner .btn:hover {
  background-color: #fff;
  color: #1e3654; }

.sidebar--primary a:hover {
  color: #2f51a1; }

[role="contentinfo"] {
  background-color: #1e3654; }

.btn {
  background-color: #ffa10a;
  color: #1e3654; }

.btn--alt {
  background-color: transparent;
  color: #2f51a1;
  border-color: #2f51a1; }
  a:hover > .btn--alt, .btn--alt:hover {
    background-color: #2f51a1; }

.page-nav {
  background-color: #2f51a1; }

.person__contact a {
  background-color: #2f51a1; }

.person__footer {
  background-color: #1e3654; }

.post-preview__summary h2 a {
  color: #2f51a1; }

[type="submit"] {
  background-color: #2f51a1; }
  [type="submit"]:hover {
    background-color: #1e3654; }

.sidebar .all-link a {
  color: #2f51a1; }
  .sidebar .all-link a svg * {
    fill: #2f51a1; }
  .sidebar .all-link a:hover {
    color: #1e3654; }
    .sidebar .all-link a:hover svg * {
      fill: #1e3654; }

.content-panels li h2 {
  color: #1e3654; }

.icon-list h3 {
  color: #1e3654; }

.jobs-list a {
  color: #111;
  text-decoration: none; }

a.page-numbers {
  background: #1e3654; }
  a.page-numbers:hover {
    background: #1e3654; }

.big-number {
  color: #2f51a1; }

.text-editor h3, .text-editor h4, .text-editor h5, .text-editor h6 {
  color: #1e3654; }
