/*! Primitive
 * A front end Sass boilerplate
 *
 * Author: Tania Rascia 
 */
/* Variables
 * ===============
 *
 * All variables and most of the configuration is defined on this page. */
/* Containers */
/* Breakpoints */
/* Colors */
/* Typography */
/* Padding */
/* Borders */
/* Buttons */
/* Forms */
/* Tables */
/* Code */
/* Mixins
  =============== */
/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS and IE text size adjust after device orientation change,
 *    without disabling user zoom.
 */
 html {
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

/**
 * Remove default margin.
 */
body {
  margin: 0; }

/* HTML5 display definitions
   ========================================================================== */
/**
 * Correct `block` display not defined for any HTML5 element in IE 8/9.
 * Correct `block` display not defined for `details` or `summary` in IE 10/11
 * and Firefox.
 * Correct `block` display not defined for `main` in IE 11.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
  display: block; }

/**
 * 1. Correct `inline-block` display not defined in IE 8/9.
 * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
 */
audio,
canvas,
progress,
video {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */ }

/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
audio:not([controls]) {
  display: none;
  height: 0; }

/**
 * Address `[hidden]` styling not present in IE 8/9/10.
 * Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22.
 */
[hidden],
template {
  display: none; }

/**
 * Improve readability of focused elements when they are also in an
 * active/hover state.
 */
a:active,
a:hover {
  outline: 0; }

/**
 * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
 */
b,
strong {
  font-weight: bold; }

/**
 * Prevent `sub` and `sup` affecting `line-height` in all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

/* Embedded content
   ========================================================================== */
/**
 * Remove border when inside `a` element in IE 8/9/10.
 */
img {
  border: 0; }

/**
 * Correct overflow not hidden in IE 9/10/11.
 */
svg:not(:root) {
  overflow: hidden; }

/**
 * Address differences between Firefox and other browsers.
 */
hr {
  box-sizing: content-box;
  height: 0; }

/**
 * Contain overflow in all browsers.
 */
pre {
  overflow: auto; }

/**
 * Re-set default cursor for disabled elements.
 */
button[disabled],
html input[disabled] {
  cursor: default; }

/**
 * Remove inner padding and border in Firefox 4+.
 */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0; }

/* Reset
  =============== */
html {
  box-sizing: border-box; }

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

figure {
  margin: 0; }

/* Scaffolding
  =============== */
html {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font: normal normal normal 1rem/1.6 -apple-system, BlinkMacSystemFont, Helvetica Neue, Helvetica, Arial, sans-serif;
  font-size: 1rem; }

body {
  color: #404040;
  background: white;
  font-size: 1rem; }

p,
ol,
ul,
dl,
table {
  margin: 0 0 1.5rem 0; }

ul li ul {
  margin-bottom: 0; }

ol li ol {
  margin-bottom: 0; }

h1,
h2,
h3,
h4,
h5 {
  margin: 1.5rem 0;
  font-weight: 600;
  font-family: -apple-system, BlinkMacSystemFont, Helvetica Neue, Helvetica, Arial, sans-serif;
  line-height: 1.2;
  color: #404040; }
  h1:not(:first-child),
  h2:not(:first-child),
  h3:not(:first-child),
  h4:not(:first-child),
  h5:not(:first-child) {
    margin: 1.5rem 0; }

h1:not(:first-child),
h2:not(:first-child),
h3:not(:first-child) {
  margin-top: 2rem; }

h1 {
  font-size: 1.75rem; }

h2 {
  font-size: 1.5rem; }

h3 {
  font-size: 1.25rem; }

h4 {
  font-size: 1.1rem; }

h5 {
  font-size: 1rem; }

@media (min-width: 600px) {
  h1:not(:first-child),
  h2:not(:first-child),
  h3:not(:first-child) {
    margin-top: 2.5rem; }
  h1 {
    font-size: 2.25rem; }
  h2 {
    font-size: 2rem; }
  h3 {
    font-size: 1.75rem; }
  h4 {
    font-size: 1.5rem; }
  h5 {
    font-size: 1.25rem; } }

a {
  color: #0366EE;
  text-decoration: none; }
  a:hover, a:active, a:focus {
    color: #0246a2;
    text-decoration: underline; }

mark {
  background: #ffeea8;
  padding: 0 0.2rem; }

blockquote {
  margin: 0 0 1.5rem 0;
  border-left: 16px solid #f0f0f0;
  padding: 0 1.5rem;
  font-size: 1.5rem; }
  blockquote cite {
    display: block;
    margin-top: 1.5rem;
    font-size: 1rem;
    text-align: right; }

pre {
  border: 0;
  border-radius: 4px;
  background: transparent;
  padding: 1rem;
  tab-size: 2;
  color: #404040;
  font-family: Menlo, monospace;
  font-size: 14px;
  margin: 0 0 1.5rem 0; }
  pre code {
    font-family: Menlo, monospace;
    line-height: 1.2; }

kbd {
  background-color: #f7f7f7;
  border: 1px solid #ccc;
  border-radius: 3px;
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 2px #fff inset;
  color: #333;
  display: inline-block;
  font-family: Helvetica, Arial, sans-serif;
  font-size: 13px;
  line-height: 1.4;
  margin: 0 .1em;
  padding: .1em .6em;
  text-shadow: 0 1px 0 #fff; }

:not(pre) > code {
  color: #404040;
  background: transparent;
  font-family: Menlo, monospace;
  font-size: 14px;
  padding: 0 0.2rem;
  border: 1px solid #dedede;
  border-radius: 4px; }

hr {
  height: 0;
  border: 0;
  border-top: 1px solid #dedede; }

dt {
  font-weight: 600; }

dd {
  margin-bottom: .5rem; }

.full-container {
  max-width: 100%;
  padding: 0 1rem; }

.container, .small-container, .medium-container {
  max-width: 1200px;
  padding: 0 1rem;
  margin-left: auto;
  margin-right: auto; }

.small-container {
  max-width: 800px; }

.medium-container {
  max-width: 1000px; }

.content-section {
  padding: 30px 0; }

@media (min-width: 600px) {
  .content-section {
    padding: 60px 0; } }

/* Grid
=============== */
.flex-small,
.flex-large {
  padding-left: 1rem;
  padding-right: 1rem; }

.flex-row {
  margin-left: -1rem;
  margin-right: -1rem; }

.flex-row {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap; }

.flex-small,
.flex-large {
  flex-basis: 100%;
  margin-bottom: 1rem; }

/* Small screen breakpoint */
@media (min-width: 600px) {
  .flex-small {
    flex: 1 1 0;
    margin-bottom: 0; } }

/* Large screen breakpoint */
@media (min-width: 1000px) {
  .flex-large {
    flex: 1 1 0;
    margin-bottom: 0; } }

/* Helpers
  =============== */
.clearfix::before,
.clearfix::after {
  content: " ";
  display: block; }

.clearfix:after {
  clear: both; }

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

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

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

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

.block {
  display: block; }

.inline-block {
  display: inline-block; }

.inline {
  display: inline; }

.vertical-center {
  display: flex;
  align-items: center;
  justify-content: center; }

.responsive-image {
  max-width: 100%;
  height: auto; }

.show {
  display: block !important; }

.hide {
  display: none !important; }

.invisible {
  visibility: hidden; }

.float-left {
  float: left; }

.float-right {
  float: right; }

.no-padding-top {
  padding-top: 0; }

.no-padding-bottom {
  padding-bottom: 0; }

.padding-top {
  padding-top: 2rem; }

.padding-bottom {
  padding-bottom: 2rem; }

.no-margin-top {
  margin-top: 0; }

.no-margin-bottom {
  margin-bottom: 0; }

.margin-top {
  margin-top: 2rem; }

.margin-bottom {
  margin-bottom: 2rem; }

.alternate-background {
  background: #fafafa;
  color: #404040; }

.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  position: absolute !important;
  height: 1px;
  width: 1px;
  overflow: hidden; }

/* Buttons
  =============== */
.button, a.button, button, [type=submit], [type=reset], [type=button] {
  -webkit-appearance: none;
  display: inline-block;
  border: 1px solid #0366EE;
  border-radius: 4px;
  background: #0366EE;
  color: #ffffff;
  font-weight: 600;
  font-family: -apple-system, BlinkMacSystemFont, Helvetica Neue, Helvetica, Arial, sans-serif;
  font-size: 1rem;
  text-transform: none;
  padding: .75rem 1.25rem;
  margin: 0 0 .5rem 0;
  vertical-align: middle;
  text-align: center;
  cursor: pointer;
  text-decoration: none;
  line-height: 1; }

.button:hover, a.button:hover, button:hover, [type=submit]:hover, [type=reset]:hover, [type=button]:hover {
  border: 1px solid #0250bc;
  background: #0250bc;
  color: #ffffff;
  text-decoration: none; }

.button:focus, .button:active, a.button:focus, a.button:active, button:focus, button:active, [type=submit]:focus, [type=submit]:active, [type=reset]:focus, [type=reset]:active, [type=button]:focus, [type=button]:active {
  border: 1px solid #0250bc;
  background: #0250bc;
  color: #ffffff;
  text-decoration: none; }

.button::-moz-focus-inner, a.button::-moz-focus-inner, button::-moz-focus-inner, [type=submit]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=button]::-moz-focus-inner {
  border: 0;
  padding: 0; }

.accent-button,
a.accent-button {
  color: #ffffff;
  border: 1px solid #29de7d;
  background: #29de7d; }
  .accent-button:hover, .accent-button:focus, .accent-button:active,
  a.accent-button:hover,
  a.accent-button:focus,
  a.accent-button:active {
    color: #ffffff;
    border: 1px solid #1cb864;
    background: #1cb864; }

.muted-button,
a.muted-button {
  background: transparent;
  border: 1px solid #cdcdcd;
  color: #4e4e4e; }
  .muted-button:hover, .muted-button:focus, .muted-button:active,
  a.muted-button:hover,
  a.muted-button:focus,
  a.muted-button:active {
    color: #4e4e4e;
    border: 1px solid #818181;
    background: transparent; }

.round-button,
a.round-button {
  border-radius: 40px; }

.square-button,
a.square-button {
  border-radius: 0; }

.full-button,
a.full-button {
  display: block;
  width: 100%; }

/* Forms
  =============== */
[type=color], [type=date], [type=datetime], [type=datetime-local], [type=email], [type=month], [type=number], [type=password], [type=search], [type=tel], [type=text], [type=url], [type=week], [type=time], select, textarea {
  display: block;
  border: 1px solid #cdcdcd;
  border-radius: 4px;
  padding: .75rem;
  outline: none;
  background: transparent;
  margin-bottom: .5rem;
  font-size: 1rem;
  width: 100%;
  max-width: 100%;
  line-height: 1; }

[type=color]:hover, [type=date]:hover, [type=datetime]:hover, [type=datetime-local]:hover, [type=email]:hover, [type=month]:hover, [type=number]:hover, [type=password]:hover, [type=search]:hover, [type=tel]:hover, [type=text]:hover, [type=url]:hover, [type=week]:hover, [type=time]:hover, select:hover, textarea:hover {
  border: 1px solid #b4b4b4; }

[type=color]:focus, [type=color]:active, [type=date]:focus, [type=date]:active, [type=datetime]:focus, [type=datetime]:active, [type=datetime-local]:focus, [type=datetime-local]:active, [type=email]:focus, [type=email]:active, [type=month]:focus, [type=month]:active, [type=number]:focus, [type=number]:active, [type=password]:focus, [type=password]:active, [type=search]:focus, [type=search]:active, [type=tel]:focus, [type=tel]:active, [type=text]:focus, [type=text]:active, [type=url]:focus, [type=url]:active, [type=week]:focus, [type=week]:active, [type=time]:focus, [type=time]:active, select:focus, select:active, textarea:focus, textarea:active {
  border: 1px solid #0366EE;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.1), 0 0 6px #8cbcfe; }

textarea {
  overflow: auto;
  height: auto; }

fieldset {
  border: 1px solid #dedede;
  border-radius: 4px;
  padding: 1rem;
  margin: 1.5rem 0; }

legend {
  padding: 0 .5rem;
  font-weight: 600; }

select {
  color: #404040;
  -webkit-appearance: none;
  -moz-appearance: none;
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAAJCAYAAAA/33wPAAAAvklEQVQoFY2QMQqEMBBFv7ERa/EMXkGw11K8QbDXzuN4BHv7QO6ifUgj7v4UAdlVM8Uwf+b9YZJISnlqrfEUZVlinucnBGKaJgghbiHOyLyFKIoCbdvecpyReYvo/Ma2bajrGtbaC58kCdZ1RZ7nl/4/4d5EsO/7nzl7IUtodBexMMagaRrs+06JLMvcNWmaOv2W/C/TMAyD58dxROgSmvxFFMdxoOs6lliWBXEcuzokXRbRoJRyvqqqQvye+QDMDz1D6yuj9wAAAABJRU5ErkJggg==) right center no-repeat;
  line-height: 1; }

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

[type=range] {
  width: 100%; }

label {
  font-weight: 600;
  max-width: 100%;
  display: block;
  margin: 1rem 0 .5rem; }

@media (min-width: 600px) {
  .split-form label {
    text-align: right;
    padding: 0 .5rem;
    margin-bottom: 1rem; } }

input.has-error, input.has-error:hover, input.has-error:focus, input.has-error:active,
select.has-error,
select.has-error:hover,
select.has-error:focus,
select.has-error:active,
textarea.has-error,
textarea.has-error:hover,
textarea.has-error:focus,
textarea.has-error:active {
  border: 1px solid #D33C40;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.1), 0 0 6px #f4cecf; }

::-webkit-input-placeholder,
::-moz-placeholder,
:-moz-placeholder,
:-ms-input-placeholder {
  color: #9a9a9a; }

/* Tables
  =============== */
table {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
  max-width: 100%; }

thead th {
  border-bottom: 2px solid #dedede; }

tfoot th {
  border-top: 2px solid #dedede; }

td {
  border-bottom: 1px solid #dedede; }

th,
td {
  text-align: left;
  padding: .5rem; }

caption {
  padding: 1rem 0;
  caption-side: bottom;
  color: #ababab; }

.striped-table tbody tr:nth-child(odd) {
  background-color: #f8f8f8; }

.contain-table {
  overflow-x: auto; }

@media (min-width: 600px) {
  .contain-table {
    width: 100%; } }

/* Navigation
  =============== */
/* Layout
  =============== */