/*------------------------------------*\
	$BASE DEFAULTS
\*------------------------------------*/

// Box Sizing
*,
*::before,
*::after {
    box-sizing: border-box;
}

// Prevent text size change on orientation change.
// sass-lint:disable no-vendor-prefixes
html {
    font-family: $font--primary;
    -webkit-text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

body {
    overflow-x: hidden;

    &.no-scroll {
        overflow-y: hidden;
	}
}

// Prevent empty space below images appearing
img,
svg {
    vertical-align: top;
}

// Responsive images
img {
    height: auto;
    max-width: 100%;
}

// sass-lint:disable single-line-per-selector
button, input, select, textarea {
    font-family: inherit;
}
// sass-lint:enddisable

a {
    color: $color--primary;
    text-decoration: none;

    &:hover {
        cursor: pointer;
  }
}

ul,
ol {
    padding: 0;
    margin: 0;
    list-style: none;
}

.is-invisible,
%is-invisible {
    z-index: -1;
    opacity: 0;
    transition: opacity, z-index, $transition;
}

.is-visible,
%is-visible {
    z-index: 5;
    opacity: 1;
    transition: opacity, z-index, $transition;
}

.hidden,
.is-hidden,
%is-hidden {
    display: none;
}

.js-hidden,
%js-hidden {
    html.js & {
        @extend %is-hidden;
    }
}

.no-js-hidden,
%no-js-hidden {
    html.nojs & {
        @extend %is-hidden;
    }
}

.is-unhidden,
%is-unhidden {
    display: block;
}

.off-screen,
%off-screen {
    position: absolute;
    left: -9999px;
}

.on-screen,
%on-screen {
    position: relative;
    left: 0;
}

.light-grey-bg {
    background-color: $color--light-grey;
}

.mid-grey-text {
    color: $color--mid-dark-grey;
}