@charset "UTF-8";
/*

Atomic design is philosophically complimentary with these CSS approaches:

* SMACSS by Jonathan Snook http://smacss.com/
* OOCSS by Nicole Sullivan http://oocss.org/
* BEM CSS Methology : http://bem.info/method/
* CSS Guidelines by Harry Roberts : http://cssguidelin.es/

Sass Globbing is used so an import utilising an asterisk (*) will use every
partial in the specified directory .

*/
/*------------------------------------*\
    $TOOLS
\*------------------------------------*/
/*------------------------------------*\
    RESET
\*------------------------------------*/
html {
  box-sizing: border-box; }

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

html,
body,
div,
object,
iframe,
h1,
h2,
.overlay a,
h3,
h4,
h5,
h6,
p,
blockquote,
form,
legend,
label,
table,
header,
footer,
nav,
section,
figure {
  margin: 0;
  padding: 0; }

header,
footer,
nav,
section,
article,
hgroup,
figure {
  display: block; }

button::-moz-focus-inner {
  padding: 0;
  border: 0; }

/*------------------------------------*\
	FONTS
\*------------------------------------*/
/* roboto-300 - latin */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 300;
  src: local("Roboto Light"), local("Roboto-Light"), url("../fonts/roboto-v20-latin-300.woff2") format("woff2"), url("../fonts/roboto-v20-latin-300.woff") format("woff");
  /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */ }
/* roboto-regular - latin */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 400;
  src: local("Roboto"), local("Roboto-Regular"), url("../fonts/roboto-v20-latin-regular.woff2") format("woff2"), url("../fonts/roboto-v20-latin-regular.woff") format("woff");
  /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */ }
/* roboto-700 - latin */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 700;
  src: local("Roboto Bold"), local("Roboto-Bold"), url("../fonts/roboto-v20-latin-700.woff2") format("woff2"), url("../fonts/roboto-v20-latin-700.woff") format("woff");
  /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */ }
/* roboto-900 - latin */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 900;
  src: local("Roboto Black"), local("Roboto-Black"), url("../fonts/roboto-v20-latin-900.woff2") format("woff2"), url("../fonts/roboto-v20-latin-900.woff") format("woff");
  /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */ }
/*------------------------------------*\
    GLOBAL MIXINS
\*------------------------------------*/
/**
 * Example of use
 *

    .example {
        @include font-size(12);

        @include mq(400) {
            @include font-size(14);
        }

        @include mq(S) {
            @include font-size(18);
        }
    }

 *
 */
/*------------------------------------*\
	VARIABLES
\*------------------------------------*/
/*------------------------------------*\
 * THE IDEA BUREAU - GRID
 * https://github.com/theideabureau/grid
\*------------------------------------*/
.row {
  margin-left: -1.5rem;
  *zoom: 1; }
  .row::before, .row::after {
    content: ' ';
    /* 1 */
    display: table;
    /* 2 */ }
  .row::after {
    clear: both; }

.col {
  border: 0 solid transparent;
  float: left;
  box-sizing: border-box;
  background-clip: padding-box !important;
  border-left-width: 1.5rem;
  margin-left: 0;
  padding: 0 0; }

.S-hide {
  display: none; }

.S-1 {
  display: block;
  width: 8.3333333333%; }

.row--clearfix .S-1:nth-child(n) {
  clear: none; }

.row--clearfix .S-1:nth-child(12n+1) {
  clear: left; }

.S-2 {
  display: block;
  width: 16.6666666667%; }

.row--clearfix .S-2:nth-child(n) {
  clear: none; }

.row--clearfix .S-2:nth-child(6n+1) {
  clear: left; }

.S-3 {
  display: block;
  width: 25%; }

.row--clearfix .S-3:nth-child(n) {
  clear: none; }

.row--clearfix .S-3:nth-child(4n+1) {
  clear: left; }

.S-4 {
  display: block;
  width: 33.3333333333%; }

.row--clearfix .S-4:nth-child(n) {
  clear: none; }

.row--clearfix .S-4:nth-child(3n+1) {
  clear: left; }

.S-5 {
  display: block;
  width: 41.6666666667%; }

.row--clearfix .S-5:nth-child(n) {
  clear: none; }

.row--clearfix .S-5:nth-child(2n+1) {
  clear: left; }

.S-6 {
  display: block;
  width: 50%; }

.row--clearfix .S-6:nth-child(n) {
  clear: none; }

.row--clearfix .S-6:nth-child(2n+1) {
  clear: left; }

.S-7 {
  display: block;
  width: 58.3333333333%; }

.row--clearfix .S-7:nth-child(n) {
  clear: none; }

.row--clearfix .S-7:nth-child(1n+1) {
  clear: left; }

.S-8 {
  display: block;
  width: 66.6666666667%; }

.row--clearfix .S-8:nth-child(n) {
  clear: none; }

.row--clearfix .S-8:nth-child(1n+1) {
  clear: left; }

.S-9 {
  display: block;
  width: 75%; }

.row--clearfix .S-9:nth-child(n) {
  clear: none; }

.row--clearfix .S-9:nth-child(1n+1) {
  clear: left; }

.S-10 {
  display: block;
  width: 83.3333333333%; }

.row--clearfix .S-10:nth-child(n) {
  clear: none; }

.row--clearfix .S-10:nth-child(1n+1) {
  clear: left; }

.S-11 {
  display: block;
  width: 91.6666666667%; }

.row--clearfix .S-11:nth-child(n) {
  clear: none; }

.row--clearfix .S-11:nth-child(1n+1) {
  clear: left; }

.S-all {
  display: block;
  margin-left: 0;
  width: 100%; }

@media screen and (min-width: 1024px) {
  .M-hide {
    display: none; }

  .M-1 {
    display: block;
    width: 8.3333333333%; }

  .row--clearfix .M-1:nth-child(n) {
    clear: none; }

  .row--clearfix .M-1:nth-child(12n+1) {
    clear: left; }

  .M-2 {
    display: block;
    width: 16.6666666667%; }

  .row--clearfix .M-2:nth-child(n) {
    clear: none; }

  .row--clearfix .M-2:nth-child(6n+1) {
    clear: left; }

  .M-3 {
    display: block;
    width: 25%; }

  .row--clearfix .M-3:nth-child(n) {
    clear: none; }

  .row--clearfix .M-3:nth-child(4n+1) {
    clear: left; }

  .M-4 {
    display: block;
    width: 33.3333333333%; }

  .row--clearfix .M-4:nth-child(n) {
    clear: none; }

  .row--clearfix .M-4:nth-child(3n+1) {
    clear: left; }

  .M-5 {
    display: block;
    width: 41.6666666667%; }

  .row--clearfix .M-5:nth-child(n) {
    clear: none; }

  .row--clearfix .M-5:nth-child(2n+1) {
    clear: left; }

  .M-6 {
    display: block;
    width: 50%; }

  .row--clearfix .M-6:nth-child(n) {
    clear: none; }

  .row--clearfix .M-6:nth-child(2n+1) {
    clear: left; }

  .M-7 {
    display: block;
    width: 58.3333333333%; }

  .row--clearfix .M-7:nth-child(n) {
    clear: none; }

  .row--clearfix .M-7:nth-child(1n+1) {
    clear: left; }

  .M-8 {
    display: block;
    width: 66.6666666667%; }

  .row--clearfix .M-8:nth-child(n) {
    clear: none; }

  .row--clearfix .M-8:nth-child(1n+1) {
    clear: left; }

  .M-9 {
    display: block;
    width: 75%; }

  .row--clearfix .M-9:nth-child(n) {
    clear: none; }

  .row--clearfix .M-9:nth-child(1n+1) {
    clear: left; }

  .M-10 {
    display: block;
    width: 83.3333333333%; }

  .row--clearfix .M-10:nth-child(n) {
    clear: none; }

  .row--clearfix .M-10:nth-child(1n+1) {
    clear: left; }

  .M-11 {
    display: block;
    width: 91.6666666667%; }

  .row--clearfix .M-11:nth-child(n) {
    clear: none; }

  .row--clearfix .M-11:nth-child(1n+1) {
    clear: left; }

  .M-all {
    display: block;
    margin-left: 0;
    width: 100%; } }
@media screen and (min-width: 1440px) {
  .L-hide {
    display: none; }

  .L-1 {
    display: block;
    width: 8.3333333333%; }

  .row--clearfix .L-1:nth-child(n) {
    clear: none; }

  .row--clearfix .L-1:nth-child(12n+1) {
    clear: left; }

  .L-2 {
    display: block;
    width: 16.6666666667%; }

  .row--clearfix .L-2:nth-child(n) {
    clear: none; }

  .row--clearfix .L-2:nth-child(6n+1) {
    clear: left; }

  .L-3 {
    display: block;
    width: 25%; }

  .row--clearfix .L-3:nth-child(n) {
    clear: none; }

  .row--clearfix .L-3:nth-child(4n+1) {
    clear: left; }

  .L-4 {
    display: block;
    width: 33.3333333333%; }

  .row--clearfix .L-4:nth-child(n) {
    clear: none; }

  .row--clearfix .L-4:nth-child(3n+1) {
    clear: left; }

  .L-5 {
    display: block;
    width: 41.6666666667%; }

  .row--clearfix .L-5:nth-child(n) {
    clear: none; }

  .row--clearfix .L-5:nth-child(2n+1) {
    clear: left; }

  .L-6 {
    display: block;
    width: 50%; }

  .row--clearfix .L-6:nth-child(n) {
    clear: none; }

  .row--clearfix .L-6:nth-child(2n+1) {
    clear: left; }

  .L-7 {
    display: block;
    width: 58.3333333333%; }

  .row--clearfix .L-7:nth-child(n) {
    clear: none; }

  .row--clearfix .L-7:nth-child(1n+1) {
    clear: left; }

  .L-8 {
    display: block;
    width: 66.6666666667%; }

  .row--clearfix .L-8:nth-child(n) {
    clear: none; }

  .row--clearfix .L-8:nth-child(1n+1) {
    clear: left; }

  .L-9 {
    display: block;
    width: 75%; }

  .row--clearfix .L-9:nth-child(n) {
    clear: none; }

  .row--clearfix .L-9:nth-child(1n+1) {
    clear: left; }

  .L-10 {
    display: block;
    width: 83.3333333333%; }

  .row--clearfix .L-10:nth-child(n) {
    clear: none; }

  .row--clearfix .L-10:nth-child(1n+1) {
    clear: left; }

  .L-11 {
    display: block;
    width: 91.6666666667%; }

  .row--clearfix .L-11:nth-child(n) {
    clear: none; }

  .row--clearfix .L-11:nth-child(1n+1) {
    clear: left; }

  .L-all {
    display: block;
    margin-left: 0;
    width: 100%; } }
/*

---
name: Utilities
category:
 - Base
 - Base/Utilities
---

## List of Utility Classes

### Clearfix

> .cf

This is used to apply a clearfix.

Use this on container elements with floated children.


### Hidden

> .is-hidden

This is used to completely remove an element from the document flow and from screen-readers.

This is usually applied or removed with JavaScript.

> .is-visually-hidden

This is still visible to screen-readers, so it is used for accessibility purposes.


### Floats

> .pull-right

This is used to apply a right float.

> .pull-left

This is used to apply a left float.


### Alignment

> .align-right

This is used to apply `text-align: right;`

> .align-center

This is used to apply `text-align: center;`

> .align-left

This is used to apply `text-align: left;`

*/
.cf, .nav {
  *zoom: 1; }

.cf::before, .nav::before,
.cf::after,
.nav::after {
  content: ' ';
  display: table; }

.cf::after, .nav::after {
  clear: both; }

.is-hidden {
  display: none !important;
  visibility: hidden !important; }

.is-visually-hidden {
  position: absolute !important;
  overflow: hidden;
  width: 1px;
  height: 1px;
  padding: 0;
  border: 0;
  clip: rect(1px, 1px, 1px, 1px); }

.pull-right {
  float: right; }

.pull-left {
  float: left; }

.align-right {
  text-align: right; }

.align-center {
  text-align: center; }

.align-left {
  text-align: left; }

.grecaptcha-badge {
  display: none !important; }

* {
  box-sizing: border-box; }

html {
  height: 100%;
  font-size: 100%; }

body {
  font-size: 16px;
  font-size: 1rem;
  font-family: "Roboto", sans-serif;
  line-height: 1.5;
  color: #000;
  font-weight: 300;
  letter-spacing: 1px;
  margin: 0;
  padding: 0;
  background-color: #FFF;
  font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  -moz-osx-font-smoothing: grayscale;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%; }

::-moz-selection {
  background: #000;
  color: #FFF;
  text-shadow: none; }

::selection {
  background: #000;
  color: #FFF;
  text-shadow: none; }

p {
  line-height: 1.5rem;
  margin-bottom: 1.5rem; }

a {
  font-weight: 700;
  text-decoration: none;
  color: #000; }

hr {
  border-color: #000;
  margin-top: 3rem;
  margin-bottom: 1.5rem; }

/*------------------------------------*\
    PRINT STYLES
\*------------------------------------*/
@media print {
  *,
  *::before,
  *::after {
    background: transparent !important;
    color: #000 !important;
    box-shadow: none !important;
    text-shadow: none !important; }

  a,
  a:visited {
    text-decoration: underline; }

  a[href]::after {
    content: " (" attr(href) ")"; }

  abbr[title]::after {
    content: " (" attr(title) ")"; }

  a[href^="#"]::after,
  a[href^="javascript:"]::after {
    content: ''; }

  pre,
  blockquote {
    border: 1px solid #000;
    page-break-inside: avoid; }

  thead {
    display: table-header-group; }

  tr,
  img {
    page-break-inside: avoid; }

  img {
    max-width: 100% !important; }

  p,
  h2,
  .overlay a,
  h3 {
    orphans: 3;
    widows: 3; }

  h2, .overlay a,
  h3 {
    page-break-after: avoid; } }
.sprite, .icon--instagram, .icon--facebook, .icon--twitter, .icon--email, .icon--arrowright, .icon--arrowleft, .icon--share, .icon--website, .icon--youtube {
  mask: url("../sprite/sprite-fe0bdad3.svg") no-repeat;
  -webkit-mask: url("../sprite/sprite-fe0bdad3.svg") no-repeat;
  mask-size: 380px 38px;
  -webkit-mask-size: 380px 38px; }
  .sprite--small, .icon--instagram.icon--small, .icon--facebook.icon--small, .icon--twitter.icon--small, .icon--email.icon--small, .icon--arrowright.icon--small, .icon--arrowleft.icon--small, .icon--share.icon--small, .icon--website.icon--small, .icon--youtube.icon--small {
    mask-size: calc(380px / 2) calc(38px / 2);
    -webkit-mask-size: calc(380px / 2) calc(38px / 2); }
  .sprite__icon--arrowleft, .icon--arrowleft {
    width: 36px;
    height: 36px;
    mask-position: 0 0;
    -webkit-mask-position: 0 0; }
  .sprite__icon--arrowright, .icon--arrowright {
    width: 36px;
    height: 36px;
    mask-position: 11.11111111111111% 0;
    -webkit-mask-position: 11.11111111111111% 0; }
  .sprite__icon--email, .icon--email {
    width: 36px;
    height: 36px;
    mask-position: 22.22222222222222% 0;
    -webkit-mask-position: 22.22222222222222% 0; }
  .sprite__icon--facebook, .icon--facebook {
    width: 36px;
    height: 36px;
    mask-position: 33.333333333333336% 0;
    -webkit-mask-position: 33.333333333333336% 0; }
  .sprite__icon--instagram, .icon--instagram {
    width: 36px;
    height: 36px;
    mask-position: 44.44444444444444% 0;
    -webkit-mask-position: 44.44444444444444% 0; }
  .sprite__icon--linktree {
    width: 36px;
    height: 36px;
    mask-position: 55.55555555555556% 0;
    -webkit-mask-position: 55.55555555555556% 0; }
  .sprite__icon--share, .icon--share {
    width: 36px;
    height: 36px;
    mask-position: 66.66666666666667% 0;
    -webkit-mask-position: 66.66666666666667% 0; }
  .sprite__icon--twitter, .icon--twitter {
    width: 36px;
    height: 36px;
    mask-position: 77.77777777777777% 0;
    -webkit-mask-position: 77.77777777777777% 0; }
  .sprite__icon--website, .icon--website {
    width: 36px;
    height: 36px;
    mask-position: 88.88888888888889% 0;
    -webkit-mask-position: 88.88888888888889% 0; }
  .sprite__icon--youtube, .icon--youtube {
    width: 36px;
    height: 36px;
    mask-position: 100% 0;
    -webkit-mask-position: 100% 0; }

/*------------------------------------*\
    $BASE ELEMENTS
\*------------------------------------*/
/*

---
name: Form Components
category:
 - Base
 - Base/Forms
---

## Form Example

```html
<form action="" method="post">
	<fieldset>

		<legend>Title</legend>

		<input type="radio" id="radio">
		<label for="radio">Click me</label>

		<label for="radio">
			<input type="radio" id="radio">Click me
		</label>

	</fieldset>
</form>
```

## Text

```html
<input type="text" placeholder="text" />
```

## Text with Label

```html
<label>First Name:
	<input type="text" placeholder="Agent" />
</label>
```

## Email

```html
<input type="email" placeholder="email" />
```

## Search

```html
<input type="search" placeholder="search" />
```

## Radio

```html
<label><input type="radio" />Option 1</label>
```

## Checkbox

```html
<label><input type="checkbox" />Option 1</label>
```

## URL

```html
<input type="url" placeholder="url" />
```

## Number

```html
<input type="number" placeholder="42" />
```

## Tel

```html
<input type="tel" placeholder="01823" />
```

## Color

```html
<input type="color" />
```

## Range

```html
<input type="range" />
```

## Time

```html
<input type="time" />
```

## Date

```html
<input type="date" />
```

## Month

```html
<input type="month" />
```

## Week

```html
<input type="week" />
```

## Datetime

```html
<input type="datetime" />
```

## Datetime Local

```html
<input type="datetime-local" />
```

## Textarea

```html
<textarea placeholder="Text area"></textarea>
```

## Select

```html
<select>
	<optgroup label="Group 1">
		<option>Option 1</option>
	</optgroup>
	<option>Option 2</option>
</select>
```

## Progress

```html
<progress value="70" max="100">70%</progress>
```

## Submit

```html
<input type="submit" value="submit" />
```

## Output

Represents the result of a calculation or user action.

```html
<form oninput="result.value=parseInt(a.value)+parseInt(b.value)">
    <input type="range" name="b" value="50" /> +
    <input type="number" name="a" value="10" /> =
    <output name="result">60</output>
</form>
```

*/
fieldset,
form {
  border: 0;
  padding: 0;
  margin: 0;
  margin-bottom: 2rem; }

label,
legend {
  font-size: 13px;
  font-size: 0.8125rem;
  color: #000;
  display: block;
  margin-bottom: 0;
  overflow: hidden;
  cursor: pointer; }

abbr[title="Required"] {
  font-weight: 700;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif;
  color: #000; }

input[type="text"],
input[type="email"],
input[type="password"],
input[type="search"],
input[type="url"],
input[type="number"],
input[type="tel"],
input[type="color"],
input[type="range"],
input[type="time"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="datetime"],
input[type="datetime-local"],
textarea {
  font-weight: 400;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 16px;
  font-size: 1rem;
  color: #000;
  background-color: #FFF;
  width: 100%;
  border: 1px solid #999;
  padding: 1rem 1rem;
  margin-bottom: 0.75rem; }
  input[type="text"].input--reverse,
  input[type="email"].input--reverse,
  input[type="password"].input--reverse,
  input[type="search"].input--reverse,
  input[type="url"].input--reverse,
  input[type="number"].input--reverse,
  input[type="tel"].input--reverse,
  input[type="color"].input--reverse,
  input[type="range"].input--reverse,
  input[type="time"].input--reverse,
  input[type="date"].input--reverse,
  input[type="month"].input--reverse,
  input[type="week"].input--reverse,
  input[type="datetime"].input--reverse,
  input[type="datetime-local"].input--reverse,
  textarea.input--reverse {
    background-color: black;
    color: white;
    border: 1px solid white; }
  input[type="text"]:focus,
  input[type="email"]:focus,
  input[type="password"]:focus,
  input[type="search"]:focus,
  input[type="url"]:focus,
  input[type="number"]:focus,
  input[type="tel"]:focus,
  input[type="color"]:focus,
  input[type="range"]:focus,
  input[type="time"]:focus,
  input[type="date"]:focus,
  input[type="month"]:focus,
  input[type="week"]:focus,
  input[type="datetime"]:focus,
  input[type="datetime-local"]:focus,
  textarea:focus {
    box-shadow: none;
    outline: none; }

input[type="color"] {
  width: 1em; }

textarea {
  line-height: 1.5; }

input[type="checkbox"] {
  display: inline;
  float: left;
  margin-bottom: 50px;
  margin-right: 10px; }
  input[type="checkbox"] + span {
    display: inline; }

select {
  height: 45px;
  width: 33%;
  font-size: 18px;
  font-size: 1.125rem; }

.select-wrapper {
  background-color: #000;
  padding: 1.5rem;
  font-size: 18px;
  font-size: 1.125rem;
  color: #FFF;
  margin-bottom: 1.5rem; }
  .select-wrapper label {
    font-size: 18px;
    font-size: 1.125rem;
    color: #FFF;
    text-transform: uppercase;
    font-weight: 800;
    margin-top: 0.5rem; }
  .select-wrapper select {
    width: 100%;
    padding: 0 0.75rem; }

::-webkit-input-placeholder {
  color: #999; }

:-moz-placeholder {
  /* Firefox 18- */
  color: #999; }

::-moz-placeholder {
  /* Firefox 19+ */
  color: #999; }

:-ms-input-placeholder {
  color: #999; }

.woocommerce-notices-wrapper {
  display: none !important; }

.woocommerce-page .woocommerce #order_review {
  clear: initial; }

.event-block {
  padding: 1.5rem 1.5rem 0.75rem 1.5rem;
  background-color: #e6e6e6;
  margin-bottom: 1.5rem; }

.star-image {
  margin-left: 0;
  max-width: 230px;
  margin-bottom: 20px;
  display: inline-block; }

/*

---
name: Headings
category:
 - Base
 - Base/Headings
---

## Base Headings

The class structure follows the structure discussed by Harry Roberts in his article [practical font sizing in CSS](http://csswizardry.com/2012/02/pragmatic-practical-font-sizing-in-css/) on CSS Wizardry.

```html
<h1 class="alpha">The fox</h1>
<h2 class="beta">The fox</h2>
<h3 class="gamma">The fox</h3>
<h4 class="delta">The fox</h4>
<h5 class="epsilon">The fox</h5>
<h6 class="zeta">The fox</h6>
```

## Utilities


### Style

Use the `.is-uppercase` class to enforce a heading to be in capitals.

```html
<h1 class="is-uppercase">The fox</h1>
```

### Spacing

Using `.drop` class applies only half the regular bottom bottom.

```html
<h1 class="drop">The fox</h1>
<h1>The fox</h1>
<h1>The fox</h1>
```

*/
h1,
.h1 {
  font-size: calc(4rem * 0.65);
  line-height: calc(4rem * 1.15);
  font-weight: 700;
  text-transform: uppercase;
  margin-top: 0;
  margin-bottom: calc((1.5rem - 4rem) + 1.5rem); }
  @media screen and (min-width: 1024px) {
    h1,
    .h1 {
      font-size: 4rem; } }
  h1--tight,
  .h1--tight {
    margin-bottom: 0;
    margin-top: 0;
    line-height: calc(4rem * .9); }
  h1--light,
  .h1--light {
    font-weight: 300; }
  h1--bold,
  .h1--bold {
    font-weight: 900; }

h2, .overlay a,
.h2 {
  font-size: calc(2.4rem * 0.65);
  line-height: calc(2.4rem * 1.15);
  font-weight: 700;
  text-transform: uppercase;
  margin-top: 0;
  margin-bottom: calc((1.5rem - 2.4rem) + 1.5rem); }
  @media screen and (min-width: 1024px) {
    h2, .overlay a,
    .h2 {
      font-size: 2.4rem; } }
  h2--tight,
  .h2--tight {
    margin-bottom: 0;
    margin-top: 0;
    line-height: calc(2.4rem * .9); }
  h2--light,
  .h2--light {
    font-weight: 300; }
  h2--bold,
  .h2--bold {
    font-weight: 900; }

h3,
.h3 {
  font-size: calc(1.8rem * 0.65);
  line-height: calc(1.8rem * 1.15);
  font-weight: 700;
  text-transform: uppercase;
  margin-top: 0;
  margin-bottom: calc((1.5rem - 1.8rem) + 1.5rem); }
  @media screen and (min-width: 1024px) {
    h3,
    .h3 {
      font-size: 1.8rem; } }
  h3--tight,
  .h3--tight {
    margin-bottom: 0;
    margin-top: 0;
    line-height: calc(1.8rem * .9); }
  h3--light,
  .h3--light {
    font-weight: 300; }
  h3--bold,
  .h3--bold {
    font-weight: 900; }

h4,
.h4 {
  font-size: calc(1.2rem * 0.65);
  line-height: calc(1.2rem * 1.15);
  font-weight: 700;
  text-transform: uppercase;
  margin-top: 0;
  margin-bottom: calc((1.5rem - 1.2rem) + 1.5rem); }
  @media screen and (min-width: 1024px) {
    h4,
    .h4 {
      font-size: 1.2rem; } }
  h4--tight,
  .h4--tight {
    margin-bottom: 0;
    margin-top: 0;
    line-height: calc(1.2rem * .9); }
  h4--light,
  .h4--light {
    font-weight: 300; }
  h4--bold,
  .h4--bold {
    font-weight: 900; }

h5,
.h5 {
  font-size: calc(0.875rem * 0.65);
  line-height: calc(0.875rem * 1.15);
  font-weight: 700;
  text-transform: uppercase;
  margin-top: 0;
  margin-bottom: calc((1.5rem - 0.875rem) + 1.5rem); }
  @media screen and (min-width: 1024px) {
    h5,
    .h5 {
      font-size: 0.875rem; } }
  h5--tight,
  .h5--tight {
    margin-bottom: 0;
    margin-top: 0;
    line-height: calc(0.875rem * .9); }
  h5--light,
  .h5--light {
    font-weight: 300; }
  h5--bold,
  .h5--bold {
    font-weight: 900; }

h1,
.h1,
h2,
.overlay a,
.h2 {
  letter-spacing: -1px; }

/*------------------------------------*\
    MEDIA ELEMENTS
\*------------------------------------*/
audio,
canvas,
img,
svg,
video {
  vertical-align: middle; }

iframe,
img {
  max-width: 100%;
  width: 100%; }

img {
  vertical-align: middle;
  height: auto;
  width: auto; }

a img {
  border: 0; }

/*

---
name: Figure
category:
 - Base
 - Base/Figure
---

Usually an image, illustration, diagram, code snippet, etc. followed by a figcaption.

```html
<figure>
  <img
  src="https://developer.cdn.mozilla.net/media/img/mdn-logo-sm.png"
  alt="An awesome picture">
  <figcaption>Fig1. MDN Logo</figcaption>
</figure>
```

*/
.embed-container {
  position: relative;
  padding-bottom: 56.25%;
  padding-top: 30px;
  height: 0;
  overflow: hidden;
  max-width: 100%;
  height: auto; }
  .embed-container iframe, .embed-container object, .embed-container embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }

.wp-block-image img {
  width: 100%; }

/*------------------------------------*\
    $LAYOUT
\*------------------------------------*/
/*------------------------------------*\
    LAYOUT
\*------------------------------------*/
.wrapper {
  padding: 0 1.5rem;
  margin: 0 auto;
  max-width: 1280px; }
  @media screen and (min-width: 1024px) {
    .wrapper {
      padding: 0 4.5rem; } }

.wrapper--padded {
  padding: 0 1.5rem; }
  @media screen and (min-width: 1024px) {
    .wrapper--padded {
      padding: 0 9rem; } }

.wrapper--contained {
  max-width: 800px;
  padding: 0;
  margin: 0; }

/*

---
name: Header
category:
 - Layout
 - Layout/Header
---

This is a presentation preview of the main header, the style changes slightly at the different breakpoints, and when the page is scrolled.


```html
<header class="site-header__container">

	<div class="wrapper wrapper--padded">

		<div class="site-header">

			<div class="site-header__logo">
				<a href="/">
					<img class="logo logo--desktop" src="../../../aigis_assets/images/bureau-crest-with-text.svg">
					<img class="logo logo--desktop logo--desktop-scrolled" src="../../../aigis_assets/images/bureau-crest-with-text.svg">
					<img class="logo logo--mobile" src="../../../aigis_assets/images/bureau-crest-with-text.svg">
				</a>
			</div>

			<nav class="site-nav__container">

				<ul class="nav / site-nav">

					<li>
						<a href="#">About</a>
					</li>

					<li>
						<a href="#">Our Work</a>
					</li>

					<li>
						<a href="#">Our People</a>
					</li>

					<li>
						<a href="#">Contact</a>
					</li>

				</ul> <!-- / .site-nav -->

			</nav> <!-- / .site-nav__container -->

		</div>

		<div class="hamburger">
			<div class="hamburger-box">
				<div class="hamburger-inner"></div>
			</div>
		</div>

	</div>

</header>
```

*/
.site-header__spacer {
  height: 3.9375em;
  background: #FFF; }
  @media screen and (min-width: 640px) {
    .site-header__spacer {
      height: 5em; } }
  @media screen and (min-width: 1024px) {
    .site-header__spacer {
      height: 5em; } }
  @media screen and (min-width: 1440px) {
    .site-header__spacer {
      height: 5.5em; } }

.site-header__container {
  background: #FFF;
  padding: 0.625em 0;
  padding-right: 1.0625em; }
  @media screen and (min-width: 640px) {
    .site-header__container {
      padding: 1.1875em 0; } }
  @media screen and (min-width: 1440px) {
    .site-header__container {
      padding: 1.5625em 0; } }

.site-header__container--fixed {
  position: fixed;
  top: 0;
  z-index: 99;
  width: 100%;
  transition: all .2s ease; }

.site-header__container--scrolling {
  background: rgba(153, 153, 153, 0.95);
  box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.1); }
  @media screen and (min-width: 640px) {
    .site-header__container--scrolling {
      padding: 1rem 0; } }
  @media screen and (min-width: 1440px) {
    .site-header__container--scrolling {
      padding: 1rem 0; } }
  @media screen and (min-width: 640px) {
    .site-header__container--scrolling .site-header__logo {
      height: 2.5rem; } }
  .site-header__container--scrolling .logo--desktop {
    opacity: 0; }
  .site-header__container--scrolling .logo--desktop-scrolled {
    opacity: 1; }

@media screen and (min-width: 1440px) {
  .site-header {
    display: flex;
    justify-content: space-between;
    align-items: center; } }

.site-header__logo {
  position: relative;
  float: left;
  width: 2.6875em;
  transition: all .2s ease; }
  @media screen and (min-width: 640px) {
    .site-header__logo {
      width: 8.25em;
      height: 2.625em; } }
  @media screen and (min-width: 1440px) {
    .site-header__logo {
      width: 8.3333333333em;
      height: 2.3333333333em; } }

.logo {
  transition: opacity .2s ease; }

@media screen and (min-width: 640px) {
  .logo--mobile {
    display: none; } }

.logo--desktop {
  position: absolute;
  top: 0;
  left: 0;
  display: none; }
  @media screen and (min-width: 640px) {
    .logo--desktop {
      display: block; } }

.logo--desktop-scrolled {
  opacity: 0; }

.site-nav__container {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 99;
  padding-top: 6em;
  background: #FFF;
  text-align: center;
  transform: translateX(100%);
  opacity: 0;
  transition: all .2s ease; }
  .menu-active .site-nav__container {
    transform: translateX(0);
    opacity: 1; }
  @media screen and (min-width: 640px) {
    .site-nav__container {
      width: 22em;
      left: auto;
      padding-left: 1.875em;
      text-align: left; } }
  @media screen and (min-width: 1440px) {
    .site-nav__container {
      position: static;
      top: auto;
      right: auto;
      left: auto;
      bottom: auto;
      transform: none;
      opacity: 1;
      width: auto;
      background: none;
      display: block;
      float: right;
      padding-top: 0;
      padding-left: 0; } }
  .site-nav__container .site-nav {
    position: relative; }
    .site-nav__container .site-nav li {
      padding-left: 0;
      margin-top: 1.5em; }
      @media screen and (min-width: 1440px) {
        .site-nav__container .site-nav li {
          margin-top: 0;
          margin-left: 2.5555555556em;
          float: left;
          text-transform: uppercase; } }
      .site-nav__container .site-nav li:first-child {
        margin-top: 0; }
        @media screen and (min-width: 1440px) {
          .site-nav__container .site-nav li:first-child {
            display: none; } }
    .site-nav__container .site-nav a {
      font-weight: 700;
      font-style: normal;
      -webkit-font-smoothing: antialiased;
      font-family: "sans-serif", "Helvetica Neue", Helvetica, Arial, sans-serif;
      font-size: 28px;
      font-size: 1.75rem;
      color: #000;
      text-decoration: none;
      display: block; }
      @media screen and (min-width: 640px) {
        .site-nav__container .site-nav a {
          font-size: 28px;
          font-size: 1.75rem; } }
      @media screen and (min-width: 1024px) {
        .site-nav__container .site-nav a {
          font-size: 28px;
          font-size: 1.75rem; } }
      @media screen and (min-width: 1440px) {
        .site-nav__container .site-nav a {
          font-size: 14px;
          font-size: 0.875rem; } }
      .site-nav__container .site-nav a.active, .site-nav__container .site-nav a:hover, .site-nav__container .site-nav a:active, .site-nav__container .site-nav a:focus {
        color: #999;
        text-decoration: none; }

header {
  padding: 0.75rem 0; }

.register {
  background-color: #000;
  border: 3.5px solid #000;
  color: #FFF;
  padding: 0.06rem 0.25rem;
  margin: -5px 0.25rem; }
  .register:hover {
    text-decoration: none !important;
    background-color: #FFF;
    color: #000;
    font-weight: 900; }

.gg-logo {
  margin: 0;
  padding: 0;
  font-weight: 800 !important;
  line-height: 1;
  font-size: 32px;
  font-size: 2rem;
  display: none; }
  @media screen and (min-width: 1024px) {
    .gg-logo {
      display: block; } }

/*

---
name: Footer
category:
 - Layout
 - Layout/Footer
---

```html
<footer class="site-footer">

	<div class="wrapper wrapper--padded">

		<section class="row">

			<div class="col S-all M-4">

				<h6 class="is-grey is-uppercase">Address</h6>

				<address class="site-footer__address">
					<ul class="is-plain">
						<li>Number 4</li>
						<li>The Crescent</li>
						<li>Taunton</li>
						<li>TA1 4EA</li>
					</ul>
				</address>

				<ul class="is-plain">
					<li>Email: <a href="mailto:hello@theideabureau.co">hello@theideabureau.co</a></li>
				</ul>

			</div>

			<div class="site-footer__colophon / col S-hide M-all">
				<span>&copy; 2016 The Idea Bureau. All rights reserved.</span>
				<span class="pull-right">Designed and Built by <a href="https://theideabureau.co">The Idea Bureau</a></span>
			</div>

		</section>

	</div>

</footer>
```

*/
.site-footer {
  background-color: #000;
  color: #FFF;
  border-top: 0.1rem solid #FFF;
  padding: 2.625em 0 3.125em; }
  @media screen and (min-width: 640px) {
    .site-footer {
      padding: 3em 0 1.5em; } }
  @media screen and (min-width: 1024px) {
    .site-footer {
      padding: 5.0625em 0 1.6875em; } }
  .site-footer a {
    color: inherit; }
  .site-footer input[type="email"] {
    width: 100%;
    margin-right: .5rem; }
    @media screen and (min-width: 1024px) {
      .site-footer input[type="email"] {
        width: calc(100% - 190px); } }
  .site-footer button {
    margin-top: .6rem; }
  .site-footer form {
    marin-top: -.6rem; }
  .site-footer .footer__menu {
    margin-bottom: 1.5rem; }
  .site-footer button {
    width: 100%; }
    @media screen and (min-width: 1024px) {
      .site-footer button {
        width: inherit; } }
  .site-footer img {
    max-width: 100%;
    width: 100%; }

.site-footer__colophon {
  font-size: 10px;
  font-size: 0.625rem;
  clear: both;
  margin-top: 38px; }
  @media screen and (min-width: 640px) {
    .site-footer__colophon {
      font-size: 10px;
      font-size: 0.625rem; } }
  @media screen and (min-width: 1024px) {
    .site-footer__colophon {
      font-size: 12px;
      font-size: 0.75rem; } }
  @media screen and (min-width: 1024px) {
    .site-footer__colophon {
      margin-top: 54px; } }
  .site-footer__colophon a {
    font-weight: 700;
    font-style: normal;
    -webkit-font-smoothing: antialiased;
    font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif; }

/*------------------------------------*\
    NAVIGATION
\*------------------------------------*/
.nav {
  list-style-type: none;
  padding: 0;
  margin: 0; }
  .nav a {
    text-decoration: none;
    text-transform: uppercase; }
    .nav a:hover, .nav a:focus {
      text-decoration: underline; }
    .nav a:active {
      text-decoration: none; }
  .nav li {
    list-style: none; }

.nav--horizontal li {
  float: left;
  padding-left: 0; }
.nav--horizontal a {
  display: block; }

.nav--vertical li {
  margin-bottom: .5rem; }
  .nav--vertical li:last-child {
    margin-bottom: 0; }
.nav--vertical a {
  display: inline-block; }

.overlay {
  height: 100%;
  width: 100%;
  position: fixed;
  z-index: 1;
  top: 0;
  left: 0;
  background-color: #000;
  overflow-x: hidden;
  transition: 0.5s;
  display: none; }

.overlay-content {
  position: relative;
  top: 10%;
  width: 70%;
  text-align: left;
  margin-top: 30px;
  margin: 30px auto;
  margin: 0px auto; }
  @media screen and (min-width: 1024px) {
    .overlay-content {
      width: 40%; } }

.overlay a {
  padding: 8px;
  padding: 0;
  text-decoration: none;
  color: #FFF;
  display: block;
  transition: 0.3s; }

/*

---
name: Hamburger
category:
 - Layout
 - Layout/Hamburger
---

The hamburger animates on click to a cross. It is used to show the menu on smaller screens. Here we're using the `.hamburger--demo` class for presentation purposes only.

```html
<div class="hamburger hamburger--demo">
	<div class="hamburger-box">
		<div class="hamburger-inner"></div>
	</div>
</div>
<div class="menu-active">
	<div class="hamburger hamburger--demo">
		<div class="hamburger-box">
			<div class="hamburger-inner"></div>
		</div>
	</div>
</div>
```

*/
.hamburger--demo {
  display: block !important;
  position: static !important;
  float: left !important;
  margin-right: 1.5rem; }

.hamburger {
  overflow: visible;
  height: 30px;
  float: right;
  position: absolute;
  top: 18px;
  right: 18px;
  z-index: 100;
  cursor: pointer;
  transition: top .2s ease; }
  @media screen and (min-width: 640px) {
    .hamburger {
      top: 23px;
      right: 34px; }
      .site-header__container--scrolling .hamburger {
        top: 19px; } }
  @media screen and (min-width: 1024px) {
    .hamburger {
      top: 26px; }
      .site-header__container--scrolling .hamburger {
        top: 24px; } }
  @media screen and (min-width: 1440px) {
    .hamburger {
      display: none; } }
  .menu-active .hamburger .hamburger-inner {
    transform: rotate(45deg);
    transition-delay: .14s;
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    z-index: 100; }
    .menu-active .hamburger .hamburger-inner, .menu-active .hamburger .hamburger-inner::before, .menu-active .hamburger .hamburger-inner::after {
      border-radius: 0;
      height: 6px;
      background-color: #FFF; }
    .menu-active .hamburger .hamburger-inner::before {
      top: 0;
      opacity: 0;
      transition: top .1s ease, opacity .1s .14s ease; }
    .menu-active .hamburger .hamburger-inner::after {
      width: 30px;
      bottom: 0;
      transform: rotate(-90deg);
      transition: bottom 0.1s ease, transform 0.1s 0.14s cubic-bezier(0.215, 0.61, 0.355, 1); }

.hamburger-box {
  width: 30px;
  height: 30px;
  display: inline-block;
  position: relative; }

.hamburger-inner {
  display: block;
  top: 50%;
  margin-top: -2px;
  transition-duration: .1s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  .hamburger-inner, .hamburger-inner::before, .hamburger-inner::after {
    width: 30px;
    height: 6px;
    background-color: #000;
    border-radius: 1px;
    position: absolute;
    transition-property: transform;
    transition-duration: .15s;
    transition-timing-function: ease; }
  .hamburger-inner::before, .hamburger-inner::after {
    content: '';
    display: block; }
  .hamburger-inner::before {
    top: -10px;
    transition: top .1s .14s ease, opacity .1s ease; }
  .hamburger-inner::after {
    bottom: -10px;
    transition: bottom 0.1s 0.14s ease, transform 0.1s cubic-bezier(0.55, 0.055, 0.675, 0.19); }

/*------------------------------------*\
    $MODULAR
\*------------------------------------*/
/*------------------------------------*\
	ICONS
\*------------------------------------*/
.icon--instagram {
  background-color: #000;
  display: inline-block;
  vertical-align: middle;
  margin-top: -.3rem; }
  .icon--instagram:hover, .icon--instagram:active, .icon--instagram:focus {
    color: black; }
  .icon--instagram.icon--small {
    width: 18px;
    height: 18px; }
  .icon--instagram.icon--spacing {
    margin-left: .5rem; }

.icon--inverse {
  background-color: white; }

.icon--facebook {
  background-color: #000;
  display: inline-block;
  vertical-align: middle;
  margin-top: -.3rem; }
  .icon--facebook:hover, .icon--facebook:active, .icon--facebook:focus {
    color: black; }
  .icon--facebook.icon--small {
    width: 18px;
    height: 18px; }
  .icon--facebook.icon--spacing {
    margin-left: .5rem; }

.icon--inverse {
  background-color: white; }

.icon--twitter {
  background-color: #000;
  display: inline-block;
  vertical-align: middle;
  margin-top: -.3rem; }
  .icon--twitter:hover, .icon--twitter:active, .icon--twitter:focus {
    color: black; }
  .icon--twitter.icon--small {
    width: 18px;
    height: 18px; }
  .icon--twitter.icon--spacing {
    margin-left: .5rem; }

.icon--inverse {
  background-color: white; }

.icon--email {
  background-color: #000;
  display: inline-block;
  vertical-align: middle;
  margin-top: -.3rem; }
  .icon--email:hover, .icon--email:active, .icon--email:focus {
    color: black; }
  .icon--email.icon--small {
    width: 18px;
    height: 18px; }
  .icon--email.icon--spacing {
    margin-left: .5rem; }

.icon--inverse {
  background-color: white; }

.icon--arrowright {
  background-color: #000;
  display: inline-block;
  vertical-align: middle;
  margin-top: -.3rem; }
  .icon--arrowright:hover, .icon--arrowright:active, .icon--arrowright:focus {
    color: black; }
  .icon--arrowright.icon--small {
    width: 18px;
    height: 18px; }
  .icon--arrowright.icon--spacing {
    margin-left: .5rem; }

.icon--inverse {
  background-color: white; }

.icon--arrowleft {
  background-color: #000;
  display: inline-block;
  vertical-align: middle;
  margin-top: -.3rem; }
  .icon--arrowleft:hover, .icon--arrowleft:active, .icon--arrowleft:focus {
    color: black; }
  .icon--arrowleft.icon--small {
    width: 18px;
    height: 18px; }
  .icon--arrowleft.icon--spacing {
    margin-left: .5rem; }

.icon--inverse {
  background-color: white; }

.icon--share {
  background-color: #000;
  display: inline-block;
  vertical-align: middle;
  margin-top: -.3rem; }
  .icon--share:hover, .icon--share:active, .icon--share:focus {
    color: black; }
  .icon--share.icon--small {
    width: 18px;
    height: 18px; }
  .icon--share.icon--spacing {
    margin-left: .5rem; }

.icon--inverse {
  background-color: white; }

.icon--website {
  background-color: #000;
  display: inline-block;
  vertical-align: middle;
  margin-top: -.3rem; }
  .icon--website:hover, .icon--website:active, .icon--website:focus {
    color: black; }
  .icon--website.icon--small {
    width: 18px;
    height: 18px; }
  .icon--website.icon--spacing {
    margin-left: .5rem; }

.icon--inverse {
  background-color: white; }

.icon--youtube {
  background-color: #000;
  display: inline-block;
  vertical-align: middle;
  margin-top: -.3rem; }
  .icon--youtube:hover, .icon--youtube:active, .icon--youtube:focus {
    color: black; }
  .icon--youtube.icon--small {
    width: 18px;
    height: 18px; }
  .icon--youtube.icon--spacing {
    margin-left: .5rem; }

.icon--inverse {
  background-color: white; }

/*

---
name: Buttons
category:
 - Components
 - Components/Buttons
---

## Button Sizes

Buttons are created by either using the `.button` class, button element, or submit input. Use the `.button--large` modifier to use a bigger button style.

```html
<a class="button">Button</a>
<a class="button button--large">Button</a>
```

## Variations

### Colour

* Use the `.button--grey` modifier.

```html
<a class="button button--grey">Button</a>
<a class="button button--large button--grey">Button</a>
```

### Style

* Use the `.button--ghost` modifier.

```html
<a class="button button--ghost">Button</a>
<a class="button button--ghost button--grey">Button</a>
```

*/
.button,
.checkout-button,
button,
input[type="submit"] {
  background: #000;
  background-color: #000 !important;
  color: #FFF !important;
  text-align: center;
  text-decoration: none;
  line-height: 1.3;
  text-transform: uppercase;
  font-weight: 900;
  font-size: 16px;
  font-size: 1rem;
  border-radius: 0 !important;
  display: inline-block;
  padding: .9rem 1.5rem;
  margin-bottom: 0.75rem;
  vertical-align: middle;
  border: 2px solid #000 !important;
  border-width: 2px !important;
  cursor: pointer; }
  .button svg,
  .checkout-button svg,
  button svg,
  input[type="submit"] svg {
    width: 1em;
    height: 1em;
    fill: currentColor; }
    @media screen and (min-width: 1024px) {
      .button svg,
      .checkout-button svg,
      button svg,
      input[type="submit"] svg {
        width: 1.3em;
        height: 1.3em; } }

.button--large {
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.4;
  padding: 0.7142857143em 1.4285714286em; }
  @media screen and (min-width: 640px) {
    .button--large {
      font-size: 16px;
      font-size: 1rem; } }
  @media screen and (min-width: 1024px) {
    .button--large {
      font-size: 20px;
      font-size: 1.25rem; } }
  @media screen and (min-width: 640px) {
    .button--large {
      line-height: 1.3;
      padding: 0.625em 2.1875em; } }
  @media screen and (min-width: 1024px) {
    .button--large {
      line-height: 1;
      padding: 1em 3.1em; } }

.button--ghost {
  font-weight: 400;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  font-family: "sans-serif", "Helvetica Neue", Helvetica, Arial, sans-serif;
  background: transparent;
  color: #000; }
  .button--ghost:hover, .button--ghost:active, .button--ghost:focus {
    background: #000;
    color: #FFF; }

.button--grey {
  background: #999;
  border-color: #999; }
  .button--grey:hover, .button--grey:active, .button--grey:focus {
    background: #FFF;
    color: #999; }

.button--disabled {
  background-color: #FFF !important;
  border-color: #000 !important;
  color: #000 !important;
  cursor: default !important; }
  .button--disabled:hover, .button--disabled:active, .button--disabled:focus {
    background: #FFF;
    color: #000; }

.button--ghost.button--grey {
  background: transparent;
  color: #999;
  border-color: #999; }
  .button--ghost.button--grey:hover, .button--ghost.button--grey:active, .button--ghost.button--grey:focus {
    background: #999;
    color: #FFF; }

.button--white {
  background: #FFF !important;
  border-color: #FFF !important;
  color: black !important; }
  .button--white:hover, .button--white:active, .button--white:focus {
    background: black !important;
    border-color: #FFF !important;
    color: #FFF !important; }
  .button--white.alt {
    background: #FFF !important;
    border-color: black !important;
    color: black !important; }
    .button--white.alt:hover, .button--white.alt:active, .button--white.alt:focus {
      background: black !important;
      border-color: black !important;
      color: #FFF !important; }

.button--grey {
  background: #999 !important;
  border-color: #999 !important;
  color: #666666 !important; }
  .button--grey:hover, .button--grey:active, .button--grey:focus {
    background: #666666 !important;
    border-color: #999 !important;
    color: #999 !important; }
  .button--grey.alt {
    background: #999 !important;
    border-color: #666666 !important;
    color: #666666 !important; }
    .button--grey.alt:hover, .button--grey.alt:active, .button--grey.alt:focus {
      background: #666666 !important;
      border-color: #666666 !important;
      color: #999 !important; }

.button--black {
  background: #000 !important;
  border-color: #000 !important;
  color: white !important; }
  .button--black:hover, .button--black:active, .button--black:focus {
    background: white !important;
    border-color: #000 !important;
    color: #000 !important; }
  .button--black.alt {
    background: #000 !important;
    border-color: white !important;
    color: white !important; }
    .button--black.alt:hover, .button--black.alt:active, .button--black.alt:focus {
      background: white !important;
      border-color: white !important;
      color: #000 !important; }

.button--flat {
  margin: 0; }

.button--right {
  position: relative;
  float: left;
  clear: both; }
  @media screen and (min-width: 1024px) {
    .button--right {
      position: absolute;
      clear: inherit;
      float: right; } }

.dayfilter {
  width: 49.5%; }
  @media screen and (min-width: 1024px) {
    .dayfilter {
      width: 24.5%; } }

.dayfilter:hover {
  color: black !important; }

.dayfilter.active {
  background: white !important;
  color: black !important; }

/*

---
name: Content Block
category:
 - Components
 - Components/Content Block
---

## Default Styling

This is the default markup and styling for a generic section of content. It usually consists of:

* A title
* A paragraph
* [Optional] A button

```html
<section class="content-block">

	<h3 class="content-block__title">Section Title</h3>

	<p>This is a paragraph in a block of content.</p>

	<a href="#" class="button button--ghost button--flat">Find out more</a>

</section>
```

*/
.content-block {
  color: #000;
  padding: 3rem 0;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center; }
  @media screen and (min-width: 1024px) {
    .content-block {
      padding: 6rem 0; } }
  .content-block img {
    width: 100%;
    max-width: 100%; }
  .content-block .logo img {
    width: 100%;
    max-width: 100%; }
    @media screen and (min-width: 1024px) {
      .content-block .logo img {
        width: 100%;
        max-width: 80%; } }

.content-block__image {
  position: relative;
  width: 100%; }

.content-block__numbers {
  position: relative;
  display: inline-block;
  width: 4rem;
  text-align: left; }

.content-block__title {
  font-weight: 700;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  font-family: "sans-serif", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 20px;
  font-size: 1.25rem;
  letter-spacing: .2px;
  line-height: 1;
  margin-bottom: 0.6em; }
  @media screen and (min-width: 640px) {
    .content-block__title {
      font-size: 19px;
      font-size: 1.1875rem; } }
  @media screen and (min-width: 1024px) {
    .content-block__title {
      font-size: 30px;
      font-size: 1.875rem; } }
  @media screen and (min-width: 640px) {
    .content-block__title {
      font-weight: 600;
      font-style: normal;
      -webkit-font-smoothing: antialiased;
      font-family: "sans-serif", "Helvetica Neue", Helvetica, Arial, sans-serif;
      letter-spacing: .1px;
      margin-bottom: 0.6315789474em; } }
  @media screen and (min-width: 1024px) {
    .content-block__title {
      letter-spacing: .4px;
      margin-bottom: 0.9em; } }
  .content-block__title p {
    margin-bottom: 1.5em; }
    @media screen and (min-width: 640px) {
      .content-block__title p {
        margin-bottom: 0.75em; } }
    @media screen and (min-width: 1024px) {
      .content-block__title p {
        margin-bottom: 1.5em; } }

.home-hero {
  overflow: hidden;
  position: relative;
  min-height: 350px;
  border: 5px solid #000;
  border-left: 0;
  border-right: 0; }
  @media screen and (min-width: 640px) {
    .home-hero {
      min-height: 450px; } }
  @media screen and (min-width: 1024px) {
    .home-hero {
      min-height: 550px; } }
  @media screen and (min-width: 1440px) {
    .home-hero {
      min-height: 650px; } }
  .home-hero .event--mc {
    position: absolute;
    bottom: -360px;
    width: 250px;
    left: -20px; }
    @media screen and (min-width: 640px) {
      .home-hero .event--mc {
        bottom: -500px;
        width: 375px;
        left: -25px; } }
    @media screen and (min-width: 1024px) {
      .home-hero .event--mc {
        bottom: -600px;
        width: 700px;
        left: -175px; } }
    @media screen and (min-width: 1440px) {
      .home-hero .event--mc {
        bottom: -733px;
        width: 850px;
        left: -175px; } }
  .home-hero .event--gg {
    position: absolute;
    top: -95px;
    width: 250px;
    right: -27px; }
    @media screen and (min-width: 640px) {
      .home-hero .event--gg {
        top: -115px;
        width: 375px;
        right: -38px; } }
    @media screen and (min-width: 1024px) {
      .home-hero .event--gg {
        top: -215px;
        width: 700px;
        right: -38px; } }
    @media screen and (min-width: 1440px) {
      .home-hero .event--gg {
        top: -215px;
        width: 850px;
        right: -38px; } }

.free-launch {
  text-align: left; }
  @media screen and (min-width: 1024px) {
    .free-launch {
      text-align: right; } }
  .free-launch figure {
    max-width: 250px;
    width: 100%;
    margin-bottom: 0; }
    @media screen and (min-width: 1024px) {
      .free-launch figure {
        margin-top: -50px;
        max-width: 330px; } }

/*------------------------------------*\
	ICONS
\*------------------------------------*/
.content-block--white {
  background-color: #FFF;
  color: black; }
  .content-block--white h3,
  .content-block--white a {
    color: black; }

.content-block--grey {
  background-color: #999;
  color: #666666; }
  .content-block--grey h3,
  .content-block--grey a {
    color: #666666; }

.content-block--black {
  background-color: #000;
  color: white; }
  .content-block--black h3,
  .content-block--black a {
    color: white; }

.block {
  background-size: cover;
  background-repeat: no-repeat;
  background-color: #000;
  padding-top: 64%;
  position: relative;
  display: block;
  margin-bottom: 1.5rem; }
  @media screen and (min-width: 1024px) {
    .block {
      padding-top: 33%; } }
  .block__title {
    color: #FFF;
    position: absolute;
    transform: translate(-50%, -50%);
    left: 50%;
    top: 50%; }
    .block__title h3 {
      text-align: center; }

/*

---
name: Post Card
category:
 - Components
 - Components/Post Card
---

This is the default card object that links to a news post.

```html
<article class="card">
	<a class="card__link">
		<h2 class="card__title">This is a post object</h2>
		<time class="card__date">10th February 2016</time>
		<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Nobis at unde libero voluptate quia repudiandae consectetur possimus sit blanditiis harum! Ad, consequuntur fuga itaque natus tenetur omnis, obcaecati dolores aliquam&hellip;</p>
		<span class="post-object__more">Read more</span>
	</a>
</article>
```

*/
.journal-list {
  display: flex;
  flex-wrap: wrap; }

.card__link {
  color: #000;
  text-decoration: none;
  display: block;
  padding-bottom: 1.875em;
  margin-bottom: 1.875em;
  border-bottom: 1px solid #000; }
  @media screen and (min-width: 1024px) {
    .card__link {
      padding-bottom: 3em;
      margin-bottom: 3em;
      transition: box-shadow .2s ease; } }
  .card__link:hover, .card__link:active, .card__link:focus {
    text-decoration: none; }
    @media screen and (min-width: 1024px) {
      .card__link:hover, .card__link:active, .card__link:focus {
        box-shadow: 2px 3px 5px 0 rgba(0, 0, 0, 0.1); } }
  .card:last-child .card__link {
    padding-bottom: 0;
    margin-bottom: 0;
    border-bottom: 0; }

.card__title {
  color: #000;
  padding: 0; }

.card__break {
  border-top: 3px solid #000;
  margin-bottom: 1.5rem;
  margin-top: 0.375rem; }

.card__image {
  margin: 1rem 0; }
  .card__image--padded {
    padding: 0 6rem; }
  .card__image img {
    width: 100%;
    max-width: 100%; }

.home .card__date {
  display: none; }

.card__content {
  padding: 0; }

.card__more {
  padding: 0;
  text-transform: uppercase; }
  .card__more a {
    text-transform: inherit;
    text-decoration: none; }
  .card__more span {
    font-weight: 900; }

.card p {
  letter-spacing: .1px;
  margin-bottom: 0.9375em; }
  @media screen and (min-width: 1024px) {
    .card p {
      padding-right: 1.5rem;
      margin-bottom: 0.8333333333em; } }

a.card {
  font-weight: inherit; }

.post-object__more {
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 700;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif;
  color: #000;
  letter-spacing: .1px;
  line-height: 1; }
  @media screen and (min-width: 640px) {
    .post-object__more {
      font-size: 14px;
      font-size: 0.875rem; } }
  @media screen and (min-width: 1024px) {
    .post-object__more {
      font-size: 14px;
      font-size: 0.875rem; } }

@media screen and (min-width: 1024px) {
  .card.events {
    min-height: 460px; } }
@media screen and (min-width: 1024px) {
  .card.height-auto {
    min-height: auto !important; } }

/*

---
name: Post list
category:
 - Components
 - Components/Post list
---

This is the default list object that links to a news post.

```html
<article class="list">
	<a class="list__link">
		<h2 class="list__title">This is a post object</h2>
		<time class="list__date">10th February 2016</time>
		<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Nobis at unde libero voluptate quia repudiandae consectetur possimus sit blanditiis harum! Ad, consequuntur fuga itaque natus tenetur omnis, obcaecati dolores aliquam&hellip;</p>
		<span class="post-object__more">Read more</span>
	</a>
</article>
```

*/
.list__link {
  color: #000;
  text-decoration: none;
  display: block;
  padding-bottom: 1.875em;
  margin-bottom: 1.875em;
  border-bottom: 1px solid #000; }
  @media screen and (min-width: 1024px) {
    .list__link {
      padding-bottom: 3em;
      margin-bottom: 3em;
      transition: box-shadow .2s ease; } }
  .list__link:hover, .list__link:active, .list__link:focus {
    text-decoration: none; }
    @media screen and (min-width: 1024px) {
      .list__link:hover, .list__link:active, .list__link:focus {
        box-shadow: 2px 3px 5px 0 rgba(0, 0, 0, 0.1); } }
  .list:last-child .list__link {
    padding-bottom: 0;
    margin-bottom: 0;
    border-bottom: 0; }

.list__title {
  color: #000;
  padding: 0; }

.list__break {
  border-top: 3px solid #000;
  margin-bottom: 1.5rem;
  margin-top: 0.375rem; }

.list__image {
  margin: 1rem 0; }
  .list__image--padded {
    padding: 0 6rem; }
  .list__image img {
    width: 100%;
    max-width: 100%; }

.home .list__date {
  display: none; }

.list__content {
  padding: 0 1.5rem; }

.list__more {
  padding: 0 1.5rem;
  text-transform: uppercase; }
  .list__more a {
    text-transform: inherit;
    text-decoration: none; }
  .list__more span {
    font-weight: 900; }

.list p {
  letter-spacing: .1px;
  margin-bottom: 0.9375em; }
  @media screen and (min-width: 1024px) {
    .list p {
      padding-right: 1.5rem;
      margin-bottom: 0.8333333333em; } }

a.list {
  font-weight: inherit; }

.post-object__more {
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 700;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif;
  color: #000;
  letter-spacing: .1px;
  line-height: 1; }
  @media screen and (min-width: 640px) {
    .post-object__more {
      font-size: 14px;
      font-size: 0.875rem; } }
  @media screen and (min-width: 1024px) {
    .post-object__more {
      font-size: 14px;
      font-size: 0.875rem; } }

.list {
  min-height: auto;
  border-bottom: 1px solid black;
  padding: 1.5rem 0;
  border-left-width: 0;
  margin-left: 0;
  float: none; }
  .list.events {
    float: left; }
    @media screen and (min-width: 1024px) {
      .list.events {
        min-height: 390px; } }

/* The Modal (background) */
.modal {
  display: none;
  /* Hidden by default */
  position: fixed;
  /* Stay in place */
  z-index: 999;
  /* Sit on top */
  left: 0;
  top: 0;
  width: 100%;
  /* Full width */
  height: 100%;
  /* Full height */
  overflow: auto;
  /* Enable scroll if needed */
  background-color: #000;
  color: #FFF; }
  .modal .wrapper {
    top: 50%;
    position: relative;
    transform: translateY(-66%); }

/* The Close Button */
.close {
  color: #aaa;
  float: right;
  font-size: 28px;
  font-weight: bold; }

.close:hover,
.close:focus {
  color: black;
  text-decoration: none;
  cursor: pointer; }

#modalClose {
  position: absolute;
  right: 20px;
  top: 20px; }

.acf-map {
  width: 100%;
  height: 400px;
  border: #ccc solid 1px;
  margin: 20px 0; }

.acf-map img {
  max-width: inherit !important; }

.wp-block-video video {
  width: 100%; }

.checkbox {
  min-height: auto;
  border-bottom: 1px solid black;
  padding: 0.75rem 0;
  border-left-width: 0;
  margin-left: 0;
  float: none; }
  .checkbox input[type="checkbox"] {
    margin-left: 1.5rem; }
  .checkbox.events {
    float: left; }
    @media screen and (min-width: 1024px) {
      .checkbox.events {
        min-height: 390px; } }
  .checkbox.odd {
    background-color: #e6e6e6; }

.table-box {
  border: 1px solid black;
  overflow: hidden; }
  .table-box.list {
    border: none; }

/*------------------------------------*\
    $NON-MODULAR
\*------------------------------------*/
.item_box {
  width: 25%;
  display: inline-block;
  float: left;
  max-width: 300px;
  min-height: 300px;
  margin-right: 40px;
  margin-bottom: 40px;
  overflow: hidden;
  position: relative;
  cursor: pointer; }
  .item_box.last {
    margin-right: 0; }
  .item_box .vert-center {
    width: 100%; }
  .item_box .overlay {
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    position: absolute;
    background-color: #000;
    opacity: 0;
    background-size: auto 100%;
    z-index: 400;
    -webkit-transition: all 500ms cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: all 500ms cubic-bezier(0.215, 0.61, 0.355, 1);
    will-change: transform,opacity; }
  .item_box .background {
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 300;
    position: absolute;
    overflow: hidden;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: 50%;
    -webkit-transition: transform 500ms linear, opacity 400ms cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: transform 500ms linear, opacity 400ms cubic-bezier(0.215, 0.61, 0.355, 1);
    will-change: transform,opacity; }
  .item_box .breather {
    display: inline-block;
    width: 25px; }
  .item_box p {
    clear: both;
    display: block;
    height: 0;
    opacity: 0;
    font-size: 16px;
    font-size: 1rem;
    color: #FFF; }
    .item_box p span {
      margin: 0 5px;
      vertical-align: bottom; }
  .item_box:hover .overlay {
    opacity: 0.6; }
  .item_box:hover .background {
    transform: scale(1.6, 1.6);
    -webkit-transition: transform 15000ms linear, opacity 300ms cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: transform 15000ms linear, opacity 300ms cubic-bezier(0.215, 0.61, 0.355, 1);
    will-change: transform, opacity; }
  .item_box:hover p {
    height: 20px;
    -webkit-animation: fadeInUp 0.4s cubic-bezier(0.785, 0.135, 0.15, 0.86) 0.05s forwards;
    -moz-animation: fadeInUp 0.4s cubic-bezier(0.785, 0.135, 0.15, 0.86) 0.05s forwards;
    animation: fadeInUp 0.4s cubic-bezier(0.785, 0.135, 0.15, 0.86) 0.05s forwards; }

.photo-thumb {
  width: 100%;
  height: auto;
  float: left;
  margin: 0 0 .5em 0;
  float: left; }

.instagram {
  text-align: center; }
  .instagram--feed {
    padding-top: 70px; }

#instagram {
  text-align: center; }
  #instagram .project--gallery__project {
    padding: 25px 30px;
    padding-bottom: 0; }
    #instagram .project--gallery__project .slick-slide {
      width: 100vw;
      height: calc(100vw - 60px); }
    #instagram .project--gallery__project .slick-slider {
      max-height: inherit;
      margin-bottom: 0 !important; }
    #instagram .project--gallery__project .slick-dots {
      bottom: 15px; }

.instagram--feed {
  display: none; }

.instagram--image {
  margin-top: 1.5rem; }

.fc {
  direction: ltr;
  text-align: left; }

.fc-rtl {
  text-align: right; }

body .fc {
  /* extra precedence to overcome jqui */
  font-size: 1em; }

/* Colors
--------------------------------------------------------------------------------------------------*/
.fc-highlight {
  /* when user is selecting cells */
  background: #bce8f1;
  opacity: 0.3; }

.fc-bgevent {
  /* default look for background events */
  background: #8fdf82;
  opacity: 0.3; }

.fc-nonbusiness {
  /* default look for non-business-hours areas */
  /* will inherit .fc-bgevent's styles */
  background: #d7d7d7; }

/* Popover
--------------------------------------------------------------------------------------------------*/
.fc-popover {
  position: absolute;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15); }

.fc-popover .fc-header {
  /* TODO: be more consistent with fc-head/fc-body */
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  padding: 2px 4px; }

.fc-rtl .fc-popover .fc-header {
  flex-direction: row-reverse; }

.fc-popover .fc-header .fc-title {
  margin: 0 2px; }

.fc-popover .fc-header .fc-close {
  cursor: pointer;
  opacity: 0.65;
  font-size: 1.1em; }

/* Misc Reusable Components
--------------------------------------------------------------------------------------------------*/
.fc-divider {
  border-style: solid;
  border-width: 1px; }

hr.fc-divider {
  height: 0;
  margin: 0;
  padding: 0 0 2px;
  /* height is unreliable across browsers, so use padding */
  border-width: 1px 0; }

.fc-bg,
.fc-bgevent-skeleton,
.fc-highlight-skeleton,
.fc-mirror-skeleton {
  /* these element should always cling to top-left/right corners */
  position: absolute;
  top: 0;
  left: 0;
  right: 0; }

.fc-bg {
  bottom: 0;
  /* strech bg to bottom edge */ }

.fc-bg table {
  height: 100%;
  /* strech bg to bottom edge */ }

/* Tables
--------------------------------------------------------------------------------------------------*/
.fc table {
  width: 100%;
  box-sizing: border-box;
  /* fix scrollbar issue in firefox */
  table-layout: fixed;
  border-collapse: collapse;
  border-spacing: 0;
  font-size: 1em;
  /* normalize cross-browser */ }

.fc th {
  text-align: center; }

.fc th,
.fc td {
  border-style: solid;
  border-width: 1px;
  padding: 0;
  vertical-align: top; }

.fc td.fc-today {
  border-style: double;
  /* overcome neighboring borders */ }

/* Internal Nav Links
--------------------------------------------------------------------------------------------------*/
a[data-goto] {
  cursor: pointer; }

a[data-goto]:hover {
  text-decoration: underline; }

/* Fake Table Rows
--------------------------------------------------------------------------------------------------*/
.fc .fc-row {
  /* extra precedence to overcome themes forcing a 1px border */
  /* no visible border by default. but make available if need be (scrollbar width compensation) */
  border-style: solid;
  border-width: 0; }

.fc-row table {
  /* don't put left/right border on anything within a fake row.
     the outer tbody will worry about this */
  border-left: 0 hidden transparent;
  border-right: 0 hidden transparent;
  /* no bottom borders on rows */
  border-bottom: 0 hidden transparent; }

.fc-row:first-child table {
  border-top: 0 hidden transparent;
  /* no top border on first row */ }

/* Day Row (used within the header and the DayGrid)
--------------------------------------------------------------------------------------------------*/
.fc-row {
  position: relative; }

.fc-row .fc-bg {
  z-index: 1; }

/* highlighting cells & background event skeleton */
.fc-row .fc-bgevent-skeleton,
.fc-row .fc-highlight-skeleton {
  bottom: 0;
  /* stretch skeleton to bottom of row */ }

.fc-row .fc-bgevent-skeleton table,
.fc-row .fc-highlight-skeleton table {
  height: 100%;
  /* stretch skeleton to bottom of row */ }

.fc-row .fc-highlight-skeleton td,
.fc-row .fc-bgevent-skeleton td {
  border-color: transparent; }

.fc-row .fc-bgevent-skeleton {
  z-index: 2; }

.fc-row .fc-highlight-skeleton {
  z-index: 3; }

/*
row content (which contains day/week numbers and events) as well as "mirror" (which contains
temporary rendered events).
*/
.fc-row .fc-content-skeleton {
  position: relative;
  z-index: 4;
  padding-bottom: 2px;
  /* matches the space above the events */ }

.fc-row .fc-mirror-skeleton {
  z-index: 5; }

.fc .fc-row .fc-content-skeleton table,
.fc .fc-row .fc-content-skeleton td,
.fc .fc-row .fc-mirror-skeleton td {
  /* see-through to the background below */
  /* extra precedence to prevent theme-provided backgrounds */
  background: none;
  /* in case <td>s are globally styled */
  border-color: transparent; }

.fc-row .fc-content-skeleton td,
.fc-row .fc-mirror-skeleton td {
  /* don't put a border between events and/or the day number */
  border-bottom: 0; }

.fc-row .fc-content-skeleton tbody td,
.fc-row .fc-mirror-skeleton tbody td {
  /* don't put a border between event cells */
  border-top: 0; }

/* Scrolling Container
--------------------------------------------------------------------------------------------------*/
.fc-scroller {
  -webkit-overflow-scrolling: touch; }

/* TODO: move to timegrid/daygrid */
.fc-scroller > .fc-day-grid,
.fc-scroller > .fc-time-grid {
  position: relative;
  /* re-scope all positions */
  width: 100%;
  /* hack to force re-sizing this inner element when scrollbars appear/disappear */ }

/* Global Event Styles
--------------------------------------------------------------------------------------------------*/
.fc-event {
  position: relative;
  /* for resize handle and other inner positioning */
  display: block;
  /* make the <a> tag block */
  font-size: 0.85em;
  line-height: 1.4;
  border-radius: 0px;
  border: 1px solid #000; }

.fc-event,
.fc-event-dot {
  background-color: #000;
  /* default BACKGROUND color */ }

.fc-event,
.fc-event:hover {
  color: #fff;
  /* default TEXT color */
  text-decoration: none;
  /* if <a> has an href */ }

.fc-event[href],
.fc-event.fc-draggable {
  cursor: pointer;
  /* give events with links and draggable events a hand mouse pointer */ }

.fc-not-allowed,
.fc-not-allowed .fc-event {
  /* to override an event's custom cursor */
  cursor: not-allowed; }

.fc-event .fc-content {
  position: relative;
  z-index: 2; }

/* resizer (cursor AND touch devices) */
.fc-event .fc-resizer {
  position: absolute;
  z-index: 4; }

/* resizer (touch devices) */
.fc-event .fc-resizer {
  display: none; }

.fc-event.fc-allow-mouse-resize .fc-resizer,
.fc-event.fc-selected .fc-resizer {
  /* only show when hovering or selected (with touch) */
  display: block; }

/* hit area */
.fc-event.fc-selected .fc-resizer:before {
  /* 40x40 touch area */
  content: "";
  position: absolute;
  z-index: 9999;
  /* user of this util can scope within a lower z-index */
  top: 50%;
  left: 50%;
  width: 40px;
  height: 40px;
  margin-left: -20px;
  margin-top: -20px; }

/* Event Selection (only for touch devices)
--------------------------------------------------------------------------------------------------*/
.fc-event.fc-selected {
  z-index: 9999 !important;
  /* overcomes inline z-index */
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2); }

.fc-event.fc-selected:after {
  content: "";
  position: absolute;
  z-index: 1;
  /* same z-index as fc-bg, behind text */
  /* overcome the borders */
  top: -1px;
  right: -1px;
  bottom: -1px;
  left: -1px;
  /* darkening effect */
  background: #000;
  opacity: 0.25; }

/* Event Dragging
--------------------------------------------------------------------------------------------------*/
.fc-event.fc-dragging.fc-selected {
  box-shadow: 0 2px 7px rgba(0, 0, 0, 0.3); }

.fc-event.fc-dragging:not(.fc-selected) {
  opacity: 0.75; }

/* Horizontal Events
--------------------------------------------------------------------------------------------------*/
/* bigger touch area when selected */
.fc-h-event.fc-selected:before {
  content: "";
  position: absolute;
  z-index: 3;
  /* below resizers */
  top: -10px;
  bottom: -10px;
  left: 0;
  right: 0; }

/* events that are continuing to/from another week. kill rounded corners and butt up against edge */
.fc-ltr .fc-h-event.fc-not-start,
.fc-rtl .fc-h-event.fc-not-end {
  margin-left: 0;
  border-left-width: 0;
  padding-left: 1px;
  /* replace the border with padding */
  border-top-left-radius: 0;
  border-bottom-left-radius: 0; }

.fc-ltr .fc-h-event.fc-not-end,
.fc-rtl .fc-h-event.fc-not-start {
  margin-right: 0;
  border-right-width: 0;
  padding-right: 1px;
  /* replace the border with padding */
  border-top-right-radius: 0;
  border-bottom-right-radius: 0; }

/* resizer (cursor AND touch devices) */
/* left resizer  */
.fc-ltr .fc-h-event .fc-start-resizer,
.fc-rtl .fc-h-event .fc-end-resizer {
  cursor: w-resize;
  left: -1px;
  /* overcome border */ }

/* right resizer */
.fc-ltr .fc-h-event .fc-end-resizer,
.fc-rtl .fc-h-event .fc-start-resizer {
  cursor: e-resize;
  right: -1px;
  /* overcome border */ }

/* resizer (mouse devices) */
.fc-h-event.fc-allow-mouse-resize .fc-resizer {
  width: 7px;
  top: -1px;
  /* overcome top border */
  bottom: -1px;
  /* overcome bottom border */ }

/* resizer (touch devices) */
.fc-h-event.fc-selected .fc-resizer {
  /* 8x8 little dot */
  border-radius: 4px;
  border-width: 1px;
  width: 6px;
  height: 6px;
  border-style: solid;
  border-color: inherit;
  background: #fff;
  /* vertically center */
  top: 50%;
  margin-top: -4px; }

/* left resizer  */
.fc-ltr .fc-h-event.fc-selected .fc-start-resizer,
.fc-rtl .fc-h-event.fc-selected .fc-end-resizer {
  margin-left: -4px;
  /* centers the 8x8 dot on the left edge */ }

/* right resizer */
.fc-ltr .fc-h-event.fc-selected .fc-end-resizer,
.fc-rtl .fc-h-event.fc-selected .fc-start-resizer {
  margin-right: -4px;
  /* centers the 8x8 dot on the right edge */ }

/* DayGrid events
----------------------------------------------------------------------------------------------------
We use the full "fc-day-grid-event" class instead of using descendants because the event won't
be a descendant of the grid when it is being dragged.
*/
.fc-day-grid-event {
  margin: 1px 2px 0;
  /* spacing between events and edges */
  padding: 0 1px; }

tr:first-child > td > .fc-day-grid-event {
  margin-top: 2px;
  /* a little bit more space before the first event */ }

.fc-mirror-skeleton tr:first-child > td > .fc-day-grid-event {
  margin-top: 0;
  /* except for mirror skeleton */ }

.fc-day-grid-event .fc-content {
  /* force events to be one-line tall */
  white-space: nowrap;
  overflow: hidden; }

.fc-day-grid-event .fc-time {
  font-weight: bold; }

/* resizer (cursor devices) */
/* left resizer  */
.fc-ltr .fc-day-grid-event.fc-allow-mouse-resize .fc-start-resizer,
.fc-rtl .fc-day-grid-event.fc-allow-mouse-resize .fc-end-resizer {
  margin-left: -2px;
  /* to the day cell's edge */ }

/* right resizer */
.fc-ltr .fc-day-grid-event.fc-allow-mouse-resize .fc-end-resizer,
.fc-rtl .fc-day-grid-event.fc-allow-mouse-resize .fc-start-resizer {
  margin-right: -2px;
  /* to the day cell's edge */ }

/* Event Limiting
--------------------------------------------------------------------------------------------------*/
/* "more" link that represents hidden events */
a.fc-more {
  margin: 1px 3px;
  font-size: 0.85em;
  cursor: pointer;
  text-decoration: none; }

a.fc-more:hover {
  text-decoration: underline; }

.fc-limited {
  /* rows and cells that are hidden because of a "more" link */
  display: none; }

/* popover that appears when "more" link is clicked */
.fc-day-grid .fc-row {
  z-index: 1;
  /* make the "more" popover one higher than this */ }

.fc-more-popover {
  z-index: 2;
  width: 220px; }

.fc-more-popover .fc-event-container {
  padding: 10px; }

/* Now Indicator
--------------------------------------------------------------------------------------------------*/
.fc-now-indicator {
  position: absolute;
  border: 0 solid red; }

/* Utilities
--------------------------------------------------------------------------------------------------*/
.fc-unselectable {
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }

/*
TODO: more distinction between this file and common.css
*/
/* Colors
--------------------------------------------------------------------------------------------------*/
.fc-unthemed th,
.fc-unthemed td,
.fc-unthemed thead,
.fc-unthemed tbody,
.fc-unthemed .fc-divider,
.fc-unthemed .fc-row,
.fc-unthemed .fc-content,
.fc-unthemed .fc-popover,
.fc-unthemed .fc-list-view,
.fc-unthemed .fc-list-heading td {
  border-color: #ddd; }

.fc-unthemed .fc-popover {
  background-color: #fff; }

.fc-unthemed .fc-divider,
.fc-unthemed .fc-popover .fc-header,
.fc-unthemed .fc-list-heading td {
  background: #eee; }

.fc-unthemed td.fc-today {
  background: #fcf8e3; }

.fc-unthemed .fc-disabled-day {
  background: #d7d7d7;
  opacity: 0.3; }

/* Icons
--------------------------------------------------------------------------------------------------
from https://feathericons.com/ and built with IcoMoon
*/
@font-face {
  font-family: "fcicons";
  src: url("data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMg8SBfAAAAC8AAAAYGNtYXAXVtKNAAABHAAAAFRnYXNwAAAAEAAAAXAAAAAIZ2x5ZgYydxIAAAF4AAAFNGhlYWQUJ7cIAAAGrAAAADZoaGVhB20DzAAABuQAAAAkaG10eCIABhQAAAcIAAAALGxvY2ED4AU6AAAHNAAAABhtYXhwAA8AjAAAB0wAAAAgbmFtZXsr690AAAdsAAABhnBvc3QAAwAAAAAI9AAAACAAAwPAAZAABQAAApkCzAAAAI8CmQLMAAAB6wAzAQkAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADpBgPA/8AAQAPAAEAAAAABAAAAAAAAAAAAAAAgAAAAAAADAAAAAwAAABwAAQADAAAAHAADAAEAAAAcAAQAOAAAAAoACAACAAIAAQAg6Qb//f//AAAAAAAg6QD//f//AAH/4xcEAAMAAQAAAAAAAAAAAAAAAQAB//8ADwABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAWIAjQKeAskAEwAAJSc3NjQnJiIHAQYUFwEWMjc2NCcCnuLiDQ0MJAz/AA0NAQAMJAwNDcni4gwjDQwM/wANIwz/AA0NDCMNAAAAAQFiAI0CngLJABMAACUBNjQnASYiBwYUHwEHBhQXFjI3AZ4BAA0N/wAMJAwNDeLiDQ0MJAyNAQAMIw0BAAwMDSMM4uINIwwNDQAAAAIA4gC3Ax4CngATACcAACUnNzY0JyYiDwEGFB8BFjI3NjQnISc3NjQnJiIPAQYUHwEWMjc2NCcB87e3DQ0MIw3VDQ3VDSMMDQ0BK7e3DQ0MJAzVDQ3VDCQMDQ3zuLcMJAwNDdUNIwzWDAwNIwy4twwkDA0N1Q0jDNYMDA0jDAAAAgDiALcDHgKeABMAJwAAJTc2NC8BJiIHBhQfAQcGFBcWMjchNzY0LwEmIgcGFB8BBwYUFxYyNwJJ1Q0N1Q0jDA0Nt7cNDQwjDf7V1Q0N1QwkDA0Nt7cNDQwkDLfWDCMN1Q0NDCQMt7gMIw0MDNYMIw3VDQ0MJAy3uAwjDQwMAAADAFUAAAOrA1UAMwBoAHcAABMiBgcOAQcOAQcOARURFBYXHgEXHgEXHgEzITI2Nz4BNz4BNz4BNRE0JicuAScuAScuASMFITIWFx4BFx4BFx4BFREUBgcOAQcOAQcOASMhIiYnLgEnLgEnLgE1ETQ2Nz4BNz4BNz4BMxMhMjY1NCYjISIGFRQWM9UNGAwLFQkJDgUFBQUFBQ4JCRULDBgNAlYNGAwLFQkJDgUFBQUFBQ4JCRULDBgN/aoCVgQIBAQHAwMFAQIBAQIBBQMDBwQECAT9qgQIBAQHAwMFAQIBAQIBBQMDBwQECASAAVYRGRkR/qoRGRkRA1UFBAUOCQkVDAsZDf2rDRkLDBUJCA4FBQUFBQUOCQgVDAsZDQJVDRkLDBUJCQ4FBAVVAgECBQMCBwQECAX9qwQJAwQHAwMFAQICAgIBBQMDBwQDCQQCVQUIBAQHAgMFAgEC/oAZEhEZGRESGQAAAAADAFUAAAOrA1UAMwBoAIkAABMiBgcOAQcOAQcOARURFBYXHgEXHgEXHgEzITI2Nz4BNz4BNz4BNRE0JicuAScuAScuASMFITIWFx4BFx4BFx4BFREUBgcOAQcOAQcOASMhIiYnLgEnLgEnLgE1ETQ2Nz4BNz4BNz4BMxMzFRQWMzI2PQEzMjY1NCYrATU0JiMiBh0BIyIGFRQWM9UNGAwLFQkJDgUFBQUFBQ4JCRULDBgNAlYNGAwLFQkJDgUFBQUFBQ4JCRULDBgN/aoCVgQIBAQHAwMFAQIBAQIBBQMDBwQECAT9qgQIBAQHAwMFAQIBAQIBBQMDBwQECASAgBkSEhmAERkZEYAZEhIZgBEZGREDVQUEBQ4JCRUMCxkN/asNGQsMFQkIDgUFBQUFBQ4JCBUMCxkNAlUNGQsMFQkJDgUEBVUCAQIFAwIHBAQIBf2rBAkDBAcDAwUBAgICAgEFAwMHBAMJBAJVBQgEBAcCAwUCAQL+gIASGRkSgBkSERmAEhkZEoAZERIZAAABAOIAjQMeAskAIAAAExcHBhQXFjI/ARcWMjc2NC8BNzY0JyYiDwEnJiIHBhQX4uLiDQ0MJAzi4gwkDA0N4uINDQwkDOLiDCQMDQ0CjeLiDSMMDQ3h4Q0NDCMN4uIMIw0MDOLiDAwNIwwAAAABAAAAAQAAa5n0y18PPPUACwQAAAAAANivOVsAAAAA2K85WwAAAAADqwNVAAAACAACAAAAAAAAAAEAAAPA/8AAAAQAAAAAAAOrAAEAAAAAAAAAAAAAAAAAAAALBAAAAAAAAAAAAAAAAgAAAAQAAWIEAAFiBAAA4gQAAOIEAABVBAAAVQQAAOIAAAAAAAoAFAAeAEQAagCqAOoBngJkApoAAQAAAAsAigADAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAA4ArgABAAAAAAABAAcAAAABAAAAAAACAAcAYAABAAAAAAADAAcANgABAAAAAAAEAAcAdQABAAAAAAAFAAsAFQABAAAAAAAGAAcASwABAAAAAAAKABoAigADAAEECQABAA4ABwADAAEECQACAA4AZwADAAEECQADAA4APQADAAEECQAEAA4AfAADAAEECQAFABYAIAADAAEECQAGAA4AUgADAAEECQAKADQApGZjaWNvbnMAZgBjAGkAYwBvAG4Ac1ZlcnNpb24gMS4wAFYAZQByAHMAaQBvAG4AIAAxAC4AMGZjaWNvbnMAZgBjAGkAYwBvAG4Ac2ZjaWNvbnMAZgBjAGkAYwBvAG4Ac1JlZ3VsYXIAUgBlAGcAdQBsAGEAcmZjaWNvbnMAZgBjAGkAYwBvAG4Ac0ZvbnQgZ2VuZXJhdGVkIGJ5IEljb01vb24uAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAEkAYwBvAE0AbwBvAG4ALgAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=") format("truetype");
  font-weight: normal;
  font-style: normal; }
.fc-icon {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "fcicons" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.fc-icon-chevron-left:before {
  content: ""; }

.fc-icon-chevron-right:before {
  content: ""; }

.fc-icon-chevrons-left:before {
  content: ""; }

.fc-icon-chevrons-right:before {
  content: ""; }

.fc-icon-minus-square:before {
  content: ""; }

.fc-icon-plus-square:before {
  content: ""; }

.fc-icon-x:before {
  content: ""; }

.fc-icon {
  display: inline-block;
  width: 1em;
  height: 1em;
  text-align: center; }

/* Buttons
--------------------------------------------------------------------------------------------------
Lots taken from Flatly (MIT): https://bootswatch.com/4/flatly/bootstrap.css
*/
/* reset */
.fc-button {
  border-radius: 0;
  overflow: visible;
  text-transform: none;
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit; }

.fc-button:focus {
  outline: 1px dotted;
  outline: 5px auto -webkit-focus-ring-color; }

.fc-button {
  -webkit-appearance: button; }

.fc-button:not(:disabled) {
  cursor: pointer; }

.fc-button::-moz-focus-inner {
  padding: 0;
  border-style: none; }

/* theme */
.fc-button {
  display: inline-block;
  font-weight: 400;
  color: #212529;
  text-align: center;
  vertical-align: middle;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  background-color: transparent;
  border: 1px solid transparent;
  padding: 0.4em 0.65em;
  font-size: 1em;
  line-height: 1.5;
  border-radius: 0.25em; }

.fc-button:hover {
  color: #212529;
  text-decoration: none; }

.fc-button:focus {
  outline: 0;
  -webkit-box-shadow: 0 0 0 0.2rem rgba(44, 62, 80, 0.25);
  box-shadow: 0 0 0 0.2rem rgba(44, 62, 80, 0.25); }

.fc-button:disabled {
  opacity: 0.65; }

/* "primary" coloring */
.fc-button-primary {
  color: #fff;
  background-color: #2C3E50;
  border-color: #2C3E50; }

.fc-button-primary:hover {
  color: #fff;
  background-color: #1e2b37;
  border-color: #1a252f; }

.fc-button-primary:focus {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(76, 91, 106, 0.5);
  box-shadow: 0 0 0 0.2rem rgba(76, 91, 106, 0.5); }

.fc-button-primary:disabled {
  color: #fff;
  background-color: #2C3E50;
  border-color: #2C3E50; }

.fc-button-primary:not(:disabled):active,
.fc-button-primary:not(:disabled).fc-button-active {
  color: #fff;
  background-color: #1a252f;
  border-color: #151e27; }

.fc-button-primary:not(:disabled):active:focus,
.fc-button-primary:not(:disabled).fc-button-active:focus {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(76, 91, 106, 0.5);
  box-shadow: 0 0 0 0.2rem rgba(76, 91, 106, 0.5); }

/* icons within buttons */
.fc-button .fc-icon {
  vertical-align: middle;
  font-size: 1.5em; }

/* Buttons Groups
--------------------------------------------------------------------------------------------------*/
.fc-button-group {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  vertical-align: middle; }

.fc-button-group > .fc-button {
  position: relative;
  -webkit-box-flex: 1;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto; }

.fc-button-group > .fc-button:hover {
  z-index: 1; }

.fc-button-group > .fc-button:focus,
.fc-button-group > .fc-button:active,
.fc-button-group > .fc-button.fc-button-active {
  z-index: 1; }

.fc-button-group > .fc-button:not(:first-child) {
  margin-left: -1px; }

.fc-button-group > .fc-button:not(:last-child) {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0; }

.fc-button-group > .fc-button:not(:first-child) {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0; }

/* Popover
--------------------------------------------------------------------------------------------------*/
.fc-unthemed .fc-popover {
  border-width: 1px;
  border-style: solid; }

/* List View
--------------------------------------------------------------------------------------------------*/
.fc-unthemed .fc-list-item:hover td {
  background-color: #f5f5f5; }

/* Toolbar
--------------------------------------------------------------------------------------------------*/
.fc-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center; }

.fc-toolbar.fc-header-toolbar {
  margin-bottom: 1.5em; }

.fc-toolbar.fc-footer-toolbar {
  margin-top: 1.5em; }

/* inner content */
.fc-toolbar > * > :not(:first-child) {
  margin-left: 0.75em; }

.fc-toolbar h2, .fc-toolbar .overlay a, .overlay .fc-toolbar a {
  font-size: 1.75em;
  margin: 0; }

/* View Structure
--------------------------------------------------------------------------------------------------*/
.fc-view-container {
  position: relative; }

/* undo twitter bootstrap's box-sizing rules. normalizes positioning techniques */
/* don't do this for the toolbar because we'll want bootstrap to style those buttons as some pt */
.fc-view-container *,
.fc-view-container *:before,
.fc-view-container *:after {
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box; }

.fc-view,
.fc-view > table {
  /* so dragged elements can be above the view's main element */
  position: relative;
  z-index: 1; }

@media print {
  .fc {
    max-width: 100% !important; }

  /* Global Event Restyling
  --------------------------------------------------------------------------------------------------*/
  .fc-event {
    background: #fff !important;
    color: #000 !important;
    page-break-inside: avoid; }

  .fc-event .fc-resizer {
    display: none; }

  /* Table & Day-Row Restyling
  --------------------------------------------------------------------------------------------------*/
  .fc th,
  .fc td,
  .fc hr,
  .fc thead,
  .fc tbody,
  .fc-row {
    border-color: #ccc !important;
    background: #fff !important; }

  /* kill the overlaid, absolutely-positioned components */
  /* common... */
  .fc-bg,
  .fc-bgevent-skeleton,
  .fc-highlight-skeleton,
  .fc-mirror-skeleton,
  .fc-bgevent-container,
  .fc-business-container,
  .fc-highlight-container,
  .fc-mirror-container {
    display: none; }

  /* don't force a min-height on rows (for DayGrid) */
  .fc tbody .fc-row {
    height: auto !important;
    /* undo height that JS set in distributeHeight */
    min-height: 0 !important;
    /* undo the min-height from each view's specific stylesheet */ }

  .fc tbody .fc-row .fc-content-skeleton {
    position: static;
    /* undo .fc-rigid */
    padding-bottom: 0 !important;
    /* use a more border-friendly method for this... */ }

  .fc tbody .fc-row .fc-content-skeleton tbody tr:last-child td {
    /* only works in newer browsers */
    padding-bottom: 1em;
    /* ...gives space within the skeleton. also ensures min height in a way */ }

  .fc tbody .fc-row .fc-content-skeleton table {
    /* provides a min-height for the row, but only effective for IE, which exaggerates this value,
       making it look more like 3em. for other browers, it will already be this tall */
    height: 1em; }

  /* Undo month-view event limiting. Display all events and hide the "more" links
  --------------------------------------------------------------------------------------------------*/
  .fc-more-cell,
  .fc-more {
    display: none !important; }

  .fc tr.fc-limited {
    display: table-row !important; }

  .fc td.fc-limited {
    display: table-cell !important; }

  .fc-popover {
    display: none;
    /* never display the "more.." popover in print mode */ }

  /* TimeGrid Restyling
  --------------------------------------------------------------------------------------------------*/
  /* undo the min-height 100% trick used to fill the container's height */
  .fc-time-grid {
    min-height: 0 !important; }

  /* don't display the side axis at all ("all-day" and time cells) */
  .fc-timeGrid-view .fc-axis {
    display: none; }

  /* don't display the horizontal lines */
  .fc-slats,
  .fc-time-grid hr {
    /* this hr is used when height is underused and needs to be filled */
    display: none !important;
    /* important overrides inline declaration */ }

  /* let the container that holds the events be naturally positioned and create real height */
  .fc-time-grid .fc-content-skeleton {
    position: static; }

  /* in case there are no events, we still want some height */
  .fc-time-grid .fc-content-skeleton table {
    height: 4em; }

  /* kill the horizontal spacing made by the event container. event margins will be done below */
  .fc-time-grid .fc-event-container {
    margin: 0 !important; }

  /* TimeGrid *Event* Restyling
  --------------------------------------------------------------------------------------------------*/
  /* naturally position events, vertically stacking them */
  .fc-time-grid .fc-event {
    position: static !important;
    margin: 3px 2px !important; }

  /* for events that continue to a future day, give the bottom border back */
  .fc-time-grid .fc-event.fc-not-end {
    border-bottom-width: 1px !important; }

  /* indicate the event continues via "..." text */
  .fc-time-grid .fc-event.fc-not-end:after {
    content: "..."; }

  /* for events that are continuations from previous days, give the top border back */
  .fc-time-grid .fc-event.fc-not-start {
    border-top-width: 1px !important; }

  /* indicate the event is a continuation via "..." text */
  .fc-time-grid .fc-event.fc-not-start:before {
    content: "..."; }

  /* time */
  /* undo a previous declaration and let the time text span to a second line */
  .fc-time-grid .fc-event .fc-time {
    white-space: normal !important; }

  /* hide the the time that is normally displayed... */
  .fc-time-grid .fc-event .fc-time span {
    display: none; }

  /* ...replace it with a more verbose version (includes AM/PM) stored in an html attribute */
  .fc-time-grid .fc-event .fc-time:after {
    content: attr(data-full); }

  /* Vertical Scroller & Containers
  --------------------------------------------------------------------------------------------------*/
  /* kill the scrollbars and allow natural height */
  .fc-scroller,
  .fc-day-grid-container,
  .fc-time-grid-container {
    /* */
    overflow: visible !important;
    height: auto !important; }

  /* kill the horizontal border/padding used to compensate for scrollbars */
  .fc-row {
    border: 0 !important;
    margin: 0 !important; }

  /* Button Controls
  --------------------------------------------------------------------------------------------------*/
  .fc-button-group,
  .fc button {
    display: none;
    /* don't display any button-related controls */ } }
/* TimeGridView all-day area
--------------------------------------------------------------------------------------------------*/
.fc-timeGrid-view .fc-day-grid {
  position: relative;
  z-index: 2;
  /* so the "more.." popover will be over the time grid */ }

.fc-timeGrid-view .fc-day-grid .fc-row {
  min-height: 3em;
  /* all-day section will never get shorter than this */ }

.fc-timeGrid-view .fc-day-grid .fc-row .fc-content-skeleton {
  padding-bottom: 1em;
  /* give space underneath events for clicking/selecting days */ }

/* TimeGrid axis running down the side (for both the all-day area and the slot area)
--------------------------------------------------------------------------------------------------*/
.fc .fc-axis {
  /* .fc to overcome default cell styles */
  vertical-align: middle;
  padding: 0 4px;
  white-space: nowrap; }

.fc-ltr .fc-axis {
  text-align: right; }

.fc-rtl .fc-axis {
  text-align: left; }

/* TimeGrid Structure
--------------------------------------------------------------------------------------------------*/
.fc-time-grid-container,
.fc-time-grid {
  /* so slats/bg/content/etc positions get scoped within here */
  position: relative;
  z-index: 1; }

.fc-time-grid {
  min-height: 100%;
  /* so if height setting is 'auto', .fc-bg stretches to fill height */ }

.fc-time-grid table {
  /* don't put outer borders on slats/bg/content/etc */
  border: 0 hidden transparent; }

.fc-time-grid > .fc-bg {
  z-index: 1; }

.fc-time-grid .fc-slats,
.fc-time-grid > hr {
  /* the <hr> TimeGridView injects when grid is shorter than scroller */
  position: relative;
  z-index: 2; }

.fc-time-grid .fc-content-col {
  position: relative;
  /* because now-indicator lives directly inside */ }

.fc-time-grid .fc-content-skeleton {
  position: absolute;
  z-index: 3;
  top: 0;
  left: 0;
  right: 0; }

/* divs within a cell within the fc-content-skeleton */
.fc-time-grid .fc-business-container {
  position: relative;
  z-index: 1; }

.fc-time-grid .fc-bgevent-container {
  position: relative;
  z-index: 2; }

.fc-time-grid .fc-highlight-container {
  position: relative;
  z-index: 3; }

.fc-time-grid .fc-event-container {
  position: relative;
  z-index: 4; }

.fc-time-grid .fc-now-indicator-line {
  z-index: 5; }

.fc-time-grid .fc-mirror-container {
  /* also is fc-event-container */
  position: relative;
  z-index: 6; }

/* TimeGrid Slats (lines that run horizontally)
--------------------------------------------------------------------------------------------------*/
.fc-time-grid .fc-slats td {
  height: 1.5em;
  border-bottom: 0;
  /* each cell is responsible for its top border */ }

.fc-time-grid .fc-slats .fc-minor td {
  border-top-style: dotted; }

/* TimeGrid Highlighting Slots
--------------------------------------------------------------------------------------------------*/
.fc-time-grid .fc-highlight-container {
  /* a div within a cell within the fc-highlight-skeleton */
  position: relative;
  /* scopes the left/right of the fc-highlight to be in the column */ }

.fc-time-grid .fc-highlight {
  position: absolute;
  left: 0;
  right: 0;
  /* top and bottom will be in by JS */ }

/* TimeGrid Event Containment
--------------------------------------------------------------------------------------------------*/
.fc-ltr .fc-time-grid .fc-event-container {
  /* space on the sides of events for LTR (default) */
  margin: 0 2.5% 0 2px; }

.fc-rtl .fc-time-grid .fc-event-container {
  /* space on the sides of events for RTL */
  margin: 0 2px 0 2.5%; }

.fc-time-grid .fc-event,
.fc-time-grid .fc-bgevent {
  position: absolute;
  z-index: 1;
  /* scope inner z-index's */ }

.fc-time-grid .fc-bgevent {
  /* background events always span full width */
  left: 0;
  right: 0; }

/* TimeGrid Event Styling
----------------------------------------------------------------------------------------------------
We use the full "fc-time-grid-event" class instead of using descendants because the event won't
be a descendant of the grid when it is being dragged.
*/
.fc-time-grid-event {
  margin-bottom: 1px; }

.fc-time-grid-event-inset {
  -webkit-box-shadow: 0px 0px 0px 1px #fff;
  box-shadow: 0px 0px 0px 1px #fff; }

.fc-time-grid-event.fc-not-start {
  /* events that are continuing from another day */
  /* replace space made by the top border with padding */
  border-top-width: 0;
  padding-top: 1px;
  /* remove top rounded corners */
  border-top-left-radius: 0;
  border-top-right-radius: 0; }

.fc-time-grid-event.fc-not-end {
  /* replace space made by the top border with padding */
  border-bottom-width: 0;
  padding-bottom: 1px;
  /* remove bottom rounded corners */
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0; }

.fc-time-grid-event .fc-content {
  overflow: hidden;
  max-height: 100%; }

.fc-time-grid-event .fc-time,
.fc-time-grid-event .fc-title {
  padding: 0 1px; }

.fc-time-grid-event .fc-time {
  font-size: 0.85em;
  white-space: nowrap; }

/* short mode, where time and title are on the same line */
.fc-time-grid-event.fc-short .fc-content {
  /* don't wrap to second line (now that contents will be inline) */
  white-space: nowrap; }

.fc-time-grid-event.fc-short .fc-time,
.fc-time-grid-event.fc-short .fc-title {
  /* put the time and title on the same line */
  display: inline-block;
  vertical-align: top; }

.fc-time-grid-event.fc-short .fc-time span {
  display: none;
  /* don't display the full time text... */ }

.fc-time-grid-event.fc-short .fc-time:before {
  content: attr(data-start);
  /* ...instead, display only the start time */ }

.fc-time-grid-event.fc-short .fc-time:after {
  content: " - ";
  /* seperate with a dash, wrapped in nbsp's */ }

.fc-time-grid-event.fc-short .fc-title {
  font-size: 0.85em;
  /* make the title text the same size as the time */
  padding: 0;
  /* undo padding from above */ }

/* resizer (cursor device) */
.fc-time-grid-event.fc-allow-mouse-resize .fc-resizer {
  left: 0;
  right: 0;
  bottom: 0;
  height: 8px;
  overflow: hidden;
  line-height: 8px;
  font-size: 11px;
  font-family: monospace;
  text-align: center;
  cursor: s-resize; }

.fc-time-grid-event.fc-allow-mouse-resize .fc-resizer:after {
  content: "="; }

/* resizer (touch device) */
.fc-time-grid-event.fc-selected .fc-resizer {
  /* 10x10 dot */
  border-radius: 5px;
  border-width: 1px;
  width: 8px;
  height: 8px;
  border-style: solid;
  border-color: inherit;
  background: #fff;
  /* horizontally center */
  left: 50%;
  margin-left: -5px;
  /* center on the bottom edge */
  bottom: -5px; }

/* Now Indicator
--------------------------------------------------------------------------------------------------*/
.fc-time-grid .fc-now-indicator-line {
  border-top-width: 1px;
  left: 0;
  right: 0; }

/* arrow on axis */
.fc-time-grid .fc-now-indicator-arrow {
  margin-top: -5px;
  /* vertically center on top coordinate */ }

.fc-ltr .fc-time-grid .fc-now-indicator-arrow {
  left: 0;
  /* triangle pointing right... */
  border-width: 5px 0 5px 6px;
  border-top-color: transparent;
  border-bottom-color: transparent; }

.fc-rtl .fc-time-grid .fc-now-indicator-arrow {
  right: 0;
  /* triangle pointing left... */
  border-width: 5px 6px 5px 0;
  border-top-color: transparent;
  border-bottom-color: transparent; }

/*# sourceMappingURL=gg-style.css.map */
