/*------------------------------------*\
    ABSTRACTS: MIXINS
\*------------------------------------*/
/**
 * Mixins
 * @section
 */
/**
 * Utilities
 */
/**
 * Events
 */
/**
 * Context
 */
/*------------------------------------*\
    ABSTRACTS: FUNCTIONS
\*------------------------------------*/
/**
 * ENGINE
 * v0.2 | 20150615
 * License: none (public domain)
 * Source: https://github.com/jamesblanksby/reset
 */
*,
*:after,
*:before {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  outline: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  font: inherit;
  font-size: 100%;
  margin: 0;
  padding: 0;
  vertical-align: baseline;
  border: 0; }

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block; }

body {
  line-height: 1; }

ol,
ul {
  list-style: none; }

blockquote,
q {
  quotes: none; }
  blockquote:before, blockquote:after,
  q:before,
  q:after {
    content: '';
    content: none; }

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sup {
  top: -.5em; }

sub {
  bottom: -.25em; }

table {
  border-spacing: 0;
  border-collapse: collapse; }

input,
textarea,
button,
select {
  font-family: inhert;
  font-size: inherit;
  color: inherit;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none; }

select {
  text-indent: .01px;
  text-overflow: '';
  border: 0;
  border-radius: 0; }

select::-ms-expand {
  display: none; }

code,
pre {
  font-family: monospace, monospace;
  font-size: 1em; }

/* ----------------------------------------------------------------------------------------------------

Super Form Reset

A couple of things to watch out for:

- IE8: If a text input doesn't have padding on all sides or none the text won't be centered.
- The default border sizes on text inputs in all UAs seem to be slightly different. You're better off using custom borders.
- You NEED to set the font-size and family on all form elements
- Search inputs need to have their appearance reset and the box-sizing set to content-box to match other UAs
- You can style the upload button in webkit using ::-webkit-file-upload-button
- ::-webkit-file-upload-button selectors can't be used in the same selector as normal ones. FF and IE freak out.
- IE: You don't need to fake inline-block with labels and form controls in IE. They function as inline-block.
- By turning off ::-webkit-search-decoration, it removes the extra whitespace on the left on search inputs

----------------------------------------------------------------------------------------------------*/
input,
label,
select,
button,
textarea {
  margin: 0;
  border: 0;
  padding: 0;
  display: inline-block;
  vertical-align: middle;
  white-space: normal;
  background: none;
  line-height: 1;
  /* Browsers have different default form fonts */
  font-size: 13px;
  font-family: Arial; }

/* Remove the stupid outer glow in Webkit */
input:focus {
  outline: 0; }

/* Box Sizing Reset
-----------------------------------------------*/
/* All of our custom controls should be what we expect them to be */
input,
textarea {
  -webkit-box-sizing: content-box;
  box-sizing: content-box; }

/* These elements are usually rendered a certain way by the browser */
button,
input[type=reset],
input[type=button],
input[type=submit],
input[type=checkbox],
input[type=radio],
select {
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

/* Text Inputs
-----------------------------------------------*/
/* Button Controls
-----------------------------------------------*/
input[type=checkbox],
input[type=radio] {
  width: 13px;
  height: 13px; }

/* File Uploads
-----------------------------------------------*/
/* Search Input
-----------------------------------------------*/
/* Make webkit render the search input like a normal text field */
input[type=search] {
  -webkit-appearance: textfield;
  -webkit-box-sizing: content-box; }

/* Turn off the recent search for webkit. It adds about 15px padding on the left */
::-webkit-search-decoration {
  display: none; }

/* Buttons
-----------------------------------------------*/
button,
input[type="reset"],
input[type="button"],
input[type="submit"] {
  /* Fix IE7 display bug */
  overflow: visible;
  width: auto; }

/* IE8 and FF freak out if this rule is within another selector */
::-webkit-file-upload-button {
  padding: 0;
  border: 0;
  background: none; }

/* Textarea
-----------------------------------------------*/
textarea {
  /* Move the label to the top */
  vertical-align: top;
  /* Turn off scroll bars in IE unless needed */
  overflow: auto; }

/* Selects
-----------------------------------------------*/
select[multiple] {
  /* Move the label to the top */
  vertical-align: top; }

.loading-screen {
  position: relative;
  padding-left: 0;
  padding-right: 0;
  padding-top: 0;
  background: #685C5C;
  width: 0%;
  height: 100%;
  z-index: 100; }

.load-container {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  overflow: hidden;
  z-index: 100;
  pointer-events: none; }

.ratio-parent {
  position: relative;
  overflow: hidden; }
  .ratio-parent:before {
    content: '';
    display: block; }
  .ratio-parent > .ratio-child {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }

@media (max-width: 767px) {
  .ratio-parent\@s {
    position: relative;
    overflow: hidden; }
    .ratio-parent\@s:before {
      content: '';
      display: block; }
    .ratio-parent\@s > .ratio-child {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; } }

@media (min-width: 768px) {
  .ratio-parent\@t {
    position: relative;
    overflow: hidden; }
    .ratio-parent\@t:before {
      content: '';
      display: block; }
    .ratio-parent\@t > .ratio-child {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; } }

@media (min-width: 768px) and (max-width: 1023px) {
  .ratio-parent\@to {
    position: relative;
    overflow: hidden; }
    .ratio-parent\@to:before {
      content: '';
      display: block; }
    .ratio-parent\@to > .ratio-child {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; } }

@media (max-width: 1023px) {
  .ratio-parent\@m {
    position: relative;
    overflow: hidden; }
    .ratio-parent\@m:before {
      content: '';
      display: block; }
    .ratio-parent\@m > .ratio-child {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; } }

@media (min-width: 1024px) {
  .ratio-parent\@d {
    position: relative;
    overflow: hidden; }
    .ratio-parent\@d:before {
      content: '';
      display: block; }
    .ratio-parent\@d > .ratio-child {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; } }

@media (min-width: 1024px) and (max-width: 1439px) {
  .ratio-parent\@do {
    position: relative;
    overflow: hidden; }
    .ratio-parent\@do:before {
      content: '';
      display: block; }
    .ratio-parent\@do > .ratio-child {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; } }

@media (max-width: 1439px) {
  .ratio-parent\@dm {
    position: relative;
    overflow: hidden; }
    .ratio-parent\@dm:before {
      content: '';
      display: block; }
    .ratio-parent\@dm > .ratio-child {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; } }

@media (min-width: 1440px) {
  .ratio-parent\@w {
    position: relative;
    overflow: hidden; }
    .ratio-parent\@w:before {
      content: '';
      display: block; }
    .ratio-parent\@w > .ratio-child {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; } }

.ratio-2-1 {
  position: relative;
  overflow: hidden; }
  .ratio-2-1:before {
    content: '';
    display: block; }
  .ratio-2-1 > .ratio-child {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
  .ratio-2-1:before {
    padding-top: 50%; }

@media (max-width: 767px) {
  .ratio-2-1\@s {
    position: relative;
    overflow: hidden; }
    .ratio-2-1\@s:before {
      content: '';
      display: block; }
    .ratio-2-1\@s > .ratio-child {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
    .ratio-2-1\@s:before {
      padding-top: 50%; } }

@media (min-width: 768px) {
  .ratio-2-1\@t {
    position: relative;
    overflow: hidden; }
    .ratio-2-1\@t:before {
      content: '';
      display: block; }
    .ratio-2-1\@t > .ratio-child {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
    .ratio-2-1\@t:before {
      padding-top: 50%; } }

@media (min-width: 768px) and (max-width: 1023px) {
  .ratio-2-1\@to {
    position: relative;
    overflow: hidden; }
    .ratio-2-1\@to:before {
      content: '';
      display: block; }
    .ratio-2-1\@to > .ratio-child {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
    .ratio-2-1\@to:before {
      padding-top: 50%; } }

@media (max-width: 1023px) {
  .ratio-2-1\@m {
    position: relative;
    overflow: hidden; }
    .ratio-2-1\@m:before {
      content: '';
      display: block; }
    .ratio-2-1\@m > .ratio-child {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
    .ratio-2-1\@m:before {
      padding-top: 50%; } }

@media (min-width: 1024px) {
  .ratio-2-1\@d {
    position: relative;
    overflow: hidden; }
    .ratio-2-1\@d:before {
      content: '';
      display: block; }
    .ratio-2-1\@d > .ratio-child {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
    .ratio-2-1\@d:before {
      padding-top: 50%; } }

@media (min-width: 1024px) and (max-width: 1439px) {
  .ratio-2-1\@do {
    position: relative;
    overflow: hidden; }
    .ratio-2-1\@do:before {
      content: '';
      display: block; }
    .ratio-2-1\@do > .ratio-child {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
    .ratio-2-1\@do:before {
      padding-top: 50%; } }

@media (max-width: 1439px) {
  .ratio-2-1\@dm {
    position: relative;
    overflow: hidden; }
    .ratio-2-1\@dm:before {
      content: '';
      display: block; }
    .ratio-2-1\@dm > .ratio-child {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
    .ratio-2-1\@dm:before {
      padding-top: 50%; } }

@media (min-width: 1440px) {
  .ratio-2-1\@w {
    position: relative;
    overflow: hidden; }
    .ratio-2-1\@w:before {
      content: '';
      display: block; }
    .ratio-2-1\@w > .ratio-child {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
    .ratio-2-1\@w:before {
      padding-top: 50%; } }

.ratio-16-9 {
  position: relative;
  overflow: hidden; }
  .ratio-16-9:before {
    content: '';
    display: block; }
  .ratio-16-9 > .ratio-child {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
  .ratio-16-9:before {
    padding-top: 56.25%; }

@media (max-width: 767px) {
  .ratio-16-9\@s {
    position: relative;
    overflow: hidden; }
    .ratio-16-9\@s:before {
      content: '';
      display: block; }
    .ratio-16-9\@s > .ratio-child {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
    .ratio-16-9\@s:before {
      padding-top: 56.25%; } }

@media (min-width: 768px) {
  .ratio-16-9\@t {
    position: relative;
    overflow: hidden; }
    .ratio-16-9\@t:before {
      content: '';
      display: block; }
    .ratio-16-9\@t > .ratio-child {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
    .ratio-16-9\@t:before {
      padding-top: 56.25%; } }

@media (min-width: 768px) and (max-width: 1023px) {
  .ratio-16-9\@to {
    position: relative;
    overflow: hidden; }
    .ratio-16-9\@to:before {
      content: '';
      display: block; }
    .ratio-16-9\@to > .ratio-child {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
    .ratio-16-9\@to:before {
      padding-top: 56.25%; } }

@media (max-width: 1023px) {
  .ratio-16-9\@m {
    position: relative;
    overflow: hidden; }
    .ratio-16-9\@m:before {
      content: '';
      display: block; }
    .ratio-16-9\@m > .ratio-child {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
    .ratio-16-9\@m:before {
      padding-top: 56.25%; } }

@media (min-width: 1024px) {
  .ratio-16-9\@d {
    position: relative;
    overflow: hidden; }
    .ratio-16-9\@d:before {
      content: '';
      display: block; }
    .ratio-16-9\@d > .ratio-child {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
    .ratio-16-9\@d:before {
      padding-top: 56.25%; } }

@media (min-width: 1024px) and (max-width: 1439px) {
  .ratio-16-9\@do {
    position: relative;
    overflow: hidden; }
    .ratio-16-9\@do:before {
      content: '';
      display: block; }
    .ratio-16-9\@do > .ratio-child {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
    .ratio-16-9\@do:before {
      padding-top: 56.25%; } }

@media (max-width: 1439px) {
  .ratio-16-9\@dm {
    position: relative;
    overflow: hidden; }
    .ratio-16-9\@dm:before {
      content: '';
      display: block; }
    .ratio-16-9\@dm > .ratio-child {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
    .ratio-16-9\@dm:before {
      padding-top: 56.25%; } }

@media (min-width: 1440px) {
  .ratio-16-9\@w {
    position: relative;
    overflow: hidden; }
    .ratio-16-9\@w:before {
      content: '';
      display: block; }
    .ratio-16-9\@w > .ratio-child {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
    .ratio-16-9\@w:before {
      padding-top: 56.25%; } }

.ratio-3-2 {
  position: relative;
  overflow: hidden; }
  .ratio-3-2:before {
    content: '';
    display: block; }
  .ratio-3-2 > .ratio-child {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
  .ratio-3-2:before {
    padding-top: 67%; }

@media (max-width: 767px) {
  .ratio-3-2\@s {
    position: relative;
    overflow: hidden; }
    .ratio-3-2\@s:before {
      content: '';
      display: block; }
    .ratio-3-2\@s > .ratio-child {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
    .ratio-3-2\@s:before {
      padding-top: 67%; } }

@media (min-width: 768px) {
  .ratio-3-2\@t {
    position: relative;
    overflow: hidden; }
    .ratio-3-2\@t:before {
      content: '';
      display: block; }
    .ratio-3-2\@t > .ratio-child {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
    .ratio-3-2\@t:before {
      padding-top: 67%; } }

@media (min-width: 768px) and (max-width: 1023px) {
  .ratio-3-2\@to {
    position: relative;
    overflow: hidden; }
    .ratio-3-2\@to:before {
      content: '';
      display: block; }
    .ratio-3-2\@to > .ratio-child {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
    .ratio-3-2\@to:before {
      padding-top: 67%; } }

@media (max-width: 1023px) {
  .ratio-3-2\@m {
    position: relative;
    overflow: hidden; }
    .ratio-3-2\@m:before {
      content: '';
      display: block; }
    .ratio-3-2\@m > .ratio-child {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
    .ratio-3-2\@m:before {
      padding-top: 67%; } }

@media (min-width: 1024px) {
  .ratio-3-2\@d {
    position: relative;
    overflow: hidden; }
    .ratio-3-2\@d:before {
      content: '';
      display: block; }
    .ratio-3-2\@d > .ratio-child {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
    .ratio-3-2\@d:before {
      padding-top: 67%; } }

@media (min-width: 1024px) and (max-width: 1439px) {
  .ratio-3-2\@do {
    position: relative;
    overflow: hidden; }
    .ratio-3-2\@do:before {
      content: '';
      display: block; }
    .ratio-3-2\@do > .ratio-child {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
    .ratio-3-2\@do:before {
      padding-top: 67%; } }

@media (max-width: 1439px) {
  .ratio-3-2\@dm {
    position: relative;
    overflow: hidden; }
    .ratio-3-2\@dm:before {
      content: '';
      display: block; }
    .ratio-3-2\@dm > .ratio-child {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
    .ratio-3-2\@dm:before {
      padding-top: 67%; } }

@media (min-width: 1440px) {
  .ratio-3-2\@w {
    position: relative;
    overflow: hidden; }
    .ratio-3-2\@w:before {
      content: '';
      display: block; }
    .ratio-3-2\@w > .ratio-child {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
    .ratio-3-2\@w:before {
      padding-top: 67%; } }

.ratio-4-3 {
  position: relative;
  overflow: hidden; }
  .ratio-4-3:before {
    content: '';
    display: block; }
  .ratio-4-3 > .ratio-child {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
  .ratio-4-3:before {
    padding-top: 75%; }

@media (max-width: 767px) {
  .ratio-4-3\@s {
    position: relative;
    overflow: hidden; }
    .ratio-4-3\@s:before {
      content: '';
      display: block; }
    .ratio-4-3\@s > .ratio-child {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
    .ratio-4-3\@s:before {
      padding-top: 75%; } }

@media (min-width: 768px) {
  .ratio-4-3\@t {
    position: relative;
    overflow: hidden; }
    .ratio-4-3\@t:before {
      content: '';
      display: block; }
    .ratio-4-3\@t > .ratio-child {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
    .ratio-4-3\@t:before {
      padding-top: 75%; } }

@media (min-width: 768px) and (max-width: 1023px) {
  .ratio-4-3\@to {
    position: relative;
    overflow: hidden; }
    .ratio-4-3\@to:before {
      content: '';
      display: block; }
    .ratio-4-3\@to > .ratio-child {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
    .ratio-4-3\@to:before {
      padding-top: 75%; } }

@media (max-width: 1023px) {
  .ratio-4-3\@m {
    position: relative;
    overflow: hidden; }
    .ratio-4-3\@m:before {
      content: '';
      display: block; }
    .ratio-4-3\@m > .ratio-child {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
    .ratio-4-3\@m:before {
      padding-top: 75%; } }

@media (min-width: 1024px) {
  .ratio-4-3\@d {
    position: relative;
    overflow: hidden; }
    .ratio-4-3\@d:before {
      content: '';
      display: block; }
    .ratio-4-3\@d > .ratio-child {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
    .ratio-4-3\@d:before {
      padding-top: 75%; } }

@media (min-width: 1024px) and (max-width: 1439px) {
  .ratio-4-3\@do {
    position: relative;
    overflow: hidden; }
    .ratio-4-3\@do:before {
      content: '';
      display: block; }
    .ratio-4-3\@do > .ratio-child {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
    .ratio-4-3\@do:before {
      padding-top: 75%; } }

@media (max-width: 1439px) {
  .ratio-4-3\@dm {
    position: relative;
    overflow: hidden; }
    .ratio-4-3\@dm:before {
      content: '';
      display: block; }
    .ratio-4-3\@dm > .ratio-child {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
    .ratio-4-3\@dm:before {
      padding-top: 75%; } }

@media (min-width: 1440px) {
  .ratio-4-3\@w {
    position: relative;
    overflow: hidden; }
    .ratio-4-3\@w:before {
      content: '';
      display: block; }
    .ratio-4-3\@w > .ratio-child {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
    .ratio-4-3\@w:before {
      padding-top: 75%; } }

.ratio-1-1 {
  position: relative;
  overflow: hidden; }
  .ratio-1-1:before {
    content: '';
    display: block; }
  .ratio-1-1 > .ratio-child {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
  .ratio-1-1:before {
    padding-top: 100%; }

@media (max-width: 767px) {
  .ratio-1-1\@s {
    position: relative;
    overflow: hidden; }
    .ratio-1-1\@s:before {
      content: '';
      display: block; }
    .ratio-1-1\@s > .ratio-child {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
    .ratio-1-1\@s:before {
      padding-top: 100%; } }

@media (min-width: 768px) {
  .ratio-1-1\@t {
    position: relative;
    overflow: hidden; }
    .ratio-1-1\@t:before {
      content: '';
      display: block; }
    .ratio-1-1\@t > .ratio-child {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
    .ratio-1-1\@t:before {
      padding-top: 100%; } }

@media (min-width: 768px) and (max-width: 1023px) {
  .ratio-1-1\@to {
    position: relative;
    overflow: hidden; }
    .ratio-1-1\@to:before {
      content: '';
      display: block; }
    .ratio-1-1\@to > .ratio-child {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
    .ratio-1-1\@to:before {
      padding-top: 100%; } }

@media (max-width: 1023px) {
  .ratio-1-1\@m {
    position: relative;
    overflow: hidden; }
    .ratio-1-1\@m:before {
      content: '';
      display: block; }
    .ratio-1-1\@m > .ratio-child {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
    .ratio-1-1\@m:before {
      padding-top: 100%; } }

@media (min-width: 1024px) {
  .ratio-1-1\@d {
    position: relative;
    overflow: hidden; }
    .ratio-1-1\@d:before {
      content: '';
      display: block; }
    .ratio-1-1\@d > .ratio-child {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
    .ratio-1-1\@d:before {
      padding-top: 100%; } }

@media (min-width: 1024px) and (max-width: 1439px) {
  .ratio-1-1\@do {
    position: relative;
    overflow: hidden; }
    .ratio-1-1\@do:before {
      content: '';
      display: block; }
    .ratio-1-1\@do > .ratio-child {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
    .ratio-1-1\@do:before {
      padding-top: 100%; } }

@media (max-width: 1439px) {
  .ratio-1-1\@dm {
    position: relative;
    overflow: hidden; }
    .ratio-1-1\@dm:before {
      content: '';
      display: block; }
    .ratio-1-1\@dm > .ratio-child {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
    .ratio-1-1\@dm:before {
      padding-top: 100%; } }

@media (min-width: 1440px) {
  .ratio-1-1\@w {
    position: relative;
    overflow: hidden; }
    .ratio-1-1\@w:before {
      content: '';
      display: block; }
    .ratio-1-1\@w > .ratio-child {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
    .ratio-1-1\@w:before {
      padding-top: 100%; } }

.ratio-3-4 {
  position: relative;
  overflow: hidden; }
  .ratio-3-4:before {
    content: '';
    display: block; }
  .ratio-3-4 > .ratio-child {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
  .ratio-3-4:before {
    padding-top: 133.333%; }

@media (max-width: 767px) {
  .ratio-3-4\@s {
    position: relative;
    overflow: hidden; }
    .ratio-3-4\@s:before {
      content: '';
      display: block; }
    .ratio-3-4\@s > .ratio-child {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
    .ratio-3-4\@s:before {
      padding-top: 133.333%; } }

@media (min-width: 768px) {
  .ratio-3-4\@t {
    position: relative;
    overflow: hidden; }
    .ratio-3-4\@t:before {
      content: '';
      display: block; }
    .ratio-3-4\@t > .ratio-child {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
    .ratio-3-4\@t:before {
      padding-top: 133.333%; } }

@media (min-width: 768px) and (max-width: 1023px) {
  .ratio-3-4\@to {
    position: relative;
    overflow: hidden; }
    .ratio-3-4\@to:before {
      content: '';
      display: block; }
    .ratio-3-4\@to > .ratio-child {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
    .ratio-3-4\@to:before {
      padding-top: 133.333%; } }

@media (max-width: 1023px) {
  .ratio-3-4\@m {
    position: relative;
    overflow: hidden; }
    .ratio-3-4\@m:before {
      content: '';
      display: block; }
    .ratio-3-4\@m > .ratio-child {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
    .ratio-3-4\@m:before {
      padding-top: 133.333%; } }

@media (min-width: 1024px) {
  .ratio-3-4\@d {
    position: relative;
    overflow: hidden; }
    .ratio-3-4\@d:before {
      content: '';
      display: block; }
    .ratio-3-4\@d > .ratio-child {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
    .ratio-3-4\@d:before {
      padding-top: 133.333%; } }

@media (min-width: 1024px) and (max-width: 1439px) {
  .ratio-3-4\@do {
    position: relative;
    overflow: hidden; }
    .ratio-3-4\@do:before {
      content: '';
      display: block; }
    .ratio-3-4\@do > .ratio-child {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
    .ratio-3-4\@do:before {
      padding-top: 133.333%; } }

@media (max-width: 1439px) {
  .ratio-3-4\@dm {
    position: relative;
    overflow: hidden; }
    .ratio-3-4\@dm:before {
      content: '';
      display: block; }
    .ratio-3-4\@dm > .ratio-child {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
    .ratio-3-4\@dm:before {
      padding-top: 133.333%; } }

@media (min-width: 1440px) {
  .ratio-3-4\@w {
    position: relative;
    overflow: hidden; }
    .ratio-3-4\@w:before {
      content: '';
      display: block; }
    .ratio-3-4\@w > .ratio-child {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
    .ratio-3-4\@w:before {
      padding-top: 133.333%; } }

.ratio-none {
  position: relative;
  overflow: hidden; }
  .ratio-none:before {
    content: '';
    display: block; }
  .ratio-none > .ratio-child {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
  .ratio-none:before {
    display: none !important; }
  .ratio-none > .ratio-child {
    position: relative !important; }

@media (max-width: 767px) {
  .ratio-none\@s {
    position: relative;
    overflow: hidden; }
    .ratio-none\@s:before {
      content: '';
      display: block; }
    .ratio-none\@s > .ratio-child {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
    .ratio-none\@s:before {
      display: none !important; }
    .ratio-none\@s > .ratio-child {
      position: relative !important; } }

@media (min-width: 768px) {
  .ratio-none\@t {
    position: relative;
    overflow: hidden; }
    .ratio-none\@t:before {
      content: '';
      display: block; }
    .ratio-none\@t > .ratio-child {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
    .ratio-none\@t:before {
      display: none !important; }
    .ratio-none\@t > .ratio-child {
      position: relative !important; } }

@media (min-width: 768px) and (max-width: 1023px) {
  .ratio-none\@to {
    position: relative;
    overflow: hidden; }
    .ratio-none\@to:before {
      content: '';
      display: block; }
    .ratio-none\@to > .ratio-child {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
    .ratio-none\@to:before {
      display: none !important; }
    .ratio-none\@to > .ratio-child {
      position: relative !important; } }

@media (max-width: 1023px) {
  .ratio-none\@m {
    position: relative;
    overflow: hidden; }
    .ratio-none\@m:before {
      content: '';
      display: block; }
    .ratio-none\@m > .ratio-child {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
    .ratio-none\@m:before {
      display: none !important; }
    .ratio-none\@m > .ratio-child {
      position: relative !important; } }

@media (min-width: 1024px) {
  .ratio-none\@d {
    position: relative;
    overflow: hidden; }
    .ratio-none\@d:before {
      content: '';
      display: block; }
    .ratio-none\@d > .ratio-child {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
    .ratio-none\@d:before {
      display: none !important; }
    .ratio-none\@d > .ratio-child {
      position: relative !important; } }

@media (min-width: 1024px) and (max-width: 1439px) {
  .ratio-none\@do {
    position: relative;
    overflow: hidden; }
    .ratio-none\@do:before {
      content: '';
      display: block; }
    .ratio-none\@do > .ratio-child {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
    .ratio-none\@do:before {
      display: none !important; }
    .ratio-none\@do > .ratio-child {
      position: relative !important; } }

@media (max-width: 1439px) {
  .ratio-none\@dm {
    position: relative;
    overflow: hidden; }
    .ratio-none\@dm:before {
      content: '';
      display: block; }
    .ratio-none\@dm > .ratio-child {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
    .ratio-none\@dm:before {
      display: none !important; }
    .ratio-none\@dm > .ratio-child {
      position: relative !important; } }

@media (min-width: 1440px) {
  .ratio-none\@w {
    position: relative;
    overflow: hidden; }
    .ratio-none\@w:before {
      content: '';
      display: block; }
    .ratio-none\@w > .ratio-child {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
    .ratio-none\@w:before {
      display: none !important; }
    .ratio-none\@w > .ratio-child {
      position: relative !important; } }

body {
  background: #1A1718;
  width: 100%;
  margin: 0 auto;
  overflow-x: hidden; }

html {
  background: #1A1718;
  font-size: 14px;
  font-family: "Public Sans", sans-serif;
  color: #FFFFFF; }

html,
body {
  width: 100%;
  padding: 0;
  margin: 0;
  line-height: 1.5;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

html {
  overflow-y: scroll;
  height: 100%; }

.max-width {
  max-width: 1440px;
  margin: 0 auto; }

.article-padding {
  display: block;
  padding: 4.28571rem 0; }
  @media (min-width: 768px) {
    .article-padding {
      padding: 7.14286rem 0; } }
  @media (min-width: 1024px) {
    .article-padding {
      padding: 8.57143rem 0; } }

.section-padding {
  display: block;
  padding: 4.28571rem 0; }
  @media (min-width: 768px) {
    .section-padding {
      padding: 7.14286rem 0; } }
  @media (min-width: 1024px) {
    .section-padding {
      padding: 8.57143rem 0; } }

.site-padding {
  padding: 0 2.14286rem; }
  @media (min-width: 1024px) {
    .site-padding {
      padding: 0 4.28571rem; } }

.flex-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal !important;
  -webkit-box-direction: normal !important;
      -ms-flex-direction: row !important;
          flex-direction: row !important; }
  @media (max-width: 767px) {
    .flex-row {
      -webkit-box-orient: vertical !important;
      -webkit-box-direction: normal !important;
          -ms-flex-direction: column !important;
              flex-direction: column !important; } }

em {
  color: #D4B6A6;
  background: transparent; }

*,
*:before,
*:after {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-box-sizing: inherit;
          box-sizing: inherit; }

a,
a:link,
a:visited,
a:hover {
  color: inherit;
  text-decoration: none;
  cursor: pointer; }

hr {
  height: 0;
  outline: none;
  border: 0; }

svg:hover {
  cursor: pointer; }
  svg:hover path {
    fill: #685C5C;
    -webkit-transition: fill .2s ease;
    transition: fill .2s ease; }

mark {
  display: inline-block; }

.u-visually-hidden {
  clip: rect(0 0 0 0);
  -webkit-clip-path: inset(50%);
          clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px; }

.u-hidden {
  visibility: hidden;
  display: none; }

.c-hero__catchline {
  overflow: hidden;
  padding-bottom: 1%; }

.c-hero__catchline .letter {
  display: inline-block;
  line-height: auto; }

/*------------------------------------*\
    BASE: TYPES
\*------------------------------------*/
/**
 * Types
 * @section
 */
/**
 * Reboot types margin
 */
body,
h1, h2, h3, h4, h5, h6,
p,
blockquote,
pre,
dl, dd,
ol, ul,
form, fieldset,
legend,
figure,
table,
th, td,
caption,
hr {
  margin: 0;
  padding: 0; }

/**
 * Global Font sizing
 */
h1 {
  font-weight: 300;
  font-family: "Trocchi", serif;
  font-size: 2.85714rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  letter-spacing: 0.07rem; }
  @media (max-width: 767px) {
    h1 {
      line-height: 3.5rem;
      font-size: 2.85714rem; } }
  @media (min-width: 768px) {
    h1 {
      line-height: 5rem;
      font-size: 3.14286rem; } }
  @media (min-width: 1024px) {
    h1 {
      line-height: 7rem;
      font-size: 5.14286rem;
      letter-spacing: 0.1rem; } }

h2 {
  font-family: "Trocchi", serif;
  position: relative;
  font-size: 2.42857rem;
  width: auto;
  color: white;
  display: inline-block !important;
  margin: 0 0 3.57143rem 0;
  line-height: 3.57143rem;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex; }
  @media (min-width: 768px) {
    h2 {
      font-size: 3.28571rem;
      line-height: 4rem;
      margin-bottom: 2.85714rem; } }
  @media (min-width: 1024px) {
    h2 {
      font-size: 4.28571rem;
      line-height: 5rem;
      margin-bottom: 5.71429rem; } }

p {
  font-family: "Public Sans", sans-serif;
  font-size: 1.28571rem;
  line-height: 2.07143rem;
  font-weight: 200; }
  @media (min-width: 768px) {
    p {
      font-size: 1.28571rem;
      line-height: 2.07143rem; } }

h3 {
  font-size: 1.35714rem;
  color: #685C5C;
  padding: 1.42857rem 0; }
  @media (max-width: 767px) {
    h3 {
      padding: 1.07143rem 0; } }

/*------------------------------------*\
    BASE: TYPOGRAPHY
\*------------------------------------*/
body {
  font-family: "Public Sans", sans-serif;
  color: #FFFFFF; }

.fonts-loaded body {
  font-family: 'SimplonNorm', sans-serif; }

.l-footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding-top: 7.14286rem;
  padding-bottom: 7.14286rem;
  font-size: 1.42857rem;
  background-color: #151313; }
  .l-footer p {
    font-size: 1.28571rem; }
    @media (min-width: 768px) {
      .l-footer p {
        font-size: 1.28571rem;
        line-height: 2.14286rem; } }
  .l-footer .l-footer__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row; }
    @media (max-width: 767px) {
      .l-footer .l-footer__content {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column; } }
    .l-footer .l-footer__content .l-footer__socials {
      width: 300px; }
      @media (max-width: 767px) {
        .l-footer .l-footer__content .l-footer__socials {
          -webkit-box-ordinal-group: 2;
              -ms-flex-order: 1;
                  order: 1;
          padding-top: 10%; } }
      .l-footer .l-footer__content .l-footer__socials .l-footer__icons {
        width: 80%;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex; }
    .l-footer .l-footer__content .l-footer__contact {
      width: 600px; }
      .l-footer .l-footer__content .l-footer__contact div {
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between; }
        @media (max-width: 767px) {
          .l-footer .l-footer__content .l-footer__contact div {
            -webkit-box-ordinal-group: 3;
                -ms-flex-order: 2;
                    order: 2; } }
      .l-footer .l-footer__content .l-footer__contact .col-1, .l-footer .l-footer__content .l-footer__contact .col-2 {
        width: 300px; }
      .l-footer .l-footer__content .l-footer__contact a:hover {
        color: #d3b5a4; }
  .l-footer .l-footer__logo {
    width: 15%; }
    @media (max-width: 767px) {
      .l-footer .l-footer__logo {
        width: 160px;
        padding: 20% 0; } }
    .l-footer .l-footer__logo .svg {
      width: 100%;
      background: url("../../assets/images/fmr_big_logo.svg");
      background-size: cover;
      height: 0;
      padding: 0;
      /* reset */
      padding-bottom: 73%; }
  .l-footer .l-footer__copyright {
    -ms-flex-item-align: end;
        align-self: flex-end;
    color: #685C5C; }
    @media (max-width: 767px) {
      .l-footer .l-footer__copyright {
        -ms-flex-item-align: start;
            align-self: flex-start; } }

.l-section {
  background-color: #2E2727;
  margin-top: -6px;
  position: relative; }
  .l-section:nth-child(2) {
    padding: 5.71429rem 0; }
    @media (min-width: 768px) {
      .l-section:nth-child(2) {
        padding: 8.57143rem 0; } }
    @media (min-width: 1024px) {
      .l-section:nth-child(2) {
        padding: 35.71429rem 0 10.71429rem; } }
    @media (min-width: 1440px) {
      .l-section:nth-child(2) {
        padding: 42.85714rem 0 11.42857rem; } }
  .l-section .l-section__text {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
    @media (min-width: 1024px) {
      .l-section .l-section__text {
        width: 90%; } }
    .l-section .l-section__text h2 {
      width: 100%; }
      @media (min-width: 768px) {
        .l-section .l-section__text h2 {
          padding-right: 4.28571rem;
          max-width: 850px; } }
      @media (min-width: 1024px) {
        .l-section .l-section__text h2 {
          width: 750px; } }
    .l-section .l-section__text p {
      width: 100%; }
      @media (min-width: 768px) {
        .l-section .l-section__text p {
          margin-left: 15%;
          width: 70%; } }
      @media (min-width: 1024px) {
        .l-section .l-section__text p {
          max-width: 900px; } }
      .l-section .l-section__text p mark {
        font-weight: 500; }
    .l-section .l-section__text .l-section__text--variant p {
      width: 100%;
      margin-left: unset; }
      @media (min-width: 768px) {
        .l-section .l-section__text .l-section__text--variant p {
          width: 800px; } }
      @media (min-width: 1024px) {
        .l-section .l-section__text .l-section__text--variant p {
          width: 600px !important; } }
      .l-section .l-section__text .l-section__text--variant p h2 {
        width: 100%; }
  .l-section .l-section__content {
    display: block;
    padding-top: 7.14286rem; }
    @media (min-width: 768px) {
      .l-section .l-section__content {
        bottom: -55%; } }
    @media (min-width: 1024px) {
      .l-section .l-section__content {
        position: absolute;
        left: 0;
        padding: 17.85714rem 0;
        z-index: 98;
        bottom: -45%;
        left: 0; } }
    .l-section .l-section__content .l-section__image {
      position: relative;
      overflow: hidden;
      background-size: cover;
      width: 65vw; }
      .l-section .l-section__content .l-section__image:before {
        content: '';
        display: block; }
      .l-section .l-section__content .l-section__image > .ratio-child {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%; }
      .l-section .l-section__content .l-section__image:before {
        padding-top: 56.25%; }
      @media (max-width: 767px) {
        .l-section .l-section__content .l-section__image {
          width: 100%; } }
    .l-section .l-section__content .l-section__vector {
      bottom: 18%;
      right: -35%;
      position: absolute;
      width: 65%; }
      @media (max-width: 767px) {
        .l-section .l-section__content .l-section__vector {
          display: none; } }
      @media (min-width: 768px) {
        .l-section .l-section__content .l-section__vector {
          bottom: 18%;
          right: 7%;
          position: absolute;
          width: 56%; } }
      @media (min-width: 1024px) {
        .l-section .l-section__content .l-section__vector {
          bottom: 16%;
          right: -33%;
          position: absolute;
          width: 55%; } }
      .l-section .l-section__content .l-section__vector .svg {
        width: 100%;
        background-image: url("../../assets/images/fmr_outline.svg");
        background-size: cover;
        height: 0;
        padding: 0;
        /* reset */
        padding-bottom: 61%; }

.l-section__dark {
  background-color: #1A1718; }

.l-section__video {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  /* new */ }
  .l-section__video:not(:only-child) {
    margin-bottom: 2.85714rem; }
  .l-section__video:last-child {
    margin-bottom: 0; }
  .l-section__video img {
    max-width: 100%;
    height: auto; }

.l-client {
  background: #1A1718;
  background-image: url("../../assets/images/fmr_bg.png");
  background-repeat: no-repeat;
  background-size: 65%;
  background-position: -15% 102%; }
  @media (max-width: 767px) {
    .l-client {
      background-size: 90%; } }
  .l-client .l-client__container {
    width: 80%;
    margin: 0 auto; }
    @media (max-width: 767px) {
      .l-client .l-client__container {
        width: 100%; } }

.l-header {
  width: 100%;
  position: relative;
  display: inline-block;
  padding-top: 28vh; }
  .l-header .l-header__image {
    position: relative;
    overflow: hidden;
    background-size: cover; }
    .l-header .l-header__image:before {
      content: '';
      display: block; }
    .l-header .l-header__image > .ratio-child {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
    .l-header .l-header__image:before {
      padding-top: 42.8571%; }
    @media (max-width: 767px) {
      .l-header .l-header__image {
        width: 100%;
        height: auto; } }
  .l-header .l-header__container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding-bottom: 12%;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; }
    @media (min-width: 768px) {
      .l-header .l-header__container {
        padding-bottom: 6%; } }
    @media (min-width: 1024px) {
      .l-header .l-header__container {
        padding-bottom: 6%; } }
    .l-header .l-header__container .l-header__title {
      width: 95%; }
      @media (max-width: 767px) {
        .l-header .l-header__container .l-header__title {
          width: 100%; } }
      .l-header .l-header__container .l-header__title .l-header__decoration {
        color: #D4B6A6; }
      .l-header .l-header__container .l-header__title .l-header__subtitle {
        font-size: 1.42857rem;
        line-height: 1.71429rem;
        width: 340px; }
        @media (min-width: 768px) {
          .l-header .l-header__container .l-header__title .l-header__subtitle {
            font-size: 1.28571rem;
            line-height: 1.71429rem;
            width: 320px; } }
        @media (min-width: 1024px) {
          .l-header .l-header__container .l-header__title .l-header__subtitle {
            font-size: 1.42857rem;
            line-height: 1.85714rem;
            width: 420px; } }
        @media (min-width: 1440px) {
          .l-header .l-header__container .l-header__title .l-header__subtitle {
            font-size: 1.78571rem;
            line-height: 2.21429rem; } }
        .l-header .l-header__container .l-header__title .l-header__subtitle a {
          text-decoration: underline; }
          .l-header .l-header__container .l-header__title .l-header__subtitle a:hover {
            color: #d3b5a4; }
      .l-header .l-header__container .l-header__title h1 {
        width: 100%;
        font-size: 2.85714rem;
        padding-top: 4%; }
        @media (min-width: 768px) {
          .l-header .l-header__container .l-header__title h1 {
            font-size: 4.28571rem;
            padding-top: 1%; } }
        @media (min-width: 1024px) {
          .l-header .l-header__container .l-header__title h1 {
            padding-top: 1%;
            font-size: 5.35714rem; } }
        @media (min-width: 1440px) {
          .l-header .l-header__container .l-header__title h1 {
            padding-top: 2%;
            font-size: 6.42857rem; } }
      .l-header .l-header__container .l-header__title .l-header__tag h3 {
        -ms-flex-item-align: center;
            align-self: center;
        padding: inherit; }
      .l-header .l-header__container .l-header__title .l-header__text {
        padding-top: 6%; }
        @media (min-width: 768px) {
          .l-header .l-header__container .l-header__title .l-header__text {
            width: 85%;
            margin-left: 9%;
            padding-top: 4%; } }
        @media (min-width: 1024px) {
          .l-header .l-header__container .l-header__title .l-header__text {
            width: 90%;
            padding-top: 4%; } }
    .l-header .l-header__container .l-header__cta {
      width: 40px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      height: 40px;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      border: 1px solid #685C5C;
      border-radius: 100px;
      -ms-flex-item-align: end;
          align-self: flex-end; }
      @media (max-width: 767px) {
        .l-header .l-header__container .l-header__cta {
          display: none; } }

/*------------------------------------*\
    LAYOUT: NAVBAR
\*------------------------------------*/
/**
 * Navbar
 * @section
 */
#scrollNav {
  position: fixed;
  z-index: 100;
  width: 100vw;
  -webkit-transition: all .4s ease;
  transition: all .4s ease; }
  @media (max-width: 767px) {
    #scrollNav {
      width: 100vh; } }

.l-navbar {
  position: fixed;
  left: 0;
  right: 0;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  height: 15vh;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  z-index: 99; }
  @media (max-width: 767px) {
    .l-navbar {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      overflow-y: scroll;
      top: 0;
      left: 0;
      bottom: 0;
      right: 0;
      width: 100%;
      position: fixed;
      -webkit-overflow-scrolling: touch; } }
  @media (max-width: 767px) {
    .l-navbar .l-navbar--mobile {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between;
      width: 100%;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      height: 100px; } }
  .l-navbar .l-navbar--mobile .l-navbar__hamburger {
    display: none; }
    .l-navbar .l-navbar--mobile .l-navbar__hamburger span {
      border: 1px solid white;
      display: block;
      width: 30px;
      height: 1px;
      margin-bottom: 5px; }
    @media (max-width: 767px) {
      .l-navbar .l-navbar--mobile .l-navbar__hamburger {
        display: block; } }
  .l-navbar ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 0 auto; }
    @media (max-width: 767px) {
      .l-navbar ul {
        display: block;
        -webkit-box-pack: initial;
            -ms-flex-pack: initial;
                justify-content: initial;
        -webkit-box-align: initial;
            -ms-flex-align: initial;
                align-items: initial; } }
    .l-navbar ul .l-navbar__group {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between; }
      @media (max-width: 767px) {
        .l-navbar ul .l-navbar__group {
          display: none;
          -webkit-box-orient: vertical;
          -webkit-box-direction: normal;
              -ms-flex-direction: column;
                  flex-direction: column;
          background: #1A1718;
          padding: 5vh 0; } }
      .l-navbar ul .l-navbar__group .l-navbar__link {
        -webkit-transition: color .3s ease;
        transition: color .3s ease; }
        .l-navbar ul .l-navbar__group .l-navbar__link:hover {
          color: #FFFFFF;
          -webkit-transition: color .3s ease;
          transition: color .3s ease; }
        .l-navbar ul .l-navbar__group .l-navbar__link .is-active {
          color: white !important;
          background: url("../../assets/images/Oval.png");
          background-repeat: no-repeat;
          background-position: left;
          background-size: 5px;
          background-position-x: 0px;
          padding-left: 15px; }
          @media (max-width: 767px) {
            .l-navbar ul .l-navbar__group .l-navbar__link .is-active {
              margin-left: -15px !important;
              padding-left: 15px; } }
        .l-navbar ul .l-navbar__group .l-navbar__link a {
          margin: 0px 0px 0px 52px;
          font-weight: 400;
          font-size: 1.21429rem; }
          @media (max-width: 767px) {
            .l-navbar ul .l-navbar__group .l-navbar__link a {
              font-family: "Trocchi", serif;
              font-size: 2.28571rem;
              margin: inherit; } }
      @media (min-width: 768px) {
        .l-navbar ul .l-navbar__group .l-navbar____group--mobile {
          display: none; } }
      .l-navbar ul .l-navbar__group .l-navbar____group--mobile .l-navbar__contact, .l-navbar ul .l-navbar__group .l-navbar____group--mobile .l-navbar__follow {
        padding-top: 5vh; }
        .l-navbar ul .l-navbar__group .l-navbar____group--mobile .l-navbar__contact p, .l-navbar ul .l-navbar__group .l-navbar____group--mobile .l-navbar__follow p {
          font-size: 1.28571rem;
          padding-top: 3%; }
      .l-navbar ul .l-navbar__group .l-navbar____group--mobile .l-navbar__icons {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        width: 80%;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between; }
      .l-navbar ul .l-navbar__group .l-navbar____group--mobile .l-footer__logo {
        width: 60%;
        padding: 20% 0; }
        .l-navbar ul .l-navbar__group .l-navbar____group--mobile .l-footer__logo .svg {
          width: 100%;
          background: url("../../assets/images/fmr_big_logo.svg");
          background-size: cover;
          height: 0;
          padding: 0;
          /* reset */
          padding-bottom: 73%; }
      .l-navbar ul .l-navbar__group .l-navbar____group--mobile .l-navbar__copyright {
        font-size: 1.14286rem;
        color: #685C5C; }
    .l-navbar ul li {
      color: #685C5C;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; }
      @media (max-width: 767px) {
        .l-navbar ul li {
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex; } }

.l-navbar.is-open {
  background-color: #1A1718;
  height: 100vh; }
  .l-navbar.is-open .l-navbar__group {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    background: #1A1718;
    padding: 5vh 0; }
    .l-navbar.is-open .l-navbar__group li {
      line-height: 2rem;
      -webkit-box-flex: 1;
          -ms-flex: 1;
              flex: 1; }

button.c-button {
  margin-top: 5.71429rem;
  background: #685c5c87;
  padding: 16px 35px;
  border-radius: 30px;
  letter-spacing: 0.5px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  cursor: pointer;
  -webkit-transition: all .3s ease;
  transition: all .3s ease; }
  button.c-button:hover {
    background: #685c5c67;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    color: #D4B6A6; }
    button.c-button:hover .c-button__icon {
      -webkit-transform: translate(5px, 0px);
              transform: translate(5px, 0px);
      -webkit-transition: -webkit-transform .3s ease;
      transition: -webkit-transform .3s ease;
      transition: transform .3s ease;
      transition: transform .3s ease, -webkit-transform .3s ease; }
      button.c-button:hover .c-button__icon .svg {
        background-image: url("../../assets/images/arrow-list.svg"); }
  button.c-button a {
    font-size: 1.14286rem; }
  button.c-button .c-button__icon {
    margin-left: 18px;
    width: 18px;
    -webkit-transform: translate(0px, 0px);
            transform: translate(0px, 0px);
    -webkit-transition: -webkit-transform .2s ease-in;
    transition: -webkit-transform .2s ease-in;
    transition: transform .2s ease-in;
    transition: transform .2s ease-in, -webkit-transform .2s ease-in; }
    button.c-button .c-button__icon .svg {
      width: 100%;
      background-image: url("../../assets/images/arrow-small.svg");
      background-size: cover;
      height: 0;
      padding: 0;
      /* reset */
      padding-bottom: 84%; }

.c-card__btn {
  width: 40px;
  height: 40px;
  padding: 10px;
  border-radius: 100px;
  border: 0.8px solid #685C5C;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  @media (max-width: 767px) {
    .c-card__btn {
      width: 35px;
      height: 35px; } }
  .c-card__btn .svg {
    background: url("../../assets/images/arrow-small.svg");
    width: 100%;
    background-size: cover;
    height: 0;
    padding: 0;
    /* reset */
    padding-bottom: 85%; }

.c-btn--fixed {
  position: fixed;
  top: 50%;
  right: 10px;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
  z-index: 99; }
  @media (max-width: 767px) {
    .c-btn--fixed {
      top: initial;
      bottom: 20px;
      right: 10px;
      -webkit-transform: translate(0, 0);
              transform: translate(0, 0); } }
  .c-btn--fixed .c-btn-scroll--top {
    visibility: hidden;
    cursor: pointer;
    -webkit-transform: rotate(-90deg);
            transform: rotate(-90deg);
    margin-bottom: 10px; }
    @media (max-width: 767px) {
      .c-btn--fixed .c-btn-scroll--top {
        background-color: rgba(26, 23, 24, 0.5); } }
    @media (min-width: 768px) {
      .c-btn--fixed .c-btn-scroll--top {
        background-color: rgba(26, 23, 24, 0.5); } }
  .c-btn--fixed .c-btn-scroll--bottom {
    cursor: pointer;
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg); }
    @media (max-width: 767px) {
      .c-btn--fixed .c-btn-scroll--bottom {
        background-color: rgba(26, 23, 24, 0.5); } }

.c-cards {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  width: 100%;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between; }
  .c-cards::after {
    content: "";
    width: 48%; }
    @media (min-width: 768px) {
      .c-cards::after {
        width: 48%; } }
    @media (min-width: 1024px) {
      .c-cards::after {
        width: 32%; } }
  @media (max-width: 767px) {
    .c-cards {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column; } }

figure.c-card {
  width: 48%;
  padding-bottom: 5%; }
  @media (max-width: 767px) {
    figure.c-card {
      width: 100%; } }
  figure.c-card:hover {
    cursor: pointer; }
    figure.c-card:hover .c-card__image {
      opacity: 0.4;
      -webkit-transition: all .3s ease;
      transition: all .3s ease; }
    figure.c-card:hover .c-card__title p {
      color: #D4B6A6;
      -webkit-transition: all .2s ease;
      transition: all .2s ease; }
    figure.c-card:hover .c-card__btn .svg {
      width: 100%;
      background-image: url("../../assets/images/arrow-list.svg");
      background-size: cover;
      height: 0;
      padding: 0;
      /* reset */
      padding-bottom: 84%; }
  figure.c-card:nth-child(even) {
    margin-top: 0; }
    @media (min-width: 768px) {
      figure.c-card:nth-child(even) {
        margin-top: 3%; } }
    @media (min-width: 1024px) {
      figure.c-card:nth-child(even) {
        margin-top: 3%; } }
    figure.c-card:nth-child(even) figcaption {
      margin: 0; }
    figure.c-card:nth-child(even) h3 {
      margin: 0; }
    figure.c-card:nth-child(even) .c-card__title {
      margin: 0;
      -webkit-transition: all .2s ease;
      transition: all .2s ease; }
  figure.c-card .c-card__image {
    -webkit-transition: all .5s ease;
    transition: all .5s ease;
    position: relative;
    overflow: hidden;
    background: url("../../assets/images/placeholder.jpg");
    background-size: cover;
    background-repeat: no-repeat;
    width: 100%; }
    figure.c-card .c-card__image:before {
      content: '';
      display: block; }
    figure.c-card .c-card__image > .ratio-child {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
    figure.c-card .c-card__image:before {
      padding-top: 64.28571429%; }
  figure.c-card figcaption {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 1.42857rem 0;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline; }
    figure.c-card figcaption .c-card__title .c-card__categories {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
      figure.c-card figcaption .c-card__title .c-card__categories h3 {
        padding: unset; }
        @media (max-width: 767px) {
          figure.c-card figcaption .c-card__title .c-card__categories h3 {
            font-size: 1.2rem; } }
    figure.c-card figcaption .c-card__title p {
      -webkit-transition: all .2s ease;
      transition: all .2s ease; }

ul {
  margin-left: 24px;
  -webkit-column-count: 2;
     -moz-column-count: 2;
          column-count: 2;
  -webkit-column-width: 50%;
     -moz-column-width: 50%;
          column-width: 50%;
  -webkit-column-fill: balance;
     -moz-column-fill: balance;
          column-fill: balance; }
  @media (max-width: 767px) {
    ul {
      -webkit-column-count: 1;
         -moz-column-count: 1;
              column-count: 1;
      -webkit-column-width: 100%;
         -moz-column-width: 100%;
              column-width: 100%; } }
  ul li {
    display: list-item;
    width: 100%;
    list-style-image: url("../../assets/images/arrow-list.svg");
    padding: 8px 12px;
    font-size: 1.42857rem;
    line-height: 2rem; }
    @media (min-width: 768px) {
      ul li {
        padding: 0px 12px;
        font-size: 1.28571rem;
        line-height: 2.07143rem;
        margin: 0.5rem 0rem; } }
    @media (min-width: 1024px) {
      ul li {
        font-size: 1.5rem;
        line-height: 2.42857rem; } }

.c-contact {
  padding: 10.71429rem 0 0 0; }
  @media (min-width: 768px) {
    .c-contact {
      padding: 17.14286rem 0 0 0;
      width: 100%; } }
  @media (min-width: 1024px) {
    .c-contact {
      padding: 17.14286rem 0 0; } }
  .c-contact h2 {
    margin-bottom: 2.85714rem; }
  .c-contact p {
    width: 80%; }
    @media (min-width: 768px) {
      .c-contact p {
        width: 500px; } }

.i-frame {
  position: relative;
  overflow: hidden;
  width: 100%;
  padding-top: 56.25%; }
  .i-frame iframe {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 100%; }

.swiper-container {
  height: auto;
  width: 100%; }
  @media (min-width: 768px) {
    .swiper-container {
      width: 100%;
      height: 50vh; } }

.swiper-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }

.swiper-button-container {
  position: absolute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  height: 50%;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between; }

.swiper-button-next,
.swiper-button-prev {
  color: white !important;
  background-color: rgba(0, 0, 0, 0.15); }

.swiper-slide {
  height: 100%;
  width: 100% !important; }
  @media (min-width: 768px) {
    .swiper-slide {
      height: auto;
      width: auto !important; } }
  .swiper-slide img {
    -o-object-fit: contain;
       object-fit: contain;
    -o-object-position: center center;
       object-position: center center;
    height: auto;
    width: 100%; }
    @media (min-width: 768px) {
      .swiper-slide img {
        -o-object-fit: contain;
           object-fit: contain;
        -o-object-position: 0 center;
           object-position: 0 center;
        height: 100%;
        width: auto; } }
  .swiper-slide .c-carousel__video-wrapper {
    position: relative;
    height: 100%;
    width: 100%; }
    .swiper-slide .c-carousel__video-wrapper img {
      visibility: hidden; }
    .swiper-slide .c-carousel__video-wrapper iframe {
      position: absolute;
      top: 0;
      left: 0;
      height: 100%;
      width: 100%; }
  .swiper-slide .u-hide {
    visibility: hidden;
    pointer-events: none; }

.grid-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start; }
  @media (max-width: 767px) {
    .grid-row {
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between; } }

.grid-item {
  -ms-flex: auto;
  width: 156px;
  height: 100px;
  position: relative;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -ms-flex-preferred-size: 45%;
      flex-basis: 45%; }
  @media (min-width: 768px) {
    .grid-item {
      padding: 25px;
      -ms-flex-preferred-size: 30%;
          flex-basis: 30%;
      width: 120px;
      height: 130px; } }
  @media (min-width: 1024px) {
    .grid-item {
      padding: 25px;
      height: 150px;
      -ms-flex-preferred-size: 20%;
          flex-basis: 20%; } }

.grid-item-wrapper {
  margin: 0;
  height: 100%;
  width: 100%;
  overflow: hidden;
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: center; }

@media (min-width: 768px) {
  #homepage .l-section {
    padding-bottom: 35%; } }

@media (min-width: 1024px) {
  #homepage .l-section {
    padding-bottom: 34%; } }

#homepage .l-section:nth-child(2) {
  padding-bottom: 10%; }

#homepage .l-client h2 {
  text-align: center; }

#realisations .c-cards :nth-child(even) {
  margin-top: 0; }
  @media (max-width: 1023px) {
    #realisations .c-cards :nth-child(even) {
      margin-top: 3%; } }

#realisations .c-cards :nth-child(3n - 1) {
  margin-top: 3%; }
  @media (max-width: 767px) {
    #realisations .c-cards :nth-child(3n - 1) {
      margin-top: 0; } }
  @media (max-width: 1023px) {
    #realisations .c-cards :nth-child(3n - 1) {
      margin-top: 0; } }

#realisations .c-cards :nth-child(3n) {
  margin-top: 6%; }
  @media (max-width: 767px) {
    #realisations .c-cards :nth-child(3n) {
      margin-top: 0; } }
  @media (max-width: 1023px) {
    #realisations .c-cards :nth-child(3n) {
      margin-top: 0; } }

@media (max-width: 1023px) {
  #realisations .c-cards :nth-child(even) {
    margin-top: 3%; } }

@media (min-width: 768px) {
  #realisations .c-cards .c-card {
    width: 48%; } }

@media (min-width: 1024px) {
  #realisations .c-cards .c-card {
    width: 32%; } }

#realisations .c-cards .c-card figcaption {
  margin-top: 0.35714rem;
  padding: 0.71429rem 0; }
  #realisations .c-cards .c-card figcaption .c-card__title {
    margin-top: inherit; }
    #realisations .c-cards .c-card figcaption .c-card__title p {
      font-size: 1.6rem;
      line-height: 2.2rem; }
    #realisations .c-cards .c-card figcaption .c-card__title .c-card__categories {
      margin-top: 0.21429rem; }
      #realisations .c-cards .c-card figcaption .c-card__title .c-card__categories h3 {
        font-size: 1.2rem;
        margin-top: inherit; }

@media (max-width: 767px) {
  #project .l-header {
    padding-top: 20vh; } }

#project .l-header.l-header--small {
  padding-top: 3.21429rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between; }
  @media (max-width: 767px) {
    #project .l-header.l-header--small {
      padding-top: 3.21429rem; } }
  #project .l-header.l-header--small .l-header__subtitle {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-left: auto;
    padding-right: 2.5rem;
    font-size: 1.28571rem; }
    @media (min-width: 768px) {
      #project .l-header.l-header--small .l-header__subtitle {
        width: 320px; } }
    @media (min-width: 1024px) {
      #project .l-header.l-header--small .l-header__subtitle {
        width: 320px;
        font-size: 1.5rem; } }

#project .l-header .l-header__title h1 {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-right: 2%;
  max-width: 1000px;
  margin-top: 1%; }
  @media (max-width: 767px) {
    #project .l-header .l-header__title h1 {
      width: 100%;
      font-size: 2.5rem;
      line-height: 3.21429rem; } }

#project .l-header .l-header__title .l-header__subtitle:hover {
  color: #685C5C;
  -webkit-transition: all .3s ease;
  transition: all .3s ease; }

@media (max-width: 767px) {
  #project .l-header .l-header__title .l-header__subtitle {
    font-size: 1.14286rem;
    padding-bottom: 3%;
    width: 100%; } }

#project .l-header .l-header__title .l-header__tag {
  margin-top: 2vw; }
  @media (max-width: 767px) {
    #project .l-header .l-header__title .l-header__tag h3 {
      font-size: 1.28571rem; } }

#project .l-header .l-header__image {
  max-width: 700px;
  height: auto; }
  #project .l-header .l-header__image:before {
    padding-top: 0; }
  @media (max-width: 767px) {
    #project .l-header .l-header__image {
      width: 100%; } }

#project .l-header .l-header__subtitle {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: left;
      -ms-flex-pack: left;
          justify-content: left;
  font-size: 1.28571rem; }
  @media (min-width: 768px) {
    #project .l-header .l-header__subtitle {
      width: 300px; } }
  @media (min-width: 1024px) {
    #project .l-header .l-header__subtitle {
      width: 300px;
      font-size: 1.5rem; } }
  #project .l-header .l-header__subtitle .c-card__btn {
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg);
    margin-right: 20px; }

#project .l-section__text {
  width: 100%; }
  #project .l-section__text p {
    margin: 2% 0%; }
  #project .l-section__text ul {
    margin-left: 30px;
    margin-top: 2%; }
  @media (min-width: 768px) {
    #project .l-section__text {
      width: 90%; } }
  @media (min-width: 1024px) {
    #project .l-section__text {
      max-width: 1300px; } }

#events .l-header button.c-button, #communication .l-header button.c-button {
  margin-top: -10% !important; }

/*# sourceMappingURL=styles.css.map*/